<?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>231568</bug_id>
          
          <creation_ts>2021-10-12 05:04:43 -0700</creation_ts>
          <short_desc>Add support for WebRTC media capabilities</short_desc>
          <delta_ts>2021-10-13 02:55:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>231569</blocked>
    
    <blocked>231574</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1803070</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-12 05:04:43 -0700</bug_when>
    <thetext>Add support for WebRTC media capabilities</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803071</commentid>
    <comment_count>1</comment_count>
      <attachid>440917</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-12 05:19:12 -0700</bug_when>
    <thetext>Created attachment 440917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803135</commentid>
    <comment_count>2</comment_count>
      <attachid>440938</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-12 08:44:47 -0700</bug_when>
    <thetext>Created attachment 440938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803144</commentid>
    <comment_count>3</comment_count>
      <attachid>440939</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-12 08:51:49 -0700</bug_when>
    <thetext>Created attachment 440939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803147</commentid>
    <comment_count>4</comment_count>
      <attachid>440940</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-12 08:54:21 -0700</bug_when>
    <thetext>Created attachment 440940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803151</commentid>
    <comment_count>5</comment_count>
      <attachid>440940</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-10-12 08:59:11 -0700</bug_when>
    <thetext>Comment on attachment 440940
Patch

r=me once the bots are happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803657</commentid>
    <comment_count>6</comment_count>
      <attachid>441042</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-13 00:04:32 -0700</bug_when>
    <thetext>Created attachment 441042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803689</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-13 02:54:15 -0700</bug_when>
    <thetext>Committed r284085 (242913@main): &lt;https://commits.webkit.org/242913@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441042.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803690</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-13 02:55:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/84189517&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440917</attachid>
            <date>2021-10-12 05:19:12 -0700</date>
            <delta_ts>2021-10-12 08:44:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231568-20211012141911.patch</filename>
            <type>text/plain</type>
            <size>119805</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk3OGFlZTkyMjk2Mzk3
Njk0MmU4ZjRmY2Y1NzJmYzliZDIyNTc0Zi4uOTZiOGRjNTIwMDkxZGU4NzNiZTQ5YmQ5YTY3MzJm
NDYyZGM2NDNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTEwLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
V2ViUlRDIG1lZGlhIGNhcGFiaWxpdGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIFdlYlJUQyBkZWNvZGluZyBhbmQgZW5jb2RpbmcgdHlwZS4K
KyAgICAgICAgSW4gY2FzZSB3ZWJydGMgdHlwZSBpcyB1c2VkLCBmb3J3YXJkIHRoZSBjYWxsIHRv
IExpYldlYlJUQ1Byb3ZpZGVyLgorICAgICAgICBMaWJXZWJSVENQcm92aWRlciB0aGVuIGdldHMg
dW5kZXJseWluZyBSVEMgY2FwYWJpbGl0aWVzIHRvIGV4cG9zZSBtZWRpYSBjYXBhYmlsaXRpZXMu
CisgICAgICAgIEl0IGFsc28gYWRkcyBkZWRpY2F0ZWQgc3VwcG9ydCBmb3IgcG93ZXJFZmZpY2ll
bnQgdmFsdWUuCisgICAgICAgIEFsbCBpbmZvcm1hdGlvbiBpcyBhbHJlYWR5IGV4cG9zZWQgaW4g
ZXhpc3RpbmcgTWVkaWEgQ2FwYWJpbGl0aWVzIG9yIFJUQ1J0cFNlbmRlci9SZWNlaXZlciBnZXRD
YXBhYmlsaXRpZXMgc28gd2UgZG8gbm90IGluY3JlYXNlIGZpbmdlcnByaW50aW5nIGhlcmUuCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFu
eS53b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5n
SW5mb0VuY3J5cHRlZE1lZGlhLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3Mu
YW55Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmlkbDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHA6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5n
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5
cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENQcm92aWRlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1Byb3ZpZGVyLmg6CisKIDIwMjEtMTAtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIEJlZWYgdXAgd29ya2VyIHRlcm1pbmF0aW9uIGhhbmRs
aW5nIGluIFJlYWRhYmxlU3RyZWFtIHJvdXRpbmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3Bw
CmluZGV4IGMzMzYwNGY2NGM5NzUzZTg5OTQwYmFlODEzMzIxMDU3NjgwNDBlOWMuLmNkMzBjNGEy
ODI0Nzk1NDkwYzcxZjFmODc2NjI0ZWUyNWI0NThkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRp
ZXMuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCiAjaW5jbHVk
ZSAiSlNNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIgorI2luY2x1ZGUgIkxpYldlYlJU
Q1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhQ2FwYWJp
bGl0aWVzRGVjb2RpbmdJbmZvLmgiCiAjaW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8uaCIKQEAgLTM5LDYgKzQwLDcgQEAKICNpbmNsdWRlICJNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbi5oIgogI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLmgiCiAjaW5j
bHVkZSAiTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgorI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXIuaD4KICNpbmNs
dWRlIDx3dGYvUm9iaW5Ib29kSGFzaFNldC5oPgpAQCAtMTk1LDcgKzE5Nyw3IEBAIHZvaWQgTWVk
aWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRGVj
b2RpbmdDb25maWd1cmF0CiAgICAgLy8gNC4gTGV0IHAgYmUgYSBuZXcgcHJvbWlzZS4KICAgICAv
LyA1LiBJbiBwYXJhbGxlbCwgcnVuIHRoZSBjcmVhdGUgYSBNZWRpYUNhcGFiaWxpdGllc0luZm8g
YWxnb3JpdGhtIHdpdGggY29uZmlndXJhdGlvbiBhbmQgcmVzb2x2ZSBwIHdpdGggaXRzIHJlc3Vs
dC4KICAgICAvLyA2LiBSZXR1cm4gcC4KLSAgICBkb2N1bWVudC5ldmVudExvb3AoKS5xdWV1ZVRh
c2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbY29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29u
ZmlndXJhdGlvbiksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBsb2dnZXIgPSBXVEZNb3Zl
KGxvZ2dlciksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoKSBtdXRhYmxlIHsK
KyAgICBkb2N1bWVudC5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVt
ZW50LCBbY29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbiksIHByb21pc2UgPSBX
VEZNb3ZlKHByb21pc2UpLCBsb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGlkZW50aWZpZXIgPSBX
VEZNb3ZlKGlkZW50aWZpZXIpLCBkb2N1bWVudCA9IFJlZiB7IGRvY3VtZW50IH1dICgpIG11dGFi
bGUgewogCiAgICAgICAgIC8vIDIuMi4zIElmIGNvbmZpZ3VyYXRpb24gaXMgb2YgdHlwZSBNZWRp
YURlY29kaW5nQ29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vic3RlcHM6CiAgICAg
ICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29uZmlndXJhdGlv
bkNhbGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBsb2dnZXIg
PSBXVEZNb3ZlKGxvZ2dlciksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoYXV0
byBpbmZvKSBtdXRhYmxlIHsKQEAgLTIxNiw2ICsyMTgsMTQgQEAgdm9pZCBNZWRpYUNhcGFiaWxp
dGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0NvbmZp
Z3VyYXQKICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMRGljdGlvbmFyeTxNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykpOwogICAgICAgICB9OwogCisj
aWYgRU5BQkxFKFdFQl9SVEMpCisgICAgICAgIGlmIChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVk
aWFEZWNvZGluZ1R5cGU6OldlYlJUQykgeworICAgICAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSBk
b2N1bWVudC0+cGFnZSgpKQorICAgICAgICAgICAgICAgIHBhZ2UtPmxpYldlYlJUQ1Byb3ZpZGVy
KCkuY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdU
Rk1vdmUoY2FsbGJhY2spKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorI2VuZGlm
CisKICAgICAgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRGVjb2Rp
bmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2sp
KTsKICAgICB9KTsKIH0KQEAgLTIzNiw4ICsyNDYsNyBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVz
OjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5nQ29uZmlndXJh
dAogICAgIC8vIDQuIExldCBwIGJlIGEgbmV3IHByb21pc2UuCiAgICAgLy8gNS4gSW4gcGFyYWxs
ZWwsIHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFsZ29yaXRobSB3aXRo
IGNvbmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQuCiAgICAgLy8gNi4g
UmV0dXJuIHAuCi0gICAgZG9jdW1lbnQuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6
Ok1lZGlhRWxlbWVudCwgW2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBw
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7Ci0KKyAgICBkb2N1bWVudC5l
dmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbY29uZmlndXJh
dGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbiksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
LCAgZG9jdW1lbnQgPSBSZWYgeyBkb2N1bWVudCB9XSAoKSBtdXRhYmxlIHsKICAgICAgICAgLy8g
Mi4yLjQuIElmIGNvbmZpZ3VyYXRpb24gaXMgb2YgdHlwZSBNZWRpYUVuY29kaW5nQ29uZmlndXJh
dGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vic3RlcHM6CiAgICAgICAgIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNr
ID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKICAg
ICAgICAgICAgIC8vIDIuMi40LjEuIElmIHRoZSB1c2VyIGFnZW50IGlzIGFibGUgdG8gZW5jb2Rl
IHRoZSBtZWRpYQpAQCAtMjU3LDYgKzI2NiwxNCBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpl
bmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdAog
ICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExEaWN0aW9uYXJ5PE1lZGlhQ2FwYWJpbGl0
aWVzRW5jb2RpbmdJbmZvPj4oV1RGTW92ZShpbmZvKSk7CiAgICAgICAgIH07CiAKKyNpZiBFTkFC
TEUoV0VCX1JUQykKKyAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYUVuY29k
aW5nVHlwZTo6V2ViUlRDKSB7CisgICAgICAgICAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50
LT5wYWdlKCkpCisgICAgICAgICAgICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVh
dGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShj
YWxsYmFjaykpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisjZW5kaWYKKwogICAg
ICAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNvZGluZ0NvbmZp
Z3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOwogCiAg
ICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhRGVjb2RpbmdUeXBlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
YXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaWRsCmluZGV4IGQzOTE0NDAwZTEzMTA0NzYw
YjliY2Q4YmY0NjFhMGZiZmFiMjA0NTcuLjMwN2Q1MzY0NzMzZmQ5Y2RjM2Q0NTJmODFlZWZiMjI0
YTU2MGMyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmls
aXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaWRsCkBAIC0yNSw1ICsyNSw2IEBA
CiAKIGVudW0gTWVkaWFEZWNvZGluZ1R5cGUgewogICAiZmlsZSIsCi0gICJtZWRpYS1zb3VyY2Ui
CisgICJtZWRpYS1zb3VyY2UiLAorICAid2VicnRjIgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlw
ZS5pZGwKaW5kZXggOWEyYTIwOTk1MzM3MGEzYjQ0MjllNjVlYTc3MjdmMDYxZTg3YmI3Yi4uY2U4
YTY0ZWFkMjc2MmE1ZjJmMjQ3MzJkMTMwOWRlMTZjMzc4NmJkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29k
aW5nVHlwZS5pZGwKQEAgLTI1LDUgKzI1LDUgQEAKIAogZW51bSBNZWRpYUVuY29kaW5nVHlwZSB7
CiAgICJyZWNvcmQiLAotICAidHJhbnNtaXNzaW9uIgorICAid2VicnRjIgogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmYWNi
M2JkZDAyOGNmMmQwNmYwZmYxOGVlMDI5NjM3ODc2MDQzMTcyLi5mNTIxMTE3YjM2ZDhhNWQwMWY2
YzhkMjc0OThkNjNjMzEwNTQ0NzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDg1LDcgKzEwODUsNyBAQAogCQk0MTI5QzlB
OTFGNTlDNTZCMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4QzM5NUYxQzhG
MEFBQjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5QzlBQjFGNTlD
NTczMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEMzOTVCMUM4RjBBNjEwMDUxQzhBMyAvKiBS
ZWFkYWJsZVN0cmVhbVNvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxMjlDOUFGMUY1OUNGNUIwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVh
bVNpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
MjlDOTgwMUY1ODYxQzcwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0MTJERTRCODIxOTI4NUMw
MDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTJERTRCNjIxOTI4NUJGMDA3NUYzQTcgLyogUlRDUnRw
Q2FwYWJpbGl0aWVzLmggKi87IH07CisJCTQxMkRFNEI4MjE5Mjg1QzAwMDc1RjNBNyAvKiBSVENS
dHBDYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxMkRFNEI2MjE5Mjg1QkYwMDc1RjNBNyAvKiBSVENSdHBDYXBhYmlsaXRpZXMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTJERUYx
RDIzQTkxODY2MDBEODQwRjYgLyogTW9ja0F1ZGlvU2hhcmVkVW5pdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0NEVDRUIxRTBDNEFFNTAwMEQwOTQ0
IC8qIE1vY2tBdWRpb1NoYXJlZFVuaXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0MTJERUYxRjIzQTkxOEEzMDBEODQwRjYgLyogQmFzZUF1ZGlv
U2hhcmVkVW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE3N0Y1MUUyMzgyNTQ1RTAwQzA0NDg2IC8qIEJhc2VBdWRpb1NoYXJlZFVuaXQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTMzQ0I4QjIw
RjgwRTk5MDBFODlCMTEgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZUNvY29hLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzNDQjg5MjBGODBFODYw
MEU4OUIxMSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwICovOyB9OwpAQCAtMTE4
MCw2ICsxMTgwLDcgQEAKIAkJNDE4Rjg4MDUwRkY5NTdBRjAwODBGMDQ1IC8qIEpTQWJzdHJhY3RX
b3JrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
OEY4ODAzMEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmggKi87IH07CiAJCTQx
OEZDQkMxMjcwNkU0RkIwMEY5NkVDQSAvKiBQdXNoRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEZDQkJEMjcwNkU0RjcwMEY5NkVDQSAvKiBQ
dXNoRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MThGQ0JDMjI3MDZFNTAxMDBGOTZFQ0EgLyogUHVzaEV2ZW50SW5pdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4RkNCQkYyNzA2RTRGODAw
Rjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk0MThGQ0JFNzI3MTVBMjhGMDBGOTZFQ0EgLyogUlRDUnRwQ29k
ZWNDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MUUwQTdEQzIzQkI2M0RCMDA1NjEwNjAgLyogUlRDUnRwQ29kZWNDYXBhYmlsaXR5Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MEYz
QTUyNEEwQjRFRTAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAv
KiBGcmFtZVJhdGVNb25pdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZUNvY29hLm1tICovOyB9OwogCQk0MTlBQ0Y5MjFGOTdFN0RBMDA5RjFBODMgLyog
U2VydmljZVdvcmtlckZldGNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTlBQ0Y4RTFGOTdFN0Q1MDA5RjFBODMgLyogU2VydmljZVdvcmtlckZldGNo
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgx
NDgsNiArODE0OSw3IEBACiAJCTQxOEZDQkNCMjcwNkYzQ0QwMEY5NkVDQSAvKiBTZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUrUHVzaEFQSS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlNlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZStQdXNoQVBJLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEZDQkNDMjcw
NkY0MzQwMEY5NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDE4RkNCQ0QyNzA2RjQzNDAwRjk2RUNBIC8qIFNlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZVB1c2hBUEkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlUHVzaEFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
OEZDQkU4MjcxNUFBMTkwMEY5NkVDQSAvKiBKU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVSYXRlTW9u
aXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0EzMjQ5RDE1Mjgw
MDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNv
Y29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVhbHRpbWVP
dXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNTAyNyw3ICsxNTAyOSw2IEBACiAJCUNDQzJCNTEwMTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZp
Y2VDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlQ2xpZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNDQzJCNTExMTVGNjEzMDYwMDQ4Q0RE
NiAvKiBEZXZpY2VDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERldmljZUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDQ0MyQjUxMjE1RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJvbGxlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCUNEMDMyMDE1MjI3OUY1QkYwMEREOUYwQiAvKiBKU01lZGlhQ2Fw
YWJpbGl0aWVzQ3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0
b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwNjNGODAxRTIzRkE4OTAwODEy
QkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5pdERhdGFSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNEMDYzRjgxMUUyM0ZBODkwMDgxMkJFMyAvKiBJbml0RGF0YVJlZ2lzdHJ5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluaXREYXRhUmVnaXN0cnkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwQzhCNTgyMTQxQzhDQTAwNjJGNTlEIC8qIE1lZGlhQ2Fw
YWJpbGl0aWVzSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNhcGFiaWxpdGllc0luZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMjEzLDcgKzIzMjE0LDcgQEAKIAkJCQlB
N0QwMzE4RDBFOTM1NDAzMDBFMjRBQ0QgLyogSlNJbWFnZURhdGFDdXN0b20uY3BwICovLAogCQkJ
CTU4NjhDN0Q1MjU0NkUwQjMwMEJGOURGMyAvKiBKU0ludGVyc2VjdGlvbk9ic2VydmVyQ3VzdG9t
LmNwcCAqLywKIAkJCQk3N0MxM0YwNDIxNjU2NThBMDAyRDlDNUYgLyogSlNJbnRlcnNlY3Rpb25P
YnNlcnZlckVudHJ5Q3VzdG9tLmNwcCAqLywKLQkJCQlDRDAzMjAxNTIyNzlGNUJGMDBERDlGMEIg
LyogSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oICovLAorCQkJCTQxOEZDQkU4MjcxNUFBMTkw
MEY5NkVDQSAvKiBKU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggKi8sCiAJCQkJQUQ3MjZGRTcx
NkQ5RjIwNDAwM0E0RTZEIC8qIEpTTWVkaWFMaXN0Q3VzdG9tLmggKi8sCiAJCQkJNDE1Q0RBRjYx
RTZDRTBEMzAwNEYxMUVFIC8qIEpTTWVkaWFTdHJlYW1UcmFja0N1c3RvbS5jcHAgKi8sCiAJCQkJ
RTFBNUY5OUEwRTdFQUEyNTAwQUY4NUVBIC8qIEpTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwICov
LApAQCAtMzUyMDAsNiArMzUyMDEsNyBAQAogCQkJCUJDOEFFMzRGMTJFQTA5NkEwMEVCM0FFNiAv
KiBTY3JvbGxhYmxlQXJlYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQ5MjVCNjgwRjY0RDRERDAw
Qjg0N0YwIC8qIFNjcm9sbEFsaWdubWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZBNjFCMEUy
NkY0MzIxMzAwMUFBREI2IC8qIFNjcm9sbEFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDE4RkNCRTcyNzE1QTI4RjAwRjk2RUNBIC8qIFJUQ1J0cENvZGVjQ2FwYWJpbGl0eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEYwRTAwOUMyNkY5MkQ4NDAwQUNFOUM2IC8qIFNjcm9sbEFuaW1hdGlv
bk1vbWVudHVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlDQTNCRjY3RTEwRDk5QkFFMDBFNkNFNTMg
LyogU2Nyb2xsQW5pbWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMTc3NDgwMTM3OEI3NzIw
MDlEQTc2QSAvKiBTY3JvbGxBbmltYXRvcklPUy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmgK
aW5kZXggZTIwYzgzNTg5YjgwNmQwZjZmYjc3ZTk3YjMyMTE3ZGNjMGUwZTdiNy4uODI0NzI3Nzk5
MDZkYzc4OTUxYjNhYTAyZGQxMmNiOGMwNmY4YjMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaApAQCAtMzEsMTIg
KzMxLDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQUxXQVlTX0lOTElORSBib29sIEpTTWVk
aWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm9Jc0VuYWJsZWQoKQogeworI2lmIEVOQUJMRShXRUJf
UlRDKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKICAgICByZXR1cm4gTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOworI2Vu
ZGlmCiB9CiAKIEFMV0FZU19JTkxJTkUgYm9vbCBKU01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvSXNFbmFibGVkKCkKIHsKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICByZXR1cm4gdHJ1ZTsK
KyNlbHNlCiAgICAgcmV0dXJuIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0Rl
Y29kaW5nQ29uZmlndXJhdGlvbkZhY3RvcnkoKTsKKyNlbmRpZgogfQogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGJm
YTRhOTNhZWEwOTFmYjUxZGNmNzA2NDczNDdhMzg3YWNjOTY1MTIuLmY4YjRhMWNlMmNjZGM4MmU2
ODlmMGYzNzk2NzAzOThmYmNkZDk1NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0yMjc5LDYgKzIyNzksNyBAQCBzdWIg
R2V0RW51bWVyYXRpb25WYWx1ZU5hbWUKICAgICBteSAoJG5hbWUpID0gQF87CiAKICAgICByZXR1
cm4gIkVtcHR5U3RyaW5nIiBpZiAkbmFtZSBlcSAiIjsKKyAgICByZXR1cm4gIldlYlJUQyIgaWYg
JG5hbWUgZXEgIndlYnJ0YyI7CiAgICAgJG5hbWUgPSBqb2luKCIiLCBtYXAgeyAkY29kZUdlbmVy
YXRvci0+V0tfdWNmaXJzdCgkXykgfSBzcGxpdCgiLSIsICRuYW1lKSk7CiAgICAgJG5hbWUgPSAi
XyRuYW1lIiBpZiAkbmFtZSA9fiAvXlxkLzsKICAgICByZXR1cm4gJG5hbWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5Q29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNvY29hLmNwcAppbmRleCA5
NzQ5NGVlNmM1YzhiNjk5MjM0ZWE3Yzk2NmRkZDFhYzZhYTQyNGU2Li4xMjIyNjAzN2NiMTUwMzc0
ZjAxMGViMzAwNjMxYzE0NTEwY2I4MTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29jb2Eu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHAKQEAgLTYzLDggKzYzLDIwIEBAIHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gY29tcHV0ZU1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyhjb25zdCBNCiAgICAgaWYgKGNvbmZpZ3VyYXRpb24udmlkZW8pIHsKICAgICAg
ICAgYXV0byYgdmlkZW9Db25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbi52aWRlby52YWx1ZSgp
OwogICAgICAgICBNZWRpYUVuZ2luZVN1cHBvcnRQYXJhbWV0ZXJzIHBhcmFtZXRlcnMgeyB9Owor
CisgICAgICAgIHN3aXRjaCAoY29uZmlndXJhdGlvbi50eXBlKSB7CisgICAgICAgIGNhc2UgTWVk
aWFEZWNvZGluZ1R5cGU6OkZpbGU6CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3Vy
Y2UgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1lZGlhRGVjb2Rp
bmdUeXBlOjpNZWRpYVNvdXJjZToKKyAgICAgICAgICAgIHBhcmFtZXRlcnMuaXNNZWRpYVNvdXJj
ZSA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBNZWRpYURlY29kaW5n
VHlwZTo6V2ViUlRDOgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICB9CisKICAgICAgICAgcGFyYW1ldGVy
cy50eXBlID0gQ29udGVudFR5cGUodmlkZW9Db25maWd1cmF0aW9uLmNvbnRlbnRUeXBlKTsKLSAg
ICAgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNlID0gY29uZmlndXJhdGlvbi50eXBlID09IE1l
ZGlhRGVjb2RpbmdUeXBlOjpNZWRpYVNvdXJjZTsKICAgICAgICAgaWYgKE1lZGlhUGxheWVyOjpz
dXBwb3J0c1R5cGUocGFyYW1ldGVycykgIT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNT
dXBwb3J0ZWQpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxp
dGllc0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCmluZGV4IDJjZWI2ZjY2ZjhjODVjODc0ZjgyZTlk
MTY5NmVjYWM4ZjYwNDljMWQuLmUzMTg4YmViNGUxMWM3ZTVhNjM3YjNhZTIxYmY1MjMzY2IzNDJj
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCkBAIC00MSw3ICs0
MSw3IEBAIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzsKIGVudW0gY2xhc3Mg
Q29sb3JHYW11dCA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIEhkck1ldGFkYXRhVHlwZSA6IHVpbnQ4
X3Q7CiBlbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90OwotZW51bSBjbGFzcyBN
ZWRpYURlY29kaW5nVHlwZSA6IGJvb2w7CitlbnVtIGNsYXNzIE1lZGlhRGVjb2RpbmdUeXBlIDog
dWludDhfdDsKIGVudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5cGUgOiBib29sOwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURl
Y29kaW5nVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMv
TWVkaWFEZWNvZGluZ1R5cGUuaAppbmRleCA0MTVlMGI3MjA5ZWE1MGUxNTk2YjJhOGJkMmYyYTM5
MjgzNjE4OGE3Li5mNDFkMDE2YTE3MWEwYzNhMjM0YjAyYzg2YWJlZWFiYTIwZjc3MmU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURl
Y29kaW5nVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0
aWVzL01lZGlhRGVjb2RpbmdUeXBlLmgKQEAgLTI3LDkgKzI3LDEwIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZSA6IGJvb2wgeworZW51bSBj
bGFzcyBNZWRpYURlY29kaW5nVHlwZSA6IHVpbnQ4X3QgewogICAgIEZpbGUsCiAgICAgTWVkaWFT
b3VyY2UsCisgICAgV2ViUlRDCiB9OwogCiB9CkBAIC00MCw3ICs0MSw4IEBAIHRlbXBsYXRlPD4g
c3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU+IHsKICAgICB1c2lu
ZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZSwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU6OkZpbGUsCi0gICAgICAgIFdl
YkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlOjpNZWRpYVNvdXJjZQorICAgICAgICBXZWJDb3JlOjpN
ZWRpYURlY29kaW5nVHlwZTo6TWVkaWFTb3VyY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRGVj
b2RpbmdUeXBlOjpXZWJSVEMKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmgK
aW5kZXggMDEyYThjNmQ1Mzk2N2Q5YjRlZGMyMjIzYWU0OTAwNTMxZjVmMWZkNy4uYjNiNDgwMTNl
MTkyMjUxN2UyYjQwNWQzMGYzZGU3MGU5ZmI2MTQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlw
ZS5oCkBAIC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBN
ZWRpYUVuY29kaW5nVHlwZSA6IGJvb2wgewogICAgIFJlY29yZCwKLSAgICBUcmFuc21pc3Npb24s
CisgICAgV2ViUlRDLAogfTsKIAogfQpAQCAtNDAsNyArNDAsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVj
dCBFbnVtVHJhaXRzPFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlPiB7CiAgICAgdXNpbmcgdmFs
dWVzID0gRW51bVZhbHVlczwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGUsCiAg
ICAgICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlOjpSZWNvcmQsCi0gICAgICAgIFdlYkNv
cmU6Ok1lZGlhRW5jb2RpbmdUeXBlOjpUcmFuc21pc3Npb24KKyAgICAgICAgV2ViQ29yZTo6TWVk
aWFFbmNvZGluZ1R5cGU6OldlYlJUQwogICAgID47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1Byb3ZpZGVyLmNwcAppbmRleCA1YWY3OWFkNDg1ODY4NDBmNDg3NTdkZWZlOGEzYTY2ZTU2
ZDNiZWNiLi4wZDgwOWQ2MGFkY2RkOWZjOWYyYTI1ODExYWI4YWYzZmY2Mjc4M2Q4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTI3LDkgKzI3LDEzIEBACiAjaW5j
bHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKIAogI2lmIFVTRShMSUJXRUJSVEMpCisjaW5jbHVk
ZSAiQ29udGVudFR5cGUuaCIKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb01vZHVsZS5oIgogI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJSVENSdHBDYXBhYmlsaXRpZXMuaCIKKyNpbmNs
dWRlICJNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgorI2luY2x1ZGUgIk1lZGlhQ2Fw
YWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTWVkaWFEZWNvZGluZ0NvbmZpZ3Vy
YXRpb24uaCIKKyNpbmNsdWRlICJNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oIgogI2luY2x1
ZGUgPGRsZmNuLmg+CiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCkBAIC00MzEsMTEg
KzQzNSwzNiBAQCBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gTGliV2ViUlRDUHJv
dmlkZXI6OnJlY2VpdmVyQ2FwYWJpbGl0aWVzKGNvbnN0CiAgICAgaWYgKCFtZWRpYVR5cGUpCiAg
ICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvKiBmYWN0b3J5ID0gdGhpcy0+ZmFjdG9yeSgp
OwotICAgIGlmICghZmFjdG9yeSkKKyAgICBzd2l0Y2ggKCptZWRpYVR5cGUpIHsKKyAgICBjYXNl
IGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9BVURJTzoKKyAgICAgICAgcmV0dXJuIGF1
ZGlvRGVjb2RpbmdDYXBhYmlsaXRpZXMoKTsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6
TUVESUFfVFlQRV9WSURFTzoKKyAgICAgICAgcmV0dXJuIHZpZGVvRGVjb2RpbmdDYXBhYmlsaXRp
ZXMoKTsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9EQVRBOgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICBjYXNl
IGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9VTlNVUFBPUlRFRDoKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQorfQorCitzdGQ6
Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4mIExpYldlYlJUQ1Byb3ZpZGVyOjphdWRpb0Rl
Y29kaW5nQ2FwYWJpbGl0aWVzKCkKK3sKKyAgICBpZiAoIW1fYXVkaW9EZWNvZGluZ0NhcGFiaWxp
dGllcykgeworICAgICAgICBpZiAoYXV0byogZmFjdG9yeSA9IHRoaXMtPmZhY3RvcnkoKSkKKyAg
ICAgICAgICAgIG1fYXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllcyA9IHRvUlRDUnRwQ2FwYWJpbGl0
aWVzKGZhY3RvcnktPkdldFJ0cFJlY2VpdmVyQ2FwYWJpbGl0aWVzKGNyaWNrZXQ6Ok1lZGlhVHlw
ZTo6TUVESUFfVFlQRV9BVURJTykpOworICAgIH0KKyAgICByZXR1cm4gbV9hdWRpb0RlY29kaW5n
Q2FwYWJpbGl0aWVzOworfQogCi0gICAgcmV0dXJuIHRvUlRDUnRwQ2FwYWJpbGl0aWVzKGZhY3Rv
cnktPkdldFJ0cFJlY2VpdmVyQ2FwYWJpbGl0aWVzKCptZWRpYVR5cGUpKTsKK3N0ZDo6b3B0aW9u
YWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiYgTGliV2ViUlRDUHJvdmlkZXI6OnZpZGVvRGVjb2RpbmdD
YXBhYmlsaXRpZXMoKQoreworICAgIGlmICghbV92aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzKSB7
CisgICAgICAgIGlmIChhdXRvKiBmYWN0b3J5ID0gdGhpcy0+ZmFjdG9yeSgpKQorICAgICAgICAg
ICAgbV92aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzID0gdG9SVENSdHBDYXBhYmlsaXRpZXMoZmFj
dG9yeS0+R2V0UnRwUmVjZWl2ZXJDYXBhYmlsaXRpZXMoY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJ
QV9UWVBFX1ZJREVPKSk7CisgICAgfQorICAgIHJldHVybiBtX3ZpZGVvRGVjb2RpbmdDYXBhYmls
aXRpZXM7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBMaWJXZWJSVENQ
cm92aWRlcjo6c2VuZGVyQ2FwYWJpbGl0aWVzKGNvbnN0IFN0cmluZyYga2luZCkKQEAgLTQ0NCwx
MyArNDczLDEzOCBAQCBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gTGliV2ViUlRD
UHJvdmlkZXI6OnNlbmRlckNhcGFiaWxpdGllcyhjb25zdCBTdAogICAgIGlmICghbWVkaWFUeXBl
KQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byogZmFjdG9yeSA9IHRoaXMtPmZhY3Rv
cnkoKTsKLSAgICBpZiAoIWZhY3RvcnkpCisgICAgc3dpdGNoICgqbWVkaWFUeXBlKSB7CisgICAg
Y2FzZSBjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfQVVESU86CisgICAgICAgIHJldHVy
biBhdWRpb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgY2FzZSBjcmlja2V0OjpNZWRpYVR5
cGU6Ok1FRElBX1RZUEVfVklERU86CisgICAgICAgIHJldHVybiB2aWRlb0VuY29kaW5nQ2FwYWJp
bGl0aWVzKCk7CisgICAgY2FzZSBjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfREFUQToK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAg
Y2FzZSBjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfVU5TVVBQT1JURUQ6CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4geyB9OworICAgIH0KK30KIAot
ICAgIHJldHVybiB0b1JUQ1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBTZW5kZXJDYXBh
YmlsaXRpZXMoKm1lZGlhVHlwZSkpOworc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+
JiBMaWJXZWJSVENQcm92aWRlcjo6YXVkaW9FbmNvZGluZ0NhcGFiaWxpdGllcygpCit7CisgICAg
aWYgKCFtX2F1ZGlvRW5jb2RpbmdDYXBhYmlsaXRpZXMpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZh
Y3RvcnkgPSB0aGlzLT5mYWN0b3J5KCkpCisgICAgICAgICAgICBtX2F1ZGlvRW5jb2RpbmdDYXBh
YmlsaXRpZXMgPSB0b1JUQ1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBTZW5kZXJDYXBh
YmlsaXRpZXMoY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX0FVRElPKSk7CisgICAgfQor
ICAgIHJldHVybiBtX2F1ZGlvRW5jb2RpbmdDYXBhYmlsaXRpZXM7Cit9CisKK3N0ZDo6b3B0aW9u
YWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiYgTGliV2ViUlRDUHJvdmlkZXI6OnZpZGVvRW5jb2RpbmdD
YXBhYmlsaXRpZXMoKQoreworICAgIGlmICghbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzKSB7
CisgICAgICAgIGlmIChhdXRvKiBmYWN0b3J5ID0gdGhpcy0+ZmFjdG9yeSgpKQorICAgICAgICAg
ICAgbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzID0gdG9SVENSdHBDYXBhYmlsaXRpZXMoZmFj
dG9yeS0+R2V0UnRwU2VuZGVyQ2FwYWJpbGl0aWVzKGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFf
VFlQRV9WSURFTykpOworICAgIH0KKyAgICByZXR1cm4gbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0
aWVzOwogfQogCiAjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKIAorc3RkOjpvcHRpb25hbDxSVENS
dHBDb2RlY0NhcGFiaWxpdHk+IExpYldlYlJUQ1Byb3ZpZGVyOjpjb2RlY0NhcGFiaWxpdHkoY29u
c3QgQ29udGVudFR5cGUmIGNvbnRlbnRUeXBlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENh
cGFiaWxpdGllcz4mIGNhcGFiaWxpdGllcykKK3sKKyAgICBpZiAoIWNhcGFiaWxpdGllcykKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1dG8gY29udGFpbmVyVHlwZSA9IGNvbnRlbnRUeXBl
LmNvbnRhaW5lclR5cGUoKTsKKyAgICBmb3IgKGF1dG8mIGNvZGVjIDogY2FwYWJpbGl0aWVzLT5j
b2RlY3MpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJMaWJXZWJSVENQcm92aWRlcjo6Y29k
ZWNDYXBhYmlsaXR5ICVzICVzXG4iLCBjb250YWluZXJUeXBlLnV0ZjgoKS5kYXRhKCksIGNvZGVj
Lm1pbWVUeXBlLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJ
Q2FzZShjb250YWluZXJUeXBlLCBjb2RlYy5taW1lVHlwZSkpCisgICAgICAgICAgICByZXR1cm4g
Y29kZWM7CisgICAgfQorICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgTGliV2ViUlRDUHJvdmlk
ZXI6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29uZmlndXJhdGlv
biYmIGNvbmZpZ3VyYXRpb24sIERlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJh
Y2spCit7CisgICAgQVNTRVJUKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYURlY29kaW5nVHlw
ZTo6V2ViUlRDKTsKKworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgLy8gRklYTUU6IFZhbGlkYXRl
IGFkZGl0aW9uYWwgcGFyYW1ldGVycywgaW4gcGFydGljdWxhciBtaW1lIHR5cGUgcGFyYW1ldGVy
cy4KKyAgICBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyBpbmZvIHsgV1RGTW92ZShjb25m
aWd1cmF0aW9uKSB9OworCisgICAgaWYgKGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi52aWRl
bykgeworICAgICAgICBDb250ZW50VHlwZSBjb250ZW50VHlwZSB7IGluZm8uc3VwcG9ydGVkQ29u
ZmlndXJhdGlvbi52aWRlby0+Y29udGVudFR5cGUgfTsKKyAgICAgICAgYXV0byBjb2RlYyA9IGNv
ZGVjQ2FwYWJpbGl0eShjb250ZW50VHlwZSwgdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGllcygpKTsK
KyAgICAgICAgaWYgKCFjb2RlYykgeworICAgICAgICAgICAgY2FsbGJhY2soeyB9KTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpbmZvLnN1cHBvcnRlZCA9IHRydWU7
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgICAgIGF1dG8gY29udGFpbmVyVHlwZSA9IGNvbnRl
bnRUeXBlLmNvbnRhaW5lclR5cGUoKTsKKyAgICAgICAgaWYgKGNvbnRhaW5lclR5cGUgPT0gInZp
ZGVvL3ZwOCIpCisgICAgICAgICAgICBpbmZvLnBvd2VyRWZmaWNpZW50ID0gZmFsc2U7CisgICAg
ICAgIGVsc2UgaWYgKGNvbnRhaW5lclR5cGUgPT0gInZpZGVvL3ZwOSIpCisgICAgICAgICAgICBp
bmZvLnBvd2VyRWZmaWNpZW50ID0gaXNTdXBwb3J0aW5nVlA5VlRCKCk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGluZm8ucG93ZXJFZmZpY2llbnQgPSB0cnVlOworICAgICAgICBpbmZvLnNt
b290aCA9IGluZm8ucG93ZXJFZmZpY2llbnQ7CisjZW5kaWYKKyAgICB9CisgICAgaWYgKGluZm8u
c3VwcG9ydGVkQ29uZmlndXJhdGlvbi5hdWRpbykgeworICAgICAgICBDb250ZW50VHlwZSBjb250
ZW50VHlwZSB7IGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi5hdWRpby0+Y29udGVudFR5cGUg
fTsKKyAgICAgICAgYXV0byBjb2RlYyA9IGNvZGVjQ2FwYWJpbGl0eShjb250ZW50VHlwZSwgYXVk
aW9EZWNvZGluZ0NhcGFiaWxpdGllcygpKTsKKyAgICAgICAgaWYgKCFjb2RlYykgeworICAgICAg
ICAgICAgY2FsbGJhY2soeyB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICBpbmZvLnN1cHBvcnRlZCA9IHRydWU7CisgICAgfQorICAgIGNhbGxiYWNrKFdURk1vdmUo
aW5mbykpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29uZmlndXJhdGlvbik7CisgICAgY2Fs
bGJhY2soeyB9KTsKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQorfQorCit2b2lkIExpYldlYlJU
Q1Byb3ZpZGVyOjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFFbmNvZGluZ0NvbmZp
Z3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYm
IGNhbGxiYWNrKQoreworICAgIEFTU0VSVChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVkaWFFbmNv
ZGluZ1R5cGU6OldlYlJUQyk7CisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIC8vIEZJWE1FOiBW
YWxpZGF0ZSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMsIGluIHBhcnRpY3VsYXIgbWltZSB0eXBlIHBh
cmFtZXRlcnMuCisgICAgTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8gaW5mbyB7IFdURk1v
dmUoY29uZmlndXJhdGlvbikgfTsKKworICAgIGlmIChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRp
b24udmlkZW8pIHsKKyAgICAgICAgQ29udGVudFR5cGUgY29udGVudFR5cGUgeyBpbmZvLnN1cHBv
cnRlZENvbmZpZ3VyYXRpb24udmlkZW8tPmNvbnRlbnRUeXBlIH07CisgICAgICAgIGF1dG8gY29k
ZWMgPSBjb2RlY0NhcGFiaWxpdHkoY29udGVudFR5cGUsIHZpZGVvRW5jb2RpbmdDYXBhYmlsaXRp
ZXMoKSk7CisgICAgICAgIGlmICghY29kZWMpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHsgfSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaW5mby5zdXBwb3J0ZWQg
PSB0cnVlOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgICAgICBhdXRvIGNvbnRhaW5lclR5cGUg
PSBjb250ZW50VHlwZS5jb250YWluZXJUeXBlKCk7CisgICAgICAgIGlmIChjb250YWluZXJUeXBl
ID09ICJ2aWRlby92cDgiKQorICAgICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9IGZhbHNl
OworICAgICAgICBlbHNlIGlmIChjb250YWluZXJUeXBlID09ICJ2aWRlby92cDkiKQorICAgICAg
ICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9IGlzU3VwcG9ydGluZ1ZQOVZUQigpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBpbmZvLnBvd2VyRWZmaWNpZW50ID0gdHJ1ZTsKKyAgICAgICAg
aW5mby5zbW9vdGggPSBpbmZvLnBvd2VyRWZmaWNpZW50OworI2VuZGlmCisgICAgfQorICAgIGlm
IChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24uYXVkaW8pIHsKKyAgICAgICAgQ29udGVudFR5
cGUgY29udGVudFR5cGUgeyBpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24uYXVkaW8tPmNvbnRl
bnRUeXBlIH07CisgICAgICAgIGF1dG8gY29kZWMgPSBjb2RlY0NhcGFiaWxpdHkoY29udGVudFR5
cGUsIGF1ZGlvRW5jb2RpbmdDYXBhYmlsaXRpZXMoKSk7CisgICAgICAgIGlmICghY29kZWMpIHsK
KyAgICAgICAgICAgIGNhbGxiYWNrKHsgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKyAgICAgICAgaW5mby5zdXBwb3J0ZWQgPSB0cnVlOworICAgIH0KKyAgICBjYWxsYmFjayhX
VEZNb3ZlKGluZm8pKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbmZpZ3VyYXRpb24pOwor
ICAgIGNhbGxiYWNrKHsgfSk7CisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAppbmRleCAz
NmM2NGE4M2NlZjkyODkyN2IyNjBkYTc3MDg0ZGFlMjVlOTE5ZTRhLi5iYzVjMGUyZjcxZjBjMjZl
M2E1MzNhNDE4YzNlMTRkZGE4NjJmYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlk
ZXIuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkxpYldlYlJUQ01hY3Jvcy5oIgogI2lu
Y2x1ZGUgIk1ETlNSZWdpc3RlckVycm9yLmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWxSZW1v
dGVIYW5kbGVyQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlJUQ1J0cENhcGFiaWxpdGllcy5oIgog
I2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9FeHBlY3Rl
ZC5oPgogI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KQEAgLTYyLDcgKzYzLDEyIEBAIGNsYXNz
IFBlZXJDb25uZWN0aW9uRmFjdG9yeUludGVyZmFjZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CitjbGFzcyBDb250ZW50VHlwZTsKIGNsYXNzIExpYldlYlJUQ0F1ZGlvTW9kdWxlOworc3RydWN0
IE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOworc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVz
RW5jb2RpbmdJbmZvOworc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOworc3RydWN0
IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOwogY2xhc3MgUmVnaXN0cmFibGVEb21haW47CiBz
dHJ1Y3QgUGVlckNvbm5lY3Rpb25GYWN0b3J5QW5kVGhyZWFkczsKIHN0cnVjdCBSVENSdHBDYXBh
YmlsaXRpZXM7CkBAIC04Nyw2ICs5MywxMSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFJlZlB0
cjxSVENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uPiBjcmVhdGVSVENEYXRhQ2hh
bm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCisgICAg
dXNpbmcgRGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvJiYpPjsKKyAgICB1c2luZyBFbmNvZGluZ0NvbmZpZ3Vy
YXRpb25DYWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0lu
Zm8mJik+OworICAgIHZvaWQgY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uJiYsIERlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworICAg
IHZvaWQgY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uJiYsIEVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworCiAjaWYgVVNFKExJQldF
QlJUQykKICAgICB2aXJ0dWFsIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0
aW9uSW50ZXJmYWNlPiBjcmVhdGVQZWVyQ29ubmVjdGlvbihEb2N1bWVudElkZW50aWZpZXIsIHdl
YnJ0Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZlciYsIHJ0Yzo6UGFja2V0U29ja2V0RmFjdG9yeSos
IHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U6OlJUQ0NvbmZpZ3VyYXRpb24mJik7CiAK
QEAgLTE0OSw2ICsxNjAsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBzdGFydGVk
TmV0d29ya1RocmVhZCgpIHsgfTsKIAogICAgIFBlZXJDb25uZWN0aW9uRmFjdG9yeUFuZFRocmVh
ZHMmIGdldFN0YXRpY0ZhY3RvcnlBbmRUaHJlYWRzKGJvb2wgdXNlTmV0d29ya1RocmVhZFdpdGhT
b2NrZXRTZXJ2ZXIpOworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiYgYXVk
aW9EZWNvZGluZ0NhcGFiaWxpdGllcygpOworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJp
bGl0aWVzPiYgdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGllcygpOworICAgIHN0ZDo6b3B0aW9uYWw8
UlRDUnRwQ2FwYWJpbGl0aWVzPiYgYXVkaW9FbmNvZGluZ0NhcGFiaWxpdGllcygpOworICAgIHN0
ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiYgdmlkZW9FbmNvZGluZ0NhcGFiaWxpdGll
cygpOworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ29kZWNDYXBhYmlsaXR5PiBjb2RlY0NhcGFi
aWxpdHkoY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFi
aWxpdGllcz4mKTsKIAogICAgIGJvb2wgbV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRl
cmZhY2VzIHsgZmFsc2UgfTsKICAgICAvLyBGSVhNRTogUmVtb3ZlIG1fdXNlTmV0d29ya1RocmVh
ZFdpdGhTb2NrZXRTZXJ2ZXIgbWVtYmVyIHZhcmlhYmxlIGFuZCBtYWtlIGl0IGEgZ2xvYmFsLgpA
QCAtMTYyLDYgKzE3OCwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX3N1cHBvcnRzVlA5VlRC
IHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlRFRMUzEwIHsgZmFsc2UgfTsKICAgICBib29sIG1f
c3VwcG9ydHNNRE5TIHsgZmFsc2UgfTsKKworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJp
bGl0aWVzPiBtX2F1ZGlvRGVjb2RpbmdDYXBhYmlsaXRpZXM7CisgICAgc3RkOjpvcHRpb25hbDxS
VENSdHBDYXBhYmlsaXRpZXM+IG1fdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGllczsKKyAgICBzdGQ6
Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gbV9hdWRpb0VuY29kaW5nQ2FwYWJpbGl0aWVz
OworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBtX3ZpZGVvRW5jb2RpbmdD
YXBhYmlsaXRpZXM7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NzI2ZGVkMjUzMGNjOGJkMTZkY2Iz
N2ViNmM3M2UyMGYzZjg1MWRiLi5iYmM1MGQ0YWFhNGNiZjUwODNiNjM2MDkwYjRjNjAxYWFmZmRj
MmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTAtMTIgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBXZWJSVEMgbWVkaWEg
Y2FwYWJpbGl0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzE1NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHRlc3RzLW9wdGlvbnMuanNvbjoKKwogMjAyMS0xMC0xMCAgU2lodWkgTGl1ICA8c2lo
dWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgaXRlcmF0aW5nIEZp
bGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDExOTQ5MjNkZGIwMTBiNWE1ZDBlNGFjZjkzM2VmNmNhM2E5YzYyM2MuLjcxMmUxMjE4NDc0OWVk
YjE3NTQxY2UwNDdlMjM2NDEwNzZhZDM3N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTEwLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2ViUlRDIG1lZGlhIGNhcGFiaWxp
dGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
NTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBy
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvUkVBRE1FLm1kOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5m
by5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55
Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5m
by53ZWJydGMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlw
dGVkTWVkaWEuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0VuY3J5cHRlZE1lZGlhLmh0
dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNv
ZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRs
aGFybmVzcy5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5h
bnkuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53
b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMjEtMTAtMTAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGl0ZXJh
dGluZyBGaWxlU3lzdGVtRGlyZWN0b3J5SGFuZGxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4
IDY4ZWMyODNlOTQxMjkxMDJjNjM2ZDRlODJmYjY2MDIyOWI0NTgyOGEuLjYxMGRkNWNmZDVhZjUw
ZmJkNjkxMWZjMTcwNTM4YmZhNDBiZDI2OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0z
NjAsNyArMzYwLDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2xvbmd0YXNrLXRpbWluZyI6
ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tYWduZXRvbWV0ZXIiOiAic2tpcCIs
IAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sIjogImltcG9ydCIsIAotICAgICJ3ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzIjogInNraXAiLCAKKyAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1pbWFnZSI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9NRVRBLnltbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL01FVEEueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZDAwZWZiOWE3NjRlMjlmODk1YWY3YjQ3NjFmNzBl
OTNmYTFkMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9NRVRBLnltbApAQCAtMCwwICsxLDMg
QEAKK3NwZWM6IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRpZXMvCitzdWdn
ZXN0ZWRfcmV2aWV3ZXJzOgorICAtIG1vdW5pcmxhbW91cmkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL1JF
QURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmU5OTQ5NzZjMDc2ODcwNjIz
NzFhYTgyMTA0Yzg5MGYzYjA5ZDVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvUkVBRE1FLm1k
CkBAIC0wLDAgKzEsMTQgQEAKKyMgTWVkaWEgQ2FwYWJpbGl0aWVzIHNwZWNpZmljYXRpb24gVGVz
dHMKKworVGhlIE1lZGlhIENhcGFiaWxpdGllcyBzcGVjaWZpY2F0aW9uIGlzIGF2YWlsYWJsZSBo
ZXJlOiBodHRwczovL3dpY2cuZ2l0aHViLmlvL21lZGlhLWNhcGFiaWxpdGllcworCitHaXRIdWIg
cmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvbWVkaWEtY2FwYWJpbGl0aWVzCisK
K0ZpbGUgYW4gaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS93aWNnL21lZGlhLWNhcGFiaWxpdGll
cy9pc3N1ZXMvbmV3CisKKyMjIFN0YXR1cyBvZiB0aGVzZSB0ZXN0cworCitUaGVzZSB0ZXN0cyBh
cmUgc3RpbGwgdmVyeSBlYXJseS4gVGhlIHNwZWNpZmljYXRpb24gaXMgc3RpbGwgV0lQIGFuZCB0
aGV5IHRyeSB0bworcmVmbGVjdCBhcyBtdWNoIGFzIHBvc3NpYmxlIHRoZSBjdXJyZW50IHN0YXRl
IG9mIHRoZSBzcGVjaWZpY2F0aW9uLiBQbGVhc2UgZmlsZQoraXNzdWVzIGlmIHRoZXJlIGFyZSBp
bmNvbnNpc3RlbmNpZXMgYmV0d2VlbiB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgdGhlIHRlc3RzIG9y
CitpZiB0ZXN0cyBhcmUgb2J2aW91c2x5IG1pc3NpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNv
ZGluZ0luZm8uYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE1NjU5NGIxYmFmY2E0OWMyNjVjZTIyMGNiOGViNmQwYzA2ZTFk
YjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMxIEBACisKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZAorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlv
biBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZp
ZWxkCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0
ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQorUEFTUyBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
Y29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlw
ZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyIGFz
c2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0
IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQorUEFTUyBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgv
eQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJl
amVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMKK1BBU1Mg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9u
IGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlw
ZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlv
IGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyBh
c3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhh
dCBpc24ndCBjb2RlY3MKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFs
aWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
Im9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQg
dHlwZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBz
ZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyB3aXRoIGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11dCwgYW5kIHRy
YW5zZmVyRnVuY3Rpb24gc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8g
b2JqZWN0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmlu
ZWQiCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBoYXMgYW4gZW1wdHkgaGRyTWV0YWRhdGFUeXBlCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBjb2xv
ckdhbXV0IHNldCB0byB0cnVlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAz
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29k
aW5nSW5mby5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1
MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS5o
dG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQg
dGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnku
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3MmQ0N2U4NzI5NTc3
NWYyMDdmZWRkNmYzZjY4NjgxY2EzMmFkNzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNv
ZGluZ0luZm8uYW55LmpzCkBAIC0wLDAgKzEsMzgzIEBACisvLyBNRVRBOiB0aW1lb3V0PWxvbmcK
Kyd1c2Ugc3RyaWN0JzsKKworLy8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxs
IGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlz
c2luZy4KK3ZhciBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTog
J3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICB3aWR0aDogODAwLAorICBo
ZWlnaHQ6IDYwMCwKKyAgYml0cmF0ZTogMzAwMCwKKyAgZnJhbWVyYXRlOiAyNCwKK307CisKKy8v
IE1pbmltYWwgQXVkaW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVj
LiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbEF1
ZGlvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby93ZWJtOyBjb2RlY3M9
Im9wdXMiJywKK307CisKKy8vIEF1ZGlvQ29uZmlndXJhdGlvbiB3aXRoIG9wdGlvbmFsIHNwYXRp
YWxSZW5kZXJpbmcgcGFyYW0uCit2YXIgYXVkaW9Db25maWd1cmF0aW9uV2l0aFNwYXRpYWxSZW5k
ZXJpbmcgPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicsCisg
IHNwYXRpYWxSZW5kZXJpbmc6IHRydWUsCit9OworCisvLyBWaWRlb0NvbmZpZ3VyYXRpb24gd2l0
aCBvcHRpb25hbCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQsIGFuZAorLy8gdHJhbnNmZXJG
dW5jdGlvbiBwcm9wZXJ0aWVzLgordmFyIHZpZGVvQ29uZmlndXJhdGlvbldpdGhEeW5hbWljUmFu
Z2UgPSB7CisgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4
IicsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBm
cmFtZXJhdGU6IDI0LAorICBoZHJNZXRhZGF0YVR5cGU6ICJzbXB0ZVN0MjA4NiIsCisgIGNvbG9y
R2FtdXQ6ICJzcmdiIiwKKyAgdHJhbnNmZXJGdW5jdGlvbjogInNyZ2IiLAorfQorCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKCkpOworfSwgIlRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBhIGNvbmZpZ3VyYXRpb24i
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7fSkp
OworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1
cmF0aW9uIGlzbid0IHZhbGlkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8oeworICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAor
ICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBu
b3QgaGF2ZSBhIHR5cGUiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBh
dWRpbyBvciB2aWRlbyBmaWVsZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAg
IGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAg
ICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAor
ICAgICAgZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZl
IGZyYW1lcmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRU
eXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDog
ODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJh
bWVyYXRlOiAwLAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAw
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRl
by93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAg
ICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IElu
ZmluaXR5LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZp
bml0eSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAn
Zmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0
cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogewor
ICAgICAgY29udGVudFR5cGU6ICdhdWRpby9mZ2VvYScsCisgICAgICB3aWR0aDogODAwLAorICAg
ICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAy
NCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8i
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVv
L3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCI7IGZvbz0iYmFyIicsCisgICAgICB3aWR0aDog
ODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJh
bWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRo
YW4gb25lIHBhcmFtZXRlciIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNv
bnRlbnRUeXBlOiAndmlkZW8vd2VibTsgZm9vPSJiYXIiJywKKyAgICAgIHdpZHRoOiA4MDAsCisg
ICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6
IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIg
dGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBj
b250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAg
d2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAg
ICAgIGZyYW1lcmF0ZTogJzI0MDAwLzEwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhh
dCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kiKTsK
KworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dl
Ym07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhl
aWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAw
LzAnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3Rz
IGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVv
OiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4w
OCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0
ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzAvMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwg
IlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBv
ZiAwL3kiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTog
J3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwK
KyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0
ZTogJy0yNDAwMC8xMDAwMScsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5n
SW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2Zp
bGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVj
cz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAw
LAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLy0xMDAwMScs
CisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJh
bWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7
CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCIn
LAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTog
MzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLycsCisgICAgfQorICB9KSk7Cit9LCAiVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgv
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRl
by93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAg
ICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcx
LzN4JywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycyIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
ZmlsZScsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdmZ2VvYScgfSwKKyAgfSkpOworfSwg
IlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlv
biBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiB7
IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVkaW86IHsgY29udGVu
dFR5cGU6ICdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiOyBmb289ImJhciInIH0sCisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3Vy
YXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
ZmlsZScsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby93ZWJtOyBmb289ImJhciIn
IH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1
ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24n
dCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZp
ZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9D
b25maWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYWJpbGl0eS5rZXlTeXN0ZW1BY2Nlc3MsICJvYmplY3QiKTsKKyAgfSk7Cit9LCAi
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJ
bmZvIG9iamVjdHMiKTsKKworYXN5bmNfdGVzdCh0ID0+IHsKKyAgdmFyIHZhbGlkVHlwZXMgPSBb
ICdmaWxlJywgJ21lZGlhLXNvdXJjZScgXTsKKyAgdmFyIGludmFsaWRUeXBlcyA9IFsgdW5kZWZp
bmVkLCBudWxsLCAnJywgJ2Zvb2JhcicsICdtc2UnLCAnTWVkaWFTb3VyY2UnLAorICAgICAgICAg
ICAgICAgICAgICAgICAncmVjb3JkJywgJ3RyYW5zbWlzc2lvbicgXTsKKworICB2YXIgdmFsaWRQ
cm9taXNlcyA9IFtdOworICB2YXIgaW52YWxpZENhdWdodCA9IDA7CisKKyAgdmFsaWRUeXBlcy5m
b3JFYWNoKHR5cGUgPT4geworICAgIHZhbGlkUHJvbWlzZXMucHVzaChuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICAgIHR5cGU6IHR5cGUsCisgICAgICB2aWRl
bzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9D
b25maWd1cmF0aW9uLAorICAgIH0pKTsKKyAgfSk7CisKKyAgLy8gdmFsaWRUeXBlcyBhcmUgdGVz
dGVkIHZpYSBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKSBiZWNhdXNlIGlmIG9uZSBvZiB0aGUK
KyAgLy8gcHJvbWlzZXMgZmFpbCwgUHJvbWlzZS5hbGwoKSB3aWxsIHJlamVjdC4gVGhpcyBtZWNo
YW5pc20gY2FuJ3QgYmUgdXNlZCBmb3IKKyAgLy8gaW52YWxpZCB0eXBlcyB3aGljaCB3aWxsIGJl
IHRlc3RlZCBpbmRpdmlkdWFsbHkgYW5kIGluY3JlbWVudCBpbnZhbGlkQ2F1Z2h0CisgIC8vIHdo
ZW4gcmVqZWN0ZWQgdW50aWwgdGhlIGFtb3VudCBvZiByZWplY3Rpb24gbWF0Y2hlcyB0aGUgZXhw
ZWN0YXRpb24uCisgIFByb21pc2UuYWxsKHZhbGlkUHJvbWlzZXMpLnRoZW4odC5zdGVwX2Z1bmMo
KCkgPT4geworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW52YWxpZFR5cGVzLmxlbmd0aDsgKytp
KSB7CisgICAgICBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAg
ICAgICAgdHlwZTogaW52YWxpZFR5cGVzW2ldLAorICAgICAgICB2aWRlbzogbWluaW1hbFZpZGVv
Q29uZmlndXJhdGlvbiwKKyAgICAgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24s
CisgICAgICB9KS50aGVuKHQudW5yZWFjaGVkX2Z1bmMoKSwgdC5zdGVwX2Z1bmMoZSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZS5uYW1lLCAnVHlwZUVycm9yJyk7CisgICAgICAgICsraW52
YWxpZENhdWdodDsKKyAgICAgICAgaWYgKGludmFsaWRDYXVnaHQgPT0gaW52YWxpZFR5cGVzLmxl
bmd0aCkKKyAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0pKTsKKyAgICB9CisgIH0pLCB0LnVu
cmVhY2hlZF9mdW5jKCdQcm9taXNlLmFsbCBzaG91bGQgbm90IHJlamVjdCBmb3IgdmFsaWQgdHlw
ZXMnKSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNv
bmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBhdWRpb0NvbmZpZ3VyYXRpb25XaXRo
U3BhdGlhbFJlbmRlcmluZywKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1
YWxzKHR5cGVvZiBhYmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHR5cGVvZiBhYmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHR5cGVvZiBhYmlsaXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCAib2JqZWN0Iik7CisgIH0pOwor
fSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gd2l0aCBzcGF0aWFsUmVuZGVyaW5nIHNldCByZXR1
cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMiKTsKKworcHJvbWlzZV90
ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB2aWRlb0NvbmZpZ3VyYXRpb25X
aXRoRHluYW1pY1JhbmdlLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVh
bHModHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVh
bHModHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2YgYWJpbGl0eS5rZXlTeXN0ZW1BY2Nlc3MsICJvYmplY3QiKTsKKyAgfSk7Cit9
LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11
dCwgYW5kIHRyYW5zZmVyRnVuY3Rpb24gc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxp
dGllc0luZm8gb2JqZWN0cyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNv
bnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3
aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAg
ICAgZnJhbWVyYXRlOiAyNCwKKyAgICAgIGhkck1ldGFkYXRhVHlwZTogIiIKKyAgICB9LAorICB9
KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGhhcyBhbiBlbXB0eSBoZHJNZXRhZGF0YVR5cGUiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAor
ICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAw
OS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAg
ICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgICBjb2xvckdhbXV0
OiB0cnVlCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBjb2xvckdhbXV0IHNldCB0byB0cnVl
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRl
by93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAg
ICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0
LAorICAgICAgdHJhbnNmZXJGdW5jdGlvbjogMworICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEg
dHJhbnNmZXJGdW5jdGlvbiBzZXQgdG8gMyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJ
bmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjgwZjIyMGZlYmViY2Q2YWE4NGY3YTBiMDdl
MGZiMjNmNzg2NzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lndv
cmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMSBAQAorCitGQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBhIGNvbmZpZ3VyYXRpb24gdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFD
b25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
JykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0
aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkgdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZSB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZp
ZGVvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3Jl
IHRoYW4gb25lIHBhcmFtZXRlciB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcyB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2Yg
eC8wIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
bygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveSB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0
ZSBpbiB0aGUgZm9ybSBvZiAteC95IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgv
LXkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8gdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
d2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycyB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
bycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29u
ZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
YXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0
ZXJzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUg
cGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBo
YXZlIGEgdmFsaWQgdHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gd2l0aCBzcGF0aWFsUmVuZGVyaW5nIHNldCByZXR1cm5zIGEgdmFsaWQg
TWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQor
RkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggaGRyTWV0YWRhdGFUeXBlLCBjb2xvckdh
bXV0LCBhbmQgdHJhbnNmZXJGdW5jdGlvbiBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBh
biBlbXB0eSBoZHJNZXRhZGF0YVR5cGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
aGFzIGEgY29sb3JHYW11dCBzZXQgdG8gdHJ1ZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitG
QUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAzIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvJykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUy
OGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVz
L2RlY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUg
dGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGlu
Z0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWM2N2I3ZTY1NDM2NGRiYmEx
NjljZTYyMTExODQ4MWYwYjExNzRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJ
bmZvLndlYnJ0Yy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorCitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUg
YW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQor
UEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0
IHRvIEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBh
cnNlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmpl
Y3RzCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQsIHNtb290
aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9uLXdlYnJ0YyB2aWRlbyBj
b250ZW50IHR5cGUuCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0
ZWQsIHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9uLXdlYnJ0
YyBhdWRpbyBjb250ZW50IHR5cGUuCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJu
cyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL29wdXMgcmV0dXJuZWQgYnkgUlRD
UnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgYXVkaW8vSVNBQyByZXR1cm5l
ZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyBhdWRpby9HNzIy
IHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1
ZGlvL1BDTVUgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BB
U1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUg
Y29kZWMgYXVkaW8vUENNQSByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRp
ZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUg
Zm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tl
dGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NjQwYzFmIHJldHVybmVkIGJ5IFJUQ1J0
cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL0gyNjQ7IGxldmVsLWFz
eW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00
MmUwMWYgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1Mg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29k
ZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1v
ZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MGMxZiByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5n
ZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3Vw
cG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBsZXZlbC1hc3ltbWV0cnktYWxs
b3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDJlMDFmIHJldHVy
bmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL0gy
NjUgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMg
dmlkZW8vVlA4IHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQ
QVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhl
IGNvZGVjIHZpZGVvL1ZQOTsgcHJvZmlsZS1pZD0wIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVy
LmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBz
dXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL1ZQOTsgcHJvZmlsZS1pZD0yIHJldHVy
bmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2RlY29kaW5nSW5mby53ZWJydGMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMjgzOTU2MTAwNjk3MDY5NGFkNTRlODZhMDYxM2Q4YzJjZmJiMjVm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy5odG1sCkBAIC0w
LDAgKzEsMjE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5NZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oKSBmb3Igd2VicnRjPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisvLyBNaW5pbWFsIFZpZGVvQ29u
ZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisv
LyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgorY29uc3QgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlv
biA9IHsKKyAgY29udGVudFR5cGU6ICd2aWRlby9WUDk7IHByb2ZpbGUtbGV2ZWw9IjAiJywKKyAg
d2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0
ZTogMjQsCit9OworCisvLyBNaW5pbWFsIEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUg
YWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5n
LgorY29uc3QgbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdh
dWRpby9vcHVzJywKK307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2Vf
cmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBh
dWRpbyBvciB2aWRlbyBmaWVsZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAg
ICAgY29udGVudFR5cGU6ICd2aWRlby9WUDknLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhl
aWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogLTEsCisg
ICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dl
YnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vVlA5IicsCisg
ICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAw
LAorICAgICAgZnJhbWVyYXRlOiAwLAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVy
YXRlIHNldCB0byAwIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2Vf
cmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250
ZW50VHlwZTogJ3ZpZGVvL1ZQOSInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDog
NjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogSW5maW5pdHksCisg
ICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5Iik7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBl
RXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5
cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2ZnZW9hJywK
KyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMw
MDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5
cGUgZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICdhdWRpby9mZ2VvYScsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVp
Z2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAg
ICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8iKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVF
cnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ3dlYnJ0YycsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdmZ2VvYScgfSwKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAg
IGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0
eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAg
ICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgfSkudGhlbihhYmlsaXR5ID0+
IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4i
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVh
biIpOworICB9KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBN
ZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0
eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93
ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBo
ZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAor
ICAgIH0sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4o
YWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3VwcG9ydGVkKTsKKyAgICBh
c3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnBv
d2VyRWZmaWNpZW50KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5z
IHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0IHRvIGZhbHNlIGZvciBu
b24td2VicnRjIHZpZGVvIGNvbnRlbnQgdHlwZS4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisg
ICAgYXVkaW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVz
IicsCisgICAgfSwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZmFsc2UoYWJp
bGl0eS5zdXBwb3J0ZWQpOworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnNtb290aCk7CisgICAg
YXNzZXJ0X2ZhbHNlKGFiaWxpdHkucG93ZXJFZmZpY2llbnQpOworICB9KTsKK30sICJUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkLCBzbW9vdGgsIGFuZCBwb3dlckVmZmlj
aWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMgYXVkaW8gY29udGVudCB0eXBlLiIpOwor
Citjb25zdCB2YWxpZEF1ZGlvQ29kZWNzID0gKCgpID0+IHsKKyAgLy8gU29tZSBjb2RlY3MgdGhh
dCBhcmUgcmV0dXJuZWQgYnkgZ2V0Q2FwYWJpbGl0aWVzKCkgYXJlIG5vdCByZWFsIGNvZGVjcywK
KyAgLy8gZXhjbHVkZSB0aGVzZSBmcm9tIHRoZSB0ZXN0LgorICBjb25zdCBleGNsdWRlTGlzdCA9
IFsgJ2F1ZGlvL0NOJywgJ2F1ZGlvL3RlbGVwaG9uZS1ldmVudCcsICdhdWRpby9yZWQnIF07Cisg
IGNvbnN0IGF1ZGlvQ29kZWNzID0gW107CisgIFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGll
cygiYXVkaW8iKVsnY29kZWNzJ10uZm9yRWFjaChjb2RlYyA9PiB7CisgICAgaWYgKGV4Y2x1ZGVM
aXN0LmluZGV4T2YoY29kZWMubWltZVR5cGUpIDwgMCAmJgorICAgICAgICBhdWRpb0NvZGVjcy5p
bmRleE9mKGNvZGVjLm1pbWVUeXBlKSA8IDApIHsKKyAgICAgIGF1ZGlvQ29kZWNzLnB1c2goY29k
ZWMubWltZVR5cGUpOworICAgIH0KKyAgfSk7CisgIHJldHVybiBhdWRpb0NvZGVjczsKK30pKCk7
CisKK3ZhbGlkQXVkaW9Db2RlY3MuZm9yRWFjaChjb2RlYyA9PiB7CisgIHByb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8o
eworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIGF1ZGlvOiB7CisgICAgICBjb250ZW50VHlwZTog
Y29kZWMKKyAgICB9CisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X3RydWUoYWJp
bGl0eS5zdXBwb3J0ZWQpOworICB9KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVy
bnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyAiICsgY29kZWMgKyAiIHJldHVybmVkIGJ5
IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpIil9CispOworCitjb25zdCB2YWxpZFZp
ZGVvQ29kZWNzID0gKCgpID0+IHsKKyAgLy8gU29tZSBjb2RlY3MgdGhhdCBhcmUgcmV0dXJuZWQg
YnkgZ2V0Q2FwYWJpbGl0aWVzKCkgYXJlIG5vdCByZWFsIGNvZGVjcyBidXQKKyAgLy8gb25seSB1
c2VkIGZvciBlcnJvciBjb3JyZWN0aW9uLCBleGNsdWRlIHRoZXNlIGZyb20gdGhlIHRlc3QuCisg
IGNvbnN0IGV4Y2x1ZGVMaXN0ID0gWyAndmlkZW8vcnR4JywgJ3ZpZGVvL3JlZCcsICd2aWRlby91
bHBmZWMnLAorICAgICAgICAgICAgICAgICAgICAgICd2aWRlby9mbGV4ZmVjLTAzJyBdOworICBj
b25zdCB2aWRlb0NvZGVjcyA9IFtdOworCisgIFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGll
cygidmlkZW8iKVsnY29kZWNzJ10uZm9yRWFjaChjb2RlYyA9PiB7CisgICAgaWYgKGV4Y2x1ZGVM
aXN0LmluZGV4T2YoY29kZWMubWltZVR5cGUpIDwgMCkgeworICAgICAgbGV0IG1pbWVUeXBlID0g
Y29kZWMubWltZVR5cGU7CisgICAgICBpZiAoJ3NkcEZtdHBMaW5lJyBpbiBjb2RlYykgeworICAg
ICAgICBtaW1lVHlwZSArPSAiOyAiICsgY29kZWMuc2RwRm10cExpbmU7CisgICAgICB9CisgICAg
ICBpZiAoIShtaW1lVHlwZSBpbiB2aWRlb0NvZGVjcykpIHsKKyAgICAgICAgdmlkZW9Db2RlY3Mu
cHVzaChtaW1lVHlwZSk7CisgICAgICB9CisgICAgfQorICB9KTsKKyAgcmV0dXJuIHZpZGVvQ29k
ZWNzOworfSkoKTsKKwordmFsaWRWaWRlb0NvZGVjcy5mb3JFYWNoKGNvZGVjID0+IHsKKyAgcHJv
bWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNv
bnRlbnRUeXBlOiBjb2RlYywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwK
KyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0KKyAgfSku
dGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZShhYmlsaXR5LnN1cHBvcnRlZCk7Cisg
IH0pOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBm
b3IgdGhlIGNvZGVjICIgKyBjb2RlYyArICIgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0
Q2FwYWJpbGl0aWVzKCkiKX0KKyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVj
b2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGlu
Z0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzdhYTFj
YWYzMGNiMzM5NDI3OWY2NmJiYTMyOGM1M2JjNjE0YzZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACisKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHdpdGggYSBrZXlTeXN0ZW1D
b25maWd1cmF0aW9uIGZhaWxzIG9uIGEgbm9uLXNlY3VyZSBjb250ZXh0LiBhc3NlcnRfdW5yZWFj
aGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjY3YjIzNDMxYjdmZGYzYmFmM2Q0ODQzZDY4Nzc4YmIxY2MxNWM4NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0VuY3J5cHRlZE1lZGlhLmh0dHAuaHRtbApAQCAt
MCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5NZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oKSBmb3IgZW5jcnlwdGVkIG1lZGlhIChub24tc2VjdXJlIGNvbnRleHQpPC90
aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorCisvLyBNaW5pbWFsIFZpZGVvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxs
b3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgor
dmFyIG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAndmlkZW8v
d2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDog
NjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6IDI0LAorfTsKKworLy8gTWluaW1h
bCBNZWRpYUNhcGFiaWxpdGllc0tleVN5c3RlbUNvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFs
bG93ZWQgcGVyCisvLyBzcGVjLiBBbGwgb3B0aW9uYWwgcHJvcGVydGllcyBhcmUgbWlzc2luZy4K
K3ZhciBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiA9IHsKKyAga2V5U3lzdGVtOiAnb3Jn
LnczLmNsZWFya2V5JworfTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2RvbSh0LCAnU2VjdXJpdHlFcnJvcicsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogbWluaW1h
bFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25maWd1cmF0aW9uOiBtaW5pbWFs
S2V5U3lzdGVtQ29uZmlndXJhdGlvbiwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8oKSB3aXRoIGEga2V5U3lzdGVtQ29uZmlndXJhdGlvbiBmYWlscyBvbiBhIG5vbi1zZWN1cmUg
Y29udGV4dC4iKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9F
bmNyeXB0ZWRNZWRpYS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNy
eXB0ZWRNZWRpYS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjdlOWFhYTRhZDkwMDkw
YjBkNzIwZDFkOWY0MTc5MzRhZDcxM2IzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29k
aW5nSW5mb0VuY3J5cHRlZE1lZGlhLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBA
CisKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGFjY2VwdHMgYSBzdHViIGtleSBzeXN0
ZW0gY29uZmlndXJhdGlvbiAody92aWRlbykuCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8o
KSBhY2NlcHRzIGEgc3R1YiBrZXkgc3lzdGVtIGNvbmZpZ3VyYXRpb24gKHcvYXVkaW8pLgorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0cyBhIGtleSBzeXN0ZW0gY29uZmlndXJh
dGlvbiB3aXRoIHZpZGVvIGluZm8uCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBhY2Nl
cHRzIGEga2V5IHN5c3RlbSBjb25maWd1cmF0aW9uIHdpdGggYXVkaW8gaW5mby4KK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgcm9idXN0bmVzcyBhbmQgY29uZmlndXJh
dGlvbiBkbyBub3QgbWF0Y2ggKDEpLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWpl
Y3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiByb2J1c3RuZXNzIGFuZCBjb25maWd1cmF0aW9uIGRv
IG5vdCBtYXRjaCAoMikuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1
bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8oKSByZWplY3RzIGlmIHJvYnVzdG5lc3MgYW5kIGNvbmZpZ3VyYXRpb24gZG8gbm90IG1h
dGNoICgzKS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5l
ZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygp
IHJlamVjdHMgaWYgcGVyc2lzdGVudFN0YXRlIGlzbid0IHZhbGlkLiBhc3NlcnRfdW5yZWFjaGVk
OiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiBkaXN0aW5jdGl2ZUlk
ZW50aWZpZXIgaXNuJ3QgdmFsaWQuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVj
dGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIHNlc3Npb25UeXBlcyBpc24ndCBhIHNlcXVlbmNlLiBh
c3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgZG9lcyBub3Qg
cmVqZWN0IHdoZW4gcHJvcGVydGllcyBhcmUgc2V0IHRvIHVuZXhwZWN0ZWQgdmFsdWVzLgorRkFJ
TCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGll
c0RlY29kaW5nSW5mbyBvYmplY3RzIHdpdGggZW5jcnlwdGVkIG1lZGlhIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgVGVzdCB0aGF0IHJh
bmRvbSBrZXkgc3lzdGVtcyBhcmUgcmVwb3J0ZWQgYXMgbm9uIHN1cHBvcnRlZC4gYXNzZXJ0X2Zh
bHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBUZXN0IHRoYXQga2V5U3lzdGVtQWNj
ZXNzIGlzIG9ubHkgbnVsbCB3aGVuIG5vdCBzdXBwb3J0ZWQgaWYga2V5U3lzdGVtQ29uZmlndXJh
dGlvbiB3YXMgdXNlZC4KK0ZBSUwgVGVzdCB0aGF0IHN1cHBvcnRlZD1mYWxzZSB3aGVuIGtleVN5
c3RlbUNvbmZpZ3VyYXRpb24gaXMgdW5zdXBwb3J0ZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbygpIHdpdGggdHlwZSB3ZWJydGMgcmVqZWN0cyBrZXkgc3lzdGVtIGNv
bmZpZ3VyYXRpb24uIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRl
ZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29k
aW5nSW5mb0VuY3J5cHRlZE1lZGlhLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNy
eXB0ZWRNZWRpYS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhYzkxNGRlODlkZGMwZjdiZWUwMTY5
YTdjN2NlZTA0YWIyNjFmMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9F
bmNyeXB0ZWRNZWRpYS5odHRwcy5odG1sCkBAIC0wLDAgKzEsMjYyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzx0aXRsZT5NZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oKSBmb3IgZW5jcnlwdGVk
IG1lZGlhPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisK
Ky8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBz
cGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1h
bFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2Rl
Y3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2MDAsCisgIGJp
dHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5pbWFsIEF1ZGlvQ29u
ZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisv
LyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24g
PSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicsCit9OworCisv
LyBNaW5pbWFsIE1lZGlhQ2FwYWJpbGl0aWVzS2V5U3lzdGVtQ29uZmlndXJhdGlvbiB0aGF0IHdp
bGwgYmUgYWxsb3dlZCBwZXIKKy8vIHNwZWMuIEFsbCBvcHRpb25hbCBwcm9wZXJ0aWVzIGFyZSBt
aXNzaW5nLgordmFyIG1pbmltYWxLZXlTeXN0ZW1Db25maWd1cmF0aW9uID0geworICBrZXlTeXN0
ZW06ICdvcmcudzMuY2xlYXJrZXknLAorfTsKKworLy8gQ29uZmlnIHdpdGggYm9ndXMgbmFtZSBu
b3QgcHJvdmlkZWQgYnkgYW55IFVBLgordmFyIGJvZ3VzS2V5U3lzdGVtQ29uZmlndXJhdGlvbiA9
IHsKKyAga2V5U3lzdGVtOiAnYm9ndXMnLAorfTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ2ZpbGUnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtl
eVN5c3RlbUNvbmZpZ3VyYXRpb246IG1pbmltYWxLZXlTeXN0ZW1Db25maWd1cmF0aW9uLAorICB9
KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0cyBhIHN0dWIga2V5IHN5c3Rl
bSBjb25maWd1cmF0aW9uICh3L3ZpZGVvKS4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgIGtl
eVN5c3RlbUNvbmZpZ3VyYXRpb246IG1pbmltYWxLZXlTeXN0ZW1Db25maWd1cmF0aW9uLAorICB9
KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0cyBhIHN0dWIga2V5IHN5c3Rl
bSBjb25maWd1cmF0aW9uICh3L2F1ZGlvKS4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ2ZpbGUnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtl
eVN5c3RlbUNvbmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtl
eScsCisgICAgICB2aWRlbzogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAgIH0sCisg
ICAgfSwKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGFjY2VwdHMgYSBrZXkg
c3lzdGVtIGNvbmZpZ3VyYXRpb24gd2l0aCB2aWRlbyBpbmZvLiIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRp
b24sCisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVtOiAnb3Jn
LnczLmNsZWFya2V5JywKKyAgICAgIGF1ZGlvIDogeworICAgICAgICByb2J1c3RuZXNzOiAnJywK
KyAgICAgIH0sCisgICAgfSwKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGFj
Y2VwdHMgYSBrZXkgc3lzdGVtIGNvbmZpZ3VyYXRpb24gd2l0aCBhdWRpbyBpbmZvLiIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAnZmlsZScsCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgICAga2V5
U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVtOiAnb3JnLnczLmNsZWFya2V5
JywKKyAgICAgIHZpZGVvOiB7CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAg
ICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgcm9i
dXN0bmVzcyBhbmQgY29uZmlndXJhdGlvbiBkbyBub3QgbWF0Y2ggKDEpLiIpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmls
ZScsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAga2V5U3lzdGVt
Q29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVtOiAnb3JnLnczLmNsZWFya2V5JywKKyAg
ICAgIGF1ZGlvIDogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAgIH0sCisgICAgfSwK
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIHJvYnVzdG5l
c3MgYW5kIGNvbmZpZ3VyYXRpb24gZG8gbm90IG1hdGNoICgyKS4iKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAor
ICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZp
Z3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtleScsCisgICAgICBh
dWRpbyA6IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgICAgdmlkZW86
IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgIH0sCisgIH0pKTsKK30s
ICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiByb2J1c3RuZXNzIGFuZCBjb25m
aWd1cmF0aW9uIGRvIG5vdCBtYXRjaCAoMykuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzog
bWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmln
dXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25maWd1cmF0aW9uOiB7CisgICAgICBrZXlTeXN0ZW06
ICdvcmcudzMuY2xlYXJrZXknLAorICAgICAgYXVkaW8gOiB7CisgICAgICAgIHJvYnVzdG5lc3M6
ICcnLAorICAgICAgfSwKKyAgICAgIHZpZGVvOiB7CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAor
ICAgICAgfSwKKyAgICAgIHBlcnNpc3RlbnRTdGF0ZTogImZvb2JhciIsCisgICAgfSwKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIHBlcnNpc3RlbnRTdGF0
ZSBpc24ndCB2YWxpZC4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9D
b25maWd1cmF0aW9uLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAg
IGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVh
cmtleScsCisgICAgICBhdWRpbyA6IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9
LAorICAgICAgdmlkZW86IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAg
ICAgZGlzdGluY3RpdmVJZGVudGlmaWVyOiAiZm9vYmFyIiwKKyAgICB9LAorICB9KSk7Cit9LCAi
VGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgZGlzdGluY3RpdmVJZGVudGlmaWVy
IGlzbid0IHZhbGlkLiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0Nv
bmZpZ3VyYXRpb24sCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAg
a2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVtOiAnb3JnLnczLmNsZWFy
a2V5JywKKyAgICAgIGF1ZGlvIDogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAgIH0s
CisgICAgICB2aWRlbzogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAgIH0sCisgICAg
ICBzZXNzaW9uVHlwZXM6ICJmb29iYXIiLAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiBzZXNzaW9uVHlwZXMgaXNuJ3QgYSBzZXF1ZW5jZS4i
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBtaW5p
bWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0
aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbToge30s
CisgICAgICBpbml0RGF0YVR5cGU6IHt9LAorICAgICAgYXVkaW8gOiB7CisgICAgICAgIHJvYnVz
dG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAgIHZpZGVvOiB7CisgICAgICAgIHJvYnVzdG5lc3M6
ICcnLAorICAgICAgfSwKKyAgICB9LAorICB9KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
KCkgZG9lcyBub3QgcmVqZWN0IHdoZW4gcHJvcGVydGllcyBhcmUgc2V0IHRvIHVuZXhwZWN0ZWQg
dmFsdWVzLiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlk
ZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0Nv
bmZpZ3VyYXRpb24sCisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogbWluaW1hbEtleVN5c3Rl
bUNvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHR5cGVvZiBhYmlsaXR5LmtleVN5c3RlbUFjY2VzcywgIm9iamVjdCIpOworICB9KTsKK30s
ICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGll
c0RlY29kaW5nSW5mbyBvYmplY3RzIHdpdGggZW5jcnlwdGVkIG1lZGlhIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmln
dXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25maWd1cmF0aW9uOiB7CisgICAgICBrZXlTeXN0ZW06
ICdmb29iYXInLAorICAgICAgdmlkZW86IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAg
ICB9LAorICAgIH0KKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZmFsc2UoYWJp
bGl0eS5zdXBwb3J0ZWQpOworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnNtb290aCk7CisgICAg
YXNzZXJ0X2ZhbHNlKGFiaWxpdHkucG93ZXJFZmZpY2llbnQpOworICAgIGFzc2VydF9lcXVhbHMo
YWJpbGl0eS5rZXlTeXN0ZW1BY2Nlc3MsIG51bGwpOworICB9KTsKK30sICJUZXN0IHRoYXQgcmFu
ZG9tIGtleSBzeXN0ZW1zIGFyZSByZXBvcnRlZCBhcyBub24gc3VwcG9ydGVkLiIpOworCisvLyBU
T0RPKG1sYW1vdXJpKTogdGhpcyB0ZXN0IGNvdWxkIGJlIHNwbGl0IGluIHR3byB0ZXN0cyBmb3Ig
d2hpY2ggY29kZWMgc3VwcG9ydAorLy8gYWNyb3NzIGJyb3dzZXJzIGlzIHdpZGVseSBjb21wYXRp
YmxlOiBvbmUgd2hlbiBhbGwgYnJvd3NlcnMgd291bGRuJ3Qgc3VwcG9ydAorLy8gYW5kIG9uZSB3
aGVyZSBhbGwgYnJvd3NlcnMgZG8gc3VwcG9ydC4gVGhlIGN1cnJlbnQgYXBwcm9hY2ggaXMgdG8g
Y2hlY2sgdGhhdAorLy8gdGhlIGFuc3dlciBpcyBjb25zaXN0ZW50IHRvIHRoZSBzcGVjLgorcHJv
bWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9D
b25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAg
IGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IG1pbmltYWxLZXlTeXN0ZW1Db25maWd1cmF0aW9uLAor
ICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGlmIChhYmlsaXR5LnN1cHBvcnRlZCkKKyAgICAg
IGFzc2VydF9ub3RfZXF1YWxzKGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCBudWxsKTsKKyAgICBl
bHNlCisgICAgICBhc3NlcnRfZXF1YWxzKGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCBudWxsKTsK
KyAgfSk7Cit9LCAiVGVzdCB0aGF0IGtleVN5c3RlbUFjY2VzcyBpcyBvbmx5IG51bGwgd2hlbiBu
b3Qgc3VwcG9ydGVkIGlmIGtleVN5c3RlbUNvbmZpZ3VyYXRpb24gd2FzIHVzZWQuIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVv
Q29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAg
ICAvLyBTdXBwbHkgYm9ndXMgY29uZmlnIHRvIHJlbGlhYmx5IHJlc3VsdCBpbiBhIG51bGwga2V5
U3lzdGVtQWNjZXNzLgorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IGJvZ3VzS2V5U3lzdGVt
Q29uZmlndXJhdGlvbiwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxz
KGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCBudWxsKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0
eS5zdXBwb3J0ZWQpOworICB9KTsKK30sICJUZXN0IHRoYXQgc3VwcG9ydGVkPWZhbHNlIHdoZW4g
a2V5U3lzdGVtQ29uZmlndXJhdGlvbiBpcyB1bnN1cHBvcnRlZC4iKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0Yycs
CisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAga2V5U3lzdGVtQ29u
ZmlndXJhdGlvbjogbWluaW1hbEtleVN5c3RlbUNvbmZpZ3VyYXRpb24sCisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgd2l0aCB0eXBlIHdlYnJ0YyByZWplY3RzIGtleSBzeXN0
ZW0gY29uZmlndXJhdGlvbi4iKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNv
ZGluZ0luZm8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yY2U3NWIyN2QwZDc2MTQwYmE3MjVkYjVjYmUyNjNmYTcyMTBiNGE5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDI2IEBACisKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNu
J3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZAorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBo
YXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNv
bmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkCitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBo
YXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQorUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
ZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbworRkFJ
TCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyIGFzc2VydF91bnJlYWNo
ZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVj
cworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJl
amVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQorUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveQorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8t
eQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVy
YXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMKK1BBU1MgVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUg
ZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworRkFJ
TCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyBhc3NlcnRfdW5yZWFj
aGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2Rl
Y3MKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBh
YmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUg
YSB2YWxpZCB0eXBlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZW5jb2RpbmdJbmZvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMyZjBmNWFkZDMzYTc0MGQ3OGRjOWEy
MDFjMzdmOGY5N2Q5Mjg2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5o
dG1sCkBAIC0wLDAgKzEsMzE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5NZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oKTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworLy8gTWluaW1hbCBWaWRlb0NvbmZp
Z3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8g
cHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uID0g
eworICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAor
ICB3aWR0aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAgYml0cmF0ZTogMzAwMCwKKyAgZnJhbWVy
YXRlOiAyNCwKK307CisKKy8vIE1pbmltYWwgV2ViUlRDIFZpZGVvQ29uZmlndXJhdGlvbiB0aGF0
IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFy
ZSBtaXNzaW5nLgordmFyIG1pbmltYWxXZWJydGNWaWRlb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNv
bnRlbnRUeXBlOiAndmlkZW8vVlA5JywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2MDAsCisg
IGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5pbWFsIEF1ZGlv
Q29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFs
CisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRp
b24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicsCit9Owor
CisvLyBNaW5pbWFsIFdlYlJUQyBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93
ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3Zh
ciBtaW5pbWFsV2VicnRjQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ2F1
ZGlvL29wdXMnLAorfTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbygpKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9l
c24ndCBnZXQgYSBjb25maWd1cmF0aW9uIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oe30pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCIpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB2aWRlbzogbWlu
aW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJh
dGlvbiwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
TWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQn
LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25m
aWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
cmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBj
b2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6
IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IC0xLAorICAgIH0s
CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQn
LAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0i
dnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAor
ICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMCwKKyAgICB9LAorICB9KSk7
Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2
aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAu
MTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJp
dHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAorICAgIH0sCisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywK
KyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdmZ2VvYScsCisgICAgICB3aWR0aDog
ODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJh
bWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFy
c2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pz
KHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAn
YXVkaW8vZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAg
ICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAor
ICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAw
OS4wMC4xMC4wOCI7IGZvbz0iYmFyIicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0
OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9
LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRl
byBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwg
VHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAg
ICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRl
by93ZWJtOyBmb289ImJhciInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAw
LAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAg
fSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVj
cyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisg
ICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6
ICcyNDAwMC8xMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
KCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Iik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQn
LAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0i
dnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAor
ICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLzAnLAorICAgIH0K
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiB4LzAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAg
IGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAg
ICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAor
ICAgICAgZnJhbWVyYXRlOiAnMC8xMDAwMScsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0
IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveSIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlw
ZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0
eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93
ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBo
ZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICctMjQw
MDAvMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95Iik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAor
ICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAw
OS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAg
ICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLy0xMDAwMScsCisgICAg
fQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRl
IGluIHRoZSBmb3JtIG9mIHgvLXkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAg
ICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisg
ICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAw
LAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8iKTsK
KworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8v
d2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAg
aGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMS8z
eCcsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMg
ZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3Jl
Y29yZCcsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdmZ2VvYScgfSwKKyAgfSkpOworfSwg
IlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlv
biBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgYXVkaW86
IHsgY29udGVudFR5cGU6ICd2aWRlby9mZ2VvYScgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBpc24ndCBvZiB0eXBlIGF1ZGlvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNv
bnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIjsgZm9vPSJiYXIiJyB9LAorICB9
KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMiKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVF
cnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ3JlY29yZCcsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby93ZWJtOyBmb289
ImJhciInIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhh
dCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcs
CisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86IG1pbmlt
YWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAgfSk7Cit9
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0eXBlIik7CisKK2FzeW5jX3Rlc3QodCA9PiB7Cisg
IHZhciB2YWxpZFR5cGVzID0gWyAncmVjb3JkJywgJ3dlYnJ0YycgXTsKKyAgdmFyIGludmFsaWRU
eXBlcyA9IFsgdW5kZWZpbmVkLCBudWxsLCAnJywgJ2Zvb2JhcicsICdtc2UnLCAnTWVkaWFTb3Vy
Y2UnLAorICAgICAgICAgICAgICAgICAgICAgICAnZmlsZScsICdtZWRpYS1zb3VyY2UnLCBdOwor
CisgIHZhciB2YWxpZFByb21pc2VzID0gW107CisgIHZhciBpbnZhbGlkQ2F1Z2h0ID0gMDsKKwor
ICB2YWxpZFR5cGVzLmZvckVhY2godHlwZSA9PiB7CisgICAgdmFsaWRQcm9taXNlcy5wdXNoKG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgICAgdHlwZTogdHlw
ZSwKKyAgICAgIHZpZGVvOiB0eXBlICE9ICJ3ZWJydGMiID8gbWluaW1hbFZpZGVvQ29uZmlndXJh
dGlvbiA6IG1pbmltYWxXZWJydGNWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgICBhdWRpbzogdHlw
ZSAhPSAid2VicnRjIiA/IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gOiBtaW5pbWFsV2VicnRj
QXVkaW9Db25maWd1cmF0aW9uLAorICAgIH0pKTsKKyAgfSk7CisKKyAgLy8gdmFsaWRUeXBlcyBh
cmUgdGVzdGVkIHZpYSBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKSBiZWNhdXNlIGlmIG9uZSBv
ZiB0aGUKKyAgLy8gcHJvbWlzZXMgZmFpbCwgUHJvbWlzZS5hbGwoKSB3aWxsIHJlamVjdC4gVGhp
cyBtZWNoYW5pc20gY2FuJ3QgYmUgdXNlZCBmb3IKKyAgLy8gaW52YWxpZCB0eXBlcyB3aGljaCB3
aWxsIGJlIHRlc3RlZCBpbmRpdmlkdWFsbHkgYW5kIGluY3JlbWVudCBpbnZhbGlkQ2F1Z2h0Cisg
IC8vIHdoZW4gcmVqZWN0ZWQgdW50aWwgdGhlIGFtb3VudCBvZiByZWplY3Rpb24gbWF0Y2hlcyB0
aGUgZXhwZWN0YXRpb24uCisgIFByb21pc2UuYWxsKHZhbGlkUHJvbWlzZXMpLnRoZW4odC5zdGVw
X2Z1bmMoKCkgPT4geworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW52YWxpZFR5cGVzLmxlbmd0
aDsgKytpKSB7CisgICAgICBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsKKyAgICAgICAgdHlwZTogaW52YWxpZFR5cGVzW2ldLAorICAgICAgICB2aWRlbzogbWluaW1h
bFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICAgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3Vy
YXRpb24sCisgICAgICB9KS50aGVuKHQudW5yZWFjaGVkX2Z1bmMoKSwgdC5zdGVwX2Z1bmMoZSA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZS5uYW1lLCAnVHlwZUVycm9yJyk7CisgICAgICAg
ICsraW52YWxpZENhdWdodDsKKyAgICAgICAgaWYgKGludmFsaWRDYXVnaHQgPT0gaW52YWxpZFR5
cGVzLmxlbmd0aCkKKyAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0pKTsKKyAgICB9CisgIH0p
LCB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlLmFsbCBzaG91bGQgbm90IHJlamVjdCBmb3IgdmFs
aWQgdHlwZXMnKSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBN
ZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUiKTsKKworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2VuY29kaW5nSW5mby53ZWJydGMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4MmI0
Zjg3NmE2MjJiMDZhMWM5ZGQwZDUxNjhjNjcxOTAyM2QzZTkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9lbmNvZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACisK
K1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9u
IGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZAorUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRp
dmUgZnJhbWVyYXRlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAKK1BBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBh
IGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFy
c2UKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8KK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRU
eXBlIGRvZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8K
K1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmls
aXRpZXNJbmZvIG9iamVjdHMKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1
cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0IHRvIGZhbHNlIGZvciBub24t
d2VicnRjIHZpZGVvIGNvbnRlbnQgdHlwZS4KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZXR1cm5zIHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0IHRvIGZhbHNl
IGZvciBub24td2VicnRjIGF1ZGlvIGNvbnRlbnQgdHlwZS4KK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgYXVkaW8vb3B1cyBy
ZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgYXVkaW8v
SVNBQyByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMg
YXVkaW8vRzcyMiByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUg
Y29kZWMgYXVkaW8vUENNVSByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVz
KCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZv
ciB0aGUgY29kZWMgYXVkaW8vUENNQSByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJp
bGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0
cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtw
YWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTY0MGMxZiByZXR1cm5lZCBieSBS
VENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwt
YXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlk
PTQyZTAxZiByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29k
ZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1v
ZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MGMxZiByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0
Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBv
cnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93
ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZiByZXR1cm5l
ZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NSBy
ZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8v
VlA4IHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2
aWRlby9WUDk7IHByb2ZpbGUtaWQ9MCByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJp
bGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0
cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vVlA5OyBwcm9maWxlLWlkPTIgcmV0dXJuZWQgYnkgUlRD
UnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby53ZWJydGMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby53ZWJydGMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40MTRiNzk0NGY2MTY5ZTM0ZjY3OTc5Y2UwYTk4ZmY5MTU1NTJmNmI1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy5odG1sCkBAIC0wLDAgKzEsMjE3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5NZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8o
KSBmb3Igd2VicnRjPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisvLyBNaW5pbWFsIFZpZGVvQ29uZmlndXJhdGlvbiB0
aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVz
IGFyZSBtaXNzaW5nLgorY29uc3QgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29u
dGVudFR5cGU6ICd2aWRlby9WUDk7IHByb2ZpbGUtbGV2ZWw9IjAiJywKKyAgd2lkdGg6IDgwMCwK
KyAgaGVpZ2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9Owor
CisvLyBNaW5pbWFsIEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIg
c3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgorY29uc3QgbWlu
aW1hbEF1ZGlvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby9vcHVzJywK
K307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICd3ZWJydGMnLAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRl
byBmaWVsZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5
cGU6ICd2aWRlby9WUDknLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAor
ICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogLTEsCisgICAgfSwKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAg
dmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vVlA5IicsCisgICAgICB3aWR0aDog
ODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJh
bWVyYXRlOiAwLAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAw
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3Zp
ZGVvL1ZQOSInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAg
Yml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogSW5maW5pdHksCisgICAgfSwKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5Iik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMn
LAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2ZnZW9hJywKKyAgICAgIHdpZHRo
OiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBm
cmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBw
YXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6
ICdhdWRpby9mZ2VvYScsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7
Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8iKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0Yycs
CisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdmZ2VvYScgfSwKKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIGF1ZGlvOiB7IGNv
bnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNu
J3Qgb2YgdHlwZSBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRj
JywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWlu
aW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3Nl
cnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVhbiIpOworICB9KTsK
K30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxp
dGllc0luZm8gb2JqZWN0cyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRj
JywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9
InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwK
KyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgICAg
YXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7
CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3VwcG9ydGVkKTsKKyAgICBhc3NlcnRfZmFsc2Uo
YWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnBvd2VyRWZmaWNpZW50
KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCwg
c21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0IHRvIGZhbHNlIGZvciBub24td2VicnRjIHZp
ZGVvIGNvbnRlbnQgdHlwZS4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0
YycsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86IHsK
KyAgICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicsCisgICAgfSwK
KyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zdXBwb3J0
ZWQpOworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnNtb290aCk7CisgICAgYXNzZXJ0X2ZhbHNl
KGFiaWxpdHkucG93ZXJFZmZpY2llbnQpOworICB9KTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJldHVybnMgc3VwcG9ydGVkLCBzbW9vdGgsIGFuZCBwb3dlckVmZmljaWVudCBzZXQgdG8g
ZmFsc2UgZm9yIG5vbi13ZWJydGMgYXVkaW8gY29udGVudCB0eXBlLiIpOworCitjb25zdCB2YWxp
ZEF1ZGlvQ29kZWNzID0gKCgpID0+IHsKKyAgLy8gU29tZSBjb2RlY3MgdGhhdCBhcmUgcmV0dXJu
ZWQgYnkgZ2V0Q2FwYWJpbGl0aWVzKCkgYXJlIG5vdCByZWFsIGNvZGVjcywKKyAgLy8gZXhjbHVk
ZSB0aGVzZSBmcm9tIHRoZSB0ZXN0LgorICBjb25zdCBleGNsdWRlTGlzdCA9IFsgJ2F1ZGlvL0NO
JywgJ2F1ZGlvL3RlbGVwaG9uZS1ldmVudCcsICdhdWRpby9yZWQnIF07CisgIGNvbnN0IGF1ZGlv
Q29kZWNzID0gW107CisgIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoImF1ZGlvIilbJ2Nv
ZGVjcyddLmZvckVhY2goY29kZWMgPT4geworICAgIGlmIChleGNsdWRlTGlzdC5pbmRleE9mKGNv
ZGVjLm1pbWVUeXBlKSA8IDAgJiYKKyAgICAgICAgYXVkaW9Db2RlY3MuaW5kZXhPZihjb2RlYy5t
aW1lVHlwZSkgPCAwKSB7CisgICAgICBhdWRpb0NvZGVjcy5wdXNoKGNvZGVjLm1pbWVUeXBlKTsK
KyAgICB9CisgIH0pOworICByZXR1cm4gYXVkaW9Db2RlY3M7Cit9KSgpOworCit2YWxpZEF1ZGlv
Q29kZWNzLmZvckVhY2goY29kZWMgPT4geworICBwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVy
biBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
d2VicnRjJywKKyAgICBhdWRpbzogeworICAgICAgY29udGVudFR5cGU6IGNvZGVjCisgICAgfQor
ICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF90cnVlKGFiaWxpdHkuc3VwcG9ydGVk
KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0
cnVlIGZvciB0aGUgY29kZWMgIiArIGNvZGVjICsgIiByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIu
Z2V0Q2FwYWJpbGl0aWVzKCkiKX0KKyk7CisKK2NvbnN0IHZhbGlkVmlkZW9Db2RlY3MgPSAoKCkg
PT4geworICAvLyBTb21lIGNvZGVjcyB0aGF0IGFyZSByZXR1cm5lZCBieSBnZXRDYXBhYmlsaXRp
ZXMoKSBhcmUgbm90IHJlYWwgY29kZWNzIGJ1dAorICAvLyBvbmx5IHVzZWQgZm9yIGVycm9yIGNv
cnJlY3Rpb24sIGV4Y2x1ZGUgdGhlc2UgZnJvbSB0aGUgdGVzdC4KKyAgY29uc3QgZXhjbHVkZUxp
c3QgPSBbICd2aWRlby9ydHgnLCAndmlkZW8vcmVkJywgJ3ZpZGVvL3VscGZlYycsCisgICAgICAg
ICAgICAgICAgICAgICAgJ3ZpZGVvL2ZsZXhmZWMtMDMnIF07CisgIGNvbnN0IHZpZGVvQ29kZWNz
ID0gW107CisKKyAgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygidmlkZW8iKVsnY29kZWNz
J10uZm9yRWFjaChjb2RlYyA9PiB7CisgICAgaWYgKGV4Y2x1ZGVMaXN0LmluZGV4T2YoY29kZWMu
bWltZVR5cGUpIDwgMCkgeworICAgICAgbGV0IG1pbWVUeXBlID0gY29kZWMubWltZVR5cGU7Cisg
ICAgICBpZiAoJ3NkcEZtdHBMaW5lJyBpbiBjb2RlYykgeworICAgICAgICBtaW1lVHlwZSArPSAi
OyAiICsgY29kZWMuc2RwRm10cExpbmU7CisgICAgICB9CisgICAgICBpZiAoIShtaW1lVHlwZSBp
biB2aWRlb0NvZGVjcykpIHsKKyAgICAgICAgdmlkZW9Db2RlY3MucHVzaChtaW1lVHlwZSk7Cisg
ICAgICB9CisgICAgfQorICB9KTsKKyAgcmV0dXJuIHZpZGVvQ29kZWNzOworfSkoKTsKKwordmFs
aWRWaWRlb0NvZGVjcy5mb3JFYWNoKGNvZGVjID0+IHsKKyAgcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiBjb2RlYywK
KyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMw
MDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0KKyAgfSkudGhlbihhYmlsaXR5ID0+IHsK
KyAgICBhc3NlcnRfdHJ1ZShhYmlsaXR5LnN1cHBvcnRlZCk7CisgIH0pOworfSwgIlRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjICIgKyBj
b2RlYyArICIgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpIil9Cisp
OworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTRj
M2NjOTE5NmMwMzY0OTZkZTVjYzg1ZWEzMWFmMGU1YzQ2MWQ5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKKworUEFT
UyBpZGxoYXJuZXNzCitQQVNTIGlkbF90ZXN0IHNldHVwCitQQVNTIGlkbF90ZXN0IHZhbGlkYXRp
b24KK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiBvcmlnaW5hbCBpbnRlcmZhY2Ug
ZGVmaW5lZAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6IHZhbGlkIGV4cG9zdXJl
IHNldAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvcjogb3JpZ2luYWwg
aW50ZXJmYWNlIGRlZmluZWQKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9y
OiB2YWxpZCBleHBvc3VyZSBzZXQKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdh
dG9yOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBtaXhp
biBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGlu
Y2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQ
QVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb250ZW50VXRpbHM6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JD
b29raWVzOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMg
TmF2aWdhdG9yUGx1Z2luczogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9y
IGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9y
TGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFdvcmtlck5hdmlnYXRvciBp
bmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFdv
cmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJl
ciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgTWVkaWFDYXBh
YmlsaXRpZXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMg
aW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQ
QVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQor
UEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkK
K1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVjb2RpbmdJbmZv
KE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24p
CitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGlu
Z0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQor
UEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxpbmcgZGVjb2RpbmdJbmZvKE1l
ZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgorUEFTUyBNZWRpYUNh
cGFiaWxpdGllcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiki
IHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTog
Y2FsbGluZyBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cg
VHlwZUVycm9yCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYUNhcGFi
aWxpdGllcworUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhj
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lmh0bWwKQEAgLTAsMCAr
MSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3Ry
dWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxo
YXJuZXNzLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZGE1YzdkMjg0OGMyZGM4YTY2OWRmY2Y2MjEyMzNj
NDBhMjI3YzAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkuanMKQEAg
LTAsMCArMSwyNSBAQAorLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpz
CisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisKKy8vIGh0dHBzOi8v
d2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLworCisndXNlIHN0cmljdCc7CisKK3By
b21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgIGlkbF90ZXN0KAorICAgIFsnbWVkaWEtY2FwYWJp
bGl0aWVzJ10sCisgICAgWydodG1sJywgJ2Nzc29tLXZpZXcnXSwKKyAgICBpZGxfYXJyYXkgPT4g
eworICAgICAgaWYgKHNlbGYuR0xPQkFMLmlzV29ya2VyKCkpIHsKKyAgICAgICAgaWRsX2FycmF5
LmFkZF9vYmplY3RzKHsgV29ya2VyTmF2aWdhdG9yOiBbJ25hdmlnYXRvciddIH0pOworICAgICAg
fSBlbHNlIHsKKyAgICAgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsgTmF2aWdhdG9yOiBbJ25h
dmlnYXRvciddIH0pOworICAgICAgfQorICAgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsKKyAg
ICAgICAgTWVkaWFDYXBhYmlsaXRpZXM6IFsnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzJ10s
CisgICAgICAgIFNjcmVlbjogWydzY3JlZW4nXSwKKyAgICAgICAgU2NyZWVuTHVtaW5hbmNlOiBb
J3NjcmVlbi5sdW1pbmFuY2UnXSwKKyAgICAgIH0pOworICAgIH0KKyAgKTsKK30pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lk
bGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjcwMDgyODg3MGNl
MWYxNTlmNDAzMGFlYTM0YzY2Yzc4ZTE2N2E5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lk
bGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzOSBAQAorCitQQVNT
IGlkbGhhcm5lc3MKK1BBU1MgaWRsX3Rlc3Qgc2V0dXAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlv
bgorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6IG9yaWdpbmFsIGludGVyZmFjZSBk
ZWZpbmVkCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvcjogdmFsaWQgZXhwb3N1cmUg
c2V0CitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvcjogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yOiBvcmlnaW5hbCBp
bnRlcmZhY2UgZGVmaW5lZAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0b3I6
IHZhbGlkIGV4cG9zdXJlIHNldAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0
b3I6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIG1peGlu
IE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRv
ciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BB
U1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbnRlbnRVdGlsczogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNv
b2tpZXM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBO
YXZpZ2F0b3JQbHVnaW5zOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3Ig
aW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JM
YW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGlu
Y2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgV29y
a2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCitGQUlMIE1lZGlh
Q2FwYWJpbGl0aWVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKK0ZBSUwgTWVkaWFDYXBh
YmlsaXRpZXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBw
cm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRp
ZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFi
aWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRp
YUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5
ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24p
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1l
ZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1p
c3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZW5jb2Rp
bmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0
ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCitGQUlMIE1lZGlhQ2FwYWJp
bGl0aWVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVj
dCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhw
ZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBNZWRpYUNhcGFiaWxpdGll
cyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhl
IHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQg
Im9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRl
cmZhY2U6IGNhbGxpbmcgZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSBv
biBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0
IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVj
dGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMg
aW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJm
YWNlOiBjYWxsaW5nIGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikgb24g
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3Rl
ZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIFdvcmtlck5hdmlnYXRvciBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBtZWRpYUNhcGFiaWxpdGllcyBhc3NlcnRfdHJ1ZTogVGhlIHByb3Rv
dHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZp
Z2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMi
IG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFy
bmVzcy5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCAr
MSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3Ry
dWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy93M2MtaW1w
b3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iYzJlYzAxMmQyNWViMTQ3Y2FiOGQ2Njc5Zjg5N2ExMDgyNDc1
OTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwy
NSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
KwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAor
CitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
UHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFs
dWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xp
c3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9SRUFETUUubWQKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9k
ZWNvZGluZ0luZm8uYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJ
bmZvRW5jcnlwdGVkTWVkaWEuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkuanMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbiBiL0xheW91dFRlc3Rz
L3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCA0ZjI4YWUxNzI3MTAzZDkwNzMzZmEwODhjMzNkZjQy
ZTdiZmRiZWYyLi5kYTMwZGI0NWQyNzRkOGM1MzhhYTI1OWVjMGVmYzYwNzg4NTI4ZDU0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMv
dGVzdHMtb3B0aW9ucy5qc29uCkBAIC0zNjM1LDYgKzM2MzUsOSBAQAogICAgICJpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvaHRtbDUtdHJlZS90YWJpbmRl
eC0wMDIuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlw
dGVkTWVkaWEuaHR0cHMuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvU291cmNlQnVmZmVyLWFi
b3J0LXJlYWR5U3RhdGUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440938</attachid>
            <date>2021-10-12 08:44:47 -0700</date>
            <delta_ts>2021-10-12 08:54:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231568-20211012174444.patch</filename>
            <type>text/plain</type>
            <size>138327</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk3OGFlZTkyMjk2Mzk3
Njk0MmU4ZjRmY2Y1NzJmYzliZDIyNTc0Zi4uMGI2ZGFjODY2ZDZkZGQ4NjhlZTY0ZjAzZGM1NjEx
NzA0MjUyZThhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTEwLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
V2ViUlRDIG1lZGlhIGNhcGFiaWxpdGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIFdlYlJUQyBkZWNvZGluZyBhbmQgZW5jb2RpbmcgdHlwZS4K
KyAgICAgICAgSW4gY2FzZSB3ZWJydGMgdHlwZSBpcyB1c2VkLCBmb3J3YXJkIHRoZSBjYWxsIHRv
IExpYldlYlJUQ1Byb3ZpZGVyLgorICAgICAgICBMaWJXZWJSVENQcm92aWRlciB0aGVuIGdldHMg
dW5kZXJseWluZyBSVEMgY2FwYWJpbGl0aWVzIHRvIGV4cG9zZSBtZWRpYSBjYXBhYmlsaXRpZXMu
CisgICAgICAgIEl0IGFsc28gYWRkcyBkZWRpY2F0ZWQgc3VwcG9ydCBmb3IgcG93ZXJFZmZpY2ll
bnQgdmFsdWUuCisgICAgICAgIEFsbCBpbmZvcm1hdGlvbiBpcyBhbHJlYWR5IGV4cG9zZWQgaW4g
ZXhpc3RpbmcgTWVkaWEgQ2FwYWJpbGl0aWVzIG9yIFJUQ1J0cFNlbmRlci9SZWNlaXZlciBnZXRD
YXBhYmlsaXRpZXMgc28gd2UgZG8gbm90IGluY3JlYXNlIGZpbmdlcnByaW50aW5nIGhlcmUuCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFu
eS53b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5n
SW5mb0VuY3J5cHRlZE1lZGlhLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3Mu
YW55Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmlkbDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHA6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5n
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5
cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENQcm92aWRlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1Byb3ZpZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHA6CisKIDIwMjEtMTAtMTEgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEJlZWYgdXAgd29ya2VyIHRlcm1pbmF0
aW9uIGhhbmRsaW5nIGluIFJlYWRhYmxlU3RyZWFtIHJvdXRpbmVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXMuY3BwCmluZGV4IGMzMzYwNGY2NGM5NzUzZTg5OTQwYmFlODEzMzIxMDU3NjgwNDBlOWMu
LmNkMzBjNGEyODI0Nzk1NDkwYzcxZjFmODc2NjI0ZWUyNWI0NThkMjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXMuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgi
CiAjaW5jbHVkZSAiSlNNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIgorI2luY2x1ZGUg
IkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1l
ZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCiAjaW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRp
ZXNFbmNvZGluZ0luZm8uaCIKQEAgLTM5LDYgKzQwLDcgQEAKICNpbmNsdWRlICJNZWRpYURlY29k
aW5nQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
LmgiCiAjaW5jbHVkZSAiTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgorI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXIu
aD4KICNpbmNsdWRlIDx3dGYvUm9iaW5Ib29kSGFzaFNldC5oPgpAQCAtMTk1LDcgKzE5Nyw3IEBA
IHZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQs
IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0CiAgICAgLy8gNC4gTGV0IHAgYmUgYSBuZXcgcHJvbWlz
ZS4KICAgICAvLyA1LiBJbiBwYXJhbGxlbCwgcnVuIHRoZSBjcmVhdGUgYSBNZWRpYUNhcGFiaWxp
dGllc0luZm8gYWxnb3JpdGhtIHdpdGggY29uZmlndXJhdGlvbiBhbmQgcmVzb2x2ZSBwIHdpdGgg
aXRzIHJlc3VsdC4KICAgICAvLyA2LiBSZXR1cm4gcC4KLSAgICBkb2N1bWVudC5ldmVudExvb3Ao
KS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbY29uZmlndXJhdGlvbiA9IFdU
Rk1vdmUoY29uZmlndXJhdGlvbiksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBsb2dnZXIg
PSBXVEZNb3ZlKGxvZ2dlciksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoKSBt
dXRhYmxlIHsKKyAgICBkb2N1bWVudC5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6
TWVkaWFFbGVtZW50LCBbY29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbiksIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBsb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGlkZW50
aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpLCBkb2N1bWVudCA9IFJlZiB7IGRvY3VtZW50IH1d
ICgpIG11dGFibGUgewogCiAgICAgICAgIC8vIDIuMi4zIElmIGNvbmZpZ3VyYXRpb24gaXMgb2Yg
dHlwZSBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vic3Rl
cHM6CiAgICAgICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29u
ZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
LCBsb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZp
ZXIpXSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKQEAgLTIxNiw2ICsyMTgsMTQgQEAgdm9pZCBNZWRp
YUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXQKICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMRGljdGlvbmFy
eTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykpOwogICAgICAg
ICB9OwogCisjaWYgRU5BQkxFKFdFQl9SVEMpCisgICAgICAgIGlmIChjb25maWd1cmF0aW9uLnR5
cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6OldlYlJUQykgeworICAgICAgICAgICAgaWYgKGF1dG8q
IHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpKQorICAgICAgICAgICAgICAgIHBhZ2UtPmxpYldlYlJU
Q1Byb3ZpZGVyKCkuY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJh
dGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorI2VuZGlmCisKICAgICAgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3Jl
YXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUo
Y2FsbGJhY2spKTsKICAgICB9KTsKIH0KQEAgLTIzNiw4ICsyNDYsNyBAQCB2b2lkIE1lZGlhQ2Fw
YWJpbGl0aWVzOjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5n
Q29uZmlndXJhdAogICAgIC8vIDQuIExldCBwIGJlIGEgbmV3IHByb21pc2UuCiAgICAgLy8gNS4g
SW4gcGFyYWxsZWwsIHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFsZ29y
aXRobSB3aXRoIGNvbmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQuCiAg
ICAgLy8gNi4gUmV0dXJuIHAuCi0gICAgZG9jdW1lbnQuZXZlbnRMb29wKCkucXVldWVUYXNrKFRh
c2tTb3VyY2U6Ok1lZGlhRWxlbWVudCwgW2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7Ci0KKyAgICBk
b2N1bWVudC5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBb
Y29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbiksIHByb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpLCAgZG9jdW1lbnQgPSBSZWYgeyBkb2N1bWVudCB9XSAoKSBtdXRhYmxlIHsKICAg
ICAgICAgLy8gMi4yLjQuIElmIGNvbmZpZ3VyYXRpb24gaXMgb2YgdHlwZSBNZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vic3RlcHM6CiAgICAgICAgIE1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNr
IGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoYXV0byBpbmZvKSBtdXRh
YmxlIHsKICAgICAgICAgICAgIC8vIDIuMi40LjEuIElmIHRoZSB1c2VyIGFnZW50IGlzIGFibGUg
dG8gZW5jb2RlIHRoZSBtZWRpYQpAQCAtMjU3LDYgKzI2NiwxNCBAQCB2b2lkIE1lZGlhQ2FwYWJp
bGl0aWVzOjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5nQ29u
ZmlndXJhdAogICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExEaWN0aW9uYXJ5PE1lZGlh
Q2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPj4oV1RGTW92ZShpbmZvKSk7CiAgICAgICAgIH07CiAK
KyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBN
ZWRpYUVuY29kaW5nVHlwZTo6V2ViUlRDKSB7CisgICAgICAgICAgICBpZiAoYXV0byogcGFnZSA9
IGRvY3VtZW50LT5wYWdlKCkpCisgICAgICAgICAgICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlk
ZXIoKS5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwg
V1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisjZW5k
aWYKKwogICAgICAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFj
aykpOwogCiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaWRsCmluZGV4IGQzOTE0NDAw
ZTEzMTA0NzYwYjliY2Q4YmY0NjFhMGZiZmFiMjA0NTcuLjMwN2Q1MzY0NzMzZmQ5Y2RjM2Q0NTJm
ODFlZWZiMjI0YTU2MGMyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaWRsCkBAIC0yNSw1
ICsyNSw2IEBACiAKIGVudW0gTWVkaWFEZWNvZGluZ1R5cGUgewogICAiZmlsZSIsCi0gICJtZWRp
YS1zb3VyY2UiCisgICJtZWRpYS1zb3VyY2UiLAorICAid2VicnRjIgogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5
cGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVu
Y29kaW5nVHlwZS5pZGwKaW5kZXggOWEyYTIwOTk1MzM3MGEzYjQ0MjllNjVlYTc3MjdmMDYxZTg3
YmI3Yi4uY2U4YTY0ZWFkMjc2MmE1ZjJmMjQ3MzJkMTMwOWRlMTZjMzc4NmJkYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUVuY29kaW5nVHlwZS5pZGwKQEAgLTI1LDUgKzI1LDUgQEAKIAogZW51bSBNZWRpYUVuY29k
aW5nVHlwZSB7CiAgICJyZWNvcmQiLAotICAidHJhbnNtaXNzaW9uIgorICAid2VicnRjIgogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmYWNiM2JkZDAyOGNmMmQwNmYwZmYxOGVlMDI5NjM3ODc2MDQzMTcyLi5mNTIxMTE3YjM2
ZDhhNWQwMWY2YzhkMjc0OThkNjNjMzEwNTQ0NzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDg1LDcgKzEwODUsNyBAQAog
CQk0MTI5QzlBOTFGNTlDNTZCMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4
QzM5NUYxQzhGMEFBQjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5
QzlBQjFGNTlDNTczMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEMzOTVCMUM4RjBBNjEwMDUx
QzhBMyAvKiBSZWFkYWJsZVN0cmVhbVNvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMjlDOUFGMUY1OUNGNUIwMDlENzQwMyAvKiBSZWFk
YWJsZVN0cmVhbVNpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxMjlDOTgwMUY1ODYxQzcwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0MTJERTRC
ODIxOTI4NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTJERTRCNjIxOTI4NUJGMDA3NUYzQTcg
LyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi87IH07CisJCTQxMkRFNEI4MjE5Mjg1QzAwMDc1RjNB
NyAvKiBSVENSdHBDYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxMkRFNEI2MjE5Mjg1QkYwMDc1RjNBNyAvKiBSVENSdHBDYXBhYmls
aXRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MTJERUYxRDIzQTkxODY2MDBEODQwRjYgLyogTW9ja0F1ZGlvU2hhcmVkVW5pdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0NEVDRUIxRTBDNEFF
NTAwMEQwOTQ0IC8qIE1vY2tBdWRpb1NoYXJlZFVuaXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTJERUYxRjIzQTkxOEEzMDBEODQwRjYgLyog
QmFzZUF1ZGlvU2hhcmVkVW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE3N0Y1MUUyMzgyNTQ1RTAwQzA0NDg2IC8qIEJhc2VBdWRpb1NoYXJlZFVu
aXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTMzQ0I4QjIwRjgwRTk5MDBFODlCMTEgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZUNvY29hLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzNDQjg5
MjBGODBFODYwMEU4OUIxMSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwICovOyB9
OwpAQCAtMTE4MCw2ICsxMTgwLDcgQEAKIAkJNDE4Rjg4MDUwRkY5NTdBRjAwODBGMDQ1IC8qIEpT
QWJzdHJhY3RXb3JrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxOEY4ODAzMEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmggKi87
IH07CiAJCTQxOEZDQkMxMjcwNkU0RkIwMEY5NkVDQSAvKiBQdXNoRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEZDQkJEMjcwNkU0RjcwMEY5
NkVDQSAvKiBQdXNoRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MThGQ0JDMjI3MDZFNTAxMDBGOTZFQ0EgLyogUHVzaEV2ZW50SW5pdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4RkNCQkYy
NzA2RTRGODAwRjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MThGQ0JFNzI3MTVBMjhGMDBGOTZFQ0EgLyog
UlRDUnRwQ29kZWNDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUUwQTdEQzIzQkI2M0RCMDA1NjEwNjAgLyogUlRDUnRwQ29kZWNDYXBh
YmlsaXR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDE5MEYzQTUyNEEwQjRFRTAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOTBGM0EzMjQ5RDE1Mjgw
MDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0RkNGIC8qIFJlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovOyB9OwogCQk0MTlBQ0Y5MjFGOTdFN0RBMDA5
RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlBQ0Y4RTFGOTdFN0Q1MDA5RjFBODMgLyogU2VydmljZVdv
cmtlckZldGNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTgxNDgsNiArODE0OSw3IEBACiAJCTQxOEZDQkNCMjcwNkYzQ0QwMEY5NkVDQSAvKiBT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUrUHVzaEFQSS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZStQdXNoQVBJLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
OEZDQkNDMjcwNkY0MzQwMEY5NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4RkNCQ0QyNzA2RjQzNDAwRjk2RUNBIC8qIFNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxOEZDQkU4MjcxNUFBMTkwMEY5NkVDQSAvKiBKU01lZGlhQ2FwYWJpbGl0aWVzQ3Vz
dG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1l
UmF0ZU1vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJh
bWVSYXRlTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0Ez
MjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRl
b1NvdXJjZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNTAyNyw3ICsxNTAyOSw2IEBACiAJCUNDQzJCNTEwMTVGNjEzMDYwMDQ4Q0RE
NiAvKiBEZXZpY2VDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2
aWNlQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNDQzJCNTExMTVGNjEz
MDYwMDQ4Q0RENiAvKiBEZXZpY2VDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERldmljZUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQ0MyQjUxMjE1RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VDb250cm9sbGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNEMDMyMDE1MjI3OUY1QkYwMEREOUYwQiAvKiBK
U01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFDYXBhYmls
aXRpZXNDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwNjNGODAxRTIz
RkE4OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5pdERhdGFSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNEMDYzRjgxMUUyM0ZBODkwMDgxMkJFMyAvKiBJbml0RGF0YVJlZ2lzdHJ5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluaXREYXRhUmVnaXN0cnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwQzhCNTgyMTQxQzhDQTAwNjJGNTlEIC8q
IE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNhcGFiaWxpdGll
c0luZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMjEzLDcgKzIzMjE0LDcg
QEAKIAkJCQlBN0QwMzE4RDBFOTM1NDAzMDBFMjRBQ0QgLyogSlNJbWFnZURhdGFDdXN0b20uY3Bw
ICovLAogCQkJCTU4NjhDN0Q1MjU0NkUwQjMwMEJGOURGMyAvKiBKU0ludGVyc2VjdGlvbk9ic2Vy
dmVyQ3VzdG9tLmNwcCAqLywKIAkJCQk3N0MxM0YwNDIxNjU2NThBMDAyRDlDNUYgLyogSlNJbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5Q3VzdG9tLmNwcCAqLywKLQkJCQlDRDAzMjAxNTIyNzlGNUJG
MDBERDlGMEIgLyogSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oICovLAorCQkJCTQxOEZDQkU4
MjcxNUFBMTkwMEY5NkVDQSAvKiBKU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggKi8sCiAJCQkJ
QUQ3MjZGRTcxNkQ5RjIwNDAwM0E0RTZEIC8qIEpTTWVkaWFMaXN0Q3VzdG9tLmggKi8sCiAJCQkJ
NDE1Q0RBRjYxRTZDRTBEMzAwNEYxMUVFIC8qIEpTTWVkaWFTdHJlYW1UcmFja0N1c3RvbS5jcHAg
Ki8sCiAJCQkJRTFBNUY5OUEwRTdFQUEyNTAwQUY4NUVBIC8qIEpTTWVzc2FnZUNoYW5uZWxDdXN0
b20uY3BwICovLApAQCAtMzUyMDAsNiArMzUyMDEsNyBAQAogCQkJCUJDOEFFMzRGMTJFQTA5NkEw
MEVCM0FFNiAvKiBTY3JvbGxhYmxlQXJlYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUQ5MjVCNjgw
RjY0RDRERDAwQjg0N0YwIC8qIFNjcm9sbEFsaWdubWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEZBNjFCMEUyNkY0MzIxMzAwMUFBREI2IC8qIFNjcm9sbEFuaW1hdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDE4RkNCRTcyNzE1QTI4RjAwRjk2RUNBIC8qIFJUQ1J0cENvZGVjQ2FwYWJpbGl0
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwRTAwOUMyNkY5MkQ4NDAwQUNFOUM2IC8qIFNjcm9s
bEFuaW1hdGlvbk1vbWVudHVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlDQTNCRjY3RTEwRDk5QkFF
MDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMTc3NDgw
MTM3OEI3NzIwMDlEQTc2QSAvKiBTY3JvbGxBbmltYXRvcklPUy5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVz
Q3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVz
Q3VzdG9tLmgKaW5kZXggZTIwYzgzNTg5YjgwNmQwZjZmYjc3ZTk3YjMyMTE3ZGNjMGUwZTdiNy4u
ODI0NzI3Nzk5MDZkYzc4OTUxYjNhYTAyZGQxMmNiOGMwNmY4YjMzOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaApA
QCAtMzEsMTIgKzMxLDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQUxXQVlTX0lOTElORSBi
b29sIEpTTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm9Jc0VuYWJsZWQoKQogeworI2lmIEVO
QUJMRShXRUJfUlRDKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKICAgICByZXR1cm4gTWVkaWFF
bmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9y
eSgpOworI2VuZGlmCiB9CiAKIEFMV0FZU19JTkxJTkUgYm9vbCBKU01lZGlhQ2FwYWJpbGl0aWVz
RGVjb2RpbmdJbmZvSXNFbmFibGVkKCkKIHsKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICByZXR1
cm4gdHJ1ZTsKKyNlbHNlCiAgICAgcmV0dXJuIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6Omhhc0RlY29kaW5nQ29uZmlndXJhdGlvbkZhY3RvcnkoKTsKKyNlbmRpZgogfQogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CmluZGV4IGJmYTRhOTNhZWEwOTFmYjUxZGNmNzA2NDczNDdhMzg3YWNjOTY1MTIuLmY4YjRhMWNl
MmNjZGM4MmU2ODlmMGYzNzk2NzAzOThmYmNkZDk1NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0yMjc5LDYgKzIyNzks
NyBAQCBzdWIgR2V0RW51bWVyYXRpb25WYWx1ZU5hbWUKICAgICBteSAoJG5hbWUpID0gQF87CiAK
ICAgICByZXR1cm4gIkVtcHR5U3RyaW5nIiBpZiAkbmFtZSBlcSAiIjsKKyAgICByZXR1cm4gIldl
YlJUQyIgaWYgJG5hbWUgZXEgIndlYnJ0YyI7CiAgICAgJG5hbWUgPSBqb2luKCIiLCBtYXAgeyAk
Y29kZUdlbmVyYXRvci0+V0tfdWNmaXJzdCgkXykgfSBzcGxpdCgiLSIsICRuYW1lKSk7CiAgICAg
JG5hbWUgPSAiXyRuYW1lIiBpZiAkbmFtZSA9fiAvXlxkLzsKICAgICByZXR1cm4gJG5hbWU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNvY29hLmNw
cAppbmRleCA5NzQ5NGVlNmM1YzhiNjk5MjM0ZWE3Yzk2NmRkZDFhYzZhYTQyNGU2Li4xMjIyNjAz
N2NiMTUwMzc0ZjAxMGViMzAwNjMxYzE0NTEwY2I4MTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5Q29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHAKQEAgLTYzLDggKzYzLDIw
IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gY29tcHV0ZU1l
ZGlhQ2FwYWJpbGl0aWVzSW5mbyhjb25zdCBNCiAgICAgaWYgKGNvbmZpZ3VyYXRpb24udmlkZW8p
IHsKICAgICAgICAgYXV0byYgdmlkZW9Db25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbi52aWRl
by52YWx1ZSgpOwogICAgICAgICBNZWRpYUVuZ2luZVN1cHBvcnRQYXJhbWV0ZXJzIHBhcmFtZXRl
cnMgeyB9OworCisgICAgICAgIHN3aXRjaCAoY29uZmlndXJhdGlvbi50eXBlKSB7CisgICAgICAg
IGNhc2UgTWVkaWFEZWNvZGluZ1R5cGU6OkZpbGU6CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlz
TWVkaWFTb3VyY2UgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1l
ZGlhRGVjb2RpbmdUeXBlOjpNZWRpYVNvdXJjZToKKyAgICAgICAgICAgIHBhcmFtZXRlcnMuaXNN
ZWRpYVNvdXJjZSA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBNZWRp
YURlY29kaW5nVHlwZTo6V2ViUlRDOgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICB9CisKICAgICAgICAg
cGFyYW1ldGVycy50eXBlID0gQ29udGVudFR5cGUodmlkZW9Db25maWd1cmF0aW9uLmNvbnRlbnRU
eXBlKTsKLSAgICAgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNlID0gY29uZmlndXJhdGlvbi50
eXBlID09IE1lZGlhRGVjb2RpbmdUeXBlOjpNZWRpYVNvdXJjZTsKICAgICAgICAgaWYgKE1lZGlh
UGxheWVyOjpzdXBwb3J0c1R5cGUocGFyYW1ldGVycykgIT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRz
VHlwZTo6SXNTdXBwb3J0ZWQpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRp
YUNhcGFiaWxpdGllc0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCmluZGV4IDJjZWI2ZjY2ZjhjODVj
ODc0ZjgyZTlkMTY5NmVjYWM4ZjYwNDljMWQuLmUzMTg4YmViNGUxMWM3ZTVhNjM3YjNhZTIxYmY1
MjMzY2IzNDJjMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2Fw
YWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCkBA
IC00MSw3ICs0MSw3IEBAIHN0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzsKIGVu
dW0gY2xhc3MgQ29sb3JHYW11dCA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIEhkck1ldGFkYXRhVHlw
ZSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90OwotZW51
bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZSA6IGJvb2w7CitlbnVtIGNsYXNzIE1lZGlhRGVjb2Rp
bmdUeXBlIDogdWludDhfdDsKIGVudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5cGUgOiBib29sOwog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYURlY29kaW5nVHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaAppbmRleCA0MTVlMGI3MjA5ZWE1MGUxNTk2YjJh
OGJkMmYyYTM5MjgzNjE4OGE3Li5mNDFkMDE2YTE3MWEwYzNhMjM0YjAyYzg2YWJlZWFiYTIwZjc3
MmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGll
cy9NZWRpYURlY29kaW5nVHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmgKQEAgLTI3LDkgKzI3LDEwIEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZSA6IGJvb2wg
eworZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZSA6IHVpbnQ4X3QgewogICAgIEZpbGUsCiAg
ICAgTWVkaWFTb3VyY2UsCisgICAgV2ViUlRDCiB9OwogCiB9CkBAIC00MCw3ICs0MSw4IEBAIHRl
bXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU+IHsK
ICAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBXZWJDb3JlOjpNZWRpYURl
Y29kaW5nVHlwZSwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU6OkZpbGUsCi0g
ICAgICAgIFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlOjpNZWRpYVNvdXJjZQorICAgICAgICBX
ZWJDb3JlOjpNZWRpYURlY29kaW5nVHlwZTo6TWVkaWFTb3VyY2UsCisgICAgICAgIFdlYkNvcmU6
Ok1lZGlhRGVjb2RpbmdUeXBlOjpXZWJSVEMKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2Rp
bmdUeXBlLmgKaW5kZXggMDEyYThjNmQ1Mzk2N2Q5YjRlZGMyMjIzYWU0OTAwNTMxZjVmMWZkNy4u
YjNiNDgwMTNlMTkyMjUxN2UyYjQwNWQzMGYzZGU3MGU5ZmI2MTQ4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVu
Y29kaW5nVHlwZS5oCkBAIC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51
bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlwZSA6IGJvb2wgewogICAgIFJlY29yZCwKLSAgICBUcmFu
c21pc3Npb24sCisgICAgV2ViUlRDLAogfTsKIAogfQpAQCAtNDAsNyArNDAsNyBAQCB0ZW1wbGF0
ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlPiB7CiAgICAg
dXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGlu
Z1R5cGUsCiAgICAgICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlOjpSZWNvcmQsCi0gICAg
ICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlOjpUcmFuc21pc3Npb24KKyAgICAgICAgV2Vi
Q29yZTo6TWVkaWFFbmNvZGluZ1R5cGU6OldlYlJUQwogICAgID47CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcAppbmRleCA1YWY3OWFkNDg1ODY4NDBmNDg3NTdkZWZl
OGEzYTY2ZTU2ZDNiZWNiLi4xZmMzZmZhYTdlNThjOTNlN2M5OWUwYmZiZDNhNzQ0MDljZjQ2ODUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTI3LDkgKzI3LDEz
IEBACiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKIAogI2lmIFVTRShMSUJXRUJSVEMp
CisjaW5jbHVkZSAiQ29udGVudFR5cGUuaCIKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb01vZHVs
ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJSVENSdHBDYXBhYmlsaXRpZXMu
aCIKKyNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgorI2luY2x1ZGUg
Ik1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5o
IgogI2luY2x1ZGUgPGRsZmNuLmg+CiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCkBA
IC0zNzksNiArMzgzLDMwIEBAIHZvaWQgTGliV2ViUlRDUHJvdmlkZXI6OnByZXBhcmVDZXJ0aWZp
Y2F0ZUdlbmVyYXRvcihGdW5jdGlvbjx2b2lkKHJ0Yzo6UlRDQ2VydGlmCiAgICAgfSk7CiB9CiAK
K3ZvaWQgTGliV2ViUlRDUHJvdmlkZXI6OnNldEgyNjVTdXBwb3J0KGJvb2wgdmFsdWUpCit7Cisg
ICAgbV9zdXBwb3J0c0gyNjUgPSB2YWx1ZTsKKyAgICBtX3ZpZGVvRGVjb2RpbmdDYXBhYmlsaXRp
ZXMgPSB7IH07CisgICAgbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzID0geyB9OworfQorCit2
b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpzZXRWUDlTdXBwb3J0KGJvb2wgc3VwcG9ydHNWUDlQcm9m
aWxlMCwgYm9vbCBzdXBwb3J0c1ZQOVByb2ZpbGUyKQoreworICAgIG1fc3VwcG9ydHNWUDlQcm9m
aWxlMCA9IHN1cHBvcnRzVlA5UHJvZmlsZTA7CisgICAgbV9zdXBwb3J0c1ZQOVByb2ZpbGUyID0g
c3VwcG9ydHNWUDlQcm9maWxlMjsKKworICAgIG1fdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGllcyA9
IHsgfTsKKyAgICBtX3ZpZGVvRW5jb2RpbmdDYXBhYmlsaXRpZXMgPSB7IH07Cit9CisKK3ZvaWQg
TGliV2ViUlRDUHJvdmlkZXI6OnNldFZQOVZUQlN1cHBvcnQoYm9vbCB2YWx1ZSkKK3sKKyAgICBt
X3N1cHBvcnRzVlA5VlRCID0gdmFsdWU7CisKKyAgICBtX3ZpZGVvRGVjb2RpbmdDYXBhYmlsaXRp
ZXMgPSB7IH07CisgICAgbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzID0geyB9OworfQorCiBz
dGF0aWMgaW5saW5lIHN0ZDo6b3B0aW9uYWw8Y3JpY2tldDo6TWVkaWFUeXBlPiB0eXBlRnJvbUtp
bmQoY29uc3QgU3RyaW5nJiBraW5kKQogewogICAgIGlmIChraW5kID09ICJhdWRpbyJfcykKQEAg
LTQzMSwxMSArNDU5LDM2IEBAIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBMaWJX
ZWJSVENQcm92aWRlcjo6cmVjZWl2ZXJDYXBhYmlsaXRpZXMoY29uc3QKICAgICBpZiAoIW1lZGlh
VHlwZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8qIGZhY3RvcnkgPSB0aGlzLT5m
YWN0b3J5KCk7Ci0gICAgaWYgKCFmYWN0b3J5KQorICAgIHN3aXRjaCAoKm1lZGlhVHlwZSkgewor
ICAgIGNhc2UgY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX0FVRElPOgorICAgICAgICBy
ZXR1cm4gYXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllcygpOworICAgIGNhc2UgY3JpY2tldDo6TWVk
aWFUeXBlOjpNRURJQV9UWVBFX1ZJREVPOgorICAgICAgICByZXR1cm4gdmlkZW9EZWNvZGluZ0Nh
cGFiaWxpdGllcygpOworICAgIGNhc2UgY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX0RB
VEE6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4geyB9Owor
ICAgIGNhc2UgY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX1VOU1VQUE9SVEVEOgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9Cit9
CiAKLSAgICByZXR1cm4gdG9SVENSdHBDYXBhYmlsaXRpZXMoZmFjdG9yeS0+R2V0UnRwUmVjZWl2
ZXJDYXBhYmlsaXRpZXMoKm1lZGlhVHlwZSkpOworc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmls
aXRpZXM+JiBMaWJXZWJSVENQcm92aWRlcjo6YXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllcygpCit7
CisgICAgaWYgKCFtX2F1ZGlvRGVjb2RpbmdDYXBhYmlsaXRpZXMpIHsKKyAgICAgICAgaWYgKGF1
dG8qIGZhY3RvcnkgPSB0aGlzLT5mYWN0b3J5KCkpCisgICAgICAgICAgICBtX2F1ZGlvRGVjb2Rp
bmdDYXBhYmlsaXRpZXMgPSB0b1JUQ1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBSZWNl
aXZlckNhcGFiaWxpdGllcyhjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfQVVESU8pKTsK
KyAgICB9CisgICAgcmV0dXJuIG1fYXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllczsKK30KKworc3Rk
OjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiBMaWJXZWJSVENQcm92aWRlcjo6dmlkZW9E
ZWNvZGluZ0NhcGFiaWxpdGllcygpCit7CisgICAgaWYgKCFtX3ZpZGVvRGVjb2RpbmdDYXBhYmls
aXRpZXMpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZhY3RvcnkgPSB0aGlzLT5mYWN0b3J5KCkpCisg
ICAgICAgICAgICBtX3ZpZGVvRGVjb2RpbmdDYXBhYmlsaXRpZXMgPSB0b1JUQ1J0cENhcGFiaWxp
dGllcyhmYWN0b3J5LT5HZXRSdHBSZWNlaXZlckNhcGFiaWxpdGllcyhjcmlja2V0OjpNZWRpYVR5
cGU6Ok1FRElBX1RZUEVfVklERU8pKTsKKyAgICB9CisgICAgcmV0dXJuIG1fdmlkZW9EZWNvZGlu
Z0NhcGFiaWxpdGllczsKIH0KIAogc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IExp
YldlYlJUQ1Byb3ZpZGVyOjpzZW5kZXJDYXBhYmlsaXRpZXMoY29uc3QgU3RyaW5nJiBraW5kKQpA
QCAtNDQ0LDEzICs0OTcsMTM2IEBAIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBM
aWJXZWJSVENQcm92aWRlcjo6c2VuZGVyQ2FwYWJpbGl0aWVzKGNvbnN0IFN0CiAgICAgaWYgKCFt
ZWRpYVR5cGUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvKiBmYWN0b3J5ID0gdGhp
cy0+ZmFjdG9yeSgpOwotICAgIGlmICghZmFjdG9yeSkKKyAgICBzd2l0Y2ggKCptZWRpYVR5cGUp
IHsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9BVURJTzoKKyAgICAg
ICAgcmV0dXJuIGF1ZGlvRW5jb2RpbmdDYXBhYmlsaXRpZXMoKTsKKyAgICBjYXNlIGNyaWNrZXQ6
Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9WSURFTzoKKyAgICAgICAgcmV0dXJuIHZpZGVvRW5jb2Rp
bmdDYXBhYmlsaXRpZXMoKTsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQ
RV9EQVRBOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIHsg
fTsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9VTlNVUFBPUlRFRDoK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAg
fQorfQogCi0gICAgcmV0dXJuIHRvUlRDUnRwQ2FwYWJpbGl0aWVzKGZhY3RvcnktPkdldFJ0cFNl
bmRlckNhcGFiaWxpdGllcygqbWVkaWFUeXBlKSk7CitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFi
aWxpdGllcz4mIExpYldlYlJUQ1Byb3ZpZGVyOjphdWRpb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCkK
K3sKKyAgICBpZiAoIW1fYXVkaW9FbmNvZGluZ0NhcGFiaWxpdGllcykgeworICAgICAgICBpZiAo
YXV0byogZmFjdG9yeSA9IHRoaXMtPmZhY3RvcnkoKSkKKyAgICAgICAgICAgIG1fYXVkaW9FbmNv
ZGluZ0NhcGFiaWxpdGllcyA9IHRvUlRDUnRwQ2FwYWJpbGl0aWVzKGZhY3RvcnktPkdldFJ0cFNl
bmRlckNhcGFiaWxpdGllcyhjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfQVVESU8pKTsK
KyAgICB9CisgICAgcmV0dXJuIG1fYXVkaW9FbmNvZGluZ0NhcGFiaWxpdGllczsKIH0KIAorc3Rk
OjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiBMaWJXZWJSVENQcm92aWRlcjo6dmlkZW9F
bmNvZGluZ0NhcGFiaWxpdGllcygpCit7CisgICAgaWYgKCFtX3ZpZGVvRW5jb2RpbmdDYXBhYmls
aXRpZXMpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZhY3RvcnkgPSB0aGlzLT5mYWN0b3J5KCkpCisg
ICAgICAgICAgICBtX3ZpZGVvRW5jb2RpbmdDYXBhYmlsaXRpZXMgPSB0b1JUQ1J0cENhcGFiaWxp
dGllcyhmYWN0b3J5LT5HZXRSdHBTZW5kZXJDYXBhYmlsaXRpZXMoY3JpY2tldDo6TWVkaWFUeXBl
OjpNRURJQV9UWVBFX1ZJREVPKSk7CisgICAgfQorICAgIHJldHVybiBtX3ZpZGVvRW5jb2RpbmdD
YXBhYmlsaXRpZXM7Cit9CisKK3N0ZDo6b3B0aW9uYWw8UlRDUnRwQ29kZWNDYXBhYmlsaXR5PiBM
aWJXZWJSVENQcm92aWRlcjo6Y29kZWNDYXBhYmlsaXR5KGNvbnN0IENvbnRlbnRUeXBlJiBjb250
ZW50VHlwZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiBjYXBhYmls
aXRpZXMpCit7CisgICAgaWYgKCFjYXBhYmlsaXRpZXMpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBhdXRvIGNvbnRhaW5lclR5cGUgPSBjb250ZW50VHlwZS5jb250YWluZXJUeXBlKCk7Cisg
ICAgZm9yIChhdXRvJiBjb2RlYyA6IGNhcGFiaWxpdGllcy0+Y29kZWNzKSB7CisgICAgICAgIGlm
IChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGNvbnRhaW5lclR5cGUsIGNvZGVjLm1pbWVUeXBlKSkK
KyAgICAgICAgICAgIHJldHVybiBjb2RlYzsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30KICNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQogCit2b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVE
ZWNvZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1
cmF0aW9uLCBEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAg
IEFTU0VSVChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6OldlYlJUQyk7
CisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIC8vIEZJWE1FOiBWYWxpZGF0ZSBhZGRpdGlvbmFs
IHBhcmFtZXRlcnMsIGluIHBhcnRpY3VsYXIgbWltZSB0eXBlIHBhcmFtZXRlcnMuCisgICAgTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gaW5mbyB7IFdURk1vdmUoY29uZmlndXJhdGlvbikg
fTsKKworICAgIGlmIChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8pIHsKKyAgICAg
ICAgQ29udGVudFR5cGUgY29udGVudFR5cGUgeyBpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24u
dmlkZW8tPmNvbnRlbnRUeXBlIH07CisgICAgICAgIGF1dG8gY29kZWMgPSBjb2RlY0NhcGFiaWxp
dHkoY29udGVudFR5cGUsIHZpZGVvRGVjb2RpbmdDYXBhYmlsaXRpZXMoKSk7CisgICAgICAgIGlm
ICghY29kZWMpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHsgfSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICAgICAgaW5mby5zdXBwb3J0ZWQgPSB0cnVlOworI2lmIFBMQVRG
T1JNKENPQ09BKQorICAgICAgICBhdXRvIGNvbnRhaW5lclR5cGUgPSBjb250ZW50VHlwZS5jb250
YWluZXJUeXBlKCk7CisgICAgICAgIGlmIChjb250YWluZXJUeXBlID09ICJ2aWRlby92cDgiKQor
ICAgICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9IGZhbHNlOworICAgICAgICBlbHNlIGlm
IChjb250YWluZXJUeXBlID09ICJ2aWRlby92cDkiKQorICAgICAgICAgICAgaW5mby5wb3dlckVm
ZmljaWVudCA9IGlzU3VwcG9ydGluZ1ZQOVZUQigpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBpbmZvLnBvd2VyRWZmaWNpZW50ID0gdHJ1ZTsKKyAgICAgICAgaW5mby5zbW9vdGggPSBpbmZv
LnBvd2VyRWZmaWNpZW50OworI2VuZGlmCisgICAgfQorICAgIGlmIChpbmZvLnN1cHBvcnRlZENv
bmZpZ3VyYXRpb24uYXVkaW8pIHsKKyAgICAgICAgQ29udGVudFR5cGUgY29udGVudFR5cGUgeyBp
bmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24uYXVkaW8tPmNvbnRlbnRUeXBlIH07CisgICAgICAg
IGF1dG8gY29kZWMgPSBjb2RlY0NhcGFiaWxpdHkoY29udGVudFR5cGUsIGF1ZGlvRGVjb2RpbmdD
YXBhYmlsaXRpZXMoKSk7CisgICAgICAgIGlmICghY29kZWMpIHsKKyAgICAgICAgICAgIGNhbGxi
YWNrKHsgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaW5mby5z
dXBwb3J0ZWQgPSB0cnVlOworICAgIH0KKyAgICBjYWxsYmFjayhXVEZNb3ZlKGluZm8pKTsKKyNl
bHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbmZpZ3VyYXRpb24pOworICAgIGNhbGxiYWNrKHsgfSk7
CisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKK30KKwordm9pZCBMaWJXZWJSVENQcm92aWRlcjo6
Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYg
Y29uZmlndXJhdGlvbiwgRW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykK
K3sKKyAgICBBU1NFUlQoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRW5jb2RpbmdUeXBlOjpX
ZWJSVEMpOworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICAvLyBGSVhNRTogVmFsaWRhdGUgYWRk
aXRpb25hbCBwYXJhbWV0ZXJzLCBpbiBwYXJ0aWN1bGFyIG1pbWUgdHlwZSBwYXJhbWV0ZXJzLgor
ICAgIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvIGluZm8geyBXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pIH07CisKKyAgICBpZiAoaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLnZpZGVvKSB7
CisgICAgICAgIENvbnRlbnRUeXBlIGNvbnRlbnRUeXBlIHsgaW5mby5zdXBwb3J0ZWRDb25maWd1
cmF0aW9uLnZpZGVvLT5jb250ZW50VHlwZSB9OworICAgICAgICBhdXRvIGNvZGVjID0gY29kZWND
YXBhYmlsaXR5KGNvbnRlbnRUeXBlLCB2aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCkpOworICAg
ICAgICBpZiAoIWNvZGVjKSB7CisgICAgICAgICAgICBjYWxsYmFjayh7IH0pOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGluZm8uc3VwcG9ydGVkID0gdHJ1ZTsKKyNp
ZiBQTEFURk9STShDT0NPQSkKKyAgICAgICAgYXV0byBjb250YWluZXJUeXBlID0gY29udGVudFR5
cGUuY29udGFpbmVyVHlwZSgpOworICAgICAgICBpZiAoY29udGFpbmVyVHlwZSA9PSAidmlkZW8v
dnA4IikKKyAgICAgICAgICAgIGluZm8ucG93ZXJFZmZpY2llbnQgPSBmYWxzZTsKKyAgICAgICAg
ZWxzZSBpZiAoY29udGFpbmVyVHlwZSA9PSAidmlkZW8vdnA5IikKKyAgICAgICAgICAgIGluZm8u
cG93ZXJFZmZpY2llbnQgPSBpc1N1cHBvcnRpbmdWUDlWVEIoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9IHRydWU7CisgICAgICAgIGluZm8uc21vb3Ro
ID0gaW5mby5wb3dlckVmZmljaWVudDsKKyNlbmRpZgorICAgIH0KKyAgICBpZiAoaW5mby5zdXBw
b3J0ZWRDb25maWd1cmF0aW9uLmF1ZGlvKSB7CisgICAgICAgIENvbnRlbnRUeXBlIGNvbnRlbnRU
eXBlIHsgaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLmF1ZGlvLT5jb250ZW50VHlwZSB9Owor
ICAgICAgICBhdXRvIGNvZGVjID0gY29kZWNDYXBhYmlsaXR5KGNvbnRlbnRUeXBlLCBhdWRpb0Vu
Y29kaW5nQ2FwYWJpbGl0aWVzKCkpOworICAgICAgICBpZiAoIWNvZGVjKSB7CisgICAgICAgICAg
ICBjYWxsYmFjayh7IH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAg
IGluZm8uc3VwcG9ydGVkID0gdHJ1ZTsKKyAgICB9CisgICAgY2FsbGJhY2soV1RGTW92ZShpbmZv
KSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb25maWd1cmF0aW9uKTsKKyAgICBjYWxsYmFj
ayh7IH0pOworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKaW5kZXggMzZjNjRhODNjZWY5
Mjg5MjdiMjYwZGE3NzA4NGRhZTI1ZTkxOWU0YS4uNTFiNDlhMGYxMTE1Y2RiYzg0OTQ1YzA0MjE4
M2ZlNmNlMTE2MDdmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKQEAgLTM2
LDYgKzM2LDggQEAKIAogI2lmIFVTRShMSUJXRUJSVEMpCiAKKyNpbmNsdWRlICJSVENSdHBDYXBh
YmlsaXRpZXMuaCIKKwogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KIEFMTE9XX0RFUFJF
Q0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAKQEAgLTYyLDcgKzY0LDEyIEBAIGNsYXNzIFBlZXJD
b25uZWN0aW9uRmFjdG9yeUludGVyZmFjZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBDb250ZW50VHlwZTsKIGNsYXNzIExpYldlYlJUQ0F1ZGlvTW9kdWxlOworc3RydWN0IE1lZGlh
Q2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOworc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2Rp
bmdJbmZvOworc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOworc3RydWN0IE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uOwogY2xhc3MgUmVnaXN0cmFibGVEb21haW47CiBzdHJ1Y3Qg
UGVlckNvbm5lY3Rpb25GYWN0b3J5QW5kVGhyZWFkczsKIHN0cnVjdCBSVENSdHBDYXBhYmlsaXRp
ZXM7CkBAIC04Nyw2ICs5NCwxMSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFJlZlB0cjxSVENE
YXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uPiBjcmVhdGVSVENEYXRhQ2hhbm5lbFJl
bW90ZUhhbmRsZXJDb25uZWN0aW9uKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCisgICAgdXNpbmcg
RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKE1lZGlhQ2FwYWJp
bGl0aWVzRGVjb2RpbmdJbmZvJiYpPjsKKyAgICB1c2luZyBFbmNvZGluZ0NvbmZpZ3VyYXRpb25D
YWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8mJik+
OworICAgIHZvaWQgY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdDb25m
aWd1cmF0aW9uJiYsIERlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworICAgIHZvaWQg
Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiYs
IEVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworCiAjaWYgVVNFKExJQldFQlJUQykK
ICAgICB2aXJ0dWFsIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50
ZXJmYWNlPiBjcmVhdGVQZWVyQ29ubmVjdGlvbihEb2N1bWVudElkZW50aWZpZXIsIHdlYnJ0Yzo6
UGVlckNvbm5lY3Rpb25PYnNlcnZlciYsIHJ0Yzo6UGFja2V0U29ja2V0RmFjdG9yeSosIHdlYnJ0
Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U6OlJUQ0NvbmZpZ3VyYXRpb24mJik7CiAKQEAgLTEw
NSw5ICsxMTcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdv
cmtJbnRlcmZhY2VzKCk7CiAgICAgYm9vbCBpc0VudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFj
ZXNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJ
bnRlcmZhY2VzOyB9CiAKLSAgICB2b2lkIHNldEgyNjVTdXBwb3J0KGJvb2wgdmFsdWUpIHsgbV9z
dXBwb3J0c0gyNjUgPSB2YWx1ZTsgfQorICAgIHZvaWQgc2V0SDI2NVN1cHBvcnQoYm9vbCk7CiAg
ICAgdm9pZCBzZXRWUDlTdXBwb3J0KGJvb2wgc3VwcG9ydHNWUDlQcm9maWxlMCwgYm9vbCBzdXBw
b3J0c1ZQOVByb2ZpbGUyKTsKLSAgICB2b2lkIHNldFZQOVZUQlN1cHBvcnQoYm9vbCB2YWx1ZSkg
eyBtX3N1cHBvcnRzVlA5VlRCID0gdmFsdWU7IH0KKyAgICB2b2lkIHNldFZQOVZUQlN1cHBvcnQo
Ym9vbCk7CiAgICAgYm9vbCBpc1N1cHBvcnRpbmdIMjY1KCkgY29uc3QgeyByZXR1cm4gbV9zdXBw
b3J0c0gyNjU7IH0KICAgICBib29sIGlzU3VwcG9ydGluZ1ZQOVByb2ZpbGUwKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdXBwb3J0c1ZQOVByb2ZpbGUwOyB9CiAgICAgYm9vbCBpc1N1cHBvcnRpbmdWUDlQ
cm9maWxlMigpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydHNWUDlQcm9maWxlMjsgfQpAQCAtMTQ5
LDYgKzE2MSwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0ZWROZXR3b3Jr
VGhyZWFkKCkgeyB9OwogCiAgICAgUGVlckNvbm5lY3Rpb25GYWN0b3J5QW5kVGhyZWFkcyYgZ2V0
U3RhdGljRmFjdG9yeUFuZFRocmVhZHMoYm9vbCB1c2VOZXR3b3JrVGhyZWFkV2l0aFNvY2tldFNl
cnZlcik7CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiBhdWRpb0RlY29k
aW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+
JiB2aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBD
YXBhYmlsaXRpZXM+JiBhdWRpb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgc3RkOjpvcHRp
b25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiB2aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCk7Cisg
ICAgc3RkOjpvcHRpb25hbDxSVENSdHBDb2RlY0NhcGFiaWxpdHk+IGNvZGVjQ2FwYWJpbGl0eShj
b25zdCBDb250ZW50VHlwZSYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVz
PiYpOwogCiAgICAgYm9vbCBtX2VuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMg
eyBmYWxzZSB9OwogICAgIC8vIEZJWE1FOiBSZW1vdmUgbV91c2VOZXR3b3JrVGhyZWFkV2l0aFNv
Y2tldFNlcnZlciBtZW1iZXIgdmFyaWFibGUgYW5kIG1ha2UgaXQgYSBnbG9iYWwuCkBAIC0xNjIs
MTUgKzE3OSwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX3N1cHBvcnRzVlA5VlRCIHsgZmFs
c2UgfTsKICAgICBib29sIG1fdXNlRFRMUzEwIHsgZmFsc2UgfTsKICAgICBib29sIG1fc3VwcG9y
dHNNRE5TIHsgZmFsc2UgfTsKLSNlbmRpZgotfTsKIAotI2lmIFVTRShMSUJXRUJSVEMpCi1pbmxp
bmUgdm9pZCBMaWJXZWJSVENQcm92aWRlcjo6c2V0VlA5U3VwcG9ydChib29sIHN1cHBvcnRzVlA5
UHJvZmlsZTAsIGJvb2wgc3VwcG9ydHNWUDlQcm9maWxlMikKLXsKLSAgICBtX3N1cHBvcnRzVlA5
UHJvZmlsZTAgPSBzdXBwb3J0c1ZQOVByb2ZpbGUwOwotICAgIG1fc3VwcG9ydHNWUDlQcm9maWxl
MiA9IHN1cHBvcnRzVlA5UHJvZmlsZTI7Ci19CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBh
YmlsaXRpZXM+IG1fYXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllczsKKyAgICBzdGQ6Om9wdGlvbmFs
PFJUQ1J0cENhcGFiaWxpdGllcz4gbV92aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzOworICAgIHN0
ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBtX2F1ZGlvRW5jb2RpbmdDYXBhYmlsaXRp
ZXM7CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IG1fdmlkZW9FbmNvZGlu
Z0NhcGFiaWxpdGllczsKICNlbmRpZgorfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2luZUNvbmZpZ3Vy
YXRpb25GYWN0b3J5TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlNb2NrLmNwcAppbmRleCBjZjE4ZmU3NDZiYTNhZWQz
ZmUwZGI1YTNhMDA4ODk5ZDRlNmExNzUyLi4wMjY2MWNjMzFmZDAxMTVkY2NmNTgzNzNhODBkODRh
YzI1YzFjMDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlNb2NrLmNwcApAQCAt
MTAxLDggKzEwMSw4IEBAIHN0YXRpYyBib29sIGNhblBvd2VyRWZmaWNpZW50bHlEZWNvZGVNZWRp
YShjb25zdCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYgY29uCiAKIHN0YXRpYyBib29sIGNh
bkVuY29kZU1lZGlhKGNvbnN0IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiBjb25maWd1cmF0
aW9uKQogewotICAgIC8vIFRoZSBtb2NrIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIG9ubHkgbG9j
YWwgZmlsZSBwbGF5YmFjay4KLSAgICBpZiAoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRW5j
b2RpbmdUeXBlOjpSZWNvcmQpCisgICAgQVNTRVJUKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRp
YUVuY29kaW5nVHlwZTo6UmVjb3JkKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi50eXBlICE9IE1l
ZGlhRW5jb2RpbmdUeXBlOjpSZWNvcmQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8v
IE1heGluZyBvdXQgdmlkZW8gZW5jb2Rpbmcgc3VwcG9ydCBhdCA3MjBQLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3MjZk
ZWQyNTMwY2M4YmQxNmRjYjM3ZWI2YzczZTIwZjNmODUxZGIuLjUwYTIxZjE5ZDY3ZmQ5N2VhODIy
NzBiN2FmOGQwOWMxYjVjYzY2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0xMC0xMiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIFdlYlJUQyBtZWRpYSBjYXBhYmlsaXRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNv
ZGluZ0luZm8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21lZGlhY2FwYWJpbGl0aWVz
L21vY2stZW5jb2RpbmdJbmZvLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vbWFjL21lZGlhL21l
ZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVuY29kaW5nSW5mby11bmRlZmluZWQt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9tZWRpYS9tZWRp
YWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVkLmh0
bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0
aWVzL21lZGlhY2FwYWJpbGl0aWVzLXR5cGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB0ZXN0
cy1vcHRpb25zLmpzb246CisKIDIwMjEtMTAtMTAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGl0ZXJhdGluZyBGaWxlU3lzdGVtRGly
ZWN0b3J5SGFuZGxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxMTk0OTIzZGRi
MDEwYjVhNWQwZTRhY2Y5MzNlZjZjYTNhOWM2MjNjLi43MTJlMTIxODQ3NDllZGIxNzU0MWNlMDQ3
ZTIzNjQxMDc2YWQzNzdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNSBAQAorMjAyMS0xMC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFdlYlJUQyBtZWRpYSBjYXBhYmlsaXRpZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTU2OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcmVzb3VyY2VzL2lt
cG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL1JFQURNRS5tZDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS5qczogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGlu
Z0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8ud2VicnRjLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJ
bmZvRW5jcnlwdGVkTWVkaWEuaHR0cC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0VuY3J5cHRlZE1lZGlhLmh0
dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2Vu
Y29kaW5nSW5mby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndl
YnJ0Yy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LmpzOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhh
cm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
dzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDIxLTEwLTEwICBTaWh1aSBMaXUgIDxzaWh1aV9s
aXVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBpdGVyYXRpbmcgRmlsZVN5
c3RlbURpcmVjdG9yeUhhbmRsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCA2OGVjMjgzZTk0
MTI5MTAyYzYzNmQ0ZTgyZmI2NjAyMjliNDU4MjhhLi42MTBkZDVjZmQ1YWY1MGZiZDY5MTFmYzE3
MDUzOGJmYTQwYmQyNjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVz
b3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMzYwLDcgKzM2MCw3
IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9sb25ndGFzay10aW1pbmciOiAic2tpcCIsIAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWFnbmV0b21ldGVyIjogInNraXAiLCAKICAgICAid2Vi
LXBsYXRmb3JtLXRlc3RzL21hdGhtbCI6ICJpbXBvcnQiLCAKLSAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLWNhcGFiaWxpdGllcyI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1zb3VyY2UiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS8iOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtaW1h
Z2UiOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9NRVRBLnlt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yYmQwMGVmYjlhNzY0ZTI5Zjg5NWFmN2I0NzYxZjcwZTkzZmExZDAyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWwKQEAgLTAsMCArMSwzIEBACitzcGVjOiBo
dHRwczovL3czYy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLworc3VnZ2VzdGVkX3Jldmll
d2VyczoKKyAgLSBtb3VuaXJsYW1vdXJpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9SRUFETUUubWQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZlOTk0OTc2YzA3Njg3MDYyMzcxYWE4MjEwNGM4
OTBmM2IwOWQ1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL1JFQURNRS5tZApAQCAtMCwwICsx
LDE0IEBACisjIE1lZGlhIENhcGFiaWxpdGllcyBzcGVjaWZpY2F0aW9uIFRlc3RzCisKK1RoZSBN
ZWRpYSBDYXBhYmlsaXRpZXMgc3BlY2lmaWNhdGlvbiBpcyBhdmFpbGFibGUgaGVyZTogaHR0cHM6
Ly93aWNnLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRpZXMKKworR2l0SHViIHJlcG9zaXRvcnk6
IGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL21lZGlhLWNhcGFiaWxpdGllcworCitGaWxlIGFuIGlz
c3VlOiBodHRwczovL2dpdGh1Yi5jb20vd2ljZy9tZWRpYS1jYXBhYmlsaXRpZXMvaXNzdWVzL25l
dworCisjIyBTdGF0dXMgb2YgdGhlc2UgdGVzdHMKKworVGhlc2UgdGVzdHMgYXJlIHN0aWxsIHZl
cnkgZWFybHkuIFRoZSBzcGVjaWZpY2F0aW9uIGlzIHN0aWxsIFdJUCBhbmQgdGhleSB0cnkgdG8K
K3JlZmxlY3QgYXMgbXVjaCBhcyBwb3NzaWJsZSB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgc3Bl
Y2lmaWNhdGlvbi4gUGxlYXNlIGZpbGUKK2lzc3VlcyBpZiB0aGVyZSBhcmUgaW5jb25zaXN0ZW5j
aWVzIGJldHdlZW4gdGhlIHNwZWNpZmljYXRpb24gYW5kIHRoZSB0ZXN0cyBvcgoraWYgdGVzdHMg
YXJlIG9idmlvdXNseSBtaXNzaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFu
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xNTY1OTRiMWJhZmNhNDljMjY1Y2UyMjBjYjhlYjZkMGMwNmUxZGIwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzMSBAQAorCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vz
bid0IGdldCBhIGNvbmZpZ3VyYXRpb24KK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQKK1BBU1MgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3Qg
aGF2ZSBhIHR5cGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBj
b25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZAorUEFTUyBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
aGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAK
K1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkKK1BBU1MgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBl
IGRvZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8KK0ZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciBhc3NlcnRfdW5yZWFj
aGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2Rl
Y3MKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRo
ZSBmb3JtIG9mIHgveQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kKK1BBU1MgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kKK1BBU1MgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgv
LXkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRo
ZSBmb3JtIG9mIHgvCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBl
IGRvZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8KK0ZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMgYXNzZXJ0X3VucmVh
Y2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxl
IGNvZGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBj
b25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29k
ZWNzCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2Fw
YWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJvYmplY3QiIGJ1
dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUKK0ZBSUwg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIHNwYXRpYWxSZW5kZXJpbmcgc2V0IHJldHVybnMg
YSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8gd2l0aCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQsIGFuZCB0cmFuc2ZlckZ1bmN0
aW9uIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
aGFzIGFuIGVtcHR5IGhkck1ldGFkYXRhVHlwZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgY29sb3JHYW11dCBzZXQg
dG8gdHJ1ZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gaGFzIGEgdHJhbnNmZXJGdW5jdGlvbiBzZXQgdG8gMworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhj
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRtbApAQCAtMCww
ICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFz
dHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
ZGVjb2RpbmdJbmZvLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzJkNDdlODcyOTU3NzVmMjA3ZmVkZDZm
M2Y2ODY4MWNhMzJhZDc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFu
eS5qcwpAQCAtMCwwICsxLDM4MyBAQAorLy8gTUVUQTogdGltZW91dD1sb25nCisndXNlIHN0cmlj
dCc7CisKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2Vk
IHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIg
bWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2aWRlby93ZWJt
OyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2MDAs
CisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5pbWFsIEF1
ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlv
bmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxBdWRpb0NvbmZpZ3Vy
YXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicsCit9
OworCisvLyBBdWRpb0NvbmZpZ3VyYXRpb24gd2l0aCBvcHRpb25hbCBzcGF0aWFsUmVuZGVyaW5n
IHBhcmFtLgordmFyIGF1ZGlvQ29uZmlndXJhdGlvbldpdGhTcGF0aWFsUmVuZGVyaW5nID0gewor
ICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorICBzcGF0aWFsUmVu
ZGVyaW5nOiB0cnVlLAorfTsKKworLy8gVmlkZW9Db25maWd1cmF0aW9uIHdpdGggb3B0aW9uYWwg
aGRyTWV0YWRhdGFUeXBlLCBjb2xvckdhbXV0LCBhbmQKKy8vIHRyYW5zZmVyRnVuY3Rpb24gcHJv
cGVydGllcy4KK3ZhciB2aWRlb0NvbmZpZ3VyYXRpb25XaXRoRHluYW1pY1JhbmdlID0geworICBj
b250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICB3aWR0
aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAgYml0cmF0ZTogMzAwMCwKKyAgZnJhbWVyYXRlOiAy
NCwKKyAgaGRyTWV0YWRhdGFUeXBlOiAic21wdGVTdDIwODYiLAorICBjb2xvckdhbXV0OiAic3Jn
YiIsCisgIHRyYW5zZmVyRnVuY3Rpb246ICJzcmdiIiwKK30KKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbygpKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oe30pKTsKK30sICJUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24n
dCB2YWxpZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvKHsKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzog
bWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0
eXBlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19q
cyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8o
eworICAgIHR5cGU6ICdmaWxlJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3Igdmlk
ZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlw
ZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgw
MCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1l
cmF0ZTogLTEsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUi
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVv
L3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMCwK
KyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
ZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2
MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiBJbmZpbml0eSwKKyAg
ICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkiKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVF
cnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2ZnZW9hJywKKyAg
ICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAs
CisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
ZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRl
bnRUeXBlOiAnYXVkaW8vZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDog
NjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwK
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdm
aWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2Rl
Y3M9InZwMDkuMDAuMTAuMDgiOyBmb289ImJhciInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQs
CisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJh
bWV0ZXIiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTog
J3ZpZGVvL3dlYm07IGZvbz0iYmFyIicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0
OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9
LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRl
byBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3Qg
Y29kZWNzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6
ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAs
CisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJh
dGU6ICcyNDAwMC8xMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Iik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxl
JywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9
InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwK
KyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8wJywKKyAgICB9
CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
aW4gdGhlIGZvcm0gb2YgeC8wIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6ICcwLzEwMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95Iik7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBl
RXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5
cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJt
OyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWln
aHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICctMjQwMDAv
MTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWpl
Y3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2
aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAu
MTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJp
dHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAorICAgIH0KKyAg
fSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0
aGUgZm9ybSBvZiB4Ly15Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29u
dGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdp
ZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAg
ICBmcmFtZXJhdGU6ICcyNDAwMC8nLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LyIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
ZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2
MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMS8zeCcsCisgICAg
fQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRl
IHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAg
IGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlw
ZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlw
ZTogJ3ZpZGVvL2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5
cGUgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVk
aW8vd2VibTsgY29kZWNzPSJvcHVzIjsgZm9vPSJiYXIiJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAg
IGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9LAorICB9KSk7
Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1
cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogbWluaW1h
bFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlv
biwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmls
aXR5LnN1cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmls
aXR5LnNtb290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5
LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFi
aWxpdHkua2V5U3lzdGVtQWNjZXNzLCAib2JqZWN0Iik7CisgIH0pOworfSwgIlRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3Rz
Iik7CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHZhciB2YWxpZFR5cGVzID0gWyAnZmlsZScsICdt
ZWRpYS1zb3VyY2UnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVmaW5lZCwgbnVsbCwg
JycsICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgJ3JlY29yZCcsICd0cmFuc21pc3Npb24nIF07CisKKyAgdmFyIHZhbGlkUHJvbWlzZXMgPSBb
XTsKKyAgdmFyIGludmFsaWRDYXVnaHQgPSAwOworCisgIHZhbGlkVHlwZXMuZm9yRWFjaCh0eXBl
ID0+IHsKKyAgICB2YWxpZFByb21pc2VzLnB1c2gobmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbyh7CisgICAgICB0eXBlOiB0eXBlLAorICAgICAgdmlkZW86IG1pbmltYWxW
aWRlb0NvbmZpZ3VyYXRpb24sCisgICAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlv
biwKKyAgICB9KSk7CisgIH0pOworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2aWEgUHJv
bWlzZS5hbGwodmFsaWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisgIC8vIHByb21p
c2VzIGZhaWwsIFByb21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFuaXNtIGNhbid0
IGJlIHVzZWQgZm9yCisgIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0ZWQgaW5k
aXZpZHVhbGx5IGFuZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVuIHJlamVjdGVk
IHVudGlsIHRoZSBhbW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9uLgor
ICBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgpID0+IHsKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkgeworICAgICAg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgICAgIHR5cGU6
IGludmFsaWRUeXBlc1tpXSwKKyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRp
b24sCisgICAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgICAgfSku
dGhlbih0LnVucmVhY2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGUubmFtZSwgJ1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFsaWRDYXVnaHQ7
CisgICAgICAgIGlmIChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5ndGgpCisgICAg
ICAgICAgdC5kb25lKCk7CisgICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJlYWNoZWRfZnVu
YygnUHJvbWlzZS5hbGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVzJykpOworfSwg
IlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9u
IGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5
cGU6ICdmaWxlJywKKyAgICBhdWRpbzogYXVkaW9Db25maWd1cmF0aW9uV2l0aFNwYXRpYWxSZW5k
ZXJpbmcsCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
YWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
YWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJp
bGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVv
ZiBhYmlsaXR5LmtleVN5c3RlbUFjY2VzcywgIm9iamVjdCIpOworICB9KTsKK30sICJUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJucyBhIHZhbGlk
IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogdmlkZW9Db25maWd1cmF0aW9uV2l0aER5bmFtaWNS
YW5nZSwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBh
YmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBh
YmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmls
aXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCAib2JqZWN0Iik7CisgIH0pOworfSwgIlRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gd2l0aCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQsIGFuZCB0cmFu
c2ZlckZ1bmN0aW9uIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9i
amVjdHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTog
J3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwK
KyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0
ZTogMjQsCisgICAgICBoZHJNZXRhZGF0YVR5cGU6ICIiCisgICAgfSwKKyAgfSkpOworfSwgIlRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBo
YXMgYW4gZW1wdHkgaGRyTWV0YWRhdGFUeXBlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzog
eworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgi
JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6
IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgICAgY29sb3JHYW11dDogdHJ1ZQorICAg
IH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgY29sb3JHYW11dCBzZXQgdG8gdHJ1ZSIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
ZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2
MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICAgIHRy
YW5zZmVyRnVuY3Rpb246IDMKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIHRyYW5zZmVyRnVu
Y3Rpb24gc2V0IHRvIDMiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MTI4MGYyMjBmZWJlYmNkNmFhODRmN2EwYjA3ZTBmYjIzZjc4Njc0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKKworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uIHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRp
YUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJ
TCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlv
biBkb2VzIG5vdCBoYXZlIGEgdHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVh
dGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0
IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQor
RkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykK
K0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycp
CitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRl
byBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbyB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBw
YXJhbWV0ZXIgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFz
IG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgeC95IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvMCB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3Rz
IGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQor
RkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZv
cm0gb2YgLXgveSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15IHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMg
ZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxp
bmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24g
Y29udGVuVHlwZSBkb2Vzbid0IHBhcnNlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFs
dWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9u
IGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyB1bmRlZmlu
ZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0
aGF0IGlzbid0IGNvZGVjcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmpl
Y3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlk
IHR5cGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJp
bGl0aWVzSW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyB3aXRoIGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11dCwgYW5kIHRy
YW5zZmVyRnVuY3Rpb24gc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8g
b2JqZWN0cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYW4gZW1wdHkgaGRy
TWV0YWRhdGFUeXBlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGNvbG9y
R2FtdXQgc2V0IHRvIHRydWUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEg
dHJhbnNmZXJGdW5jdGlvbiBzZXQgdG8gMyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNv
ZGluZ0luZm8uYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1
NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0lu
Zm8uYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2Rl
Y29kaW5nSW5mby53ZWJydGMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0
Yy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDFjNjdiN2U2NTQzNjRkYmJhMTY5Y2U2MjExMTg0
ODFmMGIxMTc0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKKworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9y
IHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBh
IGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0
eQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNu
J3Qgb2YgdHlwZSB2aWRlbworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24g
Y29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cworUEFTUyBU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkLCBzbW9vdGgsIGFuZCBwb3dl
ckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMgdmlkZW8gY29udGVudCB0eXBl
LgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkLCBzbW9vdGgs
IGFuZCBwb3dlckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMgYXVkaW8gY29u
dGVudCB0eXBlLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVk
IHRydWUgZm9yIHRoZSBjb2RlYyBhdWRpby9vcHVzIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVy
LmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBz
dXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL0lTQUMgcmV0dXJuZWQgYnkgUlRDUnRw
UmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyBy
ZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgYXVkaW8vRzcyMiByZXR1cm5lZCBi
eSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyBhdWRpby9QQ01VIHJl
dHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlv
L1BDTUEgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1Mg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29k
ZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1v
ZGU9MTtwcm9maWxlLWxldmVsLWlkPTY0MGMxZiByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5n
ZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3Vw
cG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBsZXZlbC1hc3ltbWV0cnktYWxs
b3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NDJlMDFmIHJldHVy
bmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL0gy
NjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTA7cHJvZmls
ZS1sZXZlbC1pZD02NDBjMWYgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0
aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVl
IGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNr
ZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZiByZXR1cm5lZCBieSBSVENS
dHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY1IHJldHVybmVk
IGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL1ZQOCBy
ZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRl
by9WUDk7IHByb2ZpbGUtaWQ9MCByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmls
aXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRy
dWUgZm9yIHRoZSBjb2RlYyB2aWRlby9WUDk7IHByb2ZpbGUtaWQ9MiByZXR1cm5lZCBieSBSVENS
dHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGlu
Z0luZm8ud2VicnRjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8ud2VicnRjLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjI4Mzk1NjEwMDY5NzA2OTRhZDU0ZTg2YTA2MTNkOGMyY2ZiYjI1ZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMuaHRtbApAQCAtMCwwICsxLDIxNyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KCkgZm9yIHdlYnJ0YzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworLy8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRpb24g
dGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGll
cyBhcmUgbWlzc2luZy4KK2NvbnN0IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNv
bnRlbnRUeXBlOiAndmlkZW8vVlA5OyBwcm9maWxlLWxldmVsPSIwIicsCisgIHdpZHRoOiA4MDAs
CisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6IDI0LAorfTsK
KworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVy
IHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK2NvbnN0IG1p
bmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vb3B1cycs
Cit9OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAnd2VicnRjJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3Igdmlk
ZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRU
eXBlOiAndmlkZW8vVlA5JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwK
KyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IC0xLAorICAgIH0sCisgIH0p
KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAg
IHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOSInLAorICAgICAgd2lkdGg6
IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZy
YW1lcmF0ZTogMCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8g
MCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2
aWRlby9WUDkiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAg
IGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAorICAgIH0sCisgIH0p
KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSIpOworCitwcm9taXNlX3Rl
c3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRj
JywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdmZ2VvYScsCisgICAgICB3aWR0
aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAg
ZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3Qg
cGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBl
OiAnYXVkaW8vZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAor
ICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMn
LAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVy
biBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICBhdWRpbzogeyBj
b250ZW50VHlwZTogJ3ZpZGVvL2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlz
bid0IG9mIHR5cGUgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0
YycsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86IG1p
bmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNz
ZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAgYXNz
ZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAgfSk7
Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmls
aXRpZXNJbmZvIG9iamVjdHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0
YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNz
PSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAs
CisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICAg
IGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4g
eworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnN1cHBvcnRlZCk7CisgICAgYXNzZXJ0X2ZhbHNl
KGFiaWxpdHkuc21vb3RoKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5wb3dlckVmZmljaWVu
dCk7CisgIH0pOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQs
IHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9uLXdlYnJ0YyB2
aWRlbyBjb250ZW50IHR5cGUuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJy
dGMnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiB7
CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorICAgIH0s
CisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3VwcG9y
dGVkKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2VydF9mYWxz
ZShhYmlsaXR5LnBvd2VyRWZmaWNpZW50KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyByZXR1cm5zIHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0IHRv
IGZhbHNlIGZvciBub24td2VicnRjIGF1ZGlvIGNvbnRlbnQgdHlwZS4iKTsKKworY29uc3QgdmFs
aWRBdWRpb0NvZGVjcyA9ICgoKSA9PiB7CisgIC8vIFNvbWUgY29kZWNzIHRoYXQgYXJlIHJldHVy
bmVkIGJ5IGdldENhcGFiaWxpdGllcygpIGFyZSBub3QgcmVhbCBjb2RlY3MsCisgIC8vIGV4Y2x1
ZGUgdGhlc2UgZnJvbSB0aGUgdGVzdC4KKyAgY29uc3QgZXhjbHVkZUxpc3QgPSBbICdhdWRpby9D
TicsICdhdWRpby90ZWxlcGhvbmUtZXZlbnQnLCAnYXVkaW8vcmVkJyBdOworICBjb25zdCBhdWRp
b0NvZGVjcyA9IFtdOworICBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoImF1ZGlvIilb
J2NvZGVjcyddLmZvckVhY2goY29kZWMgPT4geworICAgIGlmIChleGNsdWRlTGlzdC5pbmRleE9m
KGNvZGVjLm1pbWVUeXBlKSA8IDAgJiYKKyAgICAgICAgYXVkaW9Db2RlY3MuaW5kZXhPZihjb2Rl
Yy5taW1lVHlwZSkgPCAwKSB7CisgICAgICBhdWRpb0NvZGVjcy5wdXNoKGNvZGVjLm1pbWVUeXBl
KTsKKyAgICB9CisgIH0pOworICByZXR1cm4gYXVkaW9Db2RlY3M7Cit9KSgpOworCit2YWxpZEF1
ZGlvQ29kZWNzLmZvckVhY2goY29kZWMgPT4geworICBwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAnd2VicnRjJywKKyAgICBhdWRpbzogeworICAgICAgY29udGVudFR5cGU6IGNvZGVjCisgICAg
fQorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF90cnVlKGFiaWxpdHkuc3VwcG9y
dGVkKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRl
ZCB0cnVlIGZvciB0aGUgY29kZWMgIiArIGNvZGVjICsgIiByZXR1cm5lZCBieSBSVENSdHBSZWNl
aXZlci5nZXRDYXBhYmlsaXRpZXMoKSIpfQorKTsKKworY29uc3QgdmFsaWRWaWRlb0NvZGVjcyA9
ICgoKSA9PiB7CisgIC8vIFNvbWUgY29kZWNzIHRoYXQgYXJlIHJldHVybmVkIGJ5IGdldENhcGFi
aWxpdGllcygpIGFyZSBub3QgcmVhbCBjb2RlY3MgYnV0CisgIC8vIG9ubHkgdXNlZCBmb3IgZXJy
b3IgY29ycmVjdGlvbiwgZXhjbHVkZSB0aGVzZSBmcm9tIHRoZSB0ZXN0LgorICBjb25zdCBleGNs
dWRlTGlzdCA9IFsgJ3ZpZGVvL3J0eCcsICd2aWRlby9yZWQnLCAndmlkZW8vdWxwZmVjJywKKyAg
ICAgICAgICAgICAgICAgICAgICAndmlkZW8vZmxleGZlYy0wMycgXTsKKyAgY29uc3QgdmlkZW9D
b2RlY3MgPSBbXTsKKworICBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoInZpZGVvIilb
J2NvZGVjcyddLmZvckVhY2goY29kZWMgPT4geworICAgIGlmIChleGNsdWRlTGlzdC5pbmRleE9m
KGNvZGVjLm1pbWVUeXBlKSA8IDApIHsKKyAgICAgIGxldCBtaW1lVHlwZSA9IGNvZGVjLm1pbWVU
eXBlOworICAgICAgaWYgKCdzZHBGbXRwTGluZScgaW4gY29kZWMpIHsKKyAgICAgICAgbWltZVR5
cGUgKz0gIjsgIiArIGNvZGVjLnNkcEZtdHBMaW5lOworICAgICAgfQorICAgICAgaWYgKCEobWlt
ZVR5cGUgaW4gdmlkZW9Db2RlY3MpKSB7CisgICAgICAgIHZpZGVvQ29kZWNzLnB1c2gobWltZVR5
cGUpOworICAgICAgfQorICAgIH0KKyAgfSk7CisgIHJldHVybiB2aWRlb0NvZGVjczsKK30pKCk7
CisKK3ZhbGlkVmlkZW9Db2RlY3MuZm9yRWFjaChjb2RlYyA9PiB7CisgIHByb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8o
eworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTog
Y29kZWMsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRy
YXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9CisgIH0pLnRoZW4oYWJpbGl0
eSA9PiB7CisgICAgYXNzZXJ0X3RydWUoYWJpbGl0eS5zdXBwb3J0ZWQpOworICB9KTsKK30sICJU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2Rl
YyAiICsgY29kZWMgKyAiIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGll
cygpIil9CispOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0Vu
Y3J5cHRlZE1lZGlhLmh0dHAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlw
dGVkTWVkaWEuaHR0cC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM3YWExY2FmMzBjYjMzOTQy
NzlmNjZiYmEzMjhjNTNiYzYxNGM2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5n
SW5mb0VuY3J5cHRlZE1lZGlhLmh0dHAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitG
QUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSB3aXRoIGEga2V5U3lzdGVtQ29uZmlndXJhdGlv
biBmYWlscyBvbiBhIG5vbi1zZWN1cmUgY29udGV4dC4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxk
IGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2N2Iy
MzQzMWI3ZmRmM2JhZjNkNDg0M2Q2ODc3OGJiMWNjMTVjODUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWwKQEAgLTAsMCArMSwzMSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KCkgZm9yIGVuY3J5cHRlZCBtZWRpYSAobm9uLXNlY3VyZSBjb250ZXh0KTwvdGl0bGU+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKwor
Ly8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNw
ZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFs
VmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVj
cz0idnAwOS4wMC4xMC4wOCInLAorICB3aWR0aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAgYml0
cmF0ZTogMzAwMCwKKyAgZnJhbWVyYXRlOiAyNCwKK307CisKKy8vIE1pbmltYWwgTWVkaWFDYXBh
YmlsaXRpZXNLZXlTeXN0ZW1Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlcgor
Ly8gc3BlYy4gQWxsIG9wdGlvbmFsIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1h
bEtleVN5c3RlbUNvbmZpZ3VyYXRpb24gPSB7CisgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtl
eScKK307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19k
b20odCwgJ1NlY3VyaXR5RXJyb3InLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZp
Z3VyYXRpb24sCisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogbWluaW1hbEtleVN5c3RlbUNv
bmZpZ3VyYXRpb24sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgd2l0aCBh
IGtleVN5c3RlbUNvbmZpZ3VyYXRpb24gZmFpbHMgb24gYSBub24tc2VjdXJlIGNvbnRleHQuIik7
CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVk
aWEuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEu
aHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3ZTlhYWE0YWQ5MDA5MGIwZDcyMGQxZDlm
NDE3OTM0YWQ3MTNiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNy
eXB0ZWRNZWRpYS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorCitQQVNTIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8oKSBhY2NlcHRzIGEgc3R1YiBrZXkgc3lzdGVtIGNvbmZpZ3Vy
YXRpb24gKHcvdmlkZW8pLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0cyBh
IHN0dWIga2V5IHN5c3RlbSBjb25maWd1cmF0aW9uICh3L2F1ZGlvKS4KK1BBU1MgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbygpIGFjY2VwdHMgYSBrZXkgc3lzdGVtIGNvbmZpZ3VyYXRpb24gd2l0aCB2
aWRlbyBpbmZvLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0cyBhIGtleSBz
eXN0ZW0gY29uZmlndXJhdGlvbiB3aXRoIGF1ZGlvIGluZm8uCitGQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8oKSByZWplY3RzIGlmIHJvYnVzdG5lc3MgYW5kIGNvbmZpZ3VyYXRpb24gZG8gbm90
IG1hdGNoICgxKS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVm
aW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
bygpIHJlamVjdHMgaWYgcm9idXN0bmVzcyBhbmQgY29uZmlndXJhdGlvbiBkbyBub3QgbWF0Y2gg
KDIpLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVq
ZWN0cyBpZiByb2J1c3RuZXNzIGFuZCBjb25maWd1cmF0aW9uIGRvIG5vdCBtYXRjaCAoMykuIGFz
c2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGlm
IHBlcnNpc3RlbnRTdGF0ZSBpc24ndCB2YWxpZC4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhh
dmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgZGlzdGluY3RpdmVJZGVudGlmaWVyIGlz
bid0IHZhbGlkLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZp
bmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
KCkgcmVqZWN0cyBpZiBzZXNzaW9uVHlwZXMgaXNuJ3QgYSBzZXF1ZW5jZS4gYXNzZXJ0X3VucmVh
Y2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxl
IGNvZGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGRvZXMgbm90IHJlamVjdCB3aGVu
IHByb3BlcnRpZXMgYXJlIHNldCB0byB1bmV4cGVjdGVkIHZhbHVlcy4KK0ZBSUwgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8gb2JqZWN0cyB3aXRoIGVuY3J5cHRlZCBtZWRpYSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
b2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIFRlc3QgdGhhdCByYW5kb20ga2V5IHN5
c3RlbXMgYXJlIHJlcG9ydGVkIGFzIG5vbiBzdXBwb3J0ZWQuIGFzc2VydF9mYWxzZTogZXhwZWN0
ZWQgZmFsc2UgZ290IHRydWUKK1BBU1MgVGVzdCB0aGF0IGtleVN5c3RlbUFjY2VzcyBpcyBvbmx5
IG51bGwgd2hlbiBub3Qgc3VwcG9ydGVkIGlmIGtleVN5c3RlbUNvbmZpZ3VyYXRpb24gd2FzIHVz
ZWQuCitGQUlMIFRlc3QgdGhhdCBzdXBwb3J0ZWQ9ZmFsc2Ugd2hlbiBrZXlTeXN0ZW1Db25maWd1
cmF0aW9uIGlzIHVuc3VwcG9ydGVkLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBu
dWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8oKSB3aXRoIHR5cGUgd2VicnRjIHJlamVjdHMga2V5IHN5c3RlbSBjb25maWd1cmF0aW9u
LiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNy
eXB0ZWRNZWRpYS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEu
aHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YWM5MTRkZTg5ZGRjMGY3YmVlMDE2OWE3YzdjZWUwNGFi
MjYxZjJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVk
aWEuaHR0cHMuaHRtbApAQCAtMCwwICsxLDI2MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+
TWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKCkgZm9yIGVuY3J5cHRlZCBtZWRpYTwvdGl0
bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisvLyBNaW5pbWFs
IFZpZGVvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9w
dGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxWaWRlb0NvbmZp
Z3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAw
LjEwLjA4IicsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAw
LAorICBmcmFtZXJhdGU6IDI0LAorfTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24g
dGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGll
cyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250
ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorfTsKKworLy8gTWluaW1hbCBN
ZWRpYUNhcGFiaWxpdGllc0tleVN5c3RlbUNvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93
ZWQgcGVyCisvLyBzcGVjLiBBbGwgb3B0aW9uYWwgcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3Zh
ciBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiA9IHsKKyAga2V5U3lzdGVtOiAnb3JnLncz
LmNsZWFya2V5JywKK307CisKKy8vIENvbmZpZyB3aXRoIGJvZ3VzIG5hbWUgbm90IHByb3ZpZGVk
IGJ5IGFueSBVQS4KK3ZhciBib2d1c0tleVN5c3RlbUNvbmZpZ3VyYXRpb24gPSB7CisgIGtleVN5
c3RlbTogJ2JvZ3VzJywKK307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywK
KyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25m
aWd1cmF0aW9uOiBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiwKKyAgfSk7Cit9LCAiVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIGFjY2VwdHMgYSBzdHViIGtleSBzeXN0ZW0gY29uZmlndXJh
dGlvbiAody92aWRlbykuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywK
KyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25m
aWd1cmF0aW9uOiBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiwKKyAgfSk7Cit9LCAiVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIGFjY2VwdHMgYSBzdHViIGtleSBzeXN0ZW0gY29uZmlndXJh
dGlvbiAody9hdWRpbykuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywK
KyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25m
aWd1cmF0aW9uOiB7CisgICAgICBrZXlTeXN0ZW06ICdvcmcudzMuY2xlYXJrZXknLAorICAgICAg
dmlkZW86IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgIH0sCisgIH0p
OworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBhY2NlcHRzIGEga2V5IHN5c3RlbSBjb25m
aWd1cmF0aW9uIHdpdGggdmlkZW8gaW5mby4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgIGtl
eVN5c3RlbUNvbmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtl
eScsCisgICAgICBhdWRpbyA6IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAor
ICAgIH0sCisgIH0pOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBhY2NlcHRzIGEga2V5
IHN5c3RlbSBjb25maWd1cmF0aW9uIHdpdGggYXVkaW8gaW5mby4iKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAor
ICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZp
Z3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtleScsCisgICAgICB2
aWRlbzogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAgIH0sCisgICAgfSwKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIHJvYnVzdG5lc3MgYW5k
IGNvbmZpZ3VyYXRpb24gZG8gbm90IG1hdGNoICgxKS4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZp
ZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRp
b246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtleScsCisgICAgICBhdWRpbyA6
IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgIH0sCisgIH0pKTsKK30s
ICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiByb2J1c3RuZXNzIGFuZCBjb25m
aWd1cmF0aW9uIGRvIG5vdCBtYXRjaCAoMikuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzog
bWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25maWd1cmF0aW9uOiB7
CisgICAgICBrZXlTeXN0ZW06ICdvcmcudzMuY2xlYXJrZXknLAorICAgICAgYXVkaW8gOiB7Cisg
ICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAgIHZpZGVvOiB7CisgICAgICAg
IHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0
IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgcm9idXN0bmVzcyBhbmQgY29uZmlndXJhdGlvbiBk
byBub3QgbWF0Y2ggKDMpLiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVkaW86IG1pbmltYWxBdWRp
b0NvbmZpZ3VyYXRpb24sCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisg
ICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVtOiAnb3JnLnczLmNs
ZWFya2V5JywKKyAgICAgIGF1ZGlvIDogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAg
IH0sCisgICAgICB2aWRlbzogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAgIH0sCisg
ICAgICBwZXJzaXN0ZW50U3RhdGU6ICJmb29iYXIiLAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiBwZXJzaXN0ZW50U3RhdGUgaXNuJ3QgdmFs
aWQuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19q
cyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8o
eworICAgIHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlv
biwKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1D
b25maWd1cmF0aW9uOiB7CisgICAgICBrZXlTeXN0ZW06ICdvcmcudzMuY2xlYXJrZXknLAorICAg
ICAgYXVkaW8gOiB7CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAgIHZp
ZGVvOiB7CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAgIGRpc3RpbmN0
aXZlSWRlbnRpZmllcjogImZvb2JhciIsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIGRpc3RpbmN0aXZlSWRlbnRpZmllciBpc24ndCB2YWxp
ZC4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pz
KHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7
CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9u
LAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNv
bmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtleScsCisgICAg
ICBhdWRpbyA6IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgICAgdmlk
ZW86IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgICAgc2Vzc2lvblR5
cGVzOiAiZm9vYmFyIiwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5m
bygpIHJlamVjdHMgaWYgc2Vzc2lvblR5cGVzIGlzbid0IGEgc2VxdWVuY2UuIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29u
ZmlndXJhdGlvbiwKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBr
ZXlTeXN0ZW1Db25maWd1cmF0aW9uOiB7CisgICAgICBrZXlTeXN0ZW06IHt9LAorICAgICAgaW5p
dERhdGFUeXBlOiB7fSwKKyAgICAgIGF1ZGlvIDogeworICAgICAgICByb2J1c3RuZXNzOiAnJywK
KyAgICAgIH0sCisgICAgICB2aWRlbzogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAg
IH0sCisgICAgfSwKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGRvZXMgbm90
IHJlamVjdCB3aGVuIHByb3BlcnRpZXMgYXJlIHNldCB0byB1bmV4cGVjdGVkIHZhbHVlcy4iKTsK
KworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiBtaW5pbWFs
VmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9u
LAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IG1pbmltYWxLZXlTeXN0ZW1Db25maWd1cmF0
aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFi
aWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFi
aWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxp
dHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
YWJpbGl0eS5rZXlTeXN0ZW1BY2Nlc3MsICJvYmplY3QiKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0
IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0lu
Zm8gb2JqZWN0cyB3aXRoIGVuY3J5cHRlZCBtZWRpYSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAg
ICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisg
ICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVtOiAnZm9vYmFyJywK
KyAgICAgIHZpZGVvOiB7CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICB9
CisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3VwcG9y
dGVkKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2VydF9mYWxz
ZShhYmlsaXR5LnBvd2VyRWZmaWNpZW50KTsKKyAgICBhc3NlcnRfZXF1YWxzKGFiaWxpdHkua2V5
U3lzdGVtQWNjZXNzLCBudWxsKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IHJhbmRvbSBrZXkgc3lz
dGVtcyBhcmUgcmVwb3J0ZWQgYXMgbm9uIHN1cHBvcnRlZC4iKTsKKworLy8gVE9ETyhtbGFtb3Vy
aSk6IHRoaXMgdGVzdCBjb3VsZCBiZSBzcGxpdCBpbiB0d28gdGVzdHMgZm9yIHdoaWNoIGNvZGVj
IHN1cHBvcnQKKy8vIGFjcm9zcyBicm93c2VycyBpcyB3aWRlbHkgY29tcGF0aWJsZTogb25lIHdo
ZW4gYWxsIGJyb3dzZXJzIHdvdWxkbid0IHN1cHBvcnQKKy8vIGFuZCBvbmUgd2hlcmUgYWxsIGJy
b3dzZXJzIGRvIHN1cHBvcnQuIFRoZSBjdXJyZW50IGFwcHJvYWNoIGlzIHRvIGNoZWNrIHRoYXQK
Ky8vIHRoZSBhbnN3ZXIgaXMgY29uc2lzdGVudCB0byB0aGUgc3BlYy4KK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8o
eworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlv
biwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1D
b25maWd1cmF0aW9uOiBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiwKKyAgfSkudGhlbihh
YmlsaXR5ID0+IHsKKyAgICBpZiAoYWJpbGl0eS5zdXBwb3J0ZWQpCisgICAgICBhc3NlcnRfbm90
X2VxdWFscyhhYmlsaXR5LmtleVN5c3RlbUFjY2VzcywgbnVsbCk7CisgICAgZWxzZQorICAgICAg
YXNzZXJ0X2VxdWFscyhhYmlsaXR5LmtleVN5c3RlbUFjY2VzcywgbnVsbCk7CisgIH0pOworfSwg
IlRlc3QgdGhhdCBrZXlTeXN0ZW1BY2Nlc3MgaXMgb25seSBudWxsIHdoZW4gbm90IHN1cHBvcnRl
ZCBpZiBrZXlTeXN0ZW1Db25maWd1cmF0aW9uIHdhcyB1c2VkLiIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRp
b24sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgICAgLy8gU3VwcGx5
IGJvZ3VzIGNvbmZpZyB0byByZWxpYWJseSByZXN1bHQgaW4gYSBudWxsIGtleVN5c3RlbUFjY2Vz
cy4KKyAgICBrZXlTeXN0ZW1Db25maWd1cmF0aW9uOiBib2d1c0tleVN5c3RlbUNvbmZpZ3VyYXRp
b24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhhYmlsaXR5Lmtl
eVN5c3RlbUFjY2VzcywgbnVsbCk7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3VwcG9ydGVk
KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IHN1cHBvcnRlZD1mYWxzZSB3aGVuIGtleVN5c3RlbUNv
bmZpZ3VyYXRpb24gaXMgdW5zdXBwb3J0ZWQuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVv
OiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246
IG1pbmltYWxLZXlTeXN0ZW1Db25maWd1cmF0aW9uLAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbygpIHdpdGggdHlwZSB3ZWJydGMgcmVqZWN0cyBrZXkgc3lzdGVtIGNvbmZpZ3Vy
YXRpb24uIik7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1Y2JlMjYzZmE3MjEwYjRhOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBhIGNv
bmZpZ3VyYXRpb24KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBN
ZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHR5cGUK
K1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9u
IGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZAorUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRp
dmUgZnJhbWVyYXRlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAKK1BBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBh
IGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFy
c2UKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8KK0ZBSUwgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRU
eXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQg
aGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
Y29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgv
eQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgeC8wCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJl
amVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgv
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRoIHRy
YWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFy
c2UKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8KK0ZBSUwgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRU
eXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxk
IGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9u
IGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5m
byBvYmplY3RzIGZvciByZWNvcmQgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdHlw
ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5n
SW5mby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMmYwZjVhZGQzM2E3NDBkNzhkYzlhMjAxYzM3ZjhmOTdk
OTI4NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbApAQCAtMCww
ICsxLDMxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKCk8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRo
YXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMg
YXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVu
dFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgw
MCwKKyAgaGVpZ2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9
OworCisvLyBNaW5pbWFsIFdlYlJUQyBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFs
bG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4K
K3ZhciBtaW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTog
J3ZpZGVvL1ZQOScsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAz
MDAwLAorICBmcmFtZXJhdGU6IDI0LAorfTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRp
b24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVy
dGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uID0geworICBj
b250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorfTsKKworLy8gTWluaW1h
bCBXZWJSVEMgQXVkaW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVj
LiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbFdl
YnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby9vcHVzJywK
K307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oKSk7
Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEg
Y29uZmlndXJhdGlvbiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHt9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdmlkZW86IG1pbmltYWxWaWRlb0Nv
bmZpZ3VyYXRpb24sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0p
KTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmln
dXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgfSkpOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBk
b2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisg
ICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5
LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAg
ICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7Cit9
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRl
bzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAu
MDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJh
dGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDAsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMg
YSBmcmFtZXJhdGUgc2V0IHRvIDAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAg
ICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisg
ICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAw
LAorICAgICAgZnJhbWVyYXRlOiBJbmZpbml0eSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBh
IGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86
IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAnZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQs
CisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6
ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL2ZnZW9h
JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6
IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzog
eworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgi
OyBmb289ImJhciInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAg
ICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3Jl
Y29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgZm9v
PSJiYXIiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJp
dHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
Y29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJv
ciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTog
J3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsg
Y29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0
OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvMTAw
MScsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMg
ZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRl
bzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAu
MDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJh
dGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8wJywKKyAgICB9CisgIH0pKTsKK30s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgeC8wIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlw
ZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgw
MCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1l
cmF0ZTogJzAvMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kiKTsKKworcHJvbWlzZV90
ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29y
ZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNz
PSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAs
CisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnLTI0MDAwLzEwMDAxJywK
KyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFt
ZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzog
eworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgi
JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6
IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAorICAgIH0KKyAgfSkpOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9y
bSBvZiB4Ly15Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50
VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6
IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZy
YW1lcmF0ZTogJzI0MDAwLycsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5n
SW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNv
cmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVj
cz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAw
LAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzEvM3gnLAorICAgIH0K
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3
aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAg
IGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlw
ZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRU
eXBlOiAndmlkZW8vZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2Yg
dHlwZSBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlwZTog
J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyI7IGZvbz0iYmFyIicgfSwKKyAgfSkpOworfSwgIlRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQn
LAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9LAor
ICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBj
b25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29k
ZWNzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVv
OiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25m
aWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgIH0pOworfSwgIlRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmpl
Y3RzIGZvciByZWNvcmQgdHlwZSIpOworCithc3luY190ZXN0KHQgPT4geworICB2YXIgdmFsaWRU
eXBlcyA9IFsgJ3JlY29yZCcsICd3ZWJydGMnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVu
ZGVmaW5lZCwgbnVsbCwgJycsICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgJ2ZpbGUnLCAnbWVkaWEtc291cmNlJywgXTsKKworICB2YXIgdmFs
aWRQcm9taXNlcyA9IFtdOworICB2YXIgaW52YWxpZENhdWdodCA9IDA7CisKKyAgdmFsaWRUeXBl
cy5mb3JFYWNoKHR5cGUgPT4geworICAgIHZhbGlkUHJvbWlzZXMucHVzaChuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICAgIHR5cGU6IHR5cGUsCisgICAgICB2
aWRlbzogdHlwZSAhPSAid2VicnRjIiA/IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gOiBtaW5p
bWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9uLAorICAgICAgYXVkaW86IHR5cGUgIT0gIndlYnJ0
YyIgPyBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uIDogbWluaW1hbFdlYnJ0Y0F1ZGlvQ29uZmln
dXJhdGlvbiwKKyAgICB9KSk7CisgIH0pOworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2
aWEgUHJvbWlzZS5hbGwodmFsaWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisgIC8v
IHByb21pc2VzIGZhaWwsIFByb21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFuaXNt
IGNhbid0IGJlIHVzZWQgZm9yCisgIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0
ZWQgaW5kaXZpZHVhbGx5IGFuZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVuIHJl
amVjdGVkIHVudGlsIHRoZSBhbW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0
aW9uLgorICBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgpID0+
IHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkgewor
ICAgICAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgICAg
IHR5cGU6IGludmFsaWRUeXBlc1tpXSwKKyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZp
Z3VyYXRpb24sCisgICAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAg
ICAgfSkudGhlbih0LnVucmVhY2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGUubmFtZSwgJ1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFsaWRD
YXVnaHQ7CisgICAgICAgIGlmIChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5ndGgp
CisgICAgICAgICAgdC5kb25lKCk7CisgICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJlYWNo
ZWRfZnVuYygnUHJvbWlzZS5hbGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVzJykp
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1
cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlIik7CisKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNv
ZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODJiNGY4NzZhNjIyYjA2
YTFjOWRkMGQ1MTY4YzY3MTkwMjNkM2U5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2Rp
bmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorCitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhh
dmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0
ZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUg
c2V0IHRvIEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0
IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBv
YmplY3RzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQsIHNt
b290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9uLXdlYnJ0YyB2aWRl
byBjb250ZW50IHR5cGUuCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBw
b3J0ZWQsIHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9uLXdl
YnJ0YyBhdWRpbyBjb250ZW50IHR5cGUuCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0
dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL29wdXMgcmV0dXJuZWQgYnkg
UlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL0lTQUMgcmV0dXJu
ZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL0c3MjIg
cmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlv
L1BDTVUgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVj
IGF1ZGlvL1BDTUEgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhl
IGNvZGVjIHZpZGVvL0gyNjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlv
bi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDBjMWYgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVy
LmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBz
dXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL0gyNjQ7IGxldmVsLWFzeW1tZXRyeS1h
bGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWYgcmV0
dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL0gy
NjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTA7cHJvZmls
ZS1sZXZlbC1pZD02NDBjMWYgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGll
cygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBm
b3IgdGhlIGNvZGVjIHZpZGVvL0gyNjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0
aXphdGlvbi1tb2RlPTA7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWYgcmV0dXJuZWQgYnkgUlRDUnRw
U2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0
dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL0gyNjUgcmV0dXJuZWQgYnkg
UlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL1ZQOCByZXR1cm5l
ZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vVlA5OyBw
cm9maWxlLWlkPTAgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhl
IGNvZGVjIHZpZGVvL1ZQOTsgcHJvZmlsZS1pZD0yIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5n
ZXRDYXBhYmlsaXRpZXMoKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRj
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE0Yjc5
NDRmNjE2OWUzNGY2Nzk3OWNlMGE5OGZmOTE1NTUyZjZiNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2VuY29kaW5nSW5mby53ZWJydGMuaHRtbApAQCAtMCwwICsxLDIxNyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKCkgZm9yIHdlYnJ0
YzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKworLy8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJl
IGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2lu
Zy4KK2NvbnN0IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAn
dmlkZW8vVlA5OyBwcm9maWxlLWxldmVsPSIwIicsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDog
NjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6IDI0LAorfTsKKworLy8gTWluaW1h
bCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBv
cHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK2NvbnN0IG1pbmltYWxBdWRpb0Nv
bmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vb3B1cycsCit9OworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
d2VicnRjJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQiKTsK
KworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8v
VlA5JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJh
dGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IC0xLAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFz
IGEgbmVnYXRpdmUgZnJhbWVyYXRlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7Cisg
ICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOSInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMCwK
KyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9y
LCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAn
d2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby9WUDkiJywK
KyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMw
MDAsCisgICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFz
IGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRl
bzogeworICAgICAgY29udGVudFR5cGU6ICdmZ2VvYScsCisgICAgICB3aWR0aDogODAwLAorICAg
ICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAy
NCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UiKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVF
cnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8vZmdl
b2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0
ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIGF1ZGlv
OiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9l
c24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlwZTog
J3ZpZGVvL2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUg
YXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlk
ZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0Nv
bmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAgfSk7Cit9LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9i
amVjdHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlk
ZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEw
LjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRy
YXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICAgIGF1ZGlvOiBtaW5p
bWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2Vy
dF9mYWxzZShhYmlsaXR5LnN1cHBvcnRlZCk7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc21v
b3RoKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5wb3dlckVmZmljaWVudCk7CisgIH0pOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQsIHNtb290aCwgYW5k
IHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9uLXdlYnJ0YyB2aWRlbyBjb250ZW50
IHR5cGUuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZp
ZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiB7CisgICAgICBjb250
ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorICAgIH0sCisgIH0pLnRoZW4o
YWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3VwcG9ydGVkKTsKKyAgICBh
c3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnBv
d2VyRWZmaWNpZW50KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5z
IHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0IHRvIGZhbHNlIGZvciBu
b24td2VicnRjIGF1ZGlvIGNvbnRlbnQgdHlwZS4iKTsKKworY29uc3QgdmFsaWRBdWRpb0NvZGVj
cyA9ICgoKSA9PiB7CisgIC8vIFNvbWUgY29kZWNzIHRoYXQgYXJlIHJldHVybmVkIGJ5IGdldENh
cGFiaWxpdGllcygpIGFyZSBub3QgcmVhbCBjb2RlY3MsCisgIC8vIGV4Y2x1ZGUgdGhlc2UgZnJv
bSB0aGUgdGVzdC4KKyAgY29uc3QgZXhjbHVkZUxpc3QgPSBbICdhdWRpby9DTicsICdhdWRpby90
ZWxlcGhvbmUtZXZlbnQnLCAnYXVkaW8vcmVkJyBdOworICBjb25zdCBhdWRpb0NvZGVjcyA9IFtd
OworICBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCJhdWRpbyIpWydjb2RlY3MnXS5mb3JF
YWNoKGNvZGVjID0+IHsKKyAgICBpZiAoZXhjbHVkZUxpc3QuaW5kZXhPZihjb2RlYy5taW1lVHlw
ZSkgPCAwICYmCisgICAgICAgIGF1ZGlvQ29kZWNzLmluZGV4T2YoY29kZWMubWltZVR5cGUpIDwg
MCkgeworICAgICAgYXVkaW9Db2RlY3MucHVzaChjb2RlYy5taW1lVHlwZSk7CisgICAgfQorICB9
KTsKKyAgcmV0dXJuIGF1ZGlvQ29kZWNzOworfSkoKTsKKwordmFsaWRBdWRpb0NvZGVjcy5mb3JF
YWNoKGNvZGVjID0+IHsKKyAgcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisg
ICAgYXVkaW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiBjb2RlYworICAgIH0KKyAgfSkudGhlbihh
YmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZShhYmlsaXR5LnN1cHBvcnRlZCk7CisgIH0pOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhl
IGNvZGVjICIgKyBjb2RlYyArICIgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxp
dGllcygpIil9CispOworCitjb25zdCB2YWxpZFZpZGVvQ29kZWNzID0gKCgpID0+IHsKKyAgLy8g
U29tZSBjb2RlY3MgdGhhdCBhcmUgcmV0dXJuZWQgYnkgZ2V0Q2FwYWJpbGl0aWVzKCkgYXJlIG5v
dCByZWFsIGNvZGVjcyBidXQKKyAgLy8gb25seSB1c2VkIGZvciBlcnJvciBjb3JyZWN0aW9uLCBl
eGNsdWRlIHRoZXNlIGZyb20gdGhlIHRlc3QuCisgIGNvbnN0IGV4Y2x1ZGVMaXN0ID0gWyAndmlk
ZW8vcnR4JywgJ3ZpZGVvL3JlZCcsICd2aWRlby91bHBmZWMnLAorICAgICAgICAgICAgICAgICAg
ICAgICd2aWRlby9mbGV4ZmVjLTAzJyBdOworICBjb25zdCB2aWRlb0NvZGVjcyA9IFtdOworCisg
IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoInZpZGVvIilbJ2NvZGVjcyddLmZvckVhY2go
Y29kZWMgPT4geworICAgIGlmIChleGNsdWRlTGlzdC5pbmRleE9mKGNvZGVjLm1pbWVUeXBlKSA8
IDApIHsKKyAgICAgIGxldCBtaW1lVHlwZSA9IGNvZGVjLm1pbWVUeXBlOworICAgICAgaWYgKCdz
ZHBGbXRwTGluZScgaW4gY29kZWMpIHsKKyAgICAgICAgbWltZVR5cGUgKz0gIjsgIiArIGNvZGVj
LnNkcEZtdHBMaW5lOworICAgICAgfQorICAgICAgaWYgKCEobWltZVR5cGUgaW4gdmlkZW9Db2Rl
Y3MpKSB7CisgICAgICAgIHZpZGVvQ29kZWNzLnB1c2gobWltZVR5cGUpOworICAgICAgfQorICAg
IH0KKyAgfSk7CisgIHJldHVybiB2aWRlb0NvZGVjczsKK30pKCk7CisKK3ZhbGlkVmlkZW9Db2Rl
Y3MuZm9yRWFjaChjb2RlYyA9PiB7CisgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJy
dGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogY29kZWMsCisgICAgICB3aWR0
aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAg
ZnJhbWVyYXRlOiAyNCwKKyAgICB9CisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0
X3RydWUoYWJpbGl0eS5zdXBwb3J0ZWQpOworICB9KTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyAiICsgY29kZWMgKyAiIHJl
dHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKSIpfQorKTsKKworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk0YzNjYzkxOTZjMDM2
NDk2ZGU1Y2M4NWVhMzFhZjBlNWM0NjFkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhh
cm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACisKK1BBU1MgaWRsaGFybmVz
cworUEFTUyBpZGxfdGVzdCBzZXR1cAorUEFTUyBpZGxfdGVzdCB2YWxpZGF0aW9uCitQQVNTIFBh
cnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvcjogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQKK1BB
U1MgUGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiB2YWxpZCBleHBvc3VyZSBzZXQKK1BBU1Mg
UGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFT
UyBQYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0b3I6IG9yaWdpbmFsIGludGVyZmFjZSBk
ZWZpbmVkCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvcjogdmFsaWQgZXhw
b3N1cmUgc2V0CitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvcjogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gTmF2aWdhdG9y
SUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZp
Z2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVz
IE5hdmlnYXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFT
UyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29udGVudFV0aWxzOiBtZW1iZXIgbmFtZXMg
YXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29va2llczogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvclBs
dWdpbnM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBO
YXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNT
IFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2
aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZSBv
YmplY3QgbmFtZQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBNZWRpYUNh
cGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgTWVkaWFD
YXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIE1lZGlh
Q2FwYWJpbGl0aWVzIGludGVyZmFjZTogb3BlcmF0aW9uIGRlY29kaW5nSW5mbyhNZWRpYURlY29k
aW5nQ29uZmlndXJhdGlvbikKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVy
YXRpb24gZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKQorUEFTUyBNZWRp
YUNhcGFiaWxpdGllcyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2RpbmdJbmZvKE1lZGlh
RGVjb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgTWVkaWFD
YXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5n
Q29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMg
aW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxpbmcgZW5j
b2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvcgor
UEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWFDYXBhYmlsaXRpZXMKK1BB
U1MgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
bWVkaWFDYXBhYmlsaXRpZXMiIHdpdGggdGhlIHByb3BlciB0eXBlCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2lkbGhhcm5lc3MuYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBy
dW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnku
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNmRhNWM3ZDI4NDhjMmRjOGE2NjlkZmNmNjIxMjMzYzQwYTIyN2MwMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LmpzCkBAIC0wLDAgKzEsMjUg
QEAKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcworLy8gTUVUQTog
c2NyaXB0PS9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcworCisvLyBodHRwczovL3dpY2cuZ2l0aHVi
LmlvL21lZGlhLWNhcGFiaWxpdGllcy8KKworJ3VzZSBzdHJpY3QnOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKCkgPT4geworICBpZGxfdGVzdCgKKyAgICBbJ21lZGlhLWNhcGFiaWxpdGllcyddLAor
ICAgIFsnaHRtbCcsICdjc3NvbS12aWV3J10sCisgICAgaWRsX2FycmF5ID0+IHsKKyAgICAgIGlm
IChzZWxmLkdMT0JBTC5pc1dvcmtlcigpKSB7CisgICAgICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0
cyh7IFdvcmtlck5hdmlnYXRvcjogWyduYXZpZ2F0b3InXSB9KTsKKyAgICAgIH0gZWxzZSB7Cisg
ICAgICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7IE5hdmlnYXRvcjogWyduYXZpZ2F0b3InXSB9
KTsKKyAgICAgIH0KKyAgICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICAgIE1lZGlh
Q2FwYWJpbGl0aWVzOiBbJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyddLAorICAgICAgICBT
Y3JlZW46IFsnc2NyZWVuJ10sCisgICAgICAgIFNjcmVlbkx1bWluYW5jZTogWydzY3JlZW4ubHVt
aW5hbmNlJ10sCisgICAgICB9KTsKKyAgICB9CisgICk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVz
L2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3MDA4Mjg4NzBjZTFmMTU5ZjQwMzBh
ZWEzNGM2NmM3OGUxNjdhOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKKworUEFTUyBpZGxoYXJuZXNz
CitQQVNTIGlkbF90ZXN0IHNldHVwCitQQVNTIGlkbF90ZXN0IHZhbGlkYXRpb24KK1BBU1MgUGFy
dGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZAorUEFT
UyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6IHZhbGlkIGV4cG9zdXJlIHNldAorUEFTUyBQ
YXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNT
IFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvcjogb3JpZ2luYWwgaW50ZXJmYWNlIGRl
ZmluZWQKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yOiB2YWxpZCBleHBv
c3VyZSBzZXQKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBOYXZpZ2F0b3JJ
RDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmln
YXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMg
TmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRv
ciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNT
IE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb250ZW50VXRpbHM6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb29raWVzOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yUGx1
Z2luczogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5h
dmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1Mg
V29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZp
Z2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFdvcmtlck5hdmlnYXRv
ciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFiaWxpdGll
cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGlu
dGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1l
ZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1l
ZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1p
c3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHBy
b3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRp
ZXMiIG1pc3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBh
YmlsaXRpZXMiIG1pc3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVy
YXRpb24gZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxp
dGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCitGQUlM
IE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogb3BlcmF0aW9uIGVuY29kaW5nSW5mbyhNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbikgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5
ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBtdXN0
IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBhc3Nl
cnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3Qg
InVuZGVmaW5lZCIKK0ZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmpl
Y3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNl
OiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNv
ZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1
dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxs
aW5nIGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0
IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTog
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW5jb2Rp
bmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
YXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQg
Z290ICJ1bmRlZmluZWQiCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogY2FsbGlu
ZyBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIg
YnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgbWVkaWFDYXBhYmlsaXRpZXMgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0
IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK0ZBSUwgV29ya2VyTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiBub3QgZm91bmQg
aW4gcHJvdG90eXBlIGNoYWluCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndv
cmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBy
dW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvdzNjLWltcG9ydC5sb2cKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmMyZWMwMTJkMjVlYjE0N2NhYjhkNjY3OWY4OTdhMTA4MjQ3NTk2YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjUgQEAKK1RoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVz
OgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL01FVEEueW1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvUkVBRE1FLm1kCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZv
LmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5n
SW5mb0VuY3J5cHRlZE1lZGlhLmh0dHAuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0VuY3J5cHRl
ZE1lZGlhLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29k
aW5nSW5mby53ZWJydGMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LmpzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29kaW5nSW5mby1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVu
Y29kaW5nSW5mby1leHBlY3RlZC50eHQKaW5kZXggMzU0Mjc0MTg5NjNkMTAwYzY4YTIwYjVkYzJk
ZDE2MzY5ZmQwMGVhYi4uMDdlODJhMzQ4YTY4YWQzMTI2ODExNDdlOWI5MTI3YWEyODJhMDA3MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNv
ZGluZ0luZm8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2FwYWJp
bGl0aWVzL21vY2stZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dApAQCAtMSw2MyArMSw2MyBAQAog
UlVOKGludGVybmFscy5lbmFibGVNb2NrTWVkaWFDYXBhYmlsaXRpZXMoKSkKIAogU21vb3RoIGFu
ZCBwb3dlciBlZmZpY2llbnQgNzIwUCBNUDQgZW5jb2RpbmcKLVJVTihwcm9taXNlID0gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Npb24n
LCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIicsIGhlaWdo
dDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41IH0gfSk7
KQorUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsgdHlwZTogJ3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2Rl
Y3M9ImF2YzEiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFt
ZXJhdGU6IDI0LjUgfSB9KTspCiBQcm9taXNlIHJlc29sdmVkIE9LCiBpbmZvLnN1cHBvcnRlZCA9
PSB0cnVlIE9LCiBpbmZvLnNtb290aCA9PSB0cnVlIE9LCiBpbmZvLnBvd2VyRWZmaWNpZW50ID09
IHRydWUgT0sKIAogTm90IHNtb290aCAodG9vIGhpZ2ggZnJhbWVyYXRlKSBidXQgcG93ZXIgZWZm
aWNpZW50IDcyMFAgTVA0IGVuY29kaW5nCi1SVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgdmlkZW86IHsg
Y29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCBoZWlnaHQ6IDcyMCwgYml0
cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogNjAuNC8yIH0gfSk7KQorUlVOKHBy
b21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTog
J3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEi
JywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDYw
LjQvMiB9IH0pOykKIFByb21pc2UgcmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVkID09IHRydWUg
T0sKIGluZm8uc21vb3RoID09IGZhbHNlIE9LCiBpbmZvLnBvd2VyRWZmaWNpZW50ID09IHRydWUg
T0sKIAotVW5zdXBwb3J0ZWQgcHJvdG9jb2w6IFJlY29yZAotUlVOKHByb21pc2UgPSBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIHZpZGVv
OiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0OiA3MjAs
IGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDI0IH0gfSk7KQorVW5zdXBw
b3J0ZWQgcHJvdG9jb2w6IFdlYlJUQworUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3dlYnJ0YycsIHZpZGVvOiB7IGNvbnRlbnRU
eXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEw
MDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDI0IH0gfSk7KQogUHJvbWlzZSByZXNvbHZlZCBP
SwogaW5mby5zdXBwb3J0ZWQgPT0gZmFsc2UgT0sKIGluZm8uc21vb3RoID09IGZhbHNlIE9LCiBp
bmZvLnBvd2VyRWZmaWNpZW50ID09IGZhbHNlIE9LCiAKIFVuc3VwcG9ydGVkIHZpZGVvIHJlc29s
dXRpb246IDEwODBQCi1SVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgdmlkZW86IHsgY29udGVudFR5cGU6
ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCBoZWlnaHQ6IDEwODAsIGJpdHJhdGU6IDEwMDAs
IHdpZHRoOiAxOTIwLCBmcmFtZXJhdGU6IDI0IH0gfSk7KQorUlVOKHByb21pc2UgPSBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIHZpZGVv
OiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0OiAxMDgw
LCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTkyMCwgZnJhbWVyYXRlOiAyNCB9IH0pOykKIFByb21p
c2UgcmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVkID09IGZhbHNlIE9LCiBpbmZvLnNtb290aCA9
PSBmYWxzZSBPSwogaW5mby5wb3dlckVmZmljaWVudCA9PSBmYWxzZSBPSwogCiBTbW9vdGggYW5k
IHBvd2VyIGVmZmljaWVudCBhdWRpbyBNUDQgZW5jb2RpbmcKLVJVTihwcm9taXNlID0gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Npb24n
LCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJywg
Y2hhbm5lbHM6ICcyJywgYml0cmF0ZTogMTAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgfSB9KTspCitS
VU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0
eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz0i
bXA0YS40MC4yIicsIGNoYW5uZWxzOiAnMicsIGJpdHJhdGU6IDEwMDAsIHNhbXBsZXJhdGU6IDQ0
MTAwIH0gfSk7KQogUHJvbWlzZSByZXNvbHZlZCBPSwogaW5mby5zdXBwb3J0ZWQgPT0gdHJ1ZSBP
SwogaW5mby5zbW9vdGggPT0gdHJ1ZSBPSwogaW5mby5wb3dlckVmZmljaWVudCA9PSB0cnVlIE9L
CiAKIFNtb290aCBidXQgcG93ZXIgaW5lZmZpY2llbnQgYXVkaW8gTVA0IGVuY29kaW5nCi1SVU4o
cHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBl
OiAndHJhbnNtaXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVj
cz0ibXA0YS40MC4yIicsIGNoYW5uZWxzOiAnMicsIGJpdHJhdGU6IDIwMDAsIHNhbXBsZXJhdGU6
IDQ0MTAwIH0gfSk7KQorUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVk
aW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVsczogJzInLCBiaXRyYXRlOiAyMDAw
LCBzYW1wbGVyYXRlOiA0NDEwMCB9IH0pOykKIFByb21pc2UgcmVzb2x2ZWQgT0sKIGluZm8uc3Vw
cG9ydGVkID09IHRydWUgT0sKIGluZm8uc21vb3RoID09IHRydWUgT0sKIGluZm8ucG93ZXJFZmZp
Y2llbnQgPT0gZmFsc2UgT0sKIAogTm90IHNtb290aCBidXQgcG93ZXIgZWZmaWNpZW50IGF1ZGlv
IE1QNCBlbmNvZGluZwotUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNvbnRlbnRUeXBl
OiAnYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVsczogJzUuMScsIGJpdHJh
dGU6IDEwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwIH0gfSk7KQorUlVOKHByb21pc2UgPSBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlv
OiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVs
czogJzUuMScsIGJpdHJhdGU6IDEwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwIH0gfSk7KQogUHJvbWlz
ZSByZXNvbHZlZCBPSwogaW5mby5zdXBwb3J0ZWQgPT0gdHJ1ZSBPSwogaW5mby5zbW9vdGggPT0g
ZmFsc2UgT0sKIGluZm8ucG93ZXJFZmZpY2llbnQgPT0gdHJ1ZSBPSwogCiBOb3Qgc21vb3RoIGFu
ZCBwb3dlciBpbmVmZmljaWVudCBhdWRpbyBNUDQgZW5jb2RpbmcKLVJVTihwcm9taXNlID0gbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Np
b24nLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIi
JywgY2hhbm5lbHM6ICc1LjEnLCBiaXRyYXRlOiAyMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCB9IH0p
OykKK1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29k
ZWNzPSJtcDRhLjQwLjIiJywgY2hhbm5lbHM6ICc1LjEnLCBiaXRyYXRlOiAyMDAwLCBzYW1wbGVy
YXRlOiA0NDEwMCB9IH0pOykKIFByb21pc2UgcmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVkID09
IHRydWUgT0sKIGluZm8uc21vb3RoID09IGZhbHNlIE9LCiBpbmZvLnBvd2VyRWZmaWNpZW50ID09
IGZhbHNlIE9LCiAKIFVuc3VwcG9ydGVkIGF1ZGlvIGNvZGVjOiBvZ2cgdm9yYmlzCi1SVU4ocHJv
bWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAn
dHJhbnNtaXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9vZ2c7IGNvZGVjcz0i
dm9yYmlzIicsIGNoYW5uZWxzOiAnMicgfSB9KTspCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsg
Y29udGVudFR5cGU6ICdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicsIGNoYW5uZWxzOiAnMicg
fSB9KTspCiBQcm9taXNlIHJlc29sdmVkIE9LCiBpbmZvLnN1cHBvcnRlZCA9PSBmYWxzZSBPSwog
aW5mby5zbW9vdGggPT0gZmFsc2UgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21l
ZGlhY2FwYWJpbGl0aWVzL21vY2stZW5jb2RpbmdJbmZvLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29kaW5nSW5mby5odG1sCmluZGV4IGI3MjRhZjZk
ODNhZGJhMzEwMGU3NjgwN2Y3NGE0NjhjMTQ2OTA0ZGYuLjBmNTBmZmM0ZjY3MDcxYWMzZDJhMTAx
NzYwZjk0ZTUyOGMxMTVjNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2Fw
YWJpbGl0aWVzL21vY2stZW5jb2RpbmdJbmZvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEv
bWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNvZGluZ0luZm8uaHRtbApAQCAtMzAsNyArMzAsNyBA
QAogICAgIHRlc3RzID0gWwogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgY29u
c29sZVdyaXRlKCdTbW9vdGggYW5kIHBvd2VyIGVmZmljaWVudCA3MjBQIE1QNCBlbmNvZGluZycp
OwotICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgdmlkZW86IHsgY29udGVudFR5
cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1cImF2YzFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAx
MDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41IH0gfSk7Iik7CisgICAgICAgICAgICAg
cnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
IHR5cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNz
PVwiYXZjMVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFt
ZXJhdGU6IDI0LjUgfSB9KTsiKTsKICAgICAgICAgICAgICBzaG91bGRSZXNvbHZlKHByb21pc2Up
LnRoZW4oKGluZm8pID0+IHsKICAgICAgICAgICAgICAgICAgY2hlY2tNZWRpYUNhcGFiaWxpdGll
c0luZm8oaW5mbywgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgIG5leHQoKTsK
QEAgLTM4LDE1ICszOCwxNSBAQAogICAgICAgICAgfSwKICAgICAgICAgIGZ1bmN0aW9uKCkgewog
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnTm90IHNtb290aCAodG9vIGhpZ2ggZnJhbWVyYXRl
KSBidXQgcG93ZXIgZWZmaWNpZW50IDcyMFAgTVA0IGVuY29kaW5nJyk7Ci0gICAgICAgICAgICAg
cnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
IHR5cGU6ICd0cmFuc21pc3Npb24nLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsg
Y29kZWNzPVwiYXZjMVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgw
LCBmcmFtZXJhdGU6IDYwLjQvMiB9IH0pOyIpOworICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3Jk
JywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1cImF2YzFcIicsIGhl
aWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiA2MC40LzIg
fSB9KTsiKTsKICAgICAgICAgICAgICBzaG91bGRSZXNvbHZlKHByb21pc2UpLnRoZW4oKGluZm8p
ID0+IHsKICAgICAgICAgICAgICAgICAgY2hlY2tNZWRpYUNhcGFiaWxpdGllc0luZm8oaW5mbywg
dHJ1ZSwgZmFsc2UsIHRydWUpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAg
ICAgfSwgbmV4dCk7CiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCdVbnN1cHBvcnRlZCBwcm90b2NvbDogUmVjb3JkJyk7Ci0gICAg
ICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21w
NDsgY29kZWNzPVwiYXZjMVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAx
MjgwLCBmcmFtZXJhdGU6IDI0IH0gfSk7Iik7CisgICAgICAgICAgICAgY29uc29sZVdyaXRlKCdV
bnN1cHBvcnRlZCBwcm90b2NvbDogV2ViUlRDJyk7CisgICAgICAgICAgICAgcnVuKCJwcm9taXNl
ID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd3ZWJy
dGMnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPVwiYXZjMVwiJywg
aGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDI0IH0g
fSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZShwcm9taXNlKS50aGVuKChpbmZvKSA9
PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFDYXBhYmlsaXRpZXNJbmZvKGluZm8sIGZh
bHNlLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CkBAIC01NCw3ICs1
NCw3IEBACiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCdVbnN1cHBvcnRlZCB2aWRlbyByZXNvbHV0aW9uOiAxMDgwUCcpOwotICAg
ICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNv
ZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2
aWRlby9tcDQ7IGNvZGVjcz1cImF2YzFcIicsIGhlaWdodDogMTA4MCwgYml0cmF0ZTogMTAwMCwg
d2lkdGg6IDE5MjAsIGZyYW1lcmF0ZTogMjQgfSB9KTsiKTsKKyAgICAgICAgICAgICBydW4oInBy
b21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTog
J3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJhdmMx
XCInLCBoZWlnaHQ6IDEwODAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxOTIwLCBmcmFtZXJhdGU6
IDI0IH0gfSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZShwcm9taXNlKS50aGVuKChp
bmZvKSA9PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFDYXBhYmlsaXRpZXNJbmZvKGlu
Zm8sIGZhbHNlLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CkBAIC02
Miw3ICs2Miw3IEBACiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCdTbW9vdGggYW5kIHBvd2VyIGVmZmljaWVudCBhdWRpbyBNUDQg
ZW5jb2RpbmcnKTsKLSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7
IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9XCJtcDRhLjQwLjJcIicsIGNoYW5uZWxz
OiAnMicsIGJpdHJhdGU6IDEwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwICB9IH0pOyIpOworICAgICAg
ICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7
IGNvZGVjcz1cIm1wNGEuNDAuMlwiJywgY2hhbm5lbHM6ICcyJywgYml0cmF0ZTogMTAwMCwgc2Ft
cGxlcmF0ZTogNDQxMDAgIH0gfSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZShwcm9t
aXNlKS50aGVuKChpbmZvKSA9PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFDYXBhYmls
aXRpZXNJbmZvKGluZm8sIHRydWUsIHRydWUsIHRydWUpOwogICAgICAgICAgICAgICAgICBuZXh0
KCk7CkBAIC03MCw3ICs3MCw3IEBACiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCdTbW9vdGggYnV0IHBvd2VyIGluZWZmaWNpZW50
IGF1ZGlvIE1QNCBlbmNvZGluZycpOwotICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9u
JywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz1cIm1wNGEuNDAuMlwi
JywgY2hhbm5lbHM6ICcyJywgYml0cmF0ZTogMjAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgIH0gfSk7
Iik7CisgICAgICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250ZW50VHlwZTog
J2F1ZGlvL21wNDsgY29kZWNzPVwibXA0YS40MC4yXCInLCBjaGFubmVsczogJzInLCBiaXRyYXRl
OiAyMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCAgfSB9KTsiKTsKICAgICAgICAgICAgICBzaG91bGRS
ZXNvbHZlKHByb21pc2UpLnRoZW4oKGluZm8pID0+IHsKICAgICAgICAgICAgICAgICAgY2hlY2tN
ZWRpYUNhcGFiaWxpdGllc0luZm8oaW5mbywgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOwogICAgICAgICAg
ICAgICAgICBuZXh0KCk7CkBAIC03OCw3ICs3OCw3IEBACiAgICAgICAgICB9LAogICAgICAgICAg
ZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCdOb3Qgc21vb3RoIGJ1dCBw
b3dlciBlZmZpY2llbnQgYXVkaW8gTVA0IGVuY29kaW5nJyk7Ci0gICAgICAgICAgICAgcnVuKCJw
cm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6
ICd0cmFuc21pc3Npb24nLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNz
PVwibXA0YS40MC4yXCInLCBjaGFubmVsczogJzUuMScsIGJpdHJhdGU6IDEwMDAsIHNhbXBsZXJh
dGU6IDQ0MTAwICB9IH0pOyIpOworICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86
IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz1cIm1wNGEuNDAuMlwiJywgY2hhbm5l
bHM6ICc1LjEnLCBiaXRyYXRlOiAxMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCAgfSB9KTsiKTsKICAg
ICAgICAgICAgICBzaG91bGRSZXNvbHZlKHByb21pc2UpLnRoZW4oKGluZm8pID0+IHsKICAgICAg
ICAgICAgICAgICAgY2hlY2tNZWRpYUNhcGFiaWxpdGllc0luZm8oaW5mbywgdHJ1ZSwgZmFsc2Us
IHRydWUpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CkBAIC04Niw3ICs4Niw3IEBACiAgICAg
ICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCdOb3Qgc21vb3RoIGFuZCBwb3dlciBpbmVmZmljaWVudCBhdWRpbyBNUDQgZW5jb2RpbmcnKTsK
LSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNvbnRlbnRUeXBl
OiAnYXVkaW8vbXA0OyBjb2RlY3M9XCJtcDRhLjQwLjJcIicsIGNoYW5uZWxzOiAnNS4xJywgYml0
cmF0ZTogMjAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgIH0gfSk7Iik7CisgICAgICAgICAgICAgcnVu
KCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5
cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPVwi
bXA0YS40MC4yXCInLCBjaGFubmVsczogJzUuMScsIGJpdHJhdGU6IDIwMDAsIHNhbXBsZXJhdGU6
IDQ0MTAwICB9IH0pOyIpOwogICAgICAgICAgICAgIHNob3VsZFJlc29sdmUocHJvbWlzZSkudGhl
bigoaW5mbykgPT4gewogICAgICAgICAgICAgICAgICBjaGVja01lZGlhQ2FwYWJpbGl0aWVzSW5m
byhpbmZvLCB0cnVlLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CkBA
IC05NCw3ICs5NCw3IEBACiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCdVbnN1cHBvcnRlZCBhdWRpbyBjb2RlYzogb2dnIHZvcmJp
cycpOwotICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgYXVkaW86IHsgY29udGVu
dFR5cGU6ICdhdWRpby9vZ2c7IGNvZGVjcz1cInZvcmJpc1wiJywgY2hhbm5lbHM6ICcyJyB9IH0p
OyIpOworICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29udGVudFR5cGU6
ICdhdWRpby9vZ2c7IGNvZGVjcz1cInZvcmJpc1wiJywgY2hhbm5lbHM6ICcyJyB9IH0pOyIpOwog
ICAgICAgICAgICAgIHNob3VsZFJlc29sdmUocHJvbWlzZSkudGhlbigoaW5mbykgPT4gewogICAg
ICAgICAgICAgICAgICBjaGVja01lZGlhQ2FwYWJpbGl0aWVzSW5mbyhpbmZvLCBmYWxzZSwgZmFs
c2UsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgbmV4dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0
aWVzLWVuY29kaW5nSW5mby11bmRlZmluZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVuY29k
aW5nSW5mby11bmRlZmluZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2OWJhYjU4MjI2ODAyYTE2YjEwYjdiZTgzMmVkYmZiMDdkNmU3NGI4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGluZ0lu
Zm8tdW5kZWZpbmVkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAK
LVRlc3QgdGhhdCBNZWRpYUNhcGFiaWxpdGllcy5wcm90b3R5cGUuZW5jb2RpbmdJbmZvIGlzIG1p
c3NpbmcuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHR5cGVvZiBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvIGlzICJ1bmRlZmluZWQiCi1QQVNT
IHR5cGVvZiBNZWRpYUNhcGFiaWxpdGllcy5wcm90b3R5cGUuZW5jb2RpbmdJbmZvIGlzICJ1bmRl
ZmluZWQiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJp
bGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVuY29kaW5nSW5mby11bmRlZmluZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFi
aWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDVkYzRmMzFlOTA3NDA2YmVjMTRkNTVmYzE0YzdlNjg1NWI1OTZlNTUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVuY29k
aW5nSW5mby11bmRlZmluZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLQk8dGl0bGU+bWVkaWFjYXBhYmlsaXRpZXMt
ZW5jb2RpbmdJbmZvLWVtcHR5PC90aXRsZT4KLQk8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLQk8c2NyaXB0PgotCi0JPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCBNZWRpYUNhcGFi
aWxpdGllcy5wcm90b3R5cGUuZW5jb2RpbmdJbmZvIGlzIG1pc3NpbmcuJyk7Ci1zaG91bGRCZSgn
dHlwZW9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8nLCAnInVuZGVm
aW5lZCInKTsKLXNob3VsZEJlKCd0eXBlb2YgTWVkaWFDYXBhYmlsaXRpZXMucHJvdG90eXBlLmVu
Y29kaW5nSW5mbycsICcidW5kZWZpbmVkIicpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVz
LXR5cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9tZWRp
YWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy10eXBlcy1leHBlY3RlZC50eHQKaW5kZXgg
Njg2NmYwMzg3YThmZmVhNDcyN2ZhN2ZiNDc0ZjQ5ZjRiYjZmOTkwMy4uODhjOGNhMmNiYzUxYmE4
MmM3YzJlMDA4NjY0MjA1MjBlZjkyOWJmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLXR5cGVzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFjYXBh
YmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtdHlwZXMtZXhwZWN0ZWQudHh0CkBAIC00MiwxMiAr
NDIsMTIgQEAgUEFTUyAoKSA9PiB7CiBQQVNTICgpID0+IHsKICAgICAgICAgcmV0dXJuIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAnaW52YWxpZCcsIHZp
ZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgd2lkdGg6IDY0
MCwgaGVpZ2h0OiA0ODAsIGJpdHJhdGU6IDEwMDAsIGZyYW1lcmF0ZTogMjQgfSB9KTsKICAgICB9
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotRkFJTCAoKSA9
PiB7CitQQVNTICgpID0+IHsKICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJyB9KTsKLSAgICB9IHNob3VsZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJyB9KScs
ICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvJyBpcyB1bmRlZmluZWQp
LgotRkFJTCAoKSA9PiB7CisgICAgfSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KK1BBU1MgKCkgPT4gewogICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyB9IH0p
OwotICAgIH0gc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8gaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyB9IH0pJywgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8nIGlzIHVuZGVmaW5lZCkuCisgICAgfSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEF1ZGlvQ29uZmlndXJhdGlvbi5jb250ZW50VHlwZSBp
cyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01TdHJpbmcuCiBQQVNTICgp
ID0+IHsKICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgfSB9KTsKICAgICB9IHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgQXVkaW9Db25maWd1cmF0aW9uLmNvbnRlbnRU
eXBlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVN0cmluZy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL3Rl
c3RzLW9wdGlvbnMuanNvbgppbmRleCA0ZjI4YWUxNzI3MTAzZDkwNzMzZmEwODhjMzNkZjQyZTdi
ZmRiZWYyLi5kYTMwZGI0NWQyNzRkOGM1MzhhYTI1OWVjMGVmYzYwNzg4NTI4ZDU0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvdGVz
dHMtb3B0aW9ucy5qc29uCkBAIC0zNjM1LDYgKzM2MzUsOSBAQAogICAgICJpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvaHRtbDUtdHJlZS90YWJpbmRleC0w
MDIuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVk
TWVkaWEuaHR0cHMuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvU291cmNlQnVmZmVyLWFib3J0
LXJlYWR5U3RhdGUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
</data>
<flag name="commit-queue"
          id="465033"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440939</attachid>
            <date>2021-10-12 08:51:49 -0700</date>
            <delta_ts>2021-10-12 08:54:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231568-20211012175144.patch</filename>
            <type>text/plain</type>
            <size>138356</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk3OGFlZTkyMjk2Mzk3
Njk0MmU4ZjRmY2Y1NzJmYzliZDIyNTc0Zi4uMGI2ZGFjODY2ZDZkZGQ4NjhlZTY0ZjAzZGM1NjEx
NzA0MjUyZThhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTEwLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
V2ViUlRDIG1lZGlhIGNhcGFiaWxpdGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIFdlYlJUQyBkZWNvZGluZyBhbmQgZW5jb2RpbmcgdHlwZS4K
KyAgICAgICAgSW4gY2FzZSB3ZWJydGMgdHlwZSBpcyB1c2VkLCBmb3J3YXJkIHRoZSBjYWxsIHRv
IExpYldlYlJUQ1Byb3ZpZGVyLgorICAgICAgICBMaWJXZWJSVENQcm92aWRlciB0aGVuIGdldHMg
dW5kZXJseWluZyBSVEMgY2FwYWJpbGl0aWVzIHRvIGV4cG9zZSBtZWRpYSBjYXBhYmlsaXRpZXMu
CisgICAgICAgIEl0IGFsc28gYWRkcyBkZWRpY2F0ZWQgc3VwcG9ydCBmb3IgcG93ZXJFZmZpY2ll
bnQgdmFsdWUuCisgICAgICAgIEFsbCBpbmZvcm1hdGlvbiBpcyBhbHJlYWR5IGV4cG9zZWQgaW4g
ZXhpc3RpbmcgTWVkaWEgQ2FwYWJpbGl0aWVzIG9yIFJUQ1J0cFNlbmRlci9SZWNlaXZlciBnZXRD
YXBhYmlsaXRpZXMgc28gd2UgZG8gbm90IGluY3JlYXNlIGZpbmdlcnByaW50aW5nIGhlcmUuCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFu
eS53b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5n
SW5mb0VuY3J5cHRlZE1lZGlhLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3Mu
YW55Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmlkbDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHA6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5n
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5
cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENQcm92aWRlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1Byb3ZpZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHA6CisKIDIwMjEtMTAtMTEgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEJlZWYgdXAgd29ya2VyIHRlcm1pbmF0
aW9uIGhhbmRsaW5nIGluIFJlYWRhYmxlU3RyZWFtIHJvdXRpbmVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmls
aXRpZXMuY3BwCmluZGV4IGMzMzYwNGY2NGM5NzUzZTg5OTQwYmFlODEzMzIxMDU3NjgwNDBlOWMu
LmNkMzBjNGEyODI0Nzk1NDkwYzcxZjFmODc2NjI0ZWUyNWI0NThkMjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFD
YXBhYmlsaXRpZXMuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgi
CiAjaW5jbHVkZSAiSlNNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIgorI2luY2x1ZGUg
IkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1l
ZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCiAjaW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRp
ZXNFbmNvZGluZ0luZm8uaCIKQEAgLTM5LDYgKzQwLDcgQEAKICNpbmNsdWRlICJNZWRpYURlY29k
aW5nQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
LmgiCiAjaW5jbHVkZSAiTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeS5oIgorI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXIu
aD4KICNpbmNsdWRlIDx3dGYvUm9iaW5Ib29kSGFzaFNldC5oPgpAQCAtMTk1LDcgKzE5Nyw3IEBA
IHZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5mbyhEb2N1bWVudCYgZG9jdW1lbnQs
IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0CiAgICAgLy8gNC4gTGV0IHAgYmUgYSBuZXcgcHJvbWlz
ZS4KICAgICAvLyA1LiBJbiBwYXJhbGxlbCwgcnVuIHRoZSBjcmVhdGUgYSBNZWRpYUNhcGFiaWxp
dGllc0luZm8gYWxnb3JpdGhtIHdpdGggY29uZmlndXJhdGlvbiBhbmQgcmVzb2x2ZSBwIHdpdGgg
aXRzIHJlc3VsdC4KICAgICAvLyA2LiBSZXR1cm4gcC4KLSAgICBkb2N1bWVudC5ldmVudExvb3Ao
KS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbY29uZmlndXJhdGlvbiA9IFdU
Rk1vdmUoY29uZmlndXJhdGlvbiksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBsb2dnZXIg
PSBXVEZNb3ZlKGxvZ2dlciksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpXSAoKSBt
dXRhYmxlIHsKKyAgICBkb2N1bWVudC5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6
TWVkaWFFbGVtZW50LCBbY29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbiksIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBsb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGlkZW50
aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZpZXIpLCBkb2N1bWVudCA9IFJlZiB7IGRvY3VtZW50IH1d
ICgpIG11dGFibGUgewogCiAgICAgICAgIC8vIDIuMi4zIElmIGNvbmZpZ3VyYXRpb24gaXMgb2Yg
dHlwZSBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vic3Rl
cHM6CiAgICAgICAgIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkRlY29kaW5nQ29u
ZmlndXJhdGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
LCBsb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlciksIGlkZW50aWZpZXIgPSBXVEZNb3ZlKGlkZW50aWZp
ZXIpXSAoYXV0byBpbmZvKSBtdXRhYmxlIHsKQEAgLTIxNiw2ICsyMTgsMTQgQEAgdm9pZCBNZWRp
YUNhcGFiaWxpdGllczo6ZGVjb2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXQKICAgICAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMRGljdGlvbmFy
eTxNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbz4+KFdURk1vdmUoaW5mbykpOwogICAgICAg
ICB9OwogCisjaWYgRU5BQkxFKFdFQl9SVEMpCisgICAgICAgIGlmIChjb25maWd1cmF0aW9uLnR5
cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6OldlYlJUQykgeworICAgICAgICAgICAgaWYgKGF1dG8q
IHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpKQorICAgICAgICAgICAgICAgIHBhZ2UtPmxpYldlYlJU
Q1Byb3ZpZGVyKCkuY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJh
dGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorI2VuZGlmCisKICAgICAgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6Y3Jl
YXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUo
Y2FsbGJhY2spKTsKICAgICB9KTsKIH0KQEAgLTIzNiw4ICsyNDYsNyBAQCB2b2lkIE1lZGlhQ2Fw
YWJpbGl0aWVzOjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5n
Q29uZmlndXJhdAogICAgIC8vIDQuIExldCBwIGJlIGEgbmV3IHByb21pc2UuCiAgICAgLy8gNS4g
SW4gcGFyYWxsZWwsIHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFsZ29y
aXRobSB3aXRoIGNvbmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQuCiAg
ICAgLy8gNi4gUmV0dXJuIHAuCi0gICAgZG9jdW1lbnQuZXZlbnRMb29wKCkucXVldWVUYXNrKFRh
c2tTb3VyY2U6Ok1lZGlhRWxlbWVudCwgW2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZpZ3Vy
YXRpb24pLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKCkgbXV0YWJsZSB7Ci0KKyAgICBk
b2N1bWVudC5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBb
Y29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbiksIHByb21pc2UgPSBXVEZNb3Zl
KHByb21pc2UpLCAgZG9jdW1lbnQgPSBSZWYgeyBkb2N1bWVudCB9XSAoKSBtdXRhYmxlIHsKICAg
ICAgICAgLy8gMi4yLjQuIElmIGNvbmZpZ3VyYXRpb24gaXMgb2YgdHlwZSBNZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbiwgcnVuIHRoZSBmb2xsb3dpbmcgc3Vic3RlcHM6CiAgICAgICAgIE1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OkVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNr
IGNhbGxiYWNrID0gW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoYXV0byBpbmZvKSBtdXRh
YmxlIHsKICAgICAgICAgICAgIC8vIDIuMi40LjEuIElmIHRoZSB1c2VyIGFnZW50IGlzIGFibGUg
dG8gZW5jb2RlIHRoZSBtZWRpYQpAQCAtMjU3LDYgKzI2NiwxNCBAQCB2b2lkIE1lZGlhQ2FwYWJp
bGl0aWVzOjplbmNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYUVuY29kaW5nQ29u
ZmlndXJhdAogICAgICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExEaWN0aW9uYXJ5PE1lZGlh
Q2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvPj4oV1RGTW92ZShpbmZvKSk7CiAgICAgICAgIH07CiAK
KyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBN
ZWRpYUVuY29kaW5nVHlwZTo6V2ViUlRDKSB7CisgICAgICAgICAgICBpZiAoYXV0byogcGFnZSA9
IGRvY3VtZW50LT5wYWdlKCkpCisgICAgICAgICAgICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlk
ZXIoKS5jcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwg
V1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisjZW5k
aWYKKwogICAgICAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFj
aykpOwogCiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaWRsCmluZGV4IGQzOTE0NDAw
ZTEzMTA0NzYwYjliY2Q4YmY0NjFhMGZiZmFiMjA0NTcuLjMwN2Q1MzY0NzMzZmQ5Y2RjM2Q0NTJm
ODFlZWZiMjI0YTU2MGMyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaWRsCkBAIC0yNSw1
ICsyNSw2IEBACiAKIGVudW0gTWVkaWFEZWNvZGluZ1R5cGUgewogICAiZmlsZSIsCi0gICJtZWRp
YS1zb3VyY2UiCisgICJtZWRpYS1zb3VyY2UiLAorICAid2VicnRjIgogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5
cGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVu
Y29kaW5nVHlwZS5pZGwKaW5kZXggOWEyYTIwOTk1MzM3MGEzYjQ0MjllNjVlYTc3MjdmMDYxZTg3
YmI3Yi4uY2U4YTY0ZWFkMjc2MmE1ZjJmMjQ3MzJkMTMwOWRlMTZjMzc4NmJkYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUVuY29kaW5nVHlwZS5pZGwKQEAgLTI1LDUgKzI1LDUgQEAKIAogZW51bSBNZWRpYUVuY29k
aW5nVHlwZSB7CiAgICJyZWNvcmQiLAotICAidHJhbnNtaXNzaW9uIgorICAid2VicnRjIgogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmYWNiM2JkZDAyOGNmMmQwNmYwZmYxOGVlMDI5NjM3ODc2MDQzMTcyLi5mZDNjN2Q0ODcz
OGUwMTYxY2JkMjUwZTJhMDZlNmE2ZGVkYzNiNDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDg1LDcgKzEwODUsNyBAQAog
CQk0MTI5QzlBOTFGNTlDNTZCMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4
QzM5NUYxQzhGMEFBQjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5
QzlBQjFGNTlDNTczMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEMzOTVCMUM4RjBBNjEwMDUx
QzhBMyAvKiBSZWFkYWJsZVN0cmVhbVNvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMjlDOUFGMUY1OUNGNUIwMDlENzQwMyAvKiBSZWFk
YWJsZVN0cmVhbVNpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxMjlDOTgwMUY1ODYxQzcwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0MTJERTRC
ODIxOTI4NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTJERTRCNjIxOTI4NUJGMDA3NUYzQTcg
LyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi87IH07CisJCTQxMkRFNEI4MjE5Mjg1QzAwMDc1RjNB
NyAvKiBSVENSdHBDYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxMkRFNEI2MjE5Mjg1QkYwMDc1RjNBNyAvKiBSVENSdHBDYXBhYmls
aXRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0MTJERUYxRDIzQTkxODY2MDBEODQwRjYgLyogTW9ja0F1ZGlvU2hhcmVkVW5pdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0NEVDRUIxRTBDNEFF
NTAwMEQwOTQ0IC8qIE1vY2tBdWRpb1NoYXJlZFVuaXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTJERUYxRjIzQTkxOEEzMDBEODQwRjYgLyog
QmFzZUF1ZGlvU2hhcmVkVW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE3N0Y1MUUyMzgyNTQ1RTAwQzA0NDg2IC8qIEJhc2VBdWRpb1NoYXJlZFVu
aXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTMzQ0I4QjIwRjgwRTk5MDBFODlCMTEgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZUNvY29hLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzNDQjg5
MjBGODBFODYwMEU4OUIxMSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwICovOyB9
OwpAQCAtMTE4MCw2ICsxMTgwLDcgQEAKIAkJNDE4Rjg4MDUwRkY5NTdBRjAwODBGMDQ1IC8qIEpT
QWJzdHJhY3RXb3JrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxOEY4ODAzMEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmggKi87
IH07CiAJCTQxOEZDQkMxMjcwNkU0RkIwMEY5NkVDQSAvKiBQdXNoRXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEZDQkJEMjcwNkU0RjcwMEY5
NkVDQSAvKiBQdXNoRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MThGQ0JDMjI3MDZFNTAxMDBGOTZFQ0EgLyogUHVzaEV2ZW50SW5pdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4RkNCQkYy
NzA2RTRGODAwRjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MThGQ0JFNzI3MTVBMjhGMDBGOTZFQ0EgLyog
UlRDUnRwQ29kZWNDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUUwQTdEQzIzQkI2M0RCMDA1NjEwNjAgLyogUlRDUnRwQ29kZWNDYXBh
YmlsaXR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDE5MEYzQTUyNEEwQjRFRTAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOTBGM0EzMjQ5RDE1Mjgw
MDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MjQyNDkyMTI3QjkzRTAwNjM0RkNGIC8qIFJlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovOyB9OwogCQk0MTlBQ0Y5MjFGOTdFN0RBMDA5
RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlBQ0Y4RTFGOTdFN0Q1MDA5RjFBODMgLyogU2VydmljZVdv
cmtlckZldGNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTgxNDgsNiArODE0OSw3IEBACiAJCTQxOEZDQkNCMjcwNkYzQ0QwMEY5NkVDQSAvKiBT
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUrUHVzaEFQSS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZStQdXNoQVBJLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
OEZDQkNDMjcwNkY0MzQwMEY5NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4RkNCQ0QyNzA2RjQzNDAwRjk2RUNBIC8qIFNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxOEZDQkU4MjcxNUFBMTkwMEY5NkVDQSAvKiBKU01lZGlhQ2FwYWJpbGl0aWVzQ3Vz
dG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1l
UmF0ZU1vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJh
bWVSYXRlTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0Ez
MjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRl
b1NvdXJjZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNTAyNyw3ICsxNTAyOSw2IEBACiAJCUNDQzJCNTEwMTVGNjEzMDYwMDQ4Q0RE
NiAvKiBEZXZpY2VDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2
aWNlQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNDQzJCNTExMTVGNjEz
MDYwMDQ4Q0RENiAvKiBEZXZpY2VDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERldmljZUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDQ0MyQjUxMjE1RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VDb250cm9sbGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNEMDMyMDE1MjI3OUY1QkYwMEREOUYwQiAvKiBK
U01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFDYXBhYmls
aXRpZXNDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwNjNGODAxRTIz
RkE4OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5pdERhdGFSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUNEMDYzRjgxMUUyM0ZBODkwMDgxMkJFMyAvKiBJbml0RGF0YVJlZ2lzdHJ5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluaXREYXRhUmVnaXN0cnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwQzhCNTgyMTQxQzhDQTAwNjJGNTlEIC8q
IE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNhcGFiaWxpdGll
c0luZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzMjEzLDcgKzIzMjE0LDcg
QEAKIAkJCQlBN0QwMzE4RDBFOTM1NDAzMDBFMjRBQ0QgLyogSlNJbWFnZURhdGFDdXN0b20uY3Bw
ICovLAogCQkJCTU4NjhDN0Q1MjU0NkUwQjMwMEJGOURGMyAvKiBKU0ludGVyc2VjdGlvbk9ic2Vy
dmVyQ3VzdG9tLmNwcCAqLywKIAkJCQk3N0MxM0YwNDIxNjU2NThBMDAyRDlDNUYgLyogSlNJbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5Q3VzdG9tLmNwcCAqLywKLQkJCQlDRDAzMjAxNTIyNzlGNUJG
MDBERDlGMEIgLyogSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oICovLAorCQkJCTQxOEZDQkU4
MjcxNUFBMTkwMEY5NkVDQSAvKiBKU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggKi8sCiAJCQkJ
QUQ3MjZGRTcxNkQ5RjIwNDAwM0E0RTZEIC8qIEpTTWVkaWFMaXN0Q3VzdG9tLmggKi8sCiAJCQkJ
NDE1Q0RBRjYxRTZDRTBEMzAwNEYxMUVFIC8qIEpTTWVkaWFTdHJlYW1UcmFja0N1c3RvbS5jcHAg
Ki8sCiAJCQkJRTFBNUY5OUEwRTdFQUEyNTAwQUY4NUVBIC8qIEpTTWVzc2FnZUNoYW5uZWxDdXN0
b20uY3BwICovLApAQCAtMzUxMzYsNiArMzUxMzcsNyBAQAogCQkJCTQxM0NDMTFEMjVFN0Q5OEUw
MEQ1OUM0QiAvKiBSVENQcmlvcml0eVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMTRGRTMy
MjVCRUJEMTkwMDlEOUYyMCAvKiBSVENSdGNwUGFyYW1ldGVycy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNDEyREU0QjgyMTkyODVDMDAwNzVGM0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDE4RkNCRTcyNzE1QTI4RjAwRjk2RUNBIC8qIFJUQ1J0cENvZGVjQ2Fw
YWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUUyQzQzNjMxQkNFRTMyQjAwMDFFMkJDIC8q
IFJUQ1J0cFJlY2VpdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTNDOEIzNTI1NTJGMjdEMDBF
NjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1RTJDNDM2MTFCQ0VFMzIzMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmggaW4gSGVhZGVycyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmls
aXRpZXNDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFDYXBhYmls
aXRpZXNDdXN0b20uaAppbmRleCBlMjBjODM1ODliODA2ZDBmNmZiNzdlOTdiMzIxMTdkY2MwZTBl
N2I3Li44MjQ3Mjc3OTkwNmRjNzg5NTFiM2FhMDJkZDEyY2I4YzA2ZjhiMzM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3Rv
bS5oCkBAIC0zMSwxMiArMzEsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBBTFdBWVNfSU5M
SU5FIGJvb2wgSlNNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mb0lzRW5hYmxlZCgpCiB7Cisj
aWYgRU5BQkxFKFdFQl9SVEMpCisgICAgcmV0dXJuIHRydWU7CisjZWxzZQogICAgIHJldHVybiBN
ZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNFbmNvZGluZ0NvbmZpZ3VyYXRpb25G
YWN0b3J5KCk7CisjZW5kaWYKIH0KIAogQUxXQVlTX0lOTElORSBib29sIEpTTWVkaWFDYXBhYmls
aXRpZXNEZWNvZGluZ0luZm9Jc0VuYWJsZWQoKQogeworI2lmIEVOQUJMRShXRUJfUlRDKQorICAg
IHJldHVybiB0cnVlOworI2Vsc2UKICAgICByZXR1cm4gTWVkaWFFbmdpbmVDb25maWd1cmF0aW9u
RmFjdG9yeTo6aGFzRGVjb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOworI2VuZGlmCiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KaW5kZXggYmZhNGE5M2FlYTA5MWZiNTFkY2Y3MDY0NzM0N2EzODdhY2M5NjUxMi4uZjhi
NGExY2UyY2NkYzgyZTY4OWYwZjM3OTY3MDM5OGZiY2RkOTU1NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTIyNzksNiAr
MjI3OSw3IEBAIHN1YiBHZXRFbnVtZXJhdGlvblZhbHVlTmFtZQogICAgIG15ICgkbmFtZSkgPSBA
XzsKIAogICAgIHJldHVybiAiRW1wdHlTdHJpbmciIGlmICRuYW1lIGVxICIiOworICAgIHJldHVy
biAiV2ViUlRDIiBpZiAkbmFtZSBlcSAid2VicnRjIjsKICAgICAkbmFtZSA9IGpvaW4oIiIsIG1h
cCB7ICRjb2RlR2VuZXJhdG9yLT5XS191Y2ZpcnN0KCRfKSB9IHNwbGl0KCItIiwgJG5hbWUpKTsK
ICAgICAkbmFtZSA9ICJfJG5hbWUiIGlmICRuYW1lID1+IC9eXGQvOwogICAgIHJldHVybiAkbmFt
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL01l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29j
b2EuY3BwCmluZGV4IDk3NDk0ZWU2YzVjOGI2OTkyMzRlYTdjOTY2ZGRkMWFjNmFhNDI0ZTYuLjEy
MjI2MDM3Y2IxNTAzNzRmMDEwZWIzMDA2MzFjMTQ1MTBjYjgxMmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlv
bkZhY3RvcnlDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNvY29hLmNwcApAQCAtNjMsOCAr
NjMsMjAgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8TWVkaWFDYXBhYmlsaXRpZXNJbmZvPiBjb21w
dXRlTWVkaWFDYXBhYmlsaXRpZXNJbmZvKGNvbnN0IE0KICAgICBpZiAoY29uZmlndXJhdGlvbi52
aWRlbykgewogICAgICAgICBhdXRvJiB2aWRlb0NvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9u
LnZpZGVvLnZhbHVlKCk7CiAgICAgICAgIE1lZGlhRW5naW5lU3VwcG9ydFBhcmFtZXRlcnMgcGFy
YW1ldGVycyB7IH07CisKKyAgICAgICAgc3dpdGNoIChjb25maWd1cmF0aW9uLnR5cGUpIHsKKyAg
ICAgICAgY2FzZSBNZWRpYURlY29kaW5nVHlwZTo6RmlsZToKKyAgICAgICAgICAgIHBhcmFtZXRl
cnMuaXNNZWRpYVNvdXJjZSA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgTWVkaWFEZWNvZGluZ1R5cGU6Ok1lZGlhU291cmNlOgorICAgICAgICAgICAgcGFyYW1ldGVy
cy5pc01lZGlhU291cmNlID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IE1lZGlhRGVjb2RpbmdUeXBlOjpXZWJSVEM6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgICAgIH0KKwogICAg
ICAgICBwYXJhbWV0ZXJzLnR5cGUgPSBDb250ZW50VHlwZSh2aWRlb0NvbmZpZ3VyYXRpb24uY29u
dGVudFR5cGUpOwotICAgICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSBjb25maWd1cmF0
aW9uLnR5cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6Ok1lZGlhU291cmNlOwogICAgICAgICBpZiAo
TWVkaWFQbGF5ZXI6OnN1cHBvcnRzVHlwZShwYXJhbWV0ZXJzKSAhPSBNZWRpYVBsYXllcjo6U3Vw
cG9ydHNUeXBlOjpJc1N1cHBvcnRlZCkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgKaW5kZXggMmNlYjZmNjZm
OGM4NWM4NzRmODJlOWQxNjk2ZWNhYzhmNjA0OWMxZC4uZTMxODhiZWI0ZTExYzdlNWE2MzdiM2Fl
MjFiZjUyMzNjYjM0MmMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5n
LmgKQEAgLTQxLDcgKzQxLDcgQEAgc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZv
OwogZW51bSBjbGFzcyBDb2xvckdhbXV0IDogdWludDhfdDsKIGVudW0gY2xhc3MgSGRyTWV0YWRh
dGFUeXBlIDogdWludDhfdDsKIGVudW0gY2xhc3MgVHJhbnNmZXJGdW5jdGlvbiA6IHVpbnQ4X3Q7
Ci1lbnVtIGNsYXNzIE1lZGlhRGVjb2RpbmdUeXBlIDogYm9vbDsKK2VudW0gY2xhc3MgTWVkaWFE
ZWNvZGluZ1R5cGUgOiB1aW50OF90OwogZW51bSBjbGFzcyBNZWRpYUVuY29kaW5nVHlwZSA6IGJv
b2w7CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5oCmluZGV4IDQxNWUwYjcyMDllYTUwZTE1
OTZiMmE4YmQyZjJhMzkyODM2MTg4YTcuLmY0MWQwMTZhMTcxYTBjM2EyMzRiMDJjODZhYmVlYWJh
MjBmNzcyZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaApAQCAtMjcsOSArMjcsMTAgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIE1lZGlhRGVjb2RpbmdUeXBlIDog
Ym9vbCB7CitlbnVtIGNsYXNzIE1lZGlhRGVjb2RpbmdUeXBlIDogdWludDhfdCB7CiAgICAgRmls
ZSwKICAgICBNZWRpYVNvdXJjZSwKKyAgICBXZWJSVEMKIH07CiAKIH0KQEAgLTQwLDcgKzQxLDgg
QEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlw
ZT4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAgICAgICAgIFdlYkNvcmU6Ok1l
ZGlhRGVjb2RpbmdUeXBlLAogICAgICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlwZTo6Rmls
ZSwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU6Ok1lZGlhU291cmNlCisgICAg
ICAgIFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlOjpNZWRpYVNvdXJjZSwKKyAgICAgICAgV2Vi
Q29yZTo6TWVkaWFEZWNvZGluZ1R5cGU6OldlYlJUQwogICAgID47CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFF
bmNvZGluZ1R5cGUuaAppbmRleCAwMTJhOGM2ZDUzOTY3ZDliNGVkYzIyMjNhZTQ5MDA1MzFmNWYx
ZmQ3Li5iM2I0ODAxM2UxOTIyNTE3ZTJiNDA1ZDMwZjNkZTcwZTlmYjYxNDg1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01l
ZGlhRW5jb2RpbmdUeXBlLmgKQEAgLTI5LDcgKzI5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBlbnVtIGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlIDogYm9vbCB7CiAgICAgUmVjb3JkLAotICAg
IFRyYW5zbWlzc2lvbiwKKyAgICBXZWJSVEMsCiB9OwogCiB9CkBAIC00MCw3ICs0MCw3IEBAIHRl
bXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGU+IHsK
ICAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBXZWJDb3JlOjpNZWRpYUVu
Y29kaW5nVHlwZSwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGU6OlJlY29yZCwK
LSAgICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGU6OlRyYW5zbWlzc2lvbgorICAgICAg
ICBXZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZTo6V2ViUlRDCiAgICAgPjsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCmluZGV4IDVhZjc5YWQ0ODU4Njg0MGY0ODc1
N2RlZmU4YTNhNjZlNTZkM2JlY2IuLmZkZDc4OGExMDY1NTQyZmU0ZTc4MGY2ZTQ4Yzg3MTUyOTNj
OTA3NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcApAQCAtMjYsMTAg
KzI2LDE1IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlk
ZXIuaCIKIAorI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCisjaW5j
bHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIk1lZGlhRW5jb2RpbmdDb25maWd1cmF0
aW9uLmgiCisKICNpZiBVU0UoTElCV0VCUlRDKQorI2luY2x1ZGUgIkNvbnRlbnRUeXBlLmgiCiAj
aW5jbHVkZSAiTGliV2ViUlRDQXVkaW9Nb2R1bGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0j
aW5jbHVkZSAiUlRDUnRwQ2FwYWJpbGl0aWVzLmgiCiAjaW5jbHVkZSA8ZGxmY24uaD4KIAogQUxM
T1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KQEAgLTM3OSw2ICszODQsMzAgQEAgdm9pZCBMaWJX
ZWJSVENQcm92aWRlcjo6cHJlcGFyZUNlcnRpZmljYXRlR2VuZXJhdG9yKEZ1bmN0aW9uPHZvaWQo
cnRjOjpSVENDZXJ0aWYKICAgICB9KTsKIH0KIAordm9pZCBMaWJXZWJSVENQcm92aWRlcjo6c2V0
SDI2NVN1cHBvcnQoYm9vbCB2YWx1ZSkKK3sKKyAgICBtX3N1cHBvcnRzSDI2NSA9IHZhbHVlOwor
ICAgIG1fdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGllcyA9IHsgfTsKKyAgICBtX3ZpZGVvRW5jb2Rp
bmdDYXBhYmlsaXRpZXMgPSB7IH07Cit9CisKK3ZvaWQgTGliV2ViUlRDUHJvdmlkZXI6OnNldFZQ
OVN1cHBvcnQoYm9vbCBzdXBwb3J0c1ZQOVByb2ZpbGUwLCBib29sIHN1cHBvcnRzVlA5UHJvZmls
ZTIpCit7CisgICAgbV9zdXBwb3J0c1ZQOVByb2ZpbGUwID0gc3VwcG9ydHNWUDlQcm9maWxlMDsK
KyAgICBtX3N1cHBvcnRzVlA5UHJvZmlsZTIgPSBzdXBwb3J0c1ZQOVByb2ZpbGUyOworCisgICAg
bV92aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzID0geyB9OworICAgIG1fdmlkZW9FbmNvZGluZ0Nh
cGFiaWxpdGllcyA9IHsgfTsKK30KKwordm9pZCBMaWJXZWJSVENQcm92aWRlcjo6c2V0VlA5VlRC
U3VwcG9ydChib29sIHZhbHVlKQoreworICAgIG1fc3VwcG9ydHNWUDlWVEIgPSB2YWx1ZTsKKwor
ICAgIG1fdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGllcyA9IHsgfTsKKyAgICBtX3ZpZGVvRW5jb2Rp
bmdDYXBhYmlsaXRpZXMgPSB7IH07Cit9CisKIHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxj
cmlja2V0OjpNZWRpYVR5cGU+IHR5cGVGcm9tS2luZChjb25zdCBTdHJpbmcmIGtpbmQpCiB7CiAg
ICAgaWYgKGtpbmQgPT0gImF1ZGlvIl9zKQpAQCAtNDMxLDExICs0NjAsMzYgQEAgc3RkOjpvcHRp
b25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IExpYldlYlJUQ1Byb3ZpZGVyOjpyZWNlaXZlckNhcGFi
aWxpdGllcyhjb25zdAogICAgIGlmICghbWVkaWFUeXBlKQogICAgICAgICByZXR1cm4geyB9Owog
Ci0gICAgYXV0byogZmFjdG9yeSA9IHRoaXMtPmZhY3RvcnkoKTsKLSAgICBpZiAoIWZhY3Rvcnkp
CisgICAgc3dpdGNoICgqbWVkaWFUeXBlKSB7CisgICAgY2FzZSBjcmlja2V0OjpNZWRpYVR5cGU6
Ok1FRElBX1RZUEVfQVVESU86CisgICAgICAgIHJldHVybiBhdWRpb0RlY29kaW5nQ2FwYWJpbGl0
aWVzKCk7CisgICAgY2FzZSBjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfVklERU86Cisg
ICAgICAgIHJldHVybiB2aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgY2FzZSBjcmlj
a2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfREFUQToKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIHJldHVybiB7IH07CisgICAgY2FzZSBjcmlja2V0OjpNZWRpYVR5cGU6
Ok1FRElBX1RZUEVfVU5TVVBQT1JURUQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICByZXR1cm4geyB9OworICAgIH0KK30KKworc3RkOjpvcHRpb25hbDxSVENSdHBDYXBh
YmlsaXRpZXM+JiBMaWJXZWJSVENQcm92aWRlcjo6YXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllcygp
Cit7CisgICAgaWYgKCFtX2F1ZGlvRGVjb2RpbmdDYXBhYmlsaXRpZXMpIHsKKyAgICAgICAgaWYg
KGF1dG8qIGZhY3RvcnkgPSB0aGlzLT5mYWN0b3J5KCkpCisgICAgICAgICAgICBtX2F1ZGlvRGVj
b2RpbmdDYXBhYmlsaXRpZXMgPSB0b1JUQ1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBS
ZWNlaXZlckNhcGFiaWxpdGllcyhjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfQVVESU8p
KTsKKyAgICB9CisgICAgcmV0dXJuIG1fYXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllczsKK30KIAot
ICAgIHJldHVybiB0b1JUQ1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBSZWNlaXZlckNh
cGFiaWxpdGllcygqbWVkaWFUeXBlKSk7CitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGll
cz4mIExpYldlYlJUQ1Byb3ZpZGVyOjp2aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzKCkKK3sKKyAg
ICBpZiAoIW1fdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGllcykgeworICAgICAgICBpZiAoYXV0byog
ZmFjdG9yeSA9IHRoaXMtPmZhY3RvcnkoKSkKKyAgICAgICAgICAgIG1fdmlkZW9EZWNvZGluZ0Nh
cGFiaWxpdGllcyA9IHRvUlRDUnRwQ2FwYWJpbGl0aWVzKGZhY3RvcnktPkdldFJ0cFJlY2VpdmVy
Q2FwYWJpbGl0aWVzKGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9WSURFTykpOworICAg
IH0KKyAgICByZXR1cm4gbV92aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzOwogfQogCiBzdGQ6Om9w
dGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gTGliV2ViUlRDUHJvdmlkZXI6OnNlbmRlckNhcGFi
aWxpdGllcyhjb25zdCBTdHJpbmcmIGtpbmQpCkBAIC00NDQsMTMgKzQ5OCwxMzYgQEAgc3RkOjpv
cHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IExpYldlYlJUQ1Byb3ZpZGVyOjpzZW5kZXJDYXBh
YmlsaXRpZXMoY29uc3QgU3QKICAgICBpZiAoIW1lZGlhVHlwZSkKICAgICAgICAgcmV0dXJuIHsg
fTsKIAotICAgIGF1dG8qIGZhY3RvcnkgPSB0aGlzLT5mYWN0b3J5KCk7Ci0gICAgaWYgKCFmYWN0
b3J5KQorICAgIHN3aXRjaCAoKm1lZGlhVHlwZSkgeworICAgIGNhc2UgY3JpY2tldDo6TWVkaWFU
eXBlOjpNRURJQV9UWVBFX0FVRElPOgorICAgICAgICByZXR1cm4gYXVkaW9FbmNvZGluZ0NhcGFi
aWxpdGllcygpOworICAgIGNhc2UgY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX1ZJREVP
OgorICAgICAgICByZXR1cm4gdmlkZW9FbmNvZGluZ0NhcGFiaWxpdGllcygpOworICAgIGNhc2Ug
Y3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX0RBVEE6CisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICByZXR1cm4geyB9OworICAgIGNhc2UgY3JpY2tldDo6TWVkaWFU
eXBlOjpNRURJQV9UWVBFX1VOU1VQUE9SVEVEOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9Cit9CisKK3N0ZDo6b3B0aW9uYWw8UlRDUnRw
Q2FwYWJpbGl0aWVzPiYgTGliV2ViUlRDUHJvdmlkZXI6OmF1ZGlvRW5jb2RpbmdDYXBhYmlsaXRp
ZXMoKQoreworICAgIGlmICghbV9hdWRpb0VuY29kaW5nQ2FwYWJpbGl0aWVzKSB7CisgICAgICAg
IGlmIChhdXRvKiBmYWN0b3J5ID0gdGhpcy0+ZmFjdG9yeSgpKQorICAgICAgICAgICAgbV9hdWRp
b0VuY29kaW5nQ2FwYWJpbGl0aWVzID0gdG9SVENSdHBDYXBhYmlsaXRpZXMoZmFjdG9yeS0+R2V0
UnRwU2VuZGVyQ2FwYWJpbGl0aWVzKGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9BVURJ
TykpOworICAgIH0KKyAgICByZXR1cm4gbV9hdWRpb0VuY29kaW5nQ2FwYWJpbGl0aWVzOworfQor
CitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4mIExpYldlYlJUQ1Byb3ZpZGVyOjp2
aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCkKK3sKKyAgICBpZiAoIW1fdmlkZW9FbmNvZGluZ0Nh
cGFiaWxpdGllcykgeworICAgICAgICBpZiAoYXV0byogZmFjdG9yeSA9IHRoaXMtPmZhY3Rvcnko
KSkKKyAgICAgICAgICAgIG1fdmlkZW9FbmNvZGluZ0NhcGFiaWxpdGllcyA9IHRvUlRDUnRwQ2Fw
YWJpbGl0aWVzKGZhY3RvcnktPkdldFJ0cFNlbmRlckNhcGFiaWxpdGllcyhjcmlja2V0OjpNZWRp
YVR5cGU6Ok1FRElBX1RZUEVfVklERU8pKTsKKyAgICB9CisgICAgcmV0dXJuIG1fdmlkZW9FbmNv
ZGluZ0NhcGFiaWxpdGllczsKK30KKworc3RkOjpvcHRpb25hbDxSVENSdHBDb2RlY0NhcGFiaWxp
dHk+IExpYldlYlJUQ1Byb3ZpZGVyOjpjb2RlY0NhcGFiaWxpdHkoY29uc3QgQ29udGVudFR5cGUm
IGNvbnRlbnRUeXBlLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4mIGNh
cGFiaWxpdGllcykKK3sKKyAgICBpZiAoIWNhcGFiaWxpdGllcykKICAgICAgICAgcmV0dXJuIHsg
fTsKIAotICAgIHJldHVybiB0b1JUQ1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBTZW5k
ZXJDYXBhYmlsaXRpZXMoKm1lZGlhVHlwZSkpOworICAgIGF1dG8gY29udGFpbmVyVHlwZSA9IGNv
bnRlbnRUeXBlLmNvbnRhaW5lclR5cGUoKTsKKyAgICBmb3IgKGF1dG8mIGNvZGVjIDogY2FwYWJp
bGl0aWVzLT5jb2RlY3MpIHsKKyAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoY29u
dGFpbmVyVHlwZSwgY29kZWMubWltZVR5cGUpKQorICAgICAgICAgICAgcmV0dXJuIGNvZGVjOwor
ICAgIH0KKyAgICByZXR1cm4geyB9OworfQorI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCisKK3Zv
aWQgTGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24sIERlY29kaW5nQ29uZmlndXJhdGlv
bkNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgQVNTRVJUKGNvbmZpZ3VyYXRpb24udHlwZSA9
PSBNZWRpYURlY29kaW5nVHlwZTo6V2ViUlRDKTsKKworI2lmIFVTRShMSUJXRUJSVEMpCisgICAg
Ly8gRklYTUU6IFZhbGlkYXRlIGFkZGl0aW9uYWwgcGFyYW1ldGVycywgaW4gcGFydGljdWxhciBt
aW1lIHR5cGUgcGFyYW1ldGVycy4KKyAgICBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyBp
bmZvIHsgV1RGTW92ZShjb25maWd1cmF0aW9uKSB9OworCisgICAgaWYgKGluZm8uc3VwcG9ydGVk
Q29uZmlndXJhdGlvbi52aWRlbykgeworICAgICAgICBDb250ZW50VHlwZSBjb250ZW50VHlwZSB7
IGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi52aWRlby0+Y29udGVudFR5cGUgfTsKKyAgICAg
ICAgYXV0byBjb2RlYyA9IGNvZGVjQ2FwYWJpbGl0eShjb250ZW50VHlwZSwgdmlkZW9EZWNvZGlu
Z0NhcGFiaWxpdGllcygpKTsKKyAgICAgICAgaWYgKCFjb2RlYykgeworICAgICAgICAgICAgY2Fs
bGJhY2soeyB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpbmZv
LnN1cHBvcnRlZCA9IHRydWU7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgICAgIGF1dG8gY29u
dGFpbmVyVHlwZSA9IGNvbnRlbnRUeXBlLmNvbnRhaW5lclR5cGUoKTsKKyAgICAgICAgaWYgKGNv
bnRhaW5lclR5cGUgPT0gInZpZGVvL3ZwOCIpCisgICAgICAgICAgICBpbmZvLnBvd2VyRWZmaWNp
ZW50ID0gZmFsc2U7CisgICAgICAgIGVsc2UgaWYgKGNvbnRhaW5lclR5cGUgPT0gInZpZGVvL3Zw
OSIpCisgICAgICAgICAgICBpbmZvLnBvd2VyRWZmaWNpZW50ID0gaXNTdXBwb3J0aW5nVlA5VlRC
KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGluZm8ucG93ZXJFZmZpY2llbnQgPSB0cnVl
OworICAgICAgICBpbmZvLnNtb290aCA9IGluZm8ucG93ZXJFZmZpY2llbnQ7CisjZW5kaWYKKyAg
ICB9CisgICAgaWYgKGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi5hdWRpbykgeworICAgICAg
ICBDb250ZW50VHlwZSBjb250ZW50VHlwZSB7IGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi5h
dWRpby0+Y29udGVudFR5cGUgfTsKKyAgICAgICAgYXV0byBjb2RlYyA9IGNvZGVjQ2FwYWJpbGl0
eShjb250ZW50VHlwZSwgYXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllcygpKTsKKyAgICAgICAgaWYg
KCFjb2RlYykgeworICAgICAgICAgICAgY2FsbGJhY2soeyB9KTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgICAgICBpbmZvLnN1cHBvcnRlZCA9IHRydWU7CisgICAgfQorICAg
IGNhbGxiYWNrKFdURk1vdmUoaW5mbykpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29uZmln
dXJhdGlvbik7CisgICAgY2FsbGJhY2soeyB9KTsKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQog
fQogCit2b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24o
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25maWd1cmF0aW9uLCBFbmNvZGluZ0NvbmZp
Z3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIEFTU0VSVChjb25maWd1cmF0aW9u
LnR5cGUgPT0gTWVkaWFFbmNvZGluZ1R5cGU6OldlYlJUQyk7CisKKyNpZiBVU0UoTElCV0VCUlRD
KQorICAgIC8vIEZJWE1FOiBWYWxpZGF0ZSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMsIGluIHBhcnRp
Y3VsYXIgbWltZSB0eXBlIHBhcmFtZXRlcnMuCisgICAgTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGlu
Z0luZm8gaW5mbyB7IFdURk1vdmUoY29uZmlndXJhdGlvbikgfTsKKworICAgIGlmIChpbmZvLnN1
cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8pIHsKKyAgICAgICAgQ29udGVudFR5cGUgY29udGVu
dFR5cGUgeyBpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8tPmNvbnRlbnRUeXBlIH07
CisgICAgICAgIGF1dG8gY29kZWMgPSBjb2RlY0NhcGFiaWxpdHkoY29udGVudFR5cGUsIHZpZGVv
RW5jb2RpbmdDYXBhYmlsaXRpZXMoKSk7CisgICAgICAgIGlmICghY29kZWMpIHsKKyAgICAgICAg
ICAgIGNhbGxiYWNrKHsgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg
ICAgaW5mby5zdXBwb3J0ZWQgPSB0cnVlOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgICAgICBh
dXRvIGNvbnRhaW5lclR5cGUgPSBjb250ZW50VHlwZS5jb250YWluZXJUeXBlKCk7CisgICAgICAg
IGlmIChjb250YWluZXJUeXBlID09ICJ2aWRlby92cDgiKQorICAgICAgICAgICAgaW5mby5wb3dl
ckVmZmljaWVudCA9IGZhbHNlOworICAgICAgICBlbHNlIGlmIChjb250YWluZXJUeXBlID09ICJ2
aWRlby92cDkiKQorICAgICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9IGlzU3VwcG9ydGlu
Z1ZQOVZUQigpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLnBvd2VyRWZmaWNpZW50
ID0gdHJ1ZTsKKyAgICAgICAgaW5mby5zbW9vdGggPSBpbmZvLnBvd2VyRWZmaWNpZW50OworI2Vu
ZGlmCisgICAgfQorICAgIGlmIChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24uYXVkaW8pIHsK
KyAgICAgICAgQ29udGVudFR5cGUgY29udGVudFR5cGUgeyBpbmZvLnN1cHBvcnRlZENvbmZpZ3Vy
YXRpb24uYXVkaW8tPmNvbnRlbnRUeXBlIH07CisgICAgICAgIGF1dG8gY29kZWMgPSBjb2RlY0Nh
cGFiaWxpdHkoY29udGVudFR5cGUsIGF1ZGlvRW5jb2RpbmdDYXBhYmlsaXRpZXMoKSk7CisgICAg
ICAgIGlmICghY29kZWMpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHsgfSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaW5mby5zdXBwb3J0ZWQgPSB0cnVlOworICAg
IH0KKyAgICBjYWxsYmFjayhXVEZNb3ZlKGluZm8pKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KGNvbmZpZ3VyYXRpb24pOworICAgIGNhbGxiYWNrKHsgfSk7CiAjZW5kaWYgLy8gVVNFKExJQldF
QlJUQykKK30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UHJvdmlkZXIuaAppbmRleCAzNmM2NGE4M2NlZjkyODkyN2IyNjBkYTc3MDg0ZGFlMjVlOTE5ZTRh
Li41MWI0OWEwZjExMTVjZGJjODQ5NDVjMDQyMTgzZmU2Y2UxMTYwN2Y1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJv
dmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUHJvdmlkZXIuaApAQCAtMzYsNiArMzYsOCBAQAogCiAjaWYgVVNFKExJQldF
QlJUQykKIAorI2luY2x1ZGUgIlJUQ1J0cENhcGFiaWxpdGllcy5oIgorCiBBTExPV19VTlVTRURf
UEFSQU1FVEVSU19CRUdJTgogQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KIApA
QCAtNjIsNyArNjQsMTIgQEAgY2xhc3MgUGVlckNvbm5lY3Rpb25GYWN0b3J5SW50ZXJmYWNlOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENvbnRlbnRUeXBlOwogY2xhc3MgTGliV2Vi
UlRDQXVkaW9Nb2R1bGU7CitzdHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm87Citz
dHJ1Y3QgTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm87CitzdHJ1Y3QgTWVkaWFEZWNvZGlu
Z0NvbmZpZ3VyYXRpb247CitzdHJ1Y3QgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb247CiBjbGFz
cyBSZWdpc3RyYWJsZURvbWFpbjsKIHN0cnVjdCBQZWVyQ29ubmVjdGlvbkZhY3RvcnlBbmRUaHJl
YWRzOwogc3RydWN0IFJUQ1J0cENhcGFiaWxpdGllczsKQEAgLTg3LDYgKzk0LDExIEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgUmVmUHRyPFJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5l
Y3Rpb24+IGNyZWF0ZVJUQ0RhdGFDaGFubmVsUmVtb3RlSGFuZGxlckNvbm5lY3Rpb24oKSB7IHJl
dHVybiBudWxscHRyOyB9CiAKKyAgICB1c2luZyBEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFj
ayA9IEZ1bmN0aW9uPHZvaWQoTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8mJik+OworICAg
IHVzaW5nIEVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrID0gRnVuY3Rpb248dm9pZChNZWRp
YUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyYmKT47CisgICAgdm9pZCBjcmVhdGVEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRGVjb2RpbmdDb25maWd1
cmF0aW9uQ2FsbGJhY2smJik7CisgICAgdm9pZCBjcmVhdGVFbmNvZGluZ0NvbmZpZ3VyYXRpb24o
TWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24mJiwgRW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJh
Y2smJik7CisKICNpZiBVU0UoTElCV0VCUlRDKQogICAgIHZpcnR1YWwgcnRjOjpzY29wZWRfcmVm
cHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U+IGNyZWF0ZVBlZXJDb25uZWN0aW9u
KERvY3VtZW50SWRlbnRpZmllciwgd2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVyJiwgcnRj
OjpQYWNrZXRTb2NrZXRGYWN0b3J5Kiwgd2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFjZTo6
UlRDQ29uZmlndXJhdGlvbiYmKTsKIApAQCAtMTA1LDkgKzExNyw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIGVuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMoKTsKICAgICBib29sIGlz
RW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X2VuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXM7IH0KIAotICAgIHZvaWQgc2V0
SDI2NVN1cHBvcnQoYm9vbCB2YWx1ZSkgeyBtX3N1cHBvcnRzSDI2NSA9IHZhbHVlOyB9CisgICAg
dm9pZCBzZXRIMjY1U3VwcG9ydChib29sKTsKICAgICB2b2lkIHNldFZQOVN1cHBvcnQoYm9vbCBz
dXBwb3J0c1ZQOVByb2ZpbGUwLCBib29sIHN1cHBvcnRzVlA5UHJvZmlsZTIpOwotICAgIHZvaWQg
c2V0VlA5VlRCU3VwcG9ydChib29sIHZhbHVlKSB7IG1fc3VwcG9ydHNWUDlWVEIgPSB2YWx1ZTsg
fQorICAgIHZvaWQgc2V0VlA5VlRCU3VwcG9ydChib29sKTsKICAgICBib29sIGlzU3VwcG9ydGlu
Z0gyNjUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzSDI2NTsgfQogICAgIGJvb2wgaXNTdXBw
b3J0aW5nVlA5UHJvZmlsZTAoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzVlA5UHJvZmlsZTA7
IH0KICAgICBib29sIGlzU3VwcG9ydGluZ1ZQOVByb2ZpbGUyKCkgY29uc3QgeyByZXR1cm4gbV9z
dXBwb3J0c1ZQOVByb2ZpbGUyOyB9CkBAIC0xNDksNiArMTYxLDExIEBAIHByb3RlY3RlZDoKICAg
ICB2aXJ0dWFsIHZvaWQgc3RhcnRlZE5ldHdvcmtUaHJlYWQoKSB7IH07CiAKICAgICBQZWVyQ29u
bmVjdGlvbkZhY3RvcnlBbmRUaHJlYWRzJiBnZXRTdGF0aWNGYWN0b3J5QW5kVGhyZWFkcyhib29s
IHVzZU5ldHdvcmtUaHJlYWRXaXRoU29ja2V0U2VydmVyKTsKKyAgICBzdGQ6Om9wdGlvbmFsPFJU
Q1J0cENhcGFiaWxpdGllcz4mIGF1ZGlvRGVjb2RpbmdDYXBhYmlsaXRpZXMoKTsKKyAgICBzdGQ6
Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4mIHZpZGVvRGVjb2RpbmdDYXBhYmlsaXRpZXMo
KTsKKyAgICBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4mIGF1ZGlvRW5jb2RpbmdD
YXBhYmlsaXRpZXMoKTsKKyAgICBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4mIHZp
ZGVvRW5jb2RpbmdDYXBhYmlsaXRpZXMoKTsKKyAgICBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENvZGVj
Q2FwYWJpbGl0eT4gY29kZWNDYXBhYmlsaXR5KGNvbnN0IENvbnRlbnRUeXBlJiwgY29uc3Qgc3Rk
OjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+Jik7CiAKICAgICBib29sIG1fZW5hYmxlRW51
bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcyB7IGZhbHNlIH07CiAgICAgLy8gRklYTUU6IFJl
bW92ZSBtX3VzZU5ldHdvcmtUaHJlYWRXaXRoU29ja2V0U2VydmVyIG1lbWJlciB2YXJpYWJsZSBh
bmQgbWFrZSBpdCBhIGdsb2JhbC4KQEAgLTE2MiwxNSArMTc5LDEyIEBAIHByb3RlY3RlZDoKICAg
ICBib29sIG1fc3VwcG9ydHNWUDlWVEIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV91c2VEVExTMTAg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9zdXBwb3J0c01ETlMgeyBmYWxzZSB9OwotI2VuZGlmCi19
OwogCi0jaWYgVVNFKExJQldFQlJUQykKLWlubGluZSB2b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpz
ZXRWUDlTdXBwb3J0KGJvb2wgc3VwcG9ydHNWUDlQcm9maWxlMCwgYm9vbCBzdXBwb3J0c1ZQOVBy
b2ZpbGUyKQotewotICAgIG1fc3VwcG9ydHNWUDlQcm9maWxlMCA9IHN1cHBvcnRzVlA5UHJvZmls
ZTA7Ci0gICAgbV9zdXBwb3J0c1ZQOVByb2ZpbGUyID0gc3VwcG9ydHNWUDlQcm9maWxlMjsKLX0K
KyAgICBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gbV9hdWRpb0RlY29kaW5nQ2Fw
YWJpbGl0aWVzOworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBtX3ZpZGVv
RGVjb2RpbmdDYXBhYmlsaXRpZXM7CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRp
ZXM+IG1fYXVkaW9FbmNvZGluZ0NhcGFiaWxpdGllczsKKyAgICBzdGQ6Om9wdGlvbmFsPFJUQ1J0
cENhcGFiaWxpdGllcz4gbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzOwogI2VuZGlmCit9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlNb2NrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeU1v
Y2suY3BwCmluZGV4IGNmMThmZTc0NmJhM2FlZDNmZTBkYjVhM2EwMDg4OTlkNGU2YTE3NTIuLjAy
NjYxY2MzMWZkMDExNWRjY2Y1ODM3M2E4MGQ4NGFjMjVjMWMwMGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeU1v
Y2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeU1vY2suY3BwCkBAIC0xMDEsOCArMTAxLDggQEAgc3RhdGljIGJvb2wg
Y2FuUG93ZXJFZmZpY2llbnRseURlY29kZU1lZGlhKGNvbnN0IE1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uJiBjb24KIAogc3RhdGljIGJvb2wgY2FuRW5jb2RlTWVkaWEoY29uc3QgTWVkaWFFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiB7Ci0gICAgLy8gVGhlIG1vY2sgaW1w
bGVtZW50YXRpb24gc3VwcG9ydHMgb25seSBsb2NhbCBmaWxlIHBsYXliYWNrLgotICAgIGlmIChj
b25maWd1cmF0aW9uLnR5cGUgPT0gTWVkaWFFbmNvZGluZ1R5cGU6OlJlY29yZCkKKyAgICBBU1NF
UlQoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRW5jb2RpbmdUeXBlOjpSZWNvcmQpOworICAg
IGlmIChjb25maWd1cmF0aW9uLnR5cGUgIT0gTWVkaWFFbmNvZGluZ1R5cGU6OlJlY29yZCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gTWF4aW5nIG91dCB2aWRlbyBlbmNvZGluZyBz
dXBwb3J0IGF0IDcyMFAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODcyNmRlZDI1MzBjYzhiZDE2ZGNiMzdlYjZjNzNlMjBm
M2Y4NTFkYi4uNTBhMjFmMTlkNjdmZDk3ZWE4MjI3MGI3YWY4ZDA5YzFiNWNjNjZmZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDIxLTEwLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2ViUlRDIG1lZGlhIGNhcGFiaWxpdGll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTY4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRp
YS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29kaW5nSW5mby1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNvZGluZ0luZm8uaHRtbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbWVkaWFjYXBhYmls
aXRpZXMtZW5jb2RpbmdJbmZvLXVuZGVmaW5lZC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0
aWVzLWVuY29kaW5nSW5mby11bmRlZmluZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtdHlwZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHRlc3RzLW9wdGlvbnMuanNvbjoKKwogMjAyMS0xMC0x
MCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgaXRlcmF0aW5nIEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCmluZGV4IDExOTQ5MjNkZGIwMTBiNWE1ZDBlNGFjZjkzM2VmNmNhM2E5YzYy
M2MuLjcxMmUxMjE4NDc0OWVkYjE3NTQxY2UwNDdlMjM2NDEwNzZhZDM3N2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTEwLTEyICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2Vi
UlRDIG1lZGlhIGNhcGFiaWxpdGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxNTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvUkVB
RE1FLm1kOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2RlY29kaW5nSW5mby5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm8uYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRp
YS5odHRwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
ZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5m
b0VuY3J5cHRlZE1lZGlhLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNv
ZGluZ0luZm8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0lu
Zm8ud2VicnRjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvaWRsaGFybmVzcy5hbnkuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIw
MjEtMTAtMTAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGl0ZXJhdGluZyBGaWxlU3lzdGVtRGlyZWN0b3J5SGFuZGxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uCmluZGV4IDY4ZWMyODNlOTQxMjkxMDJjNjM2ZDRlODJmYjY2MDIyOWI0NTgy
OGEuLjYxMGRkNWNmZDVhZjUwZmJkNjkxMWZjMTcwNTM4YmZhNDBiZDI2OTYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uCkBAIC0zNjAsNyArMzYwLDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L2xvbmd0YXNrLXRpbWluZyI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tYWdu
ZXRvbWV0ZXIiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sIjogImlt
cG9ydCIsIAotICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzIjogInNr
aXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcyI6ICJpbXBv
cnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZSI6ICJpbXBvcnQiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1pbWFnZSI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9NRVRBLnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL01FVEEueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZDAwZWZiOWE3NjRl
MjlmODk1YWY3YjQ3NjFmNzBlOTNmYTFkMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9NRVRB
LnltbApAQCAtMCwwICsxLDMgQEAKK3NwZWM6IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9tZWRpYS1j
YXBhYmlsaXRpZXMvCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIG1vdW5pcmxhbW91cmkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL1JFQURNRS5tZApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ZmU5OTQ5NzZjMDc2ODcwNjIzNzFhYTgyMTA0Yzg5MGYzYjA5ZDVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvUkVBRE1FLm1kCkBAIC0wLDAgKzEsMTQgQEAKKyMgTWVkaWEgQ2FwYWJpbGl0aWVz
IHNwZWNpZmljYXRpb24gVGVzdHMKKworVGhlIE1lZGlhIENhcGFiaWxpdGllcyBzcGVjaWZpY2F0
aW9uIGlzIGF2YWlsYWJsZSBoZXJlOiBodHRwczovL3dpY2cuZ2l0aHViLmlvL21lZGlhLWNhcGFi
aWxpdGllcworCitHaXRIdWIgcmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvbWVk
aWEtY2FwYWJpbGl0aWVzCisKK0ZpbGUgYW4gaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS93aWNn
L21lZGlhLWNhcGFiaWxpdGllcy9pc3N1ZXMvbmV3CisKKyMjIFN0YXR1cyBvZiB0aGVzZSB0ZXN0
cworCitUaGVzZSB0ZXN0cyBhcmUgc3RpbGwgdmVyeSBlYXJseS4gVGhlIHNwZWNpZmljYXRpb24g
aXMgc3RpbGwgV0lQIGFuZCB0aGV5IHRyeSB0bworcmVmbGVjdCBhcyBtdWNoIGFzIHBvc3NpYmxl
IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBzcGVjaWZpY2F0aW9uLiBQbGVhc2UgZmlsZQoraXNz
dWVzIGlmIHRoZXJlIGFyZSBpbmNvbnNpc3RlbmNpZXMgYmV0d2VlbiB0aGUgc3BlY2lmaWNhdGlv
biBhbmQgdGhlIHRlc3RzIG9yCitpZiB0ZXN0cyBhcmUgb2J2aW91c2x5IG1pc3NpbmcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29k
aW5nSW5mby5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1NjU5NGIxYmFmY2E0OWMyNjVj
ZTIyMGNiOGViNmQwYzA2ZTFkYjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0lu
Zm8uYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMxIEBACisKK1BBU1MgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlv
biBpc24ndCB2YWxpZAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFu
IGF1ZGlvIG9yIHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BB
U1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0
byBJbmZpbml0eQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhh
biBvbmUgcGFyYW1ldGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1
bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMg
b25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BB
U1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3Jt
IG9mIDAveQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
aW4gdGhlIGZvcm0gb2YgLXgveQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2Vk
IGNoYXJhY3RlcnMKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBh
dWRpbyBjb25maWd1cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhh
biBvbmUgcGFyYW1ldGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDog
dW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFz
IG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2Vz
IG5vdCBoYXZlIGEgdmFsaWQgdHlwZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGgg
c3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5m
byBvYmplY3RzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVm
aW5lZCIKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIGhkck1ldGFkYXRhVHlwZSwg
Y29sb3JHYW11dCwgYW5kIHRyYW5zZmVyRnVuY3Rpb24gc2V0IHJldHVybnMgYSB2YWxpZCBNZWRp
YUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAib2JqZWN0
IiBidXQgZ290ICJ1bmRlZmluZWQiCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYW4gZW1wdHkgaGRyTWV0YWRhdGFUeXBl
CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBoYXMgYSBjb2xvckdhbXV0IHNldCB0byB0cnVlCitQQVNTIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSB0cmFuc2Zl
ckZ1bmN0aW9uIHNldCB0byAzCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnku
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4
ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
ZGVjb2RpbmdJbmZvLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJl
cXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRl
ZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVz
L2RlY29kaW5nSW5mby5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc3MmQ0N2U4NzI5NTc3NWYyMDdmZWRkNmYzZjY4NjgxY2EzMmFkNzkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LmpzCkBAIC0wLDAgKzEsMzgzIEBACisvLyBN
RVRBOiB0aW1lb3V0PWxvbmcKKyd1c2Ugc3RyaWN0JzsKKworLy8gTWluaW1hbCBWaWRlb0NvbmZp
Z3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8g
cHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uID0g
eworICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAor
ICB3aWR0aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAgYml0cmF0ZTogMzAwMCwKKyAgZnJhbWVy
YXRlOiAyNCwKK307CisKKy8vIE1pbmltYWwgQXVkaW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBi
ZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3Np
bmcuCit2YXIgbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdh
dWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJywKK307CisKKy8vIEF1ZGlvQ29uZmlndXJhdGlvbiB3
aXRoIG9wdGlvbmFsIHNwYXRpYWxSZW5kZXJpbmcgcGFyYW0uCit2YXIgYXVkaW9Db25maWd1cmF0
aW9uV2l0aFNwYXRpYWxSZW5kZXJpbmcgPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsg
Y29kZWNzPSJvcHVzIicsCisgIHNwYXRpYWxSZW5kZXJpbmc6IHRydWUsCit9OworCisvLyBWaWRl
b0NvbmZpZ3VyYXRpb24gd2l0aCBvcHRpb25hbCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQs
IGFuZAorLy8gdHJhbnNmZXJGdW5jdGlvbiBwcm9wZXJ0aWVzLgordmFyIHZpZGVvQ29uZmlndXJh
dGlvbldpdGhEeW5hbWljUmFuZ2UgPSB7CisgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBi
aXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6IDI0LAorICBoZHJNZXRhZGF0YVR5cGU6ICJzbXB0
ZVN0MjA4NiIsCisgIGNvbG9yR2FtdXQ6ICJzcmdiIiwKKyAgdHJhbnNmZXJGdW5jdGlvbjogInNy
Z2IiLAorfQorCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KCkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdl
dCBhIGNvbmZpZ3VyYXRpb24iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbyh7fSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlkIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHZpZGVvOiBtaW5pbWFsVmlk
ZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAor
ICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNv
bmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHR5cGUiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICB9KSk7
Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9u
IGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisg
ICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5
LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAg
ICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7Cit9
LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86
IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4
IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRl
OiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAwLAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEg
ZnJhbWVyYXRlIHNldCB0byAwIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJh
bWVyYXRlIHNldCB0byBJbmZpbml0eSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVy
biBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAg
ICAgIGNvbnRlbnRUeXBlOiAnZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdo
dDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAg
fSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxl
JywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdhdWRpby9mZ2VvYScsCisgICAg
ICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAor
ICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlz
bid0IG9mIHR5cGUgdmlkZW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBj
b250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCI7IGZvbz0iYmFy
IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRl
OiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciIpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAg
dmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgZm9vPSJiYXIiJywKKyAg
ICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAs
CisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAg
IHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4w
MC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAg
Yml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLzEwMDEnLAorICAgIH0KKyAg
fSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0
aGUgZm9ybSBvZiB4L3kiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250
ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lk
dGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAg
IGZyYW1lcmF0ZTogJzI0MDAwLzAnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAiKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJv
ciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTog
J2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNv
ZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDog
NjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzAvMTAwMDEnLAor
ICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7Cisg
ICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAor
ICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAw
MCwKKyAgICAgIGZyYW1lcmF0ZTogJy0yNDAwMC8xMDAwMScsCisgICAgfQorICB9KSk7Cit9LCAi
VGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9m
IC14L3kiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTog
J3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwK
KyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0
ZTogJzI0MDAwLy0xMDAwMScsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5n
SW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2Zp
bGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVj
cz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAw
LAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0MDAwLycsCisgICAg
fQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRl
IGluIHRoZSBmb3JtIG9mIHgvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6ICcxLzN4JywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hh
cmFjdGVycyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdmZ2Vv
YScgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
YXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2Zp
bGUnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3Vy
YXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisg
ICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiOyBmb289
ImJhciInIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFy
YW1ldGVycyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRp
by93ZWJtOyBmb289ImJhciInIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBw
YXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ2ZpbGUnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1
ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4gewor
ICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOwor
ICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAg
IGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7
CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5rZXlTeXN0ZW1BY2Nlc3MsICJvYmpl
Y3QiKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQg
TWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMiKTsKKworYXN5bmNfdGVzdCh0ID0+IHsKKyAg
dmFyIHZhbGlkVHlwZXMgPSBbICdmaWxlJywgJ21lZGlhLXNvdXJjZScgXTsKKyAgdmFyIGludmFs
aWRUeXBlcyA9IFsgdW5kZWZpbmVkLCBudWxsLCAnJywgJ2Zvb2JhcicsICdtc2UnLCAnTWVkaWFT
b3VyY2UnLAorICAgICAgICAgICAgICAgICAgICAgICAncmVjb3JkJywgJ3RyYW5zbWlzc2lvbicg
XTsKKworICB2YXIgdmFsaWRQcm9taXNlcyA9IFtdOworICB2YXIgaW52YWxpZENhdWdodCA9IDA7
CisKKyAgdmFsaWRUeXBlcy5mb3JFYWNoKHR5cGUgPT4geworICAgIHZhbGlkUHJvbWlzZXMucHVz
aChuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICAgIHR5cGU6
IHR5cGUsCisgICAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICAgIGF1
ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgIH0pKTsKKyAgfSk7CisKKyAgLy8g
dmFsaWRUeXBlcyBhcmUgdGVzdGVkIHZpYSBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKSBiZWNh
dXNlIGlmIG9uZSBvZiB0aGUKKyAgLy8gcHJvbWlzZXMgZmFpbCwgUHJvbWlzZS5hbGwoKSB3aWxs
IHJlamVjdC4gVGhpcyBtZWNoYW5pc20gY2FuJ3QgYmUgdXNlZCBmb3IKKyAgLy8gaW52YWxpZCB0
eXBlcyB3aGljaCB3aWxsIGJlIHRlc3RlZCBpbmRpdmlkdWFsbHkgYW5kIGluY3JlbWVudCBpbnZh
bGlkQ2F1Z2h0CisgIC8vIHdoZW4gcmVqZWN0ZWQgdW50aWwgdGhlIGFtb3VudCBvZiByZWplY3Rp
b24gbWF0Y2hlcyB0aGUgZXhwZWN0YXRpb24uCisgIFByb21pc2UuYWxsKHZhbGlkUHJvbWlzZXMp
LnRoZW4odC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW52YWxp
ZFR5cGVzLmxlbmd0aDsgKytpKSB7CisgICAgICBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvKHsKKyAgICAgICAgdHlwZTogaW52YWxpZFR5cGVzW2ldLAorICAgICAgICB2
aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICAgICAgYXVkaW86IG1pbmltYWxB
dWRpb0NvbmZpZ3VyYXRpb24sCisgICAgICB9KS50aGVuKHQudW5yZWFjaGVkX2Z1bmMoKSwgdC5z
dGVwX2Z1bmMoZSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZS5uYW1lLCAnVHlwZUVycm9y
Jyk7CisgICAgICAgICsraW52YWxpZENhdWdodDsKKyAgICAgICAgaWYgKGludmFsaWRDYXVnaHQg
PT0gaW52YWxpZFR5cGVzLmxlbmd0aCkKKyAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0pKTsK
KyAgICB9CisgIH0pLCB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlLmFsbCBzaG91bGQgbm90IHJl
amVjdCBmb3IgdmFsaWQgdHlwZXMnKSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUi
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBhdWRp
b0NvbmZpZ3VyYXRpb25XaXRoU3BhdGlhbFJlbmRlcmluZywKKyAgfSkudGhlbihhYmlsaXR5ID0+
IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4i
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVh
biIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCAi
b2JqZWN0Iik7CisgIH0pOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gd2l0aCBzcGF0aWFs
UmVuZGVyaW5nIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVj
dHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB2
aWRlb0NvbmZpZ3VyYXRpb25XaXRoRHluYW1pY1JhbmdlLAorICB9KS50aGVuKGFiaWxpdHkgPT4g
eworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIp
OworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOwor
ICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFu
Iik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5rZXlTeXN0ZW1BY2Nlc3MsICJv
YmplY3QiKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIGhkck1ldGFk
YXRhVHlwZSwgY29sb3JHYW11dCwgYW5kIHRyYW5zZmVyRnVuY3Rpb24gc2V0IHJldHVybnMgYSB2
YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyIpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAg
dmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAw
LjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBi
aXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICAgIGhkck1ldGFkYXRhVHlw
ZTogIiIKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhbiBlbXB0eSBoZHJNZXRhZGF0YVR5cGUi
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVv
L3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQs
CisgICAgICBjb2xvckdhbXV0OiB0cnVlCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBjb2xv
ckdhbXV0IHNldCB0byB0cnVlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6IDI0LAorICAgICAgdHJhbnNmZXJGdW5jdGlvbjogMworICAgIH0sCisg
IH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gaGFzIGEgdHJhbnNmZXJGdW5jdGlvbiBzZXQgdG8gMyIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVj
b2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjgwZjIyMGZl
YmViY2Q2YWE4NGY3YTBiMDdlMGZiMjNmNzg2NzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9k
ZWNvZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMSBAQAorCitG
QUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBhIGNv
bmZpZ3VyYXRpb24gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxpZCB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBlIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVs
ZCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJh
dGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0
byAwIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQg
dG8gSW5maW5pdHkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
ZG9lc24ndCBwYXJzZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlw
ZSBpc24ndCBvZiB0eXBlIHZpZGVvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNv
bnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNv
ZGVjcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgeC8wIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAv
eSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRl
IGluIHRoZSBmb3JtIG9mIHgvLXkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8g
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkg
cmVqZWN0cyBmcmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycyB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UgdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBh
dWRpbyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9y
ZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNv
bnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzIHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFs
aWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmln
dXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
bycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gd2l0aCBzcGF0aWFsUmVuZGVyaW5nIHNl
dCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggaGRyTWV0
YWRhdGFUeXBlLCBjb2xvckdhbXV0LCBhbmQgdHJhbnNmZXJGdW5jdGlvbiBzZXQgcmV0dXJucyBh
IHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBj
b25maWd1cmF0aW9uIGhhcyBhbiBlbXB0eSBoZHJNZXRhZGF0YVR5cGUgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgY29sb3JHYW11dCBzZXQgdG8gdHJ1ZSB1bmRlZmluZWQg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSB0cmFuc2ZlckZ1bmN0aW9uIHNldCB0byAzIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZv
LmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCAr
MSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3Ry
dWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9kZWNvZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
MWM2N2I3ZTY1NDM2NGRiYmExNjljZTYyMTExODQ4MWYwYjExNzRmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBA
QAorCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJh
dGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5l
Z2F0aXZlIGZyYW1lcmF0ZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBo
YXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0
IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250
ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1
ZGlvCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2Fw
YWJpbGl0aWVzSW5mbyBvYmplY3RzCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJu
cyBzdXBwb3J0ZWQsIHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Ig
bm9uLXdlYnJ0YyB2aWRlbyBjb250ZW50IHR5cGUuCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmV0dXJucyBzdXBwb3J0ZWQsIHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBm
YWxzZSBmb3Igbm9uLXdlYnJ0YyBhdWRpbyBjb250ZW50IHR5cGUuCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL29w
dXMgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMg
YXVkaW8vSVNBQyByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQor
UEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRo
ZSBjb2RlYyBhdWRpby9HNzIyIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxp
dGllcygpCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1
ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL1BDTVUgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0
Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBv
cnRlZCB0cnVlIGZvciB0aGUgY29kZWMgYXVkaW8vUENNQSByZXR1cm5lZCBieSBSVENSdHBSZWNl
aXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVy
bnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBsZXZlbC1hc3ltbWV0
cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NjQwYzFm
IHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZp
ZGVvL0gyNjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7
cHJvZmlsZS1sZXZlbC1pZD00MmUwMWYgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2Fw
YWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRl
ZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9
MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MGMxZiByZXR1cm5lZCBi
eSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBs
ZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2
ZWwtaWQ9NDJlMDFmIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygp
CitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3Ig
dGhlIGNvZGVjIHZpZGVvL0gyNjUgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJp
bGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0
cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vVlA4IHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdl
dENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBw
b3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL1ZQOTsgcHJvZmlsZS1pZD0wIHJldHVybmVk
IGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL1ZQOTsg
cHJvZmlsZS1pZD0yIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygp
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2Rl
Y29kaW5nSW5mby53ZWJydGMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjgzOTU2MTAwNjk3MDY5NGFkNTRl
ODZhMDYxM2Q4YzJjZmJiMjVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZv
LndlYnJ0Yy5odG1sCkBAIC0wLDAgKzEsMjE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5N
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oKSBmb3Igd2VicnRjPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisv
LyBNaW5pbWFsIFZpZGVvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3Bl
Yy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgorY29uc3QgbWluaW1h
bFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2aWRlby9WUDk7IHByb2Zp
bGUtbGV2ZWw9IjAiJywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2MDAsCisgIGJpdHJhdGU6
IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5pbWFsIEF1ZGlvQ29uZmlndXJh
dGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9w
ZXJ0aWVzIGFyZSBtaXNzaW5nLgorY29uc3QgbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiA9IHsK
KyAgY29udGVudFR5cGU6ICdhdWRpby9vcHVzJywKK307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICB9KSk7
Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9u
IGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywK
KyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby9WUDknLAorICAgICAgd2lk
dGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAg
IGZyYW1lcmF0ZTogLTEsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFt
ZXJhdGUiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBl
OiAndmlkZW8vVlA5IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAwLAorICAgIH0sCisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZp
ZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOSInLAorICAgICAgd2lkdGg6IDgw
MCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1l
cmF0ZTogSW5maW5pdHksCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0
IHRvIEluZmluaXR5Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2Vf
cmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250
ZW50VHlwZTogJ2ZnZW9hJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwK
KyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0p
KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAg
ICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdhdWRpby9mZ2VvYScsCisgICAgICB3aWR0
aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAg
ZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9m
IHR5cGUgdmlkZW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6
ICdmZ2VvYScgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBl
RXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5
cGU6ICd3ZWJydGMnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0s
CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlv
IGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVv
Q29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAg
fSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnN1
cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnNt
b290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnBvd2Vy
RWZmaWNpZW50LCAiYm9vbGVhbiIpOworICB9KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyIpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29u
dGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdp
ZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAg
ICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3Vy
YXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHku
c3VwcG9ydGVkKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2Vy
dF9mYWxzZShhYmlsaXR5LnBvd2VyRWZmaWNpZW50KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQg
c2V0IHRvIGZhbHNlIGZvciBub24td2VicnRjIHZpZGVvIGNvbnRlbnQgdHlwZS4iKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IG1pbmltYWxWaWRl
b0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8v
d2VibTsgY29kZWNzPSJvcHVzIicsCisgICAgfSwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAg
ICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zdXBwb3J0ZWQpOworICAgIGFzc2VydF9mYWxzZShhYmls
aXR5LnNtb290aCk7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkucG93ZXJFZmZpY2llbnQpOwor
ICB9KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkLCBzbW9v
dGgsIGFuZCBwb3dlckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMgYXVkaW8g
Y29udGVudCB0eXBlLiIpOworCitjb25zdCB2YWxpZEF1ZGlvQ29kZWNzID0gKCgpID0+IHsKKyAg
Ly8gU29tZSBjb2RlY3MgdGhhdCBhcmUgcmV0dXJuZWQgYnkgZ2V0Q2FwYWJpbGl0aWVzKCkgYXJl
IG5vdCByZWFsIGNvZGVjcywKKyAgLy8gZXhjbHVkZSB0aGVzZSBmcm9tIHRoZSB0ZXN0LgorICBj
b25zdCBleGNsdWRlTGlzdCA9IFsgJ2F1ZGlvL0NOJywgJ2F1ZGlvL3RlbGVwaG9uZS1ldmVudCcs
ICdhdWRpby9yZWQnIF07CisgIGNvbnN0IGF1ZGlvQ29kZWNzID0gW107CisgIFJUQ1J0cFJlY2Vp
dmVyLmdldENhcGFiaWxpdGllcygiYXVkaW8iKVsnY29kZWNzJ10uZm9yRWFjaChjb2RlYyA9PiB7
CisgICAgaWYgKGV4Y2x1ZGVMaXN0LmluZGV4T2YoY29kZWMubWltZVR5cGUpIDwgMCAmJgorICAg
ICAgICBhdWRpb0NvZGVjcy5pbmRleE9mKGNvZGVjLm1pbWVUeXBlKSA8IDApIHsKKyAgICAgIGF1
ZGlvQ29kZWNzLnB1c2goY29kZWMubWltZVR5cGUpOworICAgIH0KKyAgfSk7CisgIHJldHVybiBh
dWRpb0NvZGVjczsKK30pKCk7CisKK3ZhbGlkQXVkaW9Db2RlY3MuZm9yRWFjaChjb2RlYyA9PiB7
CisgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIGF1ZGlvOiB7Cisg
ICAgICBjb250ZW50VHlwZTogY29kZWMKKyAgICB9CisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7Cisg
ICAgYXNzZXJ0X3RydWUoYWJpbGl0eS5zdXBwb3J0ZWQpOworICB9KTsKK30sICJUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyAiICsgY29k
ZWMgKyAiIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpIil9Cisp
OworCitjb25zdCB2YWxpZFZpZGVvQ29kZWNzID0gKCgpID0+IHsKKyAgLy8gU29tZSBjb2RlY3Mg
dGhhdCBhcmUgcmV0dXJuZWQgYnkgZ2V0Q2FwYWJpbGl0aWVzKCkgYXJlIG5vdCByZWFsIGNvZGVj
cyBidXQKKyAgLy8gb25seSB1c2VkIGZvciBlcnJvciBjb3JyZWN0aW9uLCBleGNsdWRlIHRoZXNl
IGZyb20gdGhlIHRlc3QuCisgIGNvbnN0IGV4Y2x1ZGVMaXN0ID0gWyAndmlkZW8vcnR4JywgJ3Zp
ZGVvL3JlZCcsICd2aWRlby91bHBmZWMnLAorICAgICAgICAgICAgICAgICAgICAgICd2aWRlby9m
bGV4ZmVjLTAzJyBdOworICBjb25zdCB2aWRlb0NvZGVjcyA9IFtdOworCisgIFJUQ1J0cFJlY2Vp
dmVyLmdldENhcGFiaWxpdGllcygidmlkZW8iKVsnY29kZWNzJ10uZm9yRWFjaChjb2RlYyA9PiB7
CisgICAgaWYgKGV4Y2x1ZGVMaXN0LmluZGV4T2YoY29kZWMubWltZVR5cGUpIDwgMCkgeworICAg
ICAgbGV0IG1pbWVUeXBlID0gY29kZWMubWltZVR5cGU7CisgICAgICBpZiAoJ3NkcEZtdHBMaW5l
JyBpbiBjb2RlYykgeworICAgICAgICBtaW1lVHlwZSArPSAiOyAiICsgY29kZWMuc2RwRm10cExp
bmU7CisgICAgICB9CisgICAgICBpZiAoIShtaW1lVHlwZSBpbiB2aWRlb0NvZGVjcykpIHsKKyAg
ICAgICAgdmlkZW9Db2RlY3MucHVzaChtaW1lVHlwZSk7CisgICAgICB9CisgICAgfQorICB9KTsK
KyAgcmV0dXJuIHZpZGVvQ29kZWNzOworfSkoKTsKKwordmFsaWRWaWRlb0NvZGVjcy5mb3JFYWNo
KGNvZGVjID0+IHsKKyAgcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAg
dmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiBjb2RlYywKKyAgICAgIHdpZHRoOiA4MDAsCisg
ICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6
IDI0LAorICAgIH0KKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZShhYmls
aXR5LnN1cHBvcnRlZCk7CisgIH0pOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJu
cyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjICIgKyBjb2RlYyArICIgcmV0dXJuZWQgYnkg
UlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkiKX0KKyk7CisKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MzdhYTFjYWYzMGNiMzM5NDI3OWY2NmJiYTMyOGM1M2JjNjE0YzZkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygp
IHdpdGggYSBrZXlTeXN0ZW1Db25maWd1cmF0aW9uIGZhaWxzIG9uIGEgbm9uLXNlY3VyZSBjb250
ZXh0LiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9F
bmNyeXB0ZWRNZWRpYS5odHRwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRp
YS5odHRwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjY3YjIzNDMxYjdmZGYzYmFmM2Q0ODQzZDY4Nzc4YmIx
Y2MxNWM4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0VuY3J5cHRlZE1l
ZGlhLmh0dHAuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5N
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oKSBmb3IgZW5jcnlwdGVkIG1lZGlhIChub24t
c2VjdXJlIGNvbnRleHQpPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisvLyBNaW5pbWFsIFZpZGVvQ29uZmlndXJhdGlv
biB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0
aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNv
bnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgIHdpZHRo
OiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6IDI0
LAorfTsKKworLy8gTWluaW1hbCBNZWRpYUNhcGFiaWxpdGllc0tleVN5c3RlbUNvbmZpZ3VyYXRp
b24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyCisvLyBzcGVjLiBBbGwgb3B0aW9uYWwgcHJvcGVy
dGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiA9IHsK
KyAga2V5U3lzdGVtOiAnb3JnLnczLmNsZWFya2V5JworfTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAnU2VjdXJpdHlFcnJvcicsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywK
KyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25m
aWd1cmF0aW9uOiBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiwKKyAgfSkpOworfSwgIlRl
c3QgdGhhdCBkZWNvZGluZ0luZm8oKSB3aXRoIGEga2V5U3lzdGVtQ29uZmlndXJhdGlvbiBmYWls
cyBvbiBhIG5vbi1zZWN1cmUgY29udGV4dC4iKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjdlOWFhYTRhZDkwMDkwYjBkNzIwZDFkOWY0MTc5MzRhZDcxM2IzMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0VuY3J5cHRlZE1lZGlhLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE4IEBACisKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGFjY2Vw
dHMgYSBzdHViIGtleSBzeXN0ZW0gY29uZmlndXJhdGlvbiAody92aWRlbykuCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8oKSBhY2NlcHRzIGEgc3R1YiBrZXkgc3lzdGVtIGNvbmZpZ3VyYXRp
b24gKHcvYXVkaW8pLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0cyBhIGtl
eSBzeXN0ZW0gY29uZmlndXJhdGlvbiB3aXRoIHZpZGVvIGluZm8uCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8oKSBhY2NlcHRzIGEga2V5IHN5c3RlbSBjb25maWd1cmF0aW9uIHdpdGggYXVk
aW8gaW5mby4KK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgcm9idXN0
bmVzcyBhbmQgY29uZmlndXJhdGlvbiBkbyBub3QgbWF0Y2ggKDEpLiBhc3NlcnRfdW5yZWFjaGVk
OiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiByb2J1c3RuZXNzIGFu
ZCBjb25maWd1cmF0aW9uIGRvIG5vdCBtYXRjaCAoMikuIGFzc2VydF91bnJlYWNoZWQ6IFNob3Vs
ZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlM
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIHJvYnVzdG5lc3MgYW5kIGNvbmZp
Z3VyYXRpb24gZG8gbm90IG1hdGNoICgzKS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUg
cmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgcGVyc2lzdGVudFN0YXRlIGlzbid0IHZhbGlk
LiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0
cyBpZiBkaXN0aW5jdGl2ZUlkZW50aWZpZXIgaXNuJ3QgdmFsaWQuIGFzc2VydF91bnJlYWNoZWQ6
IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIHNlc3Npb25UeXBlcyBp
c24ndCBhIHNlcXVlbmNlLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDog
dW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvKCkgZG9lcyBub3QgcmVqZWN0IHdoZW4gcHJvcGVydGllcyBhcmUgc2V0IHRvIHVuZXhw
ZWN0ZWQgdmFsdWVzLgorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgYSB2YWxp
ZCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyBvYmplY3RzIHdpdGggZW5jcnlwdGVkIG1l
ZGlhIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIK
K0ZBSUwgVGVzdCB0aGF0IHJhbmRvbSBrZXkgc3lzdGVtcyBhcmUgcmVwb3J0ZWQgYXMgbm9uIHN1
cHBvcnRlZC4gYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBUZXN0
IHRoYXQga2V5U3lzdGVtQWNjZXNzIGlzIG9ubHkgbnVsbCB3aGVuIG5vdCBzdXBwb3J0ZWQgaWYg
a2V5U3lzdGVtQ29uZmlndXJhdGlvbiB3YXMgdXNlZC4KK0ZBSUwgVGVzdCB0aGF0IHN1cHBvcnRl
ZD1mYWxzZSB3aGVuIGtleVN5c3RlbUNvbmZpZ3VyYXRpb24gaXMgdW5zdXBwb3J0ZWQuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHdpdGggdHlwZSB3ZWJydGMgcmVq
ZWN0cyBrZXkgc3lzdGVtIGNvbmZpZ3VyYXRpb24uIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBo
YXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0VuY3J5cHRlZE1lZGlhLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhYzkx
NGRlODlkZGMwZjdiZWUwMTY5YTdjN2NlZTA0YWIyNjFmMmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwcy5odG1sCkBAIC0wLDAgKzEsMjYy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5NZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oKSBmb3IgZW5jcnlwdGVkIG1lZGlhPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2ls
bCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1p
c3NpbmcuCit2YXIgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6
ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwKKyAg
aGVpZ2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisv
LyBNaW5pbWFsIEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3Bl
Yy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxB
dWRpb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNz
PSJvcHVzIicsCit9OworCisvLyBNaW5pbWFsIE1lZGlhQ2FwYWJpbGl0aWVzS2V5U3lzdGVtQ29u
ZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIKKy8vIHNwZWMuIEFsbCBvcHRpb25h
bCBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxLZXlTeXN0ZW1Db25maWd1cmF0
aW9uID0geworICBrZXlTeXN0ZW06ICdvcmcudzMuY2xlYXJrZXknLAorfTsKKworLy8gQ29uZmln
IHdpdGggYm9ndXMgbmFtZSBub3QgcHJvdmlkZWQgYnkgYW55IFVBLgordmFyIGJvZ3VzS2V5U3lz
dGVtQ29uZmlndXJhdGlvbiA9IHsKKyAga2V5U3lzdGVtOiAnYm9ndXMnLAorfTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25m
aWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IG1pbmltYWxLZXlTeXN0ZW1D
b25maWd1cmF0aW9uLAorICB9KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0
cyBhIHN0dWIga2V5IHN5c3RlbSBjb25maWd1cmF0aW9uICh3L3ZpZGVvKS4iKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25m
aWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IG1pbmltYWxLZXlTeXN0ZW1D
b25maWd1cmF0aW9uLAorICB9KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0
cyBhIHN0dWIga2V5IHN5c3RlbSBjb25maWd1cmF0aW9uICh3L2F1ZGlvKS4iKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25m
aWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3Rl
bTogJ29yZy53My5jbGVhcmtleScsCisgICAgICB2aWRlbzogeworICAgICAgICByb2J1c3RuZXNz
OiAnJywKKyAgICAgIH0sCisgICAgfSwKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5m
bygpIGFjY2VwdHMgYSBrZXkgc3lzdGVtIGNvbmZpZ3VyYXRpb24gd2l0aCB2aWRlbyBpbmZvLiIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVkaW86IG1pbmlt
YWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAg
ICAga2V5U3lzdGVtOiAnb3JnLnczLmNsZWFya2V5JywKKyAgICAgIGF1ZGlvIDogeworICAgICAg
ICByb2J1c3RuZXNzOiAnJywKKyAgICAgIH0sCisgICAgfSwKKyAgfSk7Cit9LCAiVGVzdCB0aGF0
IGRlY29kaW5nSW5mbygpIGFjY2VwdHMgYSBrZXkgc3lzdGVtIGNvbmZpZ3VyYXRpb24gd2l0aCBh
dWRpbyBpbmZvLiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZp
Z3VyYXRpb24sCisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVt
OiAnb3JnLnczLmNsZWFya2V5JywKKyAgICAgIHZpZGVvOiB7CisgICAgICAgIHJvYnVzdG5lc3M6
ICcnLAorICAgICAgfSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5m
bygpIHJlamVjdHMgaWYgcm9idXN0bmVzcyBhbmQgY29uZmlndXJhdGlvbiBkbyBub3QgbWF0Y2gg
KDEpLiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRp
b24sCisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVtOiAnb3Jn
LnczLmNsZWFya2V5JywKKyAgICAgIGF1ZGlvIDogeworICAgICAgICByb2J1c3RuZXNzOiAnJywK
KyAgICAgIH0sCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBy
ZWplY3RzIGlmIHJvYnVzdG5lc3MgYW5kIGNvbmZpZ3VyYXRpb24gZG8gbm90IG1hdGNoICgyKS4i
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAor
ICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5j
bGVhcmtleScsCisgICAgICBhdWRpbyA6IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAg
ICB9LAorICAgICAgdmlkZW86IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAor
ICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiBy
b2J1c3RuZXNzIGFuZCBjb25maWd1cmF0aW9uIGRvIG5vdCBtYXRjaCAoMykuIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdm
aWxlJywKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgICB2aWRlbzog
bWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25maWd1cmF0aW9uOiB7
CisgICAgICBrZXlTeXN0ZW06ICdvcmcudzMuY2xlYXJrZXknLAorICAgICAgYXVkaW8gOiB7Cisg
ICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAgIHZpZGVvOiB7CisgICAgICAg
IHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAgIHBlcnNpc3RlbnRTdGF0ZTogImZvb2Jh
ciIsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3Rz
IGlmIHBlcnNpc3RlbnRTdGF0ZSBpc24ndCB2YWxpZC4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1
ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9D
b25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5
c3RlbTogJ29yZy53My5jbGVhcmtleScsCisgICAgICBhdWRpbyA6IHsKKyAgICAgICAgcm9idXN0
bmVzczogJycsCisgICAgICB9LAorICAgICAgdmlkZW86IHsKKyAgICAgICAgcm9idXN0bmVzczog
JycsCisgICAgICB9LAorICAgICAgZGlzdGluY3RpdmVJZGVudGlmaWVyOiAiZm9vYmFyIiwKKyAg
ICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgZGlz
dGluY3RpdmVJZGVudGlmaWVyIGlzbid0IHZhbGlkLiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVk
aW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0Nv
bmZpZ3VyYXRpb24sCisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lz
dGVtOiAnb3JnLnczLmNsZWFya2V5JywKKyAgICAgIGF1ZGlvIDogeworICAgICAgICByb2J1c3Ru
ZXNzOiAnJywKKyAgICAgIH0sCisgICAgICB2aWRlbzogeworICAgICAgICByb2J1c3RuZXNzOiAn
JywKKyAgICAgIH0sCisgICAgICBzZXNzaW9uVHlwZXM6ICJmb29iYXIiLAorICAgIH0sCisgIH0p
KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiBzZXNzaW9uVHlwZXMg
aXNuJ3QgYSBzZXF1ZW5jZS4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUn
LAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgIHZpZGVvOiBtaW5p
bWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IHsKKyAg
ICAgIGtleVN5c3RlbToge30sCisgICAgICBpbml0RGF0YVR5cGU6IHt9LAorICAgICAgYXVkaW8g
OiB7CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAgIHZpZGVvOiB7Cisg
ICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICB9LAorICB9KTsKK30sICJUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvKCkgZG9lcyBub3QgcmVqZWN0IHdoZW4gcHJvcGVydGllcyBhcmUg
c2V0IHRvIHVuZXhwZWN0ZWQgdmFsdWVzLiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAnZmlsZScsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVk
aW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlv
bjogbWluaW1hbEtleVN5c3RlbUNvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7
CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7
CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4i
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LmtleVN5c3RlbUFjY2VzcywgIm9i
amVjdCIpOworICB9KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgYSB2YWxp
ZCBNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbyBvYmplY3RzIHdpdGggZW5jcnlwdGVkIG1l
ZGlhIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzog
bWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25maWd1cmF0aW9uOiB7
CisgICAgICBrZXlTeXN0ZW06ICdmb29iYXInLAorICAgICAgdmlkZW86IHsKKyAgICAgICAgcm9i
dXN0bmVzczogJycsCisgICAgICB9LAorICAgIH0KKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAg
ICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zdXBwb3J0ZWQpOworICAgIGFzc2VydF9mYWxzZShhYmls
aXR5LnNtb290aCk7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkucG93ZXJFZmZpY2llbnQpOwor
ICAgIGFzc2VydF9lcXVhbHMoYWJpbGl0eS5rZXlTeXN0ZW1BY2Nlc3MsIG51bGwpOworICB9KTsK
K30sICJUZXN0IHRoYXQgcmFuZG9tIGtleSBzeXN0ZW1zIGFyZSByZXBvcnRlZCBhcyBub24gc3Vw
cG9ydGVkLiIpOworCisvLyBUT0RPKG1sYW1vdXJpKTogdGhpcyB0ZXN0IGNvdWxkIGJlIHNwbGl0
IGluIHR3byB0ZXN0cyBmb3Igd2hpY2ggY29kZWMgc3VwcG9ydAorLy8gYWNyb3NzIGJyb3dzZXJz
IGlzIHdpZGVseSBjb21wYXRpYmxlOiBvbmUgd2hlbiBhbGwgYnJvd3NlcnMgd291bGRuJ3Qgc3Vw
cG9ydAorLy8gYW5kIG9uZSB3aGVyZSBhbGwgYnJvd3NlcnMgZG8gc3VwcG9ydC4gVGhlIGN1cnJl
bnQgYXBwcm9hY2ggaXMgdG8gY2hlY2sgdGhhdAorLy8gdGhlIGFuc3dlciBpcyBjb25zaXN0ZW50
IHRvIHRoZSBzcGVjLgorcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZp
ZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9D
b25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IG1pbmltYWxLZXlTeXN0
ZW1Db25maWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGlmIChhYmlsaXR5
LnN1cHBvcnRlZCkKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKGFiaWxpdHkua2V5U3lzdGVtQWNj
ZXNzLCBudWxsKTsKKyAgICBlbHNlCisgICAgICBhc3NlcnRfZXF1YWxzKGFiaWxpdHkua2V5U3lz
dGVtQWNjZXNzLCBudWxsKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGtleVN5c3RlbUFjY2VzcyBp
cyBvbmx5IG51bGwgd2hlbiBub3Qgc3VwcG9ydGVkIGlmIGtleVN5c3RlbUNvbmZpZ3VyYXRpb24g
d2FzIHVzZWQuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2
aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlv
Q29uZmlndXJhdGlvbiwKKyAgICAvLyBTdXBwbHkgYm9ndXMgY29uZmlnIHRvIHJlbGlhYmx5IHJl
c3VsdCBpbiBhIG51bGwga2V5U3lzdGVtQWNjZXNzLgorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRp
b246IGJvZ3VzS2V5U3lzdGVtQ29uZmlndXJhdGlvbiwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsK
KyAgICBhc3NlcnRfZXF1YWxzKGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCBudWxsKTsKKyAgICBh
c3NlcnRfZmFsc2UoYWJpbGl0eS5zdXBwb3J0ZWQpOworICB9KTsKK30sICJUZXN0IHRoYXQgc3Vw
cG9ydGVkPWZhbHNlIHdoZW4ga2V5U3lzdGVtQ29uZmlndXJhdGlvbiBpcyB1bnN1cHBvcnRlZC4i
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24s
CisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogbWluaW1hbEtleVN5c3RlbUNvbmZpZ3VyYXRp
b24sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgd2l0aCB0eXBlIHdlYnJ0
YyByZWplY3RzIGtleSBzeXN0ZW0gY29uZmlndXJhdGlvbi4iKTsKKworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJ
bmZvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2U3NWIyN2QwZDc2MTQwYmE3MjVkYjVjYmUy
NjNmYTcyMTBiNGE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI2IEBACisKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0IGEgY29uZmlndXJhdGlvbgorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2YWxp
ZAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmln
dXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZp
ZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZy
YW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qg
b2YgdHlwZSB2aWRlbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1l
dGVyIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRl
ciB0aGF0IGlzbid0IGNvZGVjcworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAKK1BBU1MgVGVzdCB0aGF0
IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIDAveQorUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0g
b2YgLXgveQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
aW4gdGhlIGZvcm0gb2YgeC8teQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0
cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
bygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMK
K1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1
cmF0aW9uIGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qg
b2YgdHlwZSBhdWRpbworRkFJTCBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1l
dGVycyBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0
ZXIgdGhhdCBpc24ndCBjb2RlY3MKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5z
IGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0eXBlCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0
aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29k
aW5nSW5mby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMyZjBm
NWFkZDMzYTc0MGQ3OGRjOWEyMDFjMzdmOGY5N2Q5Mjg2OAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2VuY29kaW5nSW5mby5odG1sCkBAIC0wLDAgKzEsMzE4IEBACis8IURPQ1RZUEUgaHRtbD4K
Kzx0aXRsZT5NZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oKTwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworLy8g
TWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMu
IEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsVmlk
ZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0i
dnAwOS4wMC4xMC4wOCInLAorICB3aWR0aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAgYml0cmF0
ZTogMzAwMCwKKyAgZnJhbWVyYXRlOiAyNCwKK307CisKKy8vIE1pbmltYWwgV2ViUlRDIFZpZGVv
Q29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFs
CisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxXZWJydGNWaWRlb0NvbmZp
Z3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAndmlkZW8vVlA5JywKKyAgd2lkdGg6IDgwMCwK
KyAgaGVpZ2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9Owor
CisvLyBNaW5pbWFsIEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIg
c3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmlt
YWxBdWRpb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29k
ZWNzPSJvcHVzIicsCit9OworCisvLyBNaW5pbWFsIFdlYlJUQyBBdWRpb0NvbmZpZ3VyYXRpb24g
dGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGll
cyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsV2VicnRjQXVkaW9Db25maWd1cmF0aW9uID0gewor
ICBjb250ZW50VHlwZTogJ2F1ZGlvL29wdXMnLAorfTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbygpKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oe30pKTsKK30sICJUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBpc24ndCB2
YWxpZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWlu
aW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB0eXBl
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICdyZWNvcmQnLAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRl
byBmaWVsZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVj
dHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5
cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4
MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFt
ZXJhdGU6IC0xLAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRl
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3Zp
ZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAg
ICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTog
MCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJt
OyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWln
aHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IEluZmluaXR5
LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwg
VHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAg
ICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdmZ2Vv
YScsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRl
OiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGRvZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAg
ICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8vZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQs
CisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVv
L3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCI7IGZvbz0iYmFyIicsCisgICAgICB3aWR0aDog
ODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJh
bWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRo
YW4gb25lIHBhcmFtZXRlciIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBmb289ImJhciInLAorICAgICAgd2lkdGg6IDgwMCwK
KyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0
ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRl
ciB0aGF0IGlzbid0IGNvZGVjcyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAg
ICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAg
ICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAs
CisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8xMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3Zp
ZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAg
ICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTog
JzI0MDAwLzAnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LzAiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisg
ICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5
LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAg
ICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMC8xMDAwMScsCisgICAgfQorICB9
KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRo
ZSBmb3JtIG9mIDAveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29u
dGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdp
ZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAg
ICBmcmFtZXJhdGU6ICctMjQwMDAvMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhh
dCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95Iik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVv
L3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzI0
MDAwLy0xMDAwMScsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygp
IHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcs
CisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2
cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvJywKKyAgICB9Cisg
IH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4g
dGhlIGZvcm0gb2YgeC8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNv
bnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3
aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAg
ICAgZnJhbWVyYXRlOiAnMS8zeCcsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJh
Y3RlcnMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdmZ2Vv
YScgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
YXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3Jl
Y29yZCcsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICd2aWRlby9mZ2VvYScgfSwKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQn
LAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIjsg
Zm9vPSJiYXIiJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25l
IHBhcmFtZXRlcnMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6
ICdhdWRpby93ZWJtOyBmb289ImJhciInIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFz
IG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24s
CisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0
eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29s
ZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFu
Iik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJv
b2xlYW4iKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFs
aWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMgZm9yIHJlY29yZCB0eXBlIik7CisKK2Fz
eW5jX3Rlc3QodCA9PiB7CisgIHZhciB2YWxpZFR5cGVzID0gWyAncmVjb3JkJywgJ3dlYnJ0Yycg
XTsKKyAgdmFyIGludmFsaWRUeXBlcyA9IFsgdW5kZWZpbmVkLCBudWxsLCAnJywgJ2Zvb2Jhcics
ICdtc2UnLCAnTWVkaWFTb3VyY2UnLAorICAgICAgICAgICAgICAgICAgICAgICAnZmlsZScsICdt
ZWRpYS1zb3VyY2UnLCBdOworCisgIHZhciB2YWxpZFByb21pc2VzID0gW107CisgIHZhciBpbnZh
bGlkQ2F1Z2h0ID0gMDsKKworICB2YWxpZFR5cGVzLmZvckVhY2godHlwZSA9PiB7CisgICAgdmFs
aWRQcm9taXNlcy5wdXNoKG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8o
eworICAgICAgdHlwZTogdHlwZSwKKyAgICAgIHZpZGVvOiB0eXBlICE9ICJ3ZWJydGMiID8gbWlu
aW1hbFZpZGVvQ29uZmlndXJhdGlvbiA6IG1pbmltYWxXZWJydGNWaWRlb0NvbmZpZ3VyYXRpb24s
CisgICAgICBhdWRpbzogdHlwZSAhPSAid2VicnRjIiA/IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRp
b24gOiBtaW5pbWFsV2VicnRjQXVkaW9Db25maWd1cmF0aW9uLAorICAgIH0pKTsKKyAgfSk7CisK
KyAgLy8gdmFsaWRUeXBlcyBhcmUgdGVzdGVkIHZpYSBQcm9taXNlLmFsbCh2YWxpZFByb21pc2Vz
KSBiZWNhdXNlIGlmIG9uZSBvZiB0aGUKKyAgLy8gcHJvbWlzZXMgZmFpbCwgUHJvbWlzZS5hbGwo
KSB3aWxsIHJlamVjdC4gVGhpcyBtZWNoYW5pc20gY2FuJ3QgYmUgdXNlZCBmb3IKKyAgLy8gaW52
YWxpZCB0eXBlcyB3aGljaCB3aWxsIGJlIHRlc3RlZCBpbmRpdmlkdWFsbHkgYW5kIGluY3JlbWVu
dCBpbnZhbGlkQ2F1Z2h0CisgIC8vIHdoZW4gcmVqZWN0ZWQgdW50aWwgdGhlIGFtb3VudCBvZiBy
ZWplY3Rpb24gbWF0Y2hlcyB0aGUgZXhwZWN0YXRpb24uCisgIFByb21pc2UuYWxsKHZhbGlkUHJv
bWlzZXMpLnRoZW4odC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
aW52YWxpZFR5cGVzLmxlbmd0aDsgKytpKSB7CisgICAgICBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICAgICAgdHlwZTogaW52YWxpZFR5cGVzW2ldLAorICAg
ICAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICAgICAgYXVkaW86IG1p
bmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgICAgICB9KS50aGVuKHQudW5yZWFjaGVkX2Z1bmMo
KSwgdC5zdGVwX2Z1bmMoZSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZS5uYW1lLCAnVHlw
ZUVycm9yJyk7CisgICAgICAgICsraW52YWxpZENhdWdodDsKKyAgICAgICAgaWYgKGludmFsaWRD
YXVnaHQgPT0gaW52YWxpZFR5cGVzLmxlbmd0aCkKKyAgICAgICAgICB0LmRvbmUoKTsKKyAgICAg
IH0pKTsKKyAgICB9CisgIH0pLCB0LnVucmVhY2hlZF9mdW5jKCdQcm9taXNlLmFsbCBzaG91bGQg
bm90IHJlamVjdCBmb3IgdmFsaWQgdHlwZXMnKSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlk
IHR5cGUiKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2Vi
cnRjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby53ZWJydGMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE4MmI0Zjg3NmE2MjJiMDZhMWM5ZGQwZDUxNjhjNjcxOTAyM2QzZTkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDI2IEBACisKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZAor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0
IHRvIDAKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBj
b25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkKK1BBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGRvZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlk
ZW8KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlz
bid0IG9mIHR5cGUgYXVkaW8KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEg
dmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0
IHRvIGZhbHNlIGZvciBub24td2VicnRjIHZpZGVvIGNvbnRlbnQgdHlwZS4KK1BBU1MgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZp
Y2llbnQgc2V0IHRvIGZhbHNlIGZvciBub24td2VicnRjIGF1ZGlvIGNvbnRlbnQgdHlwZS4KK1BB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUg
Y29kZWMgYXVkaW8vb3B1cyByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVz
KCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZv
ciB0aGUgY29kZWMgYXVkaW8vSVNBQyByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJp
bGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0
cnVlIGZvciB0aGUgY29kZWMgYXVkaW8vRzcyMiByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0
Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBv
cnRlZCB0cnVlIGZvciB0aGUgY29kZWMgYXVkaW8vUENNVSByZXR1cm5lZCBieSBSVENSdHBTZW5k
ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5z
IHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgYXVkaW8vUENNQSByZXR1cm5lZCBieSBSVENS
dHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5
bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTY0
MGMxZiByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMg
dmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9
MTtwcm9maWxlLWxldmVsLWlkPTQyZTAxZiByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2Fw
YWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRl
ZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9
MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MGMxZiByZXR1cm5lZCBi
eSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5n
SW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2
ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVs
LWlkPTQyZTAxZiByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUg
Y29kZWMgdmlkZW8vSDI2NSByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVz
KCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZv
ciB0aGUgY29kZWMgdmlkZW8vVlA4IHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmls
aXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRy
dWUgZm9yIHRoZSBjb2RlYyB2aWRlby9WUDk7IHByb2ZpbGUtaWQ9MCByZXR1cm5lZCBieSBSVENS
dHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vVlA5OyBwcm9maWxlLWlk
PTIgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2VuY29kaW5nSW5mby53ZWJydGMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby53
ZWJydGMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTRiNzk0NGY2MTY5ZTM0ZjY3OTc5Y2UwYTk4ZmY5MTU1
NTJmNmI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy5odG1s
CkBAIC0wLDAgKzEsMjE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5NZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oKSBmb3Igd2VicnRjPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisvLyBNaW5pbWFsIFZp
ZGVvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlv
bmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgorY29uc3QgbWluaW1hbFZpZGVvQ29uZmln
dXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2aWRlby9WUDk7IHByb2ZpbGUtbGV2ZWw9IjAi
JywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZy
YW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5pbWFsIEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdp
bGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBt
aXNzaW5nLgorY29uc3QgbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5
cGU6ICdhdWRpby9vcHVzJywKK307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2
ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzog
eworICAgICAgY29udGVudFR5cGU6ICd2aWRlby9WUDknLAorICAgICAgd2lkdGg6IDgwMCwKKyAg
ICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTog
LTEsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUiKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVF
cnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vVlA5
IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRl
OiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAwLAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEg
ZnJhbWVyYXRlIHNldCB0byAwIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAg
ICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOSInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhl
aWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogSW5maW5p
dHksCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2Zn
ZW9hJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJh
dGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVy
biBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogewor
ICAgICAgY29udGVudFR5cGU6ICdhdWRpby9mZ2VvYScsCisgICAgICB3aWR0aDogODAwLAorICAg
ICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAy
NCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8i
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ3dlYnJ0YycsCisgICAgYXVkaW86IHsgY29udGVudFR5cGU6ICdmZ2VvYScgfSwK
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8g
Y29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMn
LAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCisgIH0pKTsKK30s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlv
biwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgfSkudGhlbihhYmls
aXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnN1cHBvcnRlZCwgImJv
b2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnNtb290aCwgImJvb2xl
YW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnBvd2VyRWZmaWNpZW50LCAi
Ym9vbGVhbiIpOworICB9KTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2
YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyIpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisg
ICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6
IDI0LAorICAgIH0sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0p
LnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3VwcG9ydGVkKTsK
KyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2VydF9mYWxzZShhYmls
aXR5LnBvd2VyRWZmaWNpZW50KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZXR1cm5zIHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0IHRvIGZhbHNl
IGZvciBub24td2VicnRjIHZpZGVvIGNvbnRlbnQgdHlwZS4iKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRp
b24sCisgICAgYXVkaW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNz
PSJvcHVzIicsCisgICAgfSwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZmFs
c2UoYWJpbGl0eS5zdXBwb3J0ZWQpOworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnNtb290aCk7
CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkucG93ZXJFZmZpY2llbnQpOworICB9KTsKK30sICJU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkLCBzbW9vdGgsIGFuZCBwb3dl
ckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMgYXVkaW8gY29udGVudCB0eXBl
LiIpOworCitjb25zdCB2YWxpZEF1ZGlvQ29kZWNzID0gKCgpID0+IHsKKyAgLy8gU29tZSBjb2Rl
Y3MgdGhhdCBhcmUgcmV0dXJuZWQgYnkgZ2V0Q2FwYWJpbGl0aWVzKCkgYXJlIG5vdCByZWFsIGNv
ZGVjcywKKyAgLy8gZXhjbHVkZSB0aGVzZSBmcm9tIHRoZSB0ZXN0LgorICBjb25zdCBleGNsdWRl
TGlzdCA9IFsgJ2F1ZGlvL0NOJywgJ2F1ZGlvL3RlbGVwaG9uZS1ldmVudCcsICdhdWRpby9yZWQn
IF07CisgIGNvbnN0IGF1ZGlvQ29kZWNzID0gW107CisgIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmls
aXRpZXMoImF1ZGlvIilbJ2NvZGVjcyddLmZvckVhY2goY29kZWMgPT4geworICAgIGlmIChleGNs
dWRlTGlzdC5pbmRleE9mKGNvZGVjLm1pbWVUeXBlKSA8IDAgJiYKKyAgICAgICAgYXVkaW9Db2Rl
Y3MuaW5kZXhPZihjb2RlYy5taW1lVHlwZSkgPCAwKSB7CisgICAgICBhdWRpb0NvZGVjcy5wdXNo
KGNvZGVjLm1pbWVUeXBlKTsKKyAgICB9CisgIH0pOworICByZXR1cm4gYXVkaW9Db2RlY3M7Cit9
KSgpOworCit2YWxpZEF1ZGlvQ29kZWNzLmZvckVhY2goY29kZWMgPT4geworICBwcm9taXNlX3Rl
c3QodCA9PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICBhdWRpbzogeworICAgICAgY29udGVudFR5
cGU6IGNvZGVjCisgICAgfQorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF90cnVl
KGFiaWxpdHkuc3VwcG9ydGVkKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgIiArIGNvZGVjICsgIiByZXR1cm5l
ZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkiKX0KKyk7CisKK2NvbnN0IHZhbGlk
VmlkZW9Db2RlY3MgPSAoKCkgPT4geworICAvLyBTb21lIGNvZGVjcyB0aGF0IGFyZSByZXR1cm5l
ZCBieSBnZXRDYXBhYmlsaXRpZXMoKSBhcmUgbm90IHJlYWwgY29kZWNzIGJ1dAorICAvLyBvbmx5
IHVzZWQgZm9yIGVycm9yIGNvcnJlY3Rpb24sIGV4Y2x1ZGUgdGhlc2UgZnJvbSB0aGUgdGVzdC4K
KyAgY29uc3QgZXhjbHVkZUxpc3QgPSBbICd2aWRlby9ydHgnLCAndmlkZW8vcmVkJywgJ3ZpZGVv
L3VscGZlYycsCisgICAgICAgICAgICAgICAgICAgICAgJ3ZpZGVvL2ZsZXhmZWMtMDMnIF07Cisg
IGNvbnN0IHZpZGVvQ29kZWNzID0gW107CisKKyAgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGll
cygidmlkZW8iKVsnY29kZWNzJ10uZm9yRWFjaChjb2RlYyA9PiB7CisgICAgaWYgKGV4Y2x1ZGVM
aXN0LmluZGV4T2YoY29kZWMubWltZVR5cGUpIDwgMCkgeworICAgICAgbGV0IG1pbWVUeXBlID0g
Y29kZWMubWltZVR5cGU7CisgICAgICBpZiAoJ3NkcEZtdHBMaW5lJyBpbiBjb2RlYykgeworICAg
ICAgICBtaW1lVHlwZSArPSAiOyAiICsgY29kZWMuc2RwRm10cExpbmU7CisgICAgICB9CisgICAg
ICBpZiAoIShtaW1lVHlwZSBpbiB2aWRlb0NvZGVjcykpIHsKKyAgICAgICAgdmlkZW9Db2RlY3Mu
cHVzaChtaW1lVHlwZSk7CisgICAgICB9CisgICAgfQorICB9KTsKKyAgcmV0dXJuIHZpZGVvQ29k
ZWNzOworfSkoKTsKKwordmFsaWRWaWRlb0NvZGVjcy5mb3JFYWNoKGNvZGVjID0+IHsKKyAgcHJv
bWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNv
bnRlbnRUeXBlOiBjb2RlYywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwK
KyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0KKyAgfSku
dGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZShhYmlsaXR5LnN1cHBvcnRlZCk7Cisg
IH0pOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBm
b3IgdGhlIGNvZGVjICIgKyBjb2RlYyArICIgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENh
cGFiaWxpdGllcygpIil9CispOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhh
cm5lc3MuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yOTRjM2NjOTE5NmMwMzY0OTZkZTVjYzg1ZWEzMWFmMGU1YzQ2MWQ5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzkgQEAKKworUEFTUyBpZGxoYXJuZXNzCitQQVNTIGlkbF90ZXN0IHNldHVwCitQQVNT
IGlkbF90ZXN0IHZhbGlkYXRpb24KK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiBv
cmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0
b3I6IHZhbGlkIGV4cG9zdXJlIHNldAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5h
dmlnYXRvcjogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQKK1BBU1MgUGFydGlhbCBpbnRlcmZh
Y2UgV29ya2VyTmF2aWdhdG9yOiB2YWxpZCBleHBvc3VyZSBzZXQKK1BBU1MgUGFydGlhbCBpbnRl
cmZhY2UgV29ya2VyTmF2aWdhdG9yOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBQYXJ0
aWFsIGludGVyZmFjZSBtaXhpbiBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUK
K1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0
b3JDb250ZW50VXRpbHM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBp
bmNsdWRlcyBOYXZpZ2F0b3JDb29raWVzOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBO
YXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yUGx1Z2luczogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5h
dmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3Ig
aW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNT
IFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJy
ZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE1lZGlhQ2FwYWJpbGl0
aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1Mg
TWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIE1lZGlhQ2FwYWJp
bGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0CitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBvcGVy
YXRpb24gZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKQorUEFTUyBNZWRp
YUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBlbmNvZGluZ0luZm8oTWVkaWFFbmNv
ZGluZ0NvbmZpZ3VyYXRpb24pCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzCitQQVNTIFN0cmluZ2lm
aWNhdGlvbiBvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMKK1BBU1MgTWVkaWFDYXBhYmls
aXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxp
bmcgZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvcgorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImVuY29kaW5nSW5mbyhNZWRpYUVuY29k
aW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNTIE1lZGlhQ2FwYWJp
bGl0aWVzIGludGVyZmFjZTogY2FsbGluZyBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZp
Z3VyYXRpb24pIG9uIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBtZWRpYUNhcGFiaWxpdGllcworUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBuYXZp
Z2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2lkbGhhcm5lc3MuYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2
YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3Mu
YW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdl
YktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5h
bnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZGE1YzdkMjg0OGMy
ZGM4YTY2OWRmY2Y2MjEyMzNjNDBhMjI3YzAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRs
aGFybmVzcy5hbnkuanMKQEAgLTAsMCArMSwyNSBAQAorLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJj
ZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNz
LmpzCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLworCisn
dXNlIHN0cmljdCc7CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgIGlkbF90ZXN0KAor
ICAgIFsnbWVkaWEtY2FwYWJpbGl0aWVzJ10sCisgICAgWydodG1sJywgJ2Nzc29tLXZpZXcnXSwK
KyAgICBpZGxfYXJyYXkgPT4geworICAgICAgaWYgKHNlbGYuR0xPQkFMLmlzV29ya2VyKCkpIHsK
KyAgICAgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsgV29ya2VyTmF2aWdhdG9yOiBbJ25hdmln
YXRvciddIH0pOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgaWRsX2FycmF5LmFkZF9vYmplY3Rz
KHsgTmF2aWdhdG9yOiBbJ25hdmlnYXRvciddIH0pOworICAgICAgfQorICAgICAgaWRsX2FycmF5
LmFkZF9vYmplY3RzKHsKKyAgICAgICAgTWVkaWFDYXBhYmlsaXRpZXM6IFsnbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzJ10sCisgICAgICAgIFNjcmVlbjogWydzY3JlZW4nXSwKKyAgICAgICAg
U2NyZWVuTHVtaW5hbmNlOiBbJ3NjcmVlbi5sdW1pbmFuY2UnXSwKKyAgICAgIH0pOworICAgIH0K
KyAgKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjcwMDgyODg3MGNlMWYxNTlmNDAzMGFlYTM0YzY2Yzc4ZTE2N2E5MQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzOSBAQAorCitQQVNTIGlkbGhhcm5lc3MKK1BBU1MgaWRsX3Rlc3Qgc2V0dXAKK1BBU1Mg
aWRsX3Rlc3QgdmFsaWRhdGlvbgorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6IG9y
aWdpbmFsIGludGVyZmFjZSBkZWZpbmVkCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRv
cjogdmFsaWQgZXhwb3N1cmUgc2V0CitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvcjog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2
aWdhdG9yOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZAorUEFTUyBQYXJ0aWFsIGludGVyZmFj
ZSBXb3JrZXJOYXZpZ2F0b3I6IHZhbGlkIGV4cG9zdXJlIHNldAorUEFTUyBQYXJ0aWFsIGludGVy
ZmFjZSBXb3JrZXJOYXZpZ2F0b3I6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFBhcnRp
YWwgaW50ZXJmYWNlIG1peGluIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQor
UEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRv
ckNvbnRlbnRVdGlsczogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGlu
Y2x1ZGVzIE5hdmlnYXRvckNvb2tpZXM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5h
dmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JQbHVnaW5zOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2
aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFdvcmtlck5hdmlnYXRvciBp
bmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1Mg
V29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJl
bnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK0ZBSUwgTWVkaWFDYXBhYmlsaXRp
ZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJN
ZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBt
aXNzaW5nCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlh
Q2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3Np
bmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJp
bGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKK0ZB
SUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFiaWxpdGll
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVj
dGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFi
aWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMi
IGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRp
YUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWNvZGluZ0luZm8oTWVkaWFEZWNv
ZGluZ0NvbmZpZ3VyYXRpb24pIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVk
aWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNl
OiBvcGVyYXRpb24gZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNh
cGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5n
CitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmpl
Y3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBTdHJpbmdpZmlj
YXRpb24gb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF9lcXVhbHM6IHdyb25n
IHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJ
TCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmln
dXJhdGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVv
ZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBNZWRp
YUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxpbmcgZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2Rp
bmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0
eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwg
TWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3Vy
YXRpb24pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Yg
b2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgTWVkaWFD
YXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5n
Q29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlw
ZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIFdv
cmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYUNhcGFiaWxpdGllcyBhc3Nl
cnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm1lZGlh
Q2FwYWJpbGl0aWVzIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXb3JrZXJOYXZpZ2F0
b3IgaW50ZXJmYWNlOiBuYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtZWRpYUNhcGFi
aWxpdGllcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAi
bWVkaWFDYXBhYmlsaXRpZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNz
LmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1
MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29y
a2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdl
YktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzJlYzAxMmQyNWViMTQ3Y2Fi
OGQ2Njc5Zjg5N2ExMDgyNDc1OTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvdzNjLWltcG9y
dC5sb2cKQEAgLTAsMCArMSwyNSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9S
RUFETUUubWQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZv
LndlYnJ0Yy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cHMuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2Vu
Y29kaW5nSW5mby5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
aWRsaGFybmVzcy5hbnkuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2Fw
YWJpbGl0aWVzL21vY2stZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21l
ZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2stZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dAppbmRl
eCAzNTQyNzQxODk2M2QxMDBjNjhhMjBiNWRjMmRkMTYzNjlmZDAwZWFiLi4wN2U4MmEzNDhhNjhh
ZDMxMjY4MTE0N2U5YjkxMjdhYTI4MmEwMDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29kaW5nSW5mby1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNvZGluZ0luZm8tZXhw
ZWN0ZWQudHh0CkBAIC0xLDYzICsxLDYzIEBACiBSVU4oaW50ZXJuYWxzLmVuYWJsZU1vY2tNZWRp
YUNhcGFiaWxpdGllcygpKQogCiBTbW9vdGggYW5kIHBvd2VyIGVmZmljaWVudCA3MjBQIE1QNCBl
bmNvZGluZwotUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlk
ZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRo
OiAxMjgwLCBmcmFtZXJhdGU6IDI0LjUgfSB9KTspCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsg
Y29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCBoZWlnaHQ6IDcyMCwgYml0
cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQuNSB9IH0pOykKIFByb21pc2Ug
cmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVkID09IHRydWUgT0sKIGluZm8uc21vb3RoID09IHRy
dWUgT0sKIGluZm8ucG93ZXJFZmZpY2llbnQgPT0gdHJ1ZSBPSwogCiBOb3Qgc21vb3RoICh0b28g
aGlnaCBmcmFtZXJhdGUpIGJ1dCBwb3dlciBlZmZpY2llbnQgNzIwUCBNUDQgZW5jb2RpbmcKLVJV
Tihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5
cGU6ICd0cmFuc21pc3Npb24nLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29k
ZWNzPSJhdmMxIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJh
bWVyYXRlOiA2MC40LzIgfSB9KTspCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgY29udGVudFR5
cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAw
MCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogNjAuNC8yIH0gfSk7KQogUHJvbWlzZSByZXNvbHZl
ZCBPSwogaW5mby5zdXBwb3J0ZWQgPT0gdHJ1ZSBPSwogaW5mby5zbW9vdGggPT0gZmFsc2UgT0sK
IGluZm8ucG93ZXJFZmZpY2llbnQgPT0gdHJ1ZSBPSwogCi1VbnN1cHBvcnRlZCBwcm90b2NvbDog
UmVjb3JkCi1SVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7
IGNvZGVjcz0iYXZjMSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAs
IGZyYW1lcmF0ZTogMjQgfSB9KTspCitVbnN1cHBvcnRlZCBwcm90b2NvbDogV2ViUlRDCitSVU4o
cHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBl
OiAnd2VicnRjJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZj
MSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTog
MjQgfSB9KTspCiBQcm9taXNlIHJlc29sdmVkIE9LCiBpbmZvLnN1cHBvcnRlZCA9PSBmYWxzZSBP
SwogaW5mby5zbW9vdGggPT0gZmFsc2UgT0sKIGluZm8ucG93ZXJFZmZpY2llbnQgPT0gZmFsc2Ug
T0sKIAogVW5zdXBwb3J0ZWQgdmlkZW8gcmVzb2x1dGlvbjogMTA4MFAKLVJVTihwcm9taXNlID0g
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21p
c3Npb24nLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIics
IGhlaWdodDogMTA4MCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDE5MjAsIGZyYW1lcmF0ZTogMjQg
fSB9KTspCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7
IGNvZGVjcz0iYXZjMSInLCBoZWlnaHQ6IDEwODAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxOTIw
LCBmcmFtZXJhdGU6IDI0IH0gfSk7KQogUHJvbWlzZSByZXNvbHZlZCBPSwogaW5mby5zdXBwb3J0
ZWQgPT0gZmFsc2UgT0sKIGluZm8uc21vb3RoID09IGZhbHNlIE9LCiBpbmZvLnBvd2VyRWZmaWNp
ZW50ID09IGZhbHNlIE9LCiAKIFNtb290aCBhbmQgcG93ZXIgZWZmaWNpZW50IGF1ZGlvIE1QNCBl
bmNvZGluZwotUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVk
aW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVsczogJzInLCBiaXRyYXRlOiAxMDAw
LCBzYW1wbGVyYXRlOiA0NDEwMCB9IH0pOykKK1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250
ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJywgY2hhbm5lbHM6ICcyJywg
Yml0cmF0ZTogMTAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgfSB9KTspCiBQcm9taXNlIHJlc29sdmVk
IE9LCiBpbmZvLnN1cHBvcnRlZCA9PSB0cnVlIE9LCiBpbmZvLnNtb290aCA9PSB0cnVlIE9LCiBp
bmZvLnBvd2VyRWZmaWNpZW50ID09IHRydWUgT0sKIAogU21vb3RoIGJ1dCBwb3dlciBpbmVmZmlj
aWVudCBhdWRpbyBNUDQgZW5jb2RpbmcKLVJVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Npb24nLCBhdWRpbzogeyBj
b250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJywgY2hhbm5lbHM6ICcy
JywgYml0cmF0ZTogMjAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgfSB9KTspCitSVU4ocHJvbWlzZSA9
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3Jk
JywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIics
IGNoYW5uZWxzOiAnMicsIGJpdHJhdGU6IDIwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwIH0gfSk7KQog
UHJvbWlzZSByZXNvbHZlZCBPSwogaW5mby5zdXBwb3J0ZWQgPT0gdHJ1ZSBPSwogaW5mby5zbW9v
dGggPT0gdHJ1ZSBPSwogaW5mby5wb3dlckVmZmljaWVudCA9PSBmYWxzZSBPSwogCiBOb3Qgc21v
b3RoIGJ1dCBwb3dlciBlZmZpY2llbnQgYXVkaW8gTVA0IGVuY29kaW5nCi1SVU4ocHJvbWlzZSA9
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNt
aXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40
MC4yIicsIGNoYW5uZWxzOiAnNS4xJywgYml0cmF0ZTogMTAwMCwgc2FtcGxlcmF0ZTogNDQxMDAg
fSB9KTspCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7
IGNvZGVjcz0ibXA0YS40MC4yIicsIGNoYW5uZWxzOiAnNS4xJywgYml0cmF0ZTogMTAwMCwgc2Ft
cGxlcmF0ZTogNDQxMDAgfSB9KTspCiBQcm9taXNlIHJlc29sdmVkIE9LCiBpbmZvLnN1cHBvcnRl
ZCA9PSB0cnVlIE9LCiBpbmZvLnNtb290aCA9PSBmYWxzZSBPSwogaW5mby5wb3dlckVmZmljaWVu
dCA9PSB0cnVlIE9LCiAKIE5vdCBzbW9vdGggYW5kIHBvd2VyIGluZWZmaWNpZW50IGF1ZGlvIE1Q
NCBlbmNvZGluZwotUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAn
YXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVsczogJzUuMScsIGJpdHJhdGU6
IDIwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwIH0gfSk7KQorUlVOKHByb21pc2UgPSBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7
IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVsczog
JzUuMScsIGJpdHJhdGU6IDIwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwIH0gfSk7KQogUHJvbWlzZSBy
ZXNvbHZlZCBPSwogaW5mby5zdXBwb3J0ZWQgPT0gdHJ1ZSBPSwogaW5mby5zbW9vdGggPT0gZmFs
c2UgT0sKIGluZm8ucG93ZXJFZmZpY2llbnQgPT0gZmFsc2UgT0sKIAogVW5zdXBwb3J0ZWQgYXVk
aW8gY29kZWM6IG9nZyB2b3JiaXMKLVJVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Npb24nLCBhdWRpbzogeyBjb250
ZW50VHlwZTogJ2F1ZGlvL29nZzsgY29kZWNzPSJ2b3JiaXMiJywgY2hhbm5lbHM6ICcyJyB9IH0p
OykKK1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL29nZzsgY29k
ZWNzPSJ2b3JiaXMiJywgY2hhbm5lbHM6ICcyJyB9IH0pOykKIFByb21pc2UgcmVzb2x2ZWQgT0sK
IGluZm8uc3VwcG9ydGVkID09IGZhbHNlIE9LCiBpbmZvLnNtb290aCA9PSBmYWxzZSBPSwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNvZGlu
Z0luZm8uaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2stZW5j
b2RpbmdJbmZvLmh0bWwKaW5kZXggYjcyNGFmNmQ4M2FkYmEzMTAwZTc2ODA3Zjc0YTQ2OGMxNDY5
MDRkZi4uMGY1MGZmYzRmNjcwNzFhYzNkMmExMDE3NjBmOTRlNTI4YzExNWM1NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNvZGluZ0luZm8u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29k
aW5nSW5mby5odG1sCkBAIC0zMCw3ICszMCw3IEBACiAgICAgdGVzdHMgPSBbCiAgICAgICAgICBm
dW5jdGlvbigpIHsKICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ1Ntb290aCBhbmQgcG93ZXIg
ZWZmaWNpZW50IDcyMFAgTVA0IGVuY29kaW5nJyk7Ci0gICAgICAgICAgICAgcnVuKCJwcm9taXNl
ID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFu
c21pc3Npb24nLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPVwiYXZj
MVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6
IDI0LjUgfSB9KTsiKTsKKyAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIHZpZGVvOiB7IGNv
bnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJhdmMxXCInLCBoZWlnaHQ6IDcyMCwgYml0
cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQuNSB9IH0pOyIpOwogICAgICAg
ICAgICAgIHNob3VsZFJlc29sdmUocHJvbWlzZSkudGhlbigoaW5mbykgPT4gewogICAgICAgICAg
ICAgICAgICBjaGVja01lZGlhQ2FwYWJpbGl0aWVzSW5mbyhpbmZvLCB0cnVlLCB0cnVlLCB0cnVl
KTsKICAgICAgICAgICAgICAgICAgbmV4dCgpOwpAQCAtMzgsMTUgKzM4LDE1IEBACiAgICAgICAg
ICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCdO
b3Qgc21vb3RoICh0b28gaGlnaCBmcmFtZXJhdGUpIGJ1dCBwb3dlciBlZmZpY2llbnQgNzIwUCBN
UDQgZW5jb2RpbmcnKTsKLSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIHZpZGVv
OiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJhdmMxXCInLCBoZWlnaHQ6IDcy
MCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogNjAuNC8yIH0gfSk7Iik7
CisgICAgICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3Zp
ZGVvL21wNDsgY29kZWNzPVwiYXZjMVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdp
ZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDYwLjQvMiB9IH0pOyIpOwogICAgICAgICAgICAgIHNob3Vs
ZFJlc29sdmUocHJvbWlzZSkudGhlbigoaW5mbykgPT4gewogICAgICAgICAgICAgICAgICBjaGVj
a01lZGlhQ2FwYWJpbGl0aWVzSW5mbyhpbmZvLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAg
ICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICB9LCBuZXh0KTsKICAgICAgICAgIH0sCiAg
ICAgICAgICBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ1Vuc3VwcG9y
dGVkIHByb3RvY29sOiBSZWNvcmQnKTsKLSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIHZp
ZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJhdmMxXCInLCBoZWlnaHQ6
IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQgfSB9KTsiKTsK
KyAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ1Vuc3VwcG9ydGVkIHByb3RvY29sOiBXZWJSVEMn
KTsKKyAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3dlYnJ0YycsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAn
dmlkZW8vbXA0OyBjb2RlY3M9XCJhdmMxXCInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwg
d2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQgfSB9KTsiKTsKICAgICAgICAgICAgICBzaG91bGRS
ZXNvbHZlKHByb21pc2UpLnRoZW4oKGluZm8pID0+IHsKICAgICAgICAgICAgICAgICAgY2hlY2tN
ZWRpYUNhcGFiaWxpdGllc0luZm8oaW5mbywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CiAgICAgICAg
ICAgICAgICAgIG5leHQoKTsKQEAgLTU0LDcgKzU0LDcgQEAKICAgICAgICAgIH0sCiAgICAgICAg
ICBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ1Vuc3VwcG9ydGVkIHZp
ZGVvIHJlc29sdXRpb246IDEwODBQJyk7Ci0gICAgICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Np
b24nLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPVwiYXZjMVwiJywg
aGVpZ2h0OiAxMDgwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTkyMCwgZnJhbWVyYXRlOiAyNCB9
IH0pOyIpOworICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgY29udGVudFR5
cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1cImF2YzFcIicsIGhlaWdodDogMTA4MCwgYml0cmF0ZTog
MTAwMCwgd2lkdGg6IDE5MjAsIGZyYW1lcmF0ZTogMjQgfSB9KTsiKTsKICAgICAgICAgICAgICBz
aG91bGRSZXNvbHZlKHByb21pc2UpLnRoZW4oKGluZm8pID0+IHsKICAgICAgICAgICAgICAgICAg
Y2hlY2tNZWRpYUNhcGFiaWxpdGllc0luZm8oaW5mbywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7CiAg
ICAgICAgICAgICAgICAgIG5leHQoKTsKQEAgLTYyLDcgKzYyLDcgQEAKICAgICAgICAgIH0sCiAg
ICAgICAgICBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ1Ntb290aCBh
bmQgcG93ZXIgZWZmaWNpZW50IGF1ZGlvIE1QNCBlbmNvZGluZycpOwotICAgICAgICAgICAgIHJ1
bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0
eXBlOiAndHJhbnNtaXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNv
ZGVjcz1cIm1wNGEuNDAuMlwiJywgY2hhbm5lbHM6ICcyJywgYml0cmF0ZTogMTAwMCwgc2FtcGxl
cmF0ZTogNDQxMDAgIH0gfSk7Iik7CisgICAgICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRp
bzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPVwibXA0YS40MC4yXCInLCBjaGFu
bmVsczogJzInLCBiaXRyYXRlOiAxMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCAgfSB9KTsiKTsKICAg
ICAgICAgICAgICBzaG91bGRSZXNvbHZlKHByb21pc2UpLnRoZW4oKGluZm8pID0+IHsKICAgICAg
ICAgICAgICAgICAgY2hlY2tNZWRpYUNhcGFiaWxpdGllc0luZm8oaW5mbywgdHJ1ZSwgdHJ1ZSwg
dHJ1ZSk7CiAgICAgICAgICAgICAgICAgIG5leHQoKTsKQEAgLTcwLDcgKzcwLDcgQEAKICAgICAg
ICAgIH0sCiAgICAgICAgICBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
J1Ntb290aCBidXQgcG93ZXIgaW5lZmZpY2llbnQgYXVkaW8gTVA0IGVuY29kaW5nJyk7Ci0gICAg
ICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Npb24nLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1
ZGlvL21wNDsgY29kZWNzPVwibXA0YS40MC4yXCInLCBjaGFubmVsczogJzInLCBiaXRyYXRlOiAy
MDAwLCBzYW1wbGVyYXRlOiA0NDEwMCAgfSB9KTsiKTsKKyAgICAgICAgICAgICBydW4oInByb21p
c2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3Jl
Y29yZCcsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9XCJtcDRhLjQw
LjJcIicsIGNoYW5uZWxzOiAnMicsIGJpdHJhdGU6IDIwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwICB9
IH0pOyIpOwogICAgICAgICAgICAgIHNob3VsZFJlc29sdmUocHJvbWlzZSkudGhlbigoaW5mbykg
PT4gewogICAgICAgICAgICAgICAgICBjaGVja01lZGlhQ2FwYWJpbGl0aWVzSW5mbyhpbmZvLCB0
cnVlLCB0cnVlLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgIG5leHQoKTsKQEAgLTc4LDcgKzc4
LDcgQEAKICAgICAgICAgIH0sCiAgICAgICAgICBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoJ05vdCBzbW9vdGggYnV0IHBvd2VyIGVmZmljaWVudCBhdWRpbyBNUDQgZW5j
b2RpbmcnKTsKLSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNv
bnRlbnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9XCJtcDRhLjQwLjJcIicsIGNoYW5uZWxzOiAn
NS4xJywgYml0cmF0ZTogMTAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgIH0gfSk7Iik7CisgICAgICAg
ICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5n
SW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsg
Y29kZWNzPVwibXA0YS40MC4yXCInLCBjaGFubmVsczogJzUuMScsIGJpdHJhdGU6IDEwMDAsIHNh
bXBsZXJhdGU6IDQ0MTAwICB9IH0pOyIpOwogICAgICAgICAgICAgIHNob3VsZFJlc29sdmUocHJv
bWlzZSkudGhlbigoaW5mbykgPT4gewogICAgICAgICAgICAgICAgICBjaGVja01lZGlhQ2FwYWJp
bGl0aWVzSW5mbyhpbmZvLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgIG5l
eHQoKTsKQEAgLTg2LDcgKzg2LDcgQEAKICAgICAgICAgIH0sCiAgICAgICAgICBmdW5jdGlvbigp
IHsKICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ05vdCBzbW9vdGggYW5kIHBvd2VyIGluZWZm
aWNpZW50IGF1ZGlvIE1QNCBlbmNvZGluZycpOwotICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNt
aXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz1cIm1wNGEu
NDAuMlwiJywgY2hhbm5lbHM6ICc1LjEnLCBiaXRyYXRlOiAyMDAwLCBzYW1wbGVyYXRlOiA0NDEw
MCAgfSB9KTsiKTsKKyAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IGNvbnRl
bnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9XCJtcDRhLjQwLjJcIicsIGNoYW5uZWxzOiAnNS4x
JywgYml0cmF0ZTogMjAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgIH0gfSk7Iik7CiAgICAgICAgICAg
ICAgc2hvdWxkUmVzb2x2ZShwcm9taXNlKS50aGVuKChpbmZvKSA9PiB7CiAgICAgICAgICAgICAg
ICAgIGNoZWNrTWVkaWFDYXBhYmlsaXRpZXNJbmZvKGluZm8sIHRydWUsIGZhbHNlLCBmYWxzZSk7
CiAgICAgICAgICAgICAgICAgIG5leHQoKTsKQEAgLTk0LDcgKzk0LDcgQEAKICAgICAgICAgIH0s
CiAgICAgICAgICBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ1Vuc3Vw
cG9ydGVkIGF1ZGlvIGNvZGVjOiBvZ2cgdm9yYmlzJyk7Ci0gICAgICAgICAgICAgcnVuKCJwcm9t
aXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0
cmFuc21pc3Npb24nLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL29nZzsgY29kZWNzPVwi
dm9yYmlzXCInLCBjaGFubmVsczogJzInIH0gfSk7Iik7CisgICAgICAgICAgICAgcnVuKCJwcm9t
aXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdy
ZWNvcmQnLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL29nZzsgY29kZWNzPVwidm9yYmlz
XCInLCBjaGFubmVsczogJzInIH0gfSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZShw
cm9taXNlKS50aGVuKChpbmZvKSA9PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFDYXBh
YmlsaXRpZXNJbmZvKGluZm8sIGZhbHNlLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICAgICAgICAg
ICBuZXh0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvbWVk
aWFjYXBhYmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtZW5jb2RpbmdJbmZvLXVuZGVmaW5lZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFjYXBhYmls
aXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtZW5jb2RpbmdJbmZvLXVuZGVmaW5lZC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5YmFiNTgyMjY4MDJhMTZiMTBiN2Jl
ODMyZWRiZmIwN2Q2ZTc0YjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVz
L21lZGlhY2FwYWJpbGl0aWVzLWVuY29kaW5nSW5mby11bmRlZmluZWQtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotVGVzdCB0aGF0IE1lZGlhQ2FwYWJpbGl0aWVz
LnByb3RvdHlwZS5lbmNvZGluZ0luZm8gaXMgbWlzc2luZy4KLQotT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgotCi0KLVBBU1MgdHlwZW9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNv
ZGluZ0luZm8gaXMgInVuZGVmaW5lZCIKLVBBU1MgdHlwZW9mIE1lZGlhQ2FwYWJpbGl0aWVzLnBy
b3RvdHlwZS5lbmNvZGluZ0luZm8gaXMgInVuZGVmaW5lZCIKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtZW5j
b2RpbmdJbmZvLXVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlh
L21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVuY29kaW5nSW5mby11bmRlZmlu
ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRjNGYzMWU5MDc0MDZiZWMx
NGQ1NWZjMTRjN2U2ODU1YjU5NmU1NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFjYXBhYmls
aXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtZW5jb2RpbmdJbmZvLXVuZGVmaW5lZC5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotCTx0aXRsZT5tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGluZ0luZm8tZW1wdHk8L3RpdGxlPgot
CTxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgotCTxzY3JpcHQ+Ci0KLQk8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci1kZXNj
cmlwdGlvbignVGVzdCB0aGF0IE1lZGlhQ2FwYWJpbGl0aWVzLnByb3RvdHlwZS5lbmNvZGluZ0lu
Zm8gaXMgbWlzc2luZy4nKTsKLXNob3VsZEJlKCd0eXBlb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbycsICcidW5kZWZpbmVkIicpOwotc2hvdWxkQmUoJ3R5cGVvZiBN
ZWRpYUNhcGFiaWxpdGllcy5wcm90b3R5cGUuZW5jb2RpbmdJbmZvJywgJyJ1bmRlZmluZWQiJyk7
Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFj
YXBhYmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtdHlwZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0
aWVzLXR5cGVzLWV4cGVjdGVkLnR4dAppbmRleCA2ODY2ZjAzODdhOGZmZWE0NzI3ZmE3ZmI0NzRm
NDlmNGJiNmY5OTAzLi44OGM4Y2EyY2JjNTFiYTgyYzdjMmUwMDg2NjQyMDUyMGVmOTI5YmZkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFjYXBhYmlsaXRp
ZXMvbWVkaWFjYXBhYmlsaXRpZXMtdHlwZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy10
eXBlcy1leHBlY3RlZC50eHQKQEAgLTQyLDEyICs0MiwxMiBAQCBQQVNTICgpID0+IHsKIFBBU1Mg
KCkgPT4gewogICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7IHR5cGU6ICdpbnZhbGlkJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9t
cDQ7IGNvZGVjcz0iYXZjMSInLCB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4MCwgYml0cmF0ZTogMTAw
MCwgZnJhbWVyYXRlOiAyNCB9IH0pOwogICAgIH0gcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1GQUlMICgpID0+IHsKK1BBU1MgKCkgPT4gewogICAgICAgICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdy
ZWNvcmQnIH0pOwotICAgIH0gc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8g
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29k
aW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnIH0pJywgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8nIGlzIHVuZGVmaW5lZCkuCi1GQUlMICgpID0+IHsKKyAgICB9IHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyAoKSA9PiB7CiAg
ICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsg
dHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IH0gfSk7Ci0gICAgfSBzaG91bGQgbm90IHRocm93IGV4
Y2VwdGlvbi4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICduYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IH0g
fSknLCAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbycgaXMgdW5kZWZp
bmVkKS4KKyAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgQXVk
aW9Db25maWd1cmF0aW9uLmNvbnRlbnRUeXBlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIERPTVN0cmluZy4KIFBBU1MgKCkgPT4gewogICAgICAgICByZXR1cm4gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRp
bzogeyB9IH0pOwogICAgIH0gcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJl
ciBBdWRpb0NvbmZpZ3VyYXRpb24uY29udGVudFR5cGUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgRE9NU3RyaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGVzdHMt
b3B0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCmluZGV4IDRmMjhh
ZTE3MjcxMDNkOTA3MzNmYTA4OGMzM2RmNDJlN2JmZGJlZjIuLmRhMzBkYjQ1ZDI3NGQ4YzUzOGFh
MjU5ZWMwZWZjNjA3ODg1MjhkNTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlv
bnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KQEAgLTM2MzUsNiAr
MzYzNSw5IEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3Jl
bGF0aW9ucy9odG1sNS10cmVlL3RhYmluZGV4LTAwMi5odG1sIjogWwogICAgICAgICAic2xvdyIK
ICAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwcy5odG1sIjogWworICAgICAg
ICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLXNvdXJjZS9Tb3VyY2VCdWZmZXItYWJvcnQtcmVhZHlTdGF0ZS5odG1sIjogWwogICAgICAg
ICAic2xvdyIKICAgICBdLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440940</attachid>
            <date>2021-10-12 08:54:21 -0700</date>
            <delta_ts>2021-10-13 00:04:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231568-20211012175417.patch</filename>
            <type>text/plain</type>
            <size>139071</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk3OGFlZTkyMjk2Mzk3
Njk0MmU4ZjRmY2Y1NzJmYzliZDIyNTc0Zi4uMGI2ZGFjODY2ZDZkZGQ4NjhlZTY0ZjAzZGM1NjEx
NzA0MjUyZThhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTEwLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
V2ViUlRDIG1lZGlhIGNhcGFiaWxpdGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIFdlYlJUQyBkZWNvZGluZyBhbmQgZW5jb2RpbmcgdHlwZS4K
KyAgICAgICAgSW4gY2FzZSB3ZWJydGMgdHlwZSBpcyB1c2VkLCBmb3J3YXJkIHRoZSBjYWxsIHRv
IExpYldlYlJUQ1Byb3ZpZGVyLgorICAgICAgICBMaWJXZWJSVENQcm92aWRlciB0aGVuIGdldHMg
dW5kZXJseWluZyBSVEMgY2FwYWJpbGl0aWVzIHRvIGV4cG9zZSBtZWRpYSBjYXBhYmlsaXRpZXMu
CisgICAgICAgIEl0IGFsc28gYWRkcyBkZWRpY2F0ZWQgc3VwcG9ydCBmb3IgcG93ZXJFZmZpY2ll
bnQgdmFsdWUuCisgICAgICAgIEFsbCBpbmZvcm1hdGlvbiBpcyBhbHJlYWR5IGV4cG9zZWQgaW4g
ZXhpc3RpbmcgTWVkaWEgQ2FwYWJpbGl0aWVzIG9yIFJUQ1J0cFNlbmRlci9SZWNlaXZlciBnZXRD
YXBhYmlsaXRpZXMgc28gd2UgZG8gbm90IGluY3JlYXNlIGZpbmdlcnByaW50aW5nIGhlcmUuCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2Fw
YWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFu
eS53b3JrZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5n
SW5mb0VuY3J5cHRlZE1lZGlhLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3Mu
YW55Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmlkbDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHA6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5n
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5
cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5n
VHlwZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENQcm92aWRlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1Byb3ZpZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2lu
ZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHA6CisKIDIwMjEtMTAtMTEgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEJlZWYgdXAgd29ya2VyIHRlcm1pbmF0
aW9uIGhhbmRsaW5nIGluIFJlYWRhYmxlU3RyZWFtIHJvdXRpbmVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpp
bmRleCBkN2QxNWE1OTdjYzRlNWM5MDY4MTNiY2NjNzJhZmI3ZTQ4NzI4Yzk4Li45MTFhNjg1ZmU1
NTE0Y2U2YWQ2NzBhZGZjZTE5MGU5MTcxOTRlNGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTE0
NjcsNiArMTQ2Nyw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAg
ICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFJlbW90ZVNvdXJjZUNvbm5lY3Rp
b24uaAogICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsU3RhdGUuaAogICAg
IHBsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1ByaW9yaXR5VHlwZS5oCisgICAgcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDUnRwQ2FwYWJpbGl0aWVzLmgKKyAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
VENSdHBDb2RlY0NhcGFiaWxpdHkuaAogICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1l
TWVkaWFTb3VyY2UuaAogICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDYXBhYmlsaXRpZXMuaAogICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBjMzM2MDRmNjRj
OTc1M2U4OTk0MGJhZTgxMzMyMTA1NzY4MDQwZTljLi5jZDMwYzRhMjgyNDc5NTQ5MGM3MWYxZjg3
NjYyNGVlMjViNDU4ZDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgogI2luY2x1ZGUgIkpTTWVkaWFDYXBhYmls
aXRpZXNFbmNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5m
by5oIgogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvLmgiCkBAIC0zOSw2
ICs0MCw3IEBACiAjaW5jbHVkZSAiTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKICNpbmNs
dWRlICJNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIk1lZGlhRW5naW5l
Q29uZmlndXJhdGlvbkZhY3RvcnkuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU2V0
dGluZ3MuaCIKICNpbmNsdWRlIDx3dGYvTG9nZ2VyLmg+CiAjaW5jbHVkZSA8d3RmL1JvYmluSG9v
ZEhhc2hTZXQuaD4KQEAgLTE5NSw3ICsxOTcsNyBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpk
ZWNvZGluZ0luZm8oRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmlndXJhdAog
ICAgIC8vIDQuIExldCBwIGJlIGEgbmV3IHByb21pc2UuCiAgICAgLy8gNS4gSW4gcGFyYWxsZWws
IHJ1biB0aGUgY3JlYXRlIGEgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIGFsZ29yaXRobSB3aXRoIGNv
bmZpZ3VyYXRpb24gYW5kIHJlc29sdmUgcCB3aXRoIGl0cyByZXN1bHQuCiAgICAgLy8gNi4gUmV0
dXJuIHAuCi0gICAgZG9jdW1lbnQuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok1l
ZGlhRWxlbWVudCwgW2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBwcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKSwgbG9nZ2VyID0gV1RGTW92ZShsb2dnZXIpLCBpZGVudGlm
aWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKCkgbXV0YWJsZSB7CisgICAgZG9jdW1lbnQuZXZl
bnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6Ok1lZGlhRWxlbWVudCwgW2NvbmZpZ3VyYXRp
b24gPSBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwg
bG9nZ2VyID0gV1RGTW92ZShsb2dnZXIpLCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVy
KSwgZG9jdW1lbnQgPSBSZWYgeyBkb2N1bWVudCB9XSAoKSBtdXRhYmxlIHsKIAogICAgICAgICAv
LyAyLjIuMyBJZiBjb25maWd1cmF0aW9uIGlzIG9mIHR5cGUgTWVkaWFEZWNvZGluZ0NvbmZpZ3Vy
YXRpb24sIHJ1biB0aGUgZm9sbG93aW5nIHN1YnN0ZXBzOgogICAgICAgICBNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5OjpEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFj
ayA9IFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgbG9nZ2VyID0gV1RGTW92ZShsb2dnZXIp
LCBpZGVudGlmaWVyID0gV1RGTW92ZShpZGVudGlmaWVyKV0gKGF1dG8gaW5mbykgbXV0YWJsZSB7
CkBAIC0yMTYsNiArMjE4LDE0IEBAIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmRlY29kaW5nSW5m
byhEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0CiAgICAgICAgICAg
ICBwcm9taXNlLT5yZXNvbHZlPElETERpY3Rpb25hcnk8TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGlu
Z0luZm8+PihXVEZNb3ZlKGluZm8pKTsKICAgICAgICAgfTsKIAorI2lmIEVOQUJMRShXRUJfUlRD
KQorICAgICAgICBpZiAoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRGVjb2RpbmdUeXBlOjpX
ZWJSVEMpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkK
KyAgICAgICAgICAgICAgICBwYWdlLT5saWJXZWJSVENQcm92aWRlcigpLmNyZWF0ZURlY29kaW5n
Q29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyNlbmRpZgorCiAgICAgICAgIE1lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihX
VEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiAgICAgfSk7CiB9CkBA
IC0yMzYsOCArMjQ2LDcgQEAgdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZW5jb2RpbmdJbmZvKERv
Y3VtZW50JiBkb2N1bWVudCwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXQKICAgICAvLyA0LiBMZXQg
cCBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDUuIEluIHBhcmFsbGVsLCBydW4gdGhlIGNyZWF0
ZSBhIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBhbGdvcml0aG0gd2l0aCBjb25maWd1cmF0aW9uIGFu
ZCByZXNvbHZlIHAgd2l0aCBpdHMgcmVzdWx0LgogICAgIC8vIDYuIFJldHVybiBwLgotICAgIGRv
Y3VtZW50LmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFtj
b25maWd1cmF0aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKSwgcHJvbWlzZSA9IFdURk1vdmUo
cHJvbWlzZSldICgpIG11dGFibGUgewotCisgICAgZG9jdW1lbnQuZXZlbnRMb29wKCkucXVldWVU
YXNrKFRhc2tTb3VyY2U6Ok1lZGlhRWxlbWVudCwgW2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNv
bmZpZ3VyYXRpb24pLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgIGRvY3VtZW50ID0gUmVm
IHsgZG9jdW1lbnQgfV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIC8vIDIuMi40LiBJZiBjb25maWd1
cmF0aW9uIGlzIG9mIHR5cGUgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24sIHJ1biB0aGUgZm9s
bG93aW5nIHN1YnN0ZXBzOgogICAgICAgICBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5
OjpFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayBjYWxsYmFjayA9IFtwcm9taXNlID0gV1RG
TW92ZShwcm9taXNlKV0gKGF1dG8gaW5mbykgbXV0YWJsZSB7CiAgICAgICAgICAgICAvLyAyLjIu
NC4xLiBJZiB0aGUgdXNlciBhZ2VudCBpcyBhYmxlIHRvIGVuY29kZSB0aGUgbWVkaWEKQEAgLTI1
Nyw2ICsyNjYsMTQgQEAgdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZW5jb2RpbmdJbmZvKERvY3Vt
ZW50JiBkb2N1bWVudCwgTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXQKICAgICAgICAgICAgIHByb21p
c2UtPnJlc29sdmU8SURMRGljdGlvbmFyeTxNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbz4+
KFdURk1vdmUoaW5mbykpOwogICAgICAgICB9OwogCisjaWYgRU5BQkxFKFdFQl9SVEMpCisgICAg
ICAgIGlmIChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVkaWFFbmNvZGluZ1R5cGU6OldlYlJUQykg
eworICAgICAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpKQorICAgICAg
ICAgICAgICAgIHBhZ2UtPmxpYldlYlJUQ1Byb3ZpZGVyKCkuY3JlYXRlRW5jb2RpbmdDb25maWd1
cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorI2VuZGlmCisKICAgICAgICAgTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeTo6Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKFdURk1vdmUo
Y29uZmlndXJhdGlvbiksIFdURk1vdmUoY2FsbGJhY2spKTsKIAogICAgIH0pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5n
VHlwZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlh
RGVjb2RpbmdUeXBlLmlkbAppbmRleCBkMzkxNDQwMGUxMzEwNDc2MGI5YmNkOGJmNDYxYTBmYmZh
YjIwNDU3Li4zMDdkNTM2NDczM2ZkOWNkYzNkNDUyZjgxZWVmYjIyNGE1NjBjMjg1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2Rp
bmdUeXBlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVz
L01lZGlhRGVjb2RpbmdUeXBlLmlkbApAQCAtMjUsNSArMjUsNiBAQAogCiBlbnVtIE1lZGlhRGVj
b2RpbmdUeXBlIHsKICAgImZpbGUiLAotICAibWVkaWEtc291cmNlIgorICAibWVkaWEtc291cmNl
IiwKKyAgIndlYnJ0YyIKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaWRsCmluZGV4IDlhMmEy
MDk5NTMzNzBhM2I0NDI5ZTY1ZWE3NzI3ZjA2MWU4N2JiN2IuLmNlOGE2NGVhZDI3NjJhNWYyZjI0
NzMyZDEzMDlkZTE2YzM3ODZiZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaWRsCkBAIC0y
NSw1ICsyNSw1IEBACiAKIGVudW0gTWVkaWFFbmNvZGluZ1R5cGUgewogICAicmVjb3JkIiwKLSAg
InRyYW5zbWlzc2lvbiIKKyAgIndlYnJ0YyIKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmFjYjNiZGQwMjhjZjJkMDZmMGZm
MThlZTAyOTYzNzg3NjA0MzE3Mi4uZmQzYzdkNDg3MzhlMDE2MWNiZDI1MGUyYTA2ZTZhNmRlZGMz
YjQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTA4NSw3ICsxMDg1LDcgQEAKIAkJNDEyOUM5QTkxRjU5QzU2QjAwOUQ3NDAz
IC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEMzOTVGMUM4RjBBQUIwMDUxQzhBMyAvKiBS
ZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOUM5QUIxRjU5QzU3MzAwOUQ3NDAzIC8qIFJl
YWRhYmxlU3RyZWFtU291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MThDMzk1QjFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1Tb3Vy
Y2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTI5QzlBRjFGNTlDRjVCMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5Qzk4MDFGNTg2MUM3MDA5
RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDEyREU0QjgyMTkyODVDMDAwNzVGM0E3IC8qIFJUQ1J0
cENhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEyREU0QjYyMTkyODVCRjAwNzVGM0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oICov
OyB9OworCQk0MTJERTRCODIxOTI4NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTJERTRCNjIx
OTI4NUJGMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyREVGMUQyM0E5MTg2NjAwRDg0MEY2
IC8qIE1vY2tBdWRpb1NoYXJlZFVuaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA3NDRFQ0VCMUUwQzRBRTUwMDBEMDk0NCAvKiBNb2NrQXVkaW9TaGFy
ZWRVbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDEyREVGMUYyM0E5MThBMzAwRDg0MEY2IC8qIEJhc2VBdWRpb1NoYXJlZFVuaXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzdGNTFFMjM4MjU0
NUUwMEMwNDQ4NiAvKiBCYXNlQXVkaW9TaGFyZWRVbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzM0NCOEIyMEY4MEU5OTAwRTg5QjExIC8q
IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMzQ0I4OTIwRjgwRTg2MDBFODlCMTEgLyogTWVkaWFT
dHJlYW1BdWRpb1NvdXJjZUNvY29hLmNwcCAqLzsgfTsKQEAgLTExODAsNiArMTE4MCw3IEBACiAJ
CTQxOEY4ODA1MEZGOTU3QUYwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThGODgwMzBGRjk1N0FFMDA4
MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oICovOyB9OwogCQk0MThGQ0JDMTI3MDZFNEZCMDBG
OTZFQ0EgLyogUHVzaEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MThGQ0JCRDI3MDZFNEY3MDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4RkNCQzIyNzA2
RTUwMTAwRjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEZDQkJGMjcwNkU0RjgwMEY5NkVDQSAvKiBQdXNoRXZl
bnRJbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJNDE4RkNCRTcyNzE1QTI4RjAwRjk2RUNBIC8qIFJUQ1J0cENvZGVjQ2FwYWJpbGl0eS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFMEE3REMyM0JC
NjNEQjAwNTYxMDYwIC8qIFJUQ1J0cENvZGVjQ2FwYWJpbGl0eS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxOTBGM0E1MjRBMEI0RUUwMDUzMUM1
NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTkwRjNBMzI0OUQxNTI4MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRv
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQx
OTI0MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2Nv
YS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOTI0
MjQ3MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5t
bSAqLzsgfTsKIAkJNDE5QUNGOTIxRjk3RTdEQTAwOUYxQTgzIC8qIFNlcnZpY2VXb3JrZXJGZXRj
aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5QUNG
OEUxRjk3RTdENTAwOUYxQTgzIC8qIFNlcnZpY2VXb3JrZXJGZXRjaC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MTQ4LDYgKzgxNDksNyBAQAog
CQk0MThGQ0JDQjI3MDZGM0NEMDBGOTZFQ0EgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlK1B1
c2hBUEkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9ICJTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUrUHVzaEFQSS5pZGwiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGQ0JDQzI3MDZGNDM0MDBGOTZFQ0EgLyog
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxOEZDQkNEMjcwNkY0MzQwMEY5NkVDQSAvKiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNo
QVBJLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hB
UEkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JFODI3MTVBQTE5MDBG
OTZFQ0EgLyogSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01l
ZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
OTBGM0ExMjQ5RDE1MjcwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTkwRjNBMzI0OUQxNTI4MDA1MzFDNTcgLyogRnJhbWVS
YXRlTW9uaXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGcmFtZVJhdGVN
b25pdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTI0MjQ3MjEyN0I3Q0Mw
MDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJj
ZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUwMjcsNyArMTUwMjks
NiBAQAogCQlDQ0MyQjUxMDE1RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZUNsaWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDQ0MyQjUxMTE1RjYxMzA2MDA0OENERDYgLyogRGV2aWNlQ29udHJv
bGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZXZpY2VDb250
cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0NDMkI1MTIxNUY2MTMw
NjAwNDhDREQ2IC8qIERldmljZUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRGV2aWNlQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlDRDAzMjAxNTIyNzlGNUJGMDBERDlGMEIgLyogSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNEMDYzRjgwMUUyM0ZBODkwMDgxMkJFMyAvKiBJbml0RGF0YVJl
Z2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluaXREYXRh
UmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDA2M0Y4MTFFMjNG
QTg5MDA4MTJCRTMgLyogSW5pdERhdGFSZWdpc3RyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbml0RGF0YVJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUNEMEM4QjU4MjE0MUM4Q0EwMDYyRjU5RCAvKiBNZWRpYUNhcGFiaWxpdGllc0luZm8uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yMzIxMyw3ICsyMzIxNCw3IEBACiAJCQkJQTdEMDMxOEQwRTkzNTQwMzAw
RTI0QUNEIC8qIEpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCAqLywKIAkJCQk1ODY4QzdENTI1NDZFMEIz
MDBCRjlERjMgLyogSlNJbnRlcnNlY3Rpb25PYnNlcnZlckN1c3RvbS5jcHAgKi8sCiAJCQkJNzdD
MTNGMDQyMTY1NjU4QTAwMkQ5QzVGIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeUN1c3Rv
bS5jcHAgKi8sCi0JCQkJQ0QwMzIwMTUyMjc5RjVCRjAwREQ5RjBCIC8qIEpTTWVkaWFDYXBhYmls
aXRpZXNDdXN0b20uaCAqLywKKwkJCQk0MThGQ0JFODI3MTVBQTE5MDBGOTZFQ0EgLyogSlNNZWRp
YUNhcGFiaWxpdGllc0N1c3RvbS5oICovLAogCQkJCUFENzI2RkU3MTZEOUYyMDQwMDNBNEU2RCAv
KiBKU01lZGlhTGlzdEN1c3RvbS5oICovLAogCQkJCTQxNUNEQUY2MUU2Q0UwRDMwMDRGMTFFRSAv
KiBKU01lZGlhU3RyZWFtVHJhY2tDdXN0b20uY3BwICovLAogCQkJCUUxQTVGOTlBMEU3RUFBMjUw
MEFGODVFQSAvKiBKU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcCAqLywKQEAgLTM1MTM2LDYgKzM1
MTM3LDcgQEAKIAkJCQk0MTNDQzExRDI1RTdEOThFMDBENTlDNEIgLyogUlRDUHJpb3JpdHlUeXBl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTE0RkUzMjI1QkVCRDE5MDA5RDlGMjAgLyogUlRDUnRj
cFBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMkRFNEI4MjE5Mjg1QzAwMDc1RjNB
NyAvKiBSVENSdHBDYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxOEZDQkU3Mjcx
NUEyOEYwMEY5NkVDQSAvKiBSVENSdHBDb2RlY0NhcGFiaWxpdHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVFMkM0MzYzMUJDRUUzMkIwMDAxRTJCQyAvKiBSVENSdHBSZWNlaXZlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDEzQzhCMzUyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyV2l0
aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUUyQzQzNjExQkNFRTMyMzAwMDFFMkJD
IC8qIFJUQ1J0cFNlbmRlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmgKaW5kZXggZTIwYzgz
NTg5YjgwNmQwZjZmYjc3ZTk3YjMyMTE3ZGNjMGUwZTdiNy4uODI0NzI3Nzk5MDZkYzc4OTUxYjNh
YTAyZGQxMmNiOGMwNmY4YjMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaApAQCAtMzEsMTIgKzMxLDIwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogQUxXQVlTX0lOTElORSBib29sIEpTTWVkaWFDYXBhYmlsaXRp
ZXNFbmNvZGluZ0luZm9Jc0VuYWJsZWQoKQogeworI2lmIEVOQUJMRShXRUJfUlRDKQorICAgIHJl
dHVybiB0cnVlOworI2Vsc2UKICAgICByZXR1cm4gTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFj
dG9yeTo6aGFzRW5jb2RpbmdDb25maWd1cmF0aW9uRmFjdG9yeSgpOworI2VuZGlmCiB9CiAKIEFM
V0FZU19JTkxJTkUgYm9vbCBKU01lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvSXNFbmFibGVk
KCkKIHsKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCiAgICAg
cmV0dXJuIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rvcnk6Omhhc0RlY29kaW5nQ29uZmln
dXJhdGlvbkZhY3RvcnkoKTsKKyNlbmRpZgogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGJmYTRhOTNhZWEwOTFm
YjUxZGNmNzA2NDczNDdhMzg3YWNjOTY1MTIuLmY4YjRhMWNlMmNjZGM4MmU2ODlmMGYzNzk2NzAz
OThmYmNkZDk1NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckpTLnBtCkBAIC0yMjc5LDYgKzIyNzksNyBAQCBzdWIgR2V0RW51bWVyYXRp
b25WYWx1ZU5hbWUKICAgICBteSAoJG5hbWUpID0gQF87CiAKICAgICByZXR1cm4gIkVtcHR5U3Ry
aW5nIiBpZiAkbmFtZSBlcSAiIjsKKyAgICByZXR1cm4gIldlYlJUQyIgaWYgJG5hbWUgZXEgIndl
YnJ0YyI7CiAgICAgJG5hbWUgPSBqb2luKCIiLCBtYXAgeyAkY29kZUdlbmVyYXRvci0+V0tfdWNm
aXJzdCgkXykgfSBzcGxpdCgiLSIsICRuYW1lKSk7CiAgICAgJG5hbWUgPSAiXyRuYW1lIiBpZiAk
bmFtZSA9fiAvXlxkLzsKICAgICByZXR1cm4gJG5hbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0
b3J5Q29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvTWVk
aWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNvY29hLmNwcAppbmRleCA5NzQ5NGVlNmM1Yzhi
Njk5MjM0ZWE3Yzk2NmRkZDFhYzZhYTQyNGU2Li4xMjIyNjAzN2NiMTUwMzc0ZjAxMGViMzAwNjMx
YzE0NTEwY2I4MTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlhRW5naW5lQ29uZmlndXJh
dGlvbkZhY3RvcnlDb2NvYS5jcHAKQEAgLTYzLDggKzYzLDIwIEBAIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPE1lZGlhQ2FwYWJpbGl0aWVzSW5mbz4gY29tcHV0ZU1lZGlhQ2FwYWJpbGl0aWVzSW5mbyhj
b25zdCBNCiAgICAgaWYgKGNvbmZpZ3VyYXRpb24udmlkZW8pIHsKICAgICAgICAgYXV0byYgdmlk
ZW9Db25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbi52aWRlby52YWx1ZSgpOwogICAgICAgICBN
ZWRpYUVuZ2luZVN1cHBvcnRQYXJhbWV0ZXJzIHBhcmFtZXRlcnMgeyB9OworCisgICAgICAgIHN3
aXRjaCAoY29uZmlndXJhdGlvbi50eXBlKSB7CisgICAgICAgIGNhc2UgTWVkaWFEZWNvZGluZ1R5
cGU6OkZpbGU6CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSBmYWxzZTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1lZGlhRGVjb2RpbmdUeXBlOjpNZWRp
YVNvdXJjZToKKyAgICAgICAgICAgIHBhcmFtZXRlcnMuaXNNZWRpYVNvdXJjZSA9IHRydWU7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBNZWRpYURlY29kaW5nVHlwZTo6V2ViUlRD
OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworICAgICAgICB9CisKICAgICAgICAgcGFyYW1ldGVycy50eXBlID0gQ29u
dGVudFR5cGUodmlkZW9Db25maWd1cmF0aW9uLmNvbnRlbnRUeXBlKTsKLSAgICAgICAgcGFyYW1l
dGVycy5pc01lZGlhU291cmNlID0gY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRGVjb2RpbmdU
eXBlOjpNZWRpYVNvdXJjZTsKICAgICAgICAgaWYgKE1lZGlhUGxheWVyOjpzdXBwb3J0c1R5cGUo
cGFyYW1ldGVycykgIT0gTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQpCiAg
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzTG9nZ2luZy5oCmluZGV4IDJjZWI2ZjY2ZjhjODVjODc0ZjgyZTlkMTY5NmVjYWM4ZjYw
NDljMWQuLmUzMTg4YmViNGUxMWM3ZTVhNjM3YjNhZTIxYmY1MjMzY2IzNDJjMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJp
bGl0aWVzTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJp
bGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5oCkBAIC00MSw3ICs0MSw3IEBAIHN0cnVj
dCBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbzsKIGVudW0gY2xhc3MgQ29sb3JHYW11dCA6
IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIEhkck1ldGFkYXRhVHlwZSA6IHVpbnQ4X3Q7CiBlbnVtIGNs
YXNzIFRyYW5zZmVyRnVuY3Rpb24gOiB1aW50OF90OwotZW51bSBjbGFzcyBNZWRpYURlY29kaW5n
VHlwZSA6IGJvb2w7CitlbnVtIGNsYXNzIE1lZGlhRGVjb2RpbmdUeXBlIDogdWludDhfdDsKIGVu
dW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5cGUgOiBib29sOwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGlu
Z1R5cGUuaAppbmRleCA0MTVlMGI3MjA5ZWE1MGUxNTk2YjJhOGJkMmYyYTM5MjgzNjE4OGE3Li5m
NDFkMDE2YTE3MWEwYzNhMjM0YjAyYzg2YWJlZWFiYTIwZjc3MmU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVj
b2RpbmdUeXBlLmgKQEAgLTI3LDkgKzI3LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
ZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZSA6IGJvb2wgeworZW51bSBjbGFzcyBNZWRpYURl
Y29kaW5nVHlwZSA6IHVpbnQ4X3QgewogICAgIEZpbGUsCiAgICAgTWVkaWFTb3VyY2UsCisgICAg
V2ViUlRDCiB9OwogCiB9CkBAIC00MCw3ICs0MSw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1U
cmFpdHM8V2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU+IHsKICAgICB1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPAogICAgICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlwZSwKICAgICAgICAg
V2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGU6OkZpbGUsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlh
RGVjb2RpbmdUeXBlOjpNZWRpYVNvdXJjZQorICAgICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5n
VHlwZTo6TWVkaWFTb3VyY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlOjpX
ZWJSVEMKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmgKaW5kZXggMDEyYThj
NmQ1Mzk2N2Q5YjRlZGMyMjIzYWU0OTAwNTMxZjVmMWZkNy4uYjNiNDgwMTNlMTkyMjUxN2UyYjQw
NWQzMGYzZGU3MGU5ZmI2MTQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5oCkBAIC0yOSw3
ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBNZWRpYUVuY29kaW5n
VHlwZSA6IGJvb2wgewogICAgIFJlY29yZCwKLSAgICBUcmFuc21pc3Npb24sCisgICAgV2ViUlRD
LAogfTsKIAogfQpAQCAtNDAsNyArNDAsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRz
PFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZh
bHVlczwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5cGUsCiAgICAgICAgIFdlYkNv
cmU6Ok1lZGlhRW5jb2RpbmdUeXBlOjpSZWNvcmQsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhRW5j
b2RpbmdUeXBlOjpUcmFuc21pc3Npb24KKyAgICAgICAgV2ViQ29yZTo6TWVkaWFFbmNvZGluZ1R5
cGU6OldlYlJUQwogICAgID47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
LmNwcAppbmRleCA1YWY3OWFkNDg1ODY4NDBmNDg3NTdkZWZlOGEzYTY2ZTU2ZDNiZWNiLi5mZGQ3
ODhhMTA2NTU0MmZlNGU3ODBmNmU0OGM4NzE1MjkzYzkwNzY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTI2LDEwICsyNiwxNSBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAKKyNpbmNsdWRlICJNZWRpYUNh
cGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgorI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRW5j
b2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKKyNp
bmNsdWRlICJNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbi5oIgorCiAjaWYgVVNFKExJQldFQlJU
QykKKyNpbmNsdWRlICJDb250ZW50VHlwZS5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ0F1ZGlvTW9k
dWxlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1ZGUgIlJUQ1J0cENhcGFiaWxpdGll
cy5oIgogI2luY2x1ZGUgPGRsZmNuLmg+CiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lO
CkBAIC0zNzksNiArMzg0LDMwIEBAIHZvaWQgTGliV2ViUlRDUHJvdmlkZXI6OnByZXBhcmVDZXJ0
aWZpY2F0ZUdlbmVyYXRvcihGdW5jdGlvbjx2b2lkKHJ0Yzo6UlRDQ2VydGlmCiAgICAgfSk7CiB9
CiAKK3ZvaWQgTGliV2ViUlRDUHJvdmlkZXI6OnNldEgyNjVTdXBwb3J0KGJvb2wgdmFsdWUpCit7
CisgICAgbV9zdXBwb3J0c0gyNjUgPSB2YWx1ZTsKKyAgICBtX3ZpZGVvRGVjb2RpbmdDYXBhYmls
aXRpZXMgPSB7IH07CisgICAgbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzID0geyB9OworfQor
Cit2b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpzZXRWUDlTdXBwb3J0KGJvb2wgc3VwcG9ydHNWUDlQ
cm9maWxlMCwgYm9vbCBzdXBwb3J0c1ZQOVByb2ZpbGUyKQoreworICAgIG1fc3VwcG9ydHNWUDlQ
cm9maWxlMCA9IHN1cHBvcnRzVlA5UHJvZmlsZTA7CisgICAgbV9zdXBwb3J0c1ZQOVByb2ZpbGUy
ID0gc3VwcG9ydHNWUDlQcm9maWxlMjsKKworICAgIG1fdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGll
cyA9IHsgfTsKKyAgICBtX3ZpZGVvRW5jb2RpbmdDYXBhYmlsaXRpZXMgPSB7IH07Cit9CisKK3Zv
aWQgTGliV2ViUlRDUHJvdmlkZXI6OnNldFZQOVZUQlN1cHBvcnQoYm9vbCB2YWx1ZSkKK3sKKyAg
ICBtX3N1cHBvcnRzVlA5VlRCID0gdmFsdWU7CisKKyAgICBtX3ZpZGVvRGVjb2RpbmdDYXBhYmls
aXRpZXMgPSB7IH07CisgICAgbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzID0geyB9OworfQor
CiBzdGF0aWMgaW5saW5lIHN0ZDo6b3B0aW9uYWw8Y3JpY2tldDo6TWVkaWFUeXBlPiB0eXBlRnJv
bUtpbmQoY29uc3QgU3RyaW5nJiBraW5kKQogewogICAgIGlmIChraW5kID09ICJhdWRpbyJfcykK
QEAgLTQzMSwxMSArNDYwLDM2IEBAIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBM
aWJXZWJSVENQcm92aWRlcjo6cmVjZWl2ZXJDYXBhYmlsaXRpZXMoY29uc3QKICAgICBpZiAoIW1l
ZGlhVHlwZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8qIGZhY3RvcnkgPSB0aGlz
LT5mYWN0b3J5KCk7Ci0gICAgaWYgKCFmYWN0b3J5KQorICAgIHN3aXRjaCAoKm1lZGlhVHlwZSkg
eworICAgIGNhc2UgY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX0FVRElPOgorICAgICAg
ICByZXR1cm4gYXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllcygpOworICAgIGNhc2UgY3JpY2tldDo6
TWVkaWFUeXBlOjpNRURJQV9UWVBFX1ZJREVPOgorICAgICAgICByZXR1cm4gdmlkZW9EZWNvZGlu
Z0NhcGFiaWxpdGllcygpOworICAgIGNhc2UgY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBF
X0RBVEE6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4geyB9
OworICAgIGNhc2UgY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX1VOU1VQUE9SVEVEOgor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9
Cit9CisKK3N0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiYgTGliV2ViUlRDUHJvdmlk
ZXI6OmF1ZGlvRGVjb2RpbmdDYXBhYmlsaXRpZXMoKQoreworICAgIGlmICghbV9hdWRpb0RlY29k
aW5nQ2FwYWJpbGl0aWVzKSB7CisgICAgICAgIGlmIChhdXRvKiBmYWN0b3J5ID0gdGhpcy0+ZmFj
dG9yeSgpKQorICAgICAgICAgICAgbV9hdWRpb0RlY29kaW5nQ2FwYWJpbGl0aWVzID0gdG9SVENS
dHBDYXBhYmlsaXRpZXMoZmFjdG9yeS0+R2V0UnRwUmVjZWl2ZXJDYXBhYmlsaXRpZXMoY3JpY2tl
dDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX0FVRElPKSk7CisgICAgfQorICAgIHJldHVybiBtX2F1
ZGlvRGVjb2RpbmdDYXBhYmlsaXRpZXM7Cit9CiAKLSAgICByZXR1cm4gdG9SVENSdHBDYXBhYmls
aXRpZXMoZmFjdG9yeS0+R2V0UnRwUmVjZWl2ZXJDYXBhYmlsaXRpZXMoKm1lZGlhVHlwZSkpOwor
c3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiBMaWJXZWJSVENQcm92aWRlcjo6dmlk
ZW9EZWNvZGluZ0NhcGFiaWxpdGllcygpCit7CisgICAgaWYgKCFtX3ZpZGVvRGVjb2RpbmdDYXBh
YmlsaXRpZXMpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZhY3RvcnkgPSB0aGlzLT5mYWN0b3J5KCkp
CisgICAgICAgICAgICBtX3ZpZGVvRGVjb2RpbmdDYXBhYmlsaXRpZXMgPSB0b1JUQ1J0cENhcGFi
aWxpdGllcyhmYWN0b3J5LT5HZXRSdHBSZWNlaXZlckNhcGFiaWxpdGllcyhjcmlja2V0OjpNZWRp
YVR5cGU6Ok1FRElBX1RZUEVfVklERU8pKTsKKyAgICB9CisgICAgcmV0dXJuIG1fdmlkZW9EZWNv
ZGluZ0NhcGFiaWxpdGllczsKIH0KIAogc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+
IExpYldlYlJUQ1Byb3ZpZGVyOjpzZW5kZXJDYXBhYmlsaXRpZXMoY29uc3QgU3RyaW5nJiBraW5k
KQpAQCAtNDQ0LDEzICs0OTgsMTM2IEBAIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVz
PiBMaWJXZWJSVENQcm92aWRlcjo6c2VuZGVyQ2FwYWJpbGl0aWVzKGNvbnN0IFN0CiAgICAgaWYg
KCFtZWRpYVR5cGUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvKiBmYWN0b3J5ID0g
dGhpcy0+ZmFjdG9yeSgpOwotICAgIGlmICghZmFjdG9yeSkKKyAgICBzd2l0Y2ggKCptZWRpYVR5
cGUpIHsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9BVURJTzoKKyAg
ICAgICAgcmV0dXJuIGF1ZGlvRW5jb2RpbmdDYXBhYmlsaXRpZXMoKTsKKyAgICBjYXNlIGNyaWNr
ZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9WSURFTzoKKyAgICAgICAgcmV0dXJuIHZpZGVvRW5j
b2RpbmdDYXBhYmlsaXRpZXMoKTsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFf
VFlQRV9EQVRBOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9VTlNVUFBPUlRF
RDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiB7IH07Cisg
ICAgfQorfQorCitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4mIExpYldlYlJUQ1By
b3ZpZGVyOjphdWRpb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCkKK3sKKyAgICBpZiAoIW1fYXVkaW9F
bmNvZGluZ0NhcGFiaWxpdGllcykgeworICAgICAgICBpZiAoYXV0byogZmFjdG9yeSA9IHRoaXMt
PmZhY3RvcnkoKSkKKyAgICAgICAgICAgIG1fYXVkaW9FbmNvZGluZ0NhcGFiaWxpdGllcyA9IHRv
UlRDUnRwQ2FwYWJpbGl0aWVzKGZhY3RvcnktPkdldFJ0cFNlbmRlckNhcGFiaWxpdGllcyhjcmlj
a2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfQVVESU8pKTsKKyAgICB9CisgICAgcmV0dXJuIG1f
YXVkaW9FbmNvZGluZ0NhcGFiaWxpdGllczsKK30KKworc3RkOjpvcHRpb25hbDxSVENSdHBDYXBh
YmlsaXRpZXM+JiBMaWJXZWJSVENQcm92aWRlcjo6dmlkZW9FbmNvZGluZ0NhcGFiaWxpdGllcygp
Cit7CisgICAgaWYgKCFtX3ZpZGVvRW5jb2RpbmdDYXBhYmlsaXRpZXMpIHsKKyAgICAgICAgaWYg
KGF1dG8qIGZhY3RvcnkgPSB0aGlzLT5mYWN0b3J5KCkpCisgICAgICAgICAgICBtX3ZpZGVvRW5j
b2RpbmdDYXBhYmlsaXRpZXMgPSB0b1JUQ1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBT
ZW5kZXJDYXBhYmlsaXRpZXMoY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX1ZJREVPKSk7
CisgICAgfQorICAgIHJldHVybiBtX3ZpZGVvRW5jb2RpbmdDYXBhYmlsaXRpZXM7Cit9CisKK3N0
ZDo6b3B0aW9uYWw8UlRDUnRwQ29kZWNDYXBhYmlsaXR5PiBMaWJXZWJSVENQcm92aWRlcjo6Y29k
ZWNDYXBhYmlsaXR5KGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgY29uc3Qgc3RkOjpv
cHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiBjYXBhYmlsaXRpZXMpCit7CisgICAgaWYgKCFj
YXBhYmlsaXRpZXMpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICByZXR1cm4gdG9SVENSdHBD
YXBhYmlsaXRpZXMoZmFjdG9yeS0+R2V0UnRwU2VuZGVyQ2FwYWJpbGl0aWVzKCptZWRpYVR5cGUp
KTsKKyAgICBhdXRvIGNvbnRhaW5lclR5cGUgPSBjb250ZW50VHlwZS5jb250YWluZXJUeXBlKCk7
CisgICAgZm9yIChhdXRvJiBjb2RlYyA6IGNhcGFiaWxpdGllcy0+Y29kZWNzKSB7CisgICAgICAg
IGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGNvbnRhaW5lclR5cGUsIGNvZGVjLm1pbWVUeXBl
KSkKKyAgICAgICAgICAgIHJldHVybiBjb2RlYzsKKyAgICB9CisgICAgcmV0dXJuIHsgfTsKK30K
KyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQorCit2b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVh
dGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mJiBjb25m
aWd1cmF0aW9uLCBEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQorewor
ICAgIEFTU0VSVChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVkaWFEZWNvZGluZ1R5cGU6OldlYlJU
Qyk7CisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIC8vIEZJWE1FOiBWYWxpZGF0ZSBhZGRpdGlv
bmFsIHBhcmFtZXRlcnMsIGluIHBhcnRpY3VsYXIgbWltZSB0eXBlIHBhcmFtZXRlcnMuCisgICAg
TWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8gaW5mbyB7IFdURk1vdmUoY29uZmlndXJhdGlv
bikgfTsKKworICAgIGlmIChpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24udmlkZW8pIHsKKyAg
ICAgICAgQ29udGVudFR5cGUgY29udGVudFR5cGUgeyBpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRp
b24udmlkZW8tPmNvbnRlbnRUeXBlIH07CisgICAgICAgIGF1dG8gY29kZWMgPSBjb2RlY0NhcGFi
aWxpdHkoY29udGVudFR5cGUsIHZpZGVvRGVjb2RpbmdDYXBhYmlsaXRpZXMoKSk7CisgICAgICAg
IGlmICghY29kZWMpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHsgfSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaW5mby5zdXBwb3J0ZWQgPSB0cnVlOworI2lmIFBM
QVRGT1JNKENPQ09BKQorICAgICAgICBhdXRvIGNvbnRhaW5lclR5cGUgPSBjb250ZW50VHlwZS5j
b250YWluZXJUeXBlKCk7CisgICAgICAgIGlmIChjb250YWluZXJUeXBlID09ICJ2aWRlby92cDgi
KQorICAgICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9IGZhbHNlOworICAgICAgICBlbHNl
IGlmIChjb250YWluZXJUeXBlID09ICJ2aWRlby92cDkiKQorICAgICAgICAgICAgaW5mby5wb3dl
ckVmZmljaWVudCA9IGlzU3VwcG9ydGluZ1ZQOVZUQigpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBpbmZvLnBvd2VyRWZmaWNpZW50ID0gdHJ1ZTsKKyAgICAgICAgaW5mby5zbW9vdGggPSBp
bmZvLnBvd2VyRWZmaWNpZW50OworI2VuZGlmCisgICAgfQorICAgIGlmIChpbmZvLnN1cHBvcnRl
ZENvbmZpZ3VyYXRpb24uYXVkaW8pIHsKKyAgICAgICAgQ29udGVudFR5cGUgY29udGVudFR5cGUg
eyBpbmZvLnN1cHBvcnRlZENvbmZpZ3VyYXRpb24uYXVkaW8tPmNvbnRlbnRUeXBlIH07CisgICAg
ICAgIGF1dG8gY29kZWMgPSBjb2RlY0NhcGFiaWxpdHkoY29udGVudFR5cGUsIGF1ZGlvRGVjb2Rp
bmdDYXBhYmlsaXRpZXMoKSk7CisgICAgICAgIGlmICghY29kZWMpIHsKKyAgICAgICAgICAgIGNh
bGxiYWNrKHsgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaW5m
by5zdXBwb3J0ZWQgPSB0cnVlOworICAgIH0KKyAgICBjYWxsYmFjayhXVEZNb3ZlKGluZm8pKTsK
KyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvbmZpZ3VyYXRpb24pOworICAgIGNhbGxiYWNrKHsg
fSk7CisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKIH0KIAordm9pZCBMaWJXZWJSVENQcm92aWRl
cjo6Y3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
JiYgY29uZmlndXJhdGlvbiwgRW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFj
aykKK3sKKyAgICBBU1NFUlQoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRW5jb2RpbmdUeXBl
OjpXZWJSVEMpOworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICAvLyBGSVhNRTogVmFsaWRhdGUg
YWRkaXRpb25hbCBwYXJhbWV0ZXJzLCBpbiBwYXJ0aWN1bGFyIG1pbWUgdHlwZSBwYXJhbWV0ZXJz
LgorICAgIE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvIGluZm8geyBXVEZNb3ZlKGNvbmZp
Z3VyYXRpb24pIH07CisKKyAgICBpZiAoaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLnZpZGVv
KSB7CisgICAgICAgIENvbnRlbnRUeXBlIGNvbnRlbnRUeXBlIHsgaW5mby5zdXBwb3J0ZWRDb25m
aWd1cmF0aW9uLnZpZGVvLT5jb250ZW50VHlwZSB9OworICAgICAgICBhdXRvIGNvZGVjID0gY29k
ZWNDYXBhYmlsaXR5KGNvbnRlbnRUeXBlLCB2aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCkpOwor
ICAgICAgICBpZiAoIWNvZGVjKSB7CisgICAgICAgICAgICBjYWxsYmFjayh7IH0pOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGluZm8uc3VwcG9ydGVkID0gdHJ1ZTsK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICAgICAgYXV0byBjb250YWluZXJUeXBlID0gY29udGVu
dFR5cGUuY29udGFpbmVyVHlwZSgpOworICAgICAgICBpZiAoY29udGFpbmVyVHlwZSA9PSAidmlk
ZW8vdnA4IikKKyAgICAgICAgICAgIGluZm8ucG93ZXJFZmZpY2llbnQgPSBmYWxzZTsKKyAgICAg
ICAgZWxzZSBpZiAoY29udGFpbmVyVHlwZSA9PSAidmlkZW8vdnA5IikKKyAgICAgICAgICAgIGlu
Zm8ucG93ZXJFZmZpY2llbnQgPSBpc1N1cHBvcnRpbmdWUDlWVEIoKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgaW5mby5wb3dlckVmZmljaWVudCA9IHRydWU7CisgICAgICAgIGluZm8uc21v
b3RoID0gaW5mby5wb3dlckVmZmljaWVudDsKKyNlbmRpZgorICAgIH0KKyAgICBpZiAoaW5mby5z
dXBwb3J0ZWRDb25maWd1cmF0aW9uLmF1ZGlvKSB7CisgICAgICAgIENvbnRlbnRUeXBlIGNvbnRl
bnRUeXBlIHsgaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLmF1ZGlvLT5jb250ZW50VHlwZSB9
OworICAgICAgICBhdXRvIGNvZGVjID0gY29kZWNDYXBhYmlsaXR5KGNvbnRlbnRUeXBlLCBhdWRp
b0VuY29kaW5nQ2FwYWJpbGl0aWVzKCkpOworICAgICAgICBpZiAoIWNvZGVjKSB7CisgICAgICAg
ICAgICBjYWxsYmFjayh7IH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIGluZm8uc3VwcG9ydGVkID0gdHJ1ZTsKKyAgICB9CisgICAgY2FsbGJhY2soV1RGTW92ZShp
bmZvKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb25maWd1cmF0aW9uKTsKKyAgICBjYWxs
YmFjayh7IH0pOwogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCit9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKaW5kZXggMzZjNjRhODNj
ZWY5Mjg5MjdiMjYwZGE3NzA4NGRhZTI1ZTkxOWU0YS4uNTFiNDlhMGYxMTE1Y2RiYzg0OTQ1YzA0
MjE4M2ZlNmNlMTE2MDdmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKQEAg
LTM2LDYgKzM2LDggQEAKIAogI2lmIFVTRShMSUJXRUJSVEMpCiAKKyNpbmNsdWRlICJSVENSdHBD
YXBhYmlsaXRpZXMuaCIKKwogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KIEFMTE9XX0RF
UFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAKQEAgLTYyLDcgKzY0LDEyIEBAIGNsYXNzIFBl
ZXJDb25uZWN0aW9uRmFjdG9yeUludGVyZmFjZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBDb250ZW50VHlwZTsKIGNsYXNzIExpYldlYlJUQ0F1ZGlvTW9kdWxlOworc3RydWN0IE1l
ZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvOworc3RydWN0IE1lZGlhQ2FwYWJpbGl0aWVzRW5j
b2RpbmdJbmZvOworc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOworc3RydWN0IE1l
ZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOwogY2xhc3MgUmVnaXN0cmFibGVEb21haW47CiBzdHJ1
Y3QgUGVlckNvbm5lY3Rpb25GYWN0b3J5QW5kVGhyZWFkczsKIHN0cnVjdCBSVENSdHBDYXBhYmls
aXRpZXM7CkBAIC04Nyw2ICs5NCwxMSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFJlZlB0cjxS
VENEYXRhQ2hhbm5lbFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uPiBjcmVhdGVSVENEYXRhQ2hhbm5l
bFJlbW90ZUhhbmRsZXJDb25uZWN0aW9uKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCisgICAgdXNp
bmcgRGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKE1lZGlhQ2Fw
YWJpbGl0aWVzRGVjb2RpbmdJbmZvJiYpPjsKKyAgICB1c2luZyBFbmNvZGluZ0NvbmZpZ3VyYXRp
b25DYWxsYmFjayA9IEZ1bmN0aW9uPHZvaWQoTWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8m
Jik+OworICAgIHZvaWQgY3JlYXRlRGVjb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdD
b25maWd1cmF0aW9uJiYsIERlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworICAgIHZv
aWQgY3JlYXRlRW5jb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9u
JiYsIEVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYpOworCiAjaWYgVVNFKExJQldFQlJU
QykKICAgICB2aXJ0dWFsIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9u
SW50ZXJmYWNlPiBjcmVhdGVQZWVyQ29ubmVjdGlvbihEb2N1bWVudElkZW50aWZpZXIsIHdlYnJ0
Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZlciYsIHJ0Yzo6UGFja2V0U29ja2V0RmFjdG9yeSosIHdl
YnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U6OlJUQ0NvbmZpZ3VyYXRpb24mJik7CiAKQEAg
LTEwNSw5ICsxMTcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbmFibGVFbnVtZXJhdGluZ0FsbE5l
dHdvcmtJbnRlcmZhY2VzKCk7CiAgICAgYm9vbCBpc0VudW1lcmF0aW5nQWxsTmV0d29ya0ludGVy
ZmFjZXNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdv
cmtJbnRlcmZhY2VzOyB9CiAKLSAgICB2b2lkIHNldEgyNjVTdXBwb3J0KGJvb2wgdmFsdWUpIHsg
bV9zdXBwb3J0c0gyNjUgPSB2YWx1ZTsgfQorICAgIHZvaWQgc2V0SDI2NVN1cHBvcnQoYm9vbCk7
CiAgICAgdm9pZCBzZXRWUDlTdXBwb3J0KGJvb2wgc3VwcG9ydHNWUDlQcm9maWxlMCwgYm9vbCBz
dXBwb3J0c1ZQOVByb2ZpbGUyKTsKLSAgICB2b2lkIHNldFZQOVZUQlN1cHBvcnQoYm9vbCB2YWx1
ZSkgeyBtX3N1cHBvcnRzVlA5VlRCID0gdmFsdWU7IH0KKyAgICB2b2lkIHNldFZQOVZUQlN1cHBv
cnQoYm9vbCk7CiAgICAgYm9vbCBpc1N1cHBvcnRpbmdIMjY1KCkgY29uc3QgeyByZXR1cm4gbV9z
dXBwb3J0c0gyNjU7IH0KICAgICBib29sIGlzU3VwcG9ydGluZ1ZQOVByb2ZpbGUwKCkgY29uc3Qg
eyByZXR1cm4gbV9zdXBwb3J0c1ZQOVByb2ZpbGUwOyB9CiAgICAgYm9vbCBpc1N1cHBvcnRpbmdW
UDlQcm9maWxlMigpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydHNWUDlQcm9maWxlMjsgfQpAQCAt
MTQ5LDYgKzE2MSwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0ZWROZXR3
b3JrVGhyZWFkKCkgeyB9OwogCiAgICAgUGVlckNvbm5lY3Rpb25GYWN0b3J5QW5kVGhyZWFkcyYg
Z2V0U3RhdGljRmFjdG9yeUFuZFRocmVhZHMoYm9vbCB1c2VOZXR3b3JrVGhyZWFkV2l0aFNvY2tl
dFNlcnZlcik7CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiBhdWRpb0Rl
Y29kaW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRp
ZXM+JiB2aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgc3RkOjpvcHRpb25hbDxSVENS
dHBDYXBhYmlsaXRpZXM+JiBhdWRpb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgc3RkOjpv
cHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiB2aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCk7
CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBDb2RlY0NhcGFiaWxpdHk+IGNvZGVjQ2FwYWJpbGl0
eShjb25zdCBDb250ZW50VHlwZSYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0
aWVzPiYpOwogCiAgICAgYm9vbCBtX2VuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFj
ZXMgeyBmYWxzZSB9OwogICAgIC8vIEZJWE1FOiBSZW1vdmUgbV91c2VOZXR3b3JrVGhyZWFkV2l0
aFNvY2tldFNlcnZlciBtZW1iZXIgdmFyaWFibGUgYW5kIG1ha2UgaXQgYSBnbG9iYWwuCkBAIC0x
NjIsMTUgKzE3OSwxMiBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX3N1cHBvcnRzVlA5VlRCIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fdXNlRFRMUzEwIHsgZmFsc2UgfTsKICAgICBib29sIG1fc3Vw
cG9ydHNNRE5TIHsgZmFsc2UgfTsKLSNlbmRpZgotfTsKIAotI2lmIFVTRShMSUJXRUJSVEMpCi1p
bmxpbmUgdm9pZCBMaWJXZWJSVENQcm92aWRlcjo6c2V0VlA5U3VwcG9ydChib29sIHN1cHBvcnRz
VlA5UHJvZmlsZTAsIGJvb2wgc3VwcG9ydHNWUDlQcm9maWxlMikKLXsKLSAgICBtX3N1cHBvcnRz
VlA5UHJvZmlsZTAgPSBzdXBwb3J0c1ZQOVByb2ZpbGUwOwotICAgIG1fc3VwcG9ydHNWUDlQcm9m
aWxlMiA9IHN1cHBvcnRzVlA5UHJvZmlsZTI7Ci19CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBD
YXBhYmlsaXRpZXM+IG1fYXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllczsKKyAgICBzdGQ6Om9wdGlv
bmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gbV92aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzOworICAg
IHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBtX2F1ZGlvRW5jb2RpbmdDYXBhYmls
aXRpZXM7CisgICAgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IG1fdmlkZW9FbmNv
ZGluZ0NhcGFiaWxpdGllczsKICNlbmRpZgorfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYUVuZ2luZUNvbmZp
Z3VyYXRpb25GYWN0b3J5TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlNb2NrLmNwcAppbmRleCBjZjE4ZmU3NDZiYTNh
ZWQzZmUwZGI1YTNhMDA4ODk5ZDRlNmExNzUyLi4wMjY2MWNjMzFmZDAxMTVkY2NmNTgzNzNhODBk
ODRhYzI1YzFjMDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01l
ZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlNb2NrLmNwcApA
QCAtMTAxLDggKzEwMSw4IEBAIHN0YXRpYyBib29sIGNhblBvd2VyRWZmaWNpZW50bHlEZWNvZGVN
ZWRpYShjb25zdCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbiYgY29uCiAKIHN0YXRpYyBib29s
IGNhbkVuY29kZU1lZGlhKGNvbnN0IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uJiBjb25maWd1
cmF0aW9uKQogewotICAgIC8vIFRoZSBtb2NrIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIG9ubHkg
bG9jYWwgZmlsZSBwbGF5YmFjay4KLSAgICBpZiAoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlh
RW5jb2RpbmdUeXBlOjpSZWNvcmQpCisgICAgQVNTRVJUKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBN
ZWRpYUVuY29kaW5nVHlwZTo6UmVjb3JkKTsKKyAgICBpZiAoY29uZmlndXJhdGlvbi50eXBlICE9
IE1lZGlhRW5jb2RpbmdUeXBlOjpSZWNvcmQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IC8vIE1heGluZyBvdXQgdmlkZW8gZW5jb2Rpbmcgc3VwcG9ydCBhdCA3MjBQLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg3
MjZkZWQyNTMwY2M4YmQxNmRjYjM3ZWI2YzczZTIwZjNmODUxZGIuLjUwYTIxZjE5ZDY3ZmQ5N2Vh
ODIyNzBiN2FmOGQwOWMxYjVjYzY2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0xMC0x
MiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIFdlYlJUQyBtZWRpYSBjYXBhYmlsaXRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1l
bmNvZGluZ0luZm8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21lZGlhY2FwYWJpbGl0
aWVzL21vY2stZW5jb2RpbmdJbmZvLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vbWFjL21lZGlh
L21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVuY29kaW5nSW5mby11bmRlZmlu
ZWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9tZWRpYS9t
ZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVk
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJp
bGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLXR5cGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB0
ZXN0cy1vcHRpb25zLmpzb246CisKIDIwMjEtMTAtMTAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGl0ZXJhdGluZyBGaWxlU3lzdGVt
RGlyZWN0b3J5SGFuZGxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxMTk0OTIz
ZGRiMDEwYjVhNWQwZTRhY2Y5MzNlZjZjYTNhOWM2MjNjLi43MTJlMTIxODQ3NDllZGIxNzU0MWNl
MDQ3ZTIzNjQxMDc2YWQzNzdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAyMS0xMC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFdlYlJUQyBtZWRpYSBjYXBhYmlsaXRpZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTU2OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcmVzb3VyY2Vz
L2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL1JFQURNRS5tZDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS5qczogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNv
ZGluZ0luZm8uYW55Lndvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXIu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9kZWNvZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8ud2VicnRj
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2Rp
bmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0VuY3J5cHRlZE1lZGlh
Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVz
L2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZv
LndlYnJ0Yy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3Mu
YW55LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LmpzOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lk
bGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDIxLTEwLTEwICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBpdGVyYXRpbmcgRmls
ZVN5c3RlbURpcmVjdG9yeUhhbmRsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCA2OGVjMjgz
ZTk0MTI5MTAyYzYzNmQ0ZTgyZmI2NjAyMjliNDU4MjhhLi42MTBkZDVjZmQ1YWY1MGZiZDY5MTFm
YzE3MDUzOGJmYTQwYmQyNjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMzYwLDcgKzM2
MCw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9sb25ndGFzay10aW1pbmciOiAic2tpcCIs
IAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWFnbmV0b21ldGVyIjogInNraXAiLCAKICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbCI6ICJpbXBvcnQiLCAKLSAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcyI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1zb3VyY2UiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS8iOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
aW1hZ2UiOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9NRVRB
LnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yYmQwMGVmYjlhNzY0ZTI5Zjg5NWFmN2I0NzYxZjcwZTkzZmExZDAy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWwKQEAgLTAsMCArMSwzIEBACitzcGVj
OiBodHRwczovL3czYy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLworc3VnZ2VzdGVkX3Jl
dmlld2VyczoKKyAgLSBtb3VuaXJsYW1vdXJpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9SRUFETUUubWQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZlOTk0OTc2YzA3Njg3MDYyMzcxYWE4MjEw
NGM4OTBmM2IwOWQ1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL1JFQURNRS5tZApAQCAtMCww
ICsxLDE0IEBACisjIE1lZGlhIENhcGFiaWxpdGllcyBzcGVjaWZpY2F0aW9uIFRlc3RzCisKK1Ro
ZSBNZWRpYSBDYXBhYmlsaXRpZXMgc3BlY2lmaWNhdGlvbiBpcyBhdmFpbGFibGUgaGVyZTogaHR0
cHM6Ly93aWNnLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRpZXMKKworR2l0SHViIHJlcG9zaXRv
cnk6IGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL21lZGlhLWNhcGFiaWxpdGllcworCitGaWxlIGFu
IGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vd2ljZy9tZWRpYS1jYXBhYmlsaXRpZXMvaXNzdWVz
L25ldworCisjIyBTdGF0dXMgb2YgdGhlc2UgdGVzdHMKKworVGhlc2UgdGVzdHMgYXJlIHN0aWxs
IHZlcnkgZWFybHkuIFRoZSBzcGVjaWZpY2F0aW9uIGlzIHN0aWxsIFdJUCBhbmQgdGhleSB0cnkg
dG8KK3JlZmxlY3QgYXMgbXVjaCBhcyBwb3NzaWJsZSB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUg
c3BlY2lmaWNhdGlvbi4gUGxlYXNlIGZpbGUKK2lzc3VlcyBpZiB0aGVyZSBhcmUgaW5jb25zaXN0
ZW5jaWVzIGJldHdlZW4gdGhlIHNwZWNpZmljYXRpb24gYW5kIHRoZSB0ZXN0cyBvcgoraWYgdGVz
dHMgYXJlIG9idmlvdXNseSBtaXNzaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZv
LmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xNTY1OTRiMWJhZmNhNDljMjY1Y2UyMjBjYjhlYjZkMGMwNmUxZGIwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzMSBAQAorCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBk
b2Vzbid0IGdldCBhIGNvbmZpZ3VyYXRpb24KK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQKK1BBU1MgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBu
b3QgaGF2ZSBhIHR5cGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZAorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRv
IDAKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkKK1BBU1MgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRU
eXBlIGRvZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8K
K0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciBhc3NlcnRfdW5y
ZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBj
b2RlY3MKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGlu
IHRoZSBmb3JtIG9mIHgveQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kKK1BBU1MgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kKK1BBU1Mg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9m
IHgvLXkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGlu
IHRoZSBmb3JtIG9mIHgvCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZy
YW1lcmF0ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzCitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5U
eXBlIGRvZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8K
K0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1
cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMgYXNzZXJ0X3Vu
cmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRp
byBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3Qg
Y29kZWNzCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlh
Q2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJvYmplY3Qi
IGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5cGUKK0ZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIHNwYXRpYWxSZW5kZXJpbmcgc2V0IHJldHVy
bnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gd2l0aCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQsIGFuZCB0cmFuc2ZlckZ1
bmN0aW9uIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gaGFzIGFuIGVtcHR5IGhkck1ldGFkYXRhVHlwZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgY29sb3JHYW11dCBz
ZXQgdG8gdHJ1ZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgdHJhbnNmZXJGdW5jdGlvbiBzZXQgdG8gMworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8u
YW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1
NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRtbApAQCAt
MCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5m
cmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRp
ZXMvZGVjb2RpbmdJbmZvLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzJkNDdlODcyOTU3NzVmMjA3ZmVk
ZDZmM2Y2ODY4MWNhMzJhZDc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZv
LmFueS5qcwpAQCAtMCwwICsxLDM4MyBAQAorLy8gTUVUQTogdGltZW91dD1sb25nCisndXNlIHN0
cmljdCc7CisKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxv
d2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2
YXIgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2aWRlby93
ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwKKyAgaGVpZ2h0OiA2
MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBNaW5pbWFs
IEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9w
dGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxBdWRpb0NvbmZp
Z3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIics
Cit9OworCisvLyBBdWRpb0NvbmZpZ3VyYXRpb24gd2l0aCBvcHRpb25hbCBzcGF0aWFsUmVuZGVy
aW5nIHBhcmFtLgordmFyIGF1ZGlvQ29uZmlndXJhdGlvbldpdGhTcGF0aWFsUmVuZGVyaW5nID0g
eworICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorICBzcGF0aWFs
UmVuZGVyaW5nOiB0cnVlLAorfTsKKworLy8gVmlkZW9Db25maWd1cmF0aW9uIHdpdGggb3B0aW9u
YWwgaGRyTWV0YWRhdGFUeXBlLCBjb2xvckdhbXV0LCBhbmQKKy8vIHRyYW5zZmVyRnVuY3Rpb24g
cHJvcGVydGllcy4KK3ZhciB2aWRlb0NvbmZpZ3VyYXRpb25XaXRoRHluYW1pY1JhbmdlID0gewor
ICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICB3
aWR0aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAgYml0cmF0ZTogMzAwMCwKKyAgZnJhbWVyYXRl
OiAyNCwKKyAgaGRyTWV0YWRhdGFUeXBlOiAic21wdGVTdDIwODYiLAorICBjb2xvckdhbXV0OiAi
c3JnYiIsCisgIHRyYW5zZmVyRnVuY3Rpb246ICJzcmdiIiwKK30KKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbygpKTsKK30sICJUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oe30pKTsKK30sICJU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBp
c24ndCB2YWxpZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvKHsKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRp
bzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhhdmUg
YSB0eXBlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3Ig
dmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50
VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6
IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZy
YW1lcmF0ZTogLTEsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJh
dGUiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pz
KHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7
CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3Zp
ZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAg
ICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTog
MCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsg
Y29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0
OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiBJbmZpbml0eSwK
KyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkiKTsK
KworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2ZnZW9hJywK
KyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMw
MDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5
cGUgZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNv
bnRlbnRUeXBlOiAnYXVkaW8vZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdo
dDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAg
fSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6
ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBj
b2RlY3M9InZwMDkuMDAuMTAuMDgiOyBmb289ImJhciInLAorICAgICAgd2lkdGg6IDgwMCwKKyAg
ICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTog
MjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBw
YXJhbWV0ZXIiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlw
ZTogJ3ZpZGVvL3dlYm07IGZvbz0iYmFyIicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVp
Z2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAg
ICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNu
J3QgY29kZWNzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5
cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4
MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFt
ZXJhdGU6ICcyNDAwMC8xMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Iik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdm
aWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2Rl
Y3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYw
MCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8wJywKKyAg
ICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgeC8wIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAg
ICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAg
ICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAs
CisgICAgICBmcmFtZXJhdGU6ICcwLzEwMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95Iik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93
ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBo
ZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICctMjQw
MDAvMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBy
ZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95Iik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAg
ICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDku
MDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAg
IGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAorICAgIH0K
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBp
biB0aGUgZm9ybSBvZiB4Ly15Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6ICcyNDAwMC8nLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LyIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsg
Y29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0
OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMS8zeCcsCisg
ICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVy
YXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAor
ICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVu
VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzogeyBjb250ZW50
VHlwZTogJ3ZpZGVvL2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9m
IHR5cGUgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAn
YXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIjsgZm9vPSJiYXIiJyB9LAorICB9KSk7Cit9LCAiVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNv
bnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAor
ICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9LAorICB9
KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNz
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogbWlu
aW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJh
dGlvbiwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBh
YmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBh
YmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBhYmls
aXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCAib2JqZWN0Iik7CisgIH0pOworfSwgIlRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmpl
Y3RzIik7CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHZhciB2YWxpZFR5cGVzID0gWyAnZmlsZScs
ICdtZWRpYS1zb3VyY2UnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVmaW5lZCwgbnVs
bCwgJycsICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgJ3JlY29yZCcsICd0cmFuc21pc3Npb24nIF07CisKKyAgdmFyIHZhbGlkUHJvbWlzZXMg
PSBbXTsKKyAgdmFyIGludmFsaWRDYXVnaHQgPSAwOworCisgIHZhbGlkVHlwZXMuZm9yRWFjaCh0
eXBlID0+IHsKKyAgICB2YWxpZFByb21pc2VzLnB1c2gobmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmRlY29kaW5nSW5mbyh7CisgICAgICB0eXBlOiB0eXBlLAorICAgICAgdmlkZW86IG1pbmlt
YWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJh
dGlvbiwKKyAgICB9KSk7CisgIH0pOworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3RlZCB2aWEg
UHJvbWlzZS5hbGwodmFsaWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisgIC8vIHBy
b21pc2VzIGZhaWwsIFByb21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFuaXNtIGNh
bid0IGJlIHVzZWQgZm9yCisgIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0ZXN0ZWQg
aW5kaXZpZHVhbGx5IGFuZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVuIHJlamVj
dGVkIHVudGlsIHRoZSBhbW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVjdGF0aW9u
LgorICBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgpID0+IHsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkgeworICAg
ICAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgICAgIHR5
cGU6IGludmFsaWRUeXBlc1tpXSwKKyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3Vy
YXRpb24sCisgICAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgICAg
fSkudGhlbih0LnVucmVhY2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAgICAgICBh
c3NlcnRfZXF1YWxzKGUubmFtZSwgJ1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFsaWRDYXVn
aHQ7CisgICAgICAgIGlmIChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5ndGgpCisg
ICAgICAgICAgdC5kb25lKCk7CisgICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJlYWNoZWRf
ZnVuYygnUHJvbWlzZS5hbGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVzJykpOwor
fSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0
aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzogYXVkaW9Db25maWd1cmF0aW9uV2l0aFNwYXRpYWxS
ZW5kZXJpbmcsCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
YWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5
cGVvZiBhYmlsaXR5LmtleVN5c3RlbUFjY2VzcywgIm9iamVjdCIpOworICB9KTsKK30sICJUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJucyBhIHZh
bGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogdmlkZW9Db25maWd1cmF0aW9uV2l0aER5bmFt
aWNSYW5nZSwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVv
ZiBhYmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVv
ZiBhYmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBh
YmlsaXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCAib2JqZWN0Iik7CisgIH0pOworfSwgIlRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gd2l0aCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQsIGFuZCB0
cmFuc2ZlckZ1bmN0aW9uIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZv
IG9iamVjdHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlw
ZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgw
MCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1l
cmF0ZTogMjQsCisgICAgICBoZHJNZXRhZGF0YVR5cGU6ICIiCisgICAgfSwKKyAgfSkpOworfSwg
IlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlv
biBoYXMgYW4gZW1wdHkgaGRyTWV0YWRhdGFUeXBlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRl
bzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAu
MDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJh
dGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgICAgY29sb3JHYW11dDogdHJ1ZQor
ICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgY29sb3JHYW11dCBzZXQgdG8gdHJ1ZSIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsg
Y29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0
OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICAg
IHRyYW5zZmVyRnVuY3Rpb246IDMKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIHRyYW5zZmVy
RnVuY3Rpb24gc2V0IHRvIDMiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnku
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MTI4MGYyMjBmZWJlYmNkNmFhODRmN2EwYjA3ZTBmYjIzZjc4
Njc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKKworRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uIHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBN
ZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQor
RkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJh
dGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlM
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vz
bid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
JykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
bycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UgdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbyB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9u
ZSBwYXJhbWV0ZXIgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4g
dGhlIGZvcm0gb2YgeC95IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvMCB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWpl
Y3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhl
IGZvcm0gb2YgLXgveSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15IHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVj
dHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0
IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykK
K0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdpdGggdHJh
aWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJ
TCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRp
b24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8gdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRl
ciB0aGF0IGlzbid0IGNvZGVjcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBv
YmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZh
bGlkIHR5cGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2Fw
YWJpbGl0aWVzSW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11dCwgYW5k
IHRyYW5zZmVyRnVuY3Rpb24gc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0lu
Zm8gb2JqZWN0cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYW4gZW1wdHkg
aGRyTWV0YWRhdGFUeXBlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0
IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGNv
bG9yR2FtdXQgc2V0IHRvIHRydWUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFz
IGEgdHJhbnNmZXJGdW5jdGlvbiBzZXQgdG8gMyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAo
ZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9k
ZWNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNh
NWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGlu
Z0luZm8uYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJl
cXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRl
ZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVz
L2RlY29kaW5nSW5mby53ZWJydGMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndl
YnJ0Yy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDFjNjdiN2U2NTQzNjRkYmJhMTY5Y2U2MjEx
MTg0ODFmMGIxMTc0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJy
dGMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKKworUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlv
IG9yIHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BBU1MgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhh
cyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZp
bml0eQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
aXNuJ3Qgb2YgdHlwZSB2aWRlbworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworUEFTUyBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cworUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkLCBzbW9vdGgsIGFuZCBw
b3dlckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMgdmlkZW8gY29udGVudCB0
eXBlLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkLCBzbW9v
dGgsIGFuZCBwb3dlckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMgYXVkaW8g
Y29udGVudCB0eXBlLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9y
dGVkIHRydWUgZm9yIHRoZSBjb2RlYyBhdWRpby9vcHVzIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2Vp
dmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJu
cyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL0lTQUMgcmV0dXJuZWQgYnkgUlRD
UnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgYXVkaW8vRzcyMiByZXR1cm5l
ZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyBhdWRpby9QQ01V
IHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1
ZGlvL1BDTUEgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BB
U1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUg
Y29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9u
LW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTY0MGMxZiByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZl
ci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMg
c3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBsZXZlbC1hc3ltbWV0cnkt
YWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NDJlMDFmIHJl
dHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVv
L0gyNjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTA7cHJv
ZmlsZS1sZXZlbC1pZD02NDBjMWYgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJp
bGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0
cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtw
YWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZiByZXR1cm5lZCBieSBS
VENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY1IHJldHVy
bmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL1ZQ
OCByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2
aWRlby9WUDk7IHByb2ZpbGUtaWQ9MCByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBh
YmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVk
IHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9WUDk7IHByb2ZpbGUtaWQ9MiByZXR1cm5lZCBieSBS
VENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNv
ZGluZ0luZm8ud2VicnRjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8ud2VicnRjLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjI4Mzk1NjEwMDY5NzA2OTRhZDU0ZTg2YTA2MTNkOGMyY2ZiYjI1ZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMuaHRtbApAQCAtMCwwICsxLDIx
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvKCkgZm9yIHdlYnJ0YzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworLy8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRp
b24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVy
dGllcyBhcmUgbWlzc2luZy4KK2NvbnN0IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gPSB7Cisg
IGNvbnRlbnRUeXBlOiAndmlkZW8vVlA5OyBwcm9maWxlLWxldmVsPSIwIicsCisgIHdpZHRoOiA4
MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6IDI0LAor
fTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQg
cGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK2NvbnN0
IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vb3B1
cycsCit9OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3Ig
dmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRl
bnRUeXBlOiAndmlkZW8vVlA5JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYw
MCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IC0xLAorICAgIH0sCisg
IH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAor
ICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOSInLAorICAgICAgd2lk
dGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAg
IGZyYW1lcmF0ZTogMCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQg
dG8gMCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNf
anModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6
ICd2aWRlby9WUDkiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAg
ICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAorICAgIH0sCisg
IH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSIpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2Vi
cnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdmZ2VvYScsCisgICAgICB3
aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAg
ICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNu
J3QgcGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRU
eXBlOiAnYXVkaW8vZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAw
LAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAg
fSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJy
dGMnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24g
Y29udGVudFR5cGUgZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICBhdWRpbzog
eyBjb250ZW50VHlwZTogJ3ZpZGVvL2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBl
IGlzbid0IG9mIHR5cGUgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dl
YnJ0YycsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86
IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAg
YXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNz
ZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAg
fSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBh
YmlsaXRpZXNJbmZvIG9iamVjdHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dl
YnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2
MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAor
ICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkg
PT4geworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnN1cHBvcnRlZCk7CisgICAgYXNzZXJ0X2Zh
bHNlKGFiaWxpdHkuc21vb3RoKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5wb3dlckVmZmlj
aWVudCk7CisgIH0pOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0
ZWQsIHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9uLXdlYnJ0
YyB2aWRlbyBjb250ZW50IHR5cGUuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3
ZWJydGMnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlv
OiB7CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorICAg
IH0sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3Vw
cG9ydGVkKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2VydF9m
YWxzZShhYmlsaXR5LnBvd2VyRWZmaWNpZW50KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0
IHRvIGZhbHNlIGZvciBub24td2VicnRjIGF1ZGlvIGNvbnRlbnQgdHlwZS4iKTsKKworY29uc3Qg
dmFsaWRBdWRpb0NvZGVjcyA9ICgoKSA9PiB7CisgIC8vIFNvbWUgY29kZWNzIHRoYXQgYXJlIHJl
dHVybmVkIGJ5IGdldENhcGFiaWxpdGllcygpIGFyZSBub3QgcmVhbCBjb2RlY3MsCisgIC8vIGV4
Y2x1ZGUgdGhlc2UgZnJvbSB0aGUgdGVzdC4KKyAgY29uc3QgZXhjbHVkZUxpc3QgPSBbICdhdWRp
by9DTicsICdhdWRpby90ZWxlcGhvbmUtZXZlbnQnLCAnYXVkaW8vcmVkJyBdOworICBjb25zdCBh
dWRpb0NvZGVjcyA9IFtdOworICBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoImF1ZGlv
IilbJ2NvZGVjcyddLmZvckVhY2goY29kZWMgPT4geworICAgIGlmIChleGNsdWRlTGlzdC5pbmRl
eE9mKGNvZGVjLm1pbWVUeXBlKSA8IDAgJiYKKyAgICAgICAgYXVkaW9Db2RlY3MuaW5kZXhPZihj
b2RlYy5taW1lVHlwZSkgPCAwKSB7CisgICAgICBhdWRpb0NvZGVjcy5wdXNoKGNvZGVjLm1pbWVU
eXBlKTsKKyAgICB9CisgIH0pOworICByZXR1cm4gYXVkaW9Db2RlY3M7Cit9KSgpOworCit2YWxp
ZEF1ZGlvQ29kZWNzLmZvckVhY2goY29kZWMgPT4geworICBwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0
eXBlOiAnd2VicnRjJywKKyAgICBhdWRpbzogeworICAgICAgY29udGVudFR5cGU6IGNvZGVjCisg
ICAgfQorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF90cnVlKGFiaWxpdHkuc3Vw
cG9ydGVkKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBv
cnRlZCB0cnVlIGZvciB0aGUgY29kZWMgIiArIGNvZGVjICsgIiByZXR1cm5lZCBieSBSVENSdHBS
ZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKSIpfQorKTsKKworY29uc3QgdmFsaWRWaWRlb0NvZGVj
cyA9ICgoKSA9PiB7CisgIC8vIFNvbWUgY29kZWNzIHRoYXQgYXJlIHJldHVybmVkIGJ5IGdldENh
cGFiaWxpdGllcygpIGFyZSBub3QgcmVhbCBjb2RlY3MgYnV0CisgIC8vIG9ubHkgdXNlZCBmb3Ig
ZXJyb3IgY29ycmVjdGlvbiwgZXhjbHVkZSB0aGVzZSBmcm9tIHRoZSB0ZXN0LgorICBjb25zdCBl
eGNsdWRlTGlzdCA9IFsgJ3ZpZGVvL3J0eCcsICd2aWRlby9yZWQnLCAndmlkZW8vdWxwZmVjJywK
KyAgICAgICAgICAgICAgICAgICAgICAndmlkZW8vZmxleGZlYy0wMycgXTsKKyAgY29uc3Qgdmlk
ZW9Db2RlY3MgPSBbXTsKKworICBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoInZpZGVv
IilbJ2NvZGVjcyddLmZvckVhY2goY29kZWMgPT4geworICAgIGlmIChleGNsdWRlTGlzdC5pbmRl
eE9mKGNvZGVjLm1pbWVUeXBlKSA8IDApIHsKKyAgICAgIGxldCBtaW1lVHlwZSA9IGNvZGVjLm1p
bWVUeXBlOworICAgICAgaWYgKCdzZHBGbXRwTGluZScgaW4gY29kZWMpIHsKKyAgICAgICAgbWlt
ZVR5cGUgKz0gIjsgIiArIGNvZGVjLnNkcEZtdHBMaW5lOworICAgICAgfQorICAgICAgaWYgKCEo
bWltZVR5cGUgaW4gdmlkZW9Db2RlY3MpKSB7CisgICAgICAgIHZpZGVvQ29kZWNzLnB1c2gobWlt
ZVR5cGUpOworICAgICAgfQorICAgIH0KKyAgfSk7CisgIHJldHVybiB2aWRlb0NvZGVjczsKK30p
KCk7CisKK3ZhbGlkVmlkZW9Db2RlY3MuZm9yRWFjaChjb2RlYyA9PiB7CisgIHByb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlw
ZTogY29kZWMsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBi
aXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9CisgIH0pLnRoZW4oYWJp
bGl0eSA9PiB7CisgICAgYXNzZXJ0X3RydWUoYWJpbGl0eS5zdXBwb3J0ZWQpOworICB9KTsKK30s
ICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBj
b2RlYyAiICsgY29kZWMgKyAiIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxp
dGllcygpIil9CispOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5m
b0VuY3J5cHRlZE1lZGlhLmh0dHAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5j
cnlwdGVkTWVkaWEuaHR0cC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM3YWExY2FmMzBjYjMz
OTQyNzlmNjZiYmEzMjhjNTNiYzYxNGM2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29k
aW5nSW5mb0VuY3J5cHRlZE1lZGlhLmh0dHAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAor
CitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSB3aXRoIGEga2V5U3lzdGVtQ29uZmlndXJh
dGlvbiBmYWlscyBvbiBhIG5vbi1zZWN1cmUgY29udGV4dC4gYXNzZXJ0X3VucmVhY2hlZDogU2hv
dWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2
N2IyMzQzMWI3ZmRmM2JhZjNkNDg0M2Q2ODc3OGJiMWNjMTVjODUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWwKQEAgLTAsMCArMSwz
MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvKCkgZm9yIGVuY3J5cHRlZCBtZWRpYSAobm9uLXNlY3VyZSBjb250ZXh0KTwvdGl0bGU+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworLy8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVy
IHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5p
bWFsVmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNv
ZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICB3aWR0aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAg
Yml0cmF0ZTogMzAwMCwKKyAgZnJhbWVyYXRlOiAyNCwKK307CisKKy8vIE1pbmltYWwgTWVkaWFD
YXBhYmlsaXRpZXNLZXlTeXN0ZW1Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBl
cgorLy8gc3BlYy4gQWxsIG9wdGlvbmFsIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWlu
aW1hbEtleVN5c3RlbUNvbmZpZ3VyYXRpb24gPSB7CisgIGtleVN5c3RlbTogJ29yZy53My5jbGVh
cmtleScKK307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19kb20odCwgJ1NlY3VyaXR5RXJyb3InLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0Nv
bmZpZ3VyYXRpb24sCisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogbWluaW1hbEtleVN5c3Rl
bUNvbmZpZ3VyYXRpb24sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgd2l0
aCBhIGtleVN5c3RlbUNvbmZpZ3VyYXRpb24gZmFpbHMgb24gYSBub24tc2VjdXJlIGNvbnRleHQu
Iik7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVk
TWVkaWEuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVk
aWEuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3ZTlhYWE0YWQ5MDA5MGIwZDcyMGQx
ZDlmNDE3OTM0YWQ3MTNiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9F
bmNyeXB0ZWRNZWRpYS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorCitQQVNT
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBhY2NlcHRzIGEgc3R1YiBrZXkgc3lzdGVtIGNvbmZp
Z3VyYXRpb24gKHcvdmlkZW8pLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0
cyBhIHN0dWIga2V5IHN5c3RlbSBjb25maWd1cmF0aW9uICh3L2F1ZGlvKS4KK1BBU1MgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbygpIGFjY2VwdHMgYSBrZXkgc3lzdGVtIGNvbmZpZ3VyYXRpb24gd2l0
aCB2aWRlbyBpbmZvLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgYWNjZXB0cyBhIGtl
eSBzeXN0ZW0gY29uZmlndXJhdGlvbiB3aXRoIGF1ZGlvIGluZm8uCitGQUlMIFRlc3QgdGhhdCBk
ZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIHJvYnVzdG5lc3MgYW5kIGNvbmZpZ3VyYXRpb24gZG8g
bm90IG1hdGNoICgxKS4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVu
ZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbygpIHJlamVjdHMgaWYgcm9idXN0bmVzcyBhbmQgY29uZmlndXJhdGlvbiBkbyBub3QgbWF0
Y2ggKDIpLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVk
IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkg
cmVqZWN0cyBpZiByb2J1c3RuZXNzIGFuZCBjb25maWd1cmF0aW9uIGRvIG5vdCBtYXRjaCAoMyku
IGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3Rz
IGlmIHBlcnNpc3RlbnRTdGF0ZSBpc24ndCB2YWxpZC4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxk
IGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgZGlzdGluY3RpdmVJZGVudGlmaWVy
IGlzbid0IHZhbGlkLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5k
ZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJ
bmZvKCkgcmVqZWN0cyBpZiBzZXNzaW9uVHlwZXMgaXNuJ3QgYSBzZXF1ZW5jZS4gYXNzZXJ0X3Vu
cmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGRvZXMgbm90IHJlamVjdCB3
aGVuIHByb3BlcnRpZXMgYXJlIHNldCB0byB1bmV4cGVjdGVkIHZhbHVlcy4KK0ZBSUwgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGlu
Z0luZm8gb2JqZWN0cyB3aXRoIGVuY3J5cHRlZCBtZWRpYSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIFRlc3QgdGhhdCByYW5kb20ga2V5
IHN5c3RlbXMgYXJlIHJlcG9ydGVkIGFzIG5vbiBzdXBwb3J0ZWQuIGFzc2VydF9mYWxzZTogZXhw
ZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1MgVGVzdCB0aGF0IGtleVN5c3RlbUFjY2VzcyBpcyBv
bmx5IG51bGwgd2hlbiBub3Qgc3VwcG9ydGVkIGlmIGtleVN5c3RlbUNvbmZpZ3VyYXRpb24gd2Fz
IHVzZWQuCitGQUlMIFRlc3QgdGhhdCBzdXBwb3J0ZWQ9ZmFsc2Ugd2hlbiBrZXlTeXN0ZW1Db25m
aWd1cmF0aW9uIGlzIHVuc3VwcG9ydGVkLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0
KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIFRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8oKSB3aXRoIHR5cGUgd2VicnRjIHJlamVjdHMga2V5IHN5c3RlbSBjb25maWd1cmF0
aW9uLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm9F
bmNyeXB0ZWRNZWRpYS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVk
aWEuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YWM5MTRkZTg5ZGRjMGY3YmVlMDE2OWE3YzdjZWUw
NGFiMjYxZjJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVk
TWVkaWEuaHR0cHMuaHRtbApAQCAtMCwwICsxLDI2MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0
bGU+TWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKCkgZm9yIGVuY3J5cHRlZCBtZWRpYTwv
dGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisvLyBNaW5p
bWFsIFZpZGVvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxs
IG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxWaWRlb0Nv
bmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5
LjAwLjEwLjA4IicsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAz
MDAwLAorICBmcmFtZXJhdGU6IDI0LAorfTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRp
b24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVy
dGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uID0geworICBj
b250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorfTsKKworLy8gTWluaW1h
bCBNZWRpYUNhcGFiaWxpdGllc0tleVN5c3RlbUNvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFs
bG93ZWQgcGVyCisvLyBzcGVjLiBBbGwgb3B0aW9uYWwgcHJvcGVydGllcyBhcmUgbWlzc2luZy4K
K3ZhciBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiA9IHsKKyAga2V5U3lzdGVtOiAnb3Jn
LnczLmNsZWFya2V5JywKK307CisKKy8vIENvbmZpZyB3aXRoIGJvZ3VzIG5hbWUgbm90IHByb3Zp
ZGVkIGJ5IGFueSBVQS4KK3ZhciBib2d1c0tleVN5c3RlbUNvbmZpZ3VyYXRpb24gPSB7CisgIGtl
eVN5c3RlbTogJ2JvZ3VzJywKK307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxl
JywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1D
b25maWd1cmF0aW9uOiBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiwKKyAgfSk7Cit9LCAi
VGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGFjY2VwdHMgYSBzdHViIGtleSBzeXN0ZW0gY29uZmln
dXJhdGlvbiAody92aWRlbykuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxl
JywKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1D
b25maWd1cmF0aW9uOiBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiwKKyAgfSk7Cit9LCAi
VGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGFjY2VwdHMgYSBzdHViIGtleSBzeXN0ZW0gY29uZmln
dXJhdGlvbiAody9hdWRpbykuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxl
JywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1D
b25maWd1cmF0aW9uOiB7CisgICAgICBrZXlTeXN0ZW06ICdvcmcudzMuY2xlYXJrZXknLAorICAg
ICAgdmlkZW86IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgIH0sCisg
IH0pOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBhY2NlcHRzIGEga2V5IHN5c3RlbSBj
b25maWd1cmF0aW9uIHdpdGggdmlkZW8gaW5mby4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAg
IGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVh
cmtleScsCisgICAgICBhdWRpbyA6IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9
LAorICAgIH0sCisgIH0pOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSBhY2NlcHRzIGEg
a2V5IHN5c3RlbSBjb25maWd1cmF0aW9uIHdpdGggYXVkaW8gaW5mby4iKTsKKworcHJvbWlzZV90
ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUn
LAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNv
bmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtleScsCisgICAg
ICB2aWRlbzogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAgIH0sCisgICAgfSwKKyAg
fSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIHJvYnVzdG5lc3Mg
YW5kIGNvbmZpZ3VyYXRpb24gZG8gbm90IG1hdGNoICgxKS4iKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAg
IHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3Vy
YXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtleScsCisgICAgICBhdWRp
byA6IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgIH0sCisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiByb2J1c3RuZXNzIGFuZCBj
b25maWd1cmF0aW9uIGRvIG5vdCBtYXRjaCAoMikuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRl
bzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0ZW1Db25maWd1cmF0aW9u
OiB7CisgICAgICBrZXlTeXN0ZW06ICdvcmcudzMuY2xlYXJrZXknLAorICAgICAgYXVkaW8gOiB7
CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAgIHZpZGVvOiB7CisgICAg
ICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgaWYgcm9idXN0bmVzcyBhbmQgY29uZmlndXJhdGlv
biBkbyBub3QgbWF0Y2ggKDMpLiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgYXVkaW86IG1pbmltYWxB
dWRpb0NvbmZpZ3VyYXRpb24sCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24s
CisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVtOiAnb3JnLncz
LmNsZWFya2V5JywKKyAgICAgIGF1ZGlvIDogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAg
ICAgIH0sCisgICAgICB2aWRlbzogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAgICAgIH0s
CisgICAgICBwZXJzaXN0ZW50U3RhdGU6ICJmb29iYXIiLAorICAgIH0sCisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBpZiBwZXJzaXN0ZW50U3RhdGUgaXNuJ3Qg
dmFsaWQuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJh
dGlvbiwKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0
ZW1Db25maWd1cmF0aW9uOiB7CisgICAgICBrZXlTeXN0ZW06ICdvcmcudzMuY2xlYXJrZXknLAor
ICAgICAgYXVkaW8gOiB7CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAg
IHZpZGVvOiB7CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAgICAgIGRpc3Rp
bmN0aXZlSWRlbnRpZmllcjogImZvb2JhciIsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhh
dCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGlmIGRpc3RpbmN0aXZlSWRlbnRpZmllciBpc24ndCB2
YWxpZC4iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
X2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
byh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0
aW9uLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3Rl
bUNvbmZpZ3VyYXRpb246IHsKKyAgICAgIGtleVN5c3RlbTogJ29yZy53My5jbGVhcmtleScsCisg
ICAgICBhdWRpbyA6IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgICAg
dmlkZW86IHsKKyAgICAgICAgcm9idXN0bmVzczogJycsCisgICAgICB9LAorICAgICAgc2Vzc2lv
blR5cGVzOiAiZm9vYmFyIiwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5n
SW5mbygpIHJlamVjdHMgaWYgc2Vzc2lvblR5cGVzIGlzbid0IGEgc2VxdWVuY2UuIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlv
Q29uZmlndXJhdGlvbiwKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAg
ICBrZXlTeXN0ZW1Db25maWd1cmF0aW9uOiB7CisgICAgICBrZXlTeXN0ZW06IHt9LAorICAgICAg
aW5pdERhdGFUeXBlOiB7fSwKKyAgICAgIGF1ZGlvIDogeworICAgICAgICByb2J1c3RuZXNzOiAn
JywKKyAgICAgIH0sCisgICAgICB2aWRlbzogeworICAgICAgICByb2J1c3RuZXNzOiAnJywKKyAg
ICAgIH0sCisgICAgfSwKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIGRvZXMg
bm90IHJlamVjdCB3aGVuIHByb3BlcnRpZXMgYXJlIHNldCB0byB1bmV4cGVjdGVkIHZhbHVlcy4i
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiBtaW5p
bWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0
aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRpb246IG1pbmltYWxLZXlTeXN0ZW1Db25maWd1
cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGFi
aWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgYWJpbGl0eS5rZXlTeXN0ZW1BY2Nlc3MsICJvYmplY3QiKTsKKyAgfSk7Cit9LCAiVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGlu
Z0luZm8gb2JqZWN0cyB3aXRoIGVuY3J5cHRlZCBtZWRpYSIpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24s
CisgICAga2V5U3lzdGVtQ29uZmlndXJhdGlvbjogeworICAgICAga2V5U3lzdGVtOiAnZm9vYmFy
JywKKyAgICAgIHZpZGVvOiB7CisgICAgICAgIHJvYnVzdG5lc3M6ICcnLAorICAgICAgfSwKKyAg
ICB9CisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3Vw
cG9ydGVkKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2VydF9m
YWxzZShhYmlsaXR5LnBvd2VyRWZmaWNpZW50KTsKKyAgICBhc3NlcnRfZXF1YWxzKGFiaWxpdHku
a2V5U3lzdGVtQWNjZXNzLCBudWxsKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IHJhbmRvbSBrZXkg
c3lzdGVtcyBhcmUgcmVwb3J0ZWQgYXMgbm9uIHN1cHBvcnRlZC4iKTsKKworLy8gVE9ETyhtbGFt
b3VyaSk6IHRoaXMgdGVzdCBjb3VsZCBiZSBzcGxpdCBpbiB0d28gdGVzdHMgZm9yIHdoaWNoIGNv
ZGVjIHN1cHBvcnQKKy8vIGFjcm9zcyBicm93c2VycyBpcyB3aWRlbHkgY29tcGF0aWJsZTogb25l
IHdoZW4gYWxsIGJyb3dzZXJzIHdvdWxkbid0IHN1cHBvcnQKKy8vIGFuZCBvbmUgd2hlcmUgYWxs
IGJyb3dzZXJzIGRvIHN1cHBvcnQuIFRoZSBjdXJyZW50IGFwcHJvYWNoIGlzIHRvIGNoZWNrIHRo
YXQKKy8vIHRoZSBhbnN3ZXIgaXMgY29uc2lzdGVudCB0byB0aGUgc3BlYy4KK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJh
dGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgICBrZXlTeXN0
ZW1Db25maWd1cmF0aW9uOiBtaW5pbWFsS2V5U3lzdGVtQ29uZmlndXJhdGlvbiwKKyAgfSkudGhl
bihhYmlsaXR5ID0+IHsKKyAgICBpZiAoYWJpbGl0eS5zdXBwb3J0ZWQpCisgICAgICBhc3NlcnRf
bm90X2VxdWFscyhhYmlsaXR5LmtleVN5c3RlbUFjY2VzcywgbnVsbCk7CisgICAgZWxzZQorICAg
ICAgYXNzZXJ0X2VxdWFscyhhYmlsaXR5LmtleVN5c3RlbUFjY2VzcywgbnVsbCk7CisgIH0pOwor
fSwgIlRlc3QgdGhhdCBrZXlTeXN0ZW1BY2Nlc3MgaXMgb25seSBudWxsIHdoZW4gbm90IHN1cHBv
cnRlZCBpZiBrZXlTeXN0ZW1Db25maWd1cmF0aW9uIHdhcyB1c2VkLiIpOworCitwcm9taXNlX3Rl
c3QodCA9PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3Vy
YXRpb24sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgICAgLy8gU3Vw
cGx5IGJvZ3VzIGNvbmZpZyB0byByZWxpYWJseSByZXN1bHQgaW4gYSBudWxsIGtleVN5c3RlbUFj
Y2Vzcy4KKyAgICBrZXlTeXN0ZW1Db25maWd1cmF0aW9uOiBib2d1c0tleVN5c3RlbUNvbmZpZ3Vy
YXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhhYmlsaXR5
LmtleVN5c3RlbUFjY2VzcywgbnVsbCk7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3VwcG9y
dGVkKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IHN1cHBvcnRlZD1mYWxzZSB3aGVuIGtleVN5c3Rl
bUNvbmZpZ3VyYXRpb24gaXMgdW5zdXBwb3J0ZWQuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZp
ZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGtleVN5c3RlbUNvbmZpZ3VyYXRp
b246IG1pbmltYWxLZXlTeXN0ZW1Db25maWd1cmF0aW9uLAorICB9KSk7Cit9LCAiVGVzdCB0aGF0
IGRlY29kaW5nSW5mbygpIHdpdGggdHlwZSB3ZWJydGMgcmVqZWN0cyBrZXkgc3lzdGVtIGNvbmZp
Z3VyYXRpb24uIik7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZv
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmNlNzViMjdkMGQ3NjE0MGJhNzI1ZGI1Y2JlMjYzZmE3MjEwYjRhOQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAor
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vzbid0IGdldCBh
IGNvbmZpZ3VyYXRpb24KK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHR5
cGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBjb25maWd1cmF0
aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVsZAorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVn
YXRpdmUgZnJhbWVyYXRlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhh
cyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3Qg
cGFyc2UKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBj
b25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8KK0ZBSUwgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciBhc3NlcnRfdW5yZWFjaGVkOiBTaG91
bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MKK1BBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9m
IHgveQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4g
dGhlIGZvcm0gb2YgeC8wCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZy
YW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygp
IHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kKK1BBU1MgVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvLXkKK1BBU1Mg
VGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9m
IHgvCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSB3aXRo
IHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW5UeXBlIGRvZXNuJ3Qg
cGFyc2UKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBj
b25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8KK0ZBSUwgVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMgYXNzZXJ0X3VucmVhY2hlZDogU2hv
dWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BB
U1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNzCitQQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVz
SW5mbyBvYmplY3RzIGZvciByZWNvcmQgdHlwZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQg
dHlwZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29k
aW5nSW5mby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMmYwZjVhZGQzM2E3NDBkNzhkYzlhMjAxYzM3Zjhm
OTdkOTI4NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbApAQCAt
MCwwICsxLDMxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKCk8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9u
IHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRp
ZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29u
dGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6
IDgwMCwKKyAgaGVpZ2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQs
Cit9OworCisvLyBNaW5pbWFsIFdlYlJUQyBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJl
IGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2lu
Zy4KK3ZhciBtaW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlw
ZTogJ3ZpZGVvL1ZQOScsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRl
OiAzMDAwLAorICBmcmFtZXJhdGU6IDI0LAorfTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3Vy
YXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJv
cGVydGllcyBhcmUgbWlzc2luZy4KK3ZhciBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uID0gewor
ICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorfTsKKworLy8gTWlu
aW1hbCBXZWJSVEMgQXVkaW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBz
cGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1h
bFdlYnJ0Y0F1ZGlvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby9vcHVz
JywKK307CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19q
cyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8o
KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIGl0IGRvZXNuJ3QgZ2V0
IGEgY29uZmlndXJhdGlvbiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHt9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdmlkZW86IG1pbmltYWxWaWRl
b0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisg
IH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29u
ZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlv
biBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcs
CisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2
cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7
Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2
aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAu
MTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJp
dHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDAsCisgICAgfSwKKyAgfSkpOworfSwgIlRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBo
YXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsK
KyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4Iics
CisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAz
MDAwLAorICAgICAgZnJhbWVyYXRlOiBJbmZpbml0eSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhh
cyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgdmlk
ZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAnZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAg
ICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTog
MjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlIik7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBl
RXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5
cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL2Zn
ZW9hJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJh
dGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRl
bzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAu
MDgiOyBmb289ImJhciInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAor
ICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIiKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJv
ciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTog
J3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsg
Zm9vPSJiYXIiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAg
IGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MiKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVF
cnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ3JlY29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2Vi
bTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVp
Z2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAv
MTAwMScsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVj
dHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2
aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAu
MTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJp
dHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8wJywKKyAgICB9CisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZv
cm0gb2YgeC8wIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50
VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6
IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZy
YW1lcmF0ZTogJzAvMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3Jl
Y29yZCcsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29k
ZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2
MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnLTI0MDAwLzEwMDAx
JywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgLXgveSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRl
bzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAu
MDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJh
dGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAorICAgIH0KKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUg
Zm9ybSBvZiB4Ly15Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2Vf
cmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNv
ZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250
ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lk
dGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAg
IGZyYW1lcmF0ZTogJzI0MDAwLycsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29k
aW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdy
ZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNv
ZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDog
NjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJzEvM3gnLAorICAg
IH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0
ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAor
ICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVu
VHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHBy
b21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIGF1ZGlvOiB7IGNvbnRl
bnRUeXBlOiAndmlkZW8vZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJ
bmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qg
b2YgdHlwZSBhdWRpbyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlw
ZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyI7IGZvbz0iYmFyIicgfSwKKyAgfSkpOworfSwg
IlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNv
cmQnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9
LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRp
byBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3Qg
Y29kZWNzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZp
ZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9D
b25maWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgIH0pOworfSwgIlRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBv
YmplY3RzIGZvciByZWNvcmQgdHlwZSIpOworCithc3luY190ZXN0KHQgPT4geworICB2YXIgdmFs
aWRUeXBlcyA9IFsgJ3JlY29yZCcsICd3ZWJydGMnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBb
IHVuZGVmaW5lZCwgbnVsbCwgJycsICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgJ2ZpbGUnLCAnbWVkaWEtc291cmNlJywgXTsKKworICB2YXIg
dmFsaWRQcm9taXNlcyA9IFtdOworICB2YXIgaW52YWxpZENhdWdodCA9IDA7CisKKyAgdmFsaWRU
eXBlcy5mb3JFYWNoKHR5cGUgPT4geworICAgIHZhbGlkUHJvbWlzZXMucHVzaChuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICAgIHR5cGU6IHR5cGUsCisgICAg
ICB2aWRlbzogdHlwZSAhPSAid2VicnRjIiA/IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gOiBt
aW5pbWFsV2VicnRjVmlkZW9Db25maWd1cmF0aW9uLAorICAgICAgYXVkaW86IHR5cGUgIT0gIndl
YnJ0YyIgPyBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uIDogbWluaW1hbFdlYnJ0Y0F1ZGlvQ29u
ZmlndXJhdGlvbiwKKyAgICB9KSk7CisgIH0pOworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3Rl
ZCB2aWEgUHJvbWlzZS5hbGwodmFsaWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisg
IC8vIHByb21pc2VzIGZhaWwsIFByb21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFu
aXNtIGNhbid0IGJlIHVzZWQgZm9yCisgIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0
ZXN0ZWQgaW5kaXZpZHVhbGx5IGFuZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVu
IHJlamVjdGVkIHVudGlsIHRoZSBhbW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVj
dGF0aW9uLgorICBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgp
ID0+IHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkg
eworICAgICAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAg
ICAgIHR5cGU6IGludmFsaWRUeXBlc1tpXSwKKyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0Nv
bmZpZ3VyYXRpb24sCisgICAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAor
ICAgICAgfSkudGhlbih0LnVucmVhY2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGUubmFtZSwgJ1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFs
aWRDYXVnaHQ7CisgICAgICAgIGlmIChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5n
dGgpCisgICAgICAgICAgdC5kb25lKCk7CisgICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJl
YWNoZWRfZnVuYygnUHJvbWlzZS5hbGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVz
JykpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25m
aWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlIik7CisKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9l
bmNvZGluZ0luZm8ud2VicnRjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODJiNGY4NzZhNjIy
YjA2YTFjOWRkMGQ1MTY4YzY3MTkwMjNkM2U5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5j
b2RpbmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorCitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0
IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5m
byByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1l
cmF0ZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNv
bmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJh
dGUgc2V0IHRvIEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBhcnNlCitQQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vz
bid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVk
aW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitQQVNTIFRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5m
byBvYmplY3RzCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQs
IHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9uLXdlYnJ0YyB2
aWRlbyBjb250ZW50IHR5cGUuCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBz
dXBwb3J0ZWQsIHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9u
LXdlYnJ0YyBhdWRpbyBjb250ZW50IHR5cGUuCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL29wdXMgcmV0dXJuZWQg
YnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL0lTQUMgcmV0
dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL0c3
MjIgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1
ZGlvL1BDTVUgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNT
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNv
ZGVjIGF1ZGlvL1BDTUEgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygp
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3Ig
dGhlIGNvZGVjIHZpZGVvL0gyNjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXph
dGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDBjMWYgcmV0dXJuZWQgYnkgUlRDUnRwU2Vu
ZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJu
cyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL0gyNjQ7IGxldmVsLWFzeW1tZXRy
eS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWYg
cmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhh
dCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVv
L0gyNjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTA7cHJv
ZmlsZS1sZXZlbC1pZD02NDBjMWYgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxp
dGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1
ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL0gyNjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFj
a2V0aXphdGlvbi1tb2RlPTA7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWYgcmV0dXJuZWQgYnkgUlRD
UnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL0gyNjUgcmV0dXJuZWQg
YnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZpZGVvL1ZQOCByZXR1
cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vVlA5
OyBwcm9maWxlLWlkPTAgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygp
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3Ig
dGhlIGNvZGVjIHZpZGVvL1ZQOTsgcHJvZmlsZS1pZD0yIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRl
ci5nZXRDYXBhYmlsaXRpZXMoKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2Vi
cnRjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE0
Yjc5NDRmNjE2OWUzNGY2Nzk3OWNlMGE5OGZmOTE1NTUyZjZiNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2VuY29kaW5nSW5mby53ZWJydGMuaHRtbApAQCAtMCwwICsxLDIxNyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKCkgZm9yIHdl
YnJ0YzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKworLy8gTWluaW1hbCBWaWRlb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxs
IGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlz
c2luZy4KK2NvbnN0IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBl
OiAndmlkZW8vVlA5OyBwcm9maWxlLWxldmVsPSIwIicsCisgIHdpZHRoOiA4MDAsCisgIGhlaWdo
dDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6IDI0LAorfTsKKworLy8gTWlu
aW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFs
bCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4KK2NvbnN0IG1pbmltYWxBdWRp
b0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vb3B1cycsCit9OworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAnd2VicnRjJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBp
ZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQi
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlk
ZW8vVlA5JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJp
dHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IC0xLAorICAgIH0sCisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
aGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7
CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOSInLAorICAgICAgd2lkdGg6IDgwMCwKKyAg
ICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTog
MCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby9WUDki
JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6
IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAorICAgIH0sCisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24g
aGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2
aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdmZ2VvYScsCisgICAgICB3aWR0aDogODAwLAor
ICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRl
OiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UiKTsK
KworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5
cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAg
dHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8v
Zmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0
cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRl
c3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBj
b250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIGF1
ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUg
ZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNl
X3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5j
b2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlw
ZTogJ3ZpZGVvL2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5
cGUgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAg
dmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgYXVkaW86IG1pbmltYWxBdWRp
b0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAgfSk7Cit9LCAiVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZv
IG9iamVjdHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAg
dmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAw
LjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBi
aXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICAgIGF1ZGlvOiBt
aW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFz
c2VydF9mYWxzZShhYmlsaXR5LnN1cHBvcnRlZCk7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHku
c21vb3RoKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5wb3dlckVmZmljaWVudCk7CisgIH0p
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQsIHNtb290aCwg
YW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9uLXdlYnJ0YyB2aWRlbyBjb250
ZW50IHR5cGUuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAg
IHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiB7CisgICAgICBj
b250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorICAgIH0sCisgIH0pLnRo
ZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc3VwcG9ydGVkKTsKKyAg
ICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5
LnBvd2VyRWZmaWNpZW50KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZXR1
cm5zIHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2llbnQgc2V0IHRvIGZhbHNlIGZv
ciBub24td2VicnRjIGF1ZGlvIGNvbnRlbnQgdHlwZS4iKTsKKworY29uc3QgdmFsaWRBdWRpb0Nv
ZGVjcyA9ICgoKSA9PiB7CisgIC8vIFNvbWUgY29kZWNzIHRoYXQgYXJlIHJldHVybmVkIGJ5IGdl
dENhcGFiaWxpdGllcygpIGFyZSBub3QgcmVhbCBjb2RlY3MsCisgIC8vIGV4Y2x1ZGUgdGhlc2Ug
ZnJvbSB0aGUgdGVzdC4KKyAgY29uc3QgZXhjbHVkZUxpc3QgPSBbICdhdWRpby9DTicsICdhdWRp
by90ZWxlcGhvbmUtZXZlbnQnLCAnYXVkaW8vcmVkJyBdOworICBjb25zdCBhdWRpb0NvZGVjcyA9
IFtdOworICBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCJhdWRpbyIpWydjb2RlY3MnXS5m
b3JFYWNoKGNvZGVjID0+IHsKKyAgICBpZiAoZXhjbHVkZUxpc3QuaW5kZXhPZihjb2RlYy5taW1l
VHlwZSkgPCAwICYmCisgICAgICAgIGF1ZGlvQ29kZWNzLmluZGV4T2YoY29kZWMubWltZVR5cGUp
IDwgMCkgeworICAgICAgYXVkaW9Db2RlY3MucHVzaChjb2RlYy5taW1lVHlwZSk7CisgICAgfQor
ICB9KTsKKyAgcmV0dXJuIGF1ZGlvQ29kZWNzOworfSkoKTsKKwordmFsaWRBdWRpb0NvZGVjcy5m
b3JFYWNoKGNvZGVjID0+IHsKKyAgcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0Yycs
CisgICAgYXVkaW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiBjb2RlYworICAgIH0KKyAgfSkudGhl
bihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZShhYmlsaXR5LnN1cHBvcnRlZCk7CisgIH0p
OworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3Ig
dGhlIGNvZGVjICIgKyBjb2RlYyArICIgcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFi
aWxpdGllcygpIil9CispOworCitjb25zdCB2YWxpZFZpZGVvQ29kZWNzID0gKCgpID0+IHsKKyAg
Ly8gU29tZSBjb2RlY3MgdGhhdCBhcmUgcmV0dXJuZWQgYnkgZ2V0Q2FwYWJpbGl0aWVzKCkgYXJl
IG5vdCByZWFsIGNvZGVjcyBidXQKKyAgLy8gb25seSB1c2VkIGZvciBlcnJvciBjb3JyZWN0aW9u
LCBleGNsdWRlIHRoZXNlIGZyb20gdGhlIHRlc3QuCisgIGNvbnN0IGV4Y2x1ZGVMaXN0ID0gWyAn
dmlkZW8vcnR4JywgJ3ZpZGVvL3JlZCcsICd2aWRlby91bHBmZWMnLAorICAgICAgICAgICAgICAg
ICAgICAgICd2aWRlby9mbGV4ZmVjLTAzJyBdOworICBjb25zdCB2aWRlb0NvZGVjcyA9IFtdOwor
CisgIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoInZpZGVvIilbJ2NvZGVjcyddLmZvckVh
Y2goY29kZWMgPT4geworICAgIGlmIChleGNsdWRlTGlzdC5pbmRleE9mKGNvZGVjLm1pbWVUeXBl
KSA8IDApIHsKKyAgICAgIGxldCBtaW1lVHlwZSA9IGNvZGVjLm1pbWVUeXBlOworICAgICAgaWYg
KCdzZHBGbXRwTGluZScgaW4gY29kZWMpIHsKKyAgICAgICAgbWltZVR5cGUgKz0gIjsgIiArIGNv
ZGVjLnNkcEZtdHBMaW5lOworICAgICAgfQorICAgICAgaWYgKCEobWltZVR5cGUgaW4gdmlkZW9D
b2RlY3MpKSB7CisgICAgICAgIHZpZGVvQ29kZWNzLnB1c2gobWltZVR5cGUpOworICAgICAgfQor
ICAgIH0KKyAgfSk7CisgIHJldHVybiB2aWRlb0NvZGVjczsKK30pKCk7CisKK3ZhbGlkVmlkZW9D
b2RlY3MuZm9yRWFjaChjb2RlYyA9PiB7CisgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3
ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogY29kZWMsCisgICAgICB3
aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAg
ICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9CisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNz
ZXJ0X3RydWUoYWJpbGl0eS5zdXBwb3J0ZWQpOworICB9KTsKK30sICJUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyAiICsgY29kZWMgKyAi
IHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKSIpfQorKTsKKworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk0YzNjYzkxOTZj
MDM2NDk2ZGU1Y2M4NWVhMzFhZjBlNWM0NjFkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lk
bGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACisKK1BBU1MgaWRsaGFy
bmVzcworUEFTUyBpZGxfdGVzdCBzZXR1cAorUEFTUyBpZGxfdGVzdCB2YWxpZGF0aW9uCitQQVNT
IFBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvcjogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQK
K1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiB2YWxpZCBleHBvc3VyZSBzZXQKK1BB
U1MgUGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQor
UEFTUyBQYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0b3I6IG9yaWdpbmFsIGludGVyZmFj
ZSBkZWZpbmVkCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvcjogdmFsaWQg
ZXhwb3N1cmUgc2V0CitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvcjogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gTmF2aWdh
dG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBO
YXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1
ZGVzIE5hdmlnYXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZp
Z2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQor
UEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29udGVudFV0aWxzOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29va2llczog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRv
clBsdWdpbnM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRl
cyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQ
QVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMg
TmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBXb3JrZXJOYXZp
Z2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMg
YXJlIHVuaXF1ZQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVz
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFj
ZSBvYmplY3QgbmFtZQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBNZWRp
YUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgTWVk
aWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIE1l
ZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogb3BlcmF0aW9uIGRlY29kaW5nSW5mbyhNZWRpYURl
Y29kaW5nQ29uZmlndXJhdGlvbikKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBv
cGVyYXRpb24gZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKQorUEFTUyBN
ZWRpYUNhcGFiaWxpdGllcyBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5t
ZWRpYUNhcGFiaWxpdGllcworUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2RpbmdJbmZvKE1l
ZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgTWVk
aWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBjYWxsaW5nIGRlY29kaW5nSW5mbyhNZWRpYURlY29k
aW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IKK1BBU1MgTWVkaWFDYXBhYmlsaXRp
ZXMgaW50ZXJmYWNlOiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZQorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGNhbGxpbmcg
ZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSBvbiBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
cgorUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWFDYXBhYmlsaXRpZXMK
K1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAibWVkaWFDYXBhYmlsaXRpZXMiIHdpdGggdGhlIHByb3BlciB0eXBlCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2lkbGhhcm5lc3MuYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0
byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5h
bnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNmRhNWM3ZDI4NDhjMmRjOGE2NjlkZmNmNjIxMjMzYzQwYTIyN2Mw
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LmpzCkBAIC0wLDAgKzEs
MjUgQEAKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcworLy8gTUVU
QTogc2NyaXB0PS9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcworCisvLyBodHRwczovL3dpY2cuZ2l0
aHViLmlvL21lZGlhLWNhcGFiaWxpdGllcy8KKworJ3VzZSBzdHJpY3QnOworCitwcm9taXNlX3Rl
c3QoYXN5bmMgKCkgPT4geworICBpZGxfdGVzdCgKKyAgICBbJ21lZGlhLWNhcGFiaWxpdGllcydd
LAorICAgIFsnaHRtbCcsICdjc3NvbS12aWV3J10sCisgICAgaWRsX2FycmF5ID0+IHsKKyAgICAg
IGlmIChzZWxmLkdMT0JBTC5pc1dvcmtlcigpKSB7CisgICAgICAgIGlkbF9hcnJheS5hZGRfb2Jq
ZWN0cyh7IFdvcmtlck5hdmlnYXRvcjogWyduYXZpZ2F0b3InXSB9KTsKKyAgICAgIH0gZWxzZSB7
CisgICAgICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7IE5hdmlnYXRvcjogWyduYXZpZ2F0b3In
XSB9KTsKKyAgICAgIH0KKyAgICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICAgIE1l
ZGlhQ2FwYWJpbGl0aWVzOiBbJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyddLAorICAgICAg
ICBTY3JlZW46IFsnc2NyZWVuJ10sCisgICAgICAgIFNjcmVlbkx1bWluYW5jZTogWydzY3JlZW4u
bHVtaW5hbmNlJ10sCisgICAgICB9KTsKKyAgICB9CisgICk7Cit9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3MDA4Mjg4NzBjZTFmMTU5ZjQw
MzBhZWEzNGM2NmM3OGUxNjdhOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKKworUEFTUyBpZGxoYXJu
ZXNzCitQQVNTIGlkbF90ZXN0IHNldHVwCitQQVNTIGlkbF90ZXN0IHZhbGlkYXRpb24KK1BBU1Mg
UGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZAor
UEFTUyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6IHZhbGlkIGV4cG9zdXJlIHNldAorUEFT
UyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQ
QVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvcjogb3JpZ2luYWwgaW50ZXJmYWNl
IGRlZmluZWQKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yOiB2YWxpZCBl
eHBvc3VyZSBzZXQKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBOYXZpZ2F0
b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5h
dmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVk
ZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmln
YXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQ
QVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb250ZW50VXRpbHM6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb29raWVzOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9y
UGx1Z2luczogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVz
IE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BB
U1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTGFuZ3VhZ2U6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBO
YXZpZ2F0b3JPbkxpbmU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFdvcmtlck5hdmln
YXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVk
IHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFiaWxp
dGllcyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJv
cGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVz
IGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkg
Ik1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
Ik1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMi
IG1pc3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmls
aXRpZXMiIG1pc3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFD
YXBhYmlsaXRpZXMiIG1pc3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBv
cGVyYXRpb24gZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFi
aWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCitG
QUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogb3BlcmF0aW9uIGVuY29kaW5nSW5mbyhN
ZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3Bl
cnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBt
dXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBh
c3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3QiIGJ1dCBn
b3QgInVuZGVmaW5lZCIKK0ZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcyBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJm
YWNlOiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJk
ZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVkICJvYmplY3Qi
IGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBj
YWxsaW5nIGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2Jq
ZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFj
ZTogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZW5j
b2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0IiBi
dXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogY2Fs
bGluZyBlbmNvZGluZ0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9iamVj
dCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgbWVkaWFDYXBhYmlsaXRpZXMgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2Jq
ZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK0ZBSUwgV29ya2VyTmF2aWdhdG9yIGludGVyZmFjZTogbmF2aWdhdG9yIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMiIHdpdGggdGhlIHByb3BlciB0
eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiBub3QgZm91
bmQgaW4gcHJvdG90eXBlIGNoYWluCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55
Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0
byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvdzNjLWltcG9ydC5sb2cK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYmMyZWMwMTJkMjVlYjE0N2NhYjhkNjY3OWY4OTdhMTA4MjQ3NTk2YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjUgQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZp
bGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
Y2FwYWJpbGl0aWVzL01FVEEueW1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvUkVBRE1FLm1kCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJ
bmZvLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29k
aW5nSW5mb0VuY3J5cHRlZE1lZGlhLmh0dHAuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mb0VuY3J5
cHRlZE1lZGlhLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2Vu
Y29kaW5nSW5mby53ZWJydGMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55LmpzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29kaW5nSW5m
by1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2Nr
LWVuY29kaW5nSW5mby1leHBlY3RlZC50eHQKaW5kZXggMzU0Mjc0MTg5NjNkMTAwYzY4YTIwYjVk
YzJkZDE2MzY5ZmQwMGVhYi4uMDdlODJhMzQ4YTY4YWQzMTI2ODExNDdlOWI5MTI3YWEyODJhMDA3
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1l
bmNvZGluZ0luZm8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2Fw
YWJpbGl0aWVzL21vY2stZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dApAQCAtMSw2MyArMSw2MyBA
QAogUlVOKGludGVybmFscy5lbmFibGVNb2NrTWVkaWFDYXBhYmlsaXRpZXMoKSkKIAogU21vb3Ro
IGFuZCBwb3dlciBlZmZpY2llbnQgNzIwUCBNUDQgZW5jb2RpbmcKLVJVTihwcm9taXNlID0gbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Np
b24nLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIicsIGhl
aWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41IH0g
fSk7KQorUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsgdHlwZTogJ3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBj
b2RlY3M9ImF2YzEiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBm
cmFtZXJhdGU6IDI0LjUgfSB9KTspCiBQcm9taXNlIHJlc29sdmVkIE9LCiBpbmZvLnN1cHBvcnRl
ZCA9PSB0cnVlIE9LCiBpbmZvLnNtb290aCA9PSB0cnVlIE9LCiBpbmZvLnBvd2VyRWZmaWNpZW50
ID09IHRydWUgT0sKIAogTm90IHNtb290aCAodG9vIGhpZ2ggZnJhbWVyYXRlKSBidXQgcG93ZXIg
ZWZmaWNpZW50IDcyMFAgTVA0IGVuY29kaW5nCi1SVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgdmlkZW86
IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCBoZWlnaHQ6IDcyMCwg
Yml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogNjAuNC8yIH0gfSk7KQorUlVO
KHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlw
ZTogJ3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2
YzEiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6
IDYwLjQvMiB9IH0pOykKIFByb21pc2UgcmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVkID09IHRy
dWUgT0sKIGluZm8uc21vb3RoID09IGZhbHNlIE9LCiBpbmZvLnBvd2VyRWZmaWNpZW50ID09IHRy
dWUgT0sKIAotVW5zdXBwb3J0ZWQgcHJvdG9jb2w6IFJlY29yZAotUlVOKHByb21pc2UgPSBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIHZp
ZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0OiA3
MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDI0IH0gfSk7KQorVW5z
dXBwb3J0ZWQgcHJvdG9jb2w6IFdlYlJUQworUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3dlYnJ0YycsIHZpZGVvOiB7IGNvbnRl
bnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6
IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDI0IH0gfSk7KQogUHJvbWlzZSByZXNvbHZl
ZCBPSwogaW5mby5zdXBwb3J0ZWQgPT0gZmFsc2UgT0sKIGluZm8uc21vb3RoID09IGZhbHNlIE9L
CiBpbmZvLnBvd2VyRWZmaWNpZW50ID09IGZhbHNlIE9LCiAKIFVuc3VwcG9ydGVkIHZpZGVvIHJl
c29sdXRpb246IDEwODBQCi1SVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgdmlkZW86IHsgY29udGVudFR5
cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCBoZWlnaHQ6IDEwODAsIGJpdHJhdGU6IDEw
MDAsIHdpZHRoOiAxOTIwLCBmcmFtZXJhdGU6IDI0IH0gfSk7KQorUlVOKHByb21pc2UgPSBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIHZp
ZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0OiAx
MDgwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTkyMCwgZnJhbWVyYXRlOiAyNCB9IH0pOykKIFBy
b21pc2UgcmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVkID09IGZhbHNlIE9LCiBpbmZvLnNtb290
aCA9PSBmYWxzZSBPSwogaW5mby5wb3dlckVmZmljaWVudCA9PSBmYWxzZSBPSwogCiBTbW9vdGgg
YW5kIHBvd2VyIGVmZmljaWVudCBhdWRpbyBNUDQgZW5jb2RpbmcKLVJVTihwcm9taXNlID0gbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Np
b24nLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIi
JywgY2hhbm5lbHM6ICcyJywgYml0cmF0ZTogMTAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgfSB9KTsp
CitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8o
eyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVj
cz0ibXA0YS40MC4yIicsIGNoYW5uZWxzOiAnMicsIGJpdHJhdGU6IDEwMDAsIHNhbXBsZXJhdGU6
IDQ0MTAwIH0gfSk7KQogUHJvbWlzZSByZXNvbHZlZCBPSwogaW5mby5zdXBwb3J0ZWQgPT0gdHJ1
ZSBPSwogaW5mby5zbW9vdGggPT0gdHJ1ZSBPSwogaW5mby5wb3dlckVmZmljaWVudCA9PSB0cnVl
IE9LCiAKIFNtb290aCBidXQgcG93ZXIgaW5lZmZpY2llbnQgYXVkaW8gTVA0IGVuY29kaW5nCi1S
VU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0
eXBlOiAndHJhbnNtaXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNv
ZGVjcz0ibXA0YS40MC4yIicsIGNoYW5uZWxzOiAnMicsIGJpdHJhdGU6IDIwMDAsIHNhbXBsZXJh
dGU6IDQ0MTAwIH0gfSk7KQorUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAn
YXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVsczogJzInLCBiaXRyYXRlOiAy
MDAwLCBzYW1wbGVyYXRlOiA0NDEwMCB9IH0pOykKIFByb21pc2UgcmVzb2x2ZWQgT0sKIGluZm8u
c3VwcG9ydGVkID09IHRydWUgT0sKIGluZm8uc21vb3RoID09IHRydWUgT0sKIGluZm8ucG93ZXJF
ZmZpY2llbnQgPT0gZmFsc2UgT0sKIAogTm90IHNtb290aCBidXQgcG93ZXIgZWZmaWNpZW50IGF1
ZGlvIE1QNCBlbmNvZGluZwotUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNvbnRlbnRU
eXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVsczogJzUuMScsIGJp
dHJhdGU6IDEwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwIH0gfSk7KQorUlVOKHByb21pc2UgPSBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1
ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFu
bmVsczogJzUuMScsIGJpdHJhdGU6IDEwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwIH0gfSk7KQogUHJv
bWlzZSByZXNvbHZlZCBPSwogaW5mby5zdXBwb3J0ZWQgPT0gdHJ1ZSBPSwogaW5mby5zbW9vdGgg
PT0gZmFsc2UgT0sKIGluZm8ucG93ZXJFZmZpY2llbnQgPT0gdHJ1ZSBPSwogCiBOb3Qgc21vb3Ro
IGFuZCBwb3dlciBpbmVmZmljaWVudCBhdWRpbyBNUDQgZW5jb2RpbmcKLVJVTihwcm9taXNlID0g
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21p
c3Npb24nLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQw
LjIiJywgY2hhbm5lbHM6ICc1LjEnLCBiaXRyYXRlOiAyMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCB9
IH0pOykKK1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5n
SW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsg
Y29kZWNzPSJtcDRhLjQwLjIiJywgY2hhbm5lbHM6ICc1LjEnLCBiaXRyYXRlOiAyMDAwLCBzYW1w
bGVyYXRlOiA0NDEwMCB9IH0pOykKIFByb21pc2UgcmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVk
ID09IHRydWUgT0sKIGluZm8uc21vb3RoID09IGZhbHNlIE9LCiBpbmZvLnBvd2VyRWZmaWNpZW50
ID09IGZhbHNlIE9LCiAKIFVuc3VwcG9ydGVkIGF1ZGlvIGNvZGVjOiBvZ2cgdm9yYmlzCi1SVU4o
cHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBl
OiAndHJhbnNtaXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9vZ2c7IGNvZGVj
cz0idm9yYmlzIicsIGNoYW5uZWxzOiAnMicgfSB9KTspCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86
IHsgY29udGVudFR5cGU6ICdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicsIGNoYW5uZWxzOiAn
MicgfSB9KTspCiBQcm9taXNlIHJlc29sdmVkIE9LCiBpbmZvLnN1cHBvcnRlZCA9PSBmYWxzZSBP
SwogaW5mby5zbW9vdGggPT0gZmFsc2UgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L21lZGlhY2FwYWJpbGl0aWVzL21vY2stZW5jb2RpbmdJbmZvLmh0bWwgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29kaW5nSW5mby5odG1sCmluZGV4IGI3MjRh
ZjZkODNhZGJhMzEwMGU3NjgwN2Y3NGE0NjhjMTQ2OTA0ZGYuLjBmNTBmZmM0ZjY3MDcxYWMzZDJh
MTAxNzYwZjk0ZTUyOGMxMTVjNTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlh
Y2FwYWJpbGl0aWVzL21vY2stZW5jb2RpbmdJbmZvLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNvZGluZ0luZm8uaHRtbApAQCAtMzAsNyArMzAs
NyBAQAogICAgIHRlc3RzID0gWwogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCdTbW9vdGggYW5kIHBvd2VyIGVmZmljaWVudCA3MjBQIE1QNCBlbmNvZGlu
ZycpOwotICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgdmlkZW86IHsgY29udGVu
dFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1cImF2YzFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRl
OiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNC41IH0gfSk7Iik7CisgICAgICAgICAg
ICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7IHR5cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29k
ZWNzPVwiYXZjMVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBm
cmFtZXJhdGU6IDI0LjUgfSB9KTsiKTsKICAgICAgICAgICAgICBzaG91bGRSZXNvbHZlKHByb21p
c2UpLnRoZW4oKGluZm8pID0+IHsKICAgICAgICAgICAgICAgICAgY2hlY2tNZWRpYUNhcGFiaWxp
dGllc0luZm8oaW5mbywgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgIG5leHQo
KTsKQEAgLTM4LDE1ICszOCwxNSBAQAogICAgICAgICAgfSwKICAgICAgICAgIGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnTm90IHNtb290aCAodG9vIGhpZ2ggZnJhbWVy
YXRlKSBidXQgcG93ZXIgZWZmaWNpZW50IDcyMFAgTVA0IGVuY29kaW5nJyk7Ci0gICAgICAgICAg
ICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7IHR5cGU6ICd0cmFuc21pc3Npb24nLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21w
NDsgY29kZWNzPVwiYXZjMVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAx
MjgwLCBmcmFtZXJhdGU6IDYwLjQvMiB9IH0pOyIpOworICAgICAgICAgICAgIHJ1bigicHJvbWlz
ZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVj
b3JkJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1cImF2YzFcIics
IGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiA2MC40
LzIgfSB9KTsiKTsKICAgICAgICAgICAgICBzaG91bGRSZXNvbHZlKHByb21pc2UpLnRoZW4oKGlu
Zm8pID0+IHsKICAgICAgICAgICAgICAgICAgY2hlY2tNZWRpYUNhcGFiaWxpdGllc0luZm8oaW5m
bywgdHJ1ZSwgZmFsc2UsIHRydWUpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CiAgICAgICAg
ICAgICAgfSwgbmV4dCk7CiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCdVbnN1cHBvcnRlZCBwcm90b2NvbDogUmVjb3JkJyk7Ci0g
ICAgICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVv
L21wNDsgY29kZWNzPVwiYXZjMVwiJywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRo
OiAxMjgwLCBmcmFtZXJhdGU6IDI0IH0gfSk7Iik7CisgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCdVbnN1cHBvcnRlZCBwcm90b2NvbDogV2ViUlRDJyk7CisgICAgICAgICAgICAgcnVuKCJwcm9t
aXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd3
ZWJydGMnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPVwiYXZjMVwi
JywgaGVpZ2h0OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDI0
IH0gfSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZShwcm9taXNlKS50aGVuKChpbmZv
KSA9PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFDYXBhYmlsaXRpZXNJbmZvKGluZm8s
IGZhbHNlLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CkBAIC01NCw3
ICs1NCw3IEBACiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCdVbnN1cHBvcnRlZCB2aWRlbyByZXNvbHV0aW9uOiAxMDgwUCcpOwot
ICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgdmlkZW86IHsgY29udGVudFR5cGU6
ICd2aWRlby9tcDQ7IGNvZGVjcz1cImF2YzFcIicsIGhlaWdodDogMTA4MCwgYml0cmF0ZTogMTAw
MCwgd2lkdGg6IDE5MjAsIGZyYW1lcmF0ZTogMjQgfSB9KTsiKTsKKyAgICAgICAgICAgICBydW4o
InByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlw
ZTogJ3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJh
dmMxXCInLCBoZWlnaHQ6IDEwODAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxOTIwLCBmcmFtZXJh
dGU6IDI0IH0gfSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZShwcm9taXNlKS50aGVu
KChpbmZvKSA9PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFDYXBhYmlsaXRpZXNJbmZv
KGluZm8sIGZhbHNlLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CkBA
IC02Miw3ICs2Miw3IEBACiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCdTbW9vdGggYW5kIHBvd2VyIGVmZmljaWVudCBhdWRpbyBN
UDQgZW5jb2RpbmcnKTsKLSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlv
OiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9XCJtcDRhLjQwLjJcIicsIGNoYW5u
ZWxzOiAnMicsIGJpdHJhdGU6IDEwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwICB9IH0pOyIpOworICAg
ICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNv
ZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9t
cDQ7IGNvZGVjcz1cIm1wNGEuNDAuMlwiJywgY2hhbm5lbHM6ICcyJywgYml0cmF0ZTogMTAwMCwg
c2FtcGxlcmF0ZTogNDQxMDAgIH0gfSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZShw
cm9taXNlKS50aGVuKChpbmZvKSA9PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFDYXBh
YmlsaXRpZXNJbmZvKGluZm8sIHRydWUsIHRydWUsIHRydWUpOwogICAgICAgICAgICAgICAgICBu
ZXh0KCk7CkBAIC03MCw3ICs3MCw3IEBACiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCdTbW9vdGggYnV0IHBvd2VyIGluZWZmaWNp
ZW50IGF1ZGlvIE1QNCBlbmNvZGluZycpOwotICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNz
aW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz1cIm1wNGEuNDAu
MlwiJywgY2hhbm5lbHM6ICcyJywgYml0cmF0ZTogMjAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgIH0g
fSk7Iik7CisgICAgICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250ZW50VHlw
ZTogJ2F1ZGlvL21wNDsgY29kZWNzPVwibXA0YS40MC4yXCInLCBjaGFubmVsczogJzInLCBiaXRy
YXRlOiAyMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCAgfSB9KTsiKTsKICAgICAgICAgICAgICBzaG91
bGRSZXNvbHZlKHByb21pc2UpLnRoZW4oKGluZm8pID0+IHsKICAgICAgICAgICAgICAgICAgY2hl
Y2tNZWRpYUNhcGFiaWxpdGllc0luZm8oaW5mbywgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOwogICAgICAg
ICAgICAgICAgICBuZXh0KCk7CkBAIC03OCw3ICs3OCw3IEBACiAgICAgICAgICB9LAogICAgICAg
ICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCdOb3Qgc21vb3RoIGJ1
dCBwb3dlciBlZmZpY2llbnQgYXVkaW8gTVA0IGVuY29kaW5nJyk7Ci0gICAgICAgICAgICAgcnVu
KCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5
cGU6ICd0cmFuc21pc3Npb24nLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29k
ZWNzPVwibXA0YS40MC4yXCInLCBjaGFubmVsczogJzUuMScsIGJpdHJhdGU6IDEwMDAsIHNhbXBs
ZXJhdGU6IDQ0MTAwICB9IH0pOyIpOworICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVk
aW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz1cIm1wNGEuNDAuMlwiJywgY2hh
bm5lbHM6ICc1LjEnLCBiaXRyYXRlOiAxMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCAgfSB9KTsiKTsK
ICAgICAgICAgICAgICBzaG91bGRSZXNvbHZlKHByb21pc2UpLnRoZW4oKGluZm8pID0+IHsKICAg
ICAgICAgICAgICAgICAgY2hlY2tNZWRpYUNhcGFiaWxpdGllc0luZm8oaW5mbywgdHJ1ZSwgZmFs
c2UsIHRydWUpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7CkBAIC04Niw3ICs4Niw3IEBACiAg
ICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCdOb3Qgc21vb3RoIGFuZCBwb3dlciBpbmVmZmljaWVudCBhdWRpbyBNUDQgZW5jb2Rpbmcn
KTsKLSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNvbnRlbnRU
eXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9XCJtcDRhLjQwLjJcIicsIGNoYW5uZWxzOiAnNS4xJywg
Yml0cmF0ZTogMjAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgIH0gfSk7Iik7CisgICAgICAgICAgICAg
cnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7
IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNz
PVwibXA0YS40MC4yXCInLCBjaGFubmVsczogJzUuMScsIGJpdHJhdGU6IDIwMDAsIHNhbXBsZXJh
dGU6IDQ0MTAwICB9IH0pOyIpOwogICAgICAgICAgICAgIHNob3VsZFJlc29sdmUocHJvbWlzZSku
dGhlbigoaW5mbykgPT4gewogICAgICAgICAgICAgICAgICBjaGVja01lZGlhQ2FwYWJpbGl0aWVz
SW5mbyhpbmZvLCB0cnVlLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgICBuZXh0KCk7
CkBAIC05NCw3ICs5NCw3IEBACiAgICAgICAgICB9LAogICAgICAgICAgZnVuY3Rpb24oKSB7CiAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCdVbnN1cHBvcnRlZCBhdWRpbyBjb2RlYzogb2dnIHZv
cmJpcycpOwotICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgYXVkaW86IHsgY29u
dGVudFR5cGU6ICdhdWRpby9vZ2c7IGNvZGVjcz1cInZvcmJpc1wiJywgY2hhbm5lbHM6ICcyJyB9
IH0pOyIpOworICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29udGVudFR5
cGU6ICdhdWRpby9vZ2c7IGNvZGVjcz1cInZvcmJpc1wiJywgY2hhbm5lbHM6ICcyJyB9IH0pOyIp
OwogICAgICAgICAgICAgIHNob3VsZFJlc29sdmUocHJvbWlzZSkudGhlbigoaW5mbykgPT4gewog
ICAgICAgICAgICAgICAgICBjaGVja01lZGlhQ2FwYWJpbGl0aWVzSW5mbyhpbmZvLCBmYWxzZSwg
ZmFsc2UsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgbmV4dCgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJp
bGl0aWVzLWVuY29kaW5nSW5mby11bmRlZmluZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVu
Y29kaW5nSW5mby11bmRlZmluZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2OWJhYjU4MjI2ODAyYTE2YjEwYjdiZTgzMmVkYmZiMDdkNmU3NGI4Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGlu
Z0luZm8tdW5kZWZpbmVkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAg
QEAKLVRlc3QgdGhhdCBNZWRpYUNhcGFiaWxpdGllcy5wcm90b3R5cGUuZW5jb2RpbmdJbmZvIGlz
IG1pc3NpbmcuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHR5cGVvZiBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvIGlzICJ1bmRlZmluZWQiCi1Q
QVNTIHR5cGVvZiBNZWRpYUNhcGFiaWxpdGllcy5wcm90b3R5cGUuZW5jb2RpbmdJbmZvIGlzICJ1
bmRlZmluZWQiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExF
VEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2Fw
YWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVuY29kaW5nSW5mby11bmRlZmluZWQuaHRtbCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNh
cGFiaWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDVkYzRmMzFlOTA3NDA2YmVjMTRkNTVmYzE0YzdlNjg1NWI1OTZlNTUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVu
Y29kaW5nSW5mby11bmRlZmluZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLQk8dGl0bGU+bWVkaWFjYXBhYmlsaXRp
ZXMtZW5jb2RpbmdJbmZvLWVtcHR5PC90aXRsZT4KLQk8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLQk8c2NyaXB0PgotCi0JPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCBNZWRpYUNh
cGFiaWxpdGllcy5wcm90b3R5cGUuZW5jb2RpbmdJbmZvIGlzIG1pc3NpbmcuJyk7Ci1zaG91bGRC
ZSgndHlwZW9mIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8nLCAnInVu
ZGVmaW5lZCInKTsKLXNob3VsZEJlKCd0eXBlb2YgTWVkaWFDYXBhYmlsaXRpZXMucHJvdG90eXBl
LmVuY29kaW5nSW5mbycsICcidW5kZWZpbmVkIicpOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0
aWVzLXR5cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9t
ZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy10eXBlcy1leHBlY3RlZC50eHQKaW5k
ZXggNjg2NmYwMzg3YThmZmVhNDcyN2ZhN2ZiNDc0ZjQ5ZjRiYjZmOTkwMy4uODhjOGNhMmNiYzUx
YmE4MmM3YzJlMDA4NjY0MjA1MjBlZjkyOWJmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLXR5cGVz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFj
YXBhYmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtdHlwZXMtZXhwZWN0ZWQudHh0CkBAIC00Miwx
MiArNDIsMTIgQEAgUEFTUyAoKSA9PiB7CiBQQVNTICgpID0+IHsKICAgICAgICAgcmV0dXJuIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAnaW52YWxpZCcs
IHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgd2lkdGg6
IDY0MCwgaGVpZ2h0OiA0ODAsIGJpdHJhdGU6IDEwMDAsIGZyYW1lcmF0ZTogMjQgfSB9KTsKICAg
ICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotRkFJTCAo
KSA9PiB7CitQQVNTICgpID0+IHsKICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJyB9KTsKLSAgICB9IHNob3VsZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJyB9
KScsICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvJyBpcyB1bmRlZmlu
ZWQpLgotRkFJTCAoKSA9PiB7CisgICAgfSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KK1BBU1MgKCkgPT4gewogICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyB9
IH0pOwotICAgIH0gc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8gaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyB9IH0pJywgJ25hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5lbmNvZGluZ0luZm8nIGlzIHVuZGVmaW5lZCkuCisgICAgfSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIEF1ZGlvQ29uZmlndXJhdGlvbi5jb250ZW50VHlw
ZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01TdHJpbmcuCiBQQVNT
ICgpID0+IHsKICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgfSB9KTsKICAgICB9IHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgQXVkaW9Db25maWd1cmF0aW9uLmNvbnRl
bnRUeXBlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVN0cmluZy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbiBiL0xheW91dFRlc3Rz
L3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCA0ZjI4YWUxNzI3MTAzZDkwNzMzZmEwODhjMzNkZjQy
ZTdiZmRiZWYyLi5kYTMwZGI0NWQyNzRkOGM1MzhhYTI1OWVjMGVmYzYwNzg4NTI4ZDU0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMv
dGVzdHMtb3B0aW9ucy5qc29uCkBAIC0zNjM1LDYgKzM2MzUsOSBAQAogICAgICJpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvaHRtbDUtdHJlZS90YWJpbmRl
eC0wMDIuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlw
dGVkTWVkaWEuaHR0cHMuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvU291cmNlQnVmZmVyLWFi
b3J0LXJlYWR5U3RhdGUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441042</attachid>
            <date>2021-10-13 00:04:32 -0700</date>
            <delta_ts>2021-10-13 02:54:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231568-20211013090430.patch</filename>
            <type>text/plain</type>
            <size>139959</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk3OGFlZTkyMjk2Mzk3
Njk0MmU4ZjRmY2Y1NzJmYzliZDIyNTc0Zi4uODY1ZWY3NTAzMWYxMmY0YThlNDc1MTQ2Y2QzYmYx
ZjczZGY0ODMxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTEwLTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
V2ViUlRDIG1lZGlhIGNhcGFiaWxpdGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJs
c29uLgorCisgICAgICAgIEFkZCBXZWJSVEMgZGVjb2RpbmcgYW5kIGVuY29kaW5nIHR5cGUuCisg
ICAgICAgIEluIGNhc2Ugd2VicnRjIHR5cGUgaXMgdXNlZCwgZm9yd2FyZCB0aGUgY2FsbCB0byBM
aWJXZWJSVENQcm92aWRlci4KKyAgICAgICAgTGliV2ViUlRDUHJvdmlkZXIgdGhlbiBnZXRzIHVu
ZGVybHlpbmcgUlRDIGNhcGFiaWxpdGllcyB0byBleHBvc2UgbWVkaWEgY2FwYWJpbGl0aWVzLgor
ICAgICAgICBJdCBhbHNvIGFkZHMgZGVkaWNhdGVkIHN1cHBvcnQgZm9yIHBvd2VyRWZmaWNpZW50
IHZhbHVlLgorICAgICAgICBBbGwgaW5mb3JtYXRpb24gaXMgYWxyZWFkeSBleHBvc2VkIGluIGV4
aXN0aW5nIE1lZGlhIENhcGFiaWxpdGllcyBvciBSVENSdHBTZW5kZXIvUmVjZWl2ZXIgZ2V0Q2Fw
YWJpbGl0aWVzIHNvIHdlIGRvIG5vdCBpbmNyZWFzZSBmaW5nZXJwcmludGluZyBoZXJlLgorCisg
ICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFi
aWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnku
d29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMv
ZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cC5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0lu
Zm9FbmNyeXB0ZWRNZWRpYS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8uaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFu
eS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbAorCisgICAgICAgICog
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHA6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5nVHlwZS5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5pZGw6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5Q29jb2EuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzTG9nZ2luZy5o
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdUeXBl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5
cGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UHJvdmlkZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENQcm92aWRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTWVkaWFFbmdpbmVD
b25maWd1cmF0aW9uRmFjdG9yeU1vY2suY3BwOgorCiAyMDIxLTEwLTExICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBCZWVmIHVwIHdvcmtlciB0ZXJtaW5hdGlv
biBoYW5kbGluZyBpbiBSZWFkYWJsZVN0cmVhbSByb3V0aW5lcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5k
ZXggZDdkMTVhNTk3Y2M0ZTVjOTA2ODEzYmNjYzcyYWZiN2U0ODcyOGM5OC4uOTExYTY4NWZlNTUx
NGNlNmFkNjcwYWRmY2UxOTBlOTE3MTk0ZTRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xNDY3
LDYgKzE0NjcsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAg
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWxSZW1vdGVTb3VyY2VDb25uZWN0aW9u
LmgKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbFN0YXRlLmgKICAgICBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQcmlvcml0eVR5cGUuaAorICAgIHBsYXRmb3JtL21lZGlh
c3RyZWFtL1JUQ1J0cENhcGFiaWxpdGllcy5oCisgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRD
UnRwQ29kZWNDYXBhYmlsaXR5LmgKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1l
ZGlhU291cmNlLmgKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNl
Q2FwYWJpbGl0aWVzLmgKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAKaW5kZXggYzMzNjA0ZjY0Yzk3
NTNlODk5NDBiYWU4MTMzMjEwNTc2ODA0MGU5Yy4uY2QzMGM0YTI4MjQ3OTU0OTBjNzFmMWY4NzY2
MjRlZTI1YjQ1OGQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAKQEAgLTMyLDYgKzMy
LDcgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTTWVk
aWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0
aWVzRW5jb2RpbmdJbmZvLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFDYXBhYmlsaXRpZXNEZWNvZGluZ0luZm8u
aCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5oIgpAQCAtMzksNiAr
NDAsNyBAQAogI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVk
ZSAiTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJNZWRpYUVuZ2luZUNv
bmZpZ3VyYXRpb25GYWN0b3J5LmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSA8d3RmL0xvZ2dlci5oPgogI2luY2x1ZGUgPHd0Zi9Sb2Jpbkhvb2RI
YXNoU2V0Lmg+CkBAIC0xOTUsNyArMTk3LDcgQEAgdm9pZCBNZWRpYUNhcGFiaWxpdGllczo6ZGVj
b2RpbmdJbmZvKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXQKICAg
ICAvLyA0LiBMZXQgcCBiZSBhIG5ldyBwcm9taXNlLgogICAgIC8vIDUuIEluIHBhcmFsbGVsLCBy
dW4gdGhlIGNyZWF0ZSBhIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBhbGdvcml0aG0gd2l0aCBjb25m
aWd1cmF0aW9uIGFuZCByZXNvbHZlIHAgd2l0aCBpdHMgcmVzdWx0LgogICAgIC8vIDYuIFJldHVy
biBwLgotICAgIGRvY3VtZW50LmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpNZWRp
YUVsZW1lbnQsIFtjb25maWd1cmF0aW9uID0gV1RGTW92ZShjb25maWd1cmF0aW9uKSwgcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSksIGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwgaWRlbnRpZmll
ciA9IFdURk1vdmUoaWRlbnRpZmllcildICgpIG11dGFibGUgeworICAgIGRvY3VtZW50LmV2ZW50
TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFtjb25maWd1cmF0aW9u
ID0gV1RGTW92ZShjb25maWd1cmF0aW9uKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGxv
Z2dlciA9IFdURk1vdmUobG9nZ2VyKSwgaWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllciks
IGRvY3VtZW50ID0gUmVmIHsgZG9jdW1lbnQgfV0gKCkgbXV0YWJsZSB7CiAKICAgICAgICAgLy8g
Mi4yLjMgSWYgY29uZmlndXJhdGlvbiBpcyBvZiB0eXBlIE1lZGlhRGVjb2RpbmdDb25maWd1cmF0
aW9uLCBydW4gdGhlIGZvbGxvd2luZyBzdWJzdGVwczoKICAgICAgICAgTWVkaWFFbmdpbmVDb25m
aWd1cmF0aW9uRmFjdG9yeTo6RGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgY2FsbGJhY2sg
PSBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGxvZ2dlciA9IFdURk1vdmUobG9nZ2VyKSwg
aWRlbnRpZmllciA9IFdURk1vdmUoaWRlbnRpZmllcildIChhdXRvIGluZm8pIG11dGFibGUgewpA
QCAtMjE2LDYgKzIxOCwxNCBAQCB2b2lkIE1lZGlhQ2FwYWJpbGl0aWVzOjpkZWNvZGluZ0luZm8o
RG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYURlY29kaW5nQ29uZmlndXJhdAogICAgICAgICAgICAg
cHJvbWlzZS0+cmVzb2x2ZTxJRExEaWN0aW9uYXJ5PE1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJ
bmZvPj4oV1RGTW92ZShpbmZvKSk7CiAgICAgICAgIH07CiAKKyNpZiBFTkFCTEUoV0VCX1JUQykK
KyAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYURlY29kaW5nVHlwZTo6V2Vi
UlRDKSB7CisgICAgICAgICAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkpCisg
ICAgICAgICAgICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5jcmVhdGVEZWNvZGluZ0Nv
bmZpZ3VyYXRpb24oV1RGTW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisjZW5kaWYKKwogICAgICAgICBNZWRpYUVu
Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpjcmVhdGVEZWNvZGluZ0NvbmZpZ3VyYXRpb24oV1RG
TW92ZShjb25maWd1cmF0aW9uKSwgV1RGTW92ZShjYWxsYmFjaykpOwogICAgIH0pOwogfQpAQCAt
MjM2LDggKzI0Niw3IEBAIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5nSW5mbyhEb2N1
bWVudCYgZG9jdW1lbnQsIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0CiAgICAgLy8gNC4gTGV0IHAg
YmUgYSBuZXcgcHJvbWlzZS4KICAgICAvLyA1LiBJbiBwYXJhbGxlbCwgcnVuIHRoZSBjcmVhdGUg
YSBNZWRpYUNhcGFiaWxpdGllc0luZm8gYWxnb3JpdGhtIHdpdGggY29uZmlndXJhdGlvbiBhbmQg
cmVzb2x2ZSBwIHdpdGggaXRzIHJlc3VsdC4KICAgICAvLyA2LiBSZXR1cm4gcC4KLSAgICBkb2N1
bWVudC5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TWVkaWFFbGVtZW50LCBbY29u
ZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlvbiksIHByb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpXSAoKSBtdXRhYmxlIHsKLQorICAgIGRvY3VtZW50LmV2ZW50TG9vcCgpLnF1ZXVlVGFz
ayhUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFtjb25maWd1cmF0aW9uID0gV1RGTW92ZShjb25m
aWd1cmF0aW9uKSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksICBkb2N1bWVudCA9IFJlZiB7
IGRvY3VtZW50IH1dICgpIG11dGFibGUgewogICAgICAgICAvLyAyLjIuNC4gSWYgY29uZmlndXJh
dGlvbiBpcyBvZiB0eXBlIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uLCBydW4gdGhlIGZvbGxv
d2luZyBzdWJzdGVwczoKICAgICAgICAgTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeTo6
RW5jb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2sgY2FsbGJhY2sgPSBbcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldIChhdXRvIGluZm8pIG11dGFibGUgewogICAgICAgICAgICAgLy8gMi4yLjQu
MS4gSWYgdGhlIHVzZXIgYWdlbnQgaXMgYWJsZSB0byBlbmNvZGUgdGhlIG1lZGlhCkBAIC0yNTcs
NiArMjY2LDE0IEBAIHZvaWQgTWVkaWFDYXBhYmlsaXRpZXM6OmVuY29kaW5nSW5mbyhEb2N1bWVu
dCYgZG9jdW1lbnQsIE1lZGlhRW5jb2RpbmdDb25maWd1cmF0CiAgICAgICAgICAgICBwcm9taXNl
LT5yZXNvbHZlPElETERpY3Rpb25hcnk8TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm8+PihX
VEZNb3ZlKGluZm8pKTsKICAgICAgICAgfTsKIAorI2lmIEVOQUJMRShXRUJfUlRDKQorICAgICAg
ICBpZiAoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRW5jb2RpbmdUeXBlOjpXZWJSVEMpIHsK
KyAgICAgICAgICAgIGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkKKyAgICAgICAg
ICAgICAgICBwYWdlLT5saWJXZWJSVENQcm92aWRlcigpLmNyZWF0ZUVuY29kaW5nQ29uZmlndXJh
dGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyNlbmRpZgorCiAgICAgICAgIE1lZGlhRW5naW5lQ29u
ZmlndXJhdGlvbkZhY3Rvcnk6OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNv
bmZpZ3VyYXRpb24pLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiAKICAgICB9KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5
cGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURl
Y29kaW5nVHlwZS5pZGwKaW5kZXggZDM5MTQ0MDBlMTMxMDQ3NjBiOWJjZDhiZjQ2MWEwZmJmYWIy
MDQ1Ny4uMzA3ZDUzNjQ3MzNmZDljZGMzZDQ1MmY4MWVlZmIyMjRhNTYwYzI4NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29kaW5n
VHlwZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYURlY29kaW5nVHlwZS5pZGwKQEAgLTI1LDUgKzI1LDYgQEAKIAogZW51bSBNZWRpYURlY29k
aW5nVHlwZSB7CiAgICJmaWxlIiwKLSAgIm1lZGlhLXNvdXJjZSIKKyAgIm1lZGlhLXNvdXJjZSIs
CisgICJ3ZWJydGMiCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmlkbAppbmRleCA5YTJhMjA5
OTUzMzcwYTNiNDQyOWU2NWVhNzcyN2YwNjFlODdiYjdiLi5jZThhNjRlYWQyNzYyYTVmMmYyNDcz
MmQxMzA5ZGUxNmMzNzg2YmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmlkbApAQCAtMjUs
NSArMjUsNSBAQAogCiBlbnVtIE1lZGlhRW5jb2RpbmdUeXBlIHsKICAgInJlY29yZCIsCi0gICJ0
cmFuc21pc3Npb24iCisgICJ3ZWJydGMiCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZhY2IzYmRkMDI4Y2YyZDA2ZjBmZjE4
ZWUwMjk2Mzc4NzYwNDMxNzIuLmZkM2M3ZDQ4NzM4ZTAxNjFjYmQyNTBlMmEwNmU2YTZkZWRjM2I0
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTEwODUsNyArMTA4NSw3IEBACiAJCTQxMjlDOUE5MUY1OUM1NkIwMDlENzQwMyAv
KiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThDMzk1RjFDOEYwQUFCMDA1MUM4QTMgLyogUmVh
ZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMjlDOUFCMUY1OUM1NzMwMDlENzQwMyAvKiBSZWFk
YWJsZVN0cmVhbVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE4QzM5NUIxQzhGMEE2MTAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtU291cmNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEy
OUM5QUYxRjU5Q0Y1QjAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2luay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOUM5ODAxRjU4NjFDNzAwOUQ3
NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2luay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTQxMkRFNEI4MjE5Mjg1QzAwMDc1RjNBNyAvKiBSVENSdHBD
YXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxMkRFNEI2MjE5Mjg1QkYwMDc1RjNBNyAvKiBSVENSdHBDYXBhYmlsaXRpZXMuaCAqLzsg
fTsKKwkJNDEyREU0QjgyMTkyODVDMDAwNzVGM0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyREU0QjYyMTky
ODVCRjAwNzVGM0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMkRFRjFEMjNBOTE4NjYwMEQ4NDBGNiAv
KiBNb2NrQXVkaW9TaGFyZWRVbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwNzQ0RUNFQjFFMEM0QUU1MDAwRDA5NDQgLyogTW9ja0F1ZGlvU2hhcmVk
VW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTQxMkRFRjFGMjNBOTE4QTMwMEQ4NDBGNiAvKiBCYXNlQXVkaW9TaGFyZWRVbml0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTc3RjUxRTIzODI1NDVF
MDBDMDQ0ODYgLyogQmFzZUF1ZGlvU2hhcmVkVW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMzNDQjhCMjBGODBFOTkwMEU4OUIxMSAvKiBN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzM0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAgKi87IH07CkBAIC0xMTgwLDYgKzExODAsNyBAQAogCQk0
MThGODgwNTBGRjk1N0FGMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4Rjg4MDMwRkY5NTdBRTAwODBG
MDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuaCAqLzsgfTsKIAkJNDE4RkNCQzEyNzA2RTRGQjAwRjk2
RUNBIC8qIFB1c2hFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE4RkNCQkQyNzA2RTRGNzAwRjk2RUNBIC8qIFB1c2hFdmVudC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxOEZDQkMyMjcwNkU1
MDEwMEY5NkVDQSAvKiBQdXNoRXZlbnRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MThGQ0JCRjI3MDZFNEY4MDBGOTZFQ0EgLyogUHVzaEV2ZW50
SW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTQxOEZDQkU3MjcxNUEyOEYwMEY5NkVDQSAvKiBSVENSdHBDb2RlY0NhcGFiaWxpdHkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTBBN0RDMjNCQjYz
REIwMDU2MTA2MCAvKiBSVENSdHBDb2RlY0NhcGFiaWxpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTkwRjNBNTI0QTBCNEVFMDA1MzFDNTcg
LyogRnJhbWVSYXRlTW9uaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE5MEYzQTMyNDlEMTUyODAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTky
NDI0OTIxMjdCOTNFMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2Eu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTkyNDI0
NzIxMjdCN0NDMDA2MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0g
Ki87IH07CiAJCTQxOUFDRjkyMUY5N0U3REEwMDlGMUE4MyAvKiBTZXJ2aWNlV29ya2VyRmV0Y2gu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOUFDRjhF
MUY5N0U3RDUwMDlGMUE4MyAvKiBTZXJ2aWNlV29ya2VyRmV0Y2guaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODE0OCw2ICs4MTQ5LDcgQEAKIAkJ
NDE4RkNCQ0IyNzA2RjNDRDAwRjk2RUNBIC8qIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZStQdXNo
QVBJLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSAiU2VydmljZVdvcmtlckdsb2JhbFNjb3BlK1B1c2hBUEkuaWRsIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4RkNCQ0MyNzA2RjQzNDAwRjk2RUNBIC8qIFNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZVB1c2hBUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlUHVzaEFQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MThGQ0JDRDI3MDZGNDM0MDBGOTZFQ0EgLyogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlUHVzaEFQ
SS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGVQdXNoQVBJ
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCRTgyNzE1QUExOTAwRjk2
RUNBIC8qIEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRp
YUNhcGFiaWxpdGllc0N1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTkw
RjNBMTI0OUQxNTI3MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGcmFtZVJhdGVNb25pdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MEYzQTMyNDlEMTUyODAwNTMxQzU3IC8qIEZyYW1lUmF0
ZU1vbml0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRnJhbWVSYXRlTW9u
aXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTkyNDI0NzIxMjdCN0NDMDA2
MzRGQ0YgLyogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MDI3LDcgKzE1MDI5LDYg
QEAKIAkJQ0NDMkI1MTAxNUY2MTMwNjAwNDhDREQ2IC8qIERldmljZUNsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0NDMkI1MTExNUY2MTMwNjAwNDhDREQ2IC8qIERldmljZUNvbnRyb2xs
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlQ29udHJv
bGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNDQzJCNTEyMTVGNjEzMDYw
MDQ4Q0RENiAvKiBEZXZpY2VDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERldmljZUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
Q0QwMzIwMTUyMjc5RjVCRjAwREQ5RjBCIC8qIEpTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDRDA2M0Y4MDFFMjNGQTg5MDA4MTJCRTMgLyogSW5pdERhdGFSZWdp
c3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbml0RGF0YVJl
Z2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QwNjNGODExRTIzRkE4
OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW5pdERhdGFSZWdpc3RyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDRDBDOEI1ODIxNDFDOENBMDA2MkY1OUQgLyogTWVkaWFDYXBhYmlsaXRpZXNJbmZvLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE1lZGlhQ2FwYWJpbGl0aWVzSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjMyMTMsNyArMjMyMTQsNyBAQAogCQkJCUE3RDAzMThEMEU5MzU0MDMwMEUy
NEFDRCAvKiBKU0ltYWdlRGF0YUN1c3RvbS5jcHAgKi8sCiAJCQkJNTg2OEM3RDUyNTQ2RTBCMzAw
QkY5REYzIC8qIEpTSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwICovLAogCQkJCTc3QzEz
RjA0MjE2NTY1OEEwMDJEOUM1RiAvKiBKU0ludGVyc2VjdGlvbk9ic2VydmVyRW50cnlDdXN0b20u
Y3BwICovLAotCQkJCUNEMDMyMDE1MjI3OUY1QkYwMEREOUYwQiAvKiBKU01lZGlhQ2FwYWJpbGl0
aWVzQ3VzdG9tLmggKi8sCisJCQkJNDE4RkNCRTgyNzE1QUExOTAwRjk2RUNBIC8qIEpTTWVkaWFD
YXBhYmlsaXRpZXNDdXN0b20uaCAqLywKIAkJCQlBRDcyNkZFNzE2RDlGMjA0MDAzQTRFNkQgLyog
SlNNZWRpYUxpc3RDdXN0b20uaCAqLywKIAkJCQk0MTVDREFGNjFFNkNFMEQzMDA0RjExRUUgLyog
SlNNZWRpYVN0cmVhbVRyYWNrQ3VzdG9tLmNwcCAqLywKIAkJCQlFMUE1Rjk5QTBFN0VBQTI1MDBB
Rjg1RUEgLyogSlNNZXNzYWdlQ2hhbm5lbEN1c3RvbS5jcHAgKi8sCkBAIC0zNTEzNiw2ICszNTEz
Nyw3IEBACiAJCQkJNDEzQ0MxMUQyNUU3RDk4RTAwRDU5QzRCIC8qIFJUQ1ByaW9yaXR5VHlwZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDExNEZFMzIyNUJFQkQxOTAwOUQ5RjIwIC8qIFJUQ1J0Y3BQ
YXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTJERTRCODIxOTI4NUMwMDA3NUYzQTcg
LyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MThGQ0JFNzI3MTVB
MjhGMDBGOTZFQ0EgLyogUlRDUnRwQ29kZWNDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1RTJDNDM2MzFCQ0VFMzJCMDAwMUUyQkMgLyogUlRDUnRwUmVjZWl2ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxM0M4QjM1MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcldpdGhU
cmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFMkM0MzYxMUJDRUUzMjMwMDAxRTJCQyAv
KiBSVENSdHBTZW5kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNZWRpYUNhcGFiaWxpdGllc0N1c3RvbS5oCmluZGV4IGUyMGM4MzU4
OWI4MDZkMGY2ZmI3N2U5N2IzMjExN2RjYzBlMGU3YjcuLjgyNDcyNzc5OTA2ZGM3ODk1MWIzYWEw
MmRkMTJjYjhjMDZmOGIzMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTTWVkaWFDYXBhYmlsaXRpZXNDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU01lZGlhQ2FwYWJpbGl0aWVzQ3VzdG9tLmgKQEAgLTMxLDEyICszMSwyMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIEFMV0FZU19JTkxJTkUgYm9vbCBKU01lZGlhQ2FwYWJpbGl0aWVz
RW5jb2RpbmdJbmZvSXNFbmFibGVkKCkKIHsKKyNpZiBFTkFCTEUoV0VCX1JUQykKKyAgICByZXR1
cm4gdHJ1ZTsKKyNlbHNlCiAgICAgcmV0dXJuIE1lZGlhRW5naW5lQ29uZmlndXJhdGlvbkZhY3Rv
cnk6Omhhc0VuY29kaW5nQ29uZmlndXJhdGlvbkZhY3RvcnkoKTsKKyNlbmRpZgogfQogCiBBTFdB
WVNfSU5MSU5FIGJvb2wgSlNNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mb0lzRW5hYmxlZCgp
CiB7CisjaWYgRU5BQkxFKFdFQl9SVEMpCisgICAgcmV0dXJuIHRydWU7CisjZWxzZQogICAgIHJl
dHVybiBNZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5OjpoYXNEZWNvZGluZ0NvbmZpZ3Vy
YXRpb25GYWN0b3J5KCk7CisjZW5kaWYKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBiZmE0YTkzYWVhMDkxZmI1
MWRjZjcwNjQ3MzQ3YTM4N2FjYzk2NTEyLi5mOGI0YTFjZTJjY2RjODJlNjg5ZjBmMzc5NjcwMzk4
ZmJjZGQ5NTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQpAQCAtMjI3OSw2ICsyMjc5LDcgQEAgc3ViIEdldEVudW1lcmF0aW9u
VmFsdWVOYW1lCiAgICAgbXkgKCRuYW1lKSA9IEBfOwogCiAgICAgcmV0dXJuICJFbXB0eVN0cmlu
ZyIgaWYgJG5hbWUgZXEgIiI7CisgICAgcmV0dXJuICJXZWJSVEMiIGlmICRuYW1lIGVxICJ3ZWJy
dGMiOwogICAgICRuYW1lID0gam9pbigiIiwgbWFwIHsgJGNvZGVHZW5lcmF0b3ItPldLX3VjZmly
c3QoJF8pIH0gc3BsaXQoIi0iLCAkbmFtZSkpOwogICAgICRuYW1lID0gIl8kbmFtZSIgaWYgJG5h
bWUgPX4gL15cZC87CiAgICAgcmV0dXJuICRuYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9y
eUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL01lZGlh
RW5naW5lQ29uZmlndXJhdGlvbkZhY3RvcnlDb2NvYS5jcHAKaW5kZXggOTc0OTRlZTZjNWM4YjY5
OTIzNGVhN2M5NjZkZGQxYWM2YWE0MjRlNi4uMTIyMjYwMzdjYjE1MDM3NGYwMTBlYjMwMDYzMWMx
NDUxMGNiODEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNvY29hLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRp
b25GYWN0b3J5Q29jb2EuY3BwCkBAIC02Myw4ICs2MywyMCBAQCBzdGF0aWMgc3RkOjpvcHRpb25h
bDxNZWRpYUNhcGFiaWxpdGllc0luZm8+IGNvbXB1dGVNZWRpYUNhcGFiaWxpdGllc0luZm8oY29u
c3QgTQogICAgIGlmIChjb25maWd1cmF0aW9uLnZpZGVvKSB7CiAgICAgICAgIGF1dG8mIHZpZGVv
Q29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24udmlkZW8udmFsdWUoKTsKICAgICAgICAgTWVk
aWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyBwYXJhbWV0ZXJzIHsgfTsKKworICAgICAgICBzd2l0
Y2ggKGNvbmZpZ3VyYXRpb24udHlwZSkgeworICAgICAgICBjYXNlIE1lZGlhRGVjb2RpbmdUeXBl
OjpGaWxlOgorICAgICAgICAgICAgcGFyYW1ldGVycy5pc01lZGlhU291cmNlID0gZmFsc2U7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBNZWRpYURlY29kaW5nVHlwZTo6TWVkaWFT
b3VyY2U6CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzTWVkaWFTb3VyY2UgPSB0cnVlOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTWVkaWFEZWNvZGluZ1R5cGU6OldlYlJUQzoK
KyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKyAgICAgICAgfQorCiAgICAgICAgIHBhcmFtZXRlcnMudHlwZSA9IENvbnRl
bnRUeXBlKHZpZGVvQ29uZmlndXJhdGlvbi5jb250ZW50VHlwZSk7Ci0gICAgICAgIHBhcmFtZXRl
cnMuaXNNZWRpYVNvdXJjZSA9IGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYURlY29kaW5nVHlw
ZTo6TWVkaWFTb3VyY2U7CiAgICAgICAgIGlmIChNZWRpYVBsYXllcjo6c3VwcG9ydHNUeXBlKHBh
cmFtZXRlcnMpICE9IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVkKQogICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXNMb2dnaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxp
dGllc0xvZ2dpbmcuaAppbmRleCAyY2ViNmY2NmY4Yzg1Yzg3NGY4MmU5ZDE2OTZlY2FjOGY2MDQ5
YzFkLi5lMzE4OGJlYjRlMTFjN2U1YTYzN2IzYWUyMWJmNTIzM2NiMzQyYzJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxp
dGllc0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNhcGFiaWxpdGllc0xvZ2dpbmcuaApAQCAtNDEsNyArNDEsNyBAQCBzdHJ1Y3Qg
TWVkaWFDYXBhYmlsaXRpZXNFbmNvZGluZ0luZm87CiBlbnVtIGNsYXNzIENvbG9yR2FtdXQgOiB1
aW50OF90OwogZW51bSBjbGFzcyBIZHJNZXRhZGF0YVR5cGUgOiB1aW50OF90OwogZW51bSBjbGFz
cyBUcmFuc2ZlckZ1bmN0aW9uIDogdWludDhfdDsKLWVudW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5
cGUgOiBib29sOworZW51bSBjbGFzcyBNZWRpYURlY29kaW5nVHlwZSA6IHVpbnQ4X3Q7CiBlbnVt
IGNsYXNzIE1lZGlhRW5jb2RpbmdUeXBlIDogYm9vbDsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhRGVjb2RpbmdU
eXBlLmgKaW5kZXggNDE1ZTBiNzIwOWVhNTBlMTU5NmIyYThiZDJmMmEzOTI4MzYxODhhNy4uZjQx
ZDAxNmExNzFhMGMzYTIzNGIwMmM4NmFiZWVhYmEyMGY3NzJlNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFEZWNvZGluZ1R5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYURlY29k
aW5nVHlwZS5oCkBAIC0yNyw5ICsyNywxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVu
dW0gY2xhc3MgTWVkaWFEZWNvZGluZ1R5cGUgOiBib29sIHsKK2VudW0gY2xhc3MgTWVkaWFEZWNv
ZGluZ1R5cGUgOiB1aW50OF90IHsKICAgICBGaWxlLAogICAgIE1lZGlhU291cmNlLAorICAgIFdl
YlJUQwogfTsKIAogfQpAQCAtNDAsNyArNDEsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJh
aXRzPFdlYkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51
bVZhbHVlczwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5cGUsCiAgICAgICAgIFdl
YkNvcmU6Ok1lZGlhRGVjb2RpbmdUeXBlOjpGaWxlLAotICAgICAgICBXZWJDb3JlOjpNZWRpYURl
Y29kaW5nVHlwZTo6TWVkaWFTb3VyY2UKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFEZWNvZGluZ1R5
cGU6Ok1lZGlhU291cmNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYURlY29kaW5nVHlwZTo6V2Vi
UlRDCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUVuY29kaW5nVHlwZS5oCmluZGV4IDAxMmE4YzZk
NTM5NjdkOWI0ZWRjMjIyM2FlNDkwMDUzMWY1ZjFmZDcuLmIzYjQ4MDEzZTE5MjI1MTdlMmI0MDVk
MzBmM2RlNzBlOWZiNjE0ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhY2FwYWJpbGl0aWVzL01lZGlhRW5jb2RpbmdUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFjYXBhYmlsaXRpZXMvTWVkaWFFbmNvZGluZ1R5cGUuaApAQCAtMjksNyAr
MjksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xhc3MgTWVkaWFFbmNvZGluZ1R5
cGUgOiBib29sIHsKICAgICBSZWNvcmQsCi0gICAgVHJhbnNtaXNzaW9uLAorICAgIFdlYlJUQywK
IH07CiAKIH0KQEAgLTQwLDcgKzQwLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxX
ZWJDb3JlOjpNZWRpYUVuY29kaW5nVHlwZT4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1
ZXM8CiAgICAgICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBlLAogICAgICAgICBXZWJDb3Jl
OjpNZWRpYUVuY29kaW5nVHlwZTo6UmVjb3JkLAotICAgICAgICBXZWJDb3JlOjpNZWRpYUVuY29k
aW5nVHlwZTo6VHJhbnNtaXNzaW9uCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhRW5jb2RpbmdUeXBl
OjpXZWJSVEMKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5j
cHAKaW5kZXggNWFmNzlhZDQ4NTg2ODQwZjQ4NzU3ZGVmZThhM2E2NmU1NmQzYmVjYi4uZmRkNzg4
YTEwNjU1NDJmZTRlNzgwZjZlNDhjODcxNTI5M2M5MDc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUHJvdmlkZXIuY3BwCkBAIC0yNiwxMCArMjYsMTUgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogCisjaW5jbHVkZSAiTWVkaWFDYXBh
YmlsaXRpZXNEZWNvZGluZ0luZm8uaCIKKyNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0VuY29k
aW5nSW5mby5oIgorI2luY2x1ZGUgIk1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uLmgiCisjaW5j
bHVkZSAiTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24uaCIKKwogI2lmIFVTRShMSUJXRUJSVEMp
CisjaW5jbHVkZSAiQ29udGVudFR5cGUuaCIKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb01vZHVs
ZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJSVENSdHBDYXBhYmlsaXRpZXMu
aCIKICNpbmNsdWRlIDxkbGZjbi5oPgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgpA
QCAtMzc5LDYgKzM4NCwzMCBAQCB2b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpwcmVwYXJlQ2VydGlm
aWNhdGVHZW5lcmF0b3IoRnVuY3Rpb248dm9pZChydGM6OlJUQ0NlcnRpZgogICAgIH0pOwogfQog
Cit2b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpzZXRIMjY1U3VwcG9ydChib29sIHZhbHVlKQorewor
ICAgIG1fc3VwcG9ydHNIMjY1ID0gdmFsdWU7CisgICAgbV92aWRlb0RlY29kaW5nQ2FwYWJpbGl0
aWVzID0geyB9OworICAgIG1fdmlkZW9FbmNvZGluZ0NhcGFiaWxpdGllcyA9IHsgfTsKK30KKwor
dm9pZCBMaWJXZWJSVENQcm92aWRlcjo6c2V0VlA5U3VwcG9ydChib29sIHN1cHBvcnRzVlA5UHJv
ZmlsZTAsIGJvb2wgc3VwcG9ydHNWUDlQcm9maWxlMikKK3sKKyAgICBtX3N1cHBvcnRzVlA5UHJv
ZmlsZTAgPSBzdXBwb3J0c1ZQOVByb2ZpbGUwOworICAgIG1fc3VwcG9ydHNWUDlQcm9maWxlMiA9
IHN1cHBvcnRzVlA5UHJvZmlsZTI7CisKKyAgICBtX3ZpZGVvRGVjb2RpbmdDYXBhYmlsaXRpZXMg
PSB7IH07CisgICAgbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzID0geyB9OworfQorCit2b2lk
IExpYldlYlJUQ1Byb3ZpZGVyOjpzZXRWUDlWVEJTdXBwb3J0KGJvb2wgdmFsdWUpCit7CisgICAg
bV9zdXBwb3J0c1ZQOVZUQiA9IHZhbHVlOworCisgICAgbV92aWRlb0RlY29kaW5nQ2FwYWJpbGl0
aWVzID0geyB9OworICAgIG1fdmlkZW9FbmNvZGluZ0NhcGFiaWxpdGllcyA9IHsgfTsKK30KKwog
c3RhdGljIGlubGluZSBzdGQ6Om9wdGlvbmFsPGNyaWNrZXQ6Ok1lZGlhVHlwZT4gdHlwZUZyb21L
aW5kKGNvbnN0IFN0cmluZyYga2luZCkKIHsKICAgICBpZiAoa2luZCA9PSAiYXVkaW8iX3MpCkBA
IC00MzEsMTEgKzQ2MCwzNiBAQCBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gTGli
V2ViUlRDUHJvdmlkZXI6OnJlY2VpdmVyQ2FwYWJpbGl0aWVzKGNvbnN0CiAgICAgaWYgKCFtZWRp
YVR5cGUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvKiBmYWN0b3J5ID0gdGhpcy0+
ZmFjdG9yeSgpOwotICAgIGlmICghZmFjdG9yeSkKKyAgICBzd2l0Y2ggKCptZWRpYVR5cGUpIHsK
KyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9BVURJTzoKKyAgICAgICAg
cmV0dXJuIGF1ZGlvRGVjb2RpbmdDYXBhYmlsaXRpZXMoKTsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1l
ZGlhVHlwZTo6TUVESUFfVFlQRV9WSURFTzoKKyAgICAgICAgcmV0dXJuIHZpZGVvRGVjb2RpbmdD
YXBhYmlsaXRpZXMoKTsKKyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9E
QVRBOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIHsgfTsK
KyAgICBjYXNlIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9VTlNVUFBPUlRFRDoKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQor
fQorCitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4mIExpYldlYlJUQ1Byb3ZpZGVy
OjphdWRpb0RlY29kaW5nQ2FwYWJpbGl0aWVzKCkKK3sKKyAgICBpZiAoIW1fYXVkaW9EZWNvZGlu
Z0NhcGFiaWxpdGllcykgeworICAgICAgICBpZiAoYXV0byogZmFjdG9yeSA9IHRoaXMtPmZhY3Rv
cnkoKSkKKyAgICAgICAgICAgIG1fYXVkaW9EZWNvZGluZ0NhcGFiaWxpdGllcyA9IHRvUlRDUnRw
Q2FwYWJpbGl0aWVzKGZhY3RvcnktPkdldFJ0cFJlY2VpdmVyQ2FwYWJpbGl0aWVzKGNyaWNrZXQ6
Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9BVURJTykpOworICAgIH0KKyAgICByZXR1cm4gbV9hdWRp
b0RlY29kaW5nQ2FwYWJpbGl0aWVzOworfQogCi0gICAgcmV0dXJuIHRvUlRDUnRwQ2FwYWJpbGl0
aWVzKGZhY3RvcnktPkdldFJ0cFJlY2VpdmVyQ2FwYWJpbGl0aWVzKCptZWRpYVR5cGUpKTsKK3N0
ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiYgTGliV2ViUlRDUHJvdmlkZXI6OnZpZGVv
RGVjb2RpbmdDYXBhYmlsaXRpZXMoKQoreworICAgIGlmICghbV92aWRlb0RlY29kaW5nQ2FwYWJp
bGl0aWVzKSB7CisgICAgICAgIGlmIChhdXRvKiBmYWN0b3J5ID0gdGhpcy0+ZmFjdG9yeSgpKQor
ICAgICAgICAgICAgbV92aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzID0gdG9SVENSdHBDYXBhYmls
aXRpZXMoZmFjdG9yeS0+R2V0UnRwUmVjZWl2ZXJDYXBhYmlsaXRpZXMoY3JpY2tldDo6TWVkaWFU
eXBlOjpNRURJQV9UWVBFX1ZJREVPKSk7CisgICAgfQorICAgIHJldHVybiBtX3ZpZGVvRGVjb2Rp
bmdDYXBhYmlsaXRpZXM7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBM
aWJXZWJSVENQcm92aWRlcjo6c2VuZGVyQ2FwYWJpbGl0aWVzKGNvbnN0IFN0cmluZyYga2luZCkK
QEAgLTQ0NCwxMyArNDk4LDEzNiBAQCBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4g
TGliV2ViUlRDUHJvdmlkZXI6OnNlbmRlckNhcGFiaWxpdGllcyhjb25zdCBTdAogICAgIGlmICgh
bWVkaWFUeXBlKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byogZmFjdG9yeSA9IHRo
aXMtPmZhY3RvcnkoKTsKLSAgICBpZiAoIWZhY3RvcnkpCisgICAgc3dpdGNoICgqbWVkaWFUeXBl
KSB7CisgICAgY2FzZSBjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfQVVESU86CisgICAg
ICAgIHJldHVybiBhdWRpb0VuY29kaW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgY2FzZSBjcmlja2V0
OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfVklERU86CisgICAgICAgIHJldHVybiB2aWRlb0VuY29k
aW5nQ2FwYWJpbGl0aWVzKCk7CisgICAgY2FzZSBjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZ
UEVfREFUQToKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiB7
IH07CisgICAgY2FzZSBjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfVU5TVVBQT1JURUQ6
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4geyB9OworICAg
IH0KK30KKworc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+JiBMaWJXZWJSVENQcm92
aWRlcjo6YXVkaW9FbmNvZGluZ0NhcGFiaWxpdGllcygpCit7CisgICAgaWYgKCFtX2F1ZGlvRW5j
b2RpbmdDYXBhYmlsaXRpZXMpIHsKKyAgICAgICAgaWYgKGF1dG8qIGZhY3RvcnkgPSB0aGlzLT5m
YWN0b3J5KCkpCisgICAgICAgICAgICBtX2F1ZGlvRW5jb2RpbmdDYXBhYmlsaXRpZXMgPSB0b1JU
Q1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBTZW5kZXJDYXBhYmlsaXRpZXMoY3JpY2tl
dDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX0FVRElPKSk7CisgICAgfQorICAgIHJldHVybiBtX2F1
ZGlvRW5jb2RpbmdDYXBhYmlsaXRpZXM7Cit9CisKK3N0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJp
bGl0aWVzPiYgTGliV2ViUlRDUHJvdmlkZXI6OnZpZGVvRW5jb2RpbmdDYXBhYmlsaXRpZXMoKQor
eworICAgIGlmICghbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzKSB7CisgICAgICAgIGlmIChh
dXRvKiBmYWN0b3J5ID0gdGhpcy0+ZmFjdG9yeSgpKQorICAgICAgICAgICAgbV92aWRlb0VuY29k
aW5nQ2FwYWJpbGl0aWVzID0gdG9SVENSdHBDYXBhYmlsaXRpZXMoZmFjdG9yeS0+R2V0UnRwU2Vu
ZGVyQ2FwYWJpbGl0aWVzKGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9WSURFTykpOwor
ICAgIH0KKyAgICByZXR1cm4gbV92aWRlb0VuY29kaW5nQ2FwYWJpbGl0aWVzOworfQorCitzdGQ6
Om9wdGlvbmFsPFJUQ1J0cENvZGVjQ2FwYWJpbGl0eT4gTGliV2ViUlRDUHJvdmlkZXI6OmNvZGVj
Q2FwYWJpbGl0eShjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0IHN0ZDo6b3B0
aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiYgY2FwYWJpbGl0aWVzKQoreworICAgIGlmICghY2Fw
YWJpbGl0aWVzKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgcmV0dXJuIHRvUlRDUnRwQ2Fw
YWJpbGl0aWVzKGZhY3RvcnktPkdldFJ0cFNlbmRlckNhcGFiaWxpdGllcygqbWVkaWFUeXBlKSk7
CisgICAgYXV0byBjb250YWluZXJUeXBlID0gY29udGVudFR5cGUuY29udGFpbmVyVHlwZSgpOwor
ICAgIGZvciAoYXV0byYgY29kZWMgOiBjYXBhYmlsaXRpZXMtPmNvZGVjcykgeworICAgICAgICBp
ZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShjb250YWluZXJUeXBlLCBjb2RlYy5taW1lVHlwZSkp
CisgICAgICAgICAgICByZXR1cm4gY29kZWM7CisgICAgfQorICAgIHJldHVybiB7IH07Cit9Cisj
ZW5kaWYgLy8gVVNFKExJQldFQlJUQykKKwordm9pZCBMaWJXZWJSVENQcm92aWRlcjo6Y3JlYXRl
RGVjb2RpbmdDb25maWd1cmF0aW9uKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uJiYgY29uZmln
dXJhdGlvbiwgRGVjb2RpbmdDb25maWd1cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAg
ICBBU1NFUlQoY29uZmlndXJhdGlvbi50eXBlID09IE1lZGlhRGVjb2RpbmdUeXBlOjpXZWJSVEMp
OworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICAvLyBGSVhNRTogVmFsaWRhdGUgYWRkaXRpb25h
bCBwYXJhbWV0ZXJzLCBpbiBwYXJ0aWN1bGFyIG1pbWUgdHlwZSBwYXJhbWV0ZXJzLgorICAgIE1l
ZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvIGluZm8geyBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24p
IH07CisKKyAgICBpZiAoaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLnZpZGVvKSB7CisgICAg
ICAgIENvbnRlbnRUeXBlIGNvbnRlbnRUeXBlIHsgaW5mby5zdXBwb3J0ZWRDb25maWd1cmF0aW9u
LnZpZGVvLT5jb250ZW50VHlwZSB9OworICAgICAgICBhdXRvIGNvZGVjID0gY29kZWNDYXBhYmls
aXR5KGNvbnRlbnRUeXBlLCB2aWRlb0RlY29kaW5nQ2FwYWJpbGl0aWVzKCkpOworICAgICAgICBp
ZiAoIWNvZGVjKSB7CisgICAgICAgICAgICBjYWxsYmFjayh7IH0pOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgICAgIGluZm8uc3VwcG9ydGVkID0gdHJ1ZTsKKyNpZiBQTEFU
Rk9STShDT0NPQSkKKyAgICAgICAgYXV0byBjb250YWluZXJUeXBlID0gY29udGVudFR5cGUuY29u
dGFpbmVyVHlwZSgpOworICAgICAgICBpZiAoY29udGFpbmVyVHlwZSA9PSAidmlkZW8vdnA4IikK
KyAgICAgICAgICAgIGluZm8ucG93ZXJFZmZpY2llbnQgPSBmYWxzZTsKKyAgICAgICAgZWxzZSBp
ZiAoY29udGFpbmVyVHlwZSA9PSAidmlkZW8vdnA5IikKKyAgICAgICAgICAgIGluZm8ucG93ZXJF
ZmZpY2llbnQgPSBpc1N1cHBvcnRpbmdWUDlWVEIoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgaW5mby5wb3dlckVmZmljaWVudCA9IHRydWU7CisgICAgICAgIGluZm8uc21vb3RoID0gaW5m
by5wb3dlckVmZmljaWVudDsKKyNlbmRpZgorICAgIH0KKyAgICBpZiAoaW5mby5zdXBwb3J0ZWRD
b25maWd1cmF0aW9uLmF1ZGlvKSB7CisgICAgICAgIENvbnRlbnRUeXBlIGNvbnRlbnRUeXBlIHsg
aW5mby5zdXBwb3J0ZWRDb25maWd1cmF0aW9uLmF1ZGlvLT5jb250ZW50VHlwZSB9OworICAgICAg
ICBhdXRvIGNvZGVjID0gY29kZWNDYXBhYmlsaXR5KGNvbnRlbnRUeXBlLCBhdWRpb0RlY29kaW5n
Q2FwYWJpbGl0aWVzKCkpOworICAgICAgICBpZiAoIWNvZGVjKSB7CisgICAgICAgICAgICBjYWxs
YmFjayh7IH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGluZm8u
c3VwcG9ydGVkID0gdHJ1ZTsKKyAgICB9CisgICAgY2FsbGJhY2soV1RGTW92ZShpbmZvKSk7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb25maWd1cmF0aW9uKTsKKyAgICBjYWxsYmFjayh7IH0p
OworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCiB9CiAKK3ZvaWQgTGliV2ViUlRDUHJvdmlkZXI6
OmNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYm
IGNvbmZpZ3VyYXRpb24sIEVuY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2sp
Cit7CisgICAgQVNTRVJUKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYUVuY29kaW5nVHlwZTo6
V2ViUlRDKTsKKworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgLy8gRklYTUU6IFZhbGlkYXRlIGFk
ZGl0aW9uYWwgcGFyYW1ldGVycywgaW4gcGFydGljdWxhciBtaW1lIHR5cGUgcGFyYW1ldGVycy4K
KyAgICBNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mbyBpbmZvIHsgV1RGTW92ZShjb25maWd1
cmF0aW9uKSB9OworCisgICAgaWYgKGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi52aWRlbykg
eworICAgICAgICBDb250ZW50VHlwZSBjb250ZW50VHlwZSB7IGluZm8uc3VwcG9ydGVkQ29uZmln
dXJhdGlvbi52aWRlby0+Y29udGVudFR5cGUgfTsKKyAgICAgICAgYXV0byBjb2RlYyA9IGNvZGVj
Q2FwYWJpbGl0eShjb250ZW50VHlwZSwgdmlkZW9FbmNvZGluZ0NhcGFiaWxpdGllcygpKTsKKyAg
ICAgICAgaWYgKCFjb2RlYykgeworICAgICAgICAgICAgY2FsbGJhY2soeyB9KTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpbmZvLnN1cHBvcnRlZCA9IHRydWU7Cisj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgICAgIGF1dG8gY29udGFpbmVyVHlwZSA9IGNvbnRlbnRU
eXBlLmNvbnRhaW5lclR5cGUoKTsKKyAgICAgICAgaWYgKGNvbnRhaW5lclR5cGUgPT0gInZpZGVv
L3ZwOCIpCisgICAgICAgICAgICBpbmZvLnBvd2VyRWZmaWNpZW50ID0gZmFsc2U7CisgICAgICAg
IGVsc2UgaWYgKGNvbnRhaW5lclR5cGUgPT0gInZpZGVvL3ZwOSIpCisgICAgICAgICAgICBpbmZv
LnBvd2VyRWZmaWNpZW50ID0gaXNTdXBwb3J0aW5nVlA5VlRCKCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGluZm8ucG93ZXJFZmZpY2llbnQgPSB0cnVlOworICAgICAgICBpbmZvLnNtb290
aCA9IGluZm8ucG93ZXJFZmZpY2llbnQ7CisjZW5kaWYKKyAgICB9CisgICAgaWYgKGluZm8uc3Vw
cG9ydGVkQ29uZmlndXJhdGlvbi5hdWRpbykgeworICAgICAgICBDb250ZW50VHlwZSBjb250ZW50
VHlwZSB7IGluZm8uc3VwcG9ydGVkQ29uZmlndXJhdGlvbi5hdWRpby0+Y29udGVudFR5cGUgfTsK
KyAgICAgICAgYXV0byBjb2RlYyA9IGNvZGVjQ2FwYWJpbGl0eShjb250ZW50VHlwZSwgYXVkaW9F
bmNvZGluZ0NhcGFiaWxpdGllcygpKTsKKyAgICAgICAgaWYgKCFjb2RlYykgeworICAgICAgICAg
ICAgY2FsbGJhY2soeyB9KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBpbmZvLnN1cHBvcnRlZCA9IHRydWU7CisgICAgfQorICAgIGNhbGxiYWNrKFdURk1vdmUoaW5m
bykpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29uZmlndXJhdGlvbik7CisgICAgY2FsbGJh
Y2soeyB9KTsKICNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQorfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oCmluZGV4IDM2YzY0YTgzY2Vm
OTI4OTI3YjI2MGRhNzcwODRkYWUyNWU5MTllNGEuLjUxYjQ5YTBmMTExNWNkYmM4NDk0NWMwNDIx
ODNmZTZjZTExNjA3ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oCkBAIC0z
Niw2ICszNiw4IEBACiAKICNpZiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVkZSAiUlRDUnRwQ2Fw
YWJpbGl0aWVzLmgiCisKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCiBBTExPV19ERVBS
RUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogCkBAIC02Miw3ICs2NCwxMiBAQCBjbGFzcyBQZWVy
Q29ubmVjdGlvbkZhY3RvcnlJbnRlcmZhY2U7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xh
c3MgQ29udGVudFR5cGU7CiBjbGFzcyBMaWJXZWJSVENBdWRpb01vZHVsZTsKK3N0cnVjdCBNZWRp
YUNhcGFiaWxpdGllc0RlY29kaW5nSW5mbzsKK3N0cnVjdCBNZWRpYUNhcGFiaWxpdGllc0VuY29k
aW5nSW5mbzsKK3N0cnVjdCBNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbjsKK3N0cnVjdCBNZWRp
YUVuY29kaW5nQ29uZmlndXJhdGlvbjsKIGNsYXNzIFJlZ2lzdHJhYmxlRG9tYWluOwogc3RydWN0
IFBlZXJDb25uZWN0aW9uRmFjdG9yeUFuZFRocmVhZHM7CiBzdHJ1Y3QgUlRDUnRwQ2FwYWJpbGl0
aWVzOwpAQCAtODcsNiArOTQsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBSZWZQdHI8UlRD
RGF0YUNoYW5uZWxSZW1vdGVIYW5kbGVyQ29ubmVjdGlvbj4gY3JlYXRlUlRDRGF0YUNoYW5uZWxS
ZW1vdGVIYW5kbGVyQ29ubmVjdGlvbigpIHsgcmV0dXJuIG51bGxwdHI7IH0KIAorICAgIHVzaW5n
IERlY29kaW5nQ29uZmlndXJhdGlvbkNhbGxiYWNrID0gRnVuY3Rpb248dm9pZChNZWRpYUNhcGFi
aWxpdGllc0RlY29kaW5nSW5mbyYmKT47CisgICAgdXNpbmcgRW5jb2RpbmdDb25maWd1cmF0aW9u
Q2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lkKE1lZGlhQ2FwYWJpbGl0aWVzRW5jb2RpbmdJbmZvJiYp
PjsKKyAgICB2b2lkIGNyZWF0ZURlY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYURlY29kaW5nQ29u
ZmlndXJhdGlvbiYmLCBEZWNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKyAgICB2b2lk
IGNyZWF0ZUVuY29kaW5nQ29uZmlndXJhdGlvbihNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYm
LCBFbmNvZGluZ0NvbmZpZ3VyYXRpb25DYWxsYmFjayYmKTsKKwogI2lmIFVTRShMSUJXRUJSVEMp
CiAgICAgdmlydHVhbCBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVyQ29ubmVjdGlvbklu
dGVyZmFjZT4gY3JlYXRlUGVlckNvbm5lY3Rpb24oRG9jdW1lbnRJZGVudGlmaWVyLCB3ZWJydGM6
OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImLCBydGM6OlBhY2tldFNvY2tldEZhY3RvcnkqLCB3ZWJy
dGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlOjpSVENDb25maWd1cmF0aW9uJiYpOwogCkBAIC0x
MDUsOSArMTE3LDkgQEAgcHVibGljOgogICAgIHZvaWQgZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3
b3JrSW50ZXJmYWNlcygpOwogICAgIGJvb2wgaXNFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZh
Y2VzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3Jr
SW50ZXJmYWNlczsgfQogCi0gICAgdm9pZCBzZXRIMjY1U3VwcG9ydChib29sIHZhbHVlKSB7IG1f
c3VwcG9ydHNIMjY1ID0gdmFsdWU7IH0KKyAgICB2b2lkIHNldEgyNjVTdXBwb3J0KGJvb2wpOwog
ICAgIHZvaWQgc2V0VlA5U3VwcG9ydChib29sIHN1cHBvcnRzVlA5UHJvZmlsZTAsIGJvb2wgc3Vw
cG9ydHNWUDlQcm9maWxlMik7Ci0gICAgdm9pZCBzZXRWUDlWVEJTdXBwb3J0KGJvb2wgdmFsdWUp
IHsgbV9zdXBwb3J0c1ZQOVZUQiA9IHZhbHVlOyB9CisgICAgdm9pZCBzZXRWUDlWVEJTdXBwb3J0
KGJvb2wpOwogICAgIGJvb2wgaXNTdXBwb3J0aW5nSDI2NSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Vw
cG9ydHNIMjY1OyB9CiAgICAgYm9vbCBpc1N1cHBvcnRpbmdWUDlQcm9maWxlMCgpIGNvbnN0IHsg
cmV0dXJuIG1fc3VwcG9ydHNWUDlQcm9maWxlMDsgfQogICAgIGJvb2wgaXNTdXBwb3J0aW5nVlA5
UHJvZmlsZTIoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzVlA5UHJvZmlsZTI7IH0KQEAgLTE0
OSw2ICsxNjEsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBzdGFydGVkTmV0d29y
a1RocmVhZCgpIHsgfTsKIAogICAgIFBlZXJDb25uZWN0aW9uRmFjdG9yeUFuZFRocmVhZHMmIGdl
dFN0YXRpY0ZhY3RvcnlBbmRUaHJlYWRzKGJvb2wgdXNlTmV0d29ya1RocmVhZFdpdGhTb2NrZXRT
ZXJ2ZXIpOworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiYgYXVkaW9EZWNv
ZGluZ0NhcGFiaWxpdGllcygpOworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVz
PiYgdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGllcygpOworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRw
Q2FwYWJpbGl0aWVzPiYgYXVkaW9FbmNvZGluZ0NhcGFiaWxpdGllcygpOworICAgIHN0ZDo6b3B0
aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiYgdmlkZW9FbmNvZGluZ0NhcGFiaWxpdGllcygpOwor
ICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ29kZWNDYXBhYmlsaXR5PiBjb2RlY0NhcGFiaWxpdHko
Y29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGll
cz4mKTsKIAogICAgIGJvb2wgbV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2Vz
IHsgZmFsc2UgfTsKICAgICAvLyBGSVhNRTogUmVtb3ZlIG1fdXNlTmV0d29ya1RocmVhZFdpdGhT
b2NrZXRTZXJ2ZXIgbWVtYmVyIHZhcmlhYmxlIGFuZCBtYWtlIGl0IGEgZ2xvYmFsLgpAQCAtMTYy
LDE1ICsxNzksMTIgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9zdXBwb3J0c1ZQOVZUQiB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX3VzZURUTFMxMCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3N1cHBv
cnRzTUROUyB7IGZhbHNlIH07Ci0jZW5kaWYKLX07CiAKLSNpZiBVU0UoTElCV0VCUlRDKQotaW5s
aW5lIHZvaWQgTGliV2ViUlRDUHJvdmlkZXI6OnNldFZQOVN1cHBvcnQoYm9vbCBzdXBwb3J0c1ZQ
OVByb2ZpbGUwLCBib29sIHN1cHBvcnRzVlA5UHJvZmlsZTIpCi17Ci0gICAgbV9zdXBwb3J0c1ZQ
OVByb2ZpbGUwID0gc3VwcG9ydHNWUDlQcm9maWxlMDsKLSAgICBtX3N1cHBvcnRzVlA5UHJvZmls
ZTIgPSBzdXBwb3J0c1ZQOVByb2ZpbGUyOwotfQorICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2Fw
YWJpbGl0aWVzPiBtX2F1ZGlvRGVjb2RpbmdDYXBhYmlsaXRpZXM7CisgICAgc3RkOjpvcHRpb25h
bDxSVENSdHBDYXBhYmlsaXRpZXM+IG1fdmlkZW9EZWNvZGluZ0NhcGFiaWxpdGllczsKKyAgICBz
dGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gbV9hdWRpb0VuY29kaW5nQ2FwYWJpbGl0
aWVzOworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBtX3ZpZGVvRW5jb2Rp
bmdDYXBhYmlsaXRpZXM7CiAjZW5kaWYKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFFbmdpbmVDb25maWd1
cmF0aW9uRmFjdG9yeU1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHAKaW5kZXggY2YxOGZlNzQ2YmEzYWVk
M2ZlMGRiNWEzYTAwODg5OWQ0ZTZhMTc1Mi4uMDI2NjFjYzMxZmQwMTE1ZGNjZjU4MzczYTgwZDg0
YWMyNWMxYzAwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRp
YUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9NZWRpYUVuZ2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5TW9jay5jcHAKQEAg
LTEwMSw4ICsxMDEsOCBAQCBzdGF0aWMgYm9vbCBjYW5Qb3dlckVmZmljaWVudGx5RGVjb2RlTWVk
aWEoY29uc3QgTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24mIGNvbgogCiBzdGF0aWMgYm9vbCBj
YW5FbmNvZGVNZWRpYShjb25zdCBNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbiYgY29uZmlndXJh
dGlvbikKIHsKLSAgICAvLyBUaGUgbW9jayBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBvbmx5IGxv
Y2FsIGZpbGUgcGxheWJhY2suCi0gICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSA9PSBNZWRpYUVu
Y29kaW5nVHlwZTo6UmVjb3JkKQorICAgIEFTU0VSVChjb25maWd1cmF0aW9uLnR5cGUgPT0gTWVk
aWFFbmNvZGluZ1R5cGU6OlJlY29yZCk7CisgICAgaWYgKGNvbmZpZ3VyYXRpb24udHlwZSAhPSBN
ZWRpYUVuY29kaW5nVHlwZTo6UmVjb3JkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAv
LyBNYXhpbmcgb3V0IHZpZGVvIGVuY29kaW5nIHN1cHBvcnQgYXQgNzIwUC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NzI2
ZGVkMjUzMGNjOGJkMTZkY2IzN2ViNmM3M2UyMGYzZjg1MWRiLi5lZjE2ZTU0NmE3ZDc4MzVkM2Fj
ODQ0YjA3Y2U0NDZhMGZhZWZlOGFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMTAtMTIg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciBXZWJSVEMgbWVkaWEgY2FwYWJpbGl0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE1NjgKKworICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IENhcmxzb24uCisKKyAgICAgICAgKiBtZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29k
aW5nSW5mby1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMv
bW9jay1lbmNvZGluZ0luZm8uaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvbWVkaWEvbWVk
aWFjYXBhYmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtZW5jb2RpbmdJbmZvLXVuZGVmaW5lZC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zL21lZGlhL21lZGlh
Y2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVuY29kaW5nSW5mby11bmRlZmluZWQuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvbWVkaWEvbWVkaWFjYXBhYmlsaXRp
ZXMvbWVkaWFjYXBhYmlsaXRpZXMtdHlwZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGll
cy10eXBlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL21l
ZGlhL21lZGlhY2FwYWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLWVuY29kaW5nSW5mby11bmRl
ZmluZWQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9tZWRp
YS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZp
bmVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL21lZGlhL21lZGlhY2Fw
YWJpbGl0aWVzL21lZGlhY2FwYWJpbGl0aWVzLXR5cGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB0ZXN0cy1vcHRpb25zLmpzb246CisKIDIwMjEtMTAtMTAgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGl0ZXJhdGluZyBGaWxlU3lz
dGVtRGlyZWN0b3J5SGFuZGxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxMTk0
OTIzZGRiMDEwYjVhNWQwZTRhY2Y5MzNlZjZjYTNhOWM2MjNjLi45ZWQwMTk3NmI3YWU4OTkzZjQ0
MDZjYzg3ZDAxYmJhMmRmMTViNDgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMSBAQAorMjAyMS0xMC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFdlYlJUQyBtZWRpYSBjYXBhYmlsaXRpZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTU2OAor
CisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICAqIHJlc291cmNl
cy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9NRVRBLnltbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9SRUFETUUubWQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuanM6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVj
b2RpbmdJbmZvLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2Vy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLndlYnJ0
Yy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2VuY29kaW5nSW5mby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2Rp
bmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhh
cm5lc3MuYW55LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkud29y
a2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDIxLTEwLTEwICBTaWh1aSBMaXUg
IDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBpdGVyYXRp
bmcgRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCA2
OGVjMjgzZTk0MTI5MTAyYzYzNmQ0ZTgyZmI2NjAyMjliNDU4MjhhLi42MTBkZDVjZmQ1YWY1MGZi
ZDY5MTFmYzE3MDUzOGJmYTQwYmQyNjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMzYw
LDcgKzM2MCw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9sb25ndGFzay10aW1pbmciOiAi
c2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWFnbmV0b21ldGVyIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbCI6ICJpbXBvcnQiLCAKLSAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcyI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS8iOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtaW1hZ2UiOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9NRVRBLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmQwMGVmYjlhNzY0ZTI5Zjg5NWFmN2I0NzYxZjcwZTkz
ZmExZDAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvTUVUQS55bWwKQEAgLTAsMCArMSwzIEBA
CitzcGVjOiBodHRwczovL3czYy5naXRodWIuaW8vbWVkaWEtY2FwYWJpbGl0aWVzLworc3VnZ2Vz
dGVkX3Jldmlld2VyczoKKyAgLSBtb3VuaXJsYW1vdXJpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9SRUFE
TUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZlOTk0OTc2YzA3Njg3MDYyMzcx
YWE4MjEwNGM4OTBmM2IwOWQ1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL1JFQURNRS5tZApA
QCAtMCwwICsxLDE0IEBACisjIE1lZGlhIENhcGFiaWxpdGllcyBzcGVjaWZpY2F0aW9uIFRlc3Rz
CisKK1RoZSBNZWRpYSBDYXBhYmlsaXRpZXMgc3BlY2lmaWNhdGlvbiBpcyBhdmFpbGFibGUgaGVy
ZTogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRpZXMKKworR2l0SHViIHJl
cG9zaXRvcnk6IGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL21lZGlhLWNhcGFiaWxpdGllcworCitG
aWxlIGFuIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vd2ljZy9tZWRpYS1jYXBhYmlsaXRpZXMv
aXNzdWVzL25ldworCisjIyBTdGF0dXMgb2YgdGhlc2UgdGVzdHMKKworVGhlc2UgdGVzdHMgYXJl
IHN0aWxsIHZlcnkgZWFybHkuIFRoZSBzcGVjaWZpY2F0aW9uIGlzIHN0aWxsIFdJUCBhbmQgdGhl
eSB0cnkgdG8KK3JlZmxlY3QgYXMgbXVjaCBhcyBwb3NzaWJsZSB0aGUgY3VycmVudCBzdGF0ZSBv
ZiB0aGUgc3BlY2lmaWNhdGlvbi4gUGxlYXNlIGZpbGUKK2lzc3VlcyBpZiB0aGVyZSBhcmUgaW5j
b25zaXN0ZW5jaWVzIGJldHdlZW4gdGhlIHNwZWNpZmljYXRpb24gYW5kIHRoZSB0ZXN0cyBvcgor
aWYgdGVzdHMgYXJlIG9idmlvdXNseSBtaXNzaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2Rp
bmdJbmZvLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xNTY1OTRiMWJhZmNhNDljMjY1Y2UyMjBjYjhlYjZkMGMwNmUxZGIw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzMSBAQAorCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBp
ZiBpdCBkb2Vzbid0IGdldCBhIGNvbmZpZ3VyYXRpb24KK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5n
SW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQKK1BBU1Mg
VGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24g
ZG9lcyBub3QgaGF2ZSBhIHR5cGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSBjb25maWd1cmF0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBhdWRpbyBvciB2aWRlbyBmaWVs
ZAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlCitQQVNTIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUg
c2V0IHRvIDAKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRl
byBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkKK1BBU1MgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNv
bnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUg
dmlkZW8KK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBj
b25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlciBhc3Nl
cnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhl
IHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBp
c24ndCBjb2RlY3MKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVy
YXRlIGluIHRoZSBmb3JtIG9mIHgveQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wCitQQVNTIFRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kKK1BBU1MgVGVzdCB0
aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kK
K1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBm
b3JtIG9mIHgvLXkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVy
YXRlIGluIHRoZSBmb3JtIG9mIHgvCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWpl
Y3RzIGZyYW1lcmF0ZSB3aXRoIHRyYWlsaW5nIHVuYWxsb3dlZCBjaGFyYWN0ZXJzCitQQVNTIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBj
b250ZW5UeXBlIGRvZXNuJ3QgcGFyc2UKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUg
YXVkaW8KK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBj
b25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMgYXNz
ZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRo
ZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQg
aXNuJ3QgY29kZWNzCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlk
IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyBy
ZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHR5
cGUKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIHNwYXRpYWxSZW5kZXJpbmcgc2V0
IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0cyBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gd2l0aCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQsIGFuZCB0cmFu
c2ZlckZ1bmN0aW9uIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIG9i
amVjdHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVk
IgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gaGFzIGFuIGVtcHR5IGhkck1ldGFkYXRhVHlwZQorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgY29sb3JH
YW11dCBzZXQgdG8gdHJ1ZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgdHJhbnNmZXJGdW5jdGlvbiBzZXQgdG8gMwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGlu
Z0luZm8uYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2
MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8uYW55Lmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBh
YmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzJkNDdlODcyOTU3NzVm
MjA3ZmVkZDZmM2Y2ODY4MWNhMzJhZDc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2Rp
bmdJbmZvLmFueS5qcwpAQCAtMCwwICsxLDM4MyBAQAorLy8gTUVUQTogdGltZW91dD1sb25nCisn
dXNlIHN0cmljdCc7CisKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBi
ZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3Np
bmcuCit2YXIgbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgd2lkdGg6IDgwMCwKKyAgaGVp
Z2h0OiA2MDAsCisgIGJpdHJhdGU6IDMwMDAsCisgIGZyYW1lcmF0ZTogMjQsCit9OworCisvLyBN
aW5pbWFsIEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4g
QWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxBdWRp
b0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJv
cHVzIicsCit9OworCisvLyBBdWRpb0NvbmZpZ3VyYXRpb24gd2l0aCBvcHRpb25hbCBzcGF0aWFs
UmVuZGVyaW5nIHBhcmFtLgordmFyIGF1ZGlvQ29uZmlndXJhdGlvbldpdGhTcGF0aWFsUmVuZGVy
aW5nID0geworICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLAorICBz
cGF0aWFsUmVuZGVyaW5nOiB0cnVlLAorfTsKKworLy8gVmlkZW9Db25maWd1cmF0aW9uIHdpdGgg
b3B0aW9uYWwgaGRyTWV0YWRhdGFUeXBlLCBjb2xvckdhbXV0LCBhbmQKKy8vIHRyYW5zZmVyRnVu
Y3Rpb24gcHJvcGVydGllcy4KK3ZhciB2aWRlb0NvbmZpZ3VyYXRpb25XaXRoRHluYW1pY1Jhbmdl
ID0geworICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCIn
LAorICB3aWR0aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAgYml0cmF0ZTogMzAwMCwKKyAgZnJh
bWVyYXRlOiAyNCwKKyAgaGRyTWV0YWRhdGFUeXBlOiAic21wdGVTdDIwODYiLAorICBjb2xvckdh
bXV0OiAic3JnYiIsCisgIHRyYW5zZmVyRnVuY3Rpb246ICJzcmdiIiwKK30KKworcHJvbWlzZV90
ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbygpKTsKK30sICJUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uIik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oe30pKTsK
K30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29uZmlndXJh
dGlvbiBpc24ndCB2YWxpZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZGVjb2RpbmdJbmZvKHsKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAg
ICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgfSkpOworfSwgIlRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90
IGhhdmUgYSB0eXBlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2Vf
cmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVk
aW8gb3IgdmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBj
b250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAg
d2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAg
ICAgIGZyYW1lcmF0ZTogLTEsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBm
cmFtZXJhdGUiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWpl
Y3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlw
ZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgw
MCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1l
cmF0ZTogMCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWpl
Y3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwg
VHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAg
ICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8v
d2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAg
aGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiBJbmZp
bml0eSwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3Rz
IGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5p
dHkiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pz
KHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7
CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2Zn
ZW9hJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJh
dGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0
IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29u
dGVudFR5cGUgZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVy
biBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAg
ICAgIGNvbnRlbnRUeXBlOiAnYXVkaW8vZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAg
IGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQs
CisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93
ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiOyBmb289ImJhciInLAorICAgICAgd2lkdGg6IDgw
MCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1l
cmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFu
IG9uZSBwYXJhbWV0ZXIiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250
ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGZvbz0iYmFyIicsCisgICAgICB3aWR0aDogODAwLAorICAg
ICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAy
NCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRo
YXQgaXNuJ3QgY29kZWNzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21p
c2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29u
dGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdp
ZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAg
ICBmcmFtZXJhdGU6ICcyNDAwMC8xMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC95Iik7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBl
RXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5
cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJt
OyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWln
aHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8w
JywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgeC8wIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNh
cGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzog
eworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgi
JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6
IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcwLzEwMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2Yg
MC95Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19q
cyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8o
eworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2
aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisg
ICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6
ICctMjQwMDAvMTAwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0lu
Zm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95Iik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxl
JywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9
InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwK
KyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8tMTAwMDEnLAor
ICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1l
cmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogewor
ICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywK
KyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMw
MDAsCisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8nLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LyIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwg
VHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAg
ICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8v
d2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAg
aGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMS8z
eCcsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMg
ZnJhbWVyYXRlIHdpdGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2Zp
bGUnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsKK30sICJU
ZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24g
Y29udGVuVHlwZSBkb2Vzbid0IHBhcnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0
dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFi
aWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzogeyBj
b250ZW50VHlwZTogJ3ZpZGVvL2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlz
bid0IG9mIHR5cGUgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRU
eXBlOiAnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIjsgZm9vPSJiYXIiJyB9LAorICB9KSk7Cit9
LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGhhcyBtb3JlIHRoYW4gb25lIHBhcmFtZXRlcnMiKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwg
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2Zp
bGUnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vd2VibTsgZm9vPSJiYXIiJyB9
LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRp
byBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3Qg
Y29kZWNzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRl
bzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29u
ZmlndXJhdGlvbiwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5
cGVvZiBhYmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5
cGVvZiBhYmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVv
ZiBhYmlsaXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCAib2JqZWN0Iik7CisgIH0pOworfSwgIlRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5m
byBvYmplY3RzIik7CisKK2FzeW5jX3Rlc3QodCA9PiB7CisgIHZhciB2YWxpZFR5cGVzID0gWyAn
ZmlsZScsICdtZWRpYS1zb3VyY2UnIF07CisgIHZhciBpbnZhbGlkVHlwZXMgPSBbIHVuZGVmaW5l
ZCwgbnVsbCwgJycsICdmb29iYXInLCAnbXNlJywgJ01lZGlhU291cmNlJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgJ3JlY29yZCcsICd0cmFuc21pc3Npb24nIF07CisKKyAgdmFyIHZhbGlkUHJv
bWlzZXMgPSBbXTsKKyAgdmFyIGludmFsaWRDYXVnaHQgPSAwOworCisgIHZhbGlkVHlwZXMuZm9y
RWFjaCh0eXBlID0+IHsKKyAgICB2YWxpZFByb21pc2VzLnB1c2gobmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgICB0eXBlOiB0eXBlLAorICAgICAgdmlkZW86
IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29u
ZmlndXJhdGlvbiwKKyAgICB9KSk7CisgIH0pOworCisgIC8vIHZhbGlkVHlwZXMgYXJlIHRlc3Rl
ZCB2aWEgUHJvbWlzZS5hbGwodmFsaWRQcm9taXNlcykgYmVjYXVzZSBpZiBvbmUgb2YgdGhlCisg
IC8vIHByb21pc2VzIGZhaWwsIFByb21pc2UuYWxsKCkgd2lsbCByZWplY3QuIFRoaXMgbWVjaGFu
aXNtIGNhbid0IGJlIHVzZWQgZm9yCisgIC8vIGludmFsaWQgdHlwZXMgd2hpY2ggd2lsbCBiZSB0
ZXN0ZWQgaW5kaXZpZHVhbGx5IGFuZCBpbmNyZW1lbnQgaW52YWxpZENhdWdodAorICAvLyB3aGVu
IHJlamVjdGVkIHVudGlsIHRoZSBhbW91bnQgb2YgcmVqZWN0aW9uIG1hdGNoZXMgdGhlIGV4cGVj
dGF0aW9uLgorICBQcm9taXNlLmFsbCh2YWxpZFByb21pc2VzKS50aGVuKHQuc3RlcF9mdW5jKCgp
ID0+IHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGludmFsaWRUeXBlcy5sZW5ndGg7ICsraSkg
eworICAgICAgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAg
ICAgIHR5cGU6IGludmFsaWRUeXBlc1tpXSwKKyAgICAgICAgdmlkZW86IG1pbmltYWxWaWRlb0Nv
bmZpZ3VyYXRpb24sCisgICAgICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAor
ICAgICAgfSkudGhlbih0LnVucmVhY2hlZF9mdW5jKCksIHQuc3RlcF9mdW5jKGUgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGUubmFtZSwgJ1R5cGVFcnJvcicpOworICAgICAgICArK2ludmFs
aWRDYXVnaHQ7CisgICAgICAgIGlmIChpbnZhbGlkQ2F1Z2h0ID09IGludmFsaWRUeXBlcy5sZW5n
dGgpCisgICAgICAgICAgdC5kb25lKCk7CisgICAgICB9KSk7CisgICAgfQorICB9KSwgdC51bnJl
YWNoZWRfZnVuYygnUHJvbWlzZS5hbGwgc2hvdWxkIG5vdCByZWplY3QgZm9yIHZhbGlkIHR5cGVz
JykpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25m
aWd1cmF0aW9uIGRvZXMgbm90IGhhdmUgYSB2YWxpZCB0eXBlIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8o
eworICAgIHR5cGU6ICdmaWxlJywKKyAgICBhdWRpbzogYXVkaW9Db25maWd1cmF0aW9uV2l0aFNw
YXRpYWxSZW5kZXJpbmcsCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7CisgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHR5cGVvZiBhYmlsaXR5LmtleVN5c3RlbUFjY2VzcywgIm9iamVjdCIpOworICB9KTsKK30s
ICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJu
cyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAgICB2aWRlbzogdmlkZW9Db25maWd1cmF0aW9uV2l0
aER5bmFtaWNSYW5nZSwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxz
KHR5cGVvZiBhYmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHR5cGVvZiBhYmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5
cGVvZiBhYmlsaXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9lcXVh
bHModHlwZW9mIGFiaWxpdHkua2V5U3lzdGVtQWNjZXNzLCAib2JqZWN0Iik7CisgIH0pOworfSwg
IlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gd2l0aCBoZHJNZXRhZGF0YVR5cGUsIGNvbG9yR2FtdXQs
IGFuZCB0cmFuc2ZlckZ1bmN0aW9uIHNldCByZXR1cm5zIGEgdmFsaWQgTWVkaWFDYXBhYmlsaXRp
ZXNJbmZvIG9iamVjdHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ2ZpbGUnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250
ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lk
dGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAg
IGZyYW1lcmF0ZTogMjQsCisgICAgICBoZHJNZXRhZGF0YVR5cGU6ICIiCisgICAgfSwKKyAgfSkp
OworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmln
dXJhdGlvbiBoYXMgYW4gZW1wdHkgaGRyTWV0YWRhdGFUeXBlIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICdmaWxlJywKKyAg
ICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDku
MDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAg
IGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgICAgY29sb3JHYW11dDog
dHJ1ZQorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgY29sb3JHYW11dCBzZXQgdG8gdHJ1ZSIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwg
VHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAg
ICB0eXBlOiAnZmlsZScsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8v
d2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAg
aGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwK
KyAgICAgIHRyYW5zZmVyRnVuY3Rpb246IDMKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0
IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIHRy
YW5zZmVyRnVuY3Rpb24gc2V0IHRvIDMiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5m
by5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTI4MGYyMjBmZWJlYmNkNmFhODRmN2EwYjA3ZTBm
YjIzZjc4Njc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKKworRkFJTCBUZXN0IHRoYXQgZGVjb2Rp
bmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24ndCBnZXQgYSBjb25maWd1cmF0aW9uIHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gaXNuJ3QgdmFsaWQgdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1lZGlhQ29u
ZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdHlwZSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycp
CitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlv
biBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRl
byBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMCB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5IHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlm
IHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBlIGRvZXNuJ3QgcGFyc2UgdW5kZWZp
bmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMg
aWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRl
byB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgbW9yZSB0
aGFuIG9uZSBwYXJhbWV0ZXIgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaGFzIG9uZSBwYXJhbWV0ZXIgdGhhdCBpc24ndCBjb2RlY3MgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgaW4gdGhlIGZvcm0gb2YgeC95IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgv
MCB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAwL3kgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
aW4gdGhlIGZvcm0gb2YgLXgveSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygp
IHJlamVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIHgvIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIHdp
dGggdHJhaWxpbmcgdW5hbGxvd2VkIGNoYXJhY3RlcnMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8n
KQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZp
Z3VyYXRpb24gY29udGVuVHlwZSBkb2Vzbid0IHBhcnNlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
JykKK0ZBSUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8gdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1
ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVy
cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBh
cmFtZXRlciB0aGF0IGlzbid0IGNvZGVjcyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlM
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0aWVz
SW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICduYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2
ZSBhIHZhbGlkIHR5cGUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ25h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJTCBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHdpdGggc3BhdGlhbFJlbmRlcmluZyBzZXQgcmV0dXJucyBhIHZhbGlkIE1l
ZGlhQ2FwYWJpbGl0aWVzSW5mbyBvYmplY3RzIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZB
SUwgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyB3aXRoIGhkck1ldGFkYXRhVHlwZSwgY29sb3JHYW11
dCwgYW5kIHRyYW5zZmVyRnVuY3Rpb24gc2V0IHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxp
dGllc0luZm8gb2JqZWN0cyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
bmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbycpCitGQUlMIFRlc3QgdGhh
dCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYW4g
ZW1wdHkgaGRyTWV0YWRhdGFUeXBlIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvJykKK0ZBSUwgVGVz
dCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhh
cyBhIGNvbG9yR2FtdXQgc2V0IHRvIHRydWUgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8nKQorRkFJ
TCBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRp
b24gaGFzIGEgdHJhbnNmZXJGdW5jdGlvbiBzZXQgdG8gMyB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5m
bycpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby5hbnkud29ya2VyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9kZWNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1Mjhl
NjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9k
ZWNvZGluZ0luZm8uYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRl
bXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJp
bGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJ
bmZvLndlYnJ0Yy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDFjNjdiN2U2NTQzNjRkYmJhMTY5
Y2U2MjExMTg0ODFmMGIxMTc0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5m
by53ZWJydGMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKKworUEFTUyBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFu
IGF1ZGlvIG9yIHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUKK1BB
U1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZv
IHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0
byBJbmZpbml0eQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVu
dFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJz
ZQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbworUEFTUyBUZXN0IHRoYXQg
ZGVjb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGllc0luZm8gb2JqZWN0
cworUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkLCBzbW9vdGgs
IGFuZCBwb3dlckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMgdmlkZW8gY29u
dGVudCB0eXBlLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVk
LCBzbW9vdGgsIGFuZCBwb3dlckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMg
YXVkaW8gY29udGVudCB0eXBlLgorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMg
c3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyBhdWRpby9vcHVzIHJldHVybmVkIGJ5IFJUQ1J0
cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3QgdGhhdCBkZWNvZGluZ0luZm8g
cmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIGF1ZGlvL0lTQUMgcmV0dXJuZWQg
YnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgYXVkaW8vRzcyMiBy
ZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRo
YXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyBhdWRp
by9QQ01VIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNT
IFRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNv
ZGVjIGF1ZGlvL1BDTUEgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVz
KCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZv
ciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRp
emF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTY0MGMxZiByZXR1cm5lZCBieSBSVENSdHBS
ZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJl
dHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBsZXZlbC1hc3lt
bWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NDJl
MDFmIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRl
c3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVj
IHZpZGVvL0gyNjQ7IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2Rl
PTA7cHJvZmlsZS1sZXZlbC1pZD02NDBjMWYgcmV0dXJuZWQgYnkgUlRDUnRwUmVjZWl2ZXIuZ2V0
Q2FwYWJpbGl0aWVzKCkKK1BBU1MgVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBv
cnRlZCB0cnVlIGZvciB0aGUgY29kZWMgdmlkZW8vSDI2NDsgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93
ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZiByZXR1cm5l
ZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVj
b2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY1
IHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3Qg
dGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZp
ZGVvL1ZQOCByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFT
UyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBj
b2RlYyB2aWRlby9WUDk7IHByb2ZpbGUtaWQ9MCByZXR1cm5lZCBieSBSVENSdHBSZWNlaXZlci5n
ZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3Vw
cG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9WUDk7IHByb2ZpbGUtaWQ9MiByZXR1cm5l
ZCBieSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm8ud2VicnRjLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8ud2VicnRjLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjI4Mzk1NjEwMDY5NzA2OTRhZDU0ZTg2YTA2MTNkOGMyY2ZiYjI1Zgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSW5mby53ZWJydGMuaHRtbApAQCAtMCww
ICsxLDIxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+TWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvKCkgZm9yIHdlYnJ0YzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworLy8gTWluaW1hbCBWaWRlb0NvbmZp
Z3VyYXRpb24gdGhhdCB3aWxsIGJlIGFsbG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8g
cHJvcGVydGllcyBhcmUgbWlzc2luZy4KK2NvbnN0IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24g
PSB7CisgIGNvbnRlbnRUeXBlOiAndmlkZW8vVlA5OyBwcm9maWxlLWxldmVsPSIwIicsCisgIHdp
ZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJhdGU6
IDI0LAorfTsKKworLy8gTWluaW1hbCBBdWRpb0NvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFs
bG93ZWQgcGVyIHNwZWMuIEFsbCBvcHRpb25hbAorLy8gcHJvcGVydGllcyBhcmUgbWlzc2luZy4K
K2NvbnN0IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVk
aW8vb3B1cycsCit9OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29uZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVk
aW8gb3IgdmlkZW8gZmllbGQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVz
LmRlY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAg
IGNvbnRlbnRUeXBlOiAndmlkZW8vVlA5JywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWln
aHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IC0xLAorICAg
IH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgbmVnYXRpdmUgZnJhbWVyYXRlIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJy
dGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL1ZQOSInLAorICAg
ICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwK
KyAgICAgIGZyYW1lcmF0ZTogMCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRlY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0
ZSBzZXQgdG8gMCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2Rp
bmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVu
dFR5cGU6ICd2aWRlby9WUDkiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYw
MCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IEluZmluaXR5LAorICAg
IH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZp
ZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eSIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdmZ2VvYScsCisg
ICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAw
LAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGRl
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBl
IGRvZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRl
Y29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNv
bnRlbnRUeXBlOiAnYXVkaW8vZmdlb2EnLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdo
dDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAg
fSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlk
ZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvIik7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJy
b3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5cGU6
ICd3ZWJydGMnLAorICAgIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnZmdlb2EnIH0sCisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3Vy
YXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICBh
dWRpbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGRlY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGlzbid0IG9mIHR5cGUgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24sCisgICAg
YXVkaW86IG1pbmltYWxBdWRpb0NvbmZpZ3VyYXRpb24sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7
CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zdXBwb3J0ZWQsICJib29sZWFuIik7
CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5zbW9vdGgsICJib29sZWFuIik7Cisg
ICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYWJpbGl0eS5wb3dlckVmZmljaWVudCwgImJvb2xlYW4i
KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5zIGEgdmFsaWQgTWVk
aWFDYXBhYmlsaXRpZXNJbmZvIG9iamVjdHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7CisgICAgdHlw
ZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2Vi
bTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVp
Z2h0OiA2MDAsCisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAg
ICB9LAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KS50aGVuKGFi
aWxpdHkgPT4geworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnN1cHBvcnRlZCk7CisgICAgYXNz
ZXJ0X2ZhbHNlKGFiaWxpdHkuc21vb3RoKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5wb3dl
ckVmZmljaWVudCk7CisgIH0pOworfSwgIlRlc3QgdGhhdCBkZWNvZGluZ0luZm8gcmV0dXJucyBz
dXBwb3J0ZWQsIHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBmYWxzZSBmb3Igbm9u
LXdlYnJ0YyB2aWRlbyBjb250ZW50IHR5cGUuIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeworICAgIHR5
cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAg
IGF1ZGlvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyIn
LAorICAgIH0sCisgIH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxp
dHkuc3VwcG9ydGVkKTsKKyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zbW9vdGgpOworICAgIGFz
c2VydF9mYWxzZShhYmlsaXR5LnBvd2VyRWZmaWNpZW50KTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0
IGRlY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCwgc21vb3RoLCBhbmQgcG93ZXJFZmZpY2ll
bnQgc2V0IHRvIGZhbHNlIGZvciBub24td2VicnRjIGF1ZGlvIGNvbnRlbnQgdHlwZS4iKTsKKwor
Y29uc3QgdmFsaWRBdWRpb0NvZGVjcyA9ICgoKSA9PiB7CisgIC8vIFNvbWUgY29kZWNzIHRoYXQg
YXJlIHJldHVybmVkIGJ5IGdldENhcGFiaWxpdGllcygpIGFyZSBub3QgcmVhbCBjb2RlY3MsCisg
IC8vIGV4Y2x1ZGUgdGhlc2UgZnJvbSB0aGUgdGVzdC4KKyAgY29uc3QgZXhjbHVkZUxpc3QgPSBb
ICdhdWRpby9DTicsICdhdWRpby90ZWxlcGhvbmUtZXZlbnQnLCAnYXVkaW8vcmVkJyBdOworICBj
b25zdCBhdWRpb0NvZGVjcyA9IFtdOworICBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMo
ImF1ZGlvIilbJ2NvZGVjcyddLmZvckVhY2goY29kZWMgPT4geworICAgIGlmIChleGNsdWRlTGlz
dC5pbmRleE9mKGNvZGVjLm1pbWVUeXBlKSA8IDAgJiYKKyAgICAgICAgYXVkaW9Db2RlY3MuaW5k
ZXhPZihjb2RlYy5taW1lVHlwZSkgPCAwKSB7CisgICAgICBhdWRpb0NvZGVjcy5wdXNoKGNvZGVj
Lm1pbWVUeXBlKTsKKyAgICB9CisgIH0pOworICByZXR1cm4gYXVkaW9Db2RlY3M7Cit9KSgpOwor
Cit2YWxpZEF1ZGlvQ29kZWNzLmZvckVhY2goY29kZWMgPT4geworICBwcm9taXNlX3Rlc3QodCA9
PiB7CisgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAnd2VicnRjJywKKyAgICBhdWRpbzogeworICAgICAgY29udGVudFR5cGU6IGNv
ZGVjCisgICAgfQorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF90cnVlKGFiaWxp
dHkuc3VwcG9ydGVkKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0IGRlY29kaW5nSW5mbyByZXR1cm5z
IHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgIiArIGNvZGVjICsgIiByZXR1cm5lZCBieSBS
VENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoKSIpfQorKTsKKworY29uc3QgdmFsaWRWaWRl
b0NvZGVjcyA9ICgoKSA9PiB7CisgIC8vIFNvbWUgY29kZWNzIHRoYXQgYXJlIHJldHVybmVkIGJ5
IGdldENhcGFiaWxpdGllcygpIGFyZSBub3QgcmVhbCBjb2RlY3MgYnV0CisgIC8vIG9ubHkgdXNl
ZCBmb3IgZXJyb3IgY29ycmVjdGlvbiwgZXhjbHVkZSB0aGVzZSBmcm9tIHRoZSB0ZXN0LgorICBj
b25zdCBleGNsdWRlTGlzdCA9IFsgJ3ZpZGVvL3J0eCcsICd2aWRlby9yZWQnLCAndmlkZW8vdWxw
ZmVjJywKKyAgICAgICAgICAgICAgICAgICAgICAndmlkZW8vZmxleGZlYy0wMycgXTsKKyAgY29u
c3QgdmlkZW9Db2RlY3MgPSBbXTsKKworICBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMo
InZpZGVvIilbJ2NvZGVjcyddLmZvckVhY2goY29kZWMgPT4geworICAgIGlmIChleGNsdWRlTGlz
dC5pbmRleE9mKGNvZGVjLm1pbWVUeXBlKSA8IDApIHsKKyAgICAgIGxldCBtaW1lVHlwZSA9IGNv
ZGVjLm1pbWVUeXBlOworICAgICAgaWYgKCdzZHBGbXRwTGluZScgaW4gY29kZWMpIHsKKyAgICAg
ICAgbWltZVR5cGUgKz0gIjsgIiArIGNvZGVjLnNkcEZtdHBMaW5lOworICAgICAgfQorICAgICAg
aWYgKCEobWltZVR5cGUgaW4gdmlkZW9Db2RlY3MpKSB7CisgICAgICAgIHZpZGVvQ29kZWNzLnB1
c2gobWltZVR5cGUpOworICAgICAgfQorICAgIH0KKyAgfSk7CisgIHJldHVybiB2aWRlb0NvZGVj
czsKK30pKCk7CisKK3ZhbGlkVmlkZW9Db2RlY3MuZm9yRWFjaChjb2RlYyA9PiB7CisgIHByb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250
ZW50VHlwZTogY29kZWMsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9CisgIH0pLnRo
ZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X3RydWUoYWJpbGl0eS5zdXBwb3J0ZWQpOworICB9
KTsKK30sICJUZXN0IHRoYXQgZGVjb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9y
IHRoZSBjb2RlYyAiICsgY29kZWMgKyAiIHJldHVybmVkIGJ5IFJUQ1J0cFJlY2VpdmVyLmdldENh
cGFiaWxpdGllcygpIil9CispOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29k
aW5nSW5mby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJjZTc1YjI3ZDBkNzYxNDBiYTcyNWRiNWNiZTI2M2ZhNzIxMGI0YTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjYgQEAKKworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgaXQgZG9lc24n
dCBnZXQgYSBjb25maWd1cmF0aW9uCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0
cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlkCitQQVNTIFRlc3QgdGhhdCBl
bmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGRvZXMgbm90IGhh
dmUgYSB0eXBlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgY29u
ZmlndXJhdGlvbiBkb2Vzbid0IGhhdmUgYW4gYXVkaW8gb3IgdmlkZW8gZmllbGQKK1BBU1MgVGVz
dCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0aW9uIGhh
cyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVj
dHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwCitQ
QVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5CitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBk
b2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
dmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIHZpZGVvCitGQUlM
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXIgYXNzZXJ0X3VucmVhY2hl
ZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNz
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUg
Zm9ybSBvZiB4L3kKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVy
YXRlIGluIHRoZSBmb3JtIG9mIHgvMAorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVq
ZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95CitQQVNTIFRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiAteC95CitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4Ly15
CitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUg
Zm9ybSBvZiB4LworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJh
dGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycworUEFTUyBUZXN0IHRoYXQgZW5j
b2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVuVHlwZSBk
b2Vzbid0IHBhcnNlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUg
YXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24ndCBvZiB0eXBlIGF1ZGlvCitGQUlM
IFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlv
biBjb250ZW50VHlwZSBoYXMgbW9yZSB0aGFuIG9uZSBwYXJhbWV0ZXJzIGFzc2VydF91bnJlYWNo
ZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitQQVNTIFRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29u
ZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0IGlzbid0IGNvZGVj
cworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFi
aWxpdGllc0luZm8gb2JqZWN0cyBmb3IgcmVjb3JkIHR5cGUKK1BBU1MgVGVzdCB0aGF0IGVuY29k
aW5nSW5mbyByZWplY3RzIGlmIHRoZSBNZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBh
IHZhbGlkIHR5cGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9lbmNvZGluZ0luZm8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzJmMGY1YWRkMzNhNzQwZDc4ZGM5YTIw
MWMzN2Y4Zjk3ZDkyODY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0
bWwKQEAgLTAsMCArMSwzMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPk1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbygpPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisvLyBNaW5pbWFsIFZpZGVvQ29uZmln
dXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dlZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBw
cm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFyIG1pbmltYWxWaWRlb0NvbmZpZ3VyYXRpb24gPSB7
CisgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjEwLjA4IicsCisg
IHdpZHRoOiA4MDAsCisgIGhlaWdodDogNjAwLAorICBiaXRyYXRlOiAzMDAwLAorICBmcmFtZXJh
dGU6IDI0LAorfTsKKworLy8gTWluaW1hbCBXZWJSVEMgVmlkZW9Db25maWd1cmF0aW9uIHRoYXQg
d2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJl
IG1pc3NpbmcuCit2YXIgbWluaW1hbFdlYnJ0Y1ZpZGVvQ29uZmlndXJhdGlvbiA9IHsKKyAgY29u
dGVudFR5cGU6ICd2aWRlby9WUDknLAorICB3aWR0aDogODAwLAorICBoZWlnaHQ6IDYwMCwKKyAg
Yml0cmF0ZTogMzAwMCwKKyAgZnJhbWVyYXRlOiAyNCwKK307CisKKy8vIE1pbmltYWwgQXVkaW9D
b25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwK
Ky8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCit2YXIgbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlv
biA9IHsKKyAgY29udGVudFR5cGU6ICdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJywKK307CisK
Ky8vIE1pbmltYWwgV2ViUlRDIEF1ZGlvQ29uZmlndXJhdGlvbiB0aGF0IHdpbGwgYmUgYWxsb3dl
ZCBwZXIgc3BlYy4gQWxsIG9wdGlvbmFsCisvLyBwcm9wZXJ0aWVzIGFyZSBtaXNzaW5nLgordmFy
IG1pbmltYWxXZWJydGNBdWRpb0NvbmZpZ3VyYXRpb24gPSB7CisgIGNvbnRlbnRUeXBlOiAnYXVk
aW8vb3B1cycsCit9OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3Jl
amVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKCkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiBpdCBkb2Vz
bid0IGdldCBhIGNvbmZpZ3VyYXRpb24iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmVuY29kaW5nSW5mbyh7fSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgTWVkaWFDb25maWd1cmF0aW9uIGlzbid0IHZhbGlkIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHZpZGVvOiBtaW5p
bWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5pbWFsQXVkaW9Db25maWd1cmF0
aW9uLAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBN
ZWRpYUNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIHR5cGUiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcs
CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZp
Z3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkIik7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdy
ZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNv
ZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDog
NjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogLTEsCisgICAgfSwK
KyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8g
Y29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2ZSBmcmFtZXJhdGUiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcs
CisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2
cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAwLAorICAgIH0sCisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gaGFzIGEgZnJhbWVyYXRlIHNldCB0byAwIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZp
ZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4x
MC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0
cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogSW5maW5pdHksCisgICAgfSwKKyAgfSkpOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJh
dGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIEluZmluaXR5Iik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICdyZWNvcmQnLAor
ICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ2ZnZW9hJywKKyAgICAgIHdpZHRoOiA4
MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFt
ZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJz
ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanMo
dCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsK
KyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICdh
dWRpby9mZ2VvYScsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAg
ICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9KSk7Cit9
LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1cmF0
aW9uIGNvbnRlbnRUeXBlIGlzbid0IG9mIHR5cGUgdmlkZW8iKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisg
ICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5
LjAwLjEwLjA4IjsgZm9vPSJiYXIiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6
IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0s
CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVv
IGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVyIik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBU
eXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAg
IHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVv
L3dlYm07IGZvbz0iYmFyIicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAs
CisgICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAyNCwKKyAgICB9LAorICB9
KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25m
aWd1cmF0aW9uIGNvbnRlbnRUeXBlIGhhcyBvbmUgcGFyYW1ldGVyIHRoYXQgaXNuJ3QgY29kZWNz
Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0
LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oewor
ICAgIHR5cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3Zp
ZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAg
ICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTog
JzI0MDAwLzEwMDEnLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8o
KSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4L3kiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcs
CisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2
cDA5LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvMCcsCisgICAgfQor
ICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJlamVjdHMgZnJhbWVyYXRlIGlu
IHRoZSBmb3JtIG9mIHgvMCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9t
aXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMu
ZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAg
Y29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAg
IHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisg
ICAgICBmcmFtZXJhdGU6ICcwLzEwMDAxJywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUgaW4gdGhlIGZvcm0gb2YgMC95Iik7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBl
RXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5
cGU6ICdyZWNvcmQnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dl
Ym07IGNvZGVjcz0idnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhl
aWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogJy0yNDAw
MC8xMDAwMScsCisgICAgfQorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbygpIHJl
amVjdHMgZnJhbWVyYXRlIGluIHRoZSBmb3JtIG9mIC14L3kiKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisg
ICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5
LjAwLjEwLjA4IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAg
ICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAnMjQwMDAvLTEwMDAxJywKKyAgICB9
CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBmcmFtZXJhdGUg
aW4gdGhlIGZvcm0gb2YgeC8teSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBw
cm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAg
ICAgY29udGVudFR5cGU6ICd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAg
ICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAs
CisgICAgICBmcmFtZXJhdGU6ICcyNDAwMC8nLAorICAgIH0KKyAgfSkpOworfSwgIlRlc3QgdGhh
dCBlbmNvZGluZ0luZm8oKSByZWplY3RzIGZyYW1lcmF0ZSBpbiB0aGUgZm9ybSBvZiB4LyIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlw
ZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0
eXBlOiAncmVjb3JkJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby93
ZWJtOyBjb2RlY3M9InZwMDkuMDAuMTAuMDgiJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBo
ZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6ICcxLzN4
JywKKyAgICB9CisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvKCkgcmVqZWN0cyBm
cmFtZXJhdGUgd2l0aCB0cmFpbGluZyB1bmFsbG93ZWQgY2hhcmFjdGVycyIpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVj
b3JkJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2ZnZW9hJyB9LAorICB9KSk7Cit9LCAi
VGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9u
IGNvbnRlblR5cGUgZG9lc24ndCBwYXJzZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJl
dHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywKKyAgICBhdWRpbzog
eyBjb250ZW50VHlwZTogJ3ZpZGVvL2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0aGF0IGVu
Y29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRlbnRUeXBl
IGlzbid0IG9mIHR5cGUgYXVkaW8iKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3JlY29yZCcsCisgICAgYXVkaW86IHsgY29u
dGVudFR5cGU6ICdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiOyBmb289ImJhciInIH0sCisgIH0p
KTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgaGFzIG1vcmUgdGhhbiBvbmUgcGFyYW1ldGVycyIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVy
cm9yLCBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBl
OiAncmVjb3JkJywKKyAgICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL3dlYm07IGZvbz0i
YmFyIicgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVqZWN0cyBpZiB0
aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBoYXMgb25lIHBhcmFtZXRlciB0aGF0
IGlzbid0IGNvZGVjcyIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAncmVjb3JkJywK
KyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogbWluaW1h
bEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsKKyAgICBhc3NlcnRf
ZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnN1cHBvcnRlZCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHR5cGVvZiBhYmlsaXR5LnNtb290aCwgImJvb2xlYW4iKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHR5cGVvZiBhYmlsaXR5LnBvd2VyRWZmaWNpZW50LCAiYm9vbGVhbiIpOworICB9KTsKK30s
ICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxpdGll
c0luZm8gb2JqZWN0cyBmb3IgcmVjb3JkIHR5cGUiKTsKKworYXN5bmNfdGVzdCh0ID0+IHsKKyAg
dmFyIHZhbGlkVHlwZXMgPSBbICdyZWNvcmQnLCAnd2VicnRjJyBdOworICB2YXIgaW52YWxpZFR5
cGVzID0gWyB1bmRlZmluZWQsIG51bGwsICcnLCAnZm9vYmFyJywgJ21zZScsICdNZWRpYVNvdXJj
ZScsCisgICAgICAgICAgICAgICAgICAgICAgICdmaWxlJywgJ21lZGlhLXNvdXJjZScsIF07CisK
KyAgdmFyIHZhbGlkUHJvbWlzZXMgPSBbXTsKKyAgdmFyIGludmFsaWRDYXVnaHQgPSAwOworCisg
IHZhbGlkVHlwZXMuZm9yRWFjaCh0eXBlID0+IHsKKyAgICB2YWxpZFByb21pc2VzLnB1c2gobmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgICB0eXBlOiB0eXBl
LAorICAgICAgdmlkZW86IHR5cGUgIT0gIndlYnJ0YyIgPyBtaW5pbWFsVmlkZW9Db25maWd1cmF0
aW9uIDogbWluaW1hbFdlYnJ0Y1ZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICAgIGF1ZGlvOiB0eXBl
ICE9ICJ3ZWJydGMiID8gbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiA6IG1pbmltYWxXZWJydGNB
dWRpb0NvbmZpZ3VyYXRpb24sCisgICAgfSkpOworICB9KTsKKworICAvLyB2YWxpZFR5cGVzIGFy
ZSB0ZXN0ZWQgdmlhIFByb21pc2UuYWxsKHZhbGlkUHJvbWlzZXMpIGJlY2F1c2UgaWYgb25lIG9m
IHRoZQorICAvLyBwcm9taXNlcyBmYWlsLCBQcm9taXNlLmFsbCgpIHdpbGwgcmVqZWN0LiBUaGlz
IG1lY2hhbmlzbSBjYW4ndCBiZSB1c2VkIGZvcgorICAvLyBpbnZhbGlkIHR5cGVzIHdoaWNoIHdp
bGwgYmUgdGVzdGVkIGluZGl2aWR1YWxseSBhbmQgaW5jcmVtZW50IGludmFsaWRDYXVnaHQKKyAg
Ly8gd2hlbiByZWplY3RlZCB1bnRpbCB0aGUgYW1vdW50IG9mIHJlamVjdGlvbiBtYXRjaGVzIHRo
ZSBleHBlY3RhdGlvbi4KKyAgUHJvbWlzZS5hbGwodmFsaWRQcm9taXNlcykudGhlbih0LnN0ZXBf
ZnVuYygoKSA9PiB7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbnZhbGlkVHlwZXMubGVuZ3Ro
OyArK2kpIHsKKyAgICAgIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8o
eworICAgICAgICB0eXBlOiBpbnZhbGlkVHlwZXNbaV0sCisgICAgICAgIHZpZGVvOiBtaW5pbWFs
VmlkZW9Db25maWd1cmF0aW9uLAorICAgICAgICBhdWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJh
dGlvbiwKKyAgICAgIH0pLnRoZW4odC51bnJlYWNoZWRfZnVuYygpLCB0LnN0ZXBfZnVuYyhlID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlLm5hbWUsICdUeXBlRXJyb3InKTsKKyAgICAgICAg
KytpbnZhbGlkQ2F1Z2h0OworICAgICAgICBpZiAoaW52YWxpZENhdWdodCA9PSBpbnZhbGlkVHlw
ZXMubGVuZ3RoKQorICAgICAgICAgIHQuZG9uZSgpOworICAgICAgfSkpOworICAgIH0KKyAgfSks
IHQudW5yZWFjaGVkX2Z1bmMoJ1Byb21pc2UuYWxsIHNob3VsZCBub3QgcmVqZWN0IGZvciB2YWxp
ZCB0eXBlcycpKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIE1l
ZGlhQ29uZmlndXJhdGlvbiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdHlwZSIpOworCis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbWVkaWEtY2FwYWJpbGl0aWVzL2VuY29kaW5nSW5mby53ZWJydGMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmls
aXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgyYjRm
ODc2YTYyMmIwNmExYzlkZDBkNTE2OGM2NzE5MDIzZDNlOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0
aWVzL2VuY29kaW5nSW5mby53ZWJydGMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKKwor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24g
ZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVvIGZpZWxkCitQQVNTIFRlc3QgdGhhdCBlbmNv
ZGluZ0luZm8gcmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBuZWdhdGl2
ZSBmcmFtZXJhdGUKK1BBU1MgVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2
aWRlbyBjb25maWd1cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gMAorUEFTUyBUZXN0IHRo
YXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gaGFzIGEg
ZnJhbWVyYXRlIHNldCB0byBJbmZpbml0eQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgZG9lc24ndCBwYXJz
ZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZp
Z3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbworUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5
cGUgZG9lc24ndCBwYXJzZQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYg
dGhlIGF1ZGlvIGNvbmZpZ3VyYXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSBhdWRpbwor
UEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgYSB2YWxpZCBNZWRpYUNhcGFiaWxp
dGllc0luZm8gb2JqZWN0cworUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3Vw
cG9ydGVkLCBzbW9vdGgsIGFuZCBwb3dlckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13
ZWJydGMgdmlkZW8gY29udGVudCB0eXBlLgorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
dHVybnMgc3VwcG9ydGVkLCBzbW9vdGgsIGFuZCBwb3dlckVmZmljaWVudCBzZXQgdG8gZmFsc2Ug
Zm9yIG5vbi13ZWJydGMgYXVkaW8gY29udGVudCB0eXBlLgorUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyBhdWRpby9vcHVzIHJl
dHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyBhdWRpby9J
U0FDIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0
IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyBh
dWRpby9HNzIyIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFT
UyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBj
b2RlYyBhdWRpby9QQ01VIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMo
KQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9y
IHRoZSBjb2RlYyBhdWRpby9QQ01BIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmls
aXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRy
dWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3Bh
Y2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NjQwYzFmIHJldHVybmVkIGJ5IFJU
Q1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZv
IHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBsZXZlbC1h
c3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9
NDJlMDFmIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBU
ZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2Rl
YyB2aWRlby9IMjY0OyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9k
ZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NjQwYzFmIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRD
YXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9y
dGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY0OyBsZXZlbC1hc3ltbWV0cnktYWxsb3dl
ZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDJlMDFmIHJldHVybmVk
IGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZW5jb2Rp
bmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9IMjY1IHJl
dHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoKQorUEFTUyBUZXN0IHRoYXQg
ZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRydWUgZm9yIHRoZSBjb2RlYyB2aWRlby9W
UDggcmV0dXJuZWQgYnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygpCitQQVNTIFRlc3Qg
dGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBzdXBwb3J0ZWQgdHJ1ZSBmb3IgdGhlIGNvZGVjIHZp
ZGVvL1ZQOTsgcHJvZmlsZS1pZD0wIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmls
aXRpZXMoKQorUEFTUyBUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRy
dWUgZm9yIHRoZSBjb2RlYyB2aWRlby9WUDk7IHByb2ZpbGUtaWQ9MiByZXR1cm5lZCBieSBSVENS
dHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJ
bmZvLndlYnJ0Yy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLndlYnJ0Yy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQxNGI3OTQ0ZjYxNjllMzRmNjc5NzljZTBhOThmZjkxNTU1MmY2YjUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9lbmNvZGluZ0luZm8ud2VicnRjLmh0bWwKQEAgLTAsMCArMSwyMTcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPk1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbygp
IGZvciB3ZWJydGM8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKKy8vIE1pbmltYWwgVmlkZW9Db25maWd1cmF0aW9uIHRo
YXQgd2lsbCBiZSBhbGxvd2VkIHBlciBzcGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMg
YXJlIG1pc3NpbmcuCitjb25zdCBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uID0geworICBjb250
ZW50VHlwZTogJ3ZpZGVvL1ZQOTsgcHJvZmlsZS1sZXZlbD0iMCInLAorICB3aWR0aDogODAwLAor
ICBoZWlnaHQ6IDYwMCwKKyAgYml0cmF0ZTogMzAwMCwKKyAgZnJhbWVyYXRlOiAyNCwKK307CisK
Ky8vIE1pbmltYWwgQXVkaW9Db25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhbGxvd2VkIHBlciBz
cGVjLiBBbGwgb3B0aW9uYWwKKy8vIHByb3BlcnRpZXMgYXJlIG1pc3NpbmcuCitjb25zdCBtaW5p
bWFsQXVkaW9Db25maWd1cmF0aW9uID0geworICBjb250ZW50VHlwZTogJ2F1ZGlvL29wdXMnLAor
fTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ3dlYnJ0YycsCisgIH0pKTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJl
amVjdHMgaWYgdGhlIGNvbmZpZ3VyYXRpb24gZG9lc24ndCBoYXZlIGFuIGF1ZGlvIG9yIHZpZGVv
IGZpZWxkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0
c19qcyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oeworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlw
ZTogJ3ZpZGVvL1ZQOScsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisg
ICAgICBiaXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiAtMSwKKyAgICB9LAorICB9KSk7
Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIG5lZ2F0aXZlIGZyYW1lcmF0ZSIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywKKyAgICB2
aWRlbzogeworICAgICAgY29udGVudFR5cGU6ICd2aWRlby9WUDkiJywKKyAgICAgIHdpZHRoOiA4
MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAgICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFt
ZXJhdGU6IDAsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmVq
ZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBoYXMgYSBmcmFtZXJhdGUgc2V0IHRvIDAi
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQs
IFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7Cisg
ICAgdHlwZTogJ3dlYnJ0YycsCisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAndmlk
ZW8vVlA5IicsCisgICAgICB3aWR0aDogODAwLAorICAgICAgaGVpZ2h0OiA2MDAsCisgICAgICBi
aXRyYXRlOiAzMDAwLAorICAgICAgZnJhbWVyYXRlOiBJbmZpbml0eSwKKyAgICB9LAorICB9KSk7
Cit9LCAiVGVzdCB0aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSB2aWRlbyBjb25maWd1
cmF0aW9uIGhhcyBhIGZyYW1lcmF0ZSBzZXQgdG8gSW5maW5pdHkiKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0Yycs
CisgICAgdmlkZW86IHsKKyAgICAgIGNvbnRlbnRUeXBlOiAnZmdlb2EnLAorICAgICAgd2lkdGg6
IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZy
YW1lcmF0ZTogMjQsCisgICAgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8g
cmVqZWN0cyBpZiB0aGUgdmlkZW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBkb2Vzbid0IHBh
cnNlIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19q
cyh0LCBUeXBlRXJyb3IsIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8o
eworICAgIHR5cGU6ICd3ZWJydGMnLAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTog
J2F1ZGlvL2ZnZW9hJywKKyAgICAgIHdpZHRoOiA4MDAsCisgICAgICBoZWlnaHQ6IDYwMCwKKyAg
ICAgIGJpdHJhdGU6IDMwMDAsCisgICAgICBmcmFtZXJhdGU6IDI0LAorICAgIH0sCisgIH0pKTsK
K30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJlamVjdHMgaWYgdGhlIHZpZGVvIGNvbmZpZ3Vy
YXRpb24gY29udGVudFR5cGUgaXNuJ3Qgb2YgdHlwZSB2aWRlbyIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHNfanModCwgVHlwZUVycm9yLCBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRjJywK
KyAgICBhdWRpbzogeyBjb250ZW50VHlwZTogJ2ZnZW9hJyB9LAorICB9KSk7Cit9LCAiVGVzdCB0
aGF0IGVuY29kaW5nSW5mbyByZWplY3RzIGlmIHRoZSBhdWRpbyBjb25maWd1cmF0aW9uIGNvbnRl
bnRUeXBlIGRvZXNuJ3QgcGFyc2UiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyh7CisgICAgdHlwZTogJ3dlYnJ0YycsCisgICAgYXVkaW86IHsgY29u
dGVudFR5cGU6ICd2aWRlby9mZ2VvYScgfSwKKyAgfSkpOworfSwgIlRlc3QgdGhhdCBlbmNvZGlu
Z0luZm8gcmVqZWN0cyBpZiB0aGUgYXVkaW8gY29uZmlndXJhdGlvbiBjb250ZW50VHlwZSBpc24n
dCBvZiB0eXBlIGF1ZGlvIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMn
LAorICAgIHZpZGVvOiBtaW5pbWFsVmlkZW9Db25maWd1cmF0aW9uLAorICAgIGF1ZGlvOiBtaW5p
bWFsQXVkaW9Db25maWd1cmF0aW9uLAorICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2Vy
dF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc3VwcG9ydGVkLCAiYm9vbGVhbiIpOworICAgIGFzc2Vy
dF9lcXVhbHModHlwZW9mIGFiaWxpdHkuc21vb3RoLCAiYm9vbGVhbiIpOworICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIGFiaWxpdHkucG93ZXJFZmZpY2llbnQsICJib29sZWFuIik7CisgIH0pOwor
fSwgIlRlc3QgdGhhdCBlbmNvZGluZ0luZm8gcmV0dXJucyBhIHZhbGlkIE1lZGlhQ2FwYWJpbGl0
aWVzSW5mbyBvYmplY3RzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIG5hdmln
YXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3ZWJydGMn
LAorICAgIHZpZGVvOiB7CisgICAgICBjb250ZW50VHlwZTogJ3ZpZGVvL3dlYm07IGNvZGVjcz0i
dnAwOS4wMC4xMC4wOCInLAorICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAor
ICAgICAgYml0cmF0ZTogMzAwMCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfSwKKyAgICBh
dWRpbzogbWluaW1hbEF1ZGlvQ29uZmlndXJhdGlvbiwKKyAgfSkudGhlbihhYmlsaXR5ID0+IHsK
KyAgICBhc3NlcnRfZmFsc2UoYWJpbGl0eS5zdXBwb3J0ZWQpOworICAgIGFzc2VydF9mYWxzZShh
YmlsaXR5LnNtb290aCk7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkucG93ZXJFZmZpY2llbnQp
OworICB9KTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkLCBz
bW9vdGgsIGFuZCBwb3dlckVmZmljaWVudCBzZXQgdG8gZmFsc2UgZm9yIG5vbi13ZWJydGMgdmlk
ZW8gY29udGVudCB0eXBlLiIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0eXBlOiAnd2VicnRj
JywKKyAgICB2aWRlbzogbWluaW1hbFZpZGVvQ29uZmlndXJhdGlvbiwKKyAgICBhdWRpbzogewor
ICAgICAgY29udGVudFR5cGU6ICdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJywKKyAgICB9LAor
ICB9KS50aGVuKGFiaWxpdHkgPT4geworICAgIGFzc2VydF9mYWxzZShhYmlsaXR5LnN1cHBvcnRl
ZCk7CisgICAgYXNzZXJ0X2ZhbHNlKGFiaWxpdHkuc21vb3RoKTsKKyAgICBhc3NlcnRfZmFsc2Uo
YWJpbGl0eS5wb3dlckVmZmljaWVudCk7CisgIH0pOworfSwgIlRlc3QgdGhhdCBlbmNvZGluZ0lu
Zm8gcmV0dXJucyBzdXBwb3J0ZWQsIHNtb290aCwgYW5kIHBvd2VyRWZmaWNpZW50IHNldCB0byBm
YWxzZSBmb3Igbm9uLXdlYnJ0YyBhdWRpbyBjb250ZW50IHR5cGUuIik7CisKK2NvbnN0IHZhbGlk
QXVkaW9Db2RlY3MgPSAoKCkgPT4geworICAvLyBTb21lIGNvZGVjcyB0aGF0IGFyZSByZXR1cm5l
ZCBieSBnZXRDYXBhYmlsaXRpZXMoKSBhcmUgbm90IHJlYWwgY29kZWNzLAorICAvLyBleGNsdWRl
IHRoZXNlIGZyb20gdGhlIHRlc3QuCisgIGNvbnN0IGV4Y2x1ZGVMaXN0ID0gWyAnYXVkaW8vQ04n
LCAnYXVkaW8vdGVsZXBob25lLWV2ZW50JywgJ2F1ZGlvL3JlZCcgXTsKKyAgY29uc3QgYXVkaW9D
b2RlY3MgPSBbXTsKKyAgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygiYXVkaW8iKVsnY29k
ZWNzJ10uZm9yRWFjaChjb2RlYyA9PiB7CisgICAgaWYgKGV4Y2x1ZGVMaXN0LmluZGV4T2YoY29k
ZWMubWltZVR5cGUpIDwgMCAmJgorICAgICAgICBhdWRpb0NvZGVjcy5pbmRleE9mKGNvZGVjLm1p
bWVUeXBlKSA8IDApIHsKKyAgICAgIGF1ZGlvQ29kZWNzLnB1c2goY29kZWMubWltZVR5cGUpOwor
ICAgIH0KKyAgfSk7CisgIHJldHVybiBhdWRpb0NvZGVjczsKK30pKCk7CisKK3ZhbGlkQXVkaW9D
b2RlY3MuZm9yRWFjaChjb2RlYyA9PiB7CisgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeworICAgIHR5cGU6ICd3
ZWJydGMnLAorICAgIGF1ZGlvOiB7CisgICAgICBjb250ZW50VHlwZTogY29kZWMKKyAgICB9Cisg
IH0pLnRoZW4oYWJpbGl0eSA9PiB7CisgICAgYXNzZXJ0X3RydWUoYWJpbGl0eS5zdXBwb3J0ZWQp
OworICB9KTsKK30sICJUZXN0IHRoYXQgZW5jb2RpbmdJbmZvIHJldHVybnMgc3VwcG9ydGVkIHRy
dWUgZm9yIHRoZSBjb2RlYyAiICsgY29kZWMgKyAiIHJldHVybmVkIGJ5IFJUQ1J0cFNlbmRlci5n
ZXRDYXBhYmlsaXRpZXMoKSIpfQorKTsKKworY29uc3QgdmFsaWRWaWRlb0NvZGVjcyA9ICgoKSA9
PiB7CisgIC8vIFNvbWUgY29kZWNzIHRoYXQgYXJlIHJldHVybmVkIGJ5IGdldENhcGFiaWxpdGll
cygpIGFyZSBub3QgcmVhbCBjb2RlY3MgYnV0CisgIC8vIG9ubHkgdXNlZCBmb3IgZXJyb3IgY29y
cmVjdGlvbiwgZXhjbHVkZSB0aGVzZSBmcm9tIHRoZSB0ZXN0LgorICBjb25zdCBleGNsdWRlTGlz
dCA9IFsgJ3ZpZGVvL3J0eCcsICd2aWRlby9yZWQnLCAndmlkZW8vdWxwZmVjJywKKyAgICAgICAg
ICAgICAgICAgICAgICAndmlkZW8vZmxleGZlYy0wMycgXTsKKyAgY29uc3QgdmlkZW9Db2RlY3Mg
PSBbXTsKKworICBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCJ2aWRlbyIpWydjb2RlY3Mn
XS5mb3JFYWNoKGNvZGVjID0+IHsKKyAgICBpZiAoZXhjbHVkZUxpc3QuaW5kZXhPZihjb2RlYy5t
aW1lVHlwZSkgPCAwKSB7CisgICAgICBsZXQgbWltZVR5cGUgPSBjb2RlYy5taW1lVHlwZTsKKyAg
ICAgIGlmICgnc2RwRm10cExpbmUnIGluIGNvZGVjKSB7CisgICAgICAgIG1pbWVUeXBlICs9ICI7
ICIgKyBjb2RlYy5zZHBGbXRwTGluZTsKKyAgICAgIH0KKyAgICAgIGlmICghKG1pbWVUeXBlIGlu
IHZpZGVvQ29kZWNzKSkgeworICAgICAgICB2aWRlb0NvZGVjcy5wdXNoKG1pbWVUeXBlKTsKKyAg
ICAgIH0KKyAgICB9CisgIH0pOworICByZXR1cm4gdmlkZW9Db2RlY3M7Cit9KSgpOworCit2YWxp
ZFZpZGVvQ29kZWNzLmZvckVhY2goY29kZWMgPT4geworICBwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsKKyAgICB0
eXBlOiAnd2VicnRjJywKKyAgICB2aWRlbzogeworICAgICAgY29udGVudFR5cGU6IGNvZGVjLAor
ICAgICAgd2lkdGg6IDgwMCwKKyAgICAgIGhlaWdodDogNjAwLAorICAgICAgYml0cmF0ZTogMzAw
MCwKKyAgICAgIGZyYW1lcmF0ZTogMjQsCisgICAgfQorICB9KS50aGVuKGFiaWxpdHkgPT4gewor
ICAgIGFzc2VydF90cnVlKGFiaWxpdHkuc3VwcG9ydGVkKTsKKyAgfSk7Cit9LCAiVGVzdCB0aGF0
IGVuY29kaW5nSW5mbyByZXR1cm5zIHN1cHBvcnRlZCB0cnVlIGZvciB0aGUgY29kZWMgIiArIGNv
ZGVjICsgIiByZXR1cm5lZCBieSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCkiKX0KKyk7
CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1j
YXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5NGMz
Y2M5MTk2YzAzNjQ5NmRlNWNjODVlYTMxYWYwZTVjNDYxZDkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzOSBAQAorCitQQVNT
IGlkbGhhcm5lc3MKK1BBU1MgaWRsX3Rlc3Qgc2V0dXAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlv
bgorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3I6IG9yaWdpbmFsIGludGVyZmFjZSBk
ZWZpbmVkCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvcjogdmFsaWQgZXhwb3N1cmUg
c2V0CitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvcjogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yOiBvcmlnaW5hbCBp
bnRlcmZhY2UgZGVmaW5lZAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0b3I6
IHZhbGlkIGV4cG9zdXJlIHNldAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0
b3I6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIG1peGlu
IE5hdmlnYXRvcklEOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRv
ciBpbmNsdWRlcyBOYXZpZ2F0b3JMYW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BB
U1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbnRlbnRVdGlsczogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNv
b2tpZXM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNsdWRlcyBO
YXZpZ2F0b3JQbHVnaW5zOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3Ig
aW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9ySUQ6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JM
YW5ndWFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGlu
Y2x1ZGVzIE5hdmlnYXRvck9uTGluZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgV29y
a2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBNZWRpYUNhcGFi
aWxpdGllcyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BB
U1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQ
QVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQor
UEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWNvZGluZ0luZm8o
TWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pCitQQVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVy
ZmFjZTogb3BlcmF0aW9uIGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikK
K1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcworUEFTUyBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5n
SW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhlIHByb3BlciB0eXBlCitQ
QVNTIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogY2FsbGluZyBkZWNvZGluZ0luZm8oTWVk
aWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIG9uIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yCitQQVNTIE1lZGlhQ2Fw
YWJpbGl0aWVzIGludGVyZmFjZTogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUKK1BBU1MgTWVkaWFDYXBhYmlsaXRpZXMgaW50ZXJmYWNlOiBj
YWxsaW5nIGVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikgb24gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhQ2FwYWJp
bGl0aWVzCitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmlnYXRvciBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRsaGFybmVzcy5hbnkuaHRtbApAQCAtMCwwICsx
IEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1
Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhh
cm5lc3MuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkYTVjN2QyODQ4YzJkYzhhNjY5ZGZjZjYyMTIzM2M0
MGEyMjdjMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5qcwpAQCAt
MCwwICsxLDI1IEBACisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMK
Ky8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMKKworLy8gaHR0cHM6Ly93
aWNnLmdpdGh1Yi5pby9tZWRpYS1jYXBhYmlsaXRpZXMvCisKKyd1c2Ugc3RyaWN0JzsKKworcHJv
bWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgaWRsX3Rlc3QoCisgICAgWydtZWRpYS1jYXBhYmls
aXRpZXMnXSwKKyAgICBbJ2h0bWwnLCAnY3Nzb20tdmlldyddLAorICAgIGlkbF9hcnJheSA9PiB7
CisgICAgICBpZiAoc2VsZi5HTE9CQUwuaXNXb3JrZXIoKSkgeworICAgICAgICBpZGxfYXJyYXku
YWRkX29iamVjdHMoeyBXb3JrZXJOYXZpZ2F0b3I6IFsnbmF2aWdhdG9yJ10gfSk7CisgICAgICB9
IGVsc2UgeworICAgICAgICBpZGxfYXJyYXkuYWRkX29iamVjdHMoeyBOYXZpZ2F0b3I6IFsnbmF2
aWdhdG9yJ10gfSk7CisgICAgICB9CisgICAgICBpZGxfYXJyYXkuYWRkX29iamVjdHMoeworICAg
ICAgICBNZWRpYUNhcGFiaWxpdGllczogWyduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMnXSwK
KyAgICAgICAgU2NyZWVuOiBbJ3NjcmVlbiddLAorICAgICAgICBTY3JlZW5MdW1pbmFuY2U6IFsn
c2NyZWVuLmx1bWluYW5jZSddLAorICAgICAgfSk7CisgICAgfQorICApOworfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNh
cGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRs
aGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzAwODI4ODcwY2Ux
ZjE1OWY0MDMwYWVhMzRjNjZjNzhlMTY3YTkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvaWRs
aGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM5IEBACisKK1BBU1Mg
aWRsaGFybmVzcworUEFTUyBpZGxfdGVzdCBzZXR1cAorUEFTUyBpZGxfdGVzdCB2YWxpZGF0aW9u
CitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvcjogb3JpZ2luYWwgaW50ZXJmYWNlIGRl
ZmluZWQKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiB2YWxpZCBleHBvc3VyZSBz
ZXQKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZQorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJOYXZpZ2F0b3I6IG9yaWdpbmFsIGlu
dGVyZmFjZSBkZWZpbmVkCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvcjog
dmFsaWQgZXhwb3N1cmUgc2V0CitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRv
cjogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgbWl4aW4g
TmF2aWdhdG9ySUQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBpbmNs
dWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9y
IGluY2x1ZGVzIE5hdmlnYXRvckxhbmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFT
UyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29udGVudFV0aWxzOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29v
a2llczogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKK1BBU1MgTmF2aWdhdG9yIGluY2x1ZGVzIE5h
dmlnYXRvclBsdWdpbnM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCitQQVNTIE5hdmlnYXRvciBp
bmNsdWRlcyBOYXZpZ2F0b3JDb25jdXJyZW50SGFyZHdhcmU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JJRDogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckxh
bmd1YWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9yT25MaW5lOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQorUEFTUyBXb3Jr
ZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZQorRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKK0ZBSUwgTWVkaWFD
YXBhYmlsaXRpZXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVj
dGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFi
aWxpdGllcyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlzc2luZworRkFJTCBNZWRpYUNhcGFiaWxpdGll
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhQ2FwYWJp
bGl0aWVzIiBtaXNzaW5nCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlh
Q2FwYWJpbGl0aWVzIiBtaXNzaW5nCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgZXhwZWN0ZWQgcHJvcGVydHkg
Ik1lZGlhQ2FwYWJpbGl0aWVzIiBtaXNzaW5nCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVy
ZmFjZTogb3BlcmF0aW9uIGRlY29kaW5nSW5mbyhNZWRpYURlY29kaW5nQ29uZmlndXJhdGlvbikg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVk
aWFDYXBhYmlsaXRpZXMiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYUNhcGFiaWxpdGllcyIgbWlz
c2luZworRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBlbmNvZGlu
Z0luZm8oTWVkaWFFbmNvZGluZ0NvbmZpZ3VyYXRpb24pIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhQ2FwYWJpbGl0aWVzIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiTWVkaWFDYXBhYmlsaXRpZXMiIG1pc3NpbmcKK0ZBSUwgTWVkaWFDYXBhYmls
aXRpZXMgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAib2JqZWN0
IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBl
Y3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVz
IGludGVyZmFjZTogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiZGVjb2RpbmdJbmZvKE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uKSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogd3JvbmcgdHlwZW9mIG9iamVjdCBleHBlY3RlZCAi
b2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIE1lZGlhQ2FwYWJpbGl0aWVzIGludGVy
ZmFjZTogY2FsbGluZyBkZWNvZGluZ0luZm8oTWVkaWFEZWNvZGluZ0NvbmZpZ3VyYXRpb24pIG9u
IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3Qg
dGhyb3cgVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0
ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBp
bnRlcmZhY2U6IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcyBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgImVuY29kaW5nSW5mbyhNZWRpYUVuY29kaW5nQ29uZmlndXJhdGlvbikiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IHdyb25nIHR5cGVvZiBvYmplY3QgZXhwZWN0ZWQgIm9i
amVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBNZWRpYUNhcGFiaWxpdGllcyBpbnRlcmZh
Y2U6IGNhbGxpbmcgZW5jb2RpbmdJbmZvKE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uKSBvbiBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRo
cm93IFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiB3cm9uZyB0eXBlb2Ygb2JqZWN0IGV4cGVjdGVk
ICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgV29ya2VyTmF2aWdhdG9yIGludGVy
ZmFjZTogYXR0cmlidXRlIG1lZGlhQ2FwYWJpbGl0aWVzIGFzc2VydF90cnVlOiBUaGUgcHJvdG90
eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAibWVkaWFDYXBhYmlsaXRpZXMiIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IG5hdmln
YXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm1lZGlhQ2FwYWJpbGl0aWVzIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJtZWRpYUNhcGFiaWxpdGllcyIg
bm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJu
ZXNzLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsx
IEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1
Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL3czYy1pbXBv
cnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJjMmVjMDEyZDI1ZWIxNDdjYWI4ZDY2NzlmODk3YTEwODI0NzU5
NmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDI1
IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgor
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisK
K0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQ
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlz
dCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLWNhcGFiaWxpdGllcy9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL1JFQURNRS5tZAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2Rl
Y29kaW5nSW5mby5hbnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0luZm8ud2VicnRjLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGll
cy9kZWNvZGluZ0luZm9FbmNyeXB0ZWRNZWRpYS5odHRwLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGluZ0lu
Zm9FbmNyeXB0ZWRNZWRpYS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9lbmNvZGluZ0luZm8ud2VicnRjLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9pZGxoYXJuZXNzLmFueS5qcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNv
ZGluZ0luZm8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRp
ZXMvbW9jay1lbmNvZGluZ0luZm8tZXhwZWN0ZWQudHh0CmluZGV4IDM1NDI3NDE4OTYzZDEwMGM2
OGEyMGI1ZGMyZGQxNjM2OWZkMDBlYWIuLjA3ZTgyYTM0OGE2OGFkMzEyNjgxMTQ3ZTliOTEyN2Fh
MjgyYTAwNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhY2FwYWJpbGl0aWVz
L21vY2stZW5jb2RpbmdJbmZvLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9t
ZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29kaW5nSW5mby1leHBlY3RlZC50eHQKQEAgLTEsNjMg
KzEsNjMgQEAKIFJVTihpbnRlcm5hbHMuZW5hYmxlTW9ja01lZGlhQ2FwYWJpbGl0aWVzKCkpCiAK
IFNtb290aCBhbmQgcG93ZXIgZWZmaWNpZW50IDcyMFAgTVA0IGVuY29kaW5nCi1SVU4ocHJvbWlz
ZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJh
bnNtaXNzaW9uJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZj
MSInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTog
MjQuNSB9IH0pOykKK1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVv
L21wNDsgY29kZWNzPSJhdmMxIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDog
MTI4MCwgZnJhbWVyYXRlOiAyNC41IH0gfSk7KQogUHJvbWlzZSByZXNvbHZlZCBPSwogaW5mby5z
dXBwb3J0ZWQgPT0gdHJ1ZSBPSwogaW5mby5zbW9vdGggPT0gdHJ1ZSBPSwogaW5mby5wb3dlckVm
ZmljaWVudCA9PSB0cnVlIE9LCiAKIE5vdCBzbW9vdGggKHRvbyBoaWdoIGZyYW1lcmF0ZSkgYnV0
IHBvd2VyIGVmZmljaWVudCA3MjBQIE1QNCBlbmNvZGluZwotUlVOKHByb21pc2UgPSBuYXZpZ2F0
b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbics
IHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0
OiA3MjAsIGJpdHJhdGU6IDEwMDAsIHdpZHRoOiAxMjgwLCBmcmFtZXJhdGU6IDYwLjQvMiB9IH0p
OykKK1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7IHR5cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29k
ZWNzPSJhdmMxIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJh
bWVyYXRlOiA2MC40LzIgfSB9KTspCiBQcm9taXNlIHJlc29sdmVkIE9LCiBpbmZvLnN1cHBvcnRl
ZCA9PSB0cnVlIE9LCiBpbmZvLnNtb290aCA9PSBmYWxzZSBPSwogaW5mby5wb3dlckVmZmljaWVu
dCA9PSB0cnVlIE9LCiAKLVVuc3VwcG9ydGVkIHByb3RvY29sOiBSZWNvcmQKLVJVTihwcm9taXNl
ID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNv
cmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIicsIGhl
aWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNCB9IH0p
OykKK1Vuc3VwcG9ydGVkIHByb3RvY29sOiBXZWJSVEMKK1JVTihwcm9taXNlID0gbmF2aWdhdG9y
Lm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd3ZWJydGMnLCB2aWRlbzog
eyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIicsIGhlaWdodDogNzIwLCBi
aXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNCB9IH0pOykKIFByb21pc2Ug
cmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVkID09IGZhbHNlIE9LCiBpbmZvLnNtb290aCA9PSBm
YWxzZSBPSwogaW5mby5wb3dlckVmZmljaWVudCA9PSBmYWxzZSBPSwogCiBVbnN1cHBvcnRlZCB2
aWRlbyByZXNvbHV0aW9uOiAxMDgwUAotUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIHZpZGVvOiB7IGNv
bnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0OiAxMDgwLCBiaXRy
YXRlOiAxMDAwLCB3aWR0aDogMTkyMCwgZnJhbWVyYXRlOiAyNCB9IH0pOykKK1JVTihwcm9taXNl
ID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNv
cmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIicsIGhl
aWdodDogMTA4MCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDE5MjAsIGZyYW1lcmF0ZTogMjQgfSB9
KTspCiBQcm9taXNlIHJlc29sdmVkIE9LCiBpbmZvLnN1cHBvcnRlZCA9PSBmYWxzZSBPSwogaW5m
by5zbW9vdGggPT0gZmFsc2UgT0sKIGluZm8ucG93ZXJFZmZpY2llbnQgPT0gZmFsc2UgT0sKIAog
U21vb3RoIGFuZCBwb3dlciBlZmZpY2llbnQgYXVkaW8gTVA0IGVuY29kaW5nCi1SVU4ocHJvbWlz
ZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAndHJh
bnNtaXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz0ibXA0
YS40MC4yIicsIGNoYW5uZWxzOiAnMicsIGJpdHJhdGU6IDEwMDAsIHNhbXBsZXJhdGU6IDQ0MTAw
IH0gfSk7KQorUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXA0
OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVsczogJzInLCBiaXRyYXRlOiAxMDAwLCBzYW1w
bGVyYXRlOiA0NDEwMCB9IH0pOykKIFByb21pc2UgcmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVk
ID09IHRydWUgT0sKIGluZm8uc21vb3RoID09IHRydWUgT0sKIGluZm8ucG93ZXJFZmZpY2llbnQg
PT0gdHJ1ZSBPSwogCiBTbW9vdGggYnV0IHBvd2VyIGluZWZmaWNpZW50IGF1ZGlvIE1QNCBlbmNv
ZGluZwotUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8v
bXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInLCBjaGFubmVsczogJzInLCBiaXRyYXRlOiAyMDAwLCBz
YW1wbGVyYXRlOiA0NDEwMCB9IH0pOykKK1JVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyBjb250ZW50
VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJywgY2hhbm5lbHM6ICcyJywgYml0
cmF0ZTogMjAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgfSB9KTspCiBQcm9taXNlIHJlc29sdmVkIE9L
CiBpbmZvLnN1cHBvcnRlZCA9PSB0cnVlIE9LCiBpbmZvLnNtb290aCA9PSB0cnVlIE9LCiBpbmZv
LnBvd2VyRWZmaWNpZW50ID09IGZhbHNlIE9LCiAKIE5vdCBzbW9vdGggYnV0IHBvd2VyIGVmZmlj
aWVudCBhdWRpbyBNUDQgZW5jb2RpbmcKLVJVTihwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Npb24nLCBhdWRpbzogeyBj
b250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJywgY2hhbm5lbHM6ICc1
LjEnLCBiaXRyYXRlOiAxMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCB9IH0pOykKK1JVTihwcm9taXNl
ID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNv
cmQnLCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIi
JywgY2hhbm5lbHM6ICc1LjEnLCBiaXRyYXRlOiAxMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCB9IH0p
OykKIFByb21pc2UgcmVzb2x2ZWQgT0sKIGluZm8uc3VwcG9ydGVkID09IHRydWUgT0sKIGluZm8u
c21vb3RoID09IGZhbHNlIE9LCiBpbmZvLnBvd2VyRWZmaWNpZW50ID09IHRydWUgT0sKIAogTm90
IHNtb290aCBhbmQgcG93ZXIgaW5lZmZpY2llbnQgYXVkaW8gTVA0IGVuY29kaW5nCi1SVU4ocHJv
bWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAn
dHJhbnNtaXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz0i
bXA0YS40MC4yIicsIGNoYW5uZWxzOiAnNS4xJywgYml0cmF0ZTogMjAwMCwgc2FtcGxlcmF0ZTog
NDQxMDAgfSB9KTspCitSVU4ocHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5l
bmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRp
by9tcDQ7IGNvZGVjcz0ibXA0YS40MC4yIicsIGNoYW5uZWxzOiAnNS4xJywgYml0cmF0ZTogMjAw
MCwgc2FtcGxlcmF0ZTogNDQxMDAgfSB9KTspCiBQcm9taXNlIHJlc29sdmVkIE9LCiBpbmZvLnN1
cHBvcnRlZCA9PSB0cnVlIE9LCiBpbmZvLnNtb290aCA9PSBmYWxzZSBPSwogaW5mby5wb3dlckVm
ZmljaWVudCA9PSBmYWxzZSBPSwogCiBVbnN1cHBvcnRlZCBhdWRpbyBjb2RlYzogb2dnIHZvcmJp
cwotUlVOKHByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
KHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vb2dn
OyBjb2RlY3M9InZvcmJpcyInLCBjaGFubmVsczogJzInIH0gfSk7KQorUlVOKHByb21pc2UgPSBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcs
IGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vb2dnOyBjb2RlY3M9InZvcmJpcyInLCBjaGFu
bmVsczogJzInIH0gfSk7KQogUHJvbWlzZSByZXNvbHZlZCBPSwogaW5mby5zdXBwb3J0ZWQgPT0g
ZmFsc2UgT0sKIGluZm8uc21vb3RoID09IGZhbHNlIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29kaW5nSW5mby5odG1sIGIvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbW9jay1lbmNvZGluZ0luZm8uaHRtbAppbmRl
eCBiNzI0YWY2ZDgzYWRiYTMxMDBlNzY4MDdmNzRhNDY4YzE0NjkwNGRmLi4wZjUwZmZjNGY2NzA3
MWFjM2QyYTEwMTc2MGY5NGU1MjhjMTE1YzU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYWNhcGFiaWxpdGllcy9tb2NrLWVuY29kaW5nSW5mby5odG1sCisrKyBiL0xheW91dFRl
c3RzL21lZGlhL21lZGlhY2FwYWJpbGl0aWVzL21vY2stZW5jb2RpbmdJbmZvLmh0bWwKQEAgLTMw
LDcgKzMwLDcgQEAKICAgICB0ZXN0cyA9IFsKICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgnU21vb3RoIGFuZCBwb3dlciBlZmZpY2llbnQgNzIwUCBNUDQg
ZW5jb2RpbmcnKTsKLSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIHZpZGVvOiB7
IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJhdmMxXCInLCBoZWlnaHQ6IDcyMCwg
Yml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0ZTogMjQuNSB9IH0pOyIpOworICAg
ICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNv
ZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9t
cDQ7IGNvZGVjcz1cImF2YzFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDog
MTI4MCwgZnJhbWVyYXRlOiAyNC41IH0gfSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2
ZShwcm9taXNlKS50aGVuKChpbmZvKSA9PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFD
YXBhYmlsaXRpZXNJbmZvKGluZm8sIHRydWUsIHRydWUsIHRydWUpOwogICAgICAgICAgICAgICAg
ICBuZXh0KCk7CkBAIC0zOCwxNSArMzgsMTUgQEAKICAgICAgICAgIH0sCiAgICAgICAgICBmdW5j
dGlvbigpIHsKICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJ05vdCBzbW9vdGggKHRvbyBoaWdo
IGZyYW1lcmF0ZSkgYnV0IHBvd2VyIGVmZmljaWVudCA3MjBQIE1QNCBlbmNvZGluZycpOwotICAg
ICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNv
ZGluZ0luZm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2
aWRlby9tcDQ7IGNvZGVjcz1cImF2YzFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3
aWR0aDogMTI4MCwgZnJhbWVyYXRlOiA2MC40LzIgfSB9KTsiKTsKKyAgICAgICAgICAgICBydW4o
InByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlw
ZTogJ3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJh
dmMxXCInLCBoZWlnaHQ6IDcyMCwgYml0cmF0ZTogMTAwMCwgd2lkdGg6IDEyODAsIGZyYW1lcmF0
ZTogNjAuNC8yIH0gfSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZShwcm9taXNlKS50
aGVuKChpbmZvKSA9PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFDYXBhYmlsaXRpZXNJ
bmZvKGluZm8sIHRydWUsIGZhbHNlLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgbmV4dCgpOwog
ICAgICAgICAgICAgIH0sIG5leHQpOwogICAgICAgICAgfSwKICAgICAgICAgIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnVW5zdXBwb3J0ZWQgcHJvdG9jb2w6IFJlY29y
ZCcpOwotICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgY29udGVudFR5cGU6
ICd2aWRlby9tcDQ7IGNvZGVjcz1cImF2YzFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAw
LCB3aWR0aDogMTI4MCwgZnJhbWVyYXRlOiAyNCB9IH0pOyIpOworICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgnVW5zdXBwb3J0ZWQgcHJvdG9jb2w6IFdlYlJUQycpOworICAgICAgICAgICAgIHJ1
bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0
eXBlOiAnd2VicnRjJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz1c
ImF2YzFcIicsIGhlaWdodDogNzIwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTI4MCwgZnJhbWVy
YXRlOiAyNCB9IH0pOyIpOwogICAgICAgICAgICAgIHNob3VsZFJlc29sdmUocHJvbWlzZSkudGhl
bigoaW5mbykgPT4gewogICAgICAgICAgICAgICAgICBjaGVja01lZGlhQ2FwYWJpbGl0aWVzSW5m
byhpbmZvLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgbmV4dCgpOwpA
QCAtNTQsNyArNTQsNyBAQAogICAgICAgICAgfSwKICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgnVW5zdXBwb3J0ZWQgdmlkZW8gcmVzb2x1dGlvbjogMTA4
MFAnKTsKLSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIHZpZGVvOiB7IGNvbnRl
bnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9XCJhdmMxXCInLCBoZWlnaHQ6IDEwODAsIGJpdHJh
dGU6IDEwMDAsIHdpZHRoOiAxOTIwLCBmcmFtZXJhdGU6IDI0IH0gfSk7Iik7CisgICAgICAgICAg
ICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5m
byh7IHR5cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29k
ZWNzPVwiYXZjMVwiJywgaGVpZ2h0OiAxMDgwLCBiaXRyYXRlOiAxMDAwLCB3aWR0aDogMTkyMCwg
ZnJhbWVyYXRlOiAyNCB9IH0pOyIpOwogICAgICAgICAgICAgIHNob3VsZFJlc29sdmUocHJvbWlz
ZSkudGhlbigoaW5mbykgPT4gewogICAgICAgICAgICAgICAgICBjaGVja01lZGlhQ2FwYWJpbGl0
aWVzSW5mbyhpbmZvLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgbmV4
dCgpOwpAQCAtNjIsNyArNjIsNyBAQAogICAgICAgICAgfSwKICAgICAgICAgIGZ1bmN0aW9uKCkg
ewogICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnU21vb3RoIGFuZCBwb3dlciBlZmZpY2llbnQg
YXVkaW8gTVA0IGVuY29kaW5nJyk7Ci0gICAgICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdh
dG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Npb24n
LCBhdWRpbzogeyBjb250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPVwibXA0YS40MC4yXCIn
LCBjaGFubmVsczogJzInLCBiaXRyYXRlOiAxMDAwLCBzYW1wbGVyYXRlOiA0NDEwMCAgfSB9KTsi
KTsKKyAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRp
ZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAn
YXVkaW8vbXA0OyBjb2RlY3M9XCJtcDRhLjQwLjJcIicsIGNoYW5uZWxzOiAnMicsIGJpdHJhdGU6
IDEwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwICB9IH0pOyIpOwogICAgICAgICAgICAgIHNob3VsZFJl
c29sdmUocHJvbWlzZSkudGhlbigoaW5mbykgPT4gewogICAgICAgICAgICAgICAgICBjaGVja01l
ZGlhQ2FwYWJpbGl0aWVzSW5mbyhpbmZvLCB0cnVlLCB0cnVlLCB0cnVlKTsKICAgICAgICAgICAg
ICAgICAgbmV4dCgpOwpAQCAtNzAsNyArNzAsNyBAQAogICAgICAgICAgfSwKICAgICAgICAgIGZ1
bmN0aW9uKCkgewogICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnU21vb3RoIGJ1dCBwb3dlciBp
bmVmZmljaWVudCBhdWRpbyBNUDQgZW5jb2RpbmcnKTsKLSAgICAgICAgICAgICBydW4oInByb21p
c2UgPSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3Ry
YW5zbWlzc2lvbicsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9XCJt
cDRhLjQwLjJcIicsIGNoYW5uZWxzOiAnMicsIGJpdHJhdGU6IDIwMDAsIHNhbXBsZXJhdGU6IDQ0
MTAwICB9IH0pOyIpOworICAgICAgICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29u
dGVudFR5cGU6ICdhdWRpby9tcDQ7IGNvZGVjcz1cIm1wNGEuNDAuMlwiJywgY2hhbm5lbHM6ICcy
JywgYml0cmF0ZTogMjAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgIH0gfSk7Iik7CiAgICAgICAgICAg
ICAgc2hvdWxkUmVzb2x2ZShwcm9taXNlKS50aGVuKChpbmZvKSA9PiB7CiAgICAgICAgICAgICAg
ICAgIGNoZWNrTWVkaWFDYXBhYmlsaXRpZXNJbmZvKGluZm8sIHRydWUsIHRydWUsIGZhbHNlKTsK
ICAgICAgICAgICAgICAgICAgbmV4dCgpOwpAQCAtNzgsNyArNzgsNyBAQAogICAgICAgICAgfSwK
ICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnTm90IHNt
b290aCBidXQgcG93ZXIgZWZmaWNpZW50IGF1ZGlvIE1QNCBlbmNvZGluZycpOwotICAgICAgICAg
ICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0lu
Zm8oeyB0eXBlOiAndHJhbnNtaXNzaW9uJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9t
cDQ7IGNvZGVjcz1cIm1wNGEuNDAuMlwiJywgY2hhbm5lbHM6ICc1LjEnLCBiaXRyYXRlOiAxMDAw
LCBzYW1wbGVyYXRlOiA0NDEwMCAgfSB9KTsiKTsKKyAgICAgICAgICAgICBydW4oInByb21pc2Ug
PSBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29y
ZCcsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXA0OyBjb2RlY3M9XCJtcDRhLjQwLjJc
IicsIGNoYW5uZWxzOiAnNS4xJywgYml0cmF0ZTogMTAwMCwgc2FtcGxlcmF0ZTogNDQxMDAgIH0g
fSk7Iik7CiAgICAgICAgICAgICAgc2hvdWxkUmVzb2x2ZShwcm9taXNlKS50aGVuKChpbmZvKSA9
PiB7CiAgICAgICAgICAgICAgICAgIGNoZWNrTWVkaWFDYXBhYmlsaXRpZXNJbmZvKGluZm8sIHRy
dWUsIGZhbHNlLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgbmV4dCgpOwpAQCAtODYsNyArODYs
NyBAQAogICAgICAgICAgfSwKICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgnTm90IHNtb290aCBhbmQgcG93ZXIgaW5lZmZpY2llbnQgYXVkaW8gTVA0IGVu
Y29kaW5nJyk7Ci0gICAgICAgICAgICAgcnVuKCJwcm9taXNlID0gbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbyh7IHR5cGU6ICd0cmFuc21pc3Npb24nLCBhdWRpbzogeyBj
b250ZW50VHlwZTogJ2F1ZGlvL21wNDsgY29kZWNzPVwibXA0YS40MC4yXCInLCBjaGFubmVsczog
JzUuMScsIGJpdHJhdGU6IDIwMDAsIHNhbXBsZXJhdGU6IDQ0MTAwICB9IH0pOyIpOworICAgICAg
ICAgICAgIHJ1bigicHJvbWlzZSA9IG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGlu
Z0luZm8oeyB0eXBlOiAncmVjb3JkJywgYXVkaW86IHsgY29udGVudFR5cGU6ICdhdWRpby9tcDQ7
IGNvZGVjcz1cIm1wNGEuNDAuMlwiJywgY2hhbm5lbHM6ICc1LjEnLCBiaXRyYXRlOiAyMDAwLCBz
YW1wbGVyYXRlOiA0NDEwMCAgfSB9KTsiKTsKICAgICAgICAgICAgICBzaG91bGRSZXNvbHZlKHBy
b21pc2UpLnRoZW4oKGluZm8pID0+IHsKICAgICAgICAgICAgICAgICAgY2hlY2tNZWRpYUNhcGFi
aWxpdGllc0luZm8oaW5mbywgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAg
bmV4dCgpOwpAQCAtOTQsNyArOTQsNyBAQAogICAgICAgICAgfSwKICAgICAgICAgIGZ1bmN0aW9u
KCkgewogICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnVW5zdXBwb3J0ZWQgYXVkaW8gY29kZWM6
IG9nZyB2b3JiaXMnKTsKLSAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3RyYW5zbWlzc2lvbicsIGF1ZGlv
OiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vb2dnOyBjb2RlY3M9XCJ2b3JiaXNcIicsIGNoYW5uZWxz
OiAnMicgfSB9KTsiKTsKKyAgICAgICAgICAgICBydW4oInByb21pc2UgPSBuYXZpZ2F0b3IubWVk
aWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IGNv
bnRlbnRUeXBlOiAnYXVkaW8vb2dnOyBjb2RlY3M9XCJ2b3JiaXNcIicsIGNoYW5uZWxzOiAnMicg
fSB9KTsiKTsKICAgICAgICAgICAgICBzaG91bGRSZXNvbHZlKHByb21pc2UpLnRoZW4oKGluZm8p
ID0+IHsKICAgICAgICAgICAgICAgICAgY2hlY2tNZWRpYUNhcGFiaWxpdGllc0luZm8oaW5mbywg
ZmFsc2UsIGZhbHNlLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgIG5leHQoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRp
YWNhcGFiaWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxp
dGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNjliYWI1ODIyNjgwMmExNmIxMGI3YmU4MzJlZGJmYjA3ZDZlNzRiOC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3MvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMt
ZW5jb2RpbmdJbmZvLXVuZGVmaW5lZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwx
MSArMCwwIEBACi1UZXN0IHRoYXQgTWVkaWFDYXBhYmlsaXRpZXMucHJvdG90eXBlLmVuY29kaW5n
SW5mbyBpcyBtaXNzaW5nLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0
eXBlb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyBpcyAidW5kZWZp
bmVkIgotUEFTUyB0eXBlb2YgTWVkaWFDYXBhYmlsaXRpZXMucHJvdG90eXBlLmVuY29kaW5nSW5m
byBpcyAidW5kZWZpbmVkIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9tZWRpYS9t
ZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMv
bWVkaWFjYXBhYmlsaXRpZXMtZW5jb2RpbmdJbmZvLXVuZGVmaW5lZC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1ZGM0ZjMxZTkwNzQwNmJlYzE0ZDU1ZmMxNGM3ZTY4NTViNTk2
ZTU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxp
dGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0JPHRpdGxlPm1lZGlhY2Fw
YWJpbGl0aWVzLWVuY29kaW5nSW5mby1lbXB0eTwvdGl0bGU+Ci0JPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci0JPHNjcmlwdD4KLQot
CTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCdUZXN0IHRoYXQg
TWVkaWFDYXBhYmlsaXRpZXMucHJvdG90eXBlLmVuY29kaW5nSW5mbyBpcyBtaXNzaW5nLicpOwot
c2hvdWxkQmUoJ3R5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
JywgJyJ1bmRlZmluZWQiJyk7Ci1zaG91bGRCZSgndHlwZW9mIE1lZGlhQ2FwYWJpbGl0aWVzLnBy
b3RvdHlwZS5lbmNvZGluZ0luZm8nLCAnInVuZGVmaW5lZCInKTsKLTwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNh
cGFiaWxpdGllcy10eXBlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
bWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtdHlwZXMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODY2ZjAzODdhOGZmZWE0NzI3ZmE3
ZmI0NzRmNDlmNGJiNmY5OTAzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9tZWRpYS9tZWRpYWNhcGFiaWxpdGll
cy9tZWRpYWNhcGFiaWxpdGllcy10eXBlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw4NyArMCwwIEBACi1UZXN0IGJhc2ljIGRpY3Rpb25hcnkgYW5kIGVudW0gdHlwZXMgb2YgTWVk
aWEgQ2FwYWJpbGl0aWVzIEFQSQotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnIH0pOwotICAgIH0gcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAnbWVkaWEtc291
cmNlJyB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnLCBhdWRpbzogeyB9IH0pOwotICAgIH0g
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBBdWRpb0NvbmZpZ3VyYXRp
b24uY29udGVudFR5cGUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9N
U3RyaW5nLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnLCBhdWRpbzogeyBjb250ZW50VHlw
ZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIicgfSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJl
dHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2Zp
bGUnLCB2aWRlbzogeyB9IH0pOwotICAgIH0gcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IE1lbWJlciBWaWRlb0NvbmZpZ3VyYXRpb24uYml0cmF0ZSBpcyByZXF1aXJlZCBhbmQgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiB1bnNpZ25lZCBsb25nIGxvbmcuCi1QQVNTICgpID0+IHsKLSAg
ICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0
eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXAzJywgd2lkdGg6IDY0
MCwgaGVpZ2h0OiA0ODAsIGJpdHJhdGU6IDEwMDAsIGZyYW1lcmF0ZTogMjQgfSB9KTsKLSAgICB9
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyAoKSA9
PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJ
bmZvKHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29k
ZWNzPSJhdmMxIicsIGhlaWdodDogNDgwLCBiaXRyYXRlOiAxMDAwLCBmcmFtZXJhdGU6IDI0IH0g
fSk7Ci0gICAgfSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFZpZGVv
Q29uZmlndXJhdGlvbi53aWR0aCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiB1bnNpZ25lZCBsb25nLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyBj
b250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLHZwOSInLCB3aWR0aDo2NDAsIGhl
aWdodDogNDgwLCBiaXRyYXRlOiAxMDAwLCBmcmFtZXJhdGU6IDI0IH0gfSk7Ci0gICAgfSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgKCkgPT4gewot
ICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7
IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQnLCB3aWR0aDo2
NDAsIGhlaWdodDogNDgwLCBiaXRyYXRlOiAxMDAwLCBmcmFtZXJhdGU6IDI0IH0gfSk7Ci0gICAg
fSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgKCkg
PT4gewotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5n
SW5mbyh7IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNv
ZGVjcz0iYXZjMSInLCB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4MCwgYml0cmF0ZTogMTAwMCwgZnJh
bWVyYXRlOiAwIH0gfSk7Ci0gICAgfSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KLVBBU1MgKCkgPT4gewotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVu
dFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4
MCwgYml0cmF0ZTogMTAwMCwgZnJhbWVyYXRlOiAiMjQvYSIgfSB9KTsKLSAgICB9IHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0
ZS4KLVBBU1MgKCkgPT4gewotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2
aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4MCwgYml0cmF0
ZTogMTAwMCwgZnJhbWVyYXRlOiAiMjQvMCIgfSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KLVBBU1Mg
KCkgPT4gewotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29k
aW5nSW5mbyh7IHR5cGU6ICdpbnZhbGlkJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9t
cDQ7IGNvZGVjcz0iYXZjMSInLCB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4MCwgYml0cmF0ZTogMTAw
MCwgZnJhbWVyYXRlOiAyNCB9IH0pOwotICAgIH0gcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1GQUlMICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJyB9KTsKLSAg
ICB9IHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0eXBl
OiAncmVjb3JkJyB9KScsICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZv
JyBpcyB1bmRlZmluZWQpLgotRkFJTCAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7
IH0gfSk7Ci0gICAgfSBzaG91bGQgbm90IHRocm93IGV4Y2VwdGlvbi4gVGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICduYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJ
bmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IH0gfSknLCAnbmF2aWdhdG9yLm1lZGlhQ2Fw
YWJpbGl0aWVzLmVuY29kaW5nSW5mbycgaXMgdW5kZWZpbmVkKS4KLVBBU1MgKCkgPT4gewotICAg
ICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5
cGU6ICdyZWNvcmQnLCBhdWRpbzogeyB9IH0pOwotICAgIH0gcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IE1lbWJlciBBdWRpb0NvbmZpZ3VyYXRpb24uY29udGVudFR5cGUgaXMgcmVx
dWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NU3RyaW5nLgotUEFTUyAoKSA9PiB7
Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2Rl
Y3M9ImF2YzEiJyB9IH0pOwotICAgIH0gcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgfSB9
KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgVmlkZW9D
b25maWd1cmF0aW9uLmJpdHJhdGUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgdW5zaWduZWQgbG9uZyBsb25nLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZp
Z2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIHZp
ZGVvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXAzJywgd2lkdGg6IDY0MCwgaGVpZ2h0OiA0ODAs
IGJpdHJhdGU6IDEwMDAsIGZyYW1lcmF0ZTogMjQgfSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJl
dHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ3Jl
Y29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywg
aGVpZ2h0OiA0ODAsIGJpdHJhdGU6IDEwMDAsIGZyYW1lcmF0ZTogMjQgfSB9KTsKLSAgICB9IHJl
amVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgVmlkZW9Db25maWd1cmF0aW9u
LndpZHRoIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIHVuc2lnbmVkIGxv
bmcuCi1QQVNTICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgY29udGVudFR5cGU6
ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSx2cDkiJywgd2lkdGg6NjQwLCBoZWlnaHQ6IDQ4MCwg
Yml0cmF0ZTogMTAwMCwgZnJhbWVyYXRlOiAyNCB9IH0pOwotICAgIH0gcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTICgpID0+IHsKLSAgICAgICAgcmV0
dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAncmVj
b3JkJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQnLCB3aWR0aDo2NDAsIGhlaWdo
dDogNDgwLCBiaXRyYXRlOiAxMDAwLCBmcmFtZXJhdGU6IDI0IH0gfSk7Ci0gICAgfSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgKCkgPT4gewotICAg
ICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5
cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJh
dmMxIicsIHdpZHRoOiA2NDAsIGhlaWdodDogNDgwLCBiaXRyYXRlOiAxMDAwLCBmcmFtZXJhdGU6
IDAgfSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmls
aXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBl
OiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgd2lkdGg6IDY0MCwgaGVpZ2h0OiA0ODAsIGJp
dHJhdGU6IDEwMDAsIGZyYW1lcmF0ZTogIjI0L2EiIH0gfSk7Ci0gICAgfSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCi1Q
QVNTICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5k
ZWNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRl
by9tcDQ7IGNvZGVjcz0iYXZjMSInLCB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4MCwgYml0cmF0ZTog
MTAwMCwgZnJhbWVyYXRlOiAiMjQvLTEiIH0gfSk7Ci0gICAgfSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlzIG5vbi1maW5pdGUuCi1QQVNTICgp
ID0+IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGlu
Z0luZm8oeyB0eXBlOiAnaW52YWxpZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0
OyBjb2RlY3M9ImF2YzEiJywgd2lkdGg6IDY0MCwgaGVpZ2h0OiA0ODAsIGJpdHJhdGU6IDEwMDAs
IGZyYW1lcmF0ZTogMjQgfSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNU
IENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9t
ZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9tZWRpYWNhcGFi
aWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVkLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjliYWI1ODIyNjgwMmExNmIxMGI3
YmU4MzJlZGJmYjA3ZDZlNzRiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFjYXBhYmlsaXRp
ZXMvbWVkaWFjYXBhYmlsaXRpZXMtZW5jb2RpbmdJbmZvLXVuZGVmaW5lZC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1UZXN0IHRoYXQgTWVkaWFDYXBhYmlsaXRp
ZXMucHJvdG90eXBlLmVuY29kaW5nSW5mbyBpcyBtaXNzaW5nLgotCi1PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCi0KLQotUEFTUyB0eXBlb2YgbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVu
Y29kaW5nSW5mbyBpcyAidW5kZWZpbmVkIgotUEFTUyB0eXBlb2YgTWVkaWFDYXBhYmlsaXRpZXMu
cHJvdG90eXBlLmVuY29kaW5nSW5mbyBpcyAidW5kZWZpbmVkIgotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9tZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1l
bmNvZGluZ0luZm8tdW5kZWZpbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVk
aWEvbWVkaWFjYXBhYmlsaXRpZXMvbWVkaWFjYXBhYmlsaXRpZXMtZW5jb2RpbmdJbmZvLXVuZGVm
aW5lZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZGM0ZjMxZTkwNzQwNmJl
YzE0ZDU1ZmMxNGM3ZTY4NTViNTk2ZTU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9tZWRpYWNhcGFi
aWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy1lbmNvZGluZ0luZm8tdW5kZWZpbmVkLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhl
YWQ+Ci0JPHRpdGxlPm1lZGlhY2FwYWJpbGl0aWVzLWVuY29kaW5nSW5mby1lbXB0eTwvdGl0bGU+
Ci0JPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Ci0JPHNjcmlwdD4KLQotCTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLWRl
c2NyaXB0aW9uKCdUZXN0IHRoYXQgTWVkaWFDYXBhYmlsaXRpZXMucHJvdG90eXBlLmVuY29kaW5n
SW5mbyBpcyBtaXNzaW5nLicpOwotc2hvdWxkQmUoJ3R5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvJywgJyJ1bmRlZmluZWQiJyk7Ci1zaG91bGRCZSgndHlwZW9m
IE1lZGlhQ2FwYWJpbGl0aWVzLnByb3RvdHlwZS5lbmNvZGluZ0luZm8nLCAnInVuZGVmaW5lZCIn
KTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tZWRpYS9tZWRp
YWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy10eXBlcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWVkaWEvbWVkaWFjYXBhYmlsaXRpZXMvbWVkaWFjYXBhYmls
aXRpZXMtdHlwZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
ODY2ZjAzODdhOGZmZWE0NzI3ZmE3ZmI0NzRmNDlmNGJiNmY5OTAzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9t
ZWRpYS9tZWRpYWNhcGFiaWxpdGllcy9tZWRpYWNhcGFiaWxpdGllcy10eXBlcy1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1UZXN0IGJhc2ljIGRpY3Rpb25hcnkg
YW5kIGVudW0gdHlwZXMgb2YgTWVkaWEgQ2FwYWJpbGl0aWVzIEFQSQotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3Iu
bWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnIH0pOwotICAgIH0g
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTICgpID0+
IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0lu
Zm8oeyB0eXBlOiAnbWVkaWEtc291cmNlJyB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnLCBh
dWRpbzogeyB9IH0pOwotICAgIH0gcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1l
bWJlciBBdWRpb0NvbmZpZ3VyYXRpb24uY29udGVudFR5cGUgaXMgcmVxdWlyZWQgYW5kIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgRE9NU3RyaW5nLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVy
biBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUn
LCBhdWRpbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIicgfSB9KTsK
LSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyB9IH0pOwotICAgIH0gcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBWaWRlb0NvbmZpZ3VyYXRpb24uYml0cmF0
ZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiB1bnNpZ25lZCBsb25nIGxv
bmcuCi1QQVNTICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxp
dGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAnZmlsZScsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAn
YXVkaW8vbXAzJywgd2lkdGg6IDY0MCwgaGVpZ2h0OiA0ODAsIGJpdHJhdGU6IDEwMDAsIGZyYW1l
cmF0ZTogMjQgfSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBU
eXBlIGVycm9yLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50
VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIicsIGhlaWdodDogNDgwLCBiaXRyYXRlOiAx
MDAwLCBmcmFtZXJhdGU6IDI0IH0gfSk7Ci0gICAgfSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5
cGVFcnJvcjogTWVtYmVyIFZpZGVvQ29uZmlndXJhdGlvbi53aWR0aCBpcyByZXF1aXJlZCBhbmQg
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiB1bnNpZ25lZCBsb25nLgotUEFTUyAoKSA9PiB7Ci0gICAg
ICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlw
ZTogJ2ZpbGUnLCB2aWRlbzogeyBjb250ZW50VHlwZTogJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMx
LHZwOSInLCB3aWR0aDo2NDAsIGhlaWdodDogNDgwLCBiaXRyYXRlOiAxMDAwLCBmcmFtZXJhdGU6
IDI0IH0gfSk7Ci0gICAgfSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KLVBBU1MgKCkgPT4gewotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJp
bGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6
ICd2aWRlby9tcDQnLCB3aWR0aDo2NDAsIGhlaWdodDogNDgwLCBiaXRyYXRlOiAxMDAwLCBmcmFt
ZXJhdGU6IDI0IH0gfSk7Ci0gICAgfSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KLVBBU1MgKCkgPT4gewotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlh
Q2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdmaWxlJywgdmlkZW86IHsgY29udGVu
dFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4
MCwgYml0cmF0ZTogMTAwMCwgZnJhbWVyYXRlOiAwIH0gfSk7Ci0gICAgfSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgKCkgPT4gewotICAgICAgICBy
ZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdm
aWxlJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCB3
aWR0aDogNjQwLCBoZWlnaHQ6IDQ4MCwgYml0cmF0ZTogMTAwMCwgZnJhbWVyYXRlOiAiMjQvYSIg
fSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUaGUgcHJvdmlk
ZWQgdmFsdWUgaXMgbm9uLWZpbml0ZS4KLVBBU1MgKCkgPT4gewotICAgICAgICByZXR1cm4gbmF2
aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdmaWxlJywgdmlk
ZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCB3aWR0aDogNjQw
LCBoZWlnaHQ6IDQ4MCwgYml0cmF0ZTogMTAwMCwgZnJhbWVyYXRlOiAiMjQvMCIgfSB9KTsKLSAg
ICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUaGUgcHJvdmlkZWQgdmFsdWUg
aXMgbm9uLWZpbml0ZS4KLVBBU1MgKCkgPT4gewotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1l
ZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdpbnZhbGlkJywgdmlkZW86IHsg
Y29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCB3aWR0aDogNjQwLCBoZWln
aHQ6IDQ4MCwgYml0cmF0ZTogMTAwMCwgZnJhbWVyYXRlOiAyNCB9IH0pOwotICAgIH0gcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1GQUlMICgpID0+IHsKLSAg
ICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5lbmNvZGluZ0luZm8oeyB0
eXBlOiAncmVjb3JkJyB9KTsKLSAgICB9IHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2Rp
bmdJbmZvIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGll
cy5lbmNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJyB9KScsICduYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZW5jb2RpbmdJbmZvJyBpcyB1bmRlZmluZWQpLgotRkFJTCAoKSA9PiB7Ci0gICAg
ICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlw
ZTogJ3JlY29yZCcsIGF1ZGlvOiB7IH0gfSk7Ci0gICAgfSBzaG91bGQgbm90IHRocm93IGV4Y2Vw
dGlvbi4gVGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmVuY29kaW5nSW5mbyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICduYXZpZ2F0b3IubWVkaWFD
YXBhYmlsaXRpZXMuZW5jb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IH0gfSkn
LCAnbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmVuY29kaW5nSW5mbycgaXMgdW5kZWZpbmVk
KS4KLVBBU1MgKCkgPT4gewotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCBhdWRpbzogeyB9IH0pOwotICAgIH0g
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBBdWRpb0NvbmZpZ3VyYXRp
b24uY29udGVudFR5cGUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9N
U3RyaW5nLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBh
YmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIGF1ZGlvOiB7IGNvbnRlbnRU
eXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJyB9IH0pOwotICAgIH0gcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTICgpID0+IHsKLSAgICAgICAg
cmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAn
cmVjb3JkJywgdmlkZW86IHsgfSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBNZW1iZXIgVmlkZW9Db25maWd1cmF0aW9uLmJpdHJhdGUgaXMgcmVxdWlyZWQgYW5k
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgdW5zaWduZWQgbG9uZyBsb25nLgotUEFTUyAoKSA9PiB7
Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZv
KHsgdHlwZTogJ3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAnYXVkaW8vbXAzJywgd2lk
dGg6IDY0MCwgaGVpZ2h0OiA0ODAsIGJpdHJhdGU6IDEwMDAsIGZyYW1lcmF0ZTogMjQgfSB9KTsK
LSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVj
b2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcsIHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8v
bXA0OyBjb2RlY3M9ImF2YzEiJywgaGVpZ2h0OiA0ODAsIGJpdHJhdGU6IDEwMDAsIGZyYW1lcmF0
ZTogMjQgfSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1i
ZXIgVmlkZW9Db25maWd1cmF0aW9uLndpZHRoIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIHVuc2lnbmVkIGxvbmcuCi1QQVNTICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5h
dmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywg
dmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSx2cDkiJywgd2lk
dGg6NjQwLCBoZWlnaHQ6IDQ4MCwgYml0cmF0ZTogMTAwMCwgZnJhbWVyYXRlOiAyNCB9IH0pOwot
ICAgIH0gcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNT
ICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcy5kZWNv
ZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86IHsgY29udGVudFR5cGU6ICd2aWRlby9t
cDQnLCB3aWR0aDo2NDAsIGhlaWdodDogNDgwLCBiaXRyYXRlOiAxMDAwLCBmcmFtZXJhdGU6IDI0
IH0gfSk7Ci0gICAgfSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KLVBBU1MgKCkgPT4gewotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0
aWVzLmRlY29kaW5nSW5mbyh7IHR5cGU6ICdyZWNvcmQnLCB2aWRlbzogeyBjb250ZW50VHlwZTog
J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxIicsIHdpZHRoOiA2NDAsIGhlaWdodDogNDgwLCBiaXRy
YXRlOiAxMDAwLCBmcmFtZXJhdGU6IDAgfSB9KTsKLSAgICB9IHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyAoKSA9PiB7Ci0gICAgICAgIHJldHVybiBu
YXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXMuZGVjb2RpbmdJbmZvKHsgdHlwZTogJ3JlY29yZCcs
IHZpZGVvOiB7IGNvbnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgd2lkdGg6
IDY0MCwgaGVpZ2h0OiA0ODAsIGJpdHJhdGU6IDEwMDAsIGZyYW1lcmF0ZTogIjI0L2EiIH0gfSk7
Ci0gICAgfSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZh
bHVlIGlzIG5vbi1maW5pdGUuCi1QQVNTICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRv
ci5tZWRpYUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAncmVjb3JkJywgdmlkZW86
IHsgY29udGVudFR5cGU6ICd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMSInLCB3aWR0aDogNjQwLCBo
ZWlnaHQ6IDQ4MCwgYml0cmF0ZTogMTAwMCwgZnJhbWVyYXRlOiAiMjQvLTEiIH0gfSk7Ci0gICAg
fSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVGhlIHByb3ZpZGVkIHZhbHVlIGlz
IG5vbi1maW5pdGUuCi1QQVNTICgpID0+IHsKLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRp
YUNhcGFiaWxpdGllcy5kZWNvZGluZ0luZm8oeyB0eXBlOiAnaW52YWxpZCcsIHZpZGVvOiB7IGNv
bnRlbnRUeXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEiJywgd2lkdGg6IDY0MCwgaGVpZ2h0
OiA0ODAsIGJpdHJhdGU6IDEwMDAsIGZyYW1lcmF0ZTogMjQgfSB9KTsKLSAgICB9IHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3Rlc3RzLW9wdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRl
eCA0ZjI4YWUxNzI3MTAzZDkwNzMzZmEwODhjMzNkZjQyZTdiZmRiZWYyLi5kYTMwZGI0NWQyNzRk
OGM1MzhhYTI1OWVjMGVmYzYwNzg4NTI4ZDU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0
cy1vcHRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0z
NjM1LDYgKzM2MzUsOSBAQAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21h
dGhtbC9yZWxhdGlvbnMvaHRtbDUtdHJlZS90YWJpbmRleC0wMDIuaHRtbCI6IFsKICAgICAgICAg
InNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1jYXBhYmlsaXRpZXMvZGVjb2RpbmdJbmZvRW5jcnlwdGVkTWVkaWEuaHR0cHMuaHRtbCI6IFsK
KyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1zb3VyY2UvU291cmNlQnVmZmVyLWFib3J0LXJlYWR5U3RhdGUuaHRtbCI6IFsK
ICAgICAgICAgInNsb3ciCiAgICAgXSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>