<?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>126681</bug_id>
          
          <creation_ts>2014-01-08 23:40:17 -0800</creation_ts>
          <short_desc>Correctly fill loaded and total attribute values of XHR ProgressEvent events</short_desc>
          <delta_ts>2014-01-10 13:18:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>XML</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>965787</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-01-08 23:40:17 -0800</bug_when>
    <thetext>This is a follow-up on bug 120828</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965788</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-01-08 23:43:15 -0800</bug_when>
    <thetext>I forgot in last patch of bug 120828 to add loadend event as a valid event in the assertions within XMLHttpRequestUpload::dispatchProgressEvent and XMLHttpRequestProgressEventThrottle::dispatchProgressEvent.
Will fix that asap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965881</commentid>
    <comment_count>2</comment_count>
      <attachid>220728</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-01-09 07:06:00 -0800</bug_when>
    <thetext>Created attachment 220728
Patch to fix assertion issues on top of 120828</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965886</commentid>
    <comment_count>3</comment_count>
      <attachid>220731</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-01-09 07:15:19 -0800</bug_when>
    <thetext>Created attachment 220731
Patch 120828 with fix of assertion issues

This patch merges bug 120828 patch with the assertion fix that is uploaded of bug 126681. http/tests and dom/svg tests pass with the patch in debug mode, gtk port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965945</commentid>
    <comment_count>4</comment_count>
      <attachid>220731</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-09 09:25:29 -0800</bug_when>
    <thetext>Comment on attachment 220731
Patch 120828 with fix of assertion issues

View in context: https://bugs.webkit.org/attachment.cgi?id=220731&amp;action=review

&gt; Source/WebCore/ChangeLog:8
&gt; +        Fixed assertions over patch in https://bugs.webkit.org/show_bug.cgi?id=120828

Looks fine, however the ChangeLog should have a complete explanation, the discussion of something that was rolled out is confusing.

In other words, I&apos;d just use the same preamble as in the original patch here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966272</commentid>
    <comment_count>5</comment_count>
      <attachid>220815</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2014-01-10 00:30:11 -0800</bug_when>
    <thetext>Created attachment 220815
Updated change logs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966543</commentid>
    <comment_count>6</comment_count>
      <attachid>220815</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-10 13:18:16 -0800</bug_when>
    <thetext>Comment on attachment 220815
Updated change logs

Clearing flags on attachment: 220815

Committed r161668: &lt;http://trac.webkit.org/changeset/161668&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966544</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-10 13:18:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220728</attachid>
            <date>2014-01-09 07:06:00 -0800</date>
            <delta_ts>2014-01-09 07:15:12 -0800</delta_ts>
            <desc>Patch to fix assertion issues on top of 120828</desc>
            <filename>bug-126681-20140109160546.patch</filename>
            <type>text/plain</type>
            <size>3086</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAppbmRleCA2YmM0
MmE4YjE1NjQxYjM3MzkzZTk3NGEzYzk0OTE1Mzc1OThlZmVkLi43MGUxOTU3NjI1YjdhMTBmY2E2
Y2VkZDIwZTRmN2M3MWZjZjBhZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKQEAgLTY2LDkgKzY2
LDggQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hU
aHJvdHRsZWRQcm9ncmVzc0V2ZW50KGJvb2wgbGUKICAgICAgICAgLy8gVGhlIHRpbWVyIGlzIG5v
dCBhY3RpdmUgc28gdGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50IGZvciBub3cgaXMgZXZlcnkgYnl0
ZS4KICAgICAgICAgLy8gSnVzdCBnbyBhaGVhZCBhbmQgZGlzcGF0Y2ggdGhlIGV2ZW50LgogCi0g
ICAgICAgIC8vIFdlIHNob3VsZCBub3QgaGF2ZSBhbnkgcGVuZGluZyBsb2FkZWQgJiB0b3RhbCBp
bmZvcm1hdGlvbiBmcm9tIGEgcHJldmlvdXMgcnVuLgotICAgICAgICBBU1NFUlQoIW1fbG9hZGVk
KTsKLSAgICAgICAgQVNTRVJUKCFtX3RvdGFsKTsKKyAgICAgICAgLy8gV2Ugc2hvdWxkIG5vdCBo
YXZlIGFueSB0aHJvdHRsZWQgcHJvZ3Jlc3MgZXZlbnQuCisgICAgICAgIEFTU0VSVCghbV9oYXNU
aHJvdHRsZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBs
ZW5ndGhDb21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7CiAgICAgICAgIHN0YXJ0UmVwZWF0aW5n
KG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CkBAIC0x
MDMsNyArMTAyLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6
ZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKIAogdm9pZCBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyAmdHlwZSkKIHsKLSAgICBBU1NFUlQodHlwZSA9PSBldmVudE5hbWVzKCkubG9h
ZEV2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50IHx8IHR5cGUgPT0g
ZXZlbnROYW1lcygpLmFib3J0RXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVu
dCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOworICAgIEFTU0VSVCh0eXBl
ID09IGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkubG9hZGVu
ZEV2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50IHx8IHR5cGUgPT0g
ZXZlbnROYW1lcygpLmFib3J0RXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVu
dCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOwogCiAgICAgaWYgKHR5cGUg
PT0gZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50KSB7CiAgICAgICAgIG1fbGVuZ3RoQ29tcHV0
YWJsZSA9IGZhbHNlOwpAQCAtMjAxLDggKzIwMCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGU6OnN1c3BlbmQoKQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlOjpyZXN1bWUoKQogewotICAgIEFTU0VSVCghbV9sb2FkZWQpOwotICAg
IEFTU0VSVCghbV90b3RhbCk7CisgICAgQVNTRVJUKCFtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZl
bnQpOwogCiAgICAgaWYgKG1fZGVmZXJyZWRFdmVudHMuaXNFbXB0eSgpICYmICFtX2RlZmVycmVk
UHJvZ3Jlc3NFdmVudCkgewogICAgICAgICBtX2RlZmVyRXZlbnRzID0gZmFsc2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmNwcAppbmRleCAwZTVkNjRmNGYwYzlk
MjUzYzg1ZmE3YWRkNWYzNzE4MjQ0ODA1ZDYwLi4yNTQ3NjU2NzJiMDMwODQ5NGU2Nzg0OGMzN2Q4
YjhkZmU0YTU3ODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3RVcGxvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9h
ZC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFVwbG9hZDo6ZGlzcGF0
Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSwKIAogdm9pZCBY
TUxIdHRwUmVxdWVzdFVwbG9hZDo6ZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyAmdHlwZSkKIHsKLSAgICBBU1NFUlQodHlwZSA9PSBldmVudE5hbWVzKCkubG9hZEV2ZW50
IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50IHx8IHR5cGUgPT0gZXZlbnRO
YW1lcygpLmFib3J0RXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVudCB8fCB0
eXBlID09IGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOworICAgIEFTU0VSVCh0eXBlID09IGV2
ZW50TmFtZXMoKS5sb2FkRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50
IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50IHx8IHR5cGUgPT0gZXZlbnRO
YW1lcygpLmFib3J0RXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVudCB8fCB0
eXBlID09IGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOwogCiAgICAgaWYgKHR5cGUgPT0gZXZl
bnROYW1lcygpLmxvYWRzdGFydEV2ZW50KSB7CiAgICAgICAgIG1fbGVuZ3RoQ29tcHV0YWJsZSA9
IGZhbHNlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220731</attachid>
            <date>2014-01-09 07:15:19 -0800</date>
            <delta_ts>2014-01-10 00:30:04 -0800</delta_ts>
            <desc>Patch 120828 with fix of assertion issues</desc>
            <filename>bug-126681-20140109161505.patch</filename>
            <type>text/plain</type>
            <size>36002</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY3NDBmZjIyYzE2OWFm
YWMyNWFjYWU2OGMzYjU2OGRjNjI4NWMwMS4uNzE3MzlmZTgyNTdjYjQxM2M5MTdlNDFmMzUwZjZm
MTJkMDcwMGZmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE0LTAxLTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAgQ29ycmVjdGx5IGZpbGwg
bG9hZGVkIGFuZCB0b3RhbCBhdHRyaWJ1dGUgdmFsdWVzIG9mIFhIUiBQcm9ncmVzc0V2ZW50IGV2
ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2
NjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgYXNzZXJ0aW9ucyBvdmVyIHBhdGNoIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjA4MjgKKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9sb2Fkc3RhcnQtZXZlbnQtaW5pdC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L29uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25sb2FkLXByb2dyZXNzZXZl
bnQtYXR0cmlidXRlcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3VwbG9hZC1vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sCisgICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmxvYWQtcHJvZ3Jlc3Nl
dmVudC1hdHRyaWJ1dGVzLmh0bWwKKworICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6Y2FsbFJlYWR5U3RhdGVDaGFuZ2VM
aXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVz
dCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6YWJvcnQpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6Om5ldHdvcmtFcnJvcik6CisgICAgICAgIChXZWJDb3Jl
OjpYTUxIdHRwUmVxdWVzdDo6YWJvcnRFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRw
UmVxdWVzdDo6ZGlkU2VuZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6
OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpkaXNw
YXRjaEVycm9yRXZlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpkaWRU
aW1lb3V0KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKyAgICAgICAgKiB4bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OlhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3Bh
dGNoUHJvZ3Jlc3NFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZTo6Zmx1c2hQcm9ncmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpmaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6aGFzRXZlbnRUb0Rp
c3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlOjpzdXNwZW5kKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGUuaDoKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RVcGxvYWQ6OlhNTEh0dHBSZXF1ZXN0VXBs
b2FkKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpkaXNwYXRjaFRo
cm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RV
cGxvYWQ6OmRpc3BhdGNoUHJvZ3Jlc3NFdmVudCk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1
ZXN0VXBsb2FkLmg6CisKIDIwMTQtMDEtMDggIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjE1MzIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA0MmRmZDgzNGYyMmVmNjFkNWI5
MTIwNGZhZjc0YmYwZjkwZDcwNjE5Li42YzdlMTBlMWJhYzNhMTNmMjc5NDE5NmUzNmUxMmViOGMy
YzI0YWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTQzMCwxNCAr
NDMwLDE0IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmNhbGxSZWFkeVN0YXRlQ2hhbmdlTGlzdGVu
ZXIoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaFhIUlJlYWR5U3RhdGVDaGFuZ2VFdmVudChz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHRoaXMpOwogCiAgICAgaWYgKG1fYXN5bmMgfHwgKG1f
c3RhdGUgPD0gT1BFTkVEIHx8IG1fc3RhdGUgPT0gRE9ORSkpCi0gICAgICAgIG1fcHJvZ3Jlc3NF
dmVudFRocm90dGxlLmRpc3BhdGNoUmVhZHlTdGF0ZUNoYW5nZUV2ZW50KFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5yZWFkeXN0YXRlY2hhbmdlRXZlbnQp
LCBtX3N0YXRlID09IERPTkUgPyBGbHVzaFByb2dyZXNzRXZlbnQgOiBEb05vdEZsdXNoUHJvZ3Jl
c3NFdmVudCk7CisgICAgICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNoUmVhZHlT
dGF0ZUNoYW5nZUV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnJlYWR5c3RhdGVjaGFu
Z2VFdmVudCwgZmFsc2UsIGZhbHNlKSwgbV9zdGF0ZSA9PSBET05FID8gRmx1c2hQcm9ncmVzc0V2
ZW50IDogRG9Ob3RGbHVzaFByb2dyZXNzRXZlbnQpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWREaXNwYXRjaFhIUlJlYWR5U3RhdGVDaGFuZ2VFdmVudChjb29raWUpOwogICAg
IGlmIChtX3N0YXRlID09IERPTkUgJiYgIW1fZXJyb3IpIHsKICAgICAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2ls
bERpc3BhdGNoWEhSTG9hZEV2ZW50KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdGhpcyk7Ci0g
ICAgICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmxvYWRFdmVudCkpOworICAgICAg
ICBtX3Byb2dyZXNzRXZlbnRUaHJvdHRsZS5kaXNwYXRjaFByb2dyZXNzRXZlbnQoZXZlbnROYW1l
cygpLmxvYWRFdmVudCk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlz
cGF0Y2hYSFJMb2FkRXZlbnQoY29va2llKTsKLSAgICAgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0
bGUuZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkubG9hZGVuZEV2ZW50KSk7CisgICAgICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxl
LmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKICAgICB9
CiB9CiAKQEAgLTc2NSwxMCArNzY1LDEwIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QoRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgLy8gQWxzbywgb25seSBhc3luYyByZXF1ZXN0
cyBzdXBwb3J0IHVwbG9hZCBwcm9ncmVzcyBldmVudHMuCiAgICAgYm9vbCB1cGxvYWRFdmVudHMg
PSBmYWxzZTsKICAgICBpZiAobV9hc3luYykgewotICAgICAgICBtX3Byb2dyZXNzRXZlbnRUaHJv
dHRsZS5kaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5sb2Fkc3RhcnRFdmVudCkpOworICAgICAgICBtX3Byb2dyZXNzRXZlbnRUaHJv
dHRsZS5kaXNwYXRjaFByb2dyZXNzRXZlbnQoZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50KTsK
ICAgICAgICAgaWYgKG1fcmVxdWVzdEVudGl0eUJvZHkgJiYgbV91cGxvYWQpIHsKICAgICAgICAg
ICAgIHVwbG9hZEV2ZW50cyA9IG1fdXBsb2FkLT5oYXNFdmVudExpc3RlbmVycygpOwotICAgICAg
ICAgICAgbV91cGxvYWQtPmRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50KSk7CisgICAgICAgICAgICBtX3Vw
bG9hZC0+ZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KGV2ZW50TmFtZXMoKS5sb2Fkc3RhcnRFdmVudCk7
CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTg2MiwxMiArODYyLDcgQEAgdm9pZCBYTUxIdHRwUmVx
dWVzdDo6YWJvcnQoKQogICAgICAgICBtX3N0YXRlID0gVU5TRU5UOwogICAgIH0KIAotICAgIG1f
cHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNoRXZlbnRBbmRMb2FkRW5kKFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50KSk7Ci0gICAg
aWYgKCFtX3VwbG9hZENvbXBsZXRlKSB7Ci0gICAgICAgIG1fdXBsb2FkQ29tcGxldGUgPSB0cnVl
OwotICAgICAgICBpZiAobV91cGxvYWQgJiYgbV91cGxvYWRFdmVudHNBbGxvd2VkKQotICAgICAg
ICAgICAgbV91cGxvYWQtPmRpc3BhdGNoRXZlbnRBbmRMb2FkRW5kKFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50KSk7Ci0gICAgfQorICAg
IGRpc3BhdGNoRXJyb3JFdmVudHMoZXZlbnROYW1lcygpLmFib3J0RXZlbnQpOwogfQogCiB2b2lk
IFhNTEh0dHBSZXF1ZXN0OjppbnRlcm5hbEFib3J0KCkKQEAgLTkyOCwyNCArOTIzLDE0IEBAIHZv
aWQgWE1MSHR0cFJlcXVlc3Q6OmdlbmVyaWNFcnJvcigpCiB2b2lkIFhNTEh0dHBSZXF1ZXN0Ojpu
ZXR3b3JrRXJyb3IoKQogewogICAgIGdlbmVyaWNFcnJvcigpOwotICAgIGlmICghbV91cGxvYWRD
b21wbGV0ZSkgewotICAgICAgICBtX3VwbG9hZENvbXBsZXRlID0gdHJ1ZTsKLSAgICAgICAgaWYg
KG1fdXBsb2FkICYmIG1fdXBsb2FkRXZlbnRzQWxsb3dlZCkKLSAgICAgICAgICAgIG1fdXBsb2Fk
LT5kaXNwYXRjaEV2ZW50QW5kTG9hZEVuZChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCkpOwotICAgIH0KLSAgICBtX3Byb2dyZXNzRXZl
bnRUaHJvdHRsZS5kaXNwYXRjaEV2ZW50QW5kTG9hZEVuZChYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCkpOworICAgIGRpc3BhdGNoRXJy
b3JFdmVudHMoZXZlbnROYW1lcygpLmVycm9yRXZlbnQpOwogICAgIGludGVybmFsQWJvcnQoKTsK
IH0KIAogdm9pZCBYTUxIdHRwUmVxdWVzdDo6YWJvcnRFcnJvcigpCiB7CiAgICAgZ2VuZXJpY0Vy
cm9yKCk7Ci0gICAgaWYgKCFtX3VwbG9hZENvbXBsZXRlKSB7Ci0gICAgICAgIG1fdXBsb2FkQ29t
cGxldGUgPSB0cnVlOwotICAgICAgICBpZiAobV91cGxvYWQgJiYgbV91cGxvYWRFdmVudHNBbGxv
d2VkKQotICAgICAgICAgICAgbV91cGxvYWQtPmRpc3BhdGNoRXZlbnRBbmRMb2FkRW5kKFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50KSk7
Ci0gICAgfQotICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNoRXZlbnRBbmRMb2Fk
RW5kKFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hYm9y
dEV2ZW50KSk7CisgICAgZGlzcGF0Y2hFcnJvckV2ZW50cyhldmVudE5hbWVzKCkuYWJvcnRFdmVu
dCk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRyb3BQcm90ZWN0aW9uKCkKQEAgLTExNzks
MTIgKzExNjQsMTMgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkU2VuZERhdGEodW5zaWduZWQg
bG9uZyBsb25nIGJ5dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb24KICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKG1fdXBsb2FkRXZlbnRzQWxsb3dlZCkKLSAgICAgICAgbV91cGxvYWQtPmRpc3Bh
dGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LnByb2dyZXNzRXZlbnQsIHRydWUsIGJ5dGVzU2VudCwgdG90YWxCeXRlc1RvQmVTZW50KSk7Ci0K
KyAgICAgICAgbV91cGxvYWQtPmRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCh0cnVlLCBi
eXRlc1NlbnQsIHRvdGFsQnl0ZXNUb0JlU2VudCk7CiAgICAgaWYgKGJ5dGVzU2VudCA9PSB0b3Rh
bEJ5dGVzVG9CZVNlbnQgJiYgIW1fdXBsb2FkQ29tcGxldGUpIHsKICAgICAgICAgbV91cGxvYWRD
b21wbGV0ZSA9IHRydWU7Ci0gICAgICAgIGlmIChtX3VwbG9hZEV2ZW50c0FsbG93ZWQpCi0gICAg
ICAgICAgICBtX3VwbG9hZC0+ZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQoWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmxvYWRFdmVudCkpOworICAgICAgICBp
ZiAobV91cGxvYWRFdmVudHNBbGxvd2VkKSB7CisgICAgICAgICAgICBtX3VwbG9hZC0+ZGlzcGF0
Y2hQcm9ncmVzc0V2ZW50KGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQpOworICAgICAgICAgICAgbV91
cGxvYWQtPmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsK
KyAgICAgICAgfQogICAgIH0KIH0KIApAQCAtMTI0MiwxMyArMTIyOCwxMyBAQCB2b2lkIFhNTEh0
dHBSZXF1ZXN0OjpkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuKQogICAg
IH0KIAogICAgIGlmICghbV9lcnJvcikgewotICAgICAgICBsb25nIGxvbmcgZXhwZWN0ZWRMZW5n
dGggPSBtX3Jlc3BvbnNlLmV4cGVjdGVkQ29udGVudExlbmd0aCgpOwogICAgICAgICBtX3JlY2Vp
dmVkTGVuZ3RoICs9IGxlbjsKIAogICAgICAgICBpZiAobV9hc3luYykgeworICAgICAgICAgICAg
bG9uZyBsb25nIGV4cGVjdGVkTGVuZ3RoID0gbV9yZXNwb25zZS5leHBlY3RlZENvbnRlbnRMZW5n
dGgoKTsKICAgICAgICAgICAgIGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSA9IGV4cGVjdGVkTGVuZ3Ro
ID4gMCAmJiBtX3JlY2VpdmVkTGVuZ3RoIDw9IGV4cGVjdGVkTGVuZ3RoOwogICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBsb25nIHRvdGFsID0gbGVuZ3RoQ29tcHV0YWJsZSA/IGV4cGVjdGVkTGVu
Z3RoIDogMDsKLSAgICAgICAgICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNoUHJv
Z3Jlc3NFdmVudChsZW5ndGhDb21wdXRhYmxlLCBtX3JlY2VpdmVkTGVuZ3RoLCB0b3RhbCk7Cisg
ICAgICAgICAgICBtX3Byb2dyZXNzRXZlbnRUaHJvdHRsZS5kaXNwYXRjaFRocm90dGxlZFByb2dy
ZXNzRXZlbnQobGVuZ3RoQ29tcHV0YWJsZSwgbV9yZWNlaXZlZExlbmd0aCwgdG90YWwpOwogICAg
ICAgICB9CiAKICAgICAgICAgaWYgKG1fc3RhdGUgIT0gTE9BRElORykKQEAgLTEyNTksNiArMTI0
NSwxOSBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBk
YXRhLCBpbnQgbGVuKQogICAgIH0KIH0KIAordm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlzcGF0Y2hF
cnJvckV2ZW50cyhjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpCit7CisgICAgaWYgKCFtX3VwbG9h
ZENvbXBsZXRlKSB7CisgICAgICAgIG1fdXBsb2FkQ29tcGxldGUgPSB0cnVlOworICAgICAgICBp
ZiAobV91cGxvYWQgJiYgbV91cGxvYWRFdmVudHNBbGxvd2VkKSB7CisgICAgICAgICAgICBtX3Vw
bG9hZC0+ZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KHR5cGUpOworICAgICAgICAgICAgbV91cGxvYWQt
PmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChldmVudE5hbWVzKCkubG9hZGVuZEV2ZW50KTsKKyAgICAg
ICAgfQorICAgIH0KKyAgICBtX3Byb2dyZXNzRXZlbnRUaHJvdHRsZS5kaXNwYXRjaFByb2dyZXNz
RXZlbnQodHlwZSk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUuZGlzcGF0Y2hQcm9ncmVz
c0V2ZW50KGV2ZW50TmFtZXMoKS5sb2FkZW5kRXZlbnQpOworfQorCiAjaWYgRU5BQkxFKFhIUl9U
SU1FT1VUKQogdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkVGltZW91dCgpCiB7CkBAIC0xMjgwLDEy
ICsxMjc5LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkVGltZW91dCgpCiAKICAgICBjaGFu
Z2VTdGF0ZShET05FKTsKIAotICAgIGlmICghbV91cGxvYWRDb21wbGV0ZSkgewotICAgICAgICBt
X3VwbG9hZENvbXBsZXRlID0gdHJ1ZTsKLSAgICAgICAgaWYgKG1fdXBsb2FkICYmIG1fdXBsb2Fk
RXZlbnRzQWxsb3dlZCkKLSAgICAgICAgICAgIG1fdXBsb2FkLT5kaXNwYXRjaEV2ZW50QW5kTG9h
ZEVuZChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkudGlt
ZW91dEV2ZW50KSk7Ci0gICAgfQotICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNo
RXZlbnRBbmRMb2FkRW5kKFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS50aW1lb3V0RXZlbnQpKTsKKyAgICBkaXNwYXRjaEVycm9yRXZlbnRzKGV2ZW50TmFt
ZXMoKS50aW1lb3V0RXZlbnQpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmgKaW5kZXggOTM5M2E2NjY5ZjM0MzJmZDNlNmQyMzAwNDg5NzZmZjMyNjY1MzVmYS4uOTMy
NWFkNzI2NGRlZDZmMDhmMGI1NDRiODAwNWM3NzRmNzA5OGVkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmgKQEAgLTIwOCw2ICsyMDgsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBz
aG91bGREZWNvZGVSZXNwb25zZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2VUeXBlQ29kZSA8
IEZpcnN0QmluYXJ5UmVzcG9uc2VUeXBlOyB9CiAKKyAgICB2b2lkIGRpc3BhdGNoRXJyb3JFdmVu
dHMoY29uc3QgQXRvbWljU3RyaW5nJik7CisKICAgICBzdGQ6OnVuaXF1ZV9wdHI8WE1MSHR0cFJl
cXVlc3RVcGxvYWQ+IG1fdXBsb2FkOwogCiAgICAgVVJMIG1fdXJsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5j
cHAKaW5kZXggYjUxODJmY2ZjM2UxOTZlZjc1Yzc4NjZkMzY3NzNlODg3MjYzODJkZi4uNzBlMTk1
NzYyNWI3YTEwZmNhNmNlZGQyMGU0ZjdjNzFmY2YwYWVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3Bw
CkBAIC0zNiw2ICszNiw4IEBAIGNvbnN0IGRvdWJsZSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluCiAKIFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZShFdmVudFRhcmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQorICAgICwg
bV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KGZhbHNlKQorICAgICwgbV9sZW5ndGhDb21wdXRh
YmxlKGZhbHNlKQogICAgICwgbV9sb2FkZWQoMCkKICAgICAsIG1fdG90YWwoMCkKICAgICAsIG1f
ZGVmZXJFdmVudHMoZmFsc2UpCkBAIC00OCw4ICs1MCwxMiBAQCBYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZTo6flhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlKCkK
IHsKIH0KIAotdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0
Y2hQcm9ncmVzc0V2ZW50KGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25n
IGxvYWRlZCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsKQordm9pZCBYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KGJvb2wg
bGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQgbG9u
ZyBsb25nIHRvdGFsKQogeworICAgIG1fbGVuZ3RoQ29tcHV0YWJsZSA9IGxlbmd0aENvbXB1dGFi
bGU7CisgICAgbV9sb2FkZWQgPSBsb2FkZWQ7CisgICAgbV90b3RhbCA9IHRvdGFsOworICAgIAog
ICAgIGlmIChtX2RlZmVyRXZlbnRzKSB7CiAgICAgICAgIC8vIE9ubHkgc3RvcmUgdGhlIGxhdGVz
dCBwcm9ncmVzcyBldmVudCB3aGlsZSBzdXNwZW5kZWQuCiAgICAgICAgIG1fZGVmZXJyZWRQcm9n
cmVzc0V2ZW50ID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLnByb2dyZXNzRXZlbnQsIGxlbmd0aENvbXB1dGFibGUsIGxvYWRlZCwgdG90YWwpOwpAQCAt
NjAsMTkgKzY2LDE3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6
OmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChib29sIGxlbmd0aENvbXB1CiAgICAgICAgIC8vIFRoZSB0
aW1lciBpcyBub3QgYWN0aXZlIHNvIHRoZSBsZWFzdCBmcmVxdWVudCBldmVudCBmb3Igbm93IGlz
IGV2ZXJ5IGJ5dGUuCiAgICAgICAgIC8vIEp1c3QgZ28gYWhlYWQgYW5kIGRpc3BhdGNoIHRoZSBl
dmVudC4KIAotICAgICAgICAvLyBXZSBzaG91bGQgbm90IGhhdmUgYW55IHBlbmRpbmcgbG9hZGVk
ICYgdG90YWwgaW5mb3JtYXRpb24gZnJvbSBhIHByZXZpb3VzIHJ1bi4KLSAgICAgICAgQVNTRVJU
KCFtX2xvYWRlZCk7Ci0gICAgICAgIEFTU0VSVCghbV90b3RhbCk7CisgICAgICAgIC8vIFdlIHNo
b3VsZCBub3QgaGF2ZSBhbnkgdGhyb3R0bGVkIHByb2dyZXNzIGV2ZW50LgorICAgICAgICBBU1NF
UlQoIW1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7CiAKICAgICAgICAgZGlzcGF0Y2hFdmVu
dChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jl
c3NFdmVudCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwogICAgICAgICBzdGFy
dFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29u
ZHMpOworICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBz
byBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMgdGhl
IGxlYXN0IGZyZXF1ZW50IGV2ZW50LgotICAgIG1fbGVuZ3RoQ29tcHV0YWJsZSA9IGxlbmd0aENv
bXB1dGFibGU7Ci0gICAgbV9sb2FkZWQgPSBsb2FkZWQ7Ci0gICAgbV90b3RhbCA9IHRvdGFsOwor
ICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRydWU7CiB9CiAKIHZvaWQgWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoUmVhZHlTdGF0ZUNoYW5nZUV2
ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQcm9ncmVzc0V2ZW50QWN0aW9uIHByb2dyZXNz
RXZlbnRBY3Rpb24pCkBAIC05NiwxMiArMTAwLDE3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQp
CiAgICAgICAgIG1fdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKIH0KIAotdm9pZCBYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQo
UGFzc1JlZlB0cjxFdmVudD4gZXZlbnQpCit2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlOjpkaXNwYXRjaFByb2dyZXNzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nICZ0eXBl
KQogewotICAgIEFTU0VSVChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQg
fHwgZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuYWJvcnRFdmVudCB8fCBldmVudC0+dHlw
ZSgpID09IGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50IHx8IGV2ZW50LT50eXBlKCkgPT0gZXZlbnRO
YW1lcygpLnRpbWVvdXRFdmVudCk7CisgICAgQVNTRVJUKHR5cGUgPT0gZXZlbnROYW1lcygpLmxv
YWRFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5sb2FkZW5kRXZlbnQgfHwgdHlwZSA9PSBl
dmVudE5hbWVzKCkubG9hZHN0YXJ0RXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuYWJvcnRF
dmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50IHx8IHR5cGUgPT0gZXZlbnRO
YW1lcygpLnRpbWVvdXRFdmVudCk7CiAKLSAgICBkaXNwYXRjaEV2ZW50KGV2ZW50KTsKLSAgICBk
aXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5sb2FkZW5kRXZlbnQpKTsKKyAgICBpZiAodHlwZSA9PSBldmVudE5hbWVzKCkubG9hZHN0
YXJ0RXZlbnQpIHsKKyAgICAgICAgbV9sZW5ndGhDb21wdXRhYmxlID0gZmFsc2U7CisgICAgICAg
IG1fbG9hZGVkID0gMDsKKyAgICAgICAgbV90b3RhbCA9IDA7CisgICAgfQorCisgICAgZGlzcGF0
Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZSh0eXBlLCBtX2xlbmd0
aENvbXB1dGFibGUsIG1fbG9hZGVkLCBtX3RvdGFsKSk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNoUHJvZ3Jlc3NFdmVudCgpCkBAIC0xMTUsMTAg
KzEyNCw4IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNo
UHJvZ3Jlc3NFdmVudCgpCiAKICAgICBpZiAoIWhhc0V2ZW50VG9EaXNwYXRjaCgpKQogICAgICAg
ICByZXR1cm47Ci0KICAgICBQYXNzUmVmUHRyPEV2ZW50PiBldmVudCA9IFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBtX2xlbmd0
aENvbXB1dGFibGUsIG1fbG9hZGVkLCBtX3RvdGFsKTsKLSAgICBtX2xvYWRlZCA9IDA7Ci0gICAg
bV90b3RhbCA9IDA7CisgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gZmFsc2U7CiAK
ICAgICAvLyBXZSBzdG9wIHRoZSB0aW1lciBhcyB0aGlzIGlzIGNhbGxlZCB3aGVuIG5vIG1vcmUg
ZXZlbnRzIGFyZSBzdXBwb3NlZCB0byBvY2N1ci4KICAgICBzdG9wKCk7CkBAIC0xNjAsMTMgKzE2
NywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpmaXJlZCgp
CiAgICAgfQogCiAgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwgbV9sZW5ndGhDb21wdXRhYmxlLCBt
X2xvYWRlZCwgbV90b3RhbCkpOwotICAgIG1fdG90YWwgPSAwOwotICAgIG1fbG9hZGVkID0gMDsK
KyAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKIH0KIAogYm9vbCBYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6aGFzRXZlbnRUb0Rpc3BhdGNoKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gKG1fdG90YWwgfHwgbV9sb2FkZWQpICYmIGlzQWN0aXZlKCk7Cisg
ICAgcmV0dXJuIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCAmJiBpc0FjdGl2ZSgpOwogfQog
CiB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpzdXNwZW5kKCkKQEAg
LTE4NywxNiArMTkzLDE0IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGU6OnN1c3BlbmQoKQogICAgIC8vIGp1c3QgZGVmZXIgaXQuCiAgICAgaWYgKGhhc0V2ZW50VG9E
aXNwYXRjaCgpKSB7CiAgICAgICAgIG1fZGVmZXJyZWRQcm9ncmVzc0V2ZW50ID0gWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQsIG1f
bGVuZ3RoQ29tcHV0YWJsZSwgbV9sb2FkZWQsIG1fdG90YWwpOwotICAgICAgICBtX3RvdGFsID0g
MDsKLSAgICAgICAgbV9sb2FkZWQgPSAwOworICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNz
RXZlbnQgPSBmYWxzZTsKICAgICB9CiAgICAgc3RvcCgpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpyZXN1bWUoKQogewotICAgIEFTU0VSVCghbV9sb2Fk
ZWQpOwotICAgIEFTU0VSVCghbV90b3RhbCk7CisgICAgQVNTRVJUKCFtX2hhc1Rocm90dGxlZFBy
b2dyZXNzRXZlbnQpOwogCiAgICAgaWYgKG1fZGVmZXJyZWRFdmVudHMuaXNFbXB0eSgpICYmICFt
X2RlZmVycmVkUHJvZ3Jlc3NFdmVudCkgewogICAgICAgICBtX2RlZmVyRXZlbnRzID0gZmFsc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5oCmluZGV4IGU0NGMxMjA2ZjlhNjllYzNlMWFmOTUwZmUyOWQ5YTUxNTMz
ZDVmNDMuLjMzNzU4YTk0YzBmYzVlNjNjNDhiYjgzOGQ2ZjcwNGM1OTg1MzRiMzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRl
ICJ3dGYvUGFzc1JlZlB0ci5oIgogI2luY2x1ZGUgInd0Zi9WZWN0b3IuaCIKKyNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ4LDEwICs0OSwxMCBA
QCBwdWJsaWM6CiAgICAgZXhwbGljaXQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGUoRXZlbnRUYXJnZXQqKTsKICAgICB2aXJ0dWFsIH5YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnRUaHJvdHRsZSgpOwogCi0gICAgdm9pZCBkaXNwYXRjaFByb2dyZXNzRXZlbnQoYm9vbCBsZW5n
dGhDb21wdXRhYmxlLCB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkLCB1bnNpZ25lZCBsb25nIGxv
bmcgdG90YWwpOworICAgIHZvaWQgZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KGJvb2wg
bGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQgbG9u
ZyBsb25nIHRvdGFsKTsKICAgICB2b2lkIGRpc3BhdGNoUmVhZHlTdGF0ZUNoYW5nZUV2ZW50KFBh
c3NSZWZQdHI8RXZlbnQ+LCBQcm9ncmVzc0V2ZW50QWN0aW9uID0gRG9Ob3RGbHVzaFByb2dyZXNz
RXZlbnQpOwogICAgIHZvaWQgZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50Pik7Ci0gICAg
dm9pZCBkaXNwYXRjaEV2ZW50QW5kTG9hZEVuZChQYXNzUmVmUHRyPEV2ZW50Pik7CisgICAgdm9p
ZCBkaXNwYXRjaFByb2dyZXNzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJik7CiAKICAgICB2b2lk
IHN1c3BlbmQoKTsKICAgICB2b2lkIHJlc3VtZSgpOwpAQCAtNjgsNiArNjksNyBAQCBwcml2YXRl
OgogICAgIC8vIFdlYWsgcG9pbnRlciB0byBvdXIgWE1MSHR0cFJlcXVlc3Qgb2JqZWN0IGFzIGl0
IGlzIHRoZSBvbmUgaG9sZGluZyB1cy4KICAgICBFdmVudFRhcmdldCogbV90YXJnZXQ7CiAKKyAg
ICBib29sIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudDsKICAgICBib29sIG1fbGVuZ3RoQ29t
cHV0YWJsZTsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbV9sb2FkZWQ7CiAgICAgdW5zaWduZWQg
bG9uZyBsb25nIG1fdG90YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3RVcGxvYWQuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBs
b2FkLmNwcAppbmRleCA3NDE1MzZlZDcxOWIzOGM5YzJiN2RhYTZjZThmZWI1Y2FlYTdjZDM0Li4y
NTQ3NjU2NzJiMDMwODQ5NGU2Nzg0OGMzN2Q4YjhkZmU0YTU3ODI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5jcHAKQEAgLTM2LDE3ICszNiwzMyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIFhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpYTUxIdHRwUmVxdWVzdFVw
bG9hZChYTUxIdHRwUmVxdWVzdCogeG1sSHR0cFJlcXVlc3QpCiAgICAgOiBtX3htbEh0dHBSZXF1
ZXN0KHhtbEh0dHBSZXF1ZXN0KQorICAgICwgbV9sZW5ndGhDb21wdXRhYmxlKGZhbHNlKQorICAg
ICwgbV9sb2FkZWQoMCkKKyAgICAsIG1fdG90YWwoMCkKIHsKIH0KIAotdm9pZCBYTUxIdHRwUmVx
dWVzdFVwbG9hZDo6ZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQoUGFzc1JlZlB0cjxFdmVudD4gZXZl
bnQpCit2b2lkIFhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNz
RXZlbnQoYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkLCB1
bnNpZ25lZCBsb25nIGxvbmcgdG90YWwpCiB7Ci0gICAgQVNTRVJUKGV2ZW50LT50eXBlKCkgPT0g
ZXZlbnROYW1lcygpLmxvYWRFdmVudCB8fCBldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5h
Ym9ydEV2ZW50IHx8IGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmVycm9yRXZlbnQgfHwg
ZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkudGltZW91dEV2ZW50KTsKKyAgICBtX2xlbmd0
aENvbXB1dGFibGUgPSBsZW5ndGhDb21wdXRhYmxlOworICAgIG1fbG9hZGVkID0gbG9hZGVkOwor
ICAgIG1fdG90YWwgPSB0b3RhbDsKIAotICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQpOwotICAgIGRp
c3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLmxvYWRlbmRFdmVudCkpOworICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQsIGxlbmd0aENvbXB1
dGFibGUsIGxvYWRlZCwgdG90YWwpKTsKIH0KIAordm9pZCBYTUxIdHRwUmVxdWVzdFVwbG9hZDo6
ZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyAmdHlwZSkKK3sKKyAgICBB
U1NFUlQodHlwZSA9PSBldmVudE5hbWVzKCkubG9hZEV2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1l
cygpLmxvYWRlbmRFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5sb2Fkc3RhcnRFdmVudCB8
fCB0eXBlID09IGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygp
LmVycm9yRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudGltZW91dEV2ZW50KTsKKworICAg
IGlmICh0eXBlID09IGV2ZW50TmFtZXMoKS5sb2Fkc3RhcnRFdmVudCkgeworICAgICAgICBtX2xl
bmd0aENvbXB1dGFibGUgPSBmYWxzZTsKKyAgICAgICAgbV9sb2FkZWQgPSAwOworICAgICAgICBt
X3RvdGFsID0gMDsKKyAgICB9CisKKyAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudDo6Y3JlYXRlKHR5cGUsIG1fbGVuZ3RoQ29tcHV0YWJsZSwgbV9sb2FkZWQsIG1f
dG90YWwpKTsKK30KIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5oCmluZGV4IDY2YzZmYTRhMDJmMDQxYmFkMzI0MGY4ZTlm
Y2FiNGQ0ODQ3YjQ5YzAuLjMzZDc2YTZkZTE0ODU4NjdjNmVkMzEwYTI2MGU1ZjIwY2QzNDgzMWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5oCkBAIC01NSwxMyAr
NTUsMTcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGxvYWRzdGFydCk7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIocHJvZ3Jlc3MpOwogCi0gICAgICAgIHZvaWQgZGlzcGF0Y2hFdmVudEFuZExvYWRF
bmQoUGFzc1JlZlB0cjxFdmVudD4pOworICAgICAgICB2b2lkIGRpc3BhdGNoVGhyb3R0bGVkUHJv
Z3Jlc3NFdmVudChib29sIGxlbmd0aENvbXB1dGFibGUsIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2Fk
ZWQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCk7CisgICAgICAgIHZvaWQgZGlzcGF0Y2hQcm9n
cmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyAmdHlwZSk7CiAKICAgICBwcml2YXRlOgogICAg
ICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSBGSU5BTCB7IHJlZigp
OyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgT1ZFUlJJREUgRklO
QUwgeyBkZXJlZigpOyB9CiAKICAgICAgICAgWE1MSHR0cFJlcXVlc3QqIG1feG1sSHR0cFJlcXVl
c3Q7CisgICAgICAgIGJvb2wgbV9sZW5ndGhDb21wdXRhYmxlOworICAgICAgICB1bnNpZ25lZCBs
b25nIGxvbmcgbV9sb2FkZWQ7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBtX3RvdGFsOwog
ICAgIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDQ2Mjc4NmNkNmVl
MTkwZWI3MWQzN2M4M2NjYzMxNzc5OTUxMDk3Zi4uZjQwM2Q3MzNiY2U0ZmYxNDNjNDA1YWE5MTcy
MDNlMzllZTc3ZjlmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE0LTAxLTA5ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAgQ29ycmVjdGx5IGZpbGwgbG9h
ZGVkIGFuZCB0b3RhbCBhdHRyaWJ1dGUgdmFsdWVzIG9mIFhIUiBQcm9ncmVzc0V2ZW50IGV2ZW50
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2Njgx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2FtZSB0
ZXN0cyBhcyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwODI4Cisg
ICAgICAgIGFzIGFzc2VydGlvbiBpc3N1ZSBhbmQgcHJvYmxlbSBpbiByZW9wZW5pbmcgYnVnIDEy
MDgyOAorCisgICAgICAgICogZmFzdC94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC1nZXQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvbG9hZHN0
YXJ0LWV2ZW50LWluaXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVudC1pbml0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25hYm9ydC1wcm9ncmVzc2V2ZW50LWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L29uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0
cmlidXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0
cHJlcXVlc3Qvb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmFib3J0LXByb2dyZXNz
ZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvdXBsb2FkLW9uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXBsb2Fk
LW9ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmxvYWQtcHJvZ3Jlc3Nl
dmVudC1hdHRyaWJ1dGVzLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAxLTA4ICBDb21taXQgUXVldWUg
IDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTYxNTMyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC94bWxodHRwcmVxdWVz
dC94bWxodHRwcmVxdWVzdC1nZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC94bWxo
dHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC1nZXQtZXhwZWN0ZWQudHh0CmluZGV4IDllNzY3MzYy
YTU1MzVkYWZiZWYxMTAzYTIyZDZlODk3OTQ4NjM4OWYuLjZiODc5Y2IyMjAzNTc5NTI4YjcwYTBi
N2U1ODlmNjU0MmU3ZTkzN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QveG1saHR0cHJl
cXVlc3QveG1saHR0cHJlcXVlc3QtZ2V0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3htbGh0dHByZXF1ZXN0L3htbGh0dHByZXF1ZXN0LWdldC1leHBlY3RlZC50eHQKQEAgLTUz
LDkgKzUzLDkgQEAgZXZlbnRQaGFzZSA6ICcyJwogaW5pdEV2ZW50IDogJ2Z1bmN0aW9uIGluaXRF
dmVudCgpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9JwotbGVuZ3RoQ29tcHV0YWJsZSA6ICdmYWxz
ZScKLWxvYWRlZCA6ICcwJwotcG9zaXRpb24gOiAnMCcKK2xlbmd0aENvbXB1dGFibGUgOiAndHJ1
ZScKK2xvYWRlZCA6ICcxNzQnCitwb3NpdGlvbiA6ICcxNzQnCiBwcmV2ZW50RGVmYXVsdCA6ICdm
dW5jdGlvbiBwcmV2ZW50RGVmYXVsdCgpIHsKICAgICBbbmF0aXZlIGNvZGVdCiB9JwpAQCAtNjgs
NyArNjgsNyBAQCBzdG9wUHJvcGFnYXRpb24gOiAnZnVuY3Rpb24gc3RvcFByb3BhZ2F0aW9uKCkg
ewogICAgIFtuYXRpdmUgY29kZV0KIH0nCiB0YXJnZXQgOiAnW29iamVjdCBYTUxIdHRwUmVxdWVz
dF0nCi10b3RhbCA6ICcwJwotdG90YWxTaXplIDogJzAnCit0b3RhbCA6ICcxNzQnCit0b3RhbFNp
emUgOiAnMTc0JwogdHlwZSA6ICdsb2FkJwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVudC1pbml0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvbG9hZHN0YXJ0LWV2ZW50LWlu
aXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmOGYyZTBkMjgwOWIzYzA5MmRjNTdmNGU2YmMy
ZjY2NmMxZWM3MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVudC1pbml0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBYTUxIdHRwUmVxdWVzdDogZW5zdXJlIGxvYWRzdGFydCBldmVudCBwcm9n
cmVzcyBtZW1iZXJzIGFyZSBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvbG9hZHN0YXJ0LWV2ZW50LWluaXQu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvbG9hZHN0YXJ0LWV2
ZW50LWluaXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZjM4MWUzYzBhZjY2YTQ5M2NkNTcwMzQ1MDk4YTk2
MzNjYmIyOTBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9sb2Fkc3RhcnQtZXZlbnQtaW5pdC5odG1sCkBAIC0wLDAgKzEsNDQgQEAKK++7
vzwhRE9DVFlQRSBodG1sPg0KKzxodG1sPg0KKzxoZWFkPg0KKyAgICA8dGl0bGU+WE1MSHR0cFJl
cXVlc3Q6IGVuc3VyZSBsb2Fkc3RhcnQgZXZlbnQgcHJvZ3Jlc3MgbWVtYmVycyBhcmUgY29ycmVj
dGx5IGluaXRpYWxpemVkPC90aXRsZT4NCisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+DQorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pg0KKzwvaGVhZD4NCisN
Cis8Ym9keT4NCisgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4NCisNCisgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPg0KKyAgICAgICAgdmFyIHRlc3QgPSBhc3luY190ZXN0KCkNCisg
ICAgICAgIHRlc3Quc3RlcChmdW5jdGlvbigpIHsNCisgICAgICAgICAgICB2YXIgY291bnQgPSAw
Ow0KKyAgICAgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsNCisNCisgICAg
ICAgICAgICB4aHIub25sb2Fkc3RhcnQgPSB0ZXN0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKQ0KKyAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmxvYWRlZCwgMCwg
ImxvYWRlZCBtZW1iZXIgb2YgeGhyLmxvYWRzdGFydCBldmVudCBzaG91bGQgYmUgMCIpDQorICAg
ICAgICAgICAgICAgIGlmIChjb3VudCA9PSAxKSB7DQorICAgICAgICAgICAgICAgICAgICB0ZXN0
LmRvbmUoKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0pDQorDQorICAgICAg
ICAgICAgeGhyLnVwbG9hZC5vbmxvYWRzdGFydCA9IHRlc3Quc3RlcF9mdW5jKGZ1bmN0aW9uKGUp
DQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUubG9hZGVk
LCAwLCAibG9hZGVkIG1lbWJlciBvZiB4aHIudXBsb2FkLmxvYWRzdGFydCBldmVudCBzaG91bGQg
YmUgMCIpOw0KKyAgICAgICAgICAgIH0pDQorDQorICAgICAgICAgICAgeGhyLm9ubG9hZGVuZCA9
IGZ1bmN0aW9uKGUpDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBpZiAoY291bnQr
KyA8IDEpIHsNCisgICAgICAgICAgICAgICAgICAgIHhoci5vcGVuKCJQT1NUIiwgIi4vcmVzb3Vy
Y2VzL2NvbnRlbnQucGhwIiwgdHJ1ZSk7DQorICAgICAgICAgICAgICAgICAgICB4aHIuc2VuZCgi
dGVzdCIpOw0KKyAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICANCisgICAgICAg
ICAgICB9DQorDQorICAgICAgICAgICAgeGhyLm9wZW4oIlBPU1QiLCAiLi9yZXNvdXJjZXMvY29u
dGVudC5waHAiLCB0cnVlKTsNCisgICAgICAgICAgICB4aHIuc2VuZCgidGVzdCIpOw0KKyAgICAg
ICAgfSk7DQorICAgIDwvc2NyaXB0Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmFib3J0LXByb2dyZXNzZXZl
bnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L29uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iMTdiZjg1NTQwMDVmODk3MWE1MmE0YTg2ODQxMGI3YmExMmI0MmI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmFi
b3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBA
CitUZXN0IGNhc2UgZm9yIGJ1ZyAxMjA4Mjg6IENvcnJlY3RseSBzZXQgWEhSIGxvYWRlbmQgYXR0
cmlidXRlcyAobG9hZGVkIGFuZCB0b3RhbCkuCisKK1ZlcmlmeSB0aGF0IGFib3J0IGFuZCBsb2Fk
ZW5kIGV2ZW50cyBoYXZlIHRoZWlyIFByb2dyZXNzRXZlbnQgYXR0cmlidXRlcyAobG9hZGVkLCB0
b3RhbCBhbmQgbGVuZ3RoQ29tcHV0YWJsZSkgY29ycmVjdGx5IHNldC4KKworUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29uYWJvcnQtcHJv
Z3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L29uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODA2OTM2ZjRmMDIxNDU4ZDg3ZDMxYjkwYTlhMGMxZjM5MjYxZDlhZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25hYm9ydC1wcm9n
cmVzc2V2ZW50LWF0dHJpYnV0ZXMuaHRtbApAQCAtMCwwICsxLDc3IEBACis8aHRtbD4KKzxoZWFk
PgorPHRpdGxlPlRlc3QgY2FzZSBmb3IgYnVnIDEyMDgyOCAoYWJvcnQgY2FzZSk8L3RpdGxlPgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0IGNhc2UgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA4MjgiPiBidWcgMTIwODI4PC9hPjogQ29ycmVj
dGx5IHNldCBYSFIgbG9hZGVuZCBhdHRyaWJ1dGVzIChsb2FkZWQgYW5kIHRvdGFsKS48L3A+Cis8
cD5WZXJpZnkgdGhhdCBhYm9ydCBhbmQgbG9hZGVuZCBldmVudHMgaGF2ZSB0aGVpciBQcm9ncmVz
c0V2ZW50IGF0dHJpYnV0ZXMgKGxvYWRlZCwgdG90YWwgYW5kIGxlbmd0aENvbXB1dGFibGUpIGNv
cnJlY3RseSBzZXQuPC9wPgorPHAgaWQ9Y29uc29sZT48L3A+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwordmFyIHN0
YXR1cyA9ICJQQVNTIjsKK3ZhciB0b3RhbCA9IDA7Cit2YXIgbG9hZGVkID0gMDsKKworZnVuY3Rp
b24gb25Qcm9ncmVzc0V2ZW50KGUpCit7CisgICAgaWYgKHRvdGFsICE9IGUudG90YWwgfHwgbG9h
ZGVkICE9IGUubG9hZGVkKQorICAgICAgICBmYWlsKCJFdmVudCAiICsgZS50eXBlICsgInRvdGFs
L2xvYWRlZCB2YWx1ZXMgbm90IG1hdGNoaW5nOiAiIAorICAgICAgICAgICAgKyAiKCIgKyBlLmxv
YWRlZCArICIgLyAiICsgZS50b3RhbCArICIpLCBleHBlY3RlZCAoIiArIGxvYWRlZCArICIgLyAi
ICsgdG90YWwgKyAiKSIpOworfQorCitmdW5jdGlvbiBvblVuZXhwZWN0ZWRQcm9ncmVzc0V2ZW50
KGUpCit7CisgICAgZmFpbCgidW5leHBlY3RlZCBQcm9ncmVzc0V2ZW50OiAiICsgZS50eXBlKTsK
K30KKworZnVuY3Rpb24gZmFpbChtc2cpCit7CisgICAgc3RhdHVzID0gIkZBSUxFRDogIiArIG1z
ZzsKKyAgICBjb21wbGV0ZVRlc3QoKTsKKyAgICBzdGF0dXMgPSAiIjsKK30KKworZnVuY3Rpb24g
Y29tcGxldGVUZXN0KCkKK3sKKyAgICBsb2coc3RhdHVzKTsKKyAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiB0
ZXN0KCkgCit7CisgICAgdmFyIGl0ZXJhdGlvbiA9IDI7CisgICAgdmFyIGRlbGF5ID0gIjEwMDAi
OworCisgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcS5vbnByb2dy
ZXNzID0gZnVuY3Rpb24oZSl7CisgICAgICAgIHRvdGFsID0gZS50b3RhbDsKKyAgICAgICAgbG9h
ZGVkID0gZS5sb2FkZWQ7CisgICAgICAgIHJlcS5hYm9ydCgpOworICAgIH07CisgICAgcmVxLm9u
ZXJyb3IgPSBvblVuZXhwZWN0ZWRQcm9ncmVzc0V2ZW50OworICAgIHJlcS5vbmFib3J0ID0gb25Q
cm9ncmVzc0V2ZW50OworICAgIHJlcS5vbmxvYWRlbmQgPSBmdW5jdGlvbihlKSB7CisgICAgICAg
IG9uUHJvZ3Jlc3NFdmVudChlKTsKKyAgICAgICAgY29tcGxldGVUZXN0KCk7CisgICAgfQorICAg
IHJlcS5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2Rvd25sb2FkLXdpdGgtZGVsYXkucGhwP2l0ZXJh
dGlvbj0iICsgaXRlcmF0aW9uICsgIiZkZWxheT0iICsgZGVsYXksIHRydWUpOworICAgIHJlcS5z
ZW5kKG51bGwpOworCit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIHZhciBjb25z
b2xlRWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICBjb25zb2xl
RWx0LmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxici8+IjsKK30KKwordGVzdCgpOyAKKworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L29ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmxvYWQtcHJv
Z3Jlc3NldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZThkZDIxZDhh
NjM0MjE2NzdkZTFlNzk2MDI3NmU1M2E4ZDc0ZmUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmxvYWQtcHJvZ3Jlc3NldmVudC1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1Rlc3QgY2FzZSBmb3IgYnVnIDEy
MDgyODogQ29ycmVjdGx5IHNldCBYSFIgbG9hZGVuZCBhdHRyaWJ1dGVzIChsb2FkZWQgYW5kIHRv
dGFsKS4KKworVmVyaWZ5IHRoYXQgbG9hZCBhbmQgbG9hZGVuZCBldmVudHMgaGF2ZSB0aGVpciBQ
cm9ncmVzc0V2ZW50IGF0dHJpYnV0ZXMgKGxvYWRlZCwgdG90YWwgYW5kIGxlbmd0aENvbXB1dGFi
bGUpIGNvcnJlY3RseSBzZXQuCisKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmxvYWQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29ubG9hZC1wcm9ncmVz
c2V2ZW50LWF0dHJpYnV0ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzBmODc0ODZhZjA5NWQyMjBjZjUw
ZDA2ZTA5MjY2MjgxMTc0M2M1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9vbmxvYWQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWwK
QEAgLTAsMCArMSw3OCBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UZXN0IGNhc2UgZm9yIGJ1
ZyAxMjA4Mjg8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cD4gVGVzdCBjYXNlIGZvciA8YSBo
cmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwODI4Ij4gYnVn
IDEyMDgyODwvYT46IENvcnJlY3RseSBzZXQgWEhSIGxvYWRlbmQgYXR0cmlidXRlcyAobG9hZGVk
IGFuZCB0b3RhbCkuPC9wPgorPHA+IFZlcmlmeSB0aGF0IGxvYWQgYW5kIGxvYWRlbmQgZXZlbnRz
IGhhdmUgdGhlaXIgUHJvZ3Jlc3NFdmVudCBhdHRyaWJ1dGVzIChsb2FkZWQsIHRvdGFsIGFuZCBs
ZW5ndGhDb21wdXRhYmxlKSBjb3JyZWN0bHkgc2V0LjwvcD4KKzxwIGlkPWNvbnNvbGU+PC9wPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7Cit9CisKK3ZhciBzdGF0dXMgPSAiUEFTUyI7Cit2YXIgdG90YWwgPSAwOwordmFyIGxv
YWRlZCA9IDA7CisKK2Z1bmN0aW9uIG9uUHJvZ3Jlc3NFdmVudChlKQoreworICAgIGlmICh0b3Rh
bCAhPSBlLnRvdGFsIHx8IGxvYWRlZCAhPSBlLmxvYWRlZCkKKyAgICAgICAgZmFpbCgiRXZlbnQg
IiArIGUudHlwZSArICIgdG90YWwvbG9hZGVkIHZhbHVlcyBub3QgbWF0Y2hpbmc6ICIgCisgICAg
ICAgICAgICArICIoIiArIGUubG9hZGVkICsgIiAvICIgKyBlLnRvdGFsICsgIiksIGV4cGVjdGVk
ICgiICsgbG9hZGVkICsgIiAvICIgKyB0b3RhbCArICIpIik7Cit9CisKK2Z1bmN0aW9uIG9uVW5l
eHBlY3RlZFByb2dyZXNzRXZlbnQoZSkKK3sKKyAgICBmYWlsKCJ1bmV4cGVjdGVkIFByb2dyZXNz
RXZlbnQ6ICIgKyBlLnR5cGUpOworfQorCitmdW5jdGlvbiBmYWlsKG1zZykKK3sKKyAgICBzdGF0
dXMgPSAiRkFJTEVEOiAiICsgbXNnOworICAgIGNvbXBsZXRlVGVzdCgpOworICAgIHN0YXR1cyA9
ICIiOworfQorCitmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKQoreworICAgIGxvZyhzdGF0dXMpOwor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSAKK3sKKyAgICB2YXIgcmVxID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0KCk7CisgICAgcmVxLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKGUpIHsKKyAg
ICAgICAgaWYgKHJlcS5yZWFkeVN0YXRlID09IHJlcS5ET05FKSB7CisgICAgICAgICAgICBpZiAo
dGhpcy5zdGF0dXMgPT0gMjAwKQorICAgICAgICAgICAgICAgIHRvdGFsID0gbG9hZGVkID0gcmVx
LnJlc3BvbnNlVGV4dC5sZW5ndGg7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ZmFpbCgidW5leHBlY3RlZCBzdGF0dXM6ICIgKyBzdGF0dXMpOworICAgICAgICB9CisgICAgfQor
ICAgIHJlcS5vbmFib3J0ID0gb25VbmV4cGVjdGVkUHJvZ3Jlc3NFdmVudDsKKyAgICByZXEub25l
cnJvciA9IG9uVW5leHBlY3RlZFByb2dyZXNzRXZlbnQ7CisgICAgcmVxLm9ubG9hZCA9IG9uUHJv
Z3Jlc3NFdmVudDsKKyAgICByZXEub25sb2FkZW5kID0gZnVuY3Rpb24oZSkgeworICAgICAgICBv
blByb2dyZXNzRXZlbnQoZSk7CisgICAgICAgIGNvbXBsZXRlVGVzdCgpOworICAgIH0KKworICAg
IHJlcS5vcGVuKCJHRVQiLCAicmVzb3VyY2VzL2dldC50eHQiLCB0cnVlKTsgCisgICAgcmVxLnNl
bmQoKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgdmFyIGNvbnNvbGVFbHQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICAgIGNvbnNvbGVFbHQuaW5u
ZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyLz4iOworfQorCit0ZXN0KCk7IAorCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvdXBsb2FkLW9uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXBsb2FkLW9u
YWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
NDllNzU4ZGRjYzlmZDhlYjk3MTZiOTZiODZjNDg1MmFlOGQ0Y2JiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25hYm9ydC1w
cm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGVz
dCBjYXNlIGZvciBidWcgMTIwODI4OiBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5kIGF0dHJpYnV0
ZXMgKGxvYWRlZCBhbmQgdG90YWwpLgorCitVcGxvYWQgY2FzZTogdmVyaWZ5IHRoYXQgYWJvcnQg
YW5kIGxvYWRlbmQgZXZlbnRzIGhhdmUgdGhlaXIgUHJvZ3Jlc3NFdmVudCBhdHRyaWJ1dGVzIChs
b2FkZWQsIHRvdGFsIGFuZCBsZW5ndGhDb21wdXRhYmxlKSBjb3JyZWN0bHkgc2V0LgorCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXBs
b2FkLW9uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0
cmlidXRlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmODExNzAyODQ1NmNkMWVlMzE4YjUwNjRkYzQwZTFh
NGJiYThjYTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3VwbG9hZC1vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sCkBA
IC0wLDAgKzEsNzggQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVzdCBjYXNlIGZvciBidWcg
MTIwODI4IChhYm9ydCBjYXNlKTwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3QgY2Fz
ZSBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
MDgyOCI+IGJ1ZyAxMjA4Mjg8L2E+OiBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5kIGF0dHJpYnV0
ZXMgKGxvYWRlZCBhbmQgdG90YWwpLjwvcD4KKzxwPlVwbG9hZCBjYXNlOiB2ZXJpZnkgdGhhdCBh
Ym9ydCBhbmQgbG9hZGVuZCBldmVudHMgaGF2ZSB0aGVpciBQcm9ncmVzc0V2ZW50IGF0dHJpYnV0
ZXMgKGxvYWRlZCwgdG90YWwgYW5kIGxlbmd0aENvbXB1dGFibGUpIGNvcnJlY3RseSBzZXQuPC9w
PgorPHAgaWQ9Y29uc29sZT48L3A+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKwordmFyIHN0YXR1cyA9ICJQQVNTIjsK
K3ZhciB0b3RhbCA9IDE7Cit2YXIgbG9hZGVkID0gMTsKK3ZhciB1cGxvYWRlZERhdGEgPSAiZCI7
CisKK2Z1bmN0aW9uIG9uUHJvZ3Jlc3NFdmVudChlKQoreworICAgIGlmICghZS5sZW5ndGhDb21w
dXRhYmxlKQorICAgICAgICBmYWlsKCJFdmVudCAiICsgZS50eXBlICsgIiBsZW5ndGhDb21wdXRh
YmxlIGlzIGZhbHNlIik7CisgICAgaWYgKGUudG90YWwgIT0gdG90YWwgfHwgZS5sb2FkZWQgIT0g
bG9hZGVkKQorICAgICAgICBmYWlsKCJFdmVudCAiICsgZS50eXBlICsgIiB0b3RhbC9sb2FkZWQg
dmFsdWVzIG5vdCBtYXRjaGluZzogIiAKKyAgICAgICAgICAgICsgIigiICsgZS5sb2FkZWQgKyAi
IC8gIiArIGUudG90YWwgKyAiKSwgZXhwZWN0ZWQgKCIgKyBsb2FkZWQgKyAiIC8gIiArIHRvdGFs
ICsgIikiKTsKK30KKworZnVuY3Rpb24gb25VbmV4cGVjdGVkUHJvZ3Jlc3NFdmVudChlKQorewor
ICAgIGZhaWwoInVuZXhwZWN0ZWQgUHJvZ3Jlc3NFdmVudDogIiArIGUudHlwZSk7Cit9CisKK2Z1
bmN0aW9uIGZhaWwobXNnKQoreworICAgIHN0YXR1cyA9ICJGQUlMRUQ6ICIgKyBtc2c7CisgICAg
Y29tcGxldGVUZXN0KCk7CisgICAgc3RhdHVzID0gIiI7Cit9CisKK2Z1bmN0aW9uIGNvbXBsZXRl
VGVzdCgpCit7CisgICAgbG9nKHN0YXR1cyk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcS51cGxvYWQub25l
cnJvciA9IG9uVW5leHBlY3RlZFByb2dyZXNzRXZlbnQ7CisgICAgcmVxLnVwbG9hZC5vbmxvYWQg
PSBvblVuZXhwZWN0ZWRQcm9ncmVzc0V2ZW50OworICAgIHJlcS51cGxvYWQub25hYm9ydCA9IG9u
UHJvZ3Jlc3NFdmVudDsKKyAgICByZXEudXBsb2FkLm9ucHJvZ3Jlc3MgPSBmdW5jdGlvbihlKSB7
CisgICAgICAgIG9uUHJvZ3Jlc3NFdmVudChlKTsKKyAgICAgICAgcmVxLmFib3J0KCk7CisgICAg
fQorICAgIHJlcS51cGxvYWQub25sb2FkZW5kID0gZnVuY3Rpb24oZSkgeworICAgICAgICBvblBy
b2dyZXNzRXZlbnQoZSk7CisgICAgICAgIGNvbXBsZXRlVGVzdCgpOworICAgIH0KKworICAgIHJl
cS5vcGVuKCJQT1NUIiwgInJlc291cmNlcy9wb3N0LWVjaG8uY2dpIiwgdHJ1ZSk7CisgICAgcmVx
LnNlbmQodXBsb2FkZWREYXRhKTsKK30KKworCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAg
ICB2YXIgY29uc29sZUVsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7Cisg
ICAgY29uc29sZUVsdC5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnIvPiI7Cit9CisKK3Rlc3Qo
KTsgCisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25sb2FkLXByb2dyZXNzZXZlbnQt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3VwbG9hZC1vbmxvYWQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wZjZjOGJjNTEzNmFlYWQ4MjMxZGZiZjk5YzhiYWE3NWJjMjg5NmE3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91
cGxvYWQtb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2IEBACitUZXN0IGNhc2UgZm9yIGJ1ZyAxMjA4Mjg6IENvcnJlY3RseSBzZXQgWEhSIGxv
YWRlbmQgYXR0cmlidXRlcyAobG9hZGVkIGFuZCB0b3RhbCkuCisKK1VwbG9hZCBjYXNlOiB2ZXJp
ZnkgdGhhdCBsb2FkIGFuZCBsb2FkZW5kIGV2ZW50cyBoYXZlIHRoZWlyIFByb2dyZXNzRXZlbnQg
YXR0cmlidXRlcyAobG9hZGVkLCB0b3RhbCBhbmQgbGVuZ3RoQ29tcHV0YWJsZSkgY29ycmVjdGx5
IHNldC4KKworUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3VwbG9hZC1vbmxvYWQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmxvYWQtcHJvZ3Jl
c3NldmVudC1hdHRyaWJ1dGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQzMWIwY2E3MGVmODliM2E2YzQ1
MTQ5ZWQ1MmU0Mjc1NjExODk5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvdXBsb2FkLW9ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0
ZXMuaHRtbApAQCAtMCwwICsxLDc0IEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRlc3QgY2Fz
ZSBmb3IgYnVnIDEyMDgyODwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPiBUZXN0IGNhc2Ug
Zm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA4
MjgiPiBidWcgMTIwODI4PC9hPjogQ29ycmVjdGx5IHNldCBYSFIgbG9hZGVuZCBhdHRyaWJ1dGVz
IChsb2FkZWQgYW5kIHRvdGFsKS48L3A+Cis8cD4gVXBsb2FkIGNhc2U6IHZlcmlmeSB0aGF0IGxv
YWQgYW5kIGxvYWRlbmQgZXZlbnRzIGhhdmUgdGhlaXIgUHJvZ3Jlc3NFdmVudCBhdHRyaWJ1dGVz
IChsb2FkZWQsIHRvdGFsIGFuZCBsZW5ndGhDb21wdXRhYmxlKSBjb3JyZWN0bHkgc2V0LjwvcD4K
KzxwIGlkPWNvbnNvbGU+PC9wPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKK3ZhciBzdGF0dXMgPSAiUEFTUyI7Cit2
YXIgdG90YWwgPSAxOwordmFyIGxvYWRlZCA9IDE7Cit2YXIgdXBsb2FkZWREYXRhID0gImQiOwor
CitmdW5jdGlvbiBvblByb2dyZXNzRXZlbnQoZSkKK3sKKyAgICBpZiAoIWUubGVuZ3RoQ29tcHV0
YWJsZSkKKyAgICAgICAgZmFpbCgiRXZlbnQgIiArIGUudHlwZSArICJldmVudCBsZW5ndGhDb21w
dXRhYmxlID0gZmFsc2UiKTsKKyAgICBpZiAoZS50b3RhbCAhPSB0b3RhbCB8fCBlLmxvYWRlZCAh
PSBsb2FkZWQpCisgICAgICAgIGZhaWwoIkV2ZW50ICIgKyBlLnR5cGUgKyAidG90YWwvbG9hZGVk
IHZhbHVlcyBub3QgbWF0Y2hpbmc6ICIKKyAgICAgICAgICAgICsgIigiICsgZS5sb2FkZWQgKyAi
IC8gIiArIGUudG90YWwgKyAiKSwgZXhwZWN0ZWQgKCIgKyBsb2FkZWQgKyAiIC8gIiArIHRvdGFs
ICsgIikiKTsKK30KKworZnVuY3Rpb24gb25VbmV4cGVjdGVkUHJvZ3Jlc3NFdmVudChlKQorewor
ICAgIGZhaWwoInVuZXhwZWN0ZWQgUHJvZ3Jlc3NFdmVudDogIiArIGUudHlwZSk7Cit9CisKK2Z1
bmN0aW9uIGZhaWwobXNnKQoreworICAgIHN0YXR1cyA9ICJGQUlMRUQ6ICIgKyBtc2c7CisgICAg
Y29tcGxldGVUZXN0KCk7CisgICAgc3RhdHVzID0gIiI7Cit9CisKK2Z1bmN0aW9uIGNvbXBsZXRl
VGVzdCgpCit7CisgICAgbG9nKHN0YXR1cyk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcS51cGxvYWQub25h
Ym9ydCA9IG9uVW5leHBlY3RlZFByb2dyZXNzRXZlbnQ7CisgICAgcmVxLnVwbG9hZC5vbmVycm9y
ID0gb25VbmV4cGVjdGVkUHJvZ3Jlc3NFdmVudDsKKyAgICByZXEudXBsb2FkLm9ucHJvZ3Jlc3Mg
PSBvblByb2dyZXNzRXZlbnQ7CisgICAgcmVxLnVwbG9hZC5vbmxvYWQgPSBvblByb2dyZXNzRXZl
bnQ7CisgICAgcmVxLnVwbG9hZC5vbmxvYWRlbmQgPSBmdW5jdGlvbihlKSB7CisgICAgICAgIG9u
UHJvZ3Jlc3NFdmVudChlKTsKKyAgICAgICAgY29tcGxldGVUZXN0KCk7CisgICAgfQorCisgICAg
cmVxLm9wZW4oIlBPU1QiLCAicmVzb3VyY2VzL3Bvc3QtZWNoby5jZ2kiLCB0cnVlKTsKKyAgICBy
ZXEuc2VuZCh1cGxvYWRlZERhdGEpOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAg
ICB2YXIgY29uc29sZUVsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7Cisg
ICAgY29uc29sZUVsdC5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnIvPiI7Cit9CisKK3Rlc3Qo
KTsgCisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220815</attachid>
            <date>2014-01-10 00:30:11 -0800</date>
            <delta_ts>2014-01-10 13:18:16 -0800</delta_ts>
            <desc>Updated change logs</desc>
            <filename>bug-126681-20140110092955.patch</filename>
            <type>text/plain</type>
            <size>38106</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGY3NDBmZjIyYzE2OWFm
YWMyNWFjYWU2OGMzYjU2OGRjNjI4NWMwMS4uOWZhZDBjOWJhYjU1NDJiNzBlZWEyMmJlYzdlMTE2
ODcxZTE1NDk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE0LTAxLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKworICAgICAgICBDb3JyZWN0bHkgc2V0
IFhIUiBsb2FkZW5kIGF0dHJpYnV0ZXMgKGxvYWRlZCBhbmQgdG90YWwpLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwODI4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKyAgICAgICAgCisgICAgICAgIEFkZGVkIGNv
cnJlY3QgaW5pdGlhbGl6YXRpb24gb2YgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkIGFuZCB0b3Rh
bCBhdHRyaWJ1dGVzIAorICAgICAgICB0byBYSFIgUHJvZ3Jlc3NFdmVudCBldmVudHMgKGxvYWQs
IGxvYWRzdGFydCwgbG9hZGVuZCwgYWJvcnQsIGVycm9yIGFuZCB0aW1lb3V0KS4KKworICAgICAg
ICBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZSBhbmQgWE1MSHR0cFJlcXVlc3RV
cGxvYWQgbm93IGtlZXAgcGVyc2lzdGVudCBrbm93bGVkZ2UgCisgICAgICAgIG9mIG1fbG9hZGVk
IGFuZCBtX3RvdGFsIHZhbHVlcyB3aXRoIHRoaXMgcGF0Y2guCisgICAgICAgIAorICAgICAgICBD
b2RlIHJlZmFjdG9yaW5nIHRvIGhhbmRsZSBldmVudCBkaXNwYXRjaGluZyBpbiBjYXNlIG9mIGVy
cm9yIGluIGEgc2luZ2xlIG1hbm5lci4KKyAgICAgICAgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGU6OmRpc3BhdGNoUHJvZ3Jlc3NFdmVudCBpcyByZW5hbWVkIGFzIGRpc3BhdGNo
VGhyb3R0bGVkUHJvZ3Jlc3NFdmVudAorICAgICAgICBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnRUaHJvdHRsZTo6ZGlzcGF0Y2hFdmVudEFuZExvYWRlbmQgaXMgcmVwbGFjZWQgYnkgZGlzcGF0
Y2hQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYpCisgICAgICAgIAorICAgICAgICBG
aXhlZCBhc3NlcnRpb24gaXNzdWVzIG92ZXIgYnVnIDEyMDgyOCBwYXRjaAorCisgICAgICAgIFRl
c3RzOiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVudC1pbml0Lmh0bWwK
KyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25hYm9ydC1wcm9ncmVz
c2V2ZW50LWF0dHJpYnV0ZXMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9vbmxvYWQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXBsb2FkLW9uYWJvcnQtcHJvZ3Jlc3NldmVu
dC1hdHRyaWJ1dGVzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvdXBsb2FkLW9ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMuaHRtbAorCisgICAgICAg
ICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1
ZXN0OjpjYWxsUmVhZHlTdGF0ZUNoYW5nZUxpc3RlbmVyKTogY2hhbmdlZCByZWFkeXN0YXRlY2hh
bmdlIGV2ZW50IGZyb20gUHJvZ3Jlc3NFdmVudCB0byBFdmVudCAobm90IGNhbmNlbGxhYmxlLCBu
b3QgYnViYmxhYmxlKSB0byBiZXR0ZXIgbWF0Y2ggdGhlIHNwZWMgCisgICAgICAgIChXZWJDb3Jl
OjpYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxI
dHRwUmVxdWVzdDo6YWJvcnQpOiBjb2RlIHJlZmFjdG9yaW5nIHRvIGhhbmRsZSBlcnJvciBldmVu
dCBkaXNwYXRjaGluZyBpbiBhIHNpbmdsZSB3YXkKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBS
ZXF1ZXN0OjpuZXR3b3JrRXJyb3IpOiBjb2RlIHJlZmFjdG9yaW5nIHRvIGhhbmRsZSBlcnJvciBl
dmVudCBkaXNwYXRjaGluZyBpbiBhIHNpbmdsZSB3YXkKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0
dHBSZXF1ZXN0OjphYm9ydEVycm9yKTogY29kZSByZWZhY3RvcmluZyB0byBoYW5kbGUgZXJyb3Ig
ZXZlbnQgZGlzcGF0Y2hpbmcgaW4gYSBzaW5nbGUgd2F5CisgICAgICAgIChXZWJDb3JlOjpYTUxI
dHRwUmVxdWVzdDo6ZGlkU2VuZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVl
c3Q6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0Ojpk
aXNwYXRjaEVycm9yRXZlbnRzKTogZGlzcGF0Y2ggcHJvZ3Jlc3MgZXZlbnRzIGluIGNhc2Ugb2Yg
ZXJyb3IKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpkaWRUaW1lb3V0KTogY29k
ZSByZWZhY3RvcmluZyB0byBoYW5kbGUgZXJyb3IgZXZlbnQgZGlzcGF0Y2hpbmcgaW4gYSBzaW5n
bGUgd2F5CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcDogYmVmb3JlIHRoZSBwYXRjaCwg
dGhlIGZhY3QgdGhhdCBhIHByb2dyZXNzIGV2ZW50IGlzIGJlaW5nIHRocm90dGxlZCBpcyBzdG9y
ZWQgaW5kaXJlY3RseSAobV9sb2FkZWQgb3IgbV90b3RhbCBub3QgZXF1YWwgdG8gemVybykuIFdp
dGggdGhlIHBhdGNoLCB0aGlzIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiBtX2hhc1Rocm90dGxl
ZFByb2dyZXNzRXZlbnQuIFRoZSBtX2xvYWRlZCBhbmQgbV90b3RhbCB2YWx1ZXMgYXJlIG5vIGxv
bmdlciBzZXQgYmFjayB0byB6ZXJvIGFmdGVyIGEgcHJvZ3Jlc3MgZXZlbnQgaXMgZGlzcGF0Y2hl
ZC4gVGhpcyBhbGxvd3MgdXNpbmcgdGhlc2UgdmFsdWVzIHRvIGNvcnJlY3RseSBpbml0aWFsaXpl
IG90aGVyIFByb2dyZXNzRXZlbnQgZXZlbnRzIChpbiBwYXJ0aWN1bGFyIGxvYWRlbmQsIGFib3J0
LCB0aW1lb3V0Li4uKSAKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0
Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KTogYWx3YXlzIHVwZGF0ZSB0aGUgbmV3IG1fbG9hZGVk
IGFuZCBtX3RvdGFsIHZhbHVlcy4gSWYgcHJvZ3Jlc3MgZXZlbnQgaXMgbm90IHNlbnQgYXMgcGFy
dCBvZiB0aGUgZnVuY3Rpb24gY2FsbCwgc3RvcmUgdGhlIGZhY3QgdGhhdCBhIHByb2dyZXNzIGV2
ZW50IGlzIGJlaW5nIHRocm90dGxlZCB0aHJvdWdoIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVu
dC4gCisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZTo6ZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KTogdXNlZCB0byBzZW5kIGFueSBQcm9ncmVzc0V2ZW50
IGV2ZW50IHRoYXQgaXMgbm90IGJlIHRocm90dGxlZAorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZsdXNoUHJvZ3Jlc3NFdmVudCk6IGFmdGVy
IHRoZSBjYWxsLCBubyBwcm9ncmVzcyBldmVudCBpcyB0aHJvdHRsZWQgYW55bW9yZQorICAgICAg
ICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZpcmVkKTog
YWZ0ZXIgdGhlIGNhbGwsIG5vIHByb2dyZXNzIGV2ZW50IGlzIHRocm90dGxlZCBhbnltb3JlCisg
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6aGFz
RXZlbnRUb0Rpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlOjpzdXNwZW5kKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50VGhyb3R0bGUuaDogaW50cm9kdWNlZCBtX2hhc1Rocm90dGxlZFByb2dyZXNz
RXZlbnQgd2hpY2ggc3RvcmVzIHdoZXRoZXIgYSBwcm9ncmVzcyBldmVudCBpcyBiZWluZyB0aHJv
dHRsZWQgYW5kIG1fY29tcHV0YWJsZUxlbmd0aCB3aGljaCBpcyB1c2VkIHRvIGluaXRpYWxpemUg
UHJvZ3Jlc3NFdmVudCBjb21wdXRhYmxlTGVuZ3RoCisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1
ZXN0VXBsb2FkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpY
TUxIdHRwUmVxdWVzdFVwbG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFVw
bG9hZDo6ZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVl
c3RVcGxvYWQuaDogaW50cm9kdWNlZCBtX2xvYWRlZCwgbV90b3RhbCBhbmQgbV9sZW5ndGhDb21w
dXRhYmxlLCBzaW1pbGFybHkgdG8gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUK
KwogMjAxNC0wMS0wOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2MTUzMi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDQyZGZkODM0ZjIyZWY2MWQ1YjkxMjA0ZmFmNzRiZjBm
OTBkNzA2MTkuLjZjN2UxMGUxYmFjM2ExM2YyNzk0MTk2ZTM2ZTEyZWI4YzJjMjRhZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNDMwLDE0ICs0MzAsMTQgQEAgdm9p
ZCBYTUxIdHRwUmVxdWVzdDo6Y2FsbFJlYWR5U3RhdGVDaGFuZ2VMaXN0ZW5lcigpCiAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbERpc3BhdGNoWEhSUmVhZHlTdGF0ZUNoYW5nZUV2ZW50KHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSwgdGhpcyk7CiAKICAgICBpZiAobV9hc3luYyB8fCAobV9zdGF0ZSA8PSBPUEVO
RUQgfHwgbV9zdGF0ZSA9PSBET05FKSkKLSAgICAgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUu
ZGlzcGF0Y2hSZWFkeVN0YXRlQ2hhbmdlRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLnJlYWR5c3RhdGVjaGFuZ2VFdmVudCksIG1fc3RhdGUgPT0g
RE9ORSA/IEZsdXNoUHJvZ3Jlc3NFdmVudCA6IERvTm90Rmx1c2hQcm9ncmVzc0V2ZW50KTsKKyAg
ICAgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUuZGlzcGF0Y2hSZWFkeVN0YXRlQ2hhbmdlRXZl
bnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucmVhZHlzdGF0ZWNoYW5nZUV2ZW50LCBmYWxz
ZSwgZmFsc2UpLCBtX3N0YXRlID09IERPTkUgPyBGbHVzaFByb2dyZXNzRXZlbnQgOiBEb05vdEZs
dXNoUHJvZ3Jlc3NFdmVudCk7CiAKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERp
c3BhdGNoWEhSUmVhZHlTdGF0ZUNoYW5nZUV2ZW50KGNvb2tpZSk7CiAgICAgaWYgKG1fc3RhdGUg
PT0gRE9ORSAmJiAhbV9lcnJvcikgewogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hYSFJM
b2FkRXZlbnQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0aGlzKTsKLSAgICAgICAgbV9wcm9n
cmVzc0V2ZW50VGhyb3R0bGUuZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkubG9hZEV2ZW50KSk7CisgICAgICAgIG1fcHJvZ3Jlc3NF
dmVudFRocm90dGxlLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudChldmVudE5hbWVzKCkubG9hZEV2ZW50
KTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaFhIUkxvYWRF
dmVudChjb29raWUpOwotICAgICAgICBtX3Byb2dyZXNzRXZlbnRUaHJvdHRsZS5kaXNwYXRjaEV2
ZW50KFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5sb2Fk
ZW5kRXZlbnQpKTsKKyAgICAgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUuZGlzcGF0Y2hQcm9n
cmVzc0V2ZW50KGV2ZW50TmFtZXMoKS5sb2FkZW5kRXZlbnQpOwogICAgIH0KIH0KIApAQCAtNzY1
LDEwICs3NjUsMTAgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdChFeGNlcHRp
b25Db2RlJiBlYykKICAgICAvLyBBbHNvLCBvbmx5IGFzeW5jIHJlcXVlc3RzIHN1cHBvcnQgdXBs
b2FkIHByb2dyZXNzIGV2ZW50cy4KICAgICBib29sIHVwbG9hZEV2ZW50cyA9IGZhbHNlOwogICAg
IGlmIChtX2FzeW5jKSB7Ci0gICAgICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNo
RXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmxv
YWRzdGFydEV2ZW50KSk7CisgICAgICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNo
UHJvZ3Jlc3NFdmVudChldmVudE5hbWVzKCkubG9hZHN0YXJ0RXZlbnQpOwogICAgICAgICBpZiAo
bV9yZXF1ZXN0RW50aXR5Qm9keSAmJiBtX3VwbG9hZCkgewogICAgICAgICAgICAgdXBsb2FkRXZl
bnRzID0gbV91cGxvYWQtPmhhc0V2ZW50TGlzdGVuZXJzKCk7Ci0gICAgICAgICAgICBtX3VwbG9h
ZC0+ZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkubG9hZHN0YXJ0RXZlbnQpKTsKKyAgICAgICAgICAgIG1fdXBsb2FkLT5kaXNwYXRj
aFByb2dyZXNzRXZlbnQoZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50KTsKICAgICAgICAgfQog
ICAgIH0KIApAQCAtODYyLDEyICs4NjIsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjphYm9ydCgp
CiAgICAgICAgIG1fc3RhdGUgPSBVTlNFTlQ7CiAgICAgfQogCi0gICAgbV9wcm9ncmVzc0V2ZW50
VGhyb3R0bGUuZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmFib3J0RXZlbnQpKTsKLSAgICBpZiAoIW1fdXBsb2Fk
Q29tcGxldGUpIHsKLSAgICAgICAgbV91cGxvYWRDb21wbGV0ZSA9IHRydWU7Ci0gICAgICAgIGlm
IChtX3VwbG9hZCAmJiBtX3VwbG9hZEV2ZW50c0FsbG93ZWQpCi0gICAgICAgICAgICBtX3VwbG9h
ZC0+ZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLmFib3J0RXZlbnQpKTsKLSAgICB9CisgICAgZGlzcGF0Y2hFcnJv
ckV2ZW50cyhldmVudE5hbWVzKCkuYWJvcnRFdmVudCk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVl
c3Q6OmludGVybmFsQWJvcnQoKQpAQCAtOTI4LDI0ICs5MjMsMTQgQEAgdm9pZCBYTUxIdHRwUmVx
dWVzdDo6Z2VuZXJpY0Vycm9yKCkKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6Om5ldHdvcmtFcnJvcigp
CiB7CiAgICAgZ2VuZXJpY0Vycm9yKCk7Ci0gICAgaWYgKCFtX3VwbG9hZENvbXBsZXRlKSB7Ci0g
ICAgICAgIG1fdXBsb2FkQ29tcGxldGUgPSB0cnVlOwotICAgICAgICBpZiAobV91cGxvYWQgJiYg
bV91cGxvYWRFdmVudHNBbGxvd2VkKQotICAgICAgICAgICAgbV91cGxvYWQtPmRpc3BhdGNoRXZl
bnRBbmRMb2FkRW5kKFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5lcnJvckV2ZW50KSk7Ci0gICAgfQotICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRp
c3BhdGNoRXZlbnRBbmRMb2FkRW5kKFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRl
KGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50KSk7CisgICAgZGlzcGF0Y2hFcnJvckV2ZW50cyhldmVu
dE5hbWVzKCkuZXJyb3JFdmVudCk7CiAgICAgaW50ZXJuYWxBYm9ydCgpOwogfQogCiB2b2lkIFhN
TEh0dHBSZXF1ZXN0OjphYm9ydEVycm9yKCkKIHsKICAgICBnZW5lcmljRXJyb3IoKTsKLSAgICBp
ZiAoIW1fdXBsb2FkQ29tcGxldGUpIHsKLSAgICAgICAgbV91cGxvYWRDb21wbGV0ZSA9IHRydWU7
Ci0gICAgICAgIGlmIChtX3VwbG9hZCAmJiBtX3VwbG9hZEV2ZW50c0FsbG93ZWQpCi0gICAgICAg
ICAgICBtX3VwbG9hZC0+ZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQoWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmFib3J0RXZlbnQpKTsKLSAgICB9Ci0gICAg
bV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUuZGlzcGF0Y2hFdmVudEFuZExvYWRFbmQoWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmFib3J0RXZlbnQpKTsKKyAg
ICBkaXNwYXRjaEVycm9yRXZlbnRzKGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50KTsKIH0KIAogdm9p
ZCBYTUxIdHRwUmVxdWVzdDo6ZHJvcFByb3RlY3Rpb24oKQpAQCAtMTE3OSwxMiArMTE2NCwxMyBA
QCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgYnl0
ZXNTZW50LCB1bnNpZ25lZCBsb25nIGxvbgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV91
cGxvYWRFdmVudHNBbGxvd2VkKQotICAgICAgICBtX3VwbG9hZC0+ZGlzcGF0Y2hFdmVudChYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVu
dCwgdHJ1ZSwgYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpKTsKLQorICAgICAgICBtX3Vw
bG9hZC0+ZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KHRydWUsIGJ5dGVzU2VudCwgdG90
YWxCeXRlc1RvQmVTZW50KTsKICAgICBpZiAoYnl0ZXNTZW50ID09IHRvdGFsQnl0ZXNUb0JlU2Vu
dCAmJiAhbV91cGxvYWRDb21wbGV0ZSkgewogICAgICAgICBtX3VwbG9hZENvbXBsZXRlID0gdHJ1
ZTsKLSAgICAgICAgaWYgKG1fdXBsb2FkRXZlbnRzQWxsb3dlZCkKLSAgICAgICAgICAgIG1fdXBs
b2FkLT5kaXNwYXRjaEV2ZW50QW5kTG9hZEVuZChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkubG9hZEV2ZW50KSk7CisgICAgICAgIGlmIChtX3VwbG9hZEV2
ZW50c0FsbG93ZWQpIHsKKyAgICAgICAgICAgIG1fdXBsb2FkLT5kaXNwYXRjaFByb2dyZXNzRXZl
bnQoZXZlbnROYW1lcygpLmxvYWRFdmVudCk7CisgICAgICAgICAgICBtX3VwbG9hZC0+ZGlzcGF0
Y2hQcm9ncmVzc0V2ZW50KGV2ZW50TmFtZXMoKS5sb2FkZW5kRXZlbnQpOworICAgICAgICB9CiAg
ICAgfQogfQogCkBAIC0xMjQyLDEzICsxMjI4LDEzIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRp
ZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW4pCiAgICAgfQogCiAgICAgaWYg
KCFtX2Vycm9yKSB7Ci0gICAgICAgIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCA9IG1fcmVzcG9u
c2UuZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCk7CiAgICAgICAgIG1fcmVjZWl2ZWRMZW5ndGggKz0g
bGVuOwogCiAgICAgICAgIGlmIChtX2FzeW5jKSB7CisgICAgICAgICAgICBsb25nIGxvbmcgZXhw
ZWN0ZWRMZW5ndGggPSBtX3Jlc3BvbnNlLmV4cGVjdGVkQ29udGVudExlbmd0aCgpOwogICAgICAg
ICAgICAgYm9vbCBsZW5ndGhDb21wdXRhYmxlID0gZXhwZWN0ZWRMZW5ndGggPiAwICYmIG1fcmVj
ZWl2ZWRMZW5ndGggPD0gZXhwZWN0ZWRMZW5ndGg7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25n
IGxvbmcgdG90YWwgPSBsZW5ndGhDb21wdXRhYmxlID8gZXhwZWN0ZWRMZW5ndGggOiAwOwotICAg
ICAgICAgICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUuZGlzcGF0Y2hQcm9ncmVzc0V2ZW50KGxl
bmd0aENvbXB1dGFibGUsIG1fcmVjZWl2ZWRMZW5ndGgsIHRvdGFsKTsKKyAgICAgICAgICAgIG1f
cHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudChsZW5n
dGhDb21wdXRhYmxlLCBtX3JlY2VpdmVkTGVuZ3RoLCB0b3RhbCk7CiAgICAgICAgIH0KIAogICAg
ICAgICBpZiAobV9zdGF0ZSAhPSBMT0FESU5HKQpAQCAtMTI1OSw2ICsxMjQ1LDE5IEBAIHZvaWQg
WE1MSHR0cFJlcXVlc3Q6OmRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW4p
CiAgICAgfQogfQogCit2b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaXNwYXRjaEVycm9yRXZlbnRzKGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSkKK3sKKyAgICBpZiAoIW1fdXBsb2FkQ29tcGxldGUpIHsK
KyAgICAgICAgbV91cGxvYWRDb21wbGV0ZSA9IHRydWU7CisgICAgICAgIGlmIChtX3VwbG9hZCAm
JiBtX3VwbG9hZEV2ZW50c0FsbG93ZWQpIHsKKyAgICAgICAgICAgIG1fdXBsb2FkLT5kaXNwYXRj
aFByb2dyZXNzRXZlbnQodHlwZSk7CisgICAgICAgICAgICBtX3VwbG9hZC0+ZGlzcGF0Y2hQcm9n
cmVzc0V2ZW50KGV2ZW50TmFtZXMoKS5sb2FkZW5kRXZlbnQpOworICAgICAgICB9CisgICAgfQor
ICAgIG1fcHJvZ3Jlc3NFdmVudFRocm90dGxlLmRpc3BhdGNoUHJvZ3Jlc3NFdmVudCh0eXBlKTsK
KyAgICBtX3Byb2dyZXNzRXZlbnRUaHJvdHRsZS5kaXNwYXRjaFByb2dyZXNzRXZlbnQoZXZlbnRO
YW1lcygpLmxvYWRlbmRFdmVudCk7Cit9CisKICNpZiBFTkFCTEUoWEhSX1RJTUVPVVQpCiB2b2lk
IFhNTEh0dHBSZXF1ZXN0OjpkaWRUaW1lb3V0KCkKIHsKQEAgLTEyODAsMTIgKzEyNzksNyBAQCB2
b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRUaW1lb3V0KCkKIAogICAgIGNoYW5nZVN0YXRlKERPTkUp
OwogCi0gICAgaWYgKCFtX3VwbG9hZENvbXBsZXRlKSB7Ci0gICAgICAgIG1fdXBsb2FkQ29tcGxl
dGUgPSB0cnVlOwotICAgICAgICBpZiAobV91cGxvYWQgJiYgbV91cGxvYWRFdmVudHNBbGxvd2Vk
KQotICAgICAgICAgICAgbV91cGxvYWQtPmRpc3BhdGNoRXZlbnRBbmRMb2FkRW5kKFhNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpKTsK
LSAgICB9Ci0gICAgbV9wcm9ncmVzc0V2ZW50VGhyb3R0bGUuZGlzcGF0Y2hFdmVudEFuZExvYWRF
bmQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnRpbWVv
dXRFdmVudCkpOworICAgIGRpc3BhdGNoRXJyb3JFdmVudHMoZXZlbnROYW1lcygpLnRpbWVvdXRF
dmVudCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCA5
MzkzYTY2NjlmMzQzMmZkM2U2ZDIzMDA0ODk3NmZmMzI2NjUzNWZhLi45MzI1YWQ3MjY0ZGVkNmYw
OGYwYjU0NGI4MDA1Yzc3NGY3MDk4ZWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
aApAQCAtMjA4LDYgKzIwOCw4IEBAIHByaXZhdGU6CiAKICAgICBib29sIHNob3VsZERlY29kZVJl
c3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZVR5cGVDb2RlIDwgRmlyc3RCaW5hcnlS
ZXNwb25zZVR5cGU7IH0KIAorICAgIHZvaWQgZGlzcGF0Y2hFcnJvckV2ZW50cyhjb25zdCBBdG9t
aWNTdHJpbmcmKTsKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxYTUxIdHRwUmVxdWVzdFVwbG9hZD4g
bV91cGxvYWQ7CiAKICAgICBVUkwgbV91cmw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAppbmRleCBiNTE4
MmZjZmMzZTE5NmVmNzVjNzg2NmQzNjc3M2U4ODcyNjM4MmRmLi43MGUxOTU3NjI1YjdhMTBmY2E2
Y2VkZDIwZTRmN2M3MWZjZjBhZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKQEAgLTM2LDYgKzM2
LDggQEAgY29uc3QgZG91YmxlIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpt
aW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW4KIAogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlKEV2ZW50VGFy
Z2V0KiB0YXJnZXQpCiAgICAgOiBtX3RhcmdldCh0YXJnZXQpCisgICAgLCBtX2hhc1Rocm90dGxl
ZFByb2dyZXNzRXZlbnQoZmFsc2UpCisgICAgLCBtX2xlbmd0aENvbXB1dGFibGUoZmFsc2UpCiAg
ICAgLCBtX2xvYWRlZCgwKQogICAgICwgbV90b3RhbCgwKQogICAgICwgbV9kZWZlckV2ZW50cyhm
YWxzZSkKQEAgLTQ4LDggKzUwLDEyIEBAIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlOjp+WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoKQogewogfQogCi12b2lk
IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaFByb2dyZXNzRXZl
bnQoYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkLCB1bnNp
Z25lZCBsb25nIGxvbmcgdG90YWwpCit2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZW5ndGhDb21wdXRh
YmxlLCB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWwp
CiB7CisgICAgbV9sZW5ndGhDb21wdXRhYmxlID0gbGVuZ3RoQ29tcHV0YWJsZTsKKyAgICBtX2xv
YWRlZCA9IGxvYWRlZDsKKyAgICBtX3RvdGFsID0gdG90YWw7CisgICAgCiAgICAgaWYgKG1fZGVm
ZXJFdmVudHMpIHsKICAgICAgICAgLy8gT25seSBzdG9yZSB0aGUgbGF0ZXN0IHByb2dyZXNzIGV2
ZW50IHdoaWxlIHN1c3BlbmRlZC4KICAgICAgICAgbV9kZWZlcnJlZFByb2dyZXNzRXZlbnQgPSBY
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NF
dmVudCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCk7CkBAIC02MCwxOSArNjYsMTcg
QEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hQcm9n
cmVzc0V2ZW50KGJvb2wgbGVuZ3RoQ29tcHUKICAgICAgICAgLy8gVGhlIHRpbWVyIGlzIG5vdCBh
Y3RpdmUgc28gdGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50IGZvciBub3cgaXMgZXZlcnkgYnl0ZS4K
ICAgICAgICAgLy8gSnVzdCBnbyBhaGVhZCBhbmQgZGlzcGF0Y2ggdGhlIGV2ZW50LgogCi0gICAg
ICAgIC8vIFdlIHNob3VsZCBub3QgaGF2ZSBhbnkgcGVuZGluZyBsb2FkZWQgJiB0b3RhbCBpbmZv
cm1hdGlvbiBmcm9tIGEgcHJldmlvdXMgcnVuLgotICAgICAgICBBU1NFUlQoIW1fbG9hZGVkKTsK
LSAgICAgICAgQVNTRVJUKCFtX3RvdGFsKTsKKyAgICAgICAgLy8gV2Ugc2hvdWxkIG5vdCBoYXZl
IGFueSB0aHJvdHRsZWQgcHJvZ3Jlc3MgZXZlbnQuCisgICAgICAgIEFTU0VSVCghbV9oYXNUaHJv
dHRsZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5n
dGhDb21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7CiAgICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAg
IG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCiAgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmltdW1Qcm9n
cmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVhc3QgZnJlcXVl
bnQgZXZlbnQuCi0gICAgbV9sZW5ndGhDb21wdXRhYmxlID0gbGVuZ3RoQ29tcHV0YWJsZTsKLSAg
ICBtX2xvYWRlZCA9IGxvYWRlZDsKLSAgICBtX3RvdGFsID0gdG90YWw7CisgICAgbV9oYXNUaHJv
dHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIAogdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hSZWFkeVN0YXRlQ2hhbmdlRXZlbnQoUGFzc1JlZlB0
cjxFdmVudD4gZXZlbnQsIFByb2dyZXNzRXZlbnRBY3Rpb24gcHJvZ3Jlc3NFdmVudEFjdGlvbikK
QEAgLTk2LDEyICsxMDAsMTcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZTo6ZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKICAgICAgICAgbV90
YXJnZXQtPmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogfQogCi12b2lkIFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaEV2ZW50QW5kTG9hZEVuZChQYXNzUmVmUHRyPEV2
ZW50PiBldmVudCkKK3ZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRp
c3BhdGNoUHJvZ3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJpbmcgJnR5cGUpCiB7Ci0gICAgQVNT
RVJUKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmxvYWRFdmVudCB8fCBldmVudC0+dHlw
ZSgpID09IGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50IHx8IGV2ZW50LT50eXBlKCkgPT0gZXZlbnRO
YW1lcygpLmVycm9yRXZlbnQgfHwgZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkudGltZW91
dEV2ZW50KTsKKyAgICBBU1NFUlQodHlwZSA9PSBldmVudE5hbWVzKCkubG9hZEV2ZW50IHx8IHR5
cGUgPT0gZXZlbnROYW1lcygpLmxvYWRlbmRFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5s
b2Fkc3RhcnRFdmVudCB8fCB0eXBlID09IGV2ZW50TmFtZXMoKS5hYm9ydEV2ZW50IHx8IHR5cGUg
PT0gZXZlbnROYW1lcygpLmVycm9yRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkudGltZW91
dEV2ZW50KTsKIAotICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQpOwotICAgIGRpc3BhdGNoRXZlbnQo
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmxvYWRlbmRF
dmVudCkpOworICAgIGlmICh0eXBlID09IGV2ZW50TmFtZXMoKS5sb2Fkc3RhcnRFdmVudCkgewor
ICAgICAgICBtX2xlbmd0aENvbXB1dGFibGUgPSBmYWxzZTsKKyAgICAgICAgbV9sb2FkZWQgPSAw
OworICAgICAgICBtX3RvdGFsID0gMDsKKyAgICB9CisKKyAgICBkaXNwYXRjaEV2ZW50KFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKHR5cGUsIG1fbGVuZ3RoQ29tcHV0YWJsZSwg
bV9sb2FkZWQsIG1fdG90YWwpKTsKIH0KIAogdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnRUaHJvdHRsZTo6Zmx1c2hQcm9ncmVzc0V2ZW50KCkKQEAgLTExNSwxMCArMTI0LDggQEAgdm9p
ZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6Zmx1c2hQcm9ncmVzc0V2ZW50
KCkKIAogICAgIGlmICghaGFzRXZlbnRUb0Rpc3BhdGNoKCkpCiAgICAgICAgIHJldHVybjsKLQog
ICAgIFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50ID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQsIG1fbGVuZ3RoQ29tcHV0YWJsZSwg
bV9sb2FkZWQsIG1fdG90YWwpOwotICAgIG1fbG9hZGVkID0gMDsKLSAgICBtX3RvdGFsID0gMDsK
KyAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKIAogICAgIC8vIFdlIHN0
b3AgdGhlIHRpbWVyIGFzIHRoaXMgaXMgY2FsbGVkIHdoZW4gbm8gbW9yZSBldmVudHMgYXJlIHN1
cHBvc2VkIHRvIG9jY3VyLgogICAgIHN0b3AoKTsKQEAgLTE2MCwxMyArMTY3LDEyIEBAIHZvaWQg
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmZpcmVkKCkKICAgICB9CiAKICAg
ICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBtX2xlbmd0aENvbXB1dGFibGUsIG1fbG9hZGVkLCBtX3Rv
dGFsKSk7Ci0gICAgbV90b3RhbCA9IDA7Ci0gICAgbV9sb2FkZWQgPSAwOworICAgIG1faGFzVGhy
b3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogfQogCiBib29sIFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlOjpoYXNFdmVudFRvRGlzcGF0Y2goKSBjb25zdAogewotICAgIHJl
dHVybiAobV90b3RhbCB8fCBtX2xvYWRlZCkgJiYgaXNBY3RpdmUoKTsKKyAgICByZXR1cm4gbV9o
YXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ICYmIGlzQWN0aXZlKCk7CiB9CiAKIHZvaWQgWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnN1c3BlbmQoKQpAQCAtMTg3LDE2ICsxOTMs
MTQgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6c3VzcGVuZCgp
CiAgICAgLy8ganVzdCBkZWZlciBpdC4KICAgICBpZiAoaGFzRXZlbnRUb0Rpc3BhdGNoKCkpIHsK
ICAgICAgICAgbV9kZWZlcnJlZFByb2dyZXNzRXZlbnQgPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwgbV9sZW5ndGhDb21wdXRh
YmxlLCBtX2xvYWRlZCwgbV90b3RhbCk7Ci0gICAgICAgIG1fdG90YWwgPSAwOwotICAgICAgICBt
X2xvYWRlZCA9IDA7CisgICAgICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNl
OwogICAgIH0KICAgICBzdG9wKCk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGU6OnJlc3VtZSgpCiB7Ci0gICAgQVNTRVJUKCFtX2xvYWRlZCk7Ci0gICAgQVNT
RVJUKCFtX3RvdGFsKTsKKyAgICBBU1NFUlQoIW1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7
CiAKICAgICBpZiAobV9kZWZlcnJlZEV2ZW50cy5pc0VtcHR5KCkgJiYgIW1fZGVmZXJyZWRQcm9n
cmVzc0V2ZW50KSB7CiAgICAgICAgIG1fZGVmZXJFdmVudHMgPSBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5o
IGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxl
LmgKaW5kZXggZTQ0YzEyMDZmOWE2OWVjM2UxYWY5NTBmZTI5ZDlhNTE1MzNkNWY0My4uMzM3NThh
OTRjMGZjNWU2M2M0OGJiODM4ZDZmNzA0YzU5ODUzNGIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgInd0Zi9QYXNzUmVm
UHRyLmgiCiAjaW5jbHVkZSAid3RmL1ZlY3Rvci5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDgsMTAgKzQ5LDEwIEBAIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVudFRhcmdl
dCopOwogICAgIHZpcnR1YWwgflhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlKCk7
CiAKLSAgICB2b2lkIGRpc3BhdGNoUHJvZ3Jlc3NFdmVudChib29sIGxlbmd0aENvbXB1dGFibGUs
IHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCk7Cisg
ICAgdm9pZCBkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZW5ndGhDb21wdXRh
YmxlLCB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWwp
OwogICAgIHZvaWQgZGlzcGF0Y2hSZWFkeVN0YXRlQ2hhbmdlRXZlbnQoUGFzc1JlZlB0cjxFdmVu
dD4sIFByb2dyZXNzRXZlbnRBY3Rpb24gPSBEb05vdEZsdXNoUHJvZ3Jlc3NFdmVudCk7CiAgICAg
dm9pZCBkaXNwYXRjaEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKLSAgICB2b2lkIGRpc3BhdGNo
RXZlbnRBbmRMb2FkRW5kKFBhc3NSZWZQdHI8RXZlbnQ+KTsKKyAgICB2b2lkIGRpc3BhdGNoUHJv
Z3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJpbmcmKTsKIAogICAgIHZvaWQgc3VzcGVuZCgpOwog
ICAgIHZvaWQgcmVzdW1lKCk7CkBAIC02OCw2ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgLy8gV2Vh
ayBwb2ludGVyIHRvIG91ciBYTUxIdHRwUmVxdWVzdCBvYmplY3QgYXMgaXQgaXMgdGhlIG9uZSBo
b2xkaW5nIHVzLgogICAgIEV2ZW50VGFyZ2V0KiBtX3RhcmdldDsKIAorICAgIGJvb2wgbV9oYXNU
aHJvdHRsZWRQcm9ncmVzc0V2ZW50OwogICAgIGJvb2wgbV9sZW5ndGhDb21wdXRhYmxlOwogICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyBtX2xvYWRlZDsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbV90
b3RhbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9h
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuY3BwCmluZGV4
IDc0MTUzNmVkNzE5YjM4YzljMmI3ZGFhNmNlOGZlYjVjYWVhN2NkMzQuLjI1NDc2NTY3MmIwMzA4
NDk0ZTY3ODQ4YzM3ZDhiOGRmZTRhNTc4MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0VXBsb2FkLmNwcApAQCAtMzYsMTcgKzM2LDMzIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogWE1MSHR0cFJlcXVlc3RVcGxvYWQ6OlhNTEh0dHBSZXF1ZXN0VXBsb2FkKFhNTEh0dHBS
ZXF1ZXN0KiB4bWxIdHRwUmVxdWVzdCkKICAgICA6IG1feG1sSHR0cFJlcXVlc3QoeG1sSHR0cFJl
cXVlc3QpCisgICAgLCBtX2xlbmd0aENvbXB1dGFibGUoZmFsc2UpCisgICAgLCBtX2xvYWRlZCgw
KQorICAgICwgbV90b3RhbCgwKQogewogfQogCi12b2lkIFhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpk
aXNwYXRjaEV2ZW50QW5kTG9hZEVuZChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKK3ZvaWQgWE1M
SHR0cFJlcXVlc3RVcGxvYWQ6OmRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxl
bmd0aENvbXB1dGFibGUsIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcg
bG9uZyB0b3RhbCkKIHsKLSAgICBBU1NFUlQoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCku
bG9hZEV2ZW50IHx8IGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmFib3J0RXZlbnQgfHwg
ZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVudCB8fCBldmVudC0+dHlwZSgp
ID09IGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOworICAgIG1fbGVuZ3RoQ29tcHV0YWJsZSA9
IGxlbmd0aENvbXB1dGFibGU7CisgICAgbV9sb2FkZWQgPSBsb2FkZWQ7CisgICAgbV90b3RhbCA9
IHRvdGFsOwogCi0gICAgZGlzcGF0Y2hFdmVudChldmVudCk7Ci0gICAgZGlzcGF0Y2hFdmVudChY
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkubG9hZGVuZEV2
ZW50KSk7CisgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVk
LCB0b3RhbCkpOwogfQogCit2b2lkIFhNTEh0dHBSZXF1ZXN0VXBsb2FkOjpkaXNwYXRjaFByb2dy
ZXNzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nICZ0eXBlKQoreworICAgIEFTU0VSVCh0eXBlID09
IGV2ZW50TmFtZXMoKS5sb2FkRXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkubG9hZGVuZEV2
ZW50IHx8IHR5cGUgPT0gZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50IHx8IHR5cGUgPT0gZXZl
bnROYW1lcygpLmFib3J0RXZlbnQgfHwgdHlwZSA9PSBldmVudE5hbWVzKCkuZXJyb3JFdmVudCB8
fCB0eXBlID09IGV2ZW50TmFtZXMoKS50aW1lb3V0RXZlbnQpOworCisgICAgaWYgKHR5cGUgPT0g
ZXZlbnROYW1lcygpLmxvYWRzdGFydEV2ZW50KSB7CisgICAgICAgIG1fbGVuZ3RoQ29tcHV0YWJs
ZSA9IGZhbHNlOworICAgICAgICBtX2xvYWRlZCA9IDA7CisgICAgICAgIG1fdG90YWwgPSAwOwor
ICAgIH0KKworICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Ojpj
cmVhdGUodHlwZSwgbV9sZW5ndGhDb21wdXRhYmxlLCBtX2xvYWRlZCwgbV90b3RhbCkpOworfQog
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0VXBsb2FkLmgKaW5kZXggNjZjNmZhNGEwMmYwNDFiYWQzMjQwZjhlOWZjYWI0ZDQ4NDdiNDlj
MC4uMzNkNzZhNmRlMTQ4NTg2N2M2ZWQzMTBhMjYwZTVmMjBjZDM0ODMxYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmgKQEAgLTU1LDEzICs1NSwxNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
bG9hZHN0YXJ0KTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihwcm9n
cmVzcyk7CiAKLSAgICAgICAgdm9pZCBkaXNwYXRjaEV2ZW50QW5kTG9hZEVuZChQYXNzUmVmUHRy
PEV2ZW50Pik7CisgICAgICAgIHZvaWQgZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KGJv
b2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQg
bG9uZyBsb25nIHRvdGFsKTsKKyAgICAgICAgdm9pZCBkaXNwYXRjaFByb2dyZXNzRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nICZ0eXBlKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwg
dm9pZCByZWZFdmVudFRhcmdldCgpIE9WRVJSSURFIEZJTkFMIHsgcmVmKCk7IH0KICAgICAgICAg
dmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBPVkVSUklERSBGSU5BTCB7IGRlcmVmKCk7
IH0KIAogICAgICAgICBYTUxIdHRwUmVxdWVzdCogbV94bWxIdHRwUmVxdWVzdDsKKyAgICAgICAg
Ym9vbCBtX2xlbmd0aENvbXB1dGFibGU7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBtX2xv
YWRlZDsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIG1fdG90YWw7CiAgICAgfTsKICAgICAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNDYyNzg2Y2Q2ZWUxOTBlYjcxZDM3Yzgz
Y2NjMzE3Nzk5NTEwOTdmLi5mNjgxYzZkYzAzZjNlZGI5ZTcwMGRiZTAwMDIzN2QxY2U2M2Y5MmVl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTQtMDEtMDkgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5mQGdtYWlsLmNvbT4KKworICAgICAgICBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5kIGV2ZW50
IGF0dHJpYnV0ZXMgKGxvYWRlZCBhbmQgdG90YWwpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwODI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxl
eGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBUZXN0cyBmb3IgYWJvcnQsIGxvYWQsIGxvYWRz
dGFydCBhbmQgbG9hZGVuZCBQcm9ncmVzc0V2ZW50IGV2ZW50cyBmb3IgWE1MSHR0cFJlcXVlc3Qg
YW5kIFhNTEh0dHBSZXF1ZXN0VXBsb2FkCisKKyAgICAgICAgKiBmYXN0L3htbGh0dHByZXF1ZXN0
L3htbGh0dHByZXF1ZXN0LWdldC1leHBlY3RlZC50eHQ6IENoYW5nZWQgdG8gY29ycmVjdCBldmVu
dCB2YWx1ZXMKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1l
dmVudC1pbml0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9sb2Fkc3RhcnQtZXZlbnQtaW5pdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29uYWJvcnQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0
ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L29ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25hYm9ydC1wcm9ncmVzc2V2ZW50
LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L3VwbG9hZC1vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmxv
YWQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25sb2FkLXByb2dyZXNzZXZlbnQt
YXR0cmlidXRlcy5odG1sOiBBZGRlZC4KKwogMjAxNC0wMS0wOCAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjE2MTUzMi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QveG1saHR0cHJlcXVlc3QveG1s
aHR0cHJlcXVlc3QtZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QveG1saHR0cHJl
cXVlc3QveG1saHR0cHJlcXVlc3QtZ2V0LWV4cGVjdGVkLnR4dAppbmRleCA5ZTc2NzM2MmE1NTM1
ZGFmYmVmMTEwM2EyMmQ2ZTg5Nzk0ODYzODlmLi42Yjg3OWNiMjIwMzU3OTUyOGI3MGEwYjdlNTg5
ZjY1NDJlN2U5MzdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3htbGh0dHByZXF1ZXN0
L3htbGh0dHByZXF1ZXN0LWdldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC94
bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC1nZXQtZXhwZWN0ZWQudHh0CkBAIC01Myw5ICs1
Myw5IEBAIGV2ZW50UGhhc2UgOiAnMicKIGluaXRFdmVudCA6ICdmdW5jdGlvbiBpbml0RXZlbnQo
KSB7CiAgICAgW25hdGl2ZSBjb2RlXQogfScKLWxlbmd0aENvbXB1dGFibGUgOiAnZmFsc2UnCi1s
b2FkZWQgOiAnMCcKLXBvc2l0aW9uIDogJzAnCitsZW5ndGhDb21wdXRhYmxlIDogJ3RydWUnCits
b2FkZWQgOiAnMTc0JworcG9zaXRpb24gOiAnMTc0JwogcHJldmVudERlZmF1bHQgOiAnZnVuY3Rp
b24gcHJldmVudERlZmF1bHQoKSB7CiAgICAgW25hdGl2ZSBjb2RlXQogfScKQEAgLTY4LDcgKzY4
LDcgQEAgc3RvcFByb3BhZ2F0aW9uIDogJ2Z1bmN0aW9uIHN0b3BQcm9wYWdhdGlvbigpIHsKICAg
ICBbbmF0aXZlIGNvZGVdCiB9JwogdGFyZ2V0IDogJ1tvYmplY3QgWE1MSHR0cFJlcXVlc3RdJwot
dG90YWwgOiAnMCcKLXRvdGFsU2l6ZSA6ICcwJwordG90YWwgOiAnMTc0JwordG90YWxTaXplIDog
JzE3NCcKIHR5cGUgOiAnbG9hZCcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9sb2Fkc3RhcnQtZXZlbnQtaW5pdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVudC1pbml0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjhmMmUwZDI4MDliM2MwOTJkYzU3ZjRlNmJjMmY2NjZj
MWVjNzExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9sb2Fkc3RhcnQtZXZlbnQtaW5pdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgWE1MSHR0cFJlcXVlc3Q6IGVuc3VyZSBsb2Fkc3RhcnQgZXZlbnQgcHJvZ3Jlc3Mg
bWVtYmVycyBhcmUgY29ycmVjdGx5IGluaXRpYWxpemVkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVudC1pbml0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2xvYWRzdGFydC1ldmVudC1p
bml0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmYzODFlM2MwYWY2NmE0OTNjZDU3MDM0NTA5OGE5NjMzY2Ji
MjkwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvbG9hZHN0YXJ0LWV2ZW50LWluaXQuaHRtbApAQCAtMCwwICsxLDQ0IEBACivvu788IURP
Q1RZUEUgaHRtbD4NCis8aHRtbD4NCis8aGVhZD4NCisgICAgPHRpdGxlPlhNTEh0dHBSZXF1ZXN0
OiBlbnN1cmUgbG9hZHN0YXJ0IGV2ZW50IHByb2dyZXNzIG1lbWJlcnMgYXJlIGNvcnJlY3RseSBp
bml0aWFsaXplZDwvdGl0bGU+DQorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pg0KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4NCis8L2hlYWQ+DQorDQorPGJv
ZHk+DQorICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+DQorDQorICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4NCisgICAgICAgIHZhciB0ZXN0ID0gYXN5bmNfdGVzdCgpDQorICAgICAg
ICB0ZXN0LnN0ZXAoZnVuY3Rpb24oKSB7DQorICAgICAgICAgICAgdmFyIGNvdW50ID0gMDsNCisg
ICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7DQorDQorICAgICAgICAg
ICAgeGhyLm9ubG9hZHN0YXJ0ID0gdGVzdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkNCisgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5sb2FkZWQsIDAsICJsb2Fk
ZWQgbWVtYmVyIG9mIHhoci5sb2Fkc3RhcnQgZXZlbnQgc2hvdWxkIGJlIDAiKQ0KKyAgICAgICAg
ICAgICAgICBpZiAoY291bnQgPT0gMSkgew0KKyAgICAgICAgICAgICAgICAgICAgdGVzdC5kb25l
KCk7DQorICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICB9KQ0KKw0KKyAgICAgICAgICAg
IHhoci51cGxvYWQub25sb2Fkc3RhcnQgPSB0ZXN0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKQ0KKyAg
ICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmxvYWRlZCwgMCwg
ImxvYWRlZCBtZW1iZXIgb2YgeGhyLnVwbG9hZC5sb2Fkc3RhcnQgZXZlbnQgc2hvdWxkIGJlIDAi
KTsNCisgICAgICAgICAgICB9KQ0KKw0KKyAgICAgICAgICAgIHhoci5vbmxvYWRlbmQgPSBmdW5j
dGlvbihlKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgaWYgKGNvdW50KysgPCAx
KSB7DQorICAgICAgICAgICAgICAgICAgICB4aHIub3BlbigiUE9TVCIsICIuL3Jlc291cmNlcy9j
b250ZW50LnBocCIsIHRydWUpOw0KKyAgICAgICAgICAgICAgICAgICAgeGhyLnNlbmQoInRlc3Qi
KTsNCisgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgDQorICAgICAgICAgICAg
fQ0KKw0KKyAgICAgICAgICAgIHhoci5vcGVuKCJQT1NUIiwgIi4vcmVzb3VyY2VzL2NvbnRlbnQu
cGhwIiwgdHJ1ZSk7DQorICAgICAgICAgICAgeGhyLnNlbmQoInRlc3QiKTsNCisgICAgICAgIH0p
Ow0KKyAgICA8L3NjcmlwdD4NCis8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25hYm9ydC1wcm9ncmVzc2V2ZW50LWF0
dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjE3YmY4NTU0MDA1Zjg5NzFhNTJhNGE4Njg0MTBiN2JhMTJiNDJiNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25hYm9ydC1w
cm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGVz
dCBjYXNlIGZvciBidWcgMTIwODI4OiBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5kIGF0dHJpYnV0
ZXMgKGxvYWRlZCBhbmQgdG90YWwpLgorCitWZXJpZnkgdGhhdCBhYm9ydCBhbmQgbG9hZGVuZCBl
dmVudHMgaGF2ZSB0aGVpciBQcm9ncmVzc0V2ZW50IGF0dHJpYnV0ZXMgKGxvYWRlZCwgdG90YWwg
YW5kIGxlbmd0aENvbXB1dGFibGUpIGNvcnJlY3RseSBzZXQuCisKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmFib3J0LXByb2dyZXNz
ZXZlbnQtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgw
NjkzNmY0ZjAyMTQ1OGQ4N2QzMWI5MGE5YTBjMWYzOTI2MWQ5YWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L29uYWJvcnQtcHJvZ3Jlc3Nl
dmVudC1hdHRyaWJ1dGVzLmh0bWwKQEAgLTAsMCArMSw3NyBAQAorPGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5UZXN0IGNhc2UgZm9yIGJ1ZyAxMjA4MjggKGFib3J0IGNhc2UpPC90aXRsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGVzdCBjYXNlIGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwODI4Ij4gYnVnIDEyMDgyODwvYT46IENvcnJlY3RseSBz
ZXQgWEhSIGxvYWRlbmQgYXR0cmlidXRlcyAobG9hZGVkIGFuZCB0b3RhbCkuPC9wPgorPHA+VmVy
aWZ5IHRoYXQgYWJvcnQgYW5kIGxvYWRlbmQgZXZlbnRzIGhhdmUgdGhlaXIgUHJvZ3Jlc3NFdmVu
dCBhdHRyaWJ1dGVzIChsb2FkZWQsIHRvdGFsIGFuZCBsZW5ndGhDb21wdXRhYmxlKSBjb3JyZWN0
bHkgc2V0LjwvcD4KKzxwIGlkPWNvbnNvbGU+PC9wPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKK3ZhciBzdGF0dXMg
PSAiUEFTUyI7Cit2YXIgdG90YWwgPSAwOwordmFyIGxvYWRlZCA9IDA7CisKK2Z1bmN0aW9uIG9u
UHJvZ3Jlc3NFdmVudChlKQoreworICAgIGlmICh0b3RhbCAhPSBlLnRvdGFsIHx8IGxvYWRlZCAh
PSBlLmxvYWRlZCkKKyAgICAgICAgZmFpbCgiRXZlbnQgIiArIGUudHlwZSArICJ0b3RhbC9sb2Fk
ZWQgdmFsdWVzIG5vdCBtYXRjaGluZzogIiAKKyAgICAgICAgICAgICsgIigiICsgZS5sb2FkZWQg
KyAiIC8gIiArIGUudG90YWwgKyAiKSwgZXhwZWN0ZWQgKCIgKyBsb2FkZWQgKyAiIC8gIiArIHRv
dGFsICsgIikiKTsKK30KKworZnVuY3Rpb24gb25VbmV4cGVjdGVkUHJvZ3Jlc3NFdmVudChlKQor
eworICAgIGZhaWwoInVuZXhwZWN0ZWQgUHJvZ3Jlc3NFdmVudDogIiArIGUudHlwZSk7Cit9CisK
K2Z1bmN0aW9uIGZhaWwobXNnKQoreworICAgIHN0YXR1cyA9ICJGQUlMRUQ6ICIgKyBtc2c7Cisg
ICAgY29tcGxldGVUZXN0KCk7CisgICAgc3RhdHVzID0gIiI7Cit9CisKK2Z1bmN0aW9uIGNvbXBs
ZXRlVGVzdCgpCit7CisgICAgbG9nKHN0YXR1cyk7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdGVzdCgp
IAoreworICAgIHZhciBpdGVyYXRpb24gPSAyOworICAgIHZhciBkZWxheSA9ICIxMDAwIjsKKwor
ICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICByZXEub25wcm9ncmVzcyA9
IGZ1bmN0aW9uKGUpeworICAgICAgICB0b3RhbCA9IGUudG90YWw7CisgICAgICAgIGxvYWRlZCA9
IGUubG9hZGVkOworICAgICAgICByZXEuYWJvcnQoKTsKKyAgICB9OworICAgIHJlcS5vbmVycm9y
ID0gb25VbmV4cGVjdGVkUHJvZ3Jlc3NFdmVudDsKKyAgICByZXEub25hYm9ydCA9IG9uUHJvZ3Jl
c3NFdmVudDsKKyAgICByZXEub25sb2FkZW5kID0gZnVuY3Rpb24oZSkgeworICAgICAgICBvblBy
b2dyZXNzRXZlbnQoZSk7CisgICAgICAgIGNvbXBsZXRlVGVzdCgpOworICAgIH0KKyAgICByZXEu
b3BlbigiR0VUIiwgInJlc291cmNlcy9kb3dubG9hZC13aXRoLWRlbGF5LnBocD9pdGVyYXRpb249
IiArIGl0ZXJhdGlvbiArICImZGVsYXk9IiArIGRlbGF5LCB0cnVlKTsKKyAgICByZXEuc2VuZChu
dWxsKTsKKworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICB2YXIgY29uc29sZUVs
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisgICAgY29uc29sZUVsdC5p
bm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnIvPiI7Cit9CisKK3Rlc3QoKTsgCisKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9vbmxvYWQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25sb2FkLXByb2dyZXNz
ZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU4ZGQyMWQ4YTYzNDIx
Njc3ZGUxZTc5NjAyNzZlNTNhOGQ3NGZlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRl
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0IGNhc2UgZm9yIGJ1ZyAxMjA4Mjg6
IENvcnJlY3RseSBzZXQgWEhSIGxvYWRlbmQgYXR0cmlidXRlcyAobG9hZGVkIGFuZCB0b3RhbCku
CisKK1ZlcmlmeSB0aGF0IGxvYWQgYW5kIGxvYWRlbmQgZXZlbnRzIGhhdmUgdGhlaXIgUHJvZ3Jl
c3NFdmVudCBhdHRyaWJ1dGVzIChsb2FkZWQsIHRvdGFsIGFuZCBsZW5ndGhDb21wdXRhYmxlKSBj
b3JyZWN0bHkgc2V0LgorCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3Qvb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmxvYWQtcHJvZ3Jlc3NldmVu
dC1hdHRyaWJ1dGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGMwZjg3NDg2YWYwOTVkMjIwY2Y1MGQwNmUw
OTI2NjI4MTE3NDNjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3Qvb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sCkBAIC0w
LDAgKzEsNzggQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVzdCBjYXNlIGZvciBidWcgMTIw
ODI4PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+IFRlc3QgY2FzZSBmb3IgPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMDgyOCI+IGJ1ZyAxMjA4
Mjg8L2E+OiBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5kIGF0dHJpYnV0ZXMgKGxvYWRlZCBhbmQg
dG90YWwpLjwvcD4KKzxwPiBWZXJpZnkgdGhhdCBsb2FkIGFuZCBsb2FkZW5kIGV2ZW50cyBoYXZl
IHRoZWlyIFByb2dyZXNzRXZlbnQgYXR0cmlidXRlcyAobG9hZGVkLCB0b3RhbCBhbmQgbGVuZ3Ro
Q29tcHV0YWJsZSkgY29ycmVjdGx5IHNldC48L3A+Cis8cCBpZD1jb25zb2xlPjwvcD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworfQorCit2YXIgc3RhdHVzID0gIlBBU1MiOwordmFyIHRvdGFsID0gMDsKK3ZhciBsb2FkZWQg
PSAwOworCitmdW5jdGlvbiBvblByb2dyZXNzRXZlbnQoZSkKK3sKKyAgICBpZiAodG90YWwgIT0g
ZS50b3RhbCB8fCBsb2FkZWQgIT0gZS5sb2FkZWQpCisgICAgICAgIGZhaWwoIkV2ZW50ICIgKyBl
LnR5cGUgKyAiIHRvdGFsL2xvYWRlZCB2YWx1ZXMgbm90IG1hdGNoaW5nOiAiIAorICAgICAgICAg
ICAgKyAiKCIgKyBlLmxvYWRlZCArICIgLyAiICsgZS50b3RhbCArICIpLCBleHBlY3RlZCAoIiAr
IGxvYWRlZCArICIgLyAiICsgdG90YWwgKyAiKSIpOworfQorCitmdW5jdGlvbiBvblVuZXhwZWN0
ZWRQcm9ncmVzc0V2ZW50KGUpCit7CisgICAgZmFpbCgidW5leHBlY3RlZCBQcm9ncmVzc0V2ZW50
OiAiICsgZS50eXBlKTsKK30KKworZnVuY3Rpb24gZmFpbChtc2cpCit7CisgICAgc3RhdHVzID0g
IkZBSUxFRDogIiArIG1zZzsKKyAgICBjb21wbGV0ZVRlc3QoKTsKKyAgICBzdGF0dXMgPSAiIjsK
K30KKworZnVuY3Rpb24gY29tcGxldGVUZXN0KCkKK3sKKyAgICBsb2coc3RhdHVzKTsKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
fQorCitmdW5jdGlvbiB0ZXN0KCkgCit7CisgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpOworICAgIHJlcS5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbihlKSB7CisgICAgICAg
IGlmIChyZXEucmVhZHlTdGF0ZSA9PSByZXEuRE9ORSkgeworICAgICAgICAgICAgaWYgKHRoaXMu
c3RhdHVzID09IDIwMCkKKyAgICAgICAgICAgICAgICB0b3RhbCA9IGxvYWRlZCA9IHJlcS5yZXNw
b25zZVRleHQubGVuZ3RoOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGZhaWwo
InVuZXhwZWN0ZWQgc3RhdHVzOiAiICsgc3RhdHVzKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBy
ZXEub25hYm9ydCA9IG9uVW5leHBlY3RlZFByb2dyZXNzRXZlbnQ7CisgICAgcmVxLm9uZXJyb3Ig
PSBvblVuZXhwZWN0ZWRQcm9ncmVzc0V2ZW50OworICAgIHJlcS5vbmxvYWQgPSBvblByb2dyZXNz
RXZlbnQ7CisgICAgcmVxLm9ubG9hZGVuZCA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgb25Qcm9n
cmVzc0V2ZW50KGUpOworICAgICAgICBjb21wbGV0ZVRlc3QoKTsKKyAgICB9CisKKyAgICByZXEu
b3BlbigiR0VUIiwgInJlc291cmNlcy9nZXQudHh0IiwgdHJ1ZSk7IAorICAgIHJlcS5zZW5kKCk7
Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIHZhciBjb25zb2xlRWx0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICBjb25zb2xlRWx0LmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxici8+IjsKK30KKwordGVzdCgpOyAKKworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHBy
ZXF1ZXN0L3VwbG9hZC1vbmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmFib3J0
LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQ5ZTc1
OGRkY2M5ZmQ4ZWI5NzE2Yjk2Yjg2YzQ4NTJhZThkNGNiYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXBsb2FkLW9uYWJvcnQtcHJvZ3Jl
c3NldmVudC1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1Rlc3QgY2Fz
ZSBmb3IgYnVnIDEyMDgyODogQ29ycmVjdGx5IHNldCBYSFIgbG9hZGVuZCBhdHRyaWJ1dGVzIChs
b2FkZWQgYW5kIHRvdGFsKS4KKworVXBsb2FkIGNhc2U6IHZlcmlmeSB0aGF0IGFib3J0IGFuZCBs
b2FkZW5kIGV2ZW50cyBoYXZlIHRoZWlyIFByb2dyZXNzRXZlbnQgYXR0cmlidXRlcyAobG9hZGVk
LCB0b3RhbCBhbmQgbGVuZ3RoQ29tcHV0YWJsZSkgY29ycmVjdGx5IHNldC4KKworUEFTUworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3VwbG9hZC1v
bmFib3J0LXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25hYm9ydC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0
ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xZjgxMTcwMjg0NTZjZDFlZTMxOGI1MDY0ZGM0MGUxYTRiYmE4
Y2EwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC91cGxvYWQtb25hYm9ydC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMuaHRtbApAQCAtMCww
ICsxLDc4IEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRlc3QgY2FzZSBmb3IgYnVnIDEyMDgy
OCAoYWJvcnQgY2FzZSk8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0IGNhc2UgZm9y
IDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA4Mjgi
PiBidWcgMTIwODI4PC9hPjogQ29ycmVjdGx5IHNldCBYSFIgbG9hZGVuZCBhdHRyaWJ1dGVzIChs
b2FkZWQgYW5kIHRvdGFsKS48L3A+Cis8cD5VcGxvYWQgY2FzZTogdmVyaWZ5IHRoYXQgYWJvcnQg
YW5kIGxvYWRlbmQgZXZlbnRzIGhhdmUgdGhlaXIgUHJvZ3Jlc3NFdmVudCBhdHRyaWJ1dGVzIChs
b2FkZWQsIHRvdGFsIGFuZCBsZW5ndGhDb21wdXRhYmxlKSBjb3JyZWN0bHkgc2V0LjwvcD4KKzxw
IGlkPWNvbnNvbGU+PC9wPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9CisKK3ZhciBzdGF0dXMgPSAiUEFTUyI7Cit2YXIg
dG90YWwgPSAxOwordmFyIGxvYWRlZCA9IDE7Cit2YXIgdXBsb2FkZWREYXRhID0gImQiOworCitm
dW5jdGlvbiBvblByb2dyZXNzRXZlbnQoZSkKK3sKKyAgICBpZiAoIWUubGVuZ3RoQ29tcHV0YWJs
ZSkKKyAgICAgICAgZmFpbCgiRXZlbnQgIiArIGUudHlwZSArICIgbGVuZ3RoQ29tcHV0YWJsZSBp
cyBmYWxzZSIpOworICAgIGlmIChlLnRvdGFsICE9IHRvdGFsIHx8IGUubG9hZGVkICE9IGxvYWRl
ZCkKKyAgICAgICAgZmFpbCgiRXZlbnQgIiArIGUudHlwZSArICIgdG90YWwvbG9hZGVkIHZhbHVl
cyBub3QgbWF0Y2hpbmc6ICIgCisgICAgICAgICAgICArICIoIiArIGUubG9hZGVkICsgIiAvICIg
KyBlLnRvdGFsICsgIiksIGV4cGVjdGVkICgiICsgbG9hZGVkICsgIiAvICIgKyB0b3RhbCArICIp
Iik7Cit9CisKK2Z1bmN0aW9uIG9uVW5leHBlY3RlZFByb2dyZXNzRXZlbnQoZSkKK3sKKyAgICBm
YWlsKCJ1bmV4cGVjdGVkIFByb2dyZXNzRXZlbnQ6ICIgKyBlLnR5cGUpOworfQorCitmdW5jdGlv
biBmYWlsKG1zZykKK3sKKyAgICBzdGF0dXMgPSAiRkFJTEVEOiAiICsgbXNnOworICAgIGNvbXBs
ZXRlVGVzdCgpOworICAgIHN0YXR1cyA9ICIiOworfQorCitmdW5jdGlvbiBjb21wbGV0ZVRlc3Qo
KQoreworICAgIGxvZyhzdGF0dXMpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICByZXEudXBsb2FkLm9uZXJyb3Ig
PSBvblVuZXhwZWN0ZWRQcm9ncmVzc0V2ZW50OworICAgIHJlcS51cGxvYWQub25sb2FkID0gb25V
bmV4cGVjdGVkUHJvZ3Jlc3NFdmVudDsKKyAgICByZXEudXBsb2FkLm9uYWJvcnQgPSBvblByb2dy
ZXNzRXZlbnQ7CisgICAgcmVxLnVwbG9hZC5vbnByb2dyZXNzID0gZnVuY3Rpb24oZSkgeworICAg
ICAgICBvblByb2dyZXNzRXZlbnQoZSk7CisgICAgICAgIHJlcS5hYm9ydCgpOworICAgIH0KKyAg
ICByZXEudXBsb2FkLm9ubG9hZGVuZCA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgb25Qcm9ncmVz
c0V2ZW50KGUpOworICAgICAgICBjb21wbGV0ZVRlc3QoKTsKKyAgICB9CisKKyAgICByZXEub3Bl
bigiUE9TVCIsICJyZXNvdXJjZXMvcG9zdC1lY2hvLmNnaSIsIHRydWUpOworICAgIHJlcS5zZW5k
KHVwbG9hZGVkRGF0YSk7Cit9CisKKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgdmFy
IGNvbnNvbGVFbHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICAgIGNv
bnNvbGVFbHQuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyLz4iOworfQorCit0ZXN0KCk7IAor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXBsb2FkLW9ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJp
YnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC91cGxvYWQtb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGY2YzhiYzUxMzZhZWFkODIzMWRmYmY5OWM4YmFhNzViYzI4OTZhNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvdXBsb2Fk
LW9ubG9hZC1wcm9ncmVzc2V2ZW50LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NiBAQAorVGVzdCBjYXNlIGZvciBidWcgMTIwODI4OiBDb3JyZWN0bHkgc2V0IFhIUiBsb2FkZW5k
IGF0dHJpYnV0ZXMgKGxvYWRlZCBhbmQgdG90YWwpLgorCitVcGxvYWQgY2FzZTogdmVyaWZ5IHRo
YXQgbG9hZCBhbmQgbG9hZGVuZCBldmVudHMgaGF2ZSB0aGVpciBQcm9ncmVzc0V2ZW50IGF0dHJp
YnV0ZXMgKGxvYWRlZCwgdG90YWwgYW5kIGxlbmd0aENvbXB1dGFibGUpIGNvcnJlY3RseSBzZXQu
CisKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC91cGxvYWQtb25sb2FkLXByb2dyZXNzZXZlbnQtYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC91cGxvYWQtb25sb2FkLXByb2dyZXNzZXZl
bnQtYXR0cmlidXRlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0MzFiMGNhNzBlZjg5YjNhNmM0NTE0OWVk
NTJlNDI3NTYxMTg5OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3VwbG9hZC1vbmxvYWQtcHJvZ3Jlc3NldmVudC1hdHRyaWJ1dGVzLmh0
bWwKQEAgLTAsMCArMSw3NCBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UZXN0IGNhc2UgZm9y
IGJ1ZyAxMjA4Mjg8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cD4gVGVzdCBjYXNlIGZvciA8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwODI4Ij4g
YnVnIDEyMDgyODwvYT46IENvcnJlY3RseSBzZXQgWEhSIGxvYWRlbmQgYXR0cmlidXRlcyAobG9h
ZGVkIGFuZCB0b3RhbCkuPC9wPgorPHA+IFVwbG9hZCBjYXNlOiB2ZXJpZnkgdGhhdCBsb2FkIGFu
ZCBsb2FkZW5kIGV2ZW50cyBoYXZlIHRoZWlyIFByb2dyZXNzRXZlbnQgYXR0cmlidXRlcyAobG9h
ZGVkLCB0b3RhbCBhbmQgbGVuZ3RoQ29tcHV0YWJsZSkgY29ycmVjdGx5IHNldC48L3A+Cis8cCBp
ZD1jb25zb2xlPjwvcD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCit2YXIgc3RhdHVzID0gIlBBU1MiOwordmFyIHRv
dGFsID0gMTsKK3ZhciBsb2FkZWQgPSAxOwordmFyIHVwbG9hZGVkRGF0YSA9ICJkIjsKKworZnVu
Y3Rpb24gb25Qcm9ncmVzc0V2ZW50KGUpCit7CisgICAgaWYgKCFlLmxlbmd0aENvbXB1dGFibGUp
CisgICAgICAgIGZhaWwoIkV2ZW50ICIgKyBlLnR5cGUgKyAiZXZlbnQgbGVuZ3RoQ29tcHV0YWJs
ZSA9IGZhbHNlIik7CisgICAgaWYgKGUudG90YWwgIT0gdG90YWwgfHwgZS5sb2FkZWQgIT0gbG9h
ZGVkKQorICAgICAgICBmYWlsKCJFdmVudCAiICsgZS50eXBlICsgInRvdGFsL2xvYWRlZCB2YWx1
ZXMgbm90IG1hdGNoaW5nOiAiCisgICAgICAgICAgICArICIoIiArIGUubG9hZGVkICsgIiAvICIg
KyBlLnRvdGFsICsgIiksIGV4cGVjdGVkICgiICsgbG9hZGVkICsgIiAvICIgKyB0b3RhbCArICIp
Iik7Cit9CisKK2Z1bmN0aW9uIG9uVW5leHBlY3RlZFByb2dyZXNzRXZlbnQoZSkKK3sKKyAgICBm
YWlsKCJ1bmV4cGVjdGVkIFByb2dyZXNzRXZlbnQ6ICIgKyBlLnR5cGUpOworfQorCitmdW5jdGlv
biBmYWlsKG1zZykKK3sKKyAgICBzdGF0dXMgPSAiRkFJTEVEOiAiICsgbXNnOworICAgIGNvbXBs
ZXRlVGVzdCgpOworICAgIHN0YXR1cyA9ICIiOworfQorCitmdW5jdGlvbiBjb21wbGV0ZVRlc3Qo
KQoreworICAgIGxvZyhzdGF0dXMpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICByZXEudXBsb2FkLm9uYWJvcnQg
PSBvblVuZXhwZWN0ZWRQcm9ncmVzc0V2ZW50OworICAgIHJlcS51cGxvYWQub25lcnJvciA9IG9u
VW5leHBlY3RlZFByb2dyZXNzRXZlbnQ7CisgICAgcmVxLnVwbG9hZC5vbnByb2dyZXNzID0gb25Q
cm9ncmVzc0V2ZW50OworICAgIHJlcS51cGxvYWQub25sb2FkID0gb25Qcm9ncmVzc0V2ZW50Owor
ICAgIHJlcS51cGxvYWQub25sb2FkZW5kID0gZnVuY3Rpb24oZSkgeworICAgICAgICBvblByb2dy
ZXNzRXZlbnQoZSk7CisgICAgICAgIGNvbXBsZXRlVGVzdCgpOworICAgIH0KKworICAgIHJlcS5v
cGVuKCJQT1NUIiwgInJlc291cmNlcy9wb3N0LWVjaG8uY2dpIiwgdHJ1ZSk7CisgICAgcmVxLnNl
bmQodXBsb2FkZWREYXRhKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgdmFy
IGNvbnNvbGVFbHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICAgIGNv
bnNvbGVFbHQuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyLz4iOworfQorCit0ZXN0KCk7IAor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>