<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>92632</bug_id>
          
          <creation_ts>2012-07-30 04:41:57 -0700</creation_ts>
          <short_desc>REGRESSION(r124000): seems to have broken chromium Range_InstanceSizeUnknown unit test across many platforms (Requested by tomhudson on #webkit).</short_desc>
          <delta_ts>2012-07-30 05:21:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>92108</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>pfeldman</cc>
    
    <cc>vsevik</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>681869</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 04:41:57 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/124000 broke the build:
seems to have broken chromium Range_InstanceSizeUnknown unit test across many platforms (Requested by tomhudson on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681871</commentid>
    <comment_count>1</comment_count>
      <attachid>155256</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 04:42:41 -0700</bug_when>
    <thetext>Created attachment 155256
ROLLOUT of r124000

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681900</commentid>
    <comment_count>2</comment_count>
      <attachid>155256</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-30 05:21:19 -0700</bug_when>
    <thetext>Comment on attachment 155256
ROLLOUT of r124000

Clearing flags on attachment: 155256

Committed r124015: &lt;http://trac.webkit.org/changeset/124015&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681901</commentid>
    <comment_count>3</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-30 05:21:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155256</attachid>
            <date>2012-07-30 04:42:41 -0700</date>
            <delta_ts>2012-07-30 05:21:19 -0700</delta_ts>
            <desc>ROLLOUT of r124000</desc>
            <filename>bug-92632-20120730114814.patch</filename>
            <type>text/plain</type>
            <size>40631</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ4YmIyM2NjNjgyYjM3
ODY2YmEyZmI1MGNjMTM5MDI2Y2VjMzBmZC4uYWRmNTIxNDEyYTU2ZDg4ZTFkYjBkNGIwOGM3OWFl
OTU3YmE3YTFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEyLTA3LTMwICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI0MDAwLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjQwMDAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkyNjMyCisKKyAgICAgICAgc2VlbXMgdG8gaGF2ZSBicm9rZW4gY2hyb21pdW0g
UmFuZ2VfSW5zdGFuY2VTaXplVW5rbm93biB1bml0CisgICAgICAgIHRlc3QgYWNyb3NzIG1hbnkg
cGxhdGZvcm1zIChSZXF1ZXN0ZWQgYnkgdG9taHVkc29uIG9uCisgICAgICAgICN3ZWJraXQpLgor
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6
SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9s
bGVyOjppbnNwZWN0ZWRQYWdlRGVzdHJveWVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVj
ZWl2ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6Z2V0
UmVzcG9uc2VCb2R5KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dC5oOgorICAgICAgICAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCk6CisgICAgICAgICogaW5zcGVj
dG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtS
ZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGE6OlJlc291cmNlRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6UmVzb3VyY2VEYXRhOjpzZXRDb250ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjpzZXRSZXNvdXJjZUNvbnRlbnQp
OgorICAgICAgICAqIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5oOgorICAgICAgICAo
UmVzb3VyY2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtSZXNvdXJjZXNEYXRhOjpS
ZXNvdXJjZURhdGE6OmNhY2hlZFJlc291cmNlKToKKyAgICAgICAgKE5ldHdvcmtSZXNvdXJjZXNE
YXRhKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6On5DYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlOjpkZWxldGVJZlBvc3NpYmxlKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oOgorICAgICAgICAoQ2FjaGVk
UmVzb3VyY2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6Z2FyYmFnZUNvbGxl
Y3REb2N1bWVudFJlc291cmNlc1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2VMb2FkZXI6OmNsZWFyUHJlbG9hZHMpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoQ2FjaGVkUmVzb3VyY2VMb2FkZXIpOgor
ICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZW1vcnlDYWNoZTo6ZXZpY3QpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5hbHMpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wNy0zMCAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIGFuIHVudXNlZCBtZW1iZXIgdmFyaWFibGUsIG1fb3Jp
Z2luYWxUYXJnZXQsIGZyb20gRXZlbnREaXNwYXRjaGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGRlNTM1NjU4
NjMxMmJiNDM1OTA5OTk4YzBmMzVjOTNmMDkyYmRiMjguLjExZTE1ZDY5ZjIyNGY4NzdmYjIzY2Qw
NTk1MTczOGUzMTc1MmNlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNy0z
MCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAg
VW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNDAwMC4KKyAgICAgICAgaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvMTI0MDAwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05MjYzMgorCisgICAgICAgIHNlZW1zIHRvIGhhdmUgYnJva2VuIGNo
cm9taXVtIFJhbmdlX0luc3RhbmNlU2l6ZVVua25vd24gdW5pdAorICAgICAgICB0ZXN0IGFjcm9z
cyBtYW55IHBsYXRmb3JtcyAoUmVxdWVzdGVkIGJ5IHRvbWh1ZHNvbiBvbgorICAgICAgICAjd2Vi
a2l0KS4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjoKKyAgICAgICAgKiB3aW4vV2ViS2l0
MkNGTGl0ZS5kZWY6CisKIDIwMTItMDctMjcgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1
cmNvdHRlQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFJlbW92ZSBhY2N1cmF0ZVZpc2libGVD
b250ZW50c1Bvc2l0aW9uIGFuZCB1c2UgYSBGbG9hdFJlY3QgZm9yIHZpc2libGVDb250ZW50c1Jl
Y3QgaW5zdGVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA1MzY3NzMxMGU4NWI2NzU3ZDNlNWE3
ZmNkOGMyM2M0NTQzNzVlOWQ3Li5kYmM5NjFjNGYyZmVkODYzNDBlZThlZjY3MjQ1MWJmNThjMjEw
MzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNTE4LDcgKzUxOCw2IEBAIF9fWk43V2ViQ29y
ZTE5VGV4dFJlc291cmNlRGVjb2RlcjVmbHVzaEV2CiBfX1pON1dlYkNvcmUxOVRleHRSZXNvdXJj
ZURlY29kZXI2ZGVjb2RlRVBLY20KIF9fWk43V2ViQ29yZTE5VGV4dFJlc291cmNlRGVjb2RlckMx
RVJLTjNXVEY2U3RyaW5nRVJLTlNfMTJUZXh0RW5jb2RpbmdFYgogX19aTjdXZWJDb3JlMTlUZXh0
UmVzb3VyY2VEZWNvZGVyRDFFdgotX19aTjdXZWJDb3JlMjBDYWNoZWRSZXNvdXJjZUxvYWRlcjMx
Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlc0V2CiBfX1pON1dlYkNvcmUyMERpY3RhdGlv
bkFsdGVybmF0aXZlQzFFamp5CiBfX1pON1dlYkNvcmUyMERpY3RhdGlvbkFsdGVybmF0aXZlQzFF
dgogX19aTjdXZWJDb3JlMjBEaXNwbGF5U2xlZXBEaXNhYmxlckMxRVBLYwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGFiNmUzNzdj
MTVjYWY4NTA0MWE4MGQ1ZTM0NTA2MzY3MDNmMDVjNWIuLmMzZjlmMDhiMzM5ZGJhYzFiNjcyMDkw
Nzk0YTc1NDliMDAzODI4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTE2NSw4ICsxNjUsNiBAQCBJbnNwZWN0b3JDb250cm9s
bGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5z
cGVjdG9yQwogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIHJ1bnRpbWVBZ2Vu
dC0+c2V0U2NyaXB0RGVidWdTZXJ2ZXIoJm1fZGVidWdnZXJBZ2VudC0+c2NyaXB0RGVidWdTZXJ2
ZXIoKSk7CiAjZW5kaWYKLQotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cmVnaXN0ZXJJ
bnN0cnVtZW50aW5nQWdlbnRzKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSk7CiB9CiAKIElu
c3BlY3RvckNvbnRyb2xsZXI6On5JbnNwZWN0b3JDb250cm9sbGVyKCkKQEAgLTE4NSw3ICsxODMs
NiBAQCBQYXNzT3duUHRyPEluc3BlY3RvckNvbnRyb2xsZXI+IEluc3BlY3RvckNvbnRyb2xsZXI6
OmNyZWF0ZShQYWdlKiBwYWdlLCBJbnNwZWN0bwogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpp
bnNwZWN0ZWRQYWdlRGVzdHJveWVkKCkKIHsKICAgICBkaXNjb25uZWN0RnJvbnRlbmQoKTsKLSAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnVucmVnaXN0ZXJJbnN0cnVtZW50aW5nQWdlbnRz
KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSk7CiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFn
ZXItPmRpc2Nvbm5lY3QoKTsKICAgICBtX2luc3BlY3RvckNsaWVudC0+aW5zcGVjdG9yRGVzdHJv
eWVkKCk7CiAgICAgbV9pbnNwZWN0b3JDbGllbnQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCAwYmMxNmY0
OTQwNzEzZTcxY2Y4ZTg4MzFlM2QwMmQxM2JmNWI1Yzc4Li5kZmFhMGE0YzRkNTJiMDZhMmYxNDVm
YjI3Yjc5NzM2N2FlMjllZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtODAsMTAgKzgwLDYgQEAgc3RhdGlj
IGNvbnN0IGNoYXIqIGNvbnN0IHNldFRpbWVyRXZlbnROYW1lID0gInNldFRpbWVyIjsKIHN0YXRp
YyBjb25zdCBjaGFyKiBjb25zdCBjbGVhclRpbWVyRXZlbnROYW1lID0gImNsZWFyVGltZXIiOwog
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHRpbWVyRmlyZWRFdmVudE5hbWUgPSAidGltZXJGaXJl
ZCI7CiAKLW5hbWVzcGFjZSB7Ci1zdGF0aWMgSGFzaFNldDxJbnN0cnVtZW50aW5nQWdlbnRzKj4q
IGluc3RydW1lbnRpbmdBZ2VudHNTZXQgPSAwOwotfQotCiBpbnQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpzX2Zyb250ZW5kQ291bnRlciA9IDA7CiAKIHN0YXRpYyBib29sIGV2ZW50SGFzTGlz
dGVuZXJzKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBET01XaW5kb3cqIHdpbmRvdywg
Tm9kZSogbm9kZSwgY29uc3QgVmVjdG9yPEV2ZW50Q29udGV4dD4mIGFuY2VzdG9ycykKQEAgLTg0
OCwxOCArODQ0LDYgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmxvYWRlckRldGFj
aGVkRnJvbUZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKgogICAgICAgICBpbnNwZWN0b3JQ
YWdlQWdlbnQtPmxvYWRlckRldGFjaGVkRnJvbUZyYW1lKGxvYWRlcik7CiB9CiAKLXZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlSW1wbChDYWNo
ZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UpCi17Ci0gICAgaWYgKCFpbnN0cnVtZW50aW5nQWdl
bnRzU2V0KQotICAgICAgICByZXR1cm47Ci0gICAgSGFzaFNldDxJbnN0cnVtZW50aW5nQWdlbnRz
Kj46Oml0ZXJhdG9yIGVuZCA9IGluc3RydW1lbnRpbmdBZ2VudHNTZXQtPmVuZCgpOwotICAgIGZv
ciAoSGFzaFNldDxJbnN0cnVtZW50aW5nQWdlbnRzKj46Oml0ZXJhdG9yIGl0ID0gaW5zdHJ1bWVu
dGluZ0FnZW50c1NldC0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSAqaXQ7Ci0gICAgICAgIGlmIChJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50KiBpbnNwZWN0b3JSZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVu
dGluZ0FnZW50cy0+aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQotICAgICAgICAgICAgaW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC0+d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZShjYWNoZWRSZXNvdXJj
ZSk7Ci0gICAgfQotfQotCiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsV3JpdGVIVE1MSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW5nQWdlbnRzLCB1bnNpZ25lZCBpbnQgbGVuZ3RoLCB1bnNpZ25lZCBpbnQgc3Rh
cnRMaW5lLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgaW50IHRpbWVsaW5lQWdlbnRJZCA9IDA7CkBA
IC0xMTU3LDIyICsxMTQxLDYgQEAgV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50Kj4mIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6dGhyZWFkU3AKICAgICByZXR1cm4g
Kmluc3RhbmNlOwogfQogCi12b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cmVnaXN0ZXJJ
bnN0cnVtZW50aW5nQWdlbnRzKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMpCi17Ci0gICAgaWYgKCFpbnN0cnVtZW50aW5nQWdlbnRzU2V0KQotICAgICAgICBpbnN0cnVt
ZW50aW5nQWdlbnRzU2V0ID0gbmV3IEhhc2hTZXQ8SW5zdHJ1bWVudGluZ0FnZW50cyo+KCk7Ci0g
ICAgaW5zdHJ1bWVudGluZ0FnZW50c1NldC0+YWRkKGluc3RydW1lbnRpbmdBZ2VudHMpOwotfQot
Ci12b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6dW5yZWdpc3Rlckluc3RydW1lbnRpbmdB
Z2VudHMoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cykKLXsKLSAgICBp
ZiAoIWluc3RydW1lbnRpbmdBZ2VudHNTZXQpCi0gICAgICAgIHJldHVybjsKLSAgICBpbnN0cnVt
ZW50aW5nQWdlbnRzU2V0LT5yZW1vdmUoaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci0gICAgaWYgKCFp
bnN0cnVtZW50aW5nQWdlbnRzU2V0LT5zaXplKCkpCi0gICAgICAgIGRlbGV0ZSBpbnN0cnVtZW50
aW5nQWdlbnRzU2V0OwotfQotCiBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnJldHJpZXZlVGltZWxpbmVBZ2VudChjb25zdCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUmIGNvb2tpZSkKIHsKICAgICBpZiAoIWNvb2tpZS5maXJzdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApp
bmRleCA2MTQ3Zjc3ZGVmODMyNDc0NmI5YjZhN2E5ZDQxYjY5YTNlYTEzMzNlLi4zMjg3ZjcxY2Fh
ZmFiZTMwNDQ4ZDFlOWE2YTk5OGI4ZTcwMjk1ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0xODcsNyArMTg3LDYg
QEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGZyYW1lRGV0YWNoZWRGcm9tUGFyZW50KEZyYW1l
Kik7CiAgICAgc3RhdGljIHZvaWQgZGlkQ29tbWl0TG9hZChGcmFtZSosIERvY3VtZW50TG9hZGVy
Kik7CiAgICAgc3RhdGljIHZvaWQgbG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRnJhbWUqLCBEb2N1
bWVudExvYWRlciopOwotICAgIHN0YXRpYyB2b2lkIHdpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2UqKTsKIAogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgd2lsbFdyaXRlSFRNTChEb2N1bWVudCosIHVuc2lnbmVkIGludCBsZW5ndGgsIHVuc2ln
bmVkIGludCBzdGFydExpbmUpOwogICAgIHN0YXRpYyB2b2lkIGRpZFdyaXRlSFRNTChjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25lZCBpbnQgZW5kTGluZSk7CkBA
IC0yNjQsOSArMjYzLDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblBvc2l0aW9u
KiBvdmVycmlkZUdlb2xvY2F0aW9uUG9zaXRpb24oUGFnZSosIEdlb2xvY2F0aW9uUG9zaXRpb24q
KTsKICNlbmRpZgogCi0gICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJJbnN0cnVtZW50aW5nQWdlbnRz
KEluc3RydW1lbnRpbmdBZ2VudHMqKTsKLSAgICBzdGF0aWMgdm9pZCB1bnJlZ2lzdGVySW5zdHJ1
bWVudGluZ0FnZW50cyhJbnN0cnVtZW50aW5nQWdlbnRzKik7Ci0KIHByaXZhdGU6CiAjaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBzdGF0aWMgV1RGOjpUaHJlYWRTcGVjaWZpYzxJbnNwZWN0b3JU
aW1lbGluZUFnZW50Kj4mIHRocmVhZFNwZWNpZmljVGltZWxpbmVBZ2VudEZvck9ycGhhbkV2ZW50
cygpOwpAQCAtMzYzLDcgKzM1OSw2IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgZnJhbWVE
ZXRhY2hlZEZyb21QYXJlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSopOwogICAg
IHN0YXRpYyB2b2lkIGRpZENvbW1pdExvYWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBQYWdl
KiwgRG9jdW1lbnRMb2FkZXIqKTsKICAgICBzdGF0aWMgdm9pZCBsb2FkZXJEZXRhY2hlZEZyb21G
cmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIERvY3VtZW50TG9hZGVyKik7Ci0gICAgc3Rh
dGljIHZvaWQgd2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZUltcGwoQ2FjaGVkUmVzb3VyY2UqKTsK
IAogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFdyaXRlSFRN
TEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIHVuc2lnbmVkIGludCBsZW5ndGgsIHVuc2lnbmVk
IGludCBzdGFydExpbmUsIEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkV3JpdGVIVE1MSW1w
bChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCB1bnNpZ25lZCBpbnQgZW5k
TGluZSk7CkBAIC0xMjA1LDE0ICsxMjAwLDYgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpsb2FkZXJEZXRhY2hlZEZyb21GcmFtZShGcmFtZSogZnJhbWUsIERvY3UKICNl
bmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEZXN0
cm95Q2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlKQotewotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0gICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQo
KSk7Ci0gICAgd2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZUltcGwoY2FjaGVkUmVzb3VyY2UpOwot
I2VuZGlmCi19Ci0KIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsV3JpdGVIVE1MKERvY3VtZW50KiBkb2N1bWVudCwgdW5z
aWduZWQgaW50IGxlbmd0aCwgdW5zaWduZWQgaW50IHN0YXJ0TGluZSkKIHsKICNpZiBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clJlc291cmNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJl
c291cmNlQWdlbnQuY3BwCmluZGV4IDY1MTQ4YjIyMWM1YTMxYzgwZDM5YWM0ZDc0NjQ2NGY1ZjA1
NjM0MzYuLjg3NzZiYjg1NTE0YWQ2NzE3Y2M1MDI0ZjUwYzZlMmU1YzI4ZTNhOGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAK
QEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFJlY2Vp
dmVEYXRhKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgY2hhcgogCiAgICAgaWYgKGRh
dGEpIHsKICAgICAgICAgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YSBjb25zdCog
cmVzb3VyY2VEYXRhID0gbV9yZXNvdXJjZXNEYXRhLT5kYXRhKHJlcXVlc3RJZCk7Ci0gICAgICAg
IGlmIChtX3Jlc291cmNlc0RhdGEtPnJlc291cmNlVHlwZShyZXF1ZXN0SWQpID09IEluc3BlY3Rv
clBhZ2VBZ2VudDo6T3RoZXJSZXNvdXJjZSB8fCAocmVzb3VyY2VEYXRhICYmIGlzRXJyb3JTdGF0
dXNDb2RlKHJlc291cmNlRGF0YS0+aHR0cFN0YXR1c0NvZGUoKSkgJiYgcmVzb3VyY2VEYXRhLT5j
YWNoZWRSZXNvdXJjZSgpKSkKKyAgICAgICAgaWYgKG1fcmVzb3VyY2VzRGF0YS0+cmVzb3VyY2VU
eXBlKHJlcXVlc3RJZCkgPT0gSW5zcGVjdG9yUGFnZUFnZW50OjpPdGhlclJlc291cmNlIHx8IChy
ZXNvdXJjZURhdGEgJiYgaXNFcnJvclN0YXR1c0NvZGUocmVzb3VyY2VEYXRhLT5odHRwU3RhdHVz
Q29kZSgpKSAmJiAocmVzb3VyY2VEYXRhLT5jYWNoZWRSZXNvdXJjZSgpKSkpCiAgICAgICAgICAg
ICBtX3Jlc291cmNlc0RhdGEtPm1heWJlQWRkUmVzb3VyY2VEYXRhKHJlcXVlc3RJZCwgZGF0YSwg
ZGF0YUxlbmd0aCk7CiAgICAgfQogCkBAIC0zNjQsMjEgKzM2NCw2IEBAIHZvaWQgSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudDo6ZGlkTG9hZFhIUlN5bmNocm9ub3VzbHkoKQogICAgIG1fbG9hZGluZ1hI
UlN5bmNocm9ub3VzbHkgPSBmYWxzZTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50
Ojp3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJj
ZSkKLXsKLSAgICBWZWN0b3I8U3RyaW5nPiByZXF1ZXN0SWRzID0gbV9yZXNvdXJjZXNEYXRhLT5y
ZW1vdmVDYWNoZWRSZXNvdXJjZShjYWNoZWRSZXNvdXJjZSk7Ci0gICAgaWYgKCFyZXF1ZXN0SWRz
LnNpemUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU3RyaW5nIGNvbnRlbnQ7Ci0gICAgYm9v
bCBiYXNlNjRFbmNvZGVkOwotICAgIGlmICghSW5zcGVjdG9yUGFnZUFnZW50OjpjYWNoZWRSZXNv
dXJjZUNvbnRlbnQoY2FjaGVkUmVzb3VyY2UsICZjb250ZW50LCAmYmFzZTY0RW5jb2RlZCkpCi0g
ICAgICAgIHJldHVybjsKLSAgICBWZWN0b3I8U3RyaW5nPjo6aXRlcmF0b3IgZW5kID0gcmVxdWVz
dElkcy5lbmQoKTsKLSAgICBmb3IgKFZlY3RvcjxTdHJpbmc+OjppdGVyYXRvciBpdCA9IHJlcXVl
c3RJZHMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBtX3Jlc291cmNlc0RhdGEt
PnNldFJlc291cmNlQ29udGVudCgqaXQsIGNvbnRlbnQsIGJhc2U2NEVuY29kZWQpOwotfQotCiB2
b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmFwcGx5VXNlckFnZW50T3ZlcnJpZGUoU3RyaW5n
KiB1c2VyQWdlbnQpCiB7CiAgICAgU3RyaW5nIHVzZXJBZ2VudE92ZXJyaWRlID0gbV9zdGF0ZS0+
Z2V0U3RyaW5nKFJlc291cmNlQWdlbnRTdGF0ZTo6dXNlckFnZW50T3ZlcnJpZGUpOwpAQCAtNTQ0
LDcgKzUyOSw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6Z2V0UmVzcG9uc2VCb2R5
KEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyCiAgICAgfQogCiAgICAgaWYgKHJl
c291cmNlRGF0YS0+aGFzQ29udGVudCgpKSB7Ci0gICAgICAgICpiYXNlNjRFbmNvZGVkID0gcmVz
b3VyY2VEYXRhLT5iYXNlNjRFbmNvZGVkKCk7CisgICAgICAgICpiYXNlNjRFbmNvZGVkID0gZmFs
c2U7CiAgICAgICAgICpjb250ZW50ID0gcmVzb3VyY2VEYXRhLT5jb250ZW50KCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clJlc291cmNlQWdlbnQuaAppbmRleCA4ZGFiMjUzMDhiMmU2YzU1OWFhNjQ4ZTQzNTg3NWJiNzNj
NjNjMzk2Li41NGNmNDhlMWZmYjVlYmQ1ZTM3YWQ4N2I1OGIyMGU0ZWM1YzZhY2QyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKQEAg
LTEwMyw3ICsxMDMsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRSZWNlaXZlWEhSUmVzcG9uc2Uo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKTsKICAgICB2b2lkIHdpbGxMb2FkWEhSU3luY2hyb25v
dXNseSgpOwogICAgIHZvaWQgZGlkTG9hZFhIUlN5bmNocm9ub3VzbHkoKTsKLSAgICB2b2lkIHdp
bGxEZXN0cm95Q2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqKTsKIAogICAgIHZvaWQgYXBw
bHlVc2VyQWdlbnRPdmVycmlkZShTdHJpbmcqIHVzZXJBZ2VudCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuY3BwCmluZGV4IDdiMWZkMTc0
NjIwMWQ5Y2FkNjJkMmMyYzkyYzdlMTAxZTJlMjlhODIuLjYxOWExOWFhNmRmMzdiOTMzNjllZGE5
Mjg1ODU3YWQ2NThiMTA3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9O
ZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05l
dHdvcmtSZXNvdXJjZXNEYXRhLmNwcApAQCAtNTEsMTkgKzUxLDE2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpSZXNvdXJjZURhdGE6OlJlc291cmNlRGF0YShj
b25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBsb2FkZXJJZCkKICAgICA6IG1f
cmVxdWVzdElkKHJlcXVlc3RJZCkKICAgICAsIG1fbG9hZGVySWQobG9hZGVySWQpCi0gICAgLCBt
X2Jhc2U2NEVuY29kZWQoZmFsc2UpCiAgICAgLCBtX2lzQ29udGVudFB1cmdlZChmYWxzZSkKICAg
ICAsIG1fdHlwZShJbnNwZWN0b3JQYWdlQWdlbnQ6Ok90aGVyUmVzb3VyY2UpCi0gICAgLCBtX2Nh
Y2hlZFJlc291cmNlKDApCiB7CiB9CiAKLXZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291
cmNlRGF0YTo6c2V0Q29udGVudChjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5j
b2RlZCkKK3ZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YTo6c2V0Q29udGVu
dChjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiB7CiAgICAgQVNTRVJUKCFoYXNEYXRhKCkpOwogICAg
IEFTU0VSVCghaGFzQ29udGVudCgpKTsKICAgICBtX2NvbnRlbnQgPSBjb250ZW50OwotICAgIG1f
YmFzZTY0RW5jb2RlZCA9IGJhc2U2NEVuY29kZWQ7CiB9CiAKIHVuc2lnbmVkIE5ldHdvcmtSZXNv
dXJjZXNEYXRhOjpSZXNvdXJjZURhdGE6OnJlbW92ZUNvbnRlbnQoKQpAQCAtMTc0LDcgKzE3MSw3
IEBAIEluc3BlY3RvclBhZ2VBZ2VudDo6UmVzb3VyY2VUeXBlIE5ldHdvcmtSZXNvdXJjZXNEYXRh
OjpyZXNvdXJjZVR5cGUoY29uc3QgU3RyaW5nCiAgICAgcmV0dXJuIHJlc291cmNlRGF0YS0+dHlw
ZSgpOwogfQogCi12b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpzZXRSZXNvdXJjZUNvbnRlbnQo
Y29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgY29udGVudCwgYm9vbCBiYXNl
NjRFbmNvZGVkKQordm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6c2V0UmVzb3VyY2VDb250ZW50
KGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiB7CiAgICAg
UmVzb3VyY2VEYXRhKiByZXNvdXJjZURhdGEgPSBtX3JlcXVlc3RJZFRvUmVzb3VyY2VEYXRhTWFw
LmdldChyZXF1ZXN0SWQpOwogICAgIGlmICghcmVzb3VyY2VEYXRhKQpAQCAtMTg5LDcgKzE4Niw3
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OnNldFJlc291cmNlQ29udGVudChjb25zdCBT
dHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgU3RyCiAgICAgICAgIGlmIChyZXNvdXJjZURhdGEtPmhh
c0NvbnRlbnQoKSkKICAgICAgICAgICAgIG1fY29udGVudFNpemUgLT0gcmVzb3VyY2VEYXRhLT5y
ZW1vdmVDb250ZW50KCk7CiAgICAgICAgIG1fcmVxdWVzdElkc0RlcXVlLmFwcGVuZChyZXF1ZXN0
SWQpOwotICAgICAgICByZXNvdXJjZURhdGEtPnNldENvbnRlbnQoY29udGVudCwgYmFzZTY0RW5j
b2RlZCk7CisgICAgICAgIHJlc291cmNlRGF0YS0+c2V0Q29udGVudChjb250ZW50KTsKICAgICAg
ICAgbV9jb250ZW50U2l6ZSArPSBkYXRhTGVuZ3RoOwogICAgIH0KIH0KQEAgLTI0OCwyMiArMjQ1
LDYgQEAgTmV0d29ya1Jlc291cmNlc0RhdGE6OlJlc291cmNlRGF0YSBjb25zdCogTmV0d29ya1Jl
c291cmNlc0RhdGE6OmRhdGEoY29uc3QgU3RyaW4KICAgICByZXR1cm4gbV9yZXF1ZXN0SWRUb1Jl
c291cmNlRGF0YU1hcC5nZXQocmVxdWVzdElkKTsKIH0KIAotVmVjdG9yPFN0cmluZz4gTmV0d29y
a1Jlc291cmNlc0RhdGE6OnJlbW92ZUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlKiBjYWNo
ZWRSZXNvdXJjZSkKLXsKLSAgICBWZWN0b3I8U3RyaW5nPiByZXN1bHQ7Ci0gICAgUmVzb3VyY2VE
YXRhTWFwOjppdGVyYXRvciBpdDsKLSAgICBSZXNvdXJjZURhdGFNYXA6Oml0ZXJhdG9yIGVuZCA9
IG1fcmVxdWVzdElkVG9SZXNvdXJjZURhdGFNYXAuZW5kKCk7Ci0gICAgZm9yIChpdCA9IG1fcmVx
dWVzdElkVG9SZXNvdXJjZURhdGFNYXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAg
ICAgIFJlc291cmNlRGF0YSogcmVzb3VyY2VEYXRhID0gaXQtPnNlY29uZDsKLSAgICAgICAgaWYg
KHJlc291cmNlRGF0YS0+Y2FjaGVkUmVzb3VyY2UoKSA9PSBjYWNoZWRSZXNvdXJjZSkgewotICAg
ICAgICAgICAgcmVzb3VyY2VEYXRhLT5zZXRDYWNoZWRSZXNvdXJjZSgwKTsKLSAgICAgICAgICAg
IHJlc3VsdC5hcHBlbmQoaXQtPmZpcnN0KTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KIHZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OmNsZWFyKGNvbnN0IFN0
cmluZyYgcHJlc2VydmVkTG9hZGVySWQpCiB7CiAgICAgbV9yZXF1ZXN0SWRzRGVxdWUuY2xlYXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2Vz
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgK
aW5kZXggNWFhM2Y0YTgxZWIxNWRiM2YwYjIxNDJhZDMxZWRlZmU4MGZmMGU0ZC4uMWIxNzJlNzll
MDEyM2U4MWMxYzU2ZTE5NGZhYTM5MGM3ZTU3N2JkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpZm5k
ZWYgTmV0d29ya1Jlc291cmNlc0RhdGFfaAogI2RlZmluZSBOZXR3b3JrUmVzb3VyY2VzRGF0YV9o
CiAKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
clBhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKIApAQCAtNjQs
OSArNjUsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgYm9vbCBoYXNDb250ZW50KCkgY29uc3QgeyBy
ZXR1cm4gIW1fY29udGVudC5pc051bGwoKTsgfQogICAgICAgICBTdHJpbmcgY29udGVudCgpIGNv
bnN0IHsgcmV0dXJuIG1fY29udGVudDsgfQotICAgICAgICB2b2lkIHNldENvbnRlbnQoY29uc3Qg
U3RyaW5nJiwgYm9vbCBiYXNlNjRFbmNvZGVkKTsKLQotICAgICAgICBib29sIGJhc2U2NEVuY29k
ZWQoKSBjb25zdCB7IHJldHVybiBtX2Jhc2U2NEVuY29kZWQ7IH0KKyAgICAgICAgdm9pZCBzZXRD
b250ZW50KGNvbnN0IFN0cmluZyYpOwogCiAgICAgICAgIHVuc2lnbmVkIHJlbW92ZUNvbnRlbnQo
KTsKICAgICAgICAgYm9vbCBpc0NvbnRlbnRQdXJnZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQ29u
dGVudFB1cmdlZDsgfQpAQCAtODcsNyArODYsNyBAQCBwdWJsaWM6CiAgICAgICAgIFBhc3NSZWZQ
dHI8U2hhcmVkQnVmZmVyPiBidWZmZXIoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlcjsgfQogICAg
ICAgICB2b2lkIHNldEJ1ZmZlcihQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyKSB7IG1f
YnVmZmVyID0gYnVmZmVyOyB9CiAKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291
cmNlKCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZWRSZXNvdXJjZTsgfQorICAgICAgICBDYWNoZWRS
ZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZFJlc291cmNl
LmdldCgpOyB9CiAgICAgICAgIHZvaWQgc2V0Q2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2Uq
IGNhY2hlZFJlc291cmNlKSB7IG1fY2FjaGVkUmVzb3VyY2UgPSBjYWNoZWRSZXNvdXJjZTsgfQog
CiAgICAgcHJpdmF0ZToKQEAgLTEwMSw3ICsxMDAsNiBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmlu
ZyBtX2ZyYW1lSWQ7CiAgICAgICAgIFN0cmluZyBtX3VybDsKICAgICAgICAgU3RyaW5nIG1fY29u
dGVudDsKLSAgICAgICAgYm9vbCBtX2Jhc2U2NEVuY29kZWQ7CiAgICAgICAgIFJlZlB0cjxTaGFy
ZWRCdWZmZXI+IG1fZGF0YUJ1ZmZlcjsKICAgICAgICAgYm9vbCBtX2lzQ29udGVudFB1cmdlZDsK
ICAgICAgICAgSW5zcGVjdG9yUGFnZUFnZW50OjpSZXNvdXJjZVR5cGUgbV90eXBlOwpAQCAtMTEx
LDcgKzEwOSw3IEBAIHB1YmxpYzoKICAgICAgICAgUmVmUHRyPFRleHRSZXNvdXJjZURlY29kZXI+
IG1fZGVjb2RlcjsKIAogICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBtX2J1ZmZlcjsKLSAg
ICAgICAgQ2FjaGVkUmVzb3VyY2UqIG1fY2FjaGVkUmVzb3VyY2U7CisgICAgICAgIENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBtX2NhY2hlZFJlc291cmNlOwogICAgIH07CiAK
ICAgICBOZXR3b3JrUmVzb3VyY2VzRGF0YSgpOwpAQCAtMTIyLDIwICsxMjAsMTkgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVzcG9uc2VSZWNlaXZlZChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29u
c3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdm9pZCBz
ZXRSZXNvdXJjZVR5cGUoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIEluc3BlY3RvclBhZ2VBZ2Vu
dDo6UmVzb3VyY2VUeXBlKTsKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQ6OlJlc291cmNlVHlwZSBy
ZXNvdXJjZVR5cGUoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQpOwotICAgIHZvaWQgc2V0UmVzb3Vy
Y2VDb250ZW50KGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQs
IGJvb2wgYmFzZTY0RW5jb2RlZCA9IGZhbHNlKTsKKyAgICB2b2lkIHNldFJlc291cmNlQ29udGVu
dChjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKICAgICB2
b2lkIG1heWJlQWRkUmVzb3VyY2VEYXRhKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBjb25zdCBj
aGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCk7CiAgICAgdm9pZCBtYXliZURlY29kZURhdGFUb0Nv
bnRlbnQoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQpOwogICAgIHZvaWQgYWRkQ2FjaGVkUmVzb3Vy
Y2UoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIENhY2hlZFJlc291cmNlKik7CiAgICAgdm9pZCBh
ZGRSZXNvdXJjZVNoYXJlZEJ1ZmZlcihjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgUGFzc1JlZlB0
cjxTaGFyZWRCdWZmZXI+LCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUpOwogICAgIFJl
c291cmNlRGF0YSBjb25zdCogZGF0YShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCk7Ci0gICAgVmVj
dG9yPFN0cmluZz4gcmVtb3ZlQ2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqKTsKICAgICB2
b2lkIGNsZWFyKGNvbnN0IFN0cmluZyYgcHJlc2VydmVkTG9hZGVySWQgPSBTdHJpbmcoKSk7CiAK
ICAgICB2b2lkIHNldFJlc291cmNlc0RhdGFTaXplTGltaXRzKGludCBtYXhpbXVtUmVzb3VyY2Vz
Q29udGVudFNpemUsIGludCBtYXhpbXVtU2luZ2xlUmVzb3VyY2VDb250ZW50U2l6ZSk7CiAKIHBy
aXZhdGU6CiAgICAgdm9pZCBlbnN1cmVOb0RhdGFGb3JSZXF1ZXN0SWQoY29uc3QgU3RyaW5nJiBy
ZXF1ZXN0SWQpOwotICAgIGJvb2wgZW5zdXJlRnJlZVNwYWNlKGludCk7CisgICAgYm9vbCBlbnN1
cmVGcmVlU3BhY2UoaW50IHNpemUpOwogCiAgICAgRGVxdWU8U3RyaW5nPiBtX3JlcXVlc3RJZHNE
ZXF1ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAKaW5kZXggNDFjZDYwMTg5NWFiZDIyMmQ4MDJlZjIxNjNlOTQ1ZGY1MjNiZmI5Zi4uNzRmYTQ5
NGQ3OTZhMjM2NDViZTc5ODNlZWQ3NGJlMzg5YWI4Yjk1OCAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9h
ZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5j
bHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJQdXJnZWFibGVC
dWZmZXIuaCIKQEAgLTE3OCw3ICsxNzcsNyBAQCBDYWNoZWRSZXNvdXJjZTo6fkNhY2hlZFJlc291
cmNlKCkKICAgICBBU1NFUlQoIWluQ2FjaGUoKSk7CiAgICAgQVNTRVJUKCFtX2RlbGV0ZWQpOwog
ICAgIEFTU0VSVCh1cmwoKS5pc051bGwoKSB8fCBtZW1vcnlDYWNoZSgpLT5yZXNvdXJjZUZvclVS
TChLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKCkpKSAhPSB0aGlzKTsKLQorICAgIAogI2lmbmRl
ZiBOREVCVUcKICAgICBtX2RlbGV0ZWQgPSB0cnVlOwogICAgIGNhY2hlZFJlc291cmNlTGVha0Nv
dW50ZXIuZGVjcmVtZW50KCk7CkBAIC00MzUsOCArNDM0LDkgQEAgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6cmVtb3ZlQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50KiBjbGllbnQpCiAgICAgICAgIGRp
ZFJlbW92ZUNsaWVudChjbGllbnQpOwogICAgIH0KIAotICAgIGJvb2wgZGVsZXRlZCA9IGRlbGV0
ZUlmUG9zc2libGUoKTsKLSAgICBpZiAoIWRlbGV0ZWQgJiYgIWhhc0NsaWVudHMoKSAmJiBpbkNh
Y2hlKCkpIHsKKyAgICBpZiAoY2FuRGVsZXRlKCkgJiYgIWluQ2FjaGUoKSkKKyAgICAgICAgZGVs
ZXRlIHRoaXM7CisgICAgZWxzZSBpZiAoIWhhc0NsaWVudHMoKSAmJiBpbkNhY2hlKCkpIHsKICAg
ICAgICAgbWVtb3J5Q2FjaGUoKS0+cmVtb3ZlRnJvbUxpdmVSZXNvdXJjZXNTaXplKHRoaXMpOwog
ICAgICAgICBtZW1vcnlDYWNoZSgpLT5yZW1vdmVGcm9tTGl2ZURlY29kZWRSZXNvdXJjZXNMaXN0
KHRoaXMpOwogICAgICAgICBhbGxDbGllbnRzUmVtb3ZlZCgpOwpAQCAtNDY4LDE2ICs0NjgsMTIg
QEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQoVGlt
ZXI8Q2FjaGVkUmVzb3VyY2U+KikKICAgICBkZXN0cm95RGVjb2RlZERhdGEoKTsKIH0KIAotYm9v
bCBDYWNoZWRSZXNvdXJjZTo6ZGVsZXRlSWZQb3NzaWJsZSgpCit2b2lkIENhY2hlZFJlc291cmNl
OjpkZWxldGVJZlBvc3NpYmxlKCkKIHsKLSAgICBpZiAoY2FuRGVsZXRlKCkgJiYgIWluQ2FjaGUo
KSkgewotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVk
UmVzb3VyY2UodGhpcyk7CisgICAgaWYgKGNhbkRlbGV0ZSgpICYmICFpbkNhY2hlKCkpCiAgICAg
ICAgIGRlbGV0ZSB0aGlzOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJu
IGZhbHNlOwogfQotCisgICAgCiB2b2lkIENhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6ZSh1
bnNpZ25lZCBzaXplKQogewogICAgIGlmIChzaXplID09IG1fZGVjb2RlZFNpemUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IGZlM2UxZmM2M2M3
YjNlZDI1M2FhYmE4MmU5MTc0NDVlNTU2ZWU4MzguLjE2MWRkNDM4M2IxOWYyMzExZjUzNDQ4NzM2
ZjZmYmEyZjZiYTdjMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5oCkBAIC0xMTUsNyArMTE1LDcgQEAgcHVibGljOgogICAgIHZvaWQgYWRkQ2xpZW50
KENhY2hlZFJlc291cmNlQ2xpZW50Kik7CiAgICAgdm9pZCByZW1vdmVDbGllbnQoQ2FjaGVkUmVz
b3VyY2VDbGllbnQqKTsKICAgICBib29sIGhhc0NsaWVudHMoKSBjb25zdCB7IHJldHVybiAhbV9j
bGllbnRzLmlzRW1wdHkoKSB8fCAhbV9jbGllbnRzQXdhaXRpbmdDYWxsYmFjay5pc0VtcHR5KCk7
IH0KLSAgICBib29sIGRlbGV0ZUlmUG9zc2libGUoKTsKKyAgICB2b2lkIGRlbGV0ZUlmUG9zc2li
bGUoKTsKIAogICAgIGVudW0gUHJlbG9hZFJlc3VsdCB7CiAgICAgICAgIFByZWxvYWROb3RSZWZl
cmVuY2VkLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggOWE4ODcyNGExNTBkMWFlNmU0YTg1MGExMThhOWM0ZjM4ZWVl
OWUxZi4uZTE5ODdjM2ZlMzgyNzkzMmNkYTNiY2M4MzJjNTFjY2E4ZmFkMTYzMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC02NzYsMTEgKzY3Niw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25l
KCkKIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNv
dXJjZXNUaW1lckZpcmVkKFRpbWVyPENhY2hlZFJlc291cmNlTG9hZGVyPiogdGltZXIpCiB7CiAg
ICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIgPT0gJm1fZ2FyYmFnZUNvbGxlY3REb2N1bWVu
dFJlc291cmNlc1RpbWVyKTsKLSAgICBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKCk7
Ci19CiAKLXZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRS
ZXNvdXJjZXMoKQotewogICAgIHR5cGVkZWYgVmVjdG9yPFN0cmluZywgMTA+IFN0cmluZ1ZlY3Rv
cjsKICAgICBTdHJpbmdWZWN0b3IgcmVzb3VyY2VzVG9EZWxldGU7CiAKQEAgLTgxNyw4ICs4MTMs
OSBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpjbGVhclByZWxvYWRzKCkKICAgICBmb3Ig
KExpc3RIYXNoU2V0PENhY2hlZFJlc291cmNlKj46Oml0ZXJhdG9yIGl0ID0gbV9wcmVsb2Fkcy0+
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIENhY2hlZFJlc291cmNlKiByZXMg
PSAqaXQ7CiAgICAgICAgIHJlcy0+ZGVjcmVhc2VQcmVsb2FkQ291bnQoKTsKLSAgICAgICAgYm9v
bCBkZWxldGVkID0gcmVzLT5kZWxldGVJZlBvc3NpYmxlKCk7Ci0gICAgICAgIGlmICghZGVsZXRl
ZCAmJiByZXMtPnByZWxvYWRSZXN1bHQoKSA9PSBDYWNoZWRSZXNvdXJjZTo6UHJlbG9hZE5vdFJl
ZmVyZW5jZWQpCisgICAgICAgIGlmIChyZXMtPmNhbkRlbGV0ZSgpICYmICFyZXMtPmluQ2FjaGUo
KSkKKyAgICAgICAgICAgIGRlbGV0ZSByZXM7CisgICAgICAgIGVsc2UgaWYgKHJlcy0+cHJlbG9h
ZFJlc3VsdCgpID09IENhY2hlZFJlc291cmNlOjpQcmVsb2FkTm90UmVmZXJlbmNlZCkKICAgICAg
ICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZShyZXMpOwogICAgIH0KICAgICBtX3ByZWxvYWRz
LmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5oCmluZGV4IDVlZWIzODcxZjAzYjQwZjg2MDk4MDAxNTQ2ODFjNWIwNTZkM2Fj
YjUuLmQ4MmIzYmY0MmE3MzhjNzc1Yjg2YTA4MzYyYWQ1YTlhMTJhZTlkM2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC0x
MDUsNyArMTA1LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCByZW1vdmVDYWNoZWRSZXNvdXJjZShD
YWNoZWRSZXNvdXJjZSopIGNvbnN0OwogICAgIHZvaWQgbG9hZERvbmUoKTsKLSAgICB2b2lkIGdh
cmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXMoKTsKICAgICAKICAgICB2b2lkIGluY3JlbWVu
dFJlcXVlc3RDb3VudChjb25zdCBDYWNoZWRSZXNvdXJjZSopOwogICAgIHZvaWQgZGVjcmVtZW50
UmVxdWVzdENvdW50KGNvbnN0IENhY2hlZFJlc291cmNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCA1ZGMwNDc0MDJjYjNkNzQ4ZWQ5NzM0Nzll
NjQyMjg3NTkzNzg4OTJkLi4yOTlkMTBhNzA1MTI4YjZhY2ZmMjM4ZmUwNzE5OWE5OTQ1OWQ0MjU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTQw
Miw3ICs0MDIsOCBAQCB2b2lkIE1lbW9yeUNhY2hlOjpldmljdChDYWNoZWRSZXNvdXJjZSogcmVz
b3VyY2UpCiAgICAgfSBlbHNlCiAgICAgICAgIEFTU0VSVChtX3Jlc291cmNlcy5nZXQocmVzb3Vy
Y2UtPnVybCgpKSAhPSByZXNvdXJjZSk7CiAKLSAgICByZXNvdXJjZS0+ZGVsZXRlSWZQb3NzaWJs
ZSgpOworICAgIGlmIChyZXNvdXJjZS0+Y2FuRGVsZXRlKCkpCisgICAgICAgIGRlbGV0ZSByZXNv
dXJjZTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBmYXN0TG9nMih1bnNpZ25lZCBpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggNTUyYzEz
YTU1M2NjNTRlYmFlY2ZhOTgxM2VhMTQxMDE2ZjI4YjJlMy4uMzU2OGRjOTlhYWZiYWVkOTkyYmE0
ZjIxMTBhY2E2OTBmZmFkY2VjNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiSW50ZXJuYWxTZXR0aW5ncy5oIgogCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4
IGMwNTAyYTc5ZjJjMDFjNWQ4ZGJhOWEwNmFiZTU2MDg0YWE5MWRiNjMuLjBjNTA2NTFiNjM3MWQw
YjM1ZGYwNGEwYmIwN2RjMWZjOGY0YzA5NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKQEAgLTEwOTYsMTkgKzEwOTYsNiBAQCB2b2lkIEludGVybmFsczo6cmVzdW1lQW5pbWF0
aW9ucyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgIGNv
bnRyb2xsZXItPnJlc3VtZUFuaW1hdGlvbnMoKTsKIH0KIAotdm9pZCBJbnRlcm5hbHM6OmdhcmJh
Z2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25D
b2RlJiBlYykgY29uc3QKLXsKLSAgICBpZiAoIWRvY3VtZW50KSB7Ci0gICAgICAgIGVjID0gSU5W
QUxJRF9BQ0NFU1NfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgQ2FjaGVkUmVz
b3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyID0gZG9jdW1lbnQtPmNhY2hlZFJlc291
cmNlTG9hZGVyKCk7Ci0gICAgaWYgKCFjYWNoZWRSZXNvdXJjZUxvYWRlcikKLSAgICAgICAgcmV0
dXJuOwotICAgIGNhY2hlZFJlc291cmNlTG9hZGVyLT5nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVz
b3VyY2VzKCk7Ci19Ci0KIHZvaWQgSW50ZXJuYWxzOjphbGxvd1JvdW5kaW5nSGFja3MoKSBjb25z
dAogewogICAgIHNldHRpbmdzKCktPmFsbG93Um91bmRpbmdIYWNrcygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKaW5kZXggMTU3NjYyYzNkZTZiNGVkMTQ0YTI5OTk4MzYwM2NjZWI2NDAw
YWJkZS4uZDU1MWM0OTNjMWVhZjFkNjZjNTA2NzU5MzU1OTU1ZTc2NTdkY2RkNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xODMsOCArMTgzLDYgQEAgcHVibGljOgogICAgIHZv
aWQgc3VzcGVuZEFuaW1hdGlvbnMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAg
ICAgdm9pZCByZXN1bWVBbmltYXRpb25zKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0
OwogCi0gICAgdm9pZCBnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKERvY3VtZW50Kiwg
RXhjZXB0aW9uQ29kZSYpIGNvbnN0OwotCiAgICAgdm9pZCBhbGxvd1JvdW5kaW5nSGFja3MoKSBj
b25zdDsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKaW5kZXggNjAxZThhNzRmOWYxMGQyNGU0MThmMTM4MzM4NmUwNTdmNThhMDRiZi4uZjY4
NWE0MGNhYzQ0NDA2MWJkM2UyM2RhMWYyZDQ2MDBjMjI0M2ExZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApAQCAtMTU1LDggKzE1NSw2IEBAIG1vZHVsZSB3aW5kb3cgewogICAg
ICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgcmVzdW1lQW5pbWF0aW9ucyhpbiBEb2N1bWVu
dCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogCi0gICAgICAgIHZvaWQgZ2FyYmFn
ZUNvbGxlY3REb2N1bWVudFJlc291cmNlcyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChE
T01FeGNlcHRpb24pOwotCiAgICAgICAgIHZvaWQgYWxsb3dSb3VuZGluZ0hhY2tzKCk7CiAKICNp
ZiBkZWZpbmVkKEVOQUJMRV9CQVRURVJZX1NUQVRVUykgJiYgRU5BQkxFX0JBVFRFUllfU1RBVFVT
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggZGVhMzZlZDkwMjlhZWIyMmQ1NWFjNzMxNzdhOWZj
ZTRlMjg1OTQ5Mi4uZWM2MjI3NGYzNzlkNzZiMDA0ODg2MGVlZmI5MmU1NzY4YzIxYmVkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMTc1LDcgKzE3NSw2IEBAIEVYUE9SVFMKICAgICAgICAg
P2ZpbmRAU3RyaW5nSW1wbEBXVEZAQFFBRUlQQVYxMkBAWgogICAgICAgICA/YWJzb2x1dGVDYXJl
dEJvdW5kc0BGcmFtZVNlbGVjdGlvbkBXZWJDb3JlQEBRQUU/QVZJbnRSZWN0QDJAWFoKICAgICAg
ICAgP2Zyb21VVEY4V2l0aExhdGluMUZhbGxiYWNrQFN0cmluZ0BXVEZAQFNBP0FWMTJAUEJFSUBa
Ci0gICAgICAgID9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzQENhY2hlZFJlc291cmNl
TG9hZGVyQFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/Z2V0Q2FjaGVkRE9NU3RydWN0dXJlQFdl
YkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQlVDbGFz
c0luZm9AM0BAWgogICAgICAgICA/Z2V0RGF0YTE2U2xvd0Nhc2VAU3RyaW5nSW1wbEBXVEZAQEFC
RVBCX1dYWgogICAgICAgICA/Z2V0RWxlbWVudEJ5SWRAVHJlZVNjb3BlQFdlYkNvcmVAQFFCRVBB
VkVsZW1lbnRAMkBBQlZBdG9taWNTdHJpbmdAV1RGQEBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJD
RkxpdGUuZGVmCmluZGV4IDFhNDdkMmYzYTUwNGViNTY0YjA4N2VhOWZhZjBhYzRjNjljOTI3OWUu
LjUwY2E0Y2YxODhkYjgwMjY2MWMxYTZhZGM0Y2NlNTFmMDhlMjBmOTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93
aW4vV2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTE3Miw3ICsxNzIsNiBAQCBFWFBPUlRTCiAgICAgICAg
ID9maW5kQFN0cmluZ0ltcGxAV1RGQEBRQUVJUEFWMTJAQFoKICAgICAgICAgP2Fic29sdXRlQ2Fy
ZXRCb3VuZHNARnJhbWVTZWxlY3Rpb25AV2ViQ29yZUBAUUFFP0FWSW50UmVjdEAyQFhaCiAgICAg
ICAgID9mcm9tVVRGOFdpdGhMYXRpbjFGYWxsYmFja0BTdHJpbmdAV1RGQEBTQT9BVjEyQFBCRUlA
WgotICAgICAgICA/Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlc0BDYWNoZWRSZXNvdXJj
ZUxvYWRlckBXZWJDb3JlQEBRQUVYWFoKICAgICAgICAgP2dldENhY2hlZERPTVN0cnVjdHVyZUBX
ZWJDb3JlQEBZQVBBVlN0cnVjdHVyZUBKU0NAQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAUEJVQ2xh
c3NJbmZvQDNAQFoKICAgICAgICAgP2dldERhdGExNlNsb3dDYXNlQFN0cmluZ0ltcGxAV1RGQEBB
QkVQQl9XWFoKICAgICAgICAgP2dldEVsZW1lbnRCeUlkQFRyZWVTY29wZUBXZWJDb3JlQEBRQkVQ
QVZFbGVtZW50QDJAQUJWQXRvbWljU3RyaW5nQFdURkBAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVy
CmluZGV4IGRkZWNjZjYwNTI0NDVlOTU3ZDlmYzBhNDg4ZGYyMDQ4MWUxYzdmYmUuLjMyNjU3ODU5
ZGE5MTk3Y2FmNmU1Y2Q4MjEzODI2ZDZhZmQ4ZjMzNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cgpAQCAtNzIsMTMgKzcyLDEyIEBAIF9aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVyZUVQTlNf
MTdKU0RPTUdsb2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzlDCiBfWk43V2ViQ29y
ZTE3SW5zcGVjdG9yQ291bnRlcnMxMmNvdW50ZXJWYWx1ZUVOUzBfMTFDb3VudGVyVHlwZUU7CiBf
Wk43V2ViQ29yZTE4SFRNTENvbnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3VtZW50RTsKIF9a
TjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMzlzZXRSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0
c0Zyb21JbnRlcm5hbHNFaWk7Ci1fWk43V2ViQ29yZTIwQ2FjaGVkUmVzb3VyY2VMb2FkZXIzMWdh
cmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNFdjsKK19aTjdXZWJDb3JlMjFJbnNwZWN0b3JD
b25zb2xlQWdlbnQyOGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHNFdjsKK19aTjdXZWJDb3Jl
MjJpbnN0cnVtZW50YXRpb25Gb3JQYWdlRVBOU180UGFnZUU7CiBfWk43V2ViQ29yZTIwTm9kZVJl
bmRlcmluZ0NvbnRleHRDMUVQTlNfNE5vZGVFOwogX1pON1dlYkNvcmUyME5vZGVSZW5kZXJpbmdD
b250ZXh0RDFFdjsKLV9aTjdXZWJDb3JlMjFJbnNwZWN0b3JDb25zb2xlQWdlbnQyOGNvbnNvbGVN
ZXNzYWdlQXJndW1lbnRDb3VudHNFdjsKIF9aTjdXZWJDb3JlMjFnZXRDYWNoZWRET01TdHJ1Y3R1
cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUEtOM0pTQzlDbGFzc0luZm9FOwogX1pON1dlYkNv
cmUyMmV4dGVybmFsUmVwcmVzZW50YXRpb25FUE5TXzdFbGVtZW50RWo7Ci1fWk43V2ViQ29yZTIy
aW5zdHJ1bWVudGF0aW9uRm9yUGFnZUVQTlNfNFBhZ2VFOwogX1pON1dlYkNvcmUyMnVzZXJQcmVm
ZXJyZWRMYW5ndWFnZXNFdjsKIF9aTjdXZWJDb3JlMjRDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXIx
MGZpcnN0Q2hpbGRFdjsKIF9aTjdXZWJDb3JlMjRDb21wb3NlZFNoYWRvd1RyZWVXYWxrZXIxMW5l
eHRTaWJsaW5nRXY7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWQ3NjcyNjllMDI4ZDFiZWQzOTdlNmUzMDllMWZhYmRjNDZh
NzZmMy4uZGNhMWUxYTZkOTEzYjhhN2VjZmMyMTY3MWEwYTgyYWJhMjQ0MjdmZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSw1ICsxLDIwIEBACiAyMDEyLTA3LTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KIAorICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI0MDAwLgor
ICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjQwMDAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNjMyCisKKyAgICAgICAg
c2VlbXMgdG8gaGF2ZSBicm9rZW4gY2hyb21pdW0gUmFuZ2VfSW5zdGFuY2VTaXplVW5rbm93biB1
bml0CisgICAgICAgIHRlc3QgYWNyb3NzIG1hbnkgcGxhdGZvcm1zIChSZXF1ZXN0ZWQgYnkgdG9t
aHVkc29uIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2Ut
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25l
dHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC1tb3ZlZC10by1zdG9yYWdlLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVz
b3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlzY2FyZGVkLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1k
ZXN0cm95ZWQtdG9vLWJpZy1kaXNjYXJkZWQuaHRtbDogUmVtb3ZlZC4KKworMjAxMi0wNy0zMCAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNDAwNC4KICAgICAgICAgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMTI0MDA0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05MjYyMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3Jh
Z2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29y
ay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2UtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3M2I0MWViYjdlYTRjODYzNzViZGE1MzUx
OGNhMzYyNDIxYjgwYmM1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJl
c291cmNlLWRlc3Ryb3llZC1tb3ZlZC10by1zdG9yYWdlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDExICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogRG9uZTEuCi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IERvbmUyLgotVGVzdHMgY29udGVudCBpcyBtb3ZlZCBm
cm9tIGNhY2hlZCByZXNvdXJjZSB0byByZXNvdXJjZSBhZ2VudCdzIGRhdGEgc3RvcmFnZSB3aGVu
IGNhY2hlZCByZXNvdXJjZSBpcyBkZXN0cm95ZWQuCi0KLUJ1ZyA5MjEwOCAgCi1odHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBl
PWltYWdlJnJhbmRvbT0xJnNpemU9NDAwCi1yZXF1ZXN0LnR5cGU6IGltYWdlCi1yZXF1ZXN0LmNv
bnRlbnQubGVuZ3RoIGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogNTM2Ci1SZWxlYXNpbmcgY2Fj
aGVkIHJlc291cmNlLgotcmVxdWVzdC5jb250ZW50Lmxlbmd0aCBhZnRlciByZXF1ZXN0aW5nIGNv
bnRlbnQ6IDUzNgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtbW92ZWQtdG8tc3RvcmFnZS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3Vy
Y2UtZGVzdHJveWVkLW1vdmVkLXRvLXN0b3JhZ2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMjllODhlY2MyZDZkNTA0M2Q3NTZiZTAxYTU5ZThhNmZhNDU2NGI4Zi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtbW92ZWQt
dG8tc3RvcmFnZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA5ICswLDAgQEAKLTxodG1sPgot
PGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uL25ldHdvcmstdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotdmFyIGlt
YWdlOwotZnVuY3Rpb24gbG9hZEZpcnN0SW1hZ2UoKSB7Ci0gICAgaW1hZ2UgPSBuZXcgSW1hZ2Uo
KTsKLSAgICBpbWFnZS5vbmxvYWQgPSBmaXJzdEltYWdlTG9hZGVkOwotICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoaW1hZ2UpOwotICAgIGltYWdlLnNyYyA9ICJyZXNvdXJjZXMvcmVzb3Vy
Y2UucGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEmc2l6ZT00MDAiOwotfQotCi1mdW5jdGlvbiBmaXJz
dEltYWdlTG9hZGVkKCkKLXsKLSAgICBjb25zb2xlLmxvZygiRG9uZTEuIik7Ci19Ci0KLWZ1bmN0
aW9uIGxvYWRTZWNvbmRJbWFnZSgpIHsKLSAgICBpbWFnZS5vbmxvYWQgPSBzZWNvbmRJbWFnZUxv
YWRlZDsKLSAgICBpbWFnZS5zcmMgPSAicmVzb3VyY2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdl
JnJhbmRvbT0xJnNpemU9MjAwIjsKLX0KLQotZnVuY3Rpb24gc2Vjb25kSW1hZ2VMb2FkZWQoKQot
ewotICAgIGNvbnNvbGUubG9nKCJEb25lMi4iKTsKLX0KLQotZnVuY3Rpb24gZm9yY2VDYWNoZWRS
ZXNvdXJjZUxvYWRlckdDKCkgewotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXMoKTsKLX0KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgLy8gU2luY2UgdGhpcyB0ZXN0IGNvdWxkIGJlIHJ1biB0
b2dldGhlciB3aXRoIG90aGVyIGluc3BlY3RvciBiYWNrZW5kIGNhY2hlCi0gICAgLy8gdGVzdHMs
IHdlIG5lZWQgdG8gcmVzZXQgc2l6ZSBsaW1pdHMgdG8gZGVmYXVsdCBvbmVzLgotICAgIEluc3Bl
Y3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXAxKTsKLQotICAgIHZhciBp
bWFnZVJlcXVlc3Q7Ci0gICAgZnVuY3Rpb24gc3RlcDEoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRDb25zb2xlU25pZmZlcihzdGVwMik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoImxvYWRGaXJzdEltYWdlKCkiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzdGVwMigpCi0gICAgewotICAgICAgICBpbWFnZVJlcXVlc3QgPSBXZWJJbnNwZWN0b3IucGFu
ZWxzLm5ldHdvcmsucmVxdWVzdHNbV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLnJlcXVlc3Rz
Lmxlbmd0aCAtIDFdOwotICAgICAgICBpbWFnZVJlcXVlc3QucmVxdWVzdENvbnRlbnQoc3RlcDMp
OwotICAgIH0KLQotICAgIHZhciBvcmlnaW5hbENvbnRlbnRMZW5ndGg7Ci0gICAgZnVuY3Rpb24g
c3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoaW1hZ2VSZXF1
ZXN0LnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXF1ZXN0LnR5cGU6
ICIgKyBpbWFnZVJlcXVlc3QudHlwZSk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJyZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIGlt
YWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aCk7Ci0gICAgICAgIG9yaWdpbmFsQ29udGVudExlbmd0
aCA9IGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aDsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnRUcnVlKGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aCA+IDAsICJObyBjb250ZW50IGJl
Zm9yZSBkZXN0cm95aW5nIENhY2hlZFJlc291cmNlLiIpOwotCi0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJSZWxlYXNpbmcgY2FjaGVkIHJlc291cmNlLiIpOwotICAgICAgICAvLyBM
b2FkaW5nIGFub3RoZXIgaW1hZ2UgdG8gdGhlIHNhbWUgaW1hZ2UgZWxlbWVudCBzbyB0aGF0IHRo
ZSBvcmlnaW5hbCBpbWFnZSBjYWNoZWQgcmVzb3VyY2UgaXMgcmVsZWFzZWQuCi0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDQpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKCJsb2FkU2Vjb25kSW1hZ2UoKSIpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHN0ZXA0KG1zZykKLSAgICB7Ci0gICAgICAgIC8vIERpc2FibGUtZW5hYmxlIGNhY2hl
IHRvIGZvcmNlIE1lbW9yeUNhY2hlOjpldmljdFJlc291cmNlcygpLgotICAgICAgICBOZXR3b3Jr
QWdlbnQuc2V0Q2FjaGVEaXNhYmxlZCh0cnVlLCBzdGVwNSk7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDUobXNnKQotICAgIHsKLSAgICAgICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJs
ZWQoZmFsc2UsIHN0ZXA2KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNigpCi0gICAgewot
ICAgICAgICAvLyBGb3JjZSBDYWNoZWRSZXNvdXJjZUxvYWRlciBnYXJiYWdlIGNvbGxlY3RvciBy
dW4uCi0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImZvcmNlQ2FjaGVkUmVz
b3VyY2VMb2FkZXJHQygpIik7Ci0KLSAgICAgICAgLy8gUmUtcmVxdWVzdCBjb250ZW50IG5vdyB0
aGF0IENhY2hlZFJlc291cmNlIHNob3VsZCBoYXZlIGJlZW4gZGVzdHJveWVkLgotICAgICAgICBk
ZWxldGUgaW1hZ2VSZXF1ZXN0Ll9jb250ZW50OwotICAgICAgICBpbWFnZVJlcXVlc3QucmVxdWVz
dENvbnRlbnQoc3RlcDcpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA3KCkKLSAgICB7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFm
dGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aCk7
Ci0gICAgICAgIG9yaWdpbmFsQ29udGVudExlbmd0aCA9IGltYWdlUmVxdWVzdC5jb250ZW50Lmxl
bmd0aDsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKGltYWdlUmVxdWVzdC5jb250
ZW50Lmxlbmd0aCA9PT0gb3JpZ2luYWxDb250ZW50TGVuZ3RoLCAiQ29udGVudCBjaGFuZ2VkIGFm
dGVyIGNhY2hlZCByZXNvdXJjZSB3YXMgZGVzdHJveWVkIik7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhKHN0ZXA4KTsKLSAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwOCgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotPHA+VGVzdHMgY29udGVudCBpcyBtb3ZlZCBmcm9tIGNhY2hlZCByZXNvdXJjZSB0byByZXNv
dXJjZSBhZ2VudCdzIGRhdGEgc3RvcmFnZSB3aGVuIGNhY2hlZCByZXNvdXJjZSBpcyBkZXN0cm95
ZWQuPC9wPgotPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTkyMTA4Ij5CdWcgOTIxMDg8L2E+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRl
c3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2NhY2hlZC1yZXNvdXJjZS1kZXN0cm95ZWQtdG9vLWJp
Zy1kaXNjYXJkZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
YTQyNzQ1NmYzYTk5NmMzYjViOTIxZWY0M2UyMTg0ZDhiMjJiMzViLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC10b28tYmlnLWRpc2NhcmRl
ZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMjM6IERvbmUxLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMzOiBEb25lMi4K
LVRlc3RzIGNhY2hlZCByZXNvdXJjZSBjb250ZW50IGlzIGRpc2NhcmRlZCB3aGVuIGNhY2hlZCBy
ZXNvdXJjZSBpcyBkZXN0cm95ZWQgaWYgY29udGVudCBzaXplIGlzIHRvbyBiaWcgZm9yIHRoZSBy
ZXNvdXJjZSBhZ2VudCdzIGRhdGEgc3RvcmFnZS4KLQotQnVnIDkyMTA4ICAKLWh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvcmVzb3VyY2UucGhwP3R5cGU9
aW1hZ2UmcmFuZG9tPTEmc2l6ZT00MDAKLXJlcXVlc3QudHlwZTogaW1hZ2UKLXJlcXVlc3QuY29u
dGVudC5sZW5ndGggYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiA1MzYKLVJlbGVhc2luZyBjYWNo
ZWQgcmVzb3VyY2UuCi1yZXF1ZXN0LmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBu
dWxsCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsvY2FjaGVkLXJlc291cmNlLWRlc3Ryb3llZC10b28tYmlnLWRpc2NhcmRlZC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVz
dHJveWVkLXRvby1iaWctZGlzY2FyZGVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDZkYzE1MGY2MDUwOGFjNTAzNzU2ZGY1OWNiZTVjYjEwMzFiZjdiOTEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay9jYWNoZWQtcmVzb3VyY2UtZGVzdHJveWVkLXRvby1iaWctZGlz
Y2FyZGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSIuLi9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vbmV0d29yay10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIgaW1hZ2U7
Ci1mdW5jdGlvbiBsb2FkRmlyc3RJbWFnZSgpIHsKLSAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMp
IHsKLSAgICAgICAgY29uc29sZS5sb2coIlRoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biBhcyB3aW5k
b3cuaW50ZXJuYWxzIGlzIG5vdCBhdmFpbGFibGUuIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgLy8gTWFrZSBzdXJlIHRoZXJlIGlzIG5vIGVub3VnaCBzcGFjZSB0byBzYXZlIGNvbnRl
bnQgaW4gcmVzb3VyY2UgYWdlbnQncyBzdG9yYWdlLgotICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0cygxMDAsIDEwMCk7Ci0KLSAgICBpbWFn
ZSA9IG5ldyBJbWFnZSgpOwotICAgIGltYWdlLm9ubG9hZCA9IGZpcnN0SW1hZ2VMb2FkZWQ7Ci0g
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWFnZSk7Ci0gICAgaW1hZ2Uuc3JjID0gInJl
c291cmNlcy9yZXNvdXJjZS5waHA/dHlwZT1pbWFnZSZyYW5kb209MSZzaXplPTQwMCI7Ci19Ci0K
LWZ1bmN0aW9uIGZpcnN0SW1hZ2VMb2FkZWQoKQotewotICAgIGNvbnNvbGUubG9nKCJEb25lMS4i
KTsKLX0KLQotZnVuY3Rpb24gbG9hZFNlY29uZEltYWdlKCkgewotICAgIGltYWdlLm9ubG9hZCA9
IHNlY29uZEltYWdlTG9hZGVkOwotICAgIGltYWdlLnNyYyA9ICJyZXNvdXJjZXMvcmVzb3VyY2Uu
cGhwP3R5cGU9aW1hZ2UmcmFuZG9tPTEmc2l6ZT0yMDAiOwotfQotCi1mdW5jdGlvbiBzZWNvbmRJ
bWFnZUxvYWRlZCgpCi17Ci0gICAgY29uc29sZS5sb2coIkRvbmUyLiIpOwotfQotCi1mdW5jdGlv
biBmb3JjZUNhY2hlZFJlc291cmNlTG9hZGVyR0MoKSB7Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291
cmNlcygpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICB2YXIgaW1hZ2VSZXF1ZXN0Owot
ICAgIEluc3BlY3RvclRlc3QuYWRkQ29uc29sZVNuaWZmZXIoc3RlcDIpOwotICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImxvYWRGaXJzdEltYWdlKCkiKTsKLQotICAgIGZ1bmN0aW9u
IHN0ZXAyKCkKLSAgICB7Ci0gICAgICAgIGltYWdlUmVxdWVzdCA9IFdlYkluc3BlY3Rvci5wYW5l
bHMubmV0d29yay5yZXF1ZXN0c1tXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVxdWVzdHMu
bGVuZ3RoIC0gMV07Ci0gICAgICAgIGltYWdlUmVxdWVzdC5yZXF1ZXN0Q29udGVudChzdGVwMyk7
Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDMoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoaW1hZ2VSZXF1ZXN0LnVybCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJyZXF1ZXN0LnR5cGU6ICIgKyBpbWFnZVJlcXVlc3QudHlwZSk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJyZXF1ZXN0LmNvbnRlbnQubGVuZ3RoIGFmdGVyIHJl
cXVlc3RpbmcgY29udGVudDogIiArIGltYWdlUmVxdWVzdC5jb250ZW50Lmxlbmd0aCk7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShpbWFnZVJlcXVlc3QuY29udGVudC5sZW5ndGgg
PiAwLCAiTm8gY29udGVudCBiZWZvcmUgZGVzdHJveWluZyBDYWNoZWRSZXNvdXJjZS4iKTsKLQot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVsZWFzaW5nIGNhY2hlZCByZXNvdXJj
ZS4iKTsKLSAgICAgICAgLy8gTG9hZGluZyBhbm90aGVyIGltYWdlIHRvIHRoZSBzYW1lIGltYWdl
IGVsZW1lbnQgc28gdGhhdCB0aGUgb3JpZ2luYWwgaW1hZ2UgY2FjaGVkIHJlc291cmNlIGlzIHJl
bGVhc2VkLgotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZENvbnNvbGVTbmlmZmVyKHN0ZXA0KTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibG9hZFNlY29uZEltYWdlKCki
KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNChtc2cpCi0gICAgewotICAgICAgICAvLyBE
aXNhYmxlLWVuYWJsZSBjYWNoZSB0byBmb3JjZSBNZW1vcnlDYWNoZTo6ZXZpY3RSZXNvdXJjZXMo
KS4KLSAgICAgICAgTmV0d29ya0FnZW50LnNldENhY2hlRGlzYWJsZWQodHJ1ZSwgc3RlcDUpOwot
ICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1KG1zZykKLSAgICB7Ci0gICAgICAgIE5ldHdvcmtB
Z2VudC5zZXRDYWNoZURpc2FibGVkKGZhbHNlLCBzdGVwNik7Ci0gICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDYoKQotICAgIHsKLSAgICAgICAgLy8gRm9yY2UgQ2FjaGVkUmVzb3VyY2VMb2FkZXIg
Z2FyYmFnZSBjb2xsZWN0b3IgcnVuLgotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlKCJmb3JjZUNhY2hlZFJlc291cmNlTG9hZGVyR0MoKSIpOwotCi0gICAgICAgIC8vIFJlLXJl
cXVlc3QgY29udGVudCBub3cgdGhhdCBDYWNoZWRSZXNvdXJjZSBzaG91bGQgaGF2ZSBiZWVuIGRl
c3Ryb3llZC4KLSAgICAgICAgZGVsZXRlIGltYWdlUmVxdWVzdC5fY29udGVudDsKLSAgICAgICAg
aW1hZ2VSZXF1ZXN0LnJlcXVlc3RDb250ZW50KHN0ZXA3KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlv
biBzdGVwNygpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVxdWVz
dC5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogIiArIGltYWdlUmVxdWVzdC5jb250
ZW50KTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRUcnVlKCFpbWFnZVJlcXVlc3QuY29u
dGVudCwgIkNvbnRlbnQgYXZhaWxhYmxlIGFmdGVyIENhY2hlZFJlc291cmNlIHdhcyBkZXN0cm95
ZWQuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVzZXRJbnNwZWN0b3JSZXNvdXJjZXNEYXRh
KHN0ZXA4KTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwOCgpCi0gICAgewotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgY2FjaGVkIHJlc291cmNlIGNv
bnRlbnQgaXMgZGlzY2FyZGVkIHdoZW4gY2FjaGVkIHJlc291cmNlIGlzIGRlc3Ryb3llZCBpZiBj
b250ZW50IHNpemUgaXMgdG9vIGJpZyBmb3IgdGhlIHJlc291cmNlIGFnZW50J3MgZGF0YSBzdG9y
YWdlLjwvcD4KLTxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MjEwOCI+QnVnIDkyMTA4PC9hPgotPC9ib2R5PgotPC9odG1sPgotCmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggY2JlMTYyN2U2MzdiMTE4Zjk4ZWNiMjY0ZmMwMWI1
MjI0OTBkNDQ1MC4uZjcxY2RkOTMwYjFhOGM4YmZkNmFhMTdjMjNhNGZkNDA2MzRlMGFkNyAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEy
LTA3LTMwICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI0MDAwLgorICAgICAgICBodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjQwMDAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNjMyCisKKyAgICAgICAgc2VlbXMgdG8gaGF2ZSBicm9r
ZW4gY2hyb21pdW0gUmFuZ2VfSW5zdGFuY2VTaXplVW5rbm93biB1bml0CisgICAgICAgIHRlc3Qg
YWNyb3NzIG1hbnkgcGxhdGZvcm1zIChSZXF1ZXN0ZWQgYnkgdG9taHVkc29uIG9uCisgICAgICAg
ICN3ZWJraXQpLgorCisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoK
KwogMjAxMi0wNy0zMCAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZXBsYWNlIFVuaWNvZGVXaW5DRSB3aXRoIFVuaWNvZGVXY2hhcgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>