<?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>172342</bug_id>
          
          <creation_ts>2017-05-18 22:19:35 -0700</creation_ts>
          <short_desc>Update webidl2.js from upstream web-platform-tests</short_desc>
          <delta_ts>2017-05-18 23:25:39 -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>Tools / Tests</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>172218</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>lforschler</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1310468</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-18 22:19:35 -0700</bug_when>
    <thetext>Update webidl2.js from upstream web-platform-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310470</commentid>
    <comment_count>1</comment_count>
      <attachid>310616</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-05-18 22:25:58 -0700</bug_when>
    <thetext>Created attachment 310616
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310490</commentid>
    <comment_count>2</comment_count>
      <attachid>310616</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-18 23:25:38 -0700</bug_when>
    <thetext>Comment on attachment 310616
Patch

Clearing flags on attachment: 310616

Committed r217100: &lt;http://trac.webkit.org/changeset/217100&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1310491</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-18 23:25:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310616</attachid>
            <date>2017-05-18 22:25:58 -0700</date>
            <delta_ts>2017-05-18 23:25:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172342-20170518222557.patch</filename>
            <type>text/plain</type>
            <size>170808</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3MDk2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBmZTJjZDk0ODVlNzNiN2Q2NmE5MjViOTVlZTNkNTM1NTJiNWZjMzVjLi44YTQyZTExMmFl
MjE5NjJhZWVjYTM4OTU1YTQ2Y2Q2MjJlMmU1NjI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwyMiBAQAogMjAxNy0wNS0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCisgICAgICAgIFVwZGF0ZSB3ZWJpZGwyLmpzIGZyb20gdXBzdHJlYW0gd2Vi
LXBsYXRmb3JtLXRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzIzNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvaGVhZGVycy9oZWFkZXJzLWlk
bC5odG1sOgorICAgICAgICBSZS1zeW5jIHRlc3QgZnJvbSB1cHN0cmVhbSAxMTIxNjUzOWUgYXMg
dGhlIHRlc3Qgd291bGQgYnJlYWsgb3RoZXJ3aXNlIHdpdGggdGhlIG5ldyB3ZWJpZGwyLmpzLiAK
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi8qOgorICAg
ICAgICBSZS1zeW5jIHdlYmlkbDIuanMgZnJvbSB1cHN0cmVhbSB3ZWItcGxhdGZvcm0tdGVzdHMg
MTEyMTY1MzllLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3VybC9pbnRlcmZhY2Vz
LmFueS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3VybC9pbnRl
cmZhY2VzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICBSZWJhc2VsaW5lIHRlc3Rz
IHRoYXQgYXJlIG5vdyBhY3R1YWxseSB3b3JraW5nLiBUaGV5IHJlbGllZCBvbiB0aGlzIG5ldyB3
ZWJpZGwyLmpzIHZlcnNpb24uCisKKzIwMTctMDUtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKwogICAgICAgICBSZS1zeW5jIHVybCB3ZWItcGxhdGZvcm0tdGVzdHMKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjMzMwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9oZWFkZXJzL2hlYWRlcnMtaWRsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9oZWFkZXJzL2hlYWRlcnMtaWRsLmh0bWwKaW5k
ZXggZmUyNGZhMzRjNmE1MGUwZDg3ZjlkZjI4MmQ2OGM1M2FlMzE1YTdiYy4uMDc4YzlkMDE0OTUx
ZWI0NzU4Zjg0YmE1NzBlZjBiNDg3NDAwY2Y1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvaGVhZGVycy9oZWFkZXJzLWlk
bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2hlYWRlcnMvaGVhZGVycy1pZGwuaHRtbApAQCAtMTIsMTAgKzEyLDEwIEBACiAg
IDwvaGVhZD4KICAgPGJvZHk+CiAgICAgPHNjcmlwdCBpZD0iaGVhZGVycy1pZGwiIHR5cGU9InRl
eHQvcGxhaW4iPgotICAgICAgdHlwZWRlZiAoc2VxdWVuY2U8c2VxdWVuY2U8Qnl0ZVN0cmluZz4+
IG9yIHJlY29yZDxCeXRlU3RyaW5nPikgSGVhZGVyc0luaXQ7CisgICAgICB0eXBlZGVmIChzZXF1
ZW5jZTxzZXF1ZW5jZTxCeXRlU3RyaW5nPj4gb3IgcmVjb3JkPEJ5dGVTdHJpbmcsIEJ5dGVTdHJp
bmc+KSBIZWFkZXJzSW5pdDsKIAogICAgICAgW0NvbnN0cnVjdG9yKG9wdGlvbmFsIEhlYWRlcnNJ
bml0IGluaXQpLAotICAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlcildCisgICAgICAgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlcildCiAgICAgICBpbnRlcmZhY2UgSGVhZGVycyB7CiAgICAgICAgIHZv
aWQgYXBwZW5kKEJ5dGVTdHJpbmcgbmFtZSwgQnl0ZVN0cmluZyB2YWx1ZSk7CiAgICAgICAgIHZv
aWQgZGVsZXRlKEJ5dGVTdHJpbmcgbmFtZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL1JFQURNRS5tZCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvUkVBRE1FLm1kCmluZGV4IGY3ZDAzZmNkZWYzMGMzOWI3ODcwOTFkY2Y0MGIwNjdjYTY5
NTgyY2MuLjVkMTI4ZWQyN2NhODdjYzc2ZjE1Y2FlYjYzYzljZWVjMGQ4YWE3OTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvUkVBRE1FLm1kCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvUkVBRE1FLm1kCkBAIC0zLDE2ICszLDE1IEBA
CiAKIFshW05QTSB2ZXJzaW9uXShodHRwczovL2JhZGdlLmZ1cnkuaW8vanMvd2ViaWRsMi5wbmcp
XShodHRwOi8vYmFkZ2UuZnVyeS5pby9qcy93ZWJpZGwyKQogCi1QdXJwb3NlCi09PT09PT09Cisj
IyBQdXJwb3NlCiAKIFRoaXMgaXMgYSBwYXJzZXIgZm9yIHRoZSBbV2ViSURMXShodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJJREwvKSBsYW5ndWFnZS4gSWYKIHlvdSBkb24ndCBrbm93
IHdoYXQgdGhhdCBpcywgdGhlbiB5b3UgcHJvYmFibHkgZG9uJ3QgbmVlZCBpdC4gSXQgaXMgbWVh
bnQgdG8gYmUgdXNlZAogYm90aCBpbiBOb2RlIGFuZCBpbiB0aGUgYnJvd3NlciAodGhlIHBhcnNl
ciBsaWtlbHkgd29ya3MgaW4gb3RoZXIgSlMgZW52aXJvbm1lbnRzLCBidXQKIG5vdCB0aGUgdGVz
dCBzdWl0ZSkuCiAKLVdoYXQgb2YgdjE/Ci0tLS0tLS0tLS0tLQorIyMjIFdoYXQgb2YgdjE/CisK
IFRoZXJlIHdhcyBhIHByZXZpb3VzIGluY2FybmF0aW9uIG9mIHRoaXMgcHJvamVjdC4gSSBoYWQg
d3JpdHRlbiBpdCBpbiB0aGUgbW9zdCBxdWljawogYW5kIGRpcnR5IG1hbm5lciB0aGF0IHdhcyBo
YW5keSBiZWNhdXNlIEkgcmVxdWlyZWQgaXQgYXMgYSBkZXBlbmRlbmN5IGluIGFuIGV4cGVyaW1l
bnQuCiBBcyB0aGVzZSB0aGluZ3MgdGVuZCB0byBoYXBwZW4sIHNvbWUgcGVvcGxlIHN0YXJ0ZWQg
dXNpbmcgdGhhdCwgd2hpY2ggdGhlbiBoYWQgdG8gYmUKQEAgLTIwLDY1ICsxOSw3MiBAQCBtYWlu
dGFpbmVkLiBCdXQgc2luY2UgaXQgd2FzIG5vdCBidWlsdCBvbiBzb2xpZCBmb3VuZGF0aW9ucywg
aXQgd2FzIHBhaW5mdWwgdG8gawogdXAgdG8gZGF0ZSB3aXRoIHRoZSBzcGVjaWZpY2F0aW9uLCB3
aGljaCBpcyBhIGJpdCBvZiBhIG1vdmluZyB0YXJnZXQuCiAKIFNvIEkgc3RhcnRlZCBmcm9tIHNj
cmF0Y2guIENvbXBhcmVkIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uICh3aGljaCB1c2VkIGEgcGFy
c2VyIGdlbmVyYXRvcikKLXRoaXMgb25lIGlzIGFib3V0IDZ4IGxlc3MgY29kZSAod2hpY2ggdHJh
bnNsYXRlcyB0byA0eCBzbWFsbGVyIG1pbmlmaWVkIG9yIDJ4IHNtYWxsZXIgCit0aGlzIG9uZSBp
cyBhYm91dCA2eCBsZXNzIGNvZGUgKHdoaWNoIHRyYW5zbGF0ZXMgdG8gNHggc21hbGxlciBtaW5p
ZmllZCBvciAyeCBzbWFsbGVyCiBtaW5pemlwcGVkKSBhbmQgNHggZmFzdGVyLiBUaGUgdGVzdCBz
dWl0ZSBpcyByZWFzb25hYmx5IGNvbXBsZXRlICg5NSUgY292ZXJhZ2UpLCBtdWNoIG1vcmUKIHRo
YW4gcHJldmlvdXNseS4gVGhpcyB2ZXJzaW9uIGlzIHVwIHRvIGRhdGUgd2l0aCBXZWJJREwsIHJh
dGhlciB0aGFuIGEgY291cGxlIHllYXJzJyBiZWhpbmQuCiBJdCBhbHNvIGhhcyAqZmFyKiBiZXR0
ZXIgZXJyb3IgcmVwb3J0aW5nLgogCi1UaGUgQVNUIHlvdSBnZXQgZnJvbSBwYXJzaW5nIGlzIHZl
cnkgc2ltaWxhciB0byB0aGUgb25lIHlvdSBnb3QgaW4gdjEsIGJ1dCBzb21lIGFkanVzdG1lbnRz
IAotaGF2ZSBiZWVuIG1hZGUgaW4gb3JkZXIgdG8gYmUgbW9yZSBzeXN0ZW1hdGljLCBhbmQgdG8g
bWFwIGJldHRlciB0byB3aGF0J3MgYWN0dWFsbHkgaW4gdGhlIHNwZWMgCitUaGUgQVNUIHlvdSBn
ZXQgZnJvbSBwYXJzaW5nIGlzIHZlcnkgc2ltaWxhciB0byB0aGUgb25lIHlvdSBnb3QgaW4gdjEs
IGJ1dCBzb21lIGFkanVzdG1lbnRzCitoYXZlIGJlZW4gbWFkZSBpbiBvcmRlciB0byBiZSBtb3Jl
IHN5c3RlbWF0aWMsIGFuZCB0byBtYXAgYmV0dGVyIHRvIHdoYXQncyBhY3R1YWxseSBpbiB0aGUg
c3BlYwogbm93LiBJZiB5b3UgdXNlZCB2MSwgeW91IHdpbGwgbmVlZCB0byB0d2VhayB5b3VyIGNv
ZGUgYnV0IHRoZSByZXN1bHQgb3VnaHQgdG8gYmUgc2ltcGxlciBhbmQKLXlvdSBvdWdodCB0byBi
ZSBhYmxlIHRvIGJlIGEgZmFpciBiaXQgbGVzcyBkZWZlbnNpdmUgYWdhaW5zdCBpcnJlZ3VsYXJp
dGllcyBpbiB0aGUgd2F5IAoreW91IG91Z2h0IHRvIGJlIGFibGUgdG8gYmUgYSBmYWlyIGJpdCBs
ZXNzIGRlZmVuc2l2ZSBhZ2FpbnN0IGlycmVndWxhcml0aWVzIGluIHRoZSB3YXkKIGluZm9ybWF0
aW9uIGlzIHJlcHJlc2VudGVkLgogCi1JbnN0YWxsYXRpb24KLT09PT09PT09PT09PQorIyMgSW5z
dGFsbGF0aW9uCiAKIEp1c3QgdGhlIHVzdWFsLiBGb3IgTm9kZToKIAotICAgIG5wbSBpbnN0YWxs
IHdlYmlkbDIKLSAgICAKK2BgYEJhc2gKK25wbSBpbnN0YWxsIHdlYmlkbDIKK2BgYAorCiBJbiB0
aGUgYnJvd3NlcjoKIAotICAgIDxzY3JpcHQgc3JjPSd3ZWJpZGwyLmpzJz48L3NjcmlwdD4KK2Bg
YEhUTUwKKzxzY3JpcHQgc3JjPSd3ZWJpZGwyLmpzJz48L3NjcmlwdD4KK2BgYAorCisjIyBEb2N1
bWVudGF0aW9uCiAKLURvY3VtZW50YXRpb24KLT09PT09PT09PT09PT0KIAogVGhlIEFQSSB0byBX
ZWJJREwyIGlzIHRyaXZpYWw6IHlvdSBwYXJzZSBhIHN0cmluZyBvZiBXZWJJREwgYW5kIGl0IHJl
dHVybnMgYSBzeW50YXggdHJlZS4KIAotUGFyc2luZwotLS0tLS0tLQorIyMjIFBhcnNpbmcKKwog
SW4gTm9kZSwgdGhhdCBoYXBwZW5zIHdpdGg6CiAKLSAgICB2YXIgV2ViSURMMiA9IHJlcXVpcmUo
IndlYmlkbDIiKTsKLSAgICB2YXIgdHJlZSA9IFdlYklETDIucGFyc2UoInN0cmluZyBvZiBXZWJJ
REwiKTsKK2BgYEpTCit2YXIgV2ViSURMMiA9IHJlcXVpcmUoIndlYmlkbDIiKTsKK3ZhciB0cmVl
ID0gV2ViSURMMi5wYXJzZSgic3RyaW5nIG9mIFdlYklETCIpOworYGBgCiAKIEluIHRoZSBicm93
c2VyOgorYGBgSFRNTAorPHNjcmlwdCBzcmM9J3dlYmlkbDIuanMnPjwvc2NyaXB0PgorPHNjcmlw
dD4KKyAgdmFyIHRyZWUgPSBXZWJJREwyLnBhcnNlKCJzdHJpbmcgb2YgV2ViSURMIik7Cis8L3Nj
cmlwdD4KK2BgYAogCi0gICAgPHNjcmlwdCBzcmM9J3dlYmlkbDIuanMnPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQ+Ci0gICAgICB2YXIgdHJlZSA9IFdlYklETDIucGFyc2UoInN0cmluZyBvZiBXZWJJ
REwiKTsKLSAgICA8L3NjcmlwdD4KLQotQWR2YW5jZWQgUGFyc2luZwotLS0tLS0tLS0tLS0tLS0t
LQorIyMjIEFkdmFuY2VkIFBhcnNpbmcKIAogYHBhcnNlKClgIGNhbiBvcHRpb25hbGx5IGFjY2Vw
dCBhIHNlY29uZCBwYXJhbWV0ZXIsIGFuIG9wdGlvbnMgb2JqZWN0LCB3aGljaCBjYW4gYmUgdXNl
ZCB0bwogbW9kaWZ5IHBhcnNpbmcgYmVoYXZpb3IuCiAKIFRoZSBmb2xsb3dpbmcgb3B0aW9ucyBh
cmUgcmVjb2duaXplZDoKLWBgYGphdmFzY3JpcHQKK2BgYEpTCiB7Ci0gICAgYWxsb3dOZXN0ZWRU
eXBlZGVmczogZmFsc2UgIyAKKyAgYWxsb3dOZXN0ZWRUeXBlZGVmczogZmFsc2UKIH0KIGBgYAor
CiBBbmQgdGhlaXIgbWVhbmluZ3MgYXJlIGFzIGZvbGxvd3M6CiAKLSogYGFsbG93TmVzdGVkVHlw
ZWRlZnNgOiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgcGFyc2VyIHNob3VsZCBhY2Nl
cHQgYHR5cGVkZWZgcyBhcyB2YWxpZCBtZW1iZXJzIG9mIGBpbnRlcmZhY2Vgcy4gVGhpcyBpcyBu
b24tc3RhbmRhcmQgc3ludGF4IGFuZCB0aGVyZWZvcmUgdGhlIGRlZmF1bHQgaXMgYGZhbHNlYC4K
KyogYGFsbG93TmVzdGVkVHlwZWRlZnNgOiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUg
cGFyc2VyIHNob3VsZCBhY2NlcHQgYHR5cGVkZWZgcyBhcyB2YWxpZCBtZW1iZXJzIG9mIGBpbnRl
cmZhY2Vgcy4KK1RoaXMgaXMgbm9uLXN0YW5kYXJkIHN5bnRheCBhbmQgdGhlcmVmb3JlIHRoZSBk
ZWZhdWx0IGlzIGBmYWxzZWAuCisKKyMjIyBFcnJvcnMKIAotRXJyb3JzCi0tLS0tLS0KIFdoZW4g
dGhlcmUgaXMgYSBzeW50YXggZXJyb3IgaW4gdGhlIFdlYklETCwgaXQgdGhyb3dzIGFuIGV4Y2Vw
dGlvbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93aW5nCiBwcm9wZXJ0aWVzOgogCkBAIC05MSw4ICs5
Nyw4IEBAIHByb3BlcnRpZXM6CiBUaGUgZXhjZXB0aW9uIGFsc28gaGFzIGEgYHRvU3RyaW5nKClg
IG1ldGhvZCB0aGF0IGhvcGVmdWxseSBzaG91bGQgcHJvZHVjZSBhIGRlY2VudAogZXJyb3IgbWVz
c2FnZS4KIAotQVNUIChBYnN0cmFjdCBTeW50YXggVHJlZSkKLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisjIyMgQVNUIChBYnN0cmFjdCBTeW50YXggVHJlZSkKKwogVGhlIGBwYXJzZSgpYCBt
ZXRob2QgcmV0dXJucyBhIHRyZWUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcGFyc2UgdHJlZSBv
ZiB0aGUgSURMLgogQ29tbWVudCBhbmQgd2hpdGUgc3BhY2UgYXJlIG5vdCByZXByZXNlbnRlZCBp
biB0aGUgQVNULgogCkBAIC0xMDYsMzUgKzExMiwzNCBAQCBUaGlzIHN0cnVjdHVyZSBpcyB1c2Vk
IGluIG1hbnkgb3RoZXIgcGxhY2VzIChvcGVyYXRpb24gcmV0dXJuIHR5cGVzLCBhcmd1bWVudCB0
eQogSXQgY2FwdHVyZXMgYSBXZWJJREwgdHlwZSB3aXRoIGEgbnVtYmVyIG9mIG9wdGlvbnMuIFR5
cGVzIGxvb2sgbGlrZSB0aGlzIGFuZCBhcmUgdHlwaWNhbGx5CiBhdHRhY2hlZCB0byBhIGZpZWxk
IGNhbGxlZCBgaWRsVHlwZWA6CiAKLSAgICB7Ci0gICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAot
ICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAg
ICAgICAiYXJyYXkiOiBmYWxzZSwKLSAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICJp
ZGxUeXBlIjogInZvaWQiCi0gICAgfQorYGBgSlMKK3sKKyAgImFycmF5IjogZmFsc2UsCisgICJn
ZW5lcmljIjogbnVsbCwKKyAgImlkbFR5cGUiOiAidm9pZCIsCisgICJudWxsYWJsZSI6IGZhbHNl
LAorICAidW5pb24iOiBmYWxzZSwKK30KK2BgYAogCiBXaGVyZSB0aGUgZmllbGRzIGFyZSBhcyBm
b2xsb3dzOgogCi0qIGBzZXF1ZW5jZWA6IEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMg
aXMgYSBzZXF1ZW5jZSBvciBub3QuIERlcHJlY2F0ZWQuIFVzZQotICBgZ2VuZXJpY2AgaW5zdGVh
ZC4KLSogYGdlbmVyaWNgOiBTdHJpbmcgaW5kaWNhdGluZyB0aGUgZ2VuZXJpYyB0eXBlIChlLmcu
ICJQcm9taXNlIiwgInNlcXVlbmNlIikuIGBudWxsYAotICBvdGhlcndpc2UuCi0qIGBudWxsYWJs
ZWA6IEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgbnVsbGFibGUgb3Igbm90Lgog
KiBgYXJyYXlgOiBFaXRoZXIgYGZhbHNlYCB0byBpbmRpY2F0ZSB0aGF0IGl0IGlzIG5vdCBhbiBh
cnJheSwgb3IgYSBudW1iZXIgZm9yIHRoZSBsZXZlbCBvZgogICBhcnJheSBuZXN0aW5nLgotKiBg
dW5pb25gOiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGlzIGEgdW5pb24gdHlwZSBv
ciBub3QuCisqIGBnZW5lcmljYDogU3RyaW5nIGluZGljYXRpbmcgdGhlIGdlbmVyaWMgdHlwZSAo
ZS5nLiAiUHJvbWlzZSIsICJzZXF1ZW5jZSIpLiBgbnVsbGAKKyAgb3RoZXJ3aXNlLgogKiBgaWRs
VHlwZWA6IENhbiBiZSBkaWZmZXJlbnQgdGhpbmdzIGRlcGVuZGluZyBvbiBjb250ZXh0LiBJbiBt
b3N0IGNhc2VzLCB0aGlzIHdpbGwganVzdAogICBiZSBhIHN0cmluZyB3aXRoIHRoZSB0eXBlIG5h
bWUuIEJ1dCB0aGUgcmVhc29uIHRoaXMgZmllbGQgaXNuJ3QgY2FsbGVkICJ0eXBlTmFtZSIgaXMK
ICAgYmVjYXVzZSBpdCBjYW4gdGFrZSBtb3JlIGNvbXBsZXggdmFsdWVzLiBJZiB0aGUgdHlwZSBp
cyBhIHVuaW9uLCB0aGVuIHRoaXMgY29udGFpbnMgYW4KICAgYXJyYXkgb2YgdGhlIHR5cGVzIGl0
IHVuaXRlcy4gSWYgaXQgaXMgYSBnZW5lcmljIHR5cGUsIGl0IGNvbnRhaW5zIHRoZSBJREwgdHlw
ZQogICBkZXNjcmlwdGlvbiBmb3IgdGhlIHR5cGUgaW4gdGhlIHNlcXVlbmNlLCB0aGUgZXZlbnR1
YWwgdmFsdWUgb2YgdGhlIHByb21pc2UsIGV0Yy4KKyogYG51bGxhYmxlYDogQm9vbGVhbiBpbmRp
Y2F0aW5nIHdoZXRoZXIgdGhpcyBpcyBudWxsYWJsZSBvciBub3QuCisqIGB1bmlvbmA6IEJvb2xl
YW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgaXMgYSB1bmlvbiB0eXBlIG9yIG5vdC4KIAogIyMj
IyBJbnRlcmFjdGlvbnMgYmV0d2VlbiBgbnVsbGFibGVgIGFuZCBgYXJyYXlgCiAKIEEgbW9yZSBj
b21wbGV4IGRhdGEgbW9kZWwgZm9yIG91ciBBU1Qgd291bGQgbGlrZWx5IHJlcHJlc2VudCBgRm9v
W11bXVtdYCBhcyBhIHNlcmllcyBvZgotbmVzdGVkIHR5cGVzIGZvdXIgbGV2ZWxzIGRlZXAgd2l0
aCB0aHJlZSBhbm9ueW1vdXMgYXJyYXkgdHlwZXMgZXZlbnR1YWxseSBjb250YWluaW5nIGEgCitu
ZXN0ZWQgdHlwZXMgZm91ciBsZXZlbHMgZGVlcCB3aXRoIHRocmVlIGFub255bW91cyBhcnJheSB0
eXBlcyBldmVudHVhbGx5IGNvbnRhaW5pbmcgYQogYEZvb2AgdHlwZS4gQnV0IGV4cGVyaWVuY2Ug
c2hvd3MgdGhhdCBzdWNoIHN0cnVjdHVyZXMgYXJlIGN1bWJlcnNvbWUgdG8gdXNlLCBhbmQgc28g
d2UKIGhhdmUgYSBzaW1wbGVyIG1vZGVsIGluIHdoaWNoIHRoZSBkZXB0aCBvZiB0aGUgYXJyYXkg
aXMgc3BlY2lmaWVkIHdpdGggdGhlIGBhcnJheWAgZmllbGQuCiAKQEAgLTE2NywyMiArMTcyLDIz
IEBAIGEgYD9gIGF0IHRoZSBlbmQuCiAjIyMgSW50ZXJmYWNlCiBJbnRlcmZhY2VzIGxvb2sgbGlr
ZSB0aGlzOgogCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2UiLAotICAgICAgICAi
bmFtZSI6ICJBbmltYWwiLAotICAgICAgICAicGFydGlhbCI6IGZhbHNlLAotICAgICAgICAibWVt
YmVycyI6IFsuLi5dLAotICAgICAgICAiaW5oZXJpdGFuY2UiOiBudWxsLAotICAgICAgICAiZXh0
QXR0cnMiOiBbLi4uXQotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJpbnRlcmZhY2Ui
LAotICAgICAgICAibmFtZSI6ICJIdW1hbiIsCi0gICAgICAgICJwYXJ0aWFsIjogZmFsc2UsCi0g
ICAgICAgICJtZW1iZXJzIjogWy4uLl0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6ICJBbmltYWwi
LAotICAgICAgICAiZXh0QXR0cnMiOiBbLi4uXQotICAgIH0KK2BgYEpTCit7CisgICJ0eXBlIjog
ImludGVyZmFjZSIsCisgICJuYW1lIjogIkFuaW1hbCIsCisgICJwYXJ0aWFsIjogZmFsc2UsCisg
ICJtZW1iZXJzIjogWy4uLl0sCisgICJpbmhlcml0YW5jZSI6IG51bGwsCisgICJleHRBdHRycyI6
IFsuLi5dCit9LCB7CisgICJ0eXBlIjogImludGVyZmFjZSIsCisgICJuYW1lIjogIkh1bWFuIiwK
KyAgInBhcnRpYWwiOiBmYWxzZSwKKyAgIm1lbWJlcnMiOiBbLi4uXSwKKyAgImluaGVyaXRhbmNl
IjogIkFuaW1hbCIsCisgICJleHRBdHRycyI6IFsuLi5dCit9CitgYGAKIAogVGhlIGZpZWxkcyBh
cmUgYXMgZm9sbG93czoKIApAQCAtMjA0LDIwICsyMTAsMjIgQEAgdGhlaXIgYHR5cGVgIGZpZWxk
IGlzICJjYWxsYmFjayBpbnRlcmZhY2UiLgogCiBBIGNhbGxiYWNrIGxvb2tzIGxpa2UgdGhpczoK
IAotICB7Ci0gICAgICAidHlwZSI6ICJjYWxsYmFjayIsCi0gICAgICAibmFtZSI6ICJBc3luY09w
ZXJhdGlvbkNhbGxiYWNrIiwKLSAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICJzZXF1ZW5j
ZSI6IGZhbHNlLAotICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAibnVsbGFi
bGUiOiBmYWxzZSwKLSAgICAgICAgICAiYXJyYXkiOiBmYWxzZSwKLSAgICAgICAgICAidW5pb24i
OiBmYWxzZSwKLSAgICAgICAgICAiaWRsVHlwZSI6ICJ2b2lkIgotICAgICAgfSwKLSAgICAgICJh
cmd1bWVudHMiOiBbLi4uXSwKLSAgICAgICJleHRBdHRycyI6IFtdCi0gIH0KK2BgYEpTCit7Cisg
ICJ0eXBlIjogImNhbGxiYWNrIiwKKyAgIm5hbWUiOiAiQXN5bmNPcGVyYXRpb25DYWxsYmFjayIs
CisgICJpZGxUeXBlIjogeworICAgICJzZXF1ZW5jZSI6IGZhbHNlLAorICAgICJnZW5lcmljIjog
bnVsbCwKKyAgICAibnVsbGFibGUiOiBmYWxzZSwKKyAgICAiYXJyYXkiOiBmYWxzZSwKKyAgICAi
dW5pb24iOiBmYWxzZSwKKyAgICAiaWRsVHlwZSI6ICJ2b2lkIgorICB9LAorICAiYXJndW1lbnRz
IjogWy4uLl0sCisgICJleHRBdHRycyI6IFtdCit9CitgYGAKIAogVGhlIGZpZWxkcyBhcmUgYXMg
Zm9sbG93czoKIApAQCAtMjMxLDMzICsyMzksMzMgQEAgVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93
czoKIAogQSBkaWN0aW9uYXJ5IGxvb2tzIGxpa2UgdGhpczoKIAotICAgIHsKLSAgICAgICAgInR5
cGUiOiAiZGljdGlvbmFyeSIsCi0gICAgICAgICJuYW1lIjogIlBhaW50T3B0aW9ucyIsCi0gICAg
ICAgICJwYXJ0aWFsIjogZmFsc2UsCi0gICAgICAgICJtZW1iZXJzIjogWwotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICJ0eXBlIjogImZpZWxkIiwKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJmaWxsUGF0dGVybiIsCi0gICAgICAgICAgICAgICAgInJlcXVpcmVkIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJzZXF1ZW5j
ZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICJhcnJh
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAiRE9NU3RyaW5nIgotICAgICAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10sCi0gICAgICAgICAgICAgICAgImRlZmF1bHQi
OiB7Ci0gICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAg
ICAgICAgICJ2YWx1ZSI6ICJibGFjayIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCi0gICAgICAgICJleHRB
dHRycyI6IFtdCitgYGBKUworeworICAidHlwZSI6ICJkaWN0aW9uYXJ5IiwKKyAgIm5hbWUiOiAi
UGFpbnRPcHRpb25zIiwKKyAgInBhcnRpYWwiOiBmYWxzZSwKKyAgIm1lbWJlcnMiOiBbeworICAg
ICJ0eXBlIjogImZpZWxkIiwKKyAgICAibmFtZSI6ICJmaWxsUGF0dGVybiIsCisgICAgInJlcXVp
cmVkIjogZmFsc2UsCisgICAgImlkbFR5cGUiOiB7CisgICAgICAic2VxdWVuY2UiOiBmYWxzZSwK
KyAgICAgICJnZW5lcmljIjogbnVsbCwKKyAgICAgICJudWxsYWJsZSI6IHRydWUsCisgICAgICAi
YXJyYXkiOiBmYWxzZSwKKyAgICAgICJ1bmlvbiI6IGZhbHNlLAorICAgICAgImlkbFR5cGUiOiAi
RE9NU3RyaW5nIgorICAgIH0sCisgICAgImV4dEF0dHJzIjogW10sCisgICAgImRlZmF1bHQiOiB7
CisgICAgICAidHlwZSI6ICJzdHJpbmciLAorICAgICAgInZhbHVlIjogImJsYWNrIgogICAgIH0K
KyAgfV0sCisgICJpbmhlcml0YW5jZSI6IG51bGwsCisgICJleHRBdHRycyI6IFtdCit9CitgYGAK
IAogVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKIApAQCAtMjgxLDI3ICsyODksMjcgQEAgQWxs
IHRoZSBtZW1iZXJzIGFyZSBmaWVsZHMgYXMgZm9sbG93czoKIAogQW4gZXhjZXB0aW9uIGxvb2tz
IGxpa2UgdGhpczoKIAotICAgIHsKLSAgICAgICAgInR5cGUiOiAiZXhjZXB0aW9uIiwKLSAgICAg
ICAgIm5hbWUiOiAiSGllcmFyY2h5UmVxdWVzdEVycm9yIiwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiZmllbGQiLAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImNvZGUiLAotICAgICAgICAgICAgICAgICJpZGxUeXBlIjogewot
ICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAgICAgImFycmF5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJ1bnNp
Z25lZCBzaG9ydCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICJleHRBdHRy
cyI6IFtdCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAgICAgICJpbmhlcml0YW5jZSI6
ICJET01FeGNlcHRpb24iLAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KK2BgYEpTCit7
CisgICJ0eXBlIjogImV4Y2VwdGlvbiIsCisgICJuYW1lIjogIkhpZXJhcmNoeVJlcXVlc3RFcnJv
ciIsCisgICJtZW1iZXJzIjogW3sKKyAgICAidHlwZSI6ICJmaWVsZCIsCisgICAgIm5hbWUiOiAi
Y29kZSIsCisgICAgImlkbFR5cGUiOiB7CisgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKKyAgICAg
ICJnZW5lcmljIjogbnVsbCwKKyAgICAgICJudWxsYWJsZSI6IGZhbHNlLAorICAgICAgImFycmF5
IjogZmFsc2UsCisgICAgICAidW5pb24iOiBmYWxzZSwKKyAgICAgICJpZGxUeXBlIjogInVuc2ln
bmVkIHNob3J0IgorICAgIH0sCisgICAgImV4dEF0dHJzIjogW10KKyAgfV0sCisgICJpbmhlcml0
YW5jZSI6ICJET01FeGNlcHRpb24iLAorICAiZXh0QXR0cnMiOiBbXQorfQorYGBgCiAKIFRoZSBm
aWVsZHMgYXJlIGFzIGZvbGxvd3M6CiAKQEAgLTMyMiwxNiArMzMwLDE4IEBAIE1lbWJlcnMgdGhh
dCBhcmVuJ3QgW2NvbnN0YW50c10oI2NvbnN0YW50cykgaGF2ZSB0aGUgZm9sbG93aW5nIGZpZWxk
czoKIAogQW4gZW51bSBsb29rcyBsaWtlIHRoaXM6CiAKLSAgICB7Ci0gICAgICAgICJ0eXBlIjog
ImVudW0iLAotICAgICAgICAibmFtZSI6ICJNZWFsVHlwZSIsCi0gICAgICAgICJ2YWx1ZXMiOiBb
Ci0gICAgICAgICAgICAicmljZSIsCi0gICAgICAgICAgICAibm9vZGxlcyIsCi0gICAgICAgICAg
ICAib3RoZXIiCi0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQorYGBg
SlMKK3sKKyAgInR5cGUiOiAiZW51bSIsCisgICJuYW1lIjogIk1lYWxUeXBlIiwKKyAgInZhbHVl
cyI6IFsKKyAgICAicmljZSIsCisgICAgIm5vb2RsZXMiLAorICAgICJvdGhlciIKKyAgXSwKKyAg
ImV4dEF0dHJzIjogW10KK30KK2BgYAogCiBUaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgogCkBA
IC0zNDQsMjcgKzM1NCwzMCBAQCBUaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgogCiBBIHR5cGVk
ZWYgbG9va3MgbGlrZSB0aGlzOgogCi0gICAgewotICAgICAgICAidHlwZSI6ICJ0eXBlZGVmIiwK
LSAgICAgICAgInR5cGVFeHRBdHRycyI6IFtdLAotICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAg
ICAgICAgICJzZXF1ZW5jZSI6IHRydWUsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5j
ZSIsCi0gICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJhcnJheSI6
IGZhbHNlLAotICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlw
ZSI6IHsKLSAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0g
ICAgICAgICAgICAgICAgImFycmF5IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInVuaW9uIjog
ZmFsc2UsCi0gICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiUG9pbnQiCi0gICAgICAgICAgICB9
Ci0gICAgICAgIH0sCi0gICAgICAgICJuYW1lIjogIlBvaW50U2VxdWVuY2UiLAotICAgICAgICAi
ZXh0QXR0cnMiOiBbXQorYGBgSlMKK3sKKyAgInR5cGUiOiAidHlwZWRlZiIsCisgICJ0eXBlRXh0
QXR0cnMiOiBbXSwKKyAgImlkbFR5cGUiOiB7CisgICAgInNlcXVlbmNlIjogdHJ1ZSwKKyAgICAi
Z2VuZXJpYyI6ICJzZXF1ZW5jZSIsCisgICAgIm51bGxhYmxlIjogZmFsc2UsCisgICAgImFycmF5
IjogZmFsc2UsCisgICAgInVuaW9uIjogZmFsc2UsCisgICAgImlkbFR5cGUiOiB7CisgICAgICAi
c2VxdWVuY2UiOiBmYWxzZSwKKyAgICAgICJnZW5lcmljIjogbnVsbCwKKyAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAorICAgICAgImFycmF5IjogZmFsc2UsCisgICAgICAidW5pb24iOiBmYWxzZSwK
KyAgICAgICJpZGxUeXBlIjogIlBvaW50IgogICAgIH0KKyAgfSwKKyAgIm5hbWUiOiAiUG9pbnRT
ZXF1ZW5jZSIsCisgICJleHRBdHRycyI6IFtdCit9CitgYGAKKwogCiBUaGUgZmllbGRzIGFyZSBh
cyBmb2xsb3dzOgogCkBAIC0zNzksMTIgKzM5MiwxNCBAQCB0eXBlIHJhdGhlciB0aGFuIHRvIHRo
ZSB0eXBlZGVmIGFzIGEgd2hvbGUuCiAKIEFuIGltcGxlbWVudHMgZGVmaW5pdGlvbiBsb29rcyBs
aWtlIHRoaXM6CiAKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImltcGxlbWVudHMiLAotICAgICAg
ICAidGFyZ2V0IjogIk5vZGUiLAotICAgICAgICAiaW1wbGVtZW50cyI6ICJFdmVudFRhcmdldCIs
Ci0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQorYGBgSlMKK3sKKyAgInR5cGUiOiAiaW1w
bGVtZW50cyIsCisgICJ0YXJnZXQiOiAiTm9kZSIsCisgICJpbXBsZW1lbnRzIjogIkV2ZW50VGFy
Z2V0IiwKKyAgImV4dEF0dHJzIjogW10KK30KK2BgYAogCiBUaGUgZmllbGRzIGFyZSBhcyBmb2xs
b3dzOgogCkBAIC0zOTYsNDMgKzQxMSw0MiBAQCBUaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgog
IyMjIE9wZXJhdGlvbiBNZW1iZXIKIAogQW4gb3BlcmF0aW9uIGxvb2tzIGxpa2UgdGhpczoKLQot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAib3BlcmF0aW9uIiwKLSAgICAgICAgImdldHRlciI6IGZh
bHNlLAotICAgICAgICAic2V0dGVyIjogZmFsc2UsCi0gICAgICAgICJjcmVhdG9yIjogZmFsc2Us
Ci0gICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0gICAgICAgICJsZWdhY3ljYWxsZXIiOiBmYWxz
ZSwKLSAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxz
ZSwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwK
LSAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJsZSI6IGZh
bHNlLAotICAgICAgICAgICAgImFycmF5IjogZmFsc2UsCi0gICAgICAgICAgICAidW5pb24iOiBm
YWxzZSwKLSAgICAgICAgICAgICJpZGxUeXBlIjogInZvaWQiCi0gICAgICAgIH0sCi0gICAgICAg
ICJuYW1lIjogImludGVyc2VjdGlvbiIsCi0gICAgICAgICJhcmd1bWVudHMiOiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgIm9wdGlvbmFsIjogZmFsc2UsCi0gICAgICAgICAgICAg
ICAgInZhcmlhZGljIjogdHJ1ZSwKLSAgICAgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKLSAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsKLSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNl
IjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICJhcnJh
eSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIKLSAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICJuYW1lIjogImludHMiCi0gICAgICAgICAgICB9Ci0gICAgICAgIF0sCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQorYGBgSlMKK3sKKyAgInR5cGUiOiAib3BlcmF0aW9u
IiwKKyAgImdldHRlciI6IGZhbHNlLAorICAic2V0dGVyIjogZmFsc2UsCisgICJjcmVhdG9yIjog
ZmFsc2UsCisgICJkZWxldGVyIjogZmFsc2UsCisgICJsZWdhY3ljYWxsZXIiOiBmYWxzZSwKKyAg
InN0YXRpYyI6IGZhbHNlLAorICAic3RyaW5naWZpZXIiOiBmYWxzZSwKKyAgImlkbFR5cGUiOiB7
CisgICAgInNlcXVlbmNlIjogZmFsc2UsCisgICAgImdlbmVyaWMiOiBudWxsLAorICAgICJudWxs
YWJsZSI6IGZhbHNlLAorICAgICJhcnJheSI6IGZhbHNlLAorICAgICJ1bmlvbiI6IGZhbHNlLAor
ICAgICJpZGxUeXBlIjogInZvaWQiCisgIH0sCisgICJuYW1lIjogImludGVyc2VjdGlvbiIsCisg
ICJhcmd1bWVudHMiOiBbeworICAgICJvcHRpb25hbCI6IGZhbHNlLAorICAgICJ2YXJpYWRpYyI6
IHRydWUsCisgICAgImV4dEF0dHJzIjogW10sCisgICAgImlkbFR5cGUiOiB7CisgICAgICAic2Vx
dWVuY2UiOiBmYWxzZSwKKyAgICAgICJnZW5lcmljIjogbnVsbCwKKyAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAorICAgICAgImFycmF5IjogZmFsc2UsCisgICAgICAidW5pb24iOiBmYWxzZSwKKyAg
ICAgICJpZGxUeXBlIjogImxvbmciCisgICAgfSwKKyAgICAibmFtZSI6ICJpbnRzIgorICB9XSwK
KyAgImV4dEF0dHJzIjogW10KK30KK2BgYAogCiBUaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgog
CkBAIC00NTMsMjQgKzQ2NywyNiBAQCBUaGUgZmllbGRzIGFyZSBhcyBmb2xsb3dzOgogCiBBbiBh
dHRyaWJ1dGUgbWVtYmVyIGxvb2tzIGxpa2UgdGhpczoKIAotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiYXR0cmlidXRlIiwKLSAgICAgICAgInN0YXRpYyI6IGZhbHNlLAotICAgICAgICAic3RyaW5n
aWZpZXIiOiBmYWxzZSwKLSAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAgInJlYWRv
bmx5IjogZmFsc2UsCi0gICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgInNlcXVlbmNl
IjogZmFsc2UsCi0gICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAibnVs
bGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICJhcnJheSI6IGZhbHNlLAotICAgICAgICAgICAg
InVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAiaWRsVHlwZSI6ICJSZWdFeHAiCi0gICAgICAg
IH0sCi0gICAgICAgICJuYW1lIjogInJlZ2V4cCIsCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0g
ICAgfQotICAgIAorYGBgSlMKK3sKKyAgInR5cGUiOiAiYXR0cmlidXRlIiwKKyAgInN0YXRpYyI6
IGZhbHNlLAorICAic3RyaW5naWZpZXIiOiBmYWxzZSwKKyAgImluaGVyaXQiOiBmYWxzZSwKKyAg
InJlYWRvbmx5IjogZmFsc2UsCisgICJpZGxUeXBlIjogeworICAgICJzZXF1ZW5jZSI6IGZhbHNl
LAorICAgICJnZW5lcmljIjogbnVsbCwKKyAgICAibnVsbGFibGUiOiBmYWxzZSwKKyAgICAiYXJy
YXkiOiBmYWxzZSwKKyAgICAidW5pb24iOiBmYWxzZSwKKyAgICAiaWRsVHlwZSI6ICJSZWdFeHAi
CisgIH0sCisgICJuYW1lIjogInJlZ2V4cCIsCisgICJleHRBdHRycyI6IFtdCit9CitgYGAKKwog
VGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKIAogKiBgdHlwZWA6IEFsd2F5cyAiYXR0cmlidXRl
Ii4KQEAgLTQ4NiwxNyArNTAyLDE5IEBAIFRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6CiAKIEEg
Y29uc3RhbnQgbWVtYmVyIGxvb2tzIGxpa2UgdGhpczoKIAotICAgIHsKLSAgICAgICAgInR5cGUi
OiAiY29uc3QiLAotICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgImlkbFR5cGUi
OiAiYm9vbGVhbiIsCi0gICAgICAgICJuYW1lIjogIkRFQlVHIiwKLSAgICAgICAgInZhbHVlIjog
ewotICAgICAgICAgICAgInR5cGUiOiAiYm9vbGVhbiIsCi0gICAgICAgICAgICAidmFsdWUiOiBm
YWxzZQotICAgICAgICB9LAotICAgICAgICAiZXh0QXR0cnMiOiBbXQotICAgIH0KK2BgYEpTCit7
CisgICJ0eXBlIjogImNvbnN0IiwKKyAgIm51bGxhYmxlIjogZmFsc2UsCisgICJpZGxUeXBlIjog
ImJvb2xlYW4iLAorICAibmFtZSI6ICJERUJVRyIsCisgICJ2YWx1ZSI6IHsKKyAgICAidHlwZSI6
ICJib29sZWFuIiwKKyAgICAidmFsdWUiOiBmYWxzZQorICB9LAorICAiZXh0QXR0cnMiOiBbXQor
fQorYGBgCiAKIFRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6CiAKQEAgLTUxMiw2MCArNTMwLDYz
IEBAIFRoZSBmaWVsZHMgYXJlIGFzIGZvbGxvd3M6CiBTZXJpYWxpemVycyBjb21lIGluIG1hbnkg
c2hhcGVzLCB3aGljaCBhcmUgYmVzdCB1bmRlcnN0b29kIGJ5IGxvb2tpbmcgYXQgdGhlCiBleGFt
cGxlcyBiZWxvdyB0aGF0IG1hcCB0aGUgSURMIHRvIHRoZSBwcm9kdWNlZCBBU1QuCiAKLSAgICAv
LyBzZXJpYWxpemVyOwotICAgIHsKLSAgICAgICAgInR5cGUiOiAic2VyaWFsaXplciIsCi0gICAg
ICAgICJleHRBdHRycyI6IFtdCi0gICAgfQorYGBgSlMKKy8vIHNlcmlhbGl6ZXI7Cit7CisgICJ0
eXBlIjogInNlcmlhbGl6ZXIiLAorICAiZXh0QXR0cnMiOiBbXQorfQogCi0gICAgLy8gc2VyaWFs
aXplciBET01TdHJpbmcgc2VyaWFsaXplKCk7Ci0gICAgewotICAgICAgICAidHlwZSI6ICJzZXJp
YWxpemVyIiwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAgICAgICAgICAic2VxdWVuY2UiOiBm
YWxzZSwKLSAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAotICAgICAgICAgICAgImFycmF5IjogZmFsc2UsCi0gICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIKLSAgICAgICAg
fSwKLSAgICAgICAgIm9wZXJhdGlvbiI6IHsKLSAgICAgICAgICAgICJuYW1lIjogInNlcmlhbGl6
ZSIsCi0gICAgICAgICAgICAiYXJndW1lbnRzIjogW10KLSAgICAgICAgfSwKLSAgICAgICAgImV4
dEF0dHJzIjogW10KLSAgICB9CisvLyBzZXJpYWxpemVyIERPTVN0cmluZyBzZXJpYWxpemUoKTsK
K3sKKyAgInR5cGUiOiAic2VyaWFsaXplciIsCisgICJpZGxUeXBlIjogeworICAgICJzZXF1ZW5j
ZSI6IGZhbHNlLAorICAgICJnZW5lcmljIjogbnVsbCwKKyAgICAibnVsbGFibGUiOiBmYWxzZSwK
KyAgICAiYXJyYXkiOiBmYWxzZSwKKyAgICAidW5pb24iOiBmYWxzZSwKKyAgICAiaWRsVHlwZSI6
ICJET01TdHJpbmciCisgIH0sCisgICJvcGVyYXRpb24iOiB7CisgICAgIm5hbWUiOiAic2VyaWFs
aXplIiwKKyAgICAiYXJndW1lbnRzIjogW10KKyAgfSwKKyAgImV4dEF0dHJzIjogW10KK30KIAot
ICAgIC8vIHNlcmlhbGl6ZXIgPSB7IGZyb20sIHRvLCBhbW91bnQsIGRlc2NyaXB0aW9uIH07Ci0g
ICAgewotICAgICAgICAidHlwZSI6ICJzZXJpYWxpemVyIiwKLSAgICAgICAgInBhdHRlcm5NYXAi
OiB0cnVlLAotICAgICAgICAibmFtZXMiOiBbCi0gICAgICAgICAgICAiZnJvbSIsCi0gICAgICAg
ICAgICAidG8iLAotICAgICAgICAgICAgImFtb3VudCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRp
b24iCi0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAgfQorLy8gc2VyaWFs
aXplciA9IHsgZnJvbSwgdG8sIGFtb3VudCwgZGVzY3JpcHRpb24gfTsKK3sKKyAgInR5cGUiOiAi
c2VyaWFsaXplciIsCisgICJwYXR0ZXJuTWFwIjogdHJ1ZSwKKyAgIm5hbWVzIjogWworICAgICJm
cm9tIiwKKyAgICAidG8iLAorICAgICJhbW91bnQiLAorICAgICJkZXNjcmlwdGlvbiIKKyAgXSwK
KyAgImV4dEF0dHJzIjogW10KK30KIAotICAgIC8vIHNlcmlhbGl6ZXIgPSBudW1iZXI7Ci0gICAg
ewotICAgICAgICAidHlwZSI6ICJzZXJpYWxpemVyIiwKLSAgICAgICAgIm5hbWUiOiAibnVtYmVy
IiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9CisvLyBzZXJpYWxpemVyID0gbnVtYmVy
OworeworICAidHlwZSI6ICJzZXJpYWxpemVyIiwKKyAgIm5hbWUiOiAibnVtYmVyIiwKKyAgImV4
dEF0dHJzIjogW10KK30KIAotICAgIC8vIHNlcmlhbGl6ZXIgPSBbIG5hbWUsIG51bWJlciBdOwot
ICAgIHsKLSAgICAgICAgInR5cGUiOiAic2VyaWFsaXplciIsCi0gICAgICAgICJwYXR0ZXJuTGlz
dCI6IHRydWUsCi0gICAgICAgICJuYW1lcyI6IFsKLSAgICAgICAgICAgICJuYW1lIiwKLSAgICAg
ICAgICAgICJudW1iZXIiCi0gICAgICAgIF0sCi0gICAgICAgICJleHRBdHRycyI6IFtdCi0gICAg
fQorLy8gc2VyaWFsaXplciA9IFsgbmFtZSwgbnVtYmVyIF07Cit7CisgICJ0eXBlIjogInNlcmlh
bGl6ZXIiLAorICAicGF0dGVybkxpc3QiOiB0cnVlLAorICAibmFtZXMiOiBbCisgICAgIm5hbWUi
LAorICAgICJudW1iZXIiCisgIF0sCisgICJleHRBdHRycyI6IFtdCit9CisKK2BgYAogCiBUaGUg
Y29tbW9uIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKIApAQCAtNTk4LDI2ICs2MTksMjggQEAgRmlu
YWxseSwgaWYgdGhlIHNlcmlhbGl6ZXIgaXMgYSBuYW1lZCBzZXJpYWxpemVyOgogCiBJdGVyYXRv
ciBtZW1iZXJzIGxvb2sgbGlrZSB0aGlzCiAKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogIml0ZXJh
dG9yIiwKLSAgICAgICAgImdldHRlciI6IGZhbHNlLAotICAgICAgICAic2V0dGVyIjogZmFsc2Us
Ci0gICAgICAgICJjcmVhdG9yIjogZmFsc2UsCi0gICAgICAgICJkZWxldGVyIjogZmFsc2UsCi0g
ICAgICAgICJsZWdhY3ljYWxsZXIiOiBmYWxzZSwKLSAgICAgICAgInN0YXRpYyI6IGZhbHNlLAot
ICAgICAgICAic3RyaW5naWZpZXIiOiBmYWxzZSwKLSAgICAgICAgImlkbFR5cGUiOiB7Ci0gICAg
ICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKLSAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwK
LSAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgImFycmF5IjogZmFs
c2UsCi0gICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICJpZGxUeXBlIjog
IlNlc3Npb24yIgotICAgICAgICB9LAotICAgICAgICAiaXRlcmF0b3JPYmplY3QiOiAiU2Vzc2lv
bkl0ZXJhdG9yIiwKLSAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICB9CitgYGBKUworeworICAi
dHlwZSI6ICJpdGVyYXRvciIsCisgICJnZXR0ZXIiOiBmYWxzZSwKKyAgInNldHRlciI6IGZhbHNl
LAorICAiY3JlYXRvciI6IGZhbHNlLAorICAiZGVsZXRlciI6IGZhbHNlLAorICAibGVnYWN5Y2Fs
bGVyIjogZmFsc2UsCisgICJzdGF0aWMiOiBmYWxzZSwKKyAgInN0cmluZ2lmaWVyIjogZmFsc2Us
CisgICJpZGxUeXBlIjogeworICAgICJzZXF1ZW5jZSI6IGZhbHNlLAorICAgICJnZW5lcmljIjog
bnVsbCwKKyAgICAibnVsbGFibGUiOiBmYWxzZSwKKyAgICAiYXJyYXkiOiBmYWxzZSwKKyAgICAi
dW5pb24iOiBmYWxzZSwKKyAgICAiaWRsVHlwZSI6ICJTZXNzaW9uMiIKKyAgfSwKKyAgIml0ZXJh
dG9yT2JqZWN0IjogIlNlc3Npb25JdGVyYXRvciIsCisgICJleHRBdHRycyI6IFtdCit9CitgYGAK
IAogKiBgdHlwZWA6IEFsd2F5cyAiaXRlcmF0b3IiLgogKiBgaXRlcmF0b3JPYmplY3RgOiBUaGUg
c3RyaW5nIG9uIHRoZSByaWdodC1oYW5kIHNpZGU7IGFic2VudCBpZiB0aGVyZSBpc24ndCBvbmUu
CkBAIC02MjcsMjIgKzY1MCwyNCBAQCBJdGVyYXRvciBtZW1iZXJzIGxvb2sgbGlrZSB0aGlzCiAK
IFRoZSBhcmd1bWVudHMgKGUuZy4gZm9yIGFuIG9wZXJhdGlvbikgbG9vayBsaWtlIHRoaXM6CiAK
LSAgICAiYXJndW1lbnRzIjogWwotICAgICAgICB7Ci0gICAgICAgICAgICAib3B0aW9uYWwiOiBm
YWxzZSwKLSAgICAgICAgICAgICJ2YXJpYWRpYyI6IHRydWUsCi0gICAgICAgICAgICAiZXh0QXR0
cnMiOiBbXSwKLSAgICAgICAgICAgICJpZGxUeXBlIjogewotICAgICAgICAgICAgICAgICJzZXF1
ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAg
ICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiYXJyYXkiOiBmYWxz
ZSwKLSAgICAgICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRs
VHlwZSI6ICJsb25nIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJuYW1lIjogImludHMi
Ci0gICAgICAgIH0KLSAgICBdCitgYGBKUworeworICAiYXJndW1lbnRzIjogW3sKKyAgICAib3B0
aW9uYWwiOiBmYWxzZSwKKyAgICAidmFyaWFkaWMiOiB0cnVlLAorICAgICJleHRBdHRycyI6IFtd
LAorICAgICJpZGxUeXBlIjogeworICAgICAgInNlcXVlbmNlIjogZmFsc2UsCisgICAgICAiZ2Vu
ZXJpYyI6IG51bGwsCisgICAgICAibnVsbGFibGUiOiBmYWxzZSwKKyAgICAgICJhcnJheSI6IGZh
bHNlLAorICAgICAgInVuaW9uIjogZmFsc2UsCisgICAgICAiaWRsVHlwZSI6ICJsb25nIgorICAg
IH0sCisgICAgIm5hbWUiOiAiaW50cyIKKyAgfV0KK30KK2BgYAogCiBUaGUgZmllbGRzIGFyZSBh
cyBmb2xsb3dzOgogCkBAIC02NTYsMTYgKzY4MSwxOCBAQCBUaGUgZmllbGRzIGFyZSBhcyBmb2xs
b3dzOgogCiBFeHRlbmRlZCBhdHRyaWJ1dGVzIGFyZSBhcnJheXMgb2YgaXRlbXMgdGhhdCBsb29r
IGxpa2UgdGhpczoKIAotICAgICJleHRBdHRycyI6IFsKLSAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiVHJlYXROdWxsQXMiLAotICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwsCi0g
ICAgICAgICAgICAicmhzIjogewotICAgICAgICAgICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIi
LAotICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJFbXB0eVN0cmluZyIKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgIF0KK2BgYEpTCit7CisgICJleHRBdHRycyI6IFt7CisgICAgIm5hbWUi
OiAiVHJlYXROdWxsQXMiLAorICAgICJhcmd1bWVudHMiOiBudWxsLAorICAgICJyaHMiOiB7Cisg
ICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKKyAgICAgICJ2YWx1ZSI6ICJFbXB0eVN0cmluZyIK
KyAgICB9CisgIH1dCit9CitgYGAKIAogVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKIApAQCAt
NzAwLDEyICs3MjcsMTQgQEAgRm9yIEluZmluaXR5OgogCiBUaGVzZSBhcHBlYXIgYXMgbWVtYmVy
cyBvZiBpbnRlcmZhY2VzIHRoYXQgbG9vayBsaWtlIHRoaXM6CiAKLSAgICAgICAgewotICAgICAg
ICAgICAgInR5cGUiOiAibWFwbGlrZSIsIC8vIG9yICJsZWdhY3lpdGVyYWJsZSIgLyAiaXRlcmFi
bGUiIC8gInNldGxpa2UiCi0gICAgICAgICAgICAiaWRsVHlwZSI6IC8qIE9uZSBvciB0d28gdHlw
ZXMgKi8sCi0gICAgICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwgLy8gb25seSBmb3IgbWFwbGlr
ZSBhbmQgc2V0bGlrZQotICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgfQorYGBg
SlMKK3sKKyAgInR5cGUiOiAibWFwbGlrZSIsIC8vIG9yICJsZWdhY3lpdGVyYWJsZSIgLyAiaXRl
cmFibGUiIC8gInNldGxpa2UiCisgICJpZGxUeXBlIjogLyogT25lIG9yIHR3byB0eXBlcyAqLyAs
CisgICJyZWFkb25seSI6IGZhbHNlLCAvLyBvbmx5IGZvciBtYXBsaWtlIGFuZCBzZXRsaWtlCisg
ICJleHRBdHRycyI6IFtdCit9CitgYGAKIAogVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKIApA
QCAtNzE1LDQ2ICs3NDQsNTEgQEAgVGhlIGZpZWxkcyBhcmUgYXMgZm9sbG93czoKICogYGV4dEF0
dHJzYDogQSBsaXN0IG9mIFtleHRlbmRlZCBhdHRyaWJ1dGVzXSgjZXh0ZW5kZWQtYXR0cmlidXRl
cykuCiAKIAotVGVzdGluZwotPT09PT09PQorIyMgVGVzdGluZwogCiBJbiBvcmRlciB0byBydW4g
dGhlIHRlc3RzIHlvdSBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSB3aWRscHJvYyBzdWJtb2R1bGUg
aW5zaWRlIGB0ZXN0YCBpcwotaW5pdGlhbGlzZWQgYW5kIHVwIHRvIGRhdGU6Citpbml0aWFsaXpl
ZCBhbmQgdXAgdG8gZGF0ZToKIAotICAgIGdpdCBzdWJtb2R1bGUgaW5pdAotICAgIGdpdCBzdWJt
b2R1bGUgdXBkYXRlCitgYGBCYXNoCitnaXQgc3VibW9kdWxlIGluaXQKK2dpdCBzdWJtb2R1bGUg
dXBkYXRlCitgYGAKKworIyMjIFJ1bm5pbmcKIAotUnVubmluZwotLS0tLS0tLQogVGhlIHRlc3Qg
cnVucyB3aXRoIG1vY2hhIGFuZCBleHBlY3QuanMuIE5vcm1hbGx5LCBydW5uaW5nIG1vY2hhIGlu
IHRoZSByb290IGRpcmVjdG9yeQogc2hvdWxkIGJlIGVub3VnaCBvbmNlIHlvdSdyZSBzZXQgdXAu
CiAKLUNvdmVyYWdlCi0tLS0tLS0tLQorIyMjIENvdmVyYWdlCisKIEN1cnJlbnQgdGVzdCBjb3Zl
cmFnZSwgYXMgZG9jdW1lbnRlZCBpbiBgY292ZXJhZ2UuaHRtbGAsIGlzIDk1JS4gWW91IGNhbiBy
dW4geW91ciBvd24KIGNvdmVyYWdlIGFuYWx5c2lzIHdpdGg6CiAKLSAgICBqc2NvdmVyYWdlIGxp
YiBsaWItY292Ci0gICAgCitgYGBCYXNoCitqc2NvdmVyYWdlIGxpYiBsaWItY292CitgYGAKKwog
VGhhdCB3aWxsIGNyZWF0ZSB0aGUgbGliLWNvdiBkaXJlY3Rvcnkgd2l0aCBpbnN0cnVtZW50ZWQg
Y29kZTsgdGhlIHRlc3Qgc3VpdGUga25vd3MKIHRvIHVzZSB0aGF0IGlmIG5lZWRlZC4gWW91IGNh
biB0aGVuIHJ1biB0aGUgdGVzdHMgd2l0aDoKIAotICAgIEpTQ09WPTEgbW9jaGEgLS1yZXBvcnRl
ciBodG1sLWNvdiA+IGNvdmVyYWdlLmh0bWwKK2BgYEJhc2gKK0pTQ09WPTEgbW9jaGEgLS1yZXBv
cnRlciBodG1sLWNvdiA+IGNvdmVyYWdlLmh0bWwKK2BgYAogCiBOb3RlIHRoYXQgSSd2ZSBiZWVu
IGdldHRpbmcgd2VpcmRseSBvdmVyZXNjYXBlZCByZXN1bHRzIGZyb20gdGhlIGh0bWwtY292IHJl
cG9ydGVyLAogc28geW91IG1pZ2h0IHdpc2ggdG8gdHJ5IHRoaXMgaW5zdGVhZDoKIAotICAgIEpT
Q09WPTEgbW9jaGEgIC0tcmVwb3J0ZXIgaHRtbC1jb3YgfCBzZWQgInMvJmx0Oy88L2ciIHwgc2Vk
ICJzLyZndDsvPi9nIiB8IHNlZCAicy8mcXVvdDsvXCIvZyIgPiBjb3ZlcmFnZS5odG1sCitgYGBC
YXNoCitKU0NPVj0xIG1vY2hhICAtLXJlcG9ydGVyIGh0bWwtY292IHwgc2VkICJzLyZsdDsvPC9n
IiB8IHNlZCAicy8mZ3Q7Lz4vZyIgfCBzZWQgInMvJnF1b3Q7L1wiL2ciID4gY292ZXJhZ2UuaHRt
bAorYGBgCisjIyMgQnJvd3NlciB0ZXN0cwogCi1Ccm93c2VyIHRlc3RzCi0tLS0tLS0tLS0tLS0t
CiBJbiBvcmRlciB0byB0ZXN0IGluIHRoZSBicm93c2VyLCBnZXQgaW5zaWRlIGB0ZXN0L3dlYmAg
YW5kIHJ1biBgbWFrZS13ZWItdGVzdHMuanNgLiBUaGlzCiB3aWxsIGdlbmVyYXRlIGEgYGJyb3dz
ZXItdGVzdHMuaHRtbGAgZmlsZSB0aGF0IHlvdSBjYW4gb3BlbiBpbiBhIGJyb3dzZXIuIEFzIG9m
IHRoaXMKIHdyaXRpbmcgdGVzdHMgcGFzcyBpbiB0aGUgbGF0ZXN0IEZpcmVmb3gsIENocm9tZSwg
T3BlcmEsIGFuZCBTYWZhcmkuIFRlc3Rpbmcgb24gSUUKIGFuZCBvbGRlciB2ZXJzaW9ucyB3aWxs
IGhhcHBlbiBwcm9ncmVzc2l2ZWx5LgogCi1UT0RPCi09PT09CisjIyBUT0RPCiAKICogYWRkIHNv
bWUgdGVzdHMgdG8gYWRkcmVzcyBjb3ZlcmFnZSBsaW1pdGF0aW9ucwogKiBhZGQgYSBwdXNoIEFQ
SSBmb3IgcHJvY2Vzc29ycyB0aGF0IG5lZWQgdG8gcHJvY2VzcyB0aGluZ3MgbGlrZSBjb21tZW50
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvd2ViaWRsMi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvbGliL3dlYmlkbDIuanMK
aW5kZXggOWU1MDRmYzZlMWZkZWZkMTljYzdmNzE4MjJlM2RiZmQ0YmU1ZTY3OC4uMGU3NjE3NGEw
ODM2ZjI5YmRkMjFjNWQyZWNhNmFhZTc1ZGI2MjNiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvd2Vi
aWRsMi5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL2xpYi93ZWJpZGwyLmpzCkBAIC0xLDEwMTIgKzEsMTA4NCBAQAor
KGZ1bmN0aW9uKCkgeworICB2YXIgdG9rZW5pc2UgPSBmdW5jdGlvbihzdHIpIHsKKyAgICB2YXIg
dG9rZW5zID0gW10sCisgICAgICByZSA9IHsKKyAgICAgICAgImZsb2F0IjogL14tPygoWzAtOV0r
XC5bMC05XSp8WzAtOV0qXC5bMC05XSspKFtFZV1bLStdP1swLTldKyk/fFswLTldK1tFZV1bLStd
P1swLTldKykvLAorICAgICAgICAiaW50ZWdlciI6IC9eLT8oMChbWHhdWzAtOUEtRmEtZl0rfFsw
LTddKil8WzEtOV1bMC05XSopLywKKyAgICAgICAgImlkZW50aWZpZXIiOiAvXltBLVpfYS16XVsw
LTlBLVpfYS16LV0qLywKKyAgICAgICAgInN0cmluZyI6IC9eIlteIl0qIi8sCisgICAgICAgICJ3
aGl0ZXNwYWNlIjogL14oPzpbXHRcblxyIF0rfFtcdFxuXHIgXSooKFwvXC8uKnxcL1wqKC58XG58
XHIpKj9cKlwvKVtcdFxuXHIgXSopKSsvLAorICAgICAgICAib3RoZXIiOiAvXlteXHRcblxyIDAt
OUEtWl9hLXpdLworICAgICAgfSwKKyAgICAgIHR5cGVzID0gWyJmbG9hdCIsICJpbnRlZ2VyIiwg
ImlkZW50aWZpZXIiLCAic3RyaW5nIiwgIndoaXRlc3BhY2UiLCAib3RoZXIiXTsKKyAgICB3aGls
ZSAoc3RyLmxlbmd0aCA+IDApIHsKKyAgICAgIHZhciBtYXRjaGVkID0gZmFsc2U7CisgICAgICBm
b3IgKHZhciBpID0gMCwgbiA9IHR5cGVzLmxlbmd0aDsgaSA8IG47IGkrKykgeworICAgICAgICB2
YXIgdHlwZSA9IHR5cGVzW2ldOworICAgICAgICBzdHIgPSBzdHIucmVwbGFjZShyZVt0eXBlXSwg
ZnVuY3Rpb24odG9rKSB7CisgICAgICAgICAgdG9rZW5zLnB1c2goeyB0eXBlOiB0eXBlLCB2YWx1
ZTogdG9rIH0pOworICAgICAgICAgIG1hdGNoZWQgPSB0cnVlOworICAgICAgICAgIHJldHVybiAi
IjsKKyAgICAgICAgfSk7CisgICAgICAgIGlmIChtYXRjaGVkKSBicmVhazsKKyAgICAgIH0KKyAg
ICAgIGlmIChtYXRjaGVkKSBjb250aW51ZTsKKyAgICAgIHRocm93IG5ldyBFcnJvcigiVG9rZW4g
c3RyZWFtIG5vdCBwcm9ncmVzc2luZyIpOworICAgIH0KKyAgICByZXR1cm4gdG9rZW5zOworICB9
OwogCisgIGZ1bmN0aW9uIFdlYklETFBhcnNlRXJyb3Ioc3RyLCBsaW5lLCBpbnB1dCwgdG9rZW5z
KSB7CisgICAgdGhpcy5tZXNzYWdlID0gc3RyOworICAgIHRoaXMubGluZSA9IGxpbmU7CisgICAg
dGhpcy5pbnB1dCA9IGlucHV0OworICAgIHRoaXMudG9rZW5zID0gdG9rZW5zOworICB9OwogCi0o
ZnVuY3Rpb24gKCkgewotICAgIHZhciB0b2tlbmlzZSA9IGZ1bmN0aW9uIChzdHIpIHsKLSAgICAg
ICAgdmFyIHRva2VucyA9IFtdCi0gICAgICAgICwgICByZSA9IHsKLSAgICAgICAgICAgICAgICAi
ZmxvYXQiOiAgICAgICAgL14tPygoWzAtOV0rXC5bMC05XSp8WzAtOV0qXC5bMC05XSspKFtFZV1b
LStdP1swLTldKyk/fFswLTldK1tFZV1bLStdP1swLTldKykvCi0gICAgICAgICAgICAsICAgImlu
dGVnZXIiOiAgICAgIC9eLT8oMChbWHhdWzAtOUEtRmEtZl0rfFswLTddKil8WzEtOV1bMC05XSop
LwotICAgICAgICAgICAgLCAgICJpZGVudGlmaWVyIjogICAvXltBLVpfYS16XVswLTlBLVpfYS16
XSovCi0gICAgICAgICAgICAsICAgInN0cmluZyI6ICAgICAgIC9eIlteIl0qIi8KLSAgICAgICAg
ICAgICwgICAid2hpdGVzcGFjZSI6ICAgL14oPzpbXHRcblxyIF0rfFtcdFxuXHIgXSooKFwvXC8u
KnxcL1wqKC58XG58XHIpKj9cKlwvKVtcdFxuXHIgXSopKSsvCi0gICAgICAgICAgICAsICAgIm90
aGVyIjogICAgICAgIC9eW15cdFxuXHIgMC05QS1aX2Etel0vCi0gICAgICAgICAgICB9Ci0gICAg
ICAgICwgICB0eXBlcyA9IFtdCi0gICAgICAgIDsKLSAgICAgICAgZm9yICh2YXIgayBpbiByZSkg
dHlwZXMucHVzaChrKTsKLSAgICAgICAgd2hpbGUgKHN0ci5sZW5ndGggPiAwKSB7CisgIFdlYklE
TFBhcnNlRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IHRoaXMubWVzc2FnZSArICIsIGxpbmUgIiArIHRoaXMubGluZSArICIgKHRva2VuczogJyIgKyB0
aGlzLmlucHV0ICsgIicpXG4iICsKKyAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMudG9rZW5zLCBu
dWxsLCA0KTsKKyAgfTsKKworICB2YXIgcGFyc2UgPSBmdW5jdGlvbih0b2tlbnMsIG9wdCkgewor
ICAgIHZhciBsaW5lID0gMTsKKyAgICB0b2tlbnMgPSB0b2tlbnMuc2xpY2UoKTsKKworICAgIHZh
ciBGTE9BVCA9ICJmbG9hdCIsCisgICAgICBJTlQgPSAiaW50ZWdlciIsCisgICAgICBJRCA9ICJp
ZGVudGlmaWVyIiwKKyAgICAgIFNUUiA9ICJzdHJpbmciLAorICAgICAgT1RIRVIgPSAib3RoZXIi
OworCisgICAgdmFyIGVycm9yID0gZnVuY3Rpb24oc3RyKSB7CisgICAgICB2YXIgdG9rID0gIiI7
CisgICAgICB2YXIgbnVtVG9rZW5zID0gMDsKKyAgICAgIHZhciBtYXhUb2tlbnMgPSA1OworICAg
ICAgd2hpbGUgKG51bVRva2VucyA8IG1heFRva2VucyAmJiB0b2tlbnMubGVuZ3RoID4gbnVtVG9r
ZW5zKSB7CisgICAgICAgIHRvayArPSB0b2tlbnNbbnVtVG9rZW5zXS52YWx1ZTsKKyAgICAgICAg
bnVtVG9rZW5zKys7CisgICAgICB9CisgICAgICB0aHJvdyBuZXcgV2ViSURMUGFyc2VFcnJvcihz
dHIsIGxpbmUsIHRvaywgdG9rZW5zLnNsaWNlKDAsIDUpKTsKKyAgICB9OworCisgICAgdmFyIGxh
c3RfdG9rZW4gPSBudWxsOworCisgICAgdmFyIGNvbnN1bWUgPSBmdW5jdGlvbih0eXBlLCB2YWx1
ZSkgeworICAgICAgaWYgKCF0b2tlbnMubGVuZ3RoIHx8IHRva2Vuc1swXS50eXBlICE9PSB0eXBl
KSByZXR1cm47CisgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAidW5kZWZpbmVkIiB8fCB0b2tl
bnNbMF0udmFsdWUgPT09IHZhbHVlKSB7CisgICAgICAgIGxhc3RfdG9rZW4gPSB0b2tlbnMuc2hp
ZnQoKTsKKyAgICAgICAgaWYgKHR5cGUgPT09IElEKSBsYXN0X3Rva2VuLnZhbHVlID0gbGFzdF90
b2tlbi52YWx1ZS5yZXBsYWNlKC9eXy8sICIiKTsKKyAgICAgICAgcmV0dXJuIGxhc3RfdG9rZW47
CisgICAgICB9CisgICAgfTsKKworICAgIHZhciB3cyA9IGZ1bmN0aW9uKCkgeworICAgICAgaWYg
KCF0b2tlbnMubGVuZ3RoKSByZXR1cm47CisgICAgICBpZiAodG9rZW5zWzBdLnR5cGUgPT09ICJ3
aGl0ZXNwYWNlIikgeworICAgICAgICB2YXIgdCA9IHRva2Vucy5zaGlmdCgpOworICAgICAgICB0
LnZhbHVlLnJlcGxhY2UoL1xuL2csIGZ1bmN0aW9uKG0pIHsgbGluZSsrOworICAgICAgICAgIHJl
dHVybiBtOyB9KTsKKyAgICAgICAgcmV0dXJuIHQ7CisgICAgICB9CisgICAgfTsKKworICAgIHZh
ciBhbGxfd3MgPSBmdW5jdGlvbihzdG9yZSwgcGVhKSB7IC8vIHBlYSA9PSBwb3N0IGV4dGVuZGVk
IGF0dHJpYnV0ZSwgdHBlYSA9IHNhbWUgZm9yIHR5cGVzCisgICAgICB2YXIgdCA9IHsgdHlwZTog
IndoaXRlc3BhY2UiLCB2YWx1ZTogIiIgfTsKKyAgICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAg
IHZhciB3ID0gd3MoKTsKKyAgICAgICAgaWYgKCF3KSBicmVhazsKKyAgICAgICAgdC52YWx1ZSAr
PSB3LnZhbHVlOworICAgICAgfQorICAgICAgaWYgKHQudmFsdWUubGVuZ3RoID4gMCkgeworICAg
ICAgICBpZiAoc3RvcmUpIHsKKyAgICAgICAgICB2YXIgdyA9IHQudmFsdWUsCisgICAgICAgICAg
ICByZSA9IHsKKyAgICAgICAgICAgICAgIndzIjogL14oW1x0XG5cciBdKykvLAorICAgICAgICAg
ICAgICAibGluZS1jb21tZW50IjogL15cL1wvKC4qKVxuPy9tLAorICAgICAgICAgICAgICAibXVs
dGlsaW5lLWNvbW1lbnQiOiAvXlwvXCooKD86LnxcbnxccikqPylcKlwvLworICAgICAgICAgICAg
fSwKKyAgICAgICAgICAgIHdzVHlwZXMgPSBbXTsKKyAgICAgICAgICBmb3IgKHZhciBrIGluIHJl
KSB3c1R5cGVzLnB1c2goayk7CisgICAgICAgICAgd2hpbGUgKHcubGVuZ3RoKSB7CiAgICAgICAg
ICAgICB2YXIgbWF0Y2hlZCA9IGZhbHNlOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIG4g
PSB0eXBlcy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgICAgICAgICB2YXIgdHlwZSA9
IHR5cGVzW2ldOwotICAgICAgICAgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKHJlW3R5cGVdLCBm
dW5jdGlvbiAodG9rKSB7Ci0gICAgICAgICAgICAgICAgICAgIHRva2Vucy5wdXNoKHsgdHlwZTog
dHlwZSwgdmFsdWU6IHRvayB9KTsKLSAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZCA9IHRydWU7
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAiIjsKLSAgICAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgICAgICAgICBpZiAobWF0Y2hlZCkgYnJlYWs7CisgICAgICAgICAgICBmb3IgKHZhciBp
ID0gMCwgbiA9IHdzVHlwZXMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7CisgICAgICAgICAgICAgIHZh
ciB0eXBlID0gd3NUeXBlc1tpXTsKKyAgICAgICAgICAgICAgdyA9IHcucmVwbGFjZShyZVt0eXBl
XSwgZnVuY3Rpb24odG9rLCBtMSkgeworICAgICAgICAgICAgICAgIHN0b3JlLnB1c2goeyB0eXBl
OiB0eXBlICsgKHBlYSA/ICgiLSIgKyBwZWEpIDogIiIpLCB2YWx1ZTogbTEgfSk7CisgICAgICAg
ICAgICAgICAgbWF0Y2hlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgcmV0dXJuICIiOworICAg
ICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgaWYgKG1hdGNoZWQpIGJyZWFrOwogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgaWYgKG1hdGNoZWQpIGNvbnRpbnVlOwotICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJUb2tlbiBzdHJlYW0gbm90IHByb2dyZXNzaW5nIik7CisgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIlN1cnByaXNpbmcgd2hpdGUgc3BhY2UgY29uc3RydWN0LiIp
OyAvLyB0aGlzIHNob3VsZG4ndCBoYXBwZW4KKyAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAg
ICAgcmV0dXJuIHRva2VuczsKKyAgICAgICAgcmV0dXJuIHQ7CisgICAgICB9CiAgICAgfTsKLSAg
ICAKLSAgICB2YXIgcGFyc2UgPSBmdW5jdGlvbiAodG9rZW5zLCBvcHQpIHsKLSAgICAgICAgdmFy
IGxpbmUgPSAxOwotICAgICAgICB0b2tlbnMgPSB0b2tlbnMuc2xpY2UoKTsKLSAgICAgICAgCi0g
ICAgICAgIHZhciBGTE9BVCA9ICJmbG9hdCIKLSAgICAgICAgLCAgIElOVCA9ICJpbnRlZ2VyIgot
ICAgICAgICAsICAgSUQgPSAiaWRlbnRpZmllciIKLSAgICAgICAgLCAgIFNUUiA9ICJzdHJpbmci
Ci0gICAgICAgICwgICBPVEhFUiA9ICJvdGhlciIKLSAgICAgICAgOwotICAgICAgICAKLSAgICAg
ICAgdmFyIFdlYklETFBhcnNlRXJyb3IgPSBmdW5jdGlvbiAoc3RyLCBsaW5lLCBpbnB1dCwgdG9r
ZW5zKSB7Ci0gICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBzdHI7Ci0gICAgICAgICAgICB0aGlz
LmxpbmUgPSBsaW5lOwotICAgICAgICAgICAgdGhpcy5pbnB1dCA9IGlucHV0OwotICAgICAgICAg
ICAgdGhpcy50b2tlbnMgPSB0b2tlbnM7Ci0gICAgICAgIH07Ci0gICAgICAgIFdlYklETFBhcnNl
RXJyb3IucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgcmV0
dXJuIHRoaXMubWVzc2FnZSArICIsIGxpbmUgIiArIHRoaXMubGluZSArICIgKHRva2VuczogJyIg
KyB0aGlzLmlucHV0ICsgIicpXG4iICsKLSAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lm
eSh0aGlzLnRva2VucywgbnVsbCwgNCk7Ci0gICAgICAgIH07Ci0gICAgICAgIAotICAgICAgICB2
YXIgZXJyb3IgPSBmdW5jdGlvbiAoc3RyKSB7Ci0gICAgICAgICAgICB2YXIgdG9rID0gIiIsIG51
bVRva2VucyA9IDAsIG1heFRva2VucyA9IDU7Ci0gICAgICAgICAgICB3aGlsZSAobnVtVG9rZW5z
IDwgbWF4VG9rZW5zICYmIHRva2Vucy5sZW5ndGggPiBudW1Ub2tlbnMpIHsKLSAgICAgICAgICAg
ICAgICB0b2sgKz0gdG9rZW5zW251bVRva2Vuc10udmFsdWU7Ci0gICAgICAgICAgICAgICAgbnVt
VG9rZW5zKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aHJvdyBuZXcgV2ViSURMUGFy
c2VFcnJvcihzdHIsIGxpbmUsIHRvaywgdG9rZW5zLnNsaWNlKDAsIDUpKTsKLSAgICAgICAgfTsK
LSAgICAgICAgCi0gICAgICAgIHZhciBsYXN0X3Rva2VuID0gbnVsbDsKLSAgICAgICAgCi0gICAg
ICAgIHZhciBjb25zdW1lID0gZnVuY3Rpb24gKHR5cGUsIHZhbHVlKSB7Ci0gICAgICAgICAgICBp
ZiAoIXRva2Vucy5sZW5ndGggfHwgdG9rZW5zWzBdLnR5cGUgIT09IHR5cGUpIHJldHVybjsKLSAg
ICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICJ1bmRlZmluZWQiIHx8IHRva2Vuc1swXS52
YWx1ZSA9PT0gdmFsdWUpIHsKLSAgICAgICAgICAgICAgICAgbGFzdF90b2tlbiA9IHRva2Vucy5z
aGlmdCgpOwotICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gSUQpIGxhc3RfdG9rZW4udmFs
dWUgPSBsYXN0X3Rva2VuLnZhbHVlLnJlcGxhY2UoL15fLywgIiIpOwotICAgICAgICAgICAgICAg
ICByZXR1cm4gbGFzdF90b2tlbjsKLSAgICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0gICAgICAg
IAotICAgICAgICB2YXIgd3MgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBpZiAoIXRva2Vu
cy5sZW5ndGgpIHJldHVybjsKLSAgICAgICAgICAgIGlmICh0b2tlbnNbMF0udHlwZSA9PT0gIndo
aXRlc3BhY2UiKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHQgPSB0b2tlbnMuc2hpZnQoKTsKLSAg
ICAgICAgICAgICAgICB0LnZhbHVlLnJlcGxhY2UoL1xuL2csIGZ1bmN0aW9uIChtKSB7IGxpbmUr
KzsgcmV0dXJuIG07IH0pOwotICAgICAgICAgICAgICAgIHJldHVybiB0OwotICAgICAgICAgICAg
fQotICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAgdmFyIGFsbF93cyA9IGZ1bmN0aW9uIChz
dG9yZSwgcGVhKSB7IC8vIHBlYSA9PSBwb3N0IGV4dGVuZGVkIGF0dHJpYnV0ZSwgdHBlYSA9IHNh
bWUgZm9yIHR5cGVzCi0gICAgICAgICAgICB2YXIgdCA9IHsgdHlwZTogIndoaXRlc3BhY2UiLCB2
YWx1ZTogIiIgfTsKLSAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgICAgICAgICAg
dmFyIHcgPSB3cygpOwotICAgICAgICAgICAgICAgIGlmICghdykgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgdC52YWx1ZSArPSB3LnZhbHVlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYg
KHQudmFsdWUubGVuZ3RoID4gMCkgewotICAgICAgICAgICAgICAgIGlmIChzdG9yZSkgewotICAg
ICAgICAgICAgICAgICAgICB2YXIgdyA9IHQudmFsdWUKLSAgICAgICAgICAgICAgICAgICAgLCAg
IHJlID0gewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3cyI6ICAgICAgICAgICAgICAg
ICAgIC9eKFtcdFxuXHIgXSspLwotICAgICAgICAgICAgICAgICAgICAgICAgLCAgICJsaW5lLWNv
bW1lbnQiOiAgICAgICAgIC9eXC9cLyguKilcbj8vbQotICAgICAgICAgICAgICAgICAgICAgICAg
LCAgICJtdWx0aWxpbmUtY29tbWVudCI6ICAgIC9eXC9cKigoPzoufFxufFxyKSo/KVwqXC8vCi0g
ICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICwgICB3c1R5cGVz
ID0gW10KLSAgICAgICAgICAgICAgICAgICAgOwotICAgICAgICAgICAgICAgICAgICBmb3IgKHZh
ciBrIGluIHJlKSB3c1R5cGVzLnB1c2goayk7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlICh3
Lmxlbmd0aCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1hdGNoZWQgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gd3NUeXBlcy5sZW5n
dGg7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHlwZSA9
IHdzVHlwZXNbaV07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdyA9IHcucmVwbGFjZShy
ZVt0eXBlXSwgZnVuY3Rpb24gKHRvaywgbTEpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RvcmUucHVzaCh7IHR5cGU6IHR5cGUgKyAocGVhID8gKCItIiArIHBlYSkgOiAiIiks
IHZhbHVlOiBtMSB9KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZCA9
IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiIjsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAobWF0Y2hlZCkgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAobWF0Y2hlZCkgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIlN1cnByaXNpbmcgd2hpdGUgc3BhY2UgY29uc3RydWN0LiIp
OyAvLyB0aGlzIHNob3VsZG4ndCBoYXBwZW4KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByZXR1cm4gdDsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgIHZhciBpbnRlZ2VyX3R5cGUgPSBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICB2YXIgcmV0ID0gIiI7Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAg
ICAgICAgICAgIGlmIChjb25zdW1lKElELCAidW5zaWduZWQiKSkgcmV0ID0gInVuc2lnbmVkICI7
Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIGlmIChjb25zdW1lKElELCAic2hv
cnQiKSkgcmV0dXJuIHJldCArICJzaG9ydCI7Ci0gICAgICAgICAgICBpZiAoY29uc3VtZShJRCwg
ImxvbmciKSkgewotICAgICAgICAgICAgICAgIHJldCArPSAibG9uZyI7Ci0gICAgICAgICAgICAg
ICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNvbnN1bWUoSUQsICJsb25nIikpIHJl
dHVybiByZXQgKyAiIGxvbmciOwotICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBpZiAocmV0KSBlcnJvcigiRmFpbGVkIHRvIHBhcnNlIGludGVn
ZXIgdHlwZSIpOwotICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAgdmFyIGZsb2F0X3R5cGUg
PSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICB2YXIgcmV0ID0gIiI7Ci0gICAgICAgICAgICBh
bGxfd3MoKTsKLSAgICAgICAgICAgIGlmIChjb25zdW1lKElELCAidW5yZXN0cmljdGVkIikpIHJl
dCA9ICJ1bnJlc3RyaWN0ZWQgIjsKLSAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAg
aWYgKGNvbnN1bWUoSUQsICJmbG9hdCIpKSByZXR1cm4gcmV0ICsgImZsb2F0IjsKLSAgICAgICAg
ICAgIGlmIChjb25zdW1lKElELCAiZG91YmxlIikpIHJldHVybiByZXQgKyAiZG91YmxlIjsKLSAg
ICAgICAgICAgIGlmIChyZXQpIGVycm9yKCJGYWlsZWQgdG8gcGFyc2UgZmxvYXQgdHlwZSIpOwot
ICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAgdmFyIHByaW1pdGl2ZV90eXBlID0gZnVuY3Rp
b24gKCkgewotICAgICAgICAgICAgdmFyIG51bV90eXBlID0gaW50ZWdlcl90eXBlKCkgfHwgZmxv
YXRfdHlwZSgpOwotICAgICAgICAgICAgaWYgKG51bV90eXBlKSByZXR1cm4gbnVtX3R5cGU7Ci0g
ICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIGlmIChjb25zdW1lKElELCAiYm9vbGVh
biIpKSByZXR1cm4gImJvb2xlYW4iOwotICAgICAgICAgICAgaWYgKGNvbnN1bWUoSUQsICJieXRl
IikpIHJldHVybiAiYnl0ZSI7Ci0gICAgICAgICAgICBpZiAoY29uc3VtZShJRCwgIm9jdGV0Iikp
IHJldHVybiAib2N0ZXQiOwotICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAgdmFyIGNvbnN0
X3ZhbHVlID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgaWYgKGNvbnN1bWUoSUQsICJ0cnVl
IikpIHJldHVybiB7IHR5cGU6ICJib29sZWFuIiwgdmFsdWU6IHRydWUgfTsKLSAgICAgICAgICAg
IGlmIChjb25zdW1lKElELCAiZmFsc2UiKSkgcmV0dXJuIHsgdHlwZTogImJvb2xlYW4iLCB2YWx1
ZTogZmFsc2UgfTsKLSAgICAgICAgICAgIGlmIChjb25zdW1lKElELCAibnVsbCIpKSByZXR1cm4g
eyB0eXBlOiAibnVsbCIgfTsKLSAgICAgICAgICAgIGlmIChjb25zdW1lKElELCAiSW5maW5pdHki
KSkgcmV0dXJuIHsgdHlwZTogIkluZmluaXR5IiwgbmVnYXRpdmU6IGZhbHNlIH07Ci0gICAgICAg
ICAgICBpZiAoY29uc3VtZShJRCwgIk5hTiIpKSByZXR1cm4geyB0eXBlOiAiTmFOIiB9OwotICAg
ICAgICAgICAgdmFyIHJldCA9IGNvbnN1bWUoRkxPQVQpIHx8IGNvbnN1bWUoSU5UKTsKLSAgICAg
ICAgICAgIGlmIChyZXQpIHJldHVybiB7IHR5cGU6ICJudW1iZXIiLCB2YWx1ZTogMSAqIHJldC52
YWx1ZSB9OwotICAgICAgICAgICAgdmFyIHRvayA9IGNvbnN1bWUoT1RIRVIsICItIik7Ci0gICAg
ICAgICAgICBpZiAodG9rKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNvbnN1bWUoSUQsICJJbmZp
bml0eSIpKSByZXR1cm4geyB0eXBlOiAiSW5maW5pdHkiLCBuZWdhdGl2ZTogdHJ1ZSB9OwotICAg
ICAgICAgICAgICAgIGVsc2UgdG9rZW5zLnVuc2hpZnQodG9rKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgIHZhciB0eXBlX3N1ZmZpeCA9IGZ1bmN0aW9uIChv
YmopIHsKLSAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgICAgICAgICAgYWxsX3dz
KCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICI/IikpIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKG9iai5udWxsYWJsZSkgZXJyb3IoIkNhbid0IG51bGxhYmxlIG1vcmUg
dGhhbiBvbmNlIik7Ci0gICAgICAgICAgICAgICAgICAgIG9iai5udWxsYWJsZSA9IHRydWU7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNvbnN1bWUoT1RIRVIs
ICJbIikpIHsKLSAgICAgICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGNvbnN1bWUoT1RIRVIsICJdIikgfHwgZXJyb3IoIlVudGVybWluYXRlZCBhcnJheSB0eXBl
Iik7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghb2JqLmFycmF5KSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBvYmouYXJyYXkgPSAxOwotICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51
bGxhYmxlQXJyYXkgPSBbb2JqLm51bGxhYmxlXTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG9iai5hcnJh
eSsrOwotICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm51bGxhYmxlQXJyYXkucHVzaChvYmou
bnVsbGFibGUpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIG9i
ai5udWxsYWJsZSA9IGZhbHNlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBl
bHNlIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgCi0gICAgICAg
IHZhciBzaW5nbGVfdHlwZSA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIHZhciBwcmltID0g
cHJpbWl0aXZlX3R5cGUoKQotICAgICAgICAgICAgLCAgIHJldCA9IHsgc2VxdWVuY2U6IGZhbHNl
LCBnZW5lcmljOiBudWxsLCBudWxsYWJsZTogZmFsc2UsIGFycmF5OiBmYWxzZSwgdW5pb246IGZh
bHNlIH0KLSAgICAgICAgICAgICwgICBuYW1lCi0gICAgICAgICAgICAsICAgdmFsdWUKLSAgICAg
ICAgICAgIDsKLSAgICAgICAgICAgIGlmIChwcmltKSB7Ci0gICAgICAgICAgICAgICAgcmV0Lmlk
bFR5cGUgPSBwcmltOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSBpZiAobmFtZSA9
IGNvbnN1bWUoSUQpKSB7Ci0gICAgICAgICAgICAgICAgdmFsdWUgPSBuYW1lLnZhbHVlOwotICAg
ICAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAgICAgIC8vIEdlbmVyaWMgdHlwZXMK
LSAgICAgICAgICAgICAgICBpZiAoY29uc3VtZShPVEhFUiwgIjwiKSkgewotICAgICAgICAgICAg
ICAgICAgICAvLyBiYWNrd2FyZHMgY29tcGF0Ci0gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1
ZSA9PT0gInNlcXVlbmNlIikgewotICAgICAgICAgICAgICAgICAgICAgICAgcmV0LnNlcXVlbmNl
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICByZXQu
Z2VuZXJpYyA9IHZhbHVlOwotICAgICAgICAgICAgICAgICAgICByZXQuaWRsVHlwZSA9IHR5cGUo
KSB8fCBlcnJvcigiRXJyb3IgcGFyc2luZyBnZW5lcmljIHR5cGUgIiArIHZhbHVlKTsKLSAgICAg
ICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghY29uc3Vt
ZShPVEhFUiwgIj4iKSkgZXJyb3IoIlVudGVybWluYXRlZCBnZW5lcmljIHR5cGUgIiArIHZhbHVl
KTsKLSAgICAgICAgICAgICAgICAgICAgdHlwZV9zdWZmaXgocmV0KTsKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIHJldDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldC5pZGxUeXBlID0gdmFsdWU7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdHlwZV9zdWZmaXgocmV0KTsK
LSAgICAgICAgICAgIGlmIChyZXQubnVsbGFibGUgJiYgIXJldC5hcnJheSAmJiByZXQuaWRsVHlw
ZSA9PT0gImFueSIpIGVycm9yKCJUeXBlIGFueSBjYW5ub3QgYmUgbWFkZSBudWxsYWJsZSIpOwot
ICAgICAgICAgICAgcmV0dXJuIHJldDsKLSAgICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgIHZh
ciB1bmlvbl90eXBlID0gZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAg
ICAgICAgICBpZiAoIWNvbnN1bWUoT1RIRVIsICIoIikpIHJldHVybjsKLSAgICAgICAgICAgIHZh
ciByZXQgPSB7IHNlcXVlbmNlOiBmYWxzZSwgZ2VuZXJpYzogbnVsbCwgbnVsbGFibGU6IGZhbHNl
LCBhcnJheTogZmFsc2UsIHVuaW9uOiB0cnVlLCBpZGxUeXBlOiBbXSB9OwotICAgICAgICAgICAg
dmFyIGZzdCA9IHR5cGUoKSB8fCBlcnJvcigiVW5pb24gdHlwZSB3aXRoIG5vIGNvbnRlbnQiKTsK
LSAgICAgICAgICAgIHJldC5pZGxUeXBlLnB1c2goZnN0KTsKLSAgICAgICAgICAgIHdoaWxlICh0
cnVlKSB7Ci0gICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFj
b25zdW1lKElELCAib3IiKSkgYnJlYWs7Ci0gICAgICAgICAgICAgICAgdmFyIHR5cCA9IHR5cGUo
KSB8fCBlcnJvcigiTm8gdHlwZSBhZnRlciAnb3InIGluIHVuaW9uIHR5cGUiKTsKLSAgICAgICAg
ICAgICAgICByZXQuaWRsVHlwZS5wdXNoKHR5cCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBpZiAoIWNvbnN1bWUoT1RIRVIsICIpIikpIGVycm9yKCJVbnRlcm1pbmF0ZWQgdW5pb24gdHlw
ZSIpOwotICAgICAgICAgICAgdHlwZV9zdWZmaXgocmV0KTsKLSAgICAgICAgICAgIHJldHVybiBy
ZXQ7Ci0gICAgICAgIH07Ci0gICAgICAgIAotICAgICAgICB2YXIgdHlwZSA9IGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgICAgIHJldHVybiBzaW5nbGVfdHlwZSgpIHx8IHVuaW9uX3R5cGUoKTsKLSAg
ICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgIHZhciBhcmd1bWVudCA9IGZ1bmN0aW9uIChzdG9y
ZSkgewotICAgICAgICAgICAgdmFyIHJldCA9IHsgb3B0aW9uYWw6IGZhbHNlLCB2YXJpYWRpYzog
ZmFsc2UgfTsKLSAgICAgICAgICAgIHJldC5leHRBdHRycyA9IGV4dGVuZGVkX2F0dHJzKHN0b3Jl
KTsKLSAgICAgICAgICAgIGFsbF93cyhzdG9yZSwgInBlYSIpOwotICAgICAgICAgICAgdmFyIG9w
dF90b2tlbiA9IGNvbnN1bWUoSUQsICJvcHRpb25hbCIpOwotICAgICAgICAgICAgaWYgKG9wdF90
b2tlbikgewotICAgICAgICAgICAgICAgIHJldC5vcHRpb25hbCA9IHRydWU7Ci0gICAgICAgICAg
ICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXQuaWRsVHlwZSA9
IHR5cGUoKTsKLSAgICAgICAgICAgIGlmICghcmV0LmlkbFR5cGUpIHsKLSAgICAgICAgICAgICAg
ICBpZiAob3B0X3Rva2VuKSB0b2tlbnMudW5zaGlmdChvcHRfdG9rZW4pOwotICAgICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHZhciB0eXBlX3Rva2VuID0g
bGFzdF90b2tlbjsKLSAgICAgICAgICAgIGlmICghcmV0Lm9wdGlvbmFsKSB7Ci0gICAgICAgICAg
ICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPj0gMyAm
JgotICAgICAgICAgICAgICAgICAgICB0b2tlbnNbMF0udHlwZSA9PT0gIm90aGVyIiAmJiB0b2tl
bnNbMF0udmFsdWUgPT09ICIuIiAmJgotICAgICAgICAgICAgICAgICAgICB0b2tlbnNbMV0udHlw
ZSA9PT0gIm90aGVyIiAmJiB0b2tlbnNbMV0udmFsdWUgPT09ICIuIiAmJgotICAgICAgICAgICAg
ICAgICAgICB0b2tlbnNbMl0udHlwZSA9PT0gIm90aGVyIiAmJiB0b2tlbnNbMl0udmFsdWUgPT09
ICIuIgotICAgICAgICAgICAgICAgICAgICApIHsKLSAgICAgICAgICAgICAgICAgICAgdG9rZW5z
LnNoaWZ0KCk7Ci0gICAgICAgICAgICAgICAgICAgIHRva2Vucy5zaGlmdCgpOwotICAgICAgICAg
ICAgICAgICAgICB0b2tlbnMuc2hpZnQoKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0LnZhcmlh
ZGljID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBhbGxfd3MoKTsKLSAgICAgICAgICAgIHZhciBuYW1lID0gY29uc3VtZShJRCk7Ci0gICAgICAg
ICAgICBpZiAoIW5hbWUpIHsKLSAgICAgICAgICAgICAgICBpZiAob3B0X3Rva2VuKSB0b2tlbnMu
dW5zaGlmdChvcHRfdG9rZW4pOwotICAgICAgICAgICAgICAgIHRva2Vucy51bnNoaWZ0KHR5cGVf
dG9rZW4pOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHJldC5uYW1lID0gbmFtZS52YWx1ZTsKLSAgICAgICAgICAgIGlmIChyZXQub3B0aW9uYWwp
IHsKLSAgICAgICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgICAgICByZXRbImRlZmF1
bHQiXSA9IGRlZmF1bHRfKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gcmV0
OwotICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAgdmFyIGFyZ3VtZW50X2xpc3QgPSBmdW5j
dGlvbiAoc3RvcmUpIHsKLSAgICAgICAgICAgIHZhciByZXQgPSBbXQotICAgICAgICAgICAgLCAg
IGFyZyA9IGFyZ3VtZW50KHN0b3JlID8gcmV0IDogbnVsbCkKLSAgICAgICAgICAgIDsKLSAgICAg
ICAgICAgIGlmICghYXJnKSByZXR1cm47Ci0gICAgICAgICAgICByZXQucHVzaChhcmcpOwotICAg
ICAgICAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgICAgICAgICBhbGxfd3Moc3RvcmUgPyBy
ZXQgOiBudWxsKTsKLSAgICAgICAgICAgICAgICBpZiAoIWNvbnN1bWUoT1RIRVIsICIsIikpIHJl
dHVybiByZXQ7Ci0gICAgICAgICAgICAgICAgdmFyIG54dCA9IGFyZ3VtZW50KHN0b3JlID8gcmV0
IDogbnVsbCkgfHwgZXJyb3IoIlRyYWlsaW5nIGNvbW1hIGluIGFyZ3VtZW50cyBsaXN0Iik7Ci0g
ICAgICAgICAgICAgICAgcmV0LnB1c2gobnh0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsK
LSAgICAgICAgCi0gICAgICAgIHZhciB0eXBlX3BhaXIgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAg
ICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIHZhciBrID0gdHlwZSgpOwotICAgICAgICAgICAg
aWYgKCFrKSByZXR1cm47Ci0gICAgICAgICAgICBhbGxfd3MoKQotICAgICAgICAgICAgaWYgKCFj
b25zdW1lKE9USEVSLCAiLCIpKSByZXR1cm47Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAg
ICAgICAgIHZhciB2ID0gdHlwZSgpOwotICAgICAgICAgICAgaWYgKCF2KSByZXR1cm47Ci0gICAg
ICAgICAgICByZXR1cm4gW2ssIHZdOwotICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAgdmFy
IHNpbXBsZV9leHRlbmRlZF9hdHRyID0gZnVuY3Rpb24gKHN0b3JlKSB7Ci0gICAgICAgICAgICBh
bGxfd3MoKTsKLSAgICAgICAgICAgIHZhciBuYW1lID0gY29uc3VtZShJRCk7Ci0gICAgICAgICAg
ICBpZiAoIW5hbWUpIHJldHVybjsKLSAgICAgICAgICAgIHZhciByZXQgPSB7Ci0gICAgICAgICAg
ICAgICAgbmFtZTogbmFtZS52YWx1ZQotICAgICAgICAgICAgLCAgICJhcmd1bWVudHMiOiBudWxs
Ci0gICAgICAgICAgICB9OwotICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICB2YXIg
ZXEgPSBjb25zdW1lKE9USEVSLCAiPSIpOwotICAgICAgICAgICAgaWYgKGVxKSB7Ci0gICAgICAg
ICAgICAgICAgdmFyIHJoczsKLSAgICAgICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAg
ICAgICBpZiAocmhzID0gY29uc3VtZShJRCkpIHsKLSAgICAgICAgICAgICAgICAgIHJldC5yaHMg
PSByaHMKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoY29uc3Vt
ZShPVEhFUiwgIigiKSkgewotICAgICAgICAgICAgICAgICAgICAvLyBbRXhwb3NlZD0oV2luZG93
LFdvcmtlcildCi0gICAgICAgICAgICAgICAgICAgIHJocyA9IFtdOwotICAgICAgICAgICAgICAg
ICAgICB2YXIgaWQgPSBjb25zdW1lKElEKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGlkKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgcmhzID0gW2lkLnZhbHVlXTsKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVycyhyaHMpOwotICAgICAgICAg
ICAgICAgICAgICBjb25zdW1lKE9USEVSLCAiKSIpIHx8IGVycm9yKCJVbmV4cGVjdGVkIHRva2Vu
IGluIGV4dGVuZGVkIGF0dHJpYnV0ZSBhcmd1bWVudCBsaXN0IG9yIHR5cGUgcGFpciIpOwotICAg
ICAgICAgICAgICAgICAgICByZXQucmhzID0gewotICAgICAgICAgICAgICAgICAgICAgICAgdHlw
ZTogImlkZW50aWZpZXItbGlzdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmhz
Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIGlmICghcmV0LnJocykgcmV0dXJuIGVycm9yKCJObyByaWdodCBoYW5kIHNpZGUgdG8gZXh0
ZW5kZWQgYXR0cmlidXRlIGFzc2lnbm1lbnQiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGFsbF93cygpOwotICAgICAgICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICIoIikpIHsKLSAgICAg
ICAgICAgICAgICB2YXIgYXJncywgcGFpcjsKLSAgICAgICAgICAgICAgICAvLyBbQ29uc3RydWN0
b3IoRE9NU3RyaW5nIHN0cildCi0gICAgICAgICAgICAgICAgaWYgKGFyZ3MgPSBhcmd1bWVudF9s
aXN0KHN0b3JlKSkgewotICAgICAgICAgICAgICAgICAgICByZXRbImFyZ3VtZW50cyJdID0gYXJn
czsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgLy8gW01hcENsYXNzKERPTVN0
cmluZywgRE9NU3RyaW5nKV0KLSAgICAgICAgICAgICAgICBlbHNlIGlmIChwYWlyID0gdHlwZV9w
YWlyKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0LnR5cGVQYWlyID0gcGFpcjsKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgLy8gW0NvbnN0cnVjdG9yKCldCi0gICAgICAg
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldFsiYXJndW1lbnRzIl0gPSBb
XTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAg
ICAgICAgICAgY29uc3VtZShPVEhFUiwgIikiKSB8fCBlcnJvcigiVW5leHBlY3RlZCB0b2tlbiBp
biBleHRlbmRlZCBhdHRyaWJ1dGUgYXJndW1lbnQgbGlzdCBvciB0eXBlIHBhaXIiKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAgIH07Ci0gICAgICAgIAot
ICAgICAgICAvLyBOb3RlOiB3ZSBwYXJzZSBzb21ldGhpbmcgc2ltcGxlciB0aGFuIHRoZSBvZmZp
Y2lhbCBzeW50YXguIEl0J3MgYWxsIHRoYXQgZXZlcgotICAgICAgICAvLyBzZWVtcyB0byBiZSB1
c2VkCi0gICAgICAgIHZhciBleHRlbmRlZF9hdHRycyA9IGZ1bmN0aW9uIChzdG9yZSkgewotICAg
ICAgICAgICAgdmFyIGVhcyA9IFtdOwotICAgICAgICAgICAgYWxsX3dzKHN0b3JlKTsKLSAgICAg
ICAgICAgIGlmICghY29uc3VtZShPVEhFUiwgIlsiKSkgcmV0dXJuIGVhczsKLSAgICAgICAgICAg
IGVhc1swXSA9IHNpbXBsZV9leHRlbmRlZF9hdHRyKHN0b3JlKSB8fCBlcnJvcigiRXh0ZW5kZWQg
YXR0cmlidXRlIHdpdGggbm90IGNvbnRlbnQiKTsKLSAgICAgICAgICAgIGFsbF93cygpOwotICAg
ICAgICAgICAgd2hpbGUgKGNvbnN1bWUoT1RIRVIsICIsIikpIHsKLSAgICAgICAgICAgICAgICBl
YXMucHVzaChzaW1wbGVfZXh0ZW5kZWRfYXR0cihzdG9yZSkgfHwgZXJyb3IoIlRyYWlsaW5nIGNv
bW1hIGluIGV4dGVuZGVkIGF0dHJpYnV0ZSIpKTsKLSAgICAgICAgICAgICAgICBhbGxfd3MoKTsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNvbnN1bWUoT1RIRVIsICJdIikgfHwgZXJyb3Io
Ik5vIGVuZCBvZiBleHRlbmRlZCBhdHRyaWJ1dGUiKTsKLSAgICAgICAgICAgIHJldHVybiBlYXM7
Ci0gICAgICAgIH07Ci0gICAgICAgIAotICAgICAgICB2YXIgZGVmYXVsdF8gPSBmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIGlmIChjb25zdW1lKE9USEVS
LCAiPSIpKSB7Ci0gICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgdmFy
IGRlZiA9IGNvbnN0X3ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGRlZikgewotICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZGVmOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICBlbHNlIGlmIChjb25zdW1lKE9USEVSLCAiWyIpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGlmICghY29uc3VtZShPVEhFUiwgIl0iKSkgZXJyb3IoIkRlZmF1bHQgc2VxdWVuY2UgdmFsdWUg
bXVzdCBiZSBlbXB0eSIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAic2Vx
dWVuY2UiLCB2YWx1ZTogW10gfTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBzdHIgPSBjb25zdW1lKFNUUikgfHwgZXJy
b3IoIk5vIHZhbHVlIGZvciBkZWZhdWx0Iik7Ci0gICAgICAgICAgICAgICAgICAgIHN0ci52YWx1
ZSA9IHN0ci52YWx1ZS5yZXBsYWNlKC9eIi8sICIiKS5yZXBsYWNlKC8iJC8sICIiKTsKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIHN0cjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH07Ci0gICAgICAgIAotICAgICAgICB2YXIgY29uc3RfID0gZnVuY3Rpb24g
KHN0b3JlKSB7Ci0gICAgICAgICAgICBhbGxfd3Moc3RvcmUsICJwZWEiKTsKLSAgICAgICAgICAg
IGlmICghY29uc3VtZShJRCwgImNvbnN0IikpIHJldHVybjsKLSAgICAgICAgICAgIHZhciByZXQg
PSB7IHR5cGU6ICJjb25zdCIsIG51bGxhYmxlOiBmYWxzZSB9OwotICAgICAgICAgICAgYWxsX3dz
KCk7Ci0gICAgICAgICAgICB2YXIgdHlwID0gcHJpbWl0aXZlX3R5cGUoKTsKLSAgICAgICAgICAg
IGlmICghdHlwKSB7Ci0gICAgICAgICAgICAgICAgdHlwID0gY29uc3VtZShJRCkgfHwgZXJyb3Io
Ik5vIHR5cGUgZm9yIGNvbnN0Iik7Ci0gICAgICAgICAgICAgICAgdHlwID0gdHlwLnZhbHVlOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0LmlkbFR5cGUgPSB0eXA7Ci0gICAgICAgICAg
ICBhbGxfd3MoKTsKLSAgICAgICAgICAgIGlmIChjb25zdW1lKE9USEVSLCAiPyIpKSB7Ci0gICAg
ICAgICAgICAgICAgcmV0Lm51bGxhYmxlID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBhbGxfd3Mo
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHZhciBuYW1lID0gY29uc3VtZShJRCkgfHwg
ZXJyb3IoIk5vIG5hbWUgZm9yIGNvbnN0Iik7Ci0gICAgICAgICAgICByZXQubmFtZSA9IG5hbWUu
dmFsdWU7Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIGNvbnN1bWUoT1RIRVIs
ICI9IikgfHwgZXJyb3IoIk5vIHZhbHVlIGFzc2lnbm1lbnQgZm9yIGNvbnN0Iik7Ci0gICAgICAg
ICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIHZhciBjbnQgPSBjb25zdF92YWx1ZSgpOwotICAg
ICAgICAgICAgaWYgKGNudCkgcmV0LnZhbHVlID0gY250OwotICAgICAgICAgICAgZWxzZSBlcnJv
cigiTm8gdmFsdWUgZm9yIGNvbnN0Iik7Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAg
ICAgIGNvbnN1bWUoT1RIRVIsICI7IikgfHwgZXJyb3IoIlVudGVybWluYXRlZCBjb25zdCIpOwot
ICAgICAgICAgICAgcmV0dXJuIHJldDsKLSAgICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgIHZh
ciBpbmhlcml0YW5jZSA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGFsbF93cygpOwotICAg
ICAgICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICI6IikpIHsKLSAgICAgICAgICAgICAgICBhbGxf
d3MoKTsKLSAgICAgICAgICAgICAgICB2YXIgaW5oID0gY29uc3VtZShJRCkgfHwgZXJyb3IgKCJO
byB0eXBlIGluIGluaGVyaXRhbmNlIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGluaC52YWx1
ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgIHZhciBvcGVy
YXRpb25fcmVzdCA9IGZ1bmN0aW9uIChyZXQsIHN0b3JlKSB7Ci0gICAgICAgICAgICBhbGxfd3Mo
KTsKLSAgICAgICAgICAgIGlmICghcmV0KSByZXQgPSB7fTsKLSAgICAgICAgICAgIHZhciBuYW1l
ID0gY29uc3VtZShJRCk7Ci0gICAgICAgICAgICByZXQubmFtZSA9IG5hbWUgPyBuYW1lLnZhbHVl
IDogbnVsbDsKLSAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAgY29uc3VtZShPVEhF
UiwgIigiKSB8fCBlcnJvcigiSW52YWxpZCBvcGVyYXRpb24iKTsKLSAgICAgICAgICAgIHJldFsi
YXJndW1lbnRzIl0gPSBhcmd1bWVudF9saXN0KHN0b3JlKSB8fCBbXTsKLSAgICAgICAgICAgIGFs
bF93cygpOwotICAgICAgICAgICAgY29uc3VtZShPVEhFUiwgIikiKSB8fCBlcnJvcigiVW50ZXJt
aW5hdGVkIG9wZXJhdGlvbiIpOwotICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICBj
b25zdW1lKE9USEVSLCAiOyIpIHx8IGVycm9yKCJVbnRlcm1pbmF0ZWQgb3BlcmF0aW9uIik7Ci0g
ICAgICAgICAgICByZXR1cm4gcmV0OwotICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAgdmFy
IGNhbGxiYWNrID0gZnVuY3Rpb24gKHN0b3JlKSB7Ci0gICAgICAgICAgICBhbGxfd3Moc3RvcmUs
ICJwZWEiKTsKLSAgICAgICAgICAgIHZhciByZXQ7Ci0gICAgICAgICAgICBpZiAoIWNvbnN1bWUo
SUQsICJjYWxsYmFjayIpKSByZXR1cm47Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAg
ICAgIHZhciB0b2sgPSBjb25zdW1lKElELCAiaW50ZXJmYWNlIik7Ci0gICAgICAgICAgICBpZiAo
dG9rKSB7Ci0gICAgICAgICAgICAgICAgdG9rZW5zLnVuc2hpZnQodG9rKTsKLSAgICAgICAgICAg
ICAgICByZXQgPSBpbnRlcmZhY2VfKCk7Ci0gICAgICAgICAgICAgICAgcmV0LnR5cGUgPSAiY2Fs
bGJhY2sgaW50ZXJmYWNlIjsKLSAgICAgICAgICAgICAgICByZXR1cm4gcmV0OwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgdmFyIG5hbWUgPSBjb25zdW1lKElEKSB8fCBlcnJvcigiTm8gbmFt
ZSBmb3IgY2FsbGJhY2siKTsKLSAgICAgICAgICAgIHJldCA9IHsgdHlwZTogImNhbGxiYWNrIiwg
bmFtZTogbmFtZS52YWx1ZSB9OwotICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICBj
b25zdW1lKE9USEVSLCAiPSIpIHx8IGVycm9yKCJObyBhc3NpZ25tZW50IGluIGNhbGxiYWNrIik7
Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIHJldC5pZGxUeXBlID0gcmV0dXJu
X3R5cGUoKTsKLSAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAgY29uc3VtZShPVEhF
UiwgIigiKSB8fCBlcnJvcigiTm8gYXJndW1lbnRzIGluIGNhbGxiYWNrIik7Ci0gICAgICAgICAg
ICByZXRbImFyZ3VtZW50cyJdID0gYXJndW1lbnRfbGlzdChzdG9yZSkgfHwgW107Ci0gICAgICAg
ICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIGNvbnN1bWUoT1RIRVIsICIpIikgfHwgZXJyb3Io
IlVudGVybWluYXRlZCBjYWxsYmFjayIpOwotICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAg
ICAgICBjb25zdW1lKE9USEVSLCAiOyIpIHx8IGVycm9yKCJVbnRlcm1pbmF0ZWQgY2FsbGJhY2si
KTsKLSAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAgIH07CiAKLSAgICAgICAgdmFyIGF0
dHJpYnV0ZSA9IGZ1bmN0aW9uIChzdG9yZSkgewotICAgICAgICAgICAgYWxsX3dzKHN0b3JlLCAi
cGVhIik7Ci0gICAgICAgICAgICB2YXIgZ3JhYmJlZCA9IFtdCi0gICAgICAgICAgICAsICAgcmV0
ID0gewotICAgICAgICAgICAgICAgIHR5cGU6ICAgICAgICAgICAiYXR0cmlidXRlIgotICAgICAg
ICAgICAgLCAgICJzdGF0aWMiOiAgICAgICBmYWxzZQotICAgICAgICAgICAgLCAgIHN0cmluZ2lm
aWVyOiAgICBmYWxzZQotICAgICAgICAgICAgLCAgIGluaGVyaXQ6ICAgICAgICBmYWxzZQotICAg
ICAgICAgICAgLCAgIHJlYWRvbmx5OiAgICAgICBmYWxzZQotICAgICAgICAgICAgfTsKLSAgICAg
ICAgICAgIGlmIChjb25zdW1lKElELCAic3RhdGljIikpIHsKLSAgICAgICAgICAgICAgICByZXRb
InN0YXRpYyJdID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBncmFiYmVkLnB1c2gobGFzdF90b2tl
bik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmIChjb25zdW1lKElELCAic3Ry
aW5naWZpZXIiKSkgewotICAgICAgICAgICAgICAgIHJldC5zdHJpbmdpZmllciA9IHRydWU7Ci0g
ICAgICAgICAgICAgICAgZ3JhYmJlZC5wdXNoKGxhc3RfdG9rZW4pOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgdmFyIHcgPSBhbGxfd3MoKTsKLSAgICAgICAgICAgIGlmICh3KSBncmFiYmVk
LnB1c2godyk7Ci0gICAgICAgICAgICBpZiAoY29uc3VtZShJRCwgImluaGVyaXQiKSkgewotICAg
ICAgICAgICAgICAgIGlmIChyZXRbInN0YXRpYyJdIHx8IHJldC5zdHJpbmdpZmllcikgZXJyb3Io
IkNhbm5vdCBoYXZlIGEgc3RhdGljIG9yIHN0cmluZ2lmaWVyIGluaGVyaXQiKTsKLSAgICAgICAg
ICAgICAgICByZXQuaW5oZXJpdCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgZ3JhYmJlZC5wdXNo
KGxhc3RfdG9rZW4pOwotICAgICAgICAgICAgICAgIHZhciB3ID0gYWxsX3dzKCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKHcpIGdyYWJiZWQucHVzaCh3KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIGlmIChjb25zdW1lKElELCAicmVhZG9ubHkiKSkgewotICAgICAgICAgICAgICAgIHJldC5y
ZWFkb25seSA9IHRydWU7Ci0gICAgICAgICAgICAgICAgZ3JhYmJlZC5wdXNoKGxhc3RfdG9rZW4p
OwotICAgICAgICAgICAgICAgIHZhciB3ID0gYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgaWYg
KHcpIGdyYWJiZWQucHVzaCh3KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghY29u
c3VtZShJRCwgImF0dHJpYnV0ZSIpKSB7Ci0gICAgICAgICAgICAgICAgdG9rZW5zID0gZ3JhYmJl
ZC5jb25jYXQodG9rZW5zKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIHJldC5pZGxUeXBlID0gdHlwZSgp
IHx8IGVycm9yKCJObyB0eXBlIGluIGF0dHJpYnV0ZSIpOwotICAgICAgICAgICAgaWYgKHJldC5p
ZGxUeXBlLnNlcXVlbmNlKSBlcnJvcigiQXR0cmlidXRlcyBjYW5ub3QgYWNjZXB0IHNlcXVlbmNl
IHR5cGVzIik7Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIHZhciBuYW1lID0g
Y29uc3VtZShJRCkgfHwgZXJyb3IoIk5vIG5hbWUgaW4gYXR0cmlidXRlIik7Ci0gICAgICAgICAg
ICByZXQubmFtZSA9IG5hbWUudmFsdWU7Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAg
ICAgIGNvbnN1bWUoT1RIRVIsICI7IikgfHwgZXJyb3IoIlVudGVybWluYXRlZCBhdHRyaWJ1dGUi
KTsKLSAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAgIH07Ci0gICAgICAgIAotICAgICAg
ICB2YXIgcmV0dXJuX3R5cGUgPSBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICB2YXIgdHlwID0g
dHlwZSgpOwotICAgICAgICAgICAgaWYgKCF0eXApIHsKLSAgICAgICAgICAgICAgICBpZiAoY29u
c3VtZShJRCwgInZvaWQiKSkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gInZvaWQiOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIGVycm9yKCJObyByZXR1cm4g
dHlwZSIpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIHR5cDsKLSAgICAgICAg
fTsKLSAgICAgICAgCi0gICAgICAgIHZhciBvcGVyYXRpb24gPSBmdW5jdGlvbiAoc3RvcmUpIHsK
LSAgICAgICAgICAgIGFsbF93cyhzdG9yZSwgInBlYSIpOwotICAgICAgICAgICAgdmFyIHJldCA9
IHsKLSAgICAgICAgICAgICAgICB0eXBlOiAgICAgICAgICAgIm9wZXJhdGlvbiIKLSAgICAgICAg
ICAgICwgICBnZXR0ZXI6ICAgICAgICAgZmFsc2UKLSAgICAgICAgICAgICwgICBzZXR0ZXI6ICAg
ICAgICAgZmFsc2UKLSAgICAgICAgICAgICwgICBjcmVhdG9yOiAgICAgICAgZmFsc2UKLSAgICAg
ICAgICAgICwgICBkZWxldGVyOiAgICAgICAgZmFsc2UKLSAgICAgICAgICAgICwgICBsZWdhY3lj
YWxsZXI6ICAgZmFsc2UKLSAgICAgICAgICAgICwgICAic3RhdGljIjogICAgICAgZmFsc2UKLSAg
ICAgICAgICAgICwgICBzdHJpbmdpZmllcjogICAgZmFsc2UKLSAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICAgICAgICAgIGFsbF93cygpOwotICAgICAg
ICAgICAgICAgIGlmIChjb25zdW1lKElELCAiZ2V0dGVyIikpIHJldC5nZXR0ZXIgPSB0cnVlOwot
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNvbnN1bWUoSUQsICJzZXR0ZXIiKSkgcmV0LnNldHRl
ciA9IHRydWU7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoY29uc3VtZShJRCwgImNyZWF0b3Ii
KSkgcmV0LmNyZWF0b3IgPSB0cnVlOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNvbnN1bWUo
SUQsICJkZWxldGVyIikpIHJldC5kZWxldGVyID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBlbHNl
IGlmIChjb25zdW1lKElELCAibGVnYWN5Y2FsbGVyIikpIHJldC5sZWdhY3ljYWxsZXIgPSB0cnVl
OwotICAgICAgICAgICAgICAgIGVsc2UgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBpZiAocmV0LmdldHRlciB8fCByZXQuc2V0dGVyIHx8IHJldC5jcmVhdG9yIHx8IHJldC5kZWxl
dGVyIHx8IHJldC5sZWdhY3ljYWxsZXIpIHsKLSAgICAgICAgICAgICAgICBhbGxfd3MoKTsKLSAg
ICAgICAgICAgICAgICByZXQuaWRsVHlwZSA9IHJldHVybl90eXBlKCk7Ci0gICAgICAgICAgICAg
ICAgb3BlcmF0aW9uX3Jlc3QocmV0LCBzdG9yZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJl
dDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChjb25zdW1lKElELCAic3RhdGljIikp
IHsKLSAgICAgICAgICAgICAgICByZXRbInN0YXRpYyJdID0gdHJ1ZTsKLSAgICAgICAgICAgICAg
ICByZXQuaWRsVHlwZSA9IHJldHVybl90eXBlKCk7Ci0gICAgICAgICAgICAgICAgb3BlcmF0aW9u
X3Jlc3QocmV0LCBzdG9yZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGVsc2UgaWYgKGNvbnN1bWUoSUQsICJzdHJpbmdpZmllciIpKSB7
Ci0gICAgICAgICAgICAgICAgcmV0LnN0cmluZ2lmaWVyID0gdHJ1ZTstCi0gICAgICAgICAgICAg
ICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICI7IikpIHJl
dHVybiByZXQ7Ci0gICAgICAgICAgICAgICAgcmV0LmlkbFR5cGUgPSByZXR1cm5fdHlwZSgpOwot
ICAgICAgICAgICAgICAgIG9wZXJhdGlvbl9yZXN0KHJldCwgc3RvcmUpOwotICAgICAgICAgICAg
ICAgIHJldHVybiByZXQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXQuaWRsVHlwZSA9
IHJldHVybl90eXBlKCk7CisgICAgdmFyIGludGVnZXJfdHlwZSA9IGZ1bmN0aW9uKCkgeworICAg
ICAgdmFyIHJldCA9ICIiOworICAgICAgYWxsX3dzKCk7CisgICAgICBpZiAoY29uc3VtZShJRCwg
InVuc2lnbmVkIikpIHJldCA9ICJ1bnNpZ25lZCAiOworICAgICAgYWxsX3dzKCk7CisgICAgICBp
ZiAoY29uc3VtZShJRCwgInNob3J0IikpIHJldHVybiByZXQgKyAic2hvcnQiOworICAgICAgaWYg
KGNvbnN1bWUoSUQsICJsb25nIikpIHsKKyAgICAgICAgcmV0ICs9ICJsb25nIjsKKyAgICAgICAg
YWxsX3dzKCk7CisgICAgICAgIGlmIChjb25zdW1lKElELCAibG9uZyIpKSByZXR1cm4gcmV0ICsg
IiBsb25nIjsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgIH0KKyAgICAgIGlmIChyZXQpIGVy
cm9yKCJGYWlsZWQgdG8gcGFyc2UgaW50ZWdlciB0eXBlIik7CisgICAgfTsKKworICAgIHZhciBm
bG9hdF90eXBlID0gZnVuY3Rpb24oKSB7CisgICAgICB2YXIgcmV0ID0gIiI7CisgICAgICBhbGxf
d3MoKTsKKyAgICAgIGlmIChjb25zdW1lKElELCAidW5yZXN0cmljdGVkIikpIHJldCA9ICJ1bnJl
c3RyaWN0ZWQgIjsKKyAgICAgIGFsbF93cygpOworICAgICAgaWYgKGNvbnN1bWUoSUQsICJmbG9h
dCIpKSByZXR1cm4gcmV0ICsgImZsb2F0IjsKKyAgICAgIGlmIChjb25zdW1lKElELCAiZG91Ymxl
IikpIHJldHVybiByZXQgKyAiZG91YmxlIjsKKyAgICAgIGlmIChyZXQpIGVycm9yKCJGYWlsZWQg
dG8gcGFyc2UgZmxvYXQgdHlwZSIpOworICAgIH07CisKKyAgICB2YXIgcHJpbWl0aXZlX3R5cGUg
PSBmdW5jdGlvbigpIHsKKyAgICAgIHZhciBudW1fdHlwZSA9IGludGVnZXJfdHlwZSgpIHx8IGZs
b2F0X3R5cGUoKTsKKyAgICAgIGlmIChudW1fdHlwZSkgcmV0dXJuIG51bV90eXBlOworICAgICAg
YWxsX3dzKCk7CisgICAgICBpZiAoY29uc3VtZShJRCwgImJvb2xlYW4iKSkgcmV0dXJuICJib29s
ZWFuIjsKKyAgICAgIGlmIChjb25zdW1lKElELCAiYnl0ZSIpKSByZXR1cm4gImJ5dGUiOworICAg
ICAgaWYgKGNvbnN1bWUoSUQsICJvY3RldCIpKSByZXR1cm4gIm9jdGV0IjsKKyAgICB9OworCisg
ICAgdmFyIGNvbnN0X3ZhbHVlID0gZnVuY3Rpb24oKSB7CisgICAgICBpZiAoY29uc3VtZShJRCwg
InRydWUiKSkgcmV0dXJuIHsgdHlwZTogImJvb2xlYW4iLCB2YWx1ZTogdHJ1ZSB9OworICAgICAg
aWYgKGNvbnN1bWUoSUQsICJmYWxzZSIpKSByZXR1cm4geyB0eXBlOiAiYm9vbGVhbiIsIHZhbHVl
OiBmYWxzZSB9OworICAgICAgaWYgKGNvbnN1bWUoSUQsICJudWxsIikpIHJldHVybiB7IHR5cGU6
ICJudWxsIiB9OworICAgICAgaWYgKGNvbnN1bWUoSUQsICJJbmZpbml0eSIpKSByZXR1cm4geyB0
eXBlOiAiSW5maW5pdHkiLCBuZWdhdGl2ZTogZmFsc2UgfTsKKyAgICAgIGlmIChjb25zdW1lKElE
LCAiTmFOIikpIHJldHVybiB7IHR5cGU6ICJOYU4iIH07CisgICAgICB2YXIgcmV0ID0gY29uc3Vt
ZShGTE9BVCkgfHwgY29uc3VtZShJTlQpOworICAgICAgaWYgKHJldCkgcmV0dXJuIHsgdHlwZTog
Im51bWJlciIsIHZhbHVlOiAxICogcmV0LnZhbHVlIH07CisgICAgICB2YXIgdG9rID0gY29uc3Vt
ZShPVEhFUiwgIi0iKTsKKyAgICAgIGlmICh0b2spIHsKKyAgICAgICAgaWYgKGNvbnN1bWUoSUQs
ICJJbmZpbml0eSIpKSByZXR1cm4geyB0eXBlOiAiSW5maW5pdHkiLCBuZWdhdGl2ZTogdHJ1ZSB9
OworICAgICAgICBlbHNlIHRva2Vucy51bnNoaWZ0KHRvayk7CisgICAgICB9CisgICAgfTsKKwor
ICAgIHZhciB0eXBlX3N1ZmZpeCA9IGZ1bmN0aW9uKG9iaikgeworICAgICAgd2hpbGUgKHRydWUp
IHsKKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIGlmIChjb25zdW1lKE9USEVSLCAiPyIpKSB7
CisgICAgICAgICAgaWYgKG9iai5udWxsYWJsZSkgZXJyb3IoIkNhbid0IG51bGxhYmxlIG1vcmUg
dGhhbiBvbmNlIik7CisgICAgICAgICAgb2JqLm51bGxhYmxlID0gdHJ1ZTsKKyAgICAgICAgfSBl
bHNlIGlmIChjb25zdW1lKE9USEVSLCAiWyIpKSB7CisgICAgICAgICAgYWxsX3dzKCk7CisgICAg
ICAgICAgY29uc3VtZShPVEhFUiwgIl0iKSB8fCBlcnJvcigiVW50ZXJtaW5hdGVkIGFycmF5IHR5
cGUiKTsKKyAgICAgICAgICBpZiAoIW9iai5hcnJheSkgeworICAgICAgICAgICAgb2JqLmFycmF5
ID0gMTsKKyAgICAgICAgICAgIG9iai5udWxsYWJsZUFycmF5ID0gW29iai5udWxsYWJsZV07Cisg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG9iai5hcnJheSsrOworICAgICAgICAgICAg
b2JqLm51bGxhYmxlQXJyYXkucHVzaChvYmoubnVsbGFibGUpOworICAgICAgICAgIH0KKyAgICAg
ICAgICBvYmoubnVsbGFibGUgPSBmYWxzZTsKKyAgICAgICAgfSBlbHNlIHJldHVybjsKKyAgICAg
IH0KKyAgICB9OworCisgICAgdmFyIHNpbmdsZV90eXBlID0gZnVuY3Rpb24oKSB7CisgICAgICB2
YXIgcHJpbSA9IHByaW1pdGl2ZV90eXBlKCksCisgICAgICAgIHJldCA9IHsgc2VxdWVuY2U6IGZh
bHNlLCBnZW5lcmljOiBudWxsLCBudWxsYWJsZTogZmFsc2UsIGFycmF5OiBmYWxzZSwgdW5pb246
IGZhbHNlIH0sCisgICAgICAgIG5hbWUsIHZhbHVlOworICAgICAgaWYgKHByaW0pIHsKKyAgICAg
ICAgcmV0LmlkbFR5cGUgPSBwcmltOworICAgICAgfSBlbHNlIGlmIChuYW1lID0gY29uc3VtZShJ
RCkpIHsKKyAgICAgICAgdmFsdWUgPSBuYW1lLnZhbHVlOworICAgICAgICBhbGxfd3MoKTsKKyAg
ICAgICAgLy8gR2VuZXJpYyB0eXBlcworICAgICAgICBpZiAoY29uc3VtZShPVEhFUiwgIjwiKSkg
eworICAgICAgICAgIC8vIGJhY2t3YXJkcyBjb21wYXQKKyAgICAgICAgICBpZiAodmFsdWUgPT09
ICJzZXF1ZW5jZSIpIHsKKyAgICAgICAgICAgIHJldC5zZXF1ZW5jZSA9IHRydWU7CisgICAgICAg
ICAgfQorICAgICAgICAgIHJldC5nZW5lcmljID0gdmFsdWU7CisgICAgICAgICAgdmFyIHR5cGVz
ID0gW107CisgICAgICAgICAgZG8gewogICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAg
ICBpZiAoY29uc3VtZShJRCwgIml0ZXJhdG9yIikpIHsKLSAgICAgICAgICAgICAgICBhbGxfd3Mo
KTsKLSAgICAgICAgICAgICAgICByZXQudHlwZSA9ICJpdGVyYXRvciI7Ci0gICAgICAgICAgICAg
ICAgaWYgKGNvbnN1bWUoSUQsICJvYmplY3QiKSkgewotICAgICAgICAgICAgICAgICAgICByZXQu
aXRlcmF0b3JPYmplY3QgPSAib2JqZWN0IjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgZWxzZSBpZiAoY29uc3VtZShPVEhFUiwgIj0iKSkgewotICAgICAgICAgICAgICAgICAg
ICBhbGxfd3MoKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWUgPSBjb25zdW1lKElEKSB8
fCBlcnJvcigiTm8gcmlnaHQgaGFuZCBzaWRlIGluIGl0ZXJhdG9yIik7Ci0gICAgICAgICAgICAg
ICAgICAgIHJldC5pdGVyYXRvck9iamVjdCA9IG5hbWUudmFsdWU7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAgICAgIGNvbnN1bWUoT1RI
RVIsICI7IikgfHwgZXJyb3IoIlVudGVybWluYXRlZCBpdGVyYXRvciIpOwotICAgICAgICAgICAg
ICAgIHJldHVybiByZXQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBvcGVyYXRpb25fcmVzdChyZXQsIHN0b3JlKTsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gcmV0OwotICAgICAgICAgICAgfQotICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAg
dmFyIGlkZW50aWZpZXJzID0gZnVuY3Rpb24gKGFycikgewotICAgICAgICAgICAgd2hpbGUgKHRy
dWUpIHsKLSAgICAgICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgICAgICBpZiAoY29u
c3VtZShPVEhFUiwgIiwiKSkgewotICAgICAgICAgICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAg
ICAgICAgICAgICAgICAgdmFyIG5hbWUgPSBjb25zdW1lKElEKSB8fCBlcnJvcigiVHJhaWxpbmcg
Y29tbWEgaW4gaWRlbnRpZmllcnMgbGlzdCIpOwotICAgICAgICAgICAgICAgICAgICBhcnIucHVz
aChuYW1lLnZhbHVlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBi
cmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgIHZhciBz
ZXJpYWxpc2VyID0gZnVuY3Rpb24gKHN0b3JlKSB7Ci0gICAgICAgICAgICBhbGxfd3Moc3RvcmUs
ICJwZWEiKTsKLSAgICAgICAgICAgIGlmICghY29uc3VtZShJRCwgInNlcmlhbGl6ZXIiKSkgcmV0
dXJuOwotICAgICAgICAgICAgdmFyIHJldCA9IHsgdHlwZTogInNlcmlhbGl6ZXIiIH07CisgICAg
ICAgICAgICB0eXBlcy5wdXNoKHR5cGUoKSB8fCBlcnJvcigiRXJyb3IgcGFyc2luZyBnZW5lcmlj
IHR5cGUgIiArIHZhbHVlKSk7CiAgICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIGlm
IChjb25zdW1lKE9USEVSLCAiPSIpKSB7Ci0gICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAg
ICAgICAgICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICJ7IikpIHsKLSAgICAgICAgICAgICAgICAg
ICAgcmV0LnBhdHRlcm5NYXAgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBhbGxfd3MoKTsK
LSAgICAgICAgICAgICAgICAgICAgdmFyIGlkID0gY29uc3VtZShJRCk7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChpZCAmJiBpZC52YWx1ZSA9PT0gImdldHRlciIpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJldC5uYW1lcyA9IFsiZ2V0dGVyIl07Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaWQgJiYgaWQudmFsdWUgPT09ICJpbmhlcml0
IikgewotICAgICAgICAgICAgICAgICAgICAgICAgcmV0Lm5hbWVzID0gWyJpbmhlcml0Il07Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVycyhyZXQubmFtZXMpOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlkKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICByZXQubmFtZXMgPSBbaWQudmFsdWVdOwotICAgICAgICAgICAgICAg
ICAgICAgICAgaWRlbnRpZmllcnMocmV0Lm5hbWVzKTsKLSAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldC5u
YW1lcyA9IFtdOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGFs
bF93cygpOwotICAgICAgICAgICAgICAgICAgICBjb25zdW1lKE9USEVSLCAifSIpIHx8IGVycm9y
KCJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciBwYXR0ZXJuIG1hcCIpOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBlbHNlIGlmIChjb25zdW1lKE9USEVSLCAiWyIpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIHJldC5wYXR0ZXJuTGlzdCA9IHRydWU7Ci0gICAgICAgICAgICAgICAg
ICAgIGFsbF93cygpOwotICAgICAgICAgICAgICAgICAgICB2YXIgaWQgPSBjb25zdW1lKElEKTsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKGlkICYmIGlkLnZhbHVlID09PSAiZ2V0dGVyIikgewot
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0Lm5hbWVzID0gWyJnZXR0ZXIiXTsKLSAgICAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpZCkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0Lm5hbWVzID0gW2lkLnZhbHVlXTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlkZW50aWZpZXJzKHJldC5uYW1lcyk7Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXQu
bmFtZXMgPSBbXTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBh
bGxfd3MoKTsKLSAgICAgICAgICAgICAgICAgICAgY29uc3VtZShPVEhFUiwgIl0iKSB8fCBlcnJv
cigiVW50ZXJtaW5hdGVkIHNlcmlhbGl6ZXIgcGF0dGVybiBsaXN0Iik7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICB2YXIgbmFt
ZSA9IGNvbnN1bWUoSUQpIHx8IGVycm9yKCJJbnZhbGlkIHNlcmlhbGl6ZXIiKTsKLSAgICAgICAg
ICAgICAgICAgICAgcmV0Lm5hbWUgPSBuYW1lLnZhbHVlOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgICAgICBjb25zdW1lKE9USEVSLCAi
OyIpIHx8IGVycm9yKCJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciIpOwotICAgICAgICAgICAgICAg
IHJldHVybiByZXQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmIChjb25zdW1l
KE9USEVSLCAiOyIpKSB7Ci0gICAgICAgICAgICAgICAgLy8gbm9vcCwganVzdCBwYXJzaW5nCi0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICByZXQuaWRs
VHlwZSA9IHJldHVybl90eXBlKCk7Ci0gICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAg
ICAgICAgICAgcmV0Lm9wZXJhdGlvbiA9IG9wZXJhdGlvbl9yZXN0KG51bGwsIHN0b3JlKTsKKyAg
ICAgICAgICB9CisgICAgICAgICAgd2hpbGUgKGNvbnN1bWUoT1RIRVIsICIsIikpOworICAgICAg
ICAgIGlmICh2YWx1ZSA9PT0gInNlcXVlbmNlIikgeworICAgICAgICAgICAgaWYgKHR5cGVzLmxl
bmd0aCAhPT0gMSkgZXJyb3IoIkEgc2VxdWVuY2UgbXVzdCBoYXZlIGV4YWN0bHkgb25lIHN1YnR5
cGUiKTsKKyAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAicmVjb3JkIikgeworICAgICAg
ICAgICAgaWYgKHR5cGVzLmxlbmd0aCAhPT0gMikgZXJyb3IoIkEgcmVjb3JkIG11c3QgaGF2ZSBl
eGFjdGx5IHR3byBzdWJ0eXBlcyIpOworICAgICAgICAgICAgaWYgKCEvXihET01TdHJpbmd8VVNW
U3RyaW5nfEJ5dGVTdHJpbmcpJC8udGVzdCh0eXBlc1swXS5pZGxUeXBlKSkgeworICAgICAgICAg
ICAgICBlcnJvcigiUmVjb3JkIGtleSBtdXN0IGJlIERPTVN0cmluZywgVVNWU3RyaW5nLCBvciBC
eXRlU3RyaW5nIik7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gcmV0OworICAg
ICAgICAgIH0KKyAgICAgICAgICByZXQuaWRsVHlwZSA9IHR5cGVzLmxlbmd0aCA9PT0gMSA/IHR5
cGVzWzBdIDogdHlwZXM7CisgICAgICAgICAgYWxsX3dzKCk7CisgICAgICAgICAgaWYgKCFjb25z
dW1lKE9USEVSLCAiPiIpKSBlcnJvcigiVW50ZXJtaW5hdGVkIGdlbmVyaWMgdHlwZSAiICsgdmFs
dWUpOworICAgICAgICAgIHR5cGVfc3VmZml4KHJldCk7CisgICAgICAgICAgcmV0dXJuIHJldDsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICByZXQuaWRsVHlwZSA9IHZhbHVlOworICAgICAg
ICB9CisgICAgICB9IGVsc2UgeworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICB0eXBl
X3N1ZmZpeChyZXQpOworICAgICAgaWYgKHJldC5udWxsYWJsZSAmJiAhcmV0LmFycmF5ICYmIHJl
dC5pZGxUeXBlID09PSAiYW55IikgZXJyb3IoIlR5cGUgYW55IGNhbm5vdCBiZSBtYWRlIG51bGxh
YmxlIik7CisgICAgICByZXR1cm4gcmV0OworICAgIH07CisKKyAgICB2YXIgdW5pb25fdHlwZSA9
IGZ1bmN0aW9uKCkgeworICAgICAgYWxsX3dzKCk7CisgICAgICBpZiAoIWNvbnN1bWUoT1RIRVIs
ICIoIikpIHJldHVybjsKKyAgICAgIHZhciByZXQgPSB7IHNlcXVlbmNlOiBmYWxzZSwgZ2VuZXJp
YzogbnVsbCwgbnVsbGFibGU6IGZhbHNlLCBhcnJheTogZmFsc2UsIHVuaW9uOiB0cnVlLCBpZGxU
eXBlOiBbXSB9OworICAgICAgdmFyIGZzdCA9IHR5cGVfd2l0aF9leHRlbmRlZF9hdHRyaWJ1dGVz
KCkgfHwgZXJyb3IoIlVuaW9uIHR5cGUgd2l0aCBubyBjb250ZW50Iik7CisgICAgICByZXQuaWRs
VHlwZS5wdXNoKGZzdCk7CisgICAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBhbGxfd3MoKTsK
KyAgICAgICAgaWYgKCFjb25zdW1lKElELCAib3IiKSkgYnJlYWs7CisgICAgICAgIHZhciB0eXAg
PSB0eXBlX3dpdGhfZXh0ZW5kZWRfYXR0cmlidXRlcygpIHx8IGVycm9yKCJObyB0eXBlIGFmdGVy
ICdvcicgaW4gdW5pb24gdHlwZSIpOworICAgICAgICByZXQuaWRsVHlwZS5wdXNoKHR5cCk7Cisg
ICAgICB9CisgICAgICBpZiAoIWNvbnN1bWUoT1RIRVIsICIpIikpIGVycm9yKCJVbnRlcm1pbmF0
ZWQgdW5pb24gdHlwZSIpOworICAgICAgdHlwZV9zdWZmaXgocmV0KTsKKyAgICAgIHJldHVybiBy
ZXQ7CisgICAgfTsKKworICAgIHZhciB0eXBlID0gZnVuY3Rpb24oKSB7CisgICAgICByZXR1cm4g
c2luZ2xlX3R5cGUoKSB8fCB1bmlvbl90eXBlKCk7CisgICAgfTsKKworICAgIHZhciB0eXBlX3dp
dGhfZXh0ZW5kZWRfYXR0cmlidXRlcyA9IGZ1bmN0aW9uKCkgeworICAgICAgdmFyIGV4dEF0dHJz
ID0gZXh0ZW5kZWRfYXR0cnMoKTsKKyAgICAgIHZhciByZXQgPSBzaW5nbGVfdHlwZSgpIHx8IHVu
aW9uX3R5cGUoKTsKKyAgICAgIGlmIChleHRBdHRycy5sZW5ndGggJiYgcmV0KSByZXQuZXh0QXR0
cnMgPSBleHRBdHRyczsKKyAgICAgIHJldHVybiByZXQ7CisgICAgfTsKKworICAgIHZhciBhcmd1
bWVudCA9IGZ1bmN0aW9uKHN0b3JlKSB7CisgICAgICB2YXIgcmV0ID0geyBvcHRpb25hbDogZmFs
c2UsIHZhcmlhZGljOiBmYWxzZSB9OworICAgICAgcmV0LmV4dEF0dHJzID0gZXh0ZW5kZWRfYXR0
cnMoc3RvcmUpOworICAgICAgYWxsX3dzKHN0b3JlLCAicGVhIik7CisgICAgICB2YXIgb3B0X3Rv
a2VuID0gY29uc3VtZShJRCwgIm9wdGlvbmFsIik7CisgICAgICBpZiAob3B0X3Rva2VuKSB7Cisg
ICAgICAgIHJldC5vcHRpb25hbCA9IHRydWU7CisgICAgICAgIGFsbF93cygpOworICAgICAgfQor
ICAgICAgcmV0LmlkbFR5cGUgPSB0eXBlX3dpdGhfZXh0ZW5kZWRfYXR0cmlidXRlcygpOworICAg
ICAgaWYgKCFyZXQuaWRsVHlwZSkgeworICAgICAgICBpZiAob3B0X3Rva2VuKSB0b2tlbnMudW5z
aGlmdChvcHRfdG9rZW4pOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICB2YXIgdHlw
ZV90b2tlbiA9IGxhc3RfdG9rZW47CisgICAgICBpZiAoIXJldC5vcHRpb25hbCkgeworICAgICAg
ICBhbGxfd3MoKTsKKyAgICAgICAgaWYgKHRva2Vucy5sZW5ndGggPj0gMyAmJgorICAgICAgICAg
IHRva2Vuc1swXS50eXBlID09PSAib3RoZXIiICYmIHRva2Vuc1swXS52YWx1ZSA9PT0gIi4iICYm
CisgICAgICAgICAgdG9rZW5zWzFdLnR5cGUgPT09ICJvdGhlciIgJiYgdG9rZW5zWzFdLnZhbHVl
ID09PSAiLiIgJiYKKyAgICAgICAgICB0b2tlbnNbMl0udHlwZSA9PT0gIm90aGVyIiAmJiB0b2tl
bnNbMl0udmFsdWUgPT09ICIuIgorICAgICAgICApIHsKKyAgICAgICAgICB0b2tlbnMuc2hpZnQo
KTsKKyAgICAgICAgICB0b2tlbnMuc2hpZnQoKTsKKyAgICAgICAgICB0b2tlbnMuc2hpZnQoKTsK
KyAgICAgICAgICByZXQudmFyaWFkaWMgPSB0cnVlOworICAgICAgICB9CisgICAgICB9CisgICAg
ICBhbGxfd3MoKTsKKyAgICAgIHZhciBuYW1lID0gY29uc3VtZShJRCk7CisgICAgICBpZiAoIW5h
bWUpIHsKKyAgICAgICAgaWYgKG9wdF90b2tlbikgdG9rZW5zLnVuc2hpZnQob3B0X3Rva2VuKTsK
KyAgICAgICAgdG9rZW5zLnVuc2hpZnQodHlwZV90b2tlbik7CisgICAgICAgIHJldHVybjsKKyAg
ICAgIH0KKyAgICAgIHJldC5uYW1lID0gbmFtZS52YWx1ZTsKKyAgICAgIGlmIChyZXQub3B0aW9u
YWwpIHsKKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIHZhciBkZmx0ID0gZGVmYXVsdF8oKTsK
KyAgICAgICAgaWYgKHR5cGVvZiBkZmx0ICE9PSAidW5kZWZpbmVkIikgeworICAgICAgICAgIHJl
dFsiZGVmYXVsdCJdID0gZGZsdDsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgcmV0dXJuIHJl
dDsKKyAgICB9OworCisgICAgdmFyIGFyZ3VtZW50X2xpc3QgPSBmdW5jdGlvbihzdG9yZSkgewor
ICAgICAgdmFyIHJldCA9IFtdLAorICAgICAgICBhcmcgPSBhcmd1bWVudChzdG9yZSA/IHJldCA6
IG51bGwpOworICAgICAgaWYgKCFhcmcpIHJldHVybjsKKyAgICAgIHJldC5wdXNoKGFyZyk7Cisg
ICAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBhbGxfd3Moc3RvcmUgPyByZXQgOiBudWxsKTsK
KyAgICAgICAgaWYgKCFjb25zdW1lKE9USEVSLCAiLCIpKSByZXR1cm4gcmV0OworICAgICAgICB2
YXIgbnh0ID0gYXJndW1lbnQoc3RvcmUgPyByZXQgOiBudWxsKSB8fCBlcnJvcigiVHJhaWxpbmcg
Y29tbWEgaW4gYXJndW1lbnRzIGxpc3QiKTsKKyAgICAgICAgcmV0LnB1c2gobnh0KTsKKyAgICAg
IH0KKyAgICB9OworCisgICAgdmFyIHNpbXBsZV9leHRlbmRlZF9hdHRyID0gZnVuY3Rpb24oc3Rv
cmUpIHsKKyAgICAgIGFsbF93cygpOworICAgICAgdmFyIG5hbWUgPSBjb25zdW1lKElEKTsKKyAg
ICAgIGlmICghbmFtZSkgcmV0dXJuOworICAgICAgdmFyIHJldCA9IHsKKyAgICAgICAgbmFtZTog
bmFtZS52YWx1ZSwKKyAgICAgICAgImFyZ3VtZW50cyI6IG51bGwKKyAgICAgIH07CisgICAgICBh
bGxfd3MoKTsKKyAgICAgIHZhciBlcSA9IGNvbnN1bWUoT1RIRVIsICI9Iik7CisgICAgICBpZiAo
ZXEpIHsKKyAgICAgICAgdmFyIHJoczsKKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIGlmIChy
aHMgPSBjb25zdW1lKElEKSkgeworICAgICAgICAgIHJldC5yaHMgPSByaHM7CisgICAgICAgIH0g
ZWxzZSBpZiAocmhzID0gY29uc3VtZShGTE9BVCkpIHsKKyAgICAgICAgICByZXQucmhzID0gcmhz
OworICAgICAgICB9IGVsc2UgaWYgKHJocyA9IGNvbnN1bWUoSU5UKSkgeworICAgICAgICAgIHJl
dC5yaHMgPSByaHM7CisgICAgICAgIH0gZWxzZSBpZiAocmhzID0gY29uc3VtZShTVFIpKSB7Cisg
ICAgICAgICAgcmV0LnJocyA9IHJoczsKKyAgICAgICAgfSBlbHNlIGlmIChjb25zdW1lKE9USEVS
LCAiKCIpKSB7CisgICAgICAgICAgLy8gW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQorICAgICAg
ICAgIHJocyA9IFtdOworICAgICAgICAgIHZhciBpZCA9IGNvbnN1bWUoSUQpOworICAgICAgICAg
IGlmIChpZCkgeworICAgICAgICAgICAgcmhzID0gW2lkLnZhbHVlXTsKKyAgICAgICAgICB9Cisg
ICAgICAgICAgaWRlbnRpZmllcnMocmhzKTsKKyAgICAgICAgICBjb25zdW1lKE9USEVSLCAiKSIp
IHx8IGVycm9yKCJVbmV4cGVjdGVkIHRva2VuIGluIGV4dGVuZGVkIGF0dHJpYnV0ZSBhcmd1bWVu
dCBsaXN0IG9yIHR5cGUgcGFpciIpOworICAgICAgICAgIHJldC5yaHMgPSB7CisgICAgICAgICAg
ICB0eXBlOiAiaWRlbnRpZmllci1saXN0IiwKKyAgICAgICAgICAgIHZhbHVlOiByaHMKKyAgICAg
ICAgICB9OworICAgICAgICB9CisgICAgICAgIGlmICghcmV0LnJocykgcmV0dXJuIGVycm9yKCJO
byByaWdodCBoYW5kIHNpZGUgdG8gZXh0ZW5kZWQgYXR0cmlidXRlIGFzc2lnbm1lbnQiKTsKKyAg
ICAgIH0KKyAgICAgIGFsbF93cygpOworICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICIoIikpIHsK
KyAgICAgICAgdmFyIGFyZ3MsIHBhaXI7CisgICAgICAgIC8vIFtDb25zdHJ1Y3RvcihET01TdHJp
bmcgc3RyKV0KKyAgICAgICAgaWYgKGFyZ3MgPSBhcmd1bWVudF9saXN0KHN0b3JlKSkgeworICAg
ICAgICAgIHJldFsiYXJndW1lbnRzIl0gPSBhcmdzOworICAgICAgICB9CisgICAgICAgIC8vIFtD
b25zdHJ1Y3RvcigpXQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICByZXRbImFyZ3VtZW50cyJd
ID0gW107CisgICAgICAgIH0KKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIGNvbnN1bWUoT1RI
RVIsICIpIikgfHwgZXJyb3IoIlVuZXhwZWN0ZWQgdG9rZW4gaW4gZXh0ZW5kZWQgYXR0cmlidXRl
IGFyZ3VtZW50IGxpc3QiKTsKKyAgICAgIH0KKyAgICAgIHJldHVybiByZXQ7CisgICAgfTsKKwor
ICAgIC8vIE5vdGU6IHdlIHBhcnNlIHNvbWV0aGluZyBzaW1wbGVyIHRoYW4gdGhlIG9mZmljaWFs
IHN5bnRheC4gSXQncyBhbGwgdGhhdCBldmVyCisgICAgLy8gc2VlbXMgdG8gYmUgdXNlZAorICAg
IHZhciBleHRlbmRlZF9hdHRycyA9IGZ1bmN0aW9uKHN0b3JlKSB7CisgICAgICB2YXIgZWFzID0g
W107CisgICAgICBhbGxfd3Moc3RvcmUpOworICAgICAgaWYgKCFjb25zdW1lKE9USEVSLCAiWyIp
KSByZXR1cm4gZWFzOworICAgICAgZWFzWzBdID0gc2ltcGxlX2V4dGVuZGVkX2F0dHIoc3RvcmUp
IHx8IGVycm9yKCJFeHRlbmRlZCBhdHRyaWJ1dGUgd2l0aCBub3QgY29udGVudCIpOworICAgICAg
YWxsX3dzKCk7CisgICAgICB3aGlsZSAoY29uc3VtZShPVEhFUiwgIiwiKSkgeworICAgICAgICBp
ZiAoZWFzLmxlbmd0aCkgeworICAgICAgICAgIGVhcy5wdXNoKHNpbXBsZV9leHRlbmRlZF9hdHRy
KHN0b3JlKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgZWFzLnB1c2goc2ltcGxlX2V4
dGVuZGVkX2F0dHIoc3RvcmUpIHx8IGVycm9yKCJUcmFpbGluZyBjb21tYSBpbiBleHRlbmRlZCBh
dHRyaWJ1dGUiKSk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGNvbnN1bWUoT1RIRVIsICJd
IikgfHwgZXJyb3IoIk5vIGVuZCBvZiBleHRlbmRlZCBhdHRyaWJ1dGUiKTsKKyAgICAgIHJldHVy
biBlYXM7CisgICAgfTsKKworICAgIHZhciBkZWZhdWx0XyA9IGZ1bmN0aW9uKCkgeworICAgICAg
YWxsX3dzKCk7CisgICAgICBpZiAoY29uc3VtZShPVEhFUiwgIj0iKSkgeworICAgICAgICBhbGxf
d3MoKTsKKyAgICAgICAgdmFyIGRlZiA9IGNvbnN0X3ZhbHVlKCk7CisgICAgICAgIGlmIChkZWYp
IHsKKyAgICAgICAgICByZXR1cm4gZGVmOworICAgICAgICB9IGVsc2UgaWYgKGNvbnN1bWUoT1RI
RVIsICJbIikpIHsKKyAgICAgICAgICBpZiAoIWNvbnN1bWUoT1RIRVIsICJdIikpIGVycm9yKCJE
ZWZhdWx0IHNlcXVlbmNlIHZhbHVlIG11c3QgYmUgZW1wdHkiKTsKKyAgICAgICAgICByZXR1cm4g
eyB0eXBlOiAic2VxdWVuY2UiLCB2YWx1ZTogW10gfTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICB2YXIgc3RyID0gY29uc3VtZShTVFIpIHx8IGVycm9yKCJObyB2YWx1ZSBmb3IgZGVmYXVs
dCIpOworICAgICAgICAgIHN0ci52YWx1ZSA9IHN0ci52YWx1ZS5yZXBsYWNlKC9eIi8sICIiKS5y
ZXBsYWNlKC8iJC8sICIiKTsKKyAgICAgICAgICByZXR1cm4gc3RyOworICAgICAgICB9CisgICAg
ICB9CisgICAgfTsKKworICAgIHZhciBjb25zdF8gPSBmdW5jdGlvbihzdG9yZSkgeworICAgICAg
YWxsX3dzKHN0b3JlLCAicGVhIik7CisgICAgICBpZiAoIWNvbnN1bWUoSUQsICJjb25zdCIpKSBy
ZXR1cm47CisgICAgICB2YXIgcmV0ID0geyB0eXBlOiAiY29uc3QiLCBudWxsYWJsZTogZmFsc2Ug
fTsKKyAgICAgIGFsbF93cygpOworICAgICAgdmFyIHR5cCA9IHByaW1pdGl2ZV90eXBlKCk7Cisg
ICAgICBpZiAoIXR5cCkgeworICAgICAgICB0eXAgPSBjb25zdW1lKElEKSB8fCBlcnJvcigiTm8g
dHlwZSBmb3IgY29uc3QiKTsKKyAgICAgICAgdHlwID0gdHlwLnZhbHVlOworICAgICAgfQorICAg
ICAgcmV0LmlkbFR5cGUgPSB0eXA7CisgICAgICBhbGxfd3MoKTsKKyAgICAgIGlmIChjb25zdW1l
KE9USEVSLCAiPyIpKSB7CisgICAgICAgIHJldC5udWxsYWJsZSA9IHRydWU7CisgICAgICAgIGFs
bF93cygpOworICAgICAgfQorICAgICAgdmFyIG5hbWUgPSBjb25zdW1lKElEKSB8fCBlcnJvcigi
Tm8gbmFtZSBmb3IgY29uc3QiKTsKKyAgICAgIHJldC5uYW1lID0gbmFtZS52YWx1ZTsKKyAgICAg
IGFsbF93cygpOworICAgICAgY29uc3VtZShPVEhFUiwgIj0iKSB8fCBlcnJvcigiTm8gdmFsdWUg
YXNzaWdubWVudCBmb3IgY29uc3QiKTsKKyAgICAgIGFsbF93cygpOworICAgICAgdmFyIGNudCA9
IGNvbnN0X3ZhbHVlKCk7CisgICAgICBpZiAoY250KSByZXQudmFsdWUgPSBjbnQ7CisgICAgICBl
bHNlIGVycm9yKCJObyB2YWx1ZSBmb3IgY29uc3QiKTsKKyAgICAgIGFsbF93cygpOworICAgICAg
Y29uc3VtZShPVEhFUiwgIjsiKSB8fCBlcnJvcigiVW50ZXJtaW5hdGVkIGNvbnN0Iik7CisgICAg
ICByZXR1cm4gcmV0OworICAgIH07CisKKyAgICB2YXIgaW5oZXJpdGFuY2UgPSBmdW5jdGlvbigp
IHsKKyAgICAgIGFsbF93cygpOworICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICI6IikpIHsKKyAg
ICAgICAgYWxsX3dzKCk7CisgICAgICAgIHZhciBpbmggPSBjb25zdW1lKElEKSB8fCBlcnJvcigi
Tm8gdHlwZSBpbiBpbmhlcml0YW5jZSIpOworICAgICAgICByZXR1cm4gaW5oLnZhbHVlOworICAg
ICAgfQorICAgIH07CisKKyAgICB2YXIgb3BlcmF0aW9uX3Jlc3QgPSBmdW5jdGlvbihyZXQsIHN0
b3JlKSB7CisgICAgICBhbGxfd3MoKTsKKyAgICAgIGlmICghcmV0KSByZXQgPSB7fTsKKyAgICAg
IHZhciBuYW1lID0gY29uc3VtZShJRCk7CisgICAgICByZXQubmFtZSA9IG5hbWUgPyBuYW1lLnZh
bHVlIDogbnVsbDsKKyAgICAgIGFsbF93cygpOworICAgICAgY29uc3VtZShPVEhFUiwgIigiKSB8
fCBlcnJvcigiSW52YWxpZCBvcGVyYXRpb24iKTsKKyAgICAgIHJldFsiYXJndW1lbnRzIl0gPSBh
cmd1bWVudF9saXN0KHN0b3JlKSB8fCBbXTsKKyAgICAgIGFsbF93cygpOworICAgICAgY29uc3Vt
ZShPVEhFUiwgIikiKSB8fCBlcnJvcigiVW50ZXJtaW5hdGVkIG9wZXJhdGlvbiIpOworICAgICAg
YWxsX3dzKCk7CisgICAgICBjb25zdW1lKE9USEVSLCAiOyIpIHx8IGVycm9yKCJVbnRlcm1pbmF0
ZWQgb3BlcmF0aW9uIik7CisgICAgICByZXR1cm4gcmV0OworICAgIH07CisKKyAgICB2YXIgY2Fs
bGJhY2sgPSBmdW5jdGlvbihzdG9yZSkgeworICAgICAgYWxsX3dzKHN0b3JlLCAicGVhIik7Cisg
ICAgICB2YXIgcmV0OworICAgICAgaWYgKCFjb25zdW1lKElELCAiY2FsbGJhY2siKSkgcmV0dXJu
OworICAgICAgYWxsX3dzKCk7CisgICAgICB2YXIgdG9rID0gY29uc3VtZShJRCwgImludGVyZmFj
ZSIpOworICAgICAgaWYgKHRvaykgeworICAgICAgICB0b2tlbnMudW5zaGlmdCh0b2spOworICAg
ICAgICByZXQgPSBpbnRlcmZhY2VfKCk7CisgICAgICAgIHJldC50eXBlID0gImNhbGxiYWNrIGlu
dGVyZmFjZSI7CisgICAgICAgIHJldHVybiByZXQ7CisgICAgICB9CisgICAgICB2YXIgbmFtZSA9
IGNvbnN1bWUoSUQpIHx8IGVycm9yKCJObyBuYW1lIGZvciBjYWxsYmFjayIpOworICAgICAgcmV0
ID0geyB0eXBlOiAiY2FsbGJhY2siLCBuYW1lOiBuYW1lLnZhbHVlIH07CisgICAgICBhbGxfd3Mo
KTsKKyAgICAgIGNvbnN1bWUoT1RIRVIsICI9IikgfHwgZXJyb3IoIk5vIGFzc2lnbm1lbnQgaW4g
Y2FsbGJhY2siKTsKKyAgICAgIGFsbF93cygpOworICAgICAgcmV0LmlkbFR5cGUgPSByZXR1cm5f
dHlwZSgpOworICAgICAgYWxsX3dzKCk7CisgICAgICBjb25zdW1lKE9USEVSLCAiKCIpIHx8IGVy
cm9yKCJObyBhcmd1bWVudHMgaW4gY2FsbGJhY2siKTsKKyAgICAgIHJldFsiYXJndW1lbnRzIl0g
PSBhcmd1bWVudF9saXN0KHN0b3JlKSB8fCBbXTsKKyAgICAgIGFsbF93cygpOworICAgICAgY29u
c3VtZShPVEhFUiwgIikiKSB8fCBlcnJvcigiVW50ZXJtaW5hdGVkIGNhbGxiYWNrIik7CisgICAg
ICBhbGxfd3MoKTsKKyAgICAgIGNvbnN1bWUoT1RIRVIsICI7IikgfHwgZXJyb3IoIlVudGVybWlu
YXRlZCBjYWxsYmFjayIpOworICAgICAgcmV0dXJuIHJldDsKKyAgICB9OworCisgICAgdmFyIGF0
dHJpYnV0ZSA9IGZ1bmN0aW9uKHN0b3JlKSB7CisgICAgICBhbGxfd3Moc3RvcmUsICJwZWEiKTsK
KyAgICAgIHZhciBncmFiYmVkID0gW10sCisgICAgICAgIHJldCA9IHsKKyAgICAgICAgICB0eXBl
OiAiYXR0cmlidXRlIiwKKyAgICAgICAgICAic3RhdGljIjogZmFsc2UsCisgICAgICAgICAgc3Ry
aW5naWZpZXI6IGZhbHNlLAorICAgICAgICAgIGluaGVyaXQ6IGZhbHNlLAorICAgICAgICAgIHJl
YWRvbmx5OiBmYWxzZQogICAgICAgICB9OworICAgICAgaWYgKGNvbnN1bWUoSUQsICJzdGF0aWMi
KSkgeworICAgICAgICByZXRbInN0YXRpYyJdID0gdHJ1ZTsKKyAgICAgICAgZ3JhYmJlZC5wdXNo
KGxhc3RfdG9rZW4pOworICAgICAgfSBlbHNlIGlmIChjb25zdW1lKElELCAic3RyaW5naWZpZXIi
KSkgeworICAgICAgICByZXQuc3RyaW5naWZpZXIgPSB0cnVlOworICAgICAgICBncmFiYmVkLnB1
c2gobGFzdF90b2tlbik7CisgICAgICB9CisgICAgICB2YXIgdyA9IGFsbF93cygpOworICAgICAg
aWYgKHcpIGdyYWJiZWQucHVzaCh3KTsKKyAgICAgIGlmIChjb25zdW1lKElELCAiaW5oZXJpdCIp
KSB7CisgICAgICAgIGlmIChyZXRbInN0YXRpYyJdIHx8IHJldC5zdHJpbmdpZmllcikgZXJyb3Io
IkNhbm5vdCBoYXZlIGEgc3RhdGljIG9yIHN0cmluZ2lmaWVyIGluaGVyaXQiKTsKKyAgICAgICAg
cmV0LmluaGVyaXQgPSB0cnVlOworICAgICAgICBncmFiYmVkLnB1c2gobGFzdF90b2tlbik7Cisg
ICAgICAgIHZhciB3ID0gYWxsX3dzKCk7CisgICAgICAgIGlmICh3KSBncmFiYmVkLnB1c2godyk7
CisgICAgICB9CisgICAgICBpZiAoY29uc3VtZShJRCwgInJlYWRvbmx5IikpIHsKKyAgICAgICAg
cmV0LnJlYWRvbmx5ID0gdHJ1ZTsKKyAgICAgICAgZ3JhYmJlZC5wdXNoKGxhc3RfdG9rZW4pOwor
ICAgICAgICB2YXIgdyA9IGFsbF93cygpOworICAgICAgICBpZiAodykgZ3JhYmJlZC5wdXNoKHcp
OworICAgICAgfQorICAgICAgdmFyIHJlc3QgPSBhdHRyaWJ1dGVfcmVzdChyZXQpOworICAgICAg
aWYgKCFyZXN0KSB7CisgICAgICAgIHRva2VucyA9IGdyYWJiZWQuY29uY2F0KHRva2Vucyk7Cisg
ICAgICB9CisgICAgICByZXR1cm4gcmVzdDsKKyAgICB9OworCisgICAgdmFyIGF0dHJpYnV0ZV9y
ZXN0ID0gZnVuY3Rpb24ocmV0KSB7CisgICAgICBpZiAoIWNvbnN1bWUoSUQsICJhdHRyaWJ1dGUi
KSkgeworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBhbGxfd3MoKTsKKyAgICAgIHJl
dC5pZGxUeXBlID0gdHlwZV93aXRoX2V4dGVuZGVkX2F0dHJpYnV0ZXMoKSB8fCBlcnJvcigiTm8g
dHlwZSBpbiBhdHRyaWJ1dGUiKTsKKyAgICAgIGlmIChyZXQuaWRsVHlwZS5zZXF1ZW5jZSkgZXJy
b3IoIkF0dHJpYnV0ZXMgY2Fubm90IGFjY2VwdCBzZXF1ZW5jZSB0eXBlcyIpOworICAgICAgaWYg
KHJldC5pZGxUeXBlLmdlbmVyaWMgPT09ICJyZWNvcmQiKSBlcnJvcigiQXR0cmlidXRlcyBjYW5u
b3QgYWNjZXB0IHJlY29yZCB0eXBlcyIpOworICAgICAgYWxsX3dzKCk7CisgICAgICB2YXIgbmFt
ZSA9IGNvbnN1bWUoSUQpIHx8IGVycm9yKCJObyBuYW1lIGluIGF0dHJpYnV0ZSIpOworICAgICAg
cmV0Lm5hbWUgPSBuYW1lLnZhbHVlOworICAgICAgYWxsX3dzKCk7CisgICAgICBjb25zdW1lKE9U
SEVSLCAiOyIpIHx8IGVycm9yKCJVbnRlcm1pbmF0ZWQgYXR0cmlidXRlIik7CisgICAgICByZXR1
cm4gcmV0OworICAgIH07CisKKyAgICB2YXIgcmV0dXJuX3R5cGUgPSBmdW5jdGlvbigpIHsKKyAg
ICAgIHZhciB0eXAgPSB0eXBlKCk7CisgICAgICBpZiAoIXR5cCkgeworICAgICAgICBpZiAoY29u
c3VtZShJRCwgInZvaWQiKSkgeworICAgICAgICAgIHJldHVybiAidm9pZCI7CisgICAgICAgIH0g
ZWxzZSBlcnJvcigiTm8gcmV0dXJuIHR5cGUiKTsKKyAgICAgIH0KKyAgICAgIHJldHVybiB0eXA7
CisgICAgfTsKIAotICAgICAgICB2YXIgaXRlcmFibGVfdHlwZSA9IGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgaWYgKGNvbnN1bWUoSUQsICJpdGVyYWJsZSIpKSByZXR1cm4gIml0ZXJhYmxlIjsK
LSAgICAgICAgICAgIGVsc2UgaWYgKGNvbnN1bWUoSUQsICJsZWdhY3lpdGVyYWJsZSIpKSByZXR1
cm4gImxlZ2FjeWl0ZXJhYmxlIjsKLSAgICAgICAgICAgIGVsc2UgaWYgKGNvbnN1bWUoSUQsICJt
YXBsaWtlIikpIHJldHVybiAibWFwbGlrZSI7Ci0gICAgICAgICAgICBlbHNlIGlmIChjb25zdW1l
KElELCAic2V0bGlrZSIpKSByZXR1cm4gInNldGxpa2UiOwotICAgICAgICAgICAgZWxzZSByZXR1
cm47CisgICAgdmFyIG9wZXJhdGlvbiA9IGZ1bmN0aW9uKHN0b3JlKSB7CisgICAgICBhbGxfd3Mo
c3RvcmUsICJwZWEiKTsKKyAgICAgIHZhciByZXQgPSB7CisgICAgICAgIHR5cGU6ICJvcGVyYXRp
b24iLAorICAgICAgICBnZXR0ZXI6IGZhbHNlLAorICAgICAgICBzZXR0ZXI6IGZhbHNlLAorICAg
ICAgICBjcmVhdG9yOiBmYWxzZSwKKyAgICAgICAgZGVsZXRlcjogZmFsc2UsCisgICAgICAgIGxl
Z2FjeWNhbGxlcjogZmFsc2UsCisgICAgICAgICJzdGF0aWMiOiBmYWxzZSwKKyAgICAgICAgc3Ry
aW5naWZpZXI6IGZhbHNlCisgICAgICB9OworICAgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAg
YWxsX3dzKCk7CisgICAgICAgIGlmIChjb25zdW1lKElELCAiZ2V0dGVyIikpIHJldC5nZXR0ZXIg
PSB0cnVlOworICAgICAgICBlbHNlIGlmIChjb25zdW1lKElELCAic2V0dGVyIikpIHJldC5zZXR0
ZXIgPSB0cnVlOworICAgICAgICBlbHNlIGlmIChjb25zdW1lKElELCAiY3JlYXRvciIpKSByZXQu
Y3JlYXRvciA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKGNvbnN1bWUoSUQsICJkZWxldGVyIikp
IHJldC5kZWxldGVyID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBpZiAoY29uc3VtZShJRCwgImxlZ2Fj
eWNhbGxlciIpKSByZXQubGVnYWN5Y2FsbGVyID0gdHJ1ZTsKKyAgICAgICAgZWxzZSBicmVhazsK
KyAgICAgIH0KKyAgICAgIGlmIChyZXQuZ2V0dGVyIHx8IHJldC5zZXR0ZXIgfHwgcmV0LmNyZWF0
b3IgfHwgcmV0LmRlbGV0ZXIgfHwgcmV0LmxlZ2FjeWNhbGxlcikgeworICAgICAgICBhbGxfd3Mo
KTsKKyAgICAgICAgcmV0LmlkbFR5cGUgPSByZXR1cm5fdHlwZSgpOworICAgICAgICBvcGVyYXRp
b25fcmVzdChyZXQsIHN0b3JlKTsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgIH0KKyAgICAg
IGlmIChjb25zdW1lKElELCAic3RhdGljIikpIHsKKyAgICAgICAgcmV0WyJzdGF0aWMiXSA9IHRy
dWU7CisgICAgICAgIHJldC5pZGxUeXBlID0gcmV0dXJuX3R5cGUoKTsKKyAgICAgICAgb3BlcmF0
aW9uX3Jlc3QocmV0LCBzdG9yZSk7CisgICAgICAgIHJldHVybiByZXQ7CisgICAgICB9IGVsc2Ug
aWYgKGNvbnN1bWUoSUQsICJzdHJpbmdpZmllciIpKSB7CisgICAgICAgIHJldC5zdHJpbmdpZmll
ciA9IHRydWU7IC0KKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIGlmIChjb25zdW1lKE9USEVS
LCAiOyIpKSByZXR1cm4gcmV0OworICAgICAgICByZXQuaWRsVHlwZSA9IHJldHVybl90eXBlKCk7
CisgICAgICAgIG9wZXJhdGlvbl9yZXN0KHJldCwgc3RvcmUpOworICAgICAgICByZXR1cm4gcmV0
OworICAgICAgfQorICAgICAgcmV0LmlkbFR5cGUgPSByZXR1cm5fdHlwZSgpOworICAgICAgYWxs
X3dzKCk7CisgICAgICBpZiAoY29uc3VtZShJRCwgIml0ZXJhdG9yIikpIHsKKyAgICAgICAgYWxs
X3dzKCk7CisgICAgICAgIHJldC50eXBlID0gIml0ZXJhdG9yIjsKKyAgICAgICAgaWYgKGNvbnN1
bWUoSUQsICJvYmplY3QiKSkgeworICAgICAgICAgIHJldC5pdGVyYXRvck9iamVjdCA9ICJvYmpl
Y3QiOworICAgICAgICB9IGVsc2UgaWYgKGNvbnN1bWUoT1RIRVIsICI9IikpIHsKKyAgICAgICAg
ICBhbGxfd3MoKTsKKyAgICAgICAgICB2YXIgbmFtZSA9IGNvbnN1bWUoSUQpIHx8IGVycm9yKCJO
byByaWdodCBoYW5kIHNpZGUgaW4gaXRlcmF0b3IiKTsKKyAgICAgICAgICByZXQuaXRlcmF0b3JP
YmplY3QgPSBuYW1lLnZhbHVlOwogICAgICAgICB9CisgICAgICAgIGFsbF93cygpOworICAgICAg
ICBjb25zdW1lKE9USEVSLCAiOyIpIHx8IGVycm9yKCJVbnRlcm1pbmF0ZWQgaXRlcmF0b3IiKTsK
KyAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG9wZXJhdGlvbl9y
ZXN0KHJldCwgc3RvcmUpOworICAgICAgICByZXR1cm4gcmV0OworICAgICAgfQorICAgIH07CisK
KyAgICB2YXIgaWRlbnRpZmllcnMgPSBmdW5jdGlvbihhcnIpIHsKKyAgICAgIHdoaWxlICh0cnVl
KSB7CisgICAgICAgIGFsbF93cygpOworICAgICAgICBpZiAoY29uc3VtZShPVEhFUiwgIiwiKSkg
eworICAgICAgICAgIGFsbF93cygpOworICAgICAgICAgIHZhciBuYW1lID0gY29uc3VtZShJRCkg
fHwgZXJyb3IoIlRyYWlsaW5nIGNvbW1hIGluIGlkZW50aWZpZXJzIGxpc3QiKTsKKyAgICAgICAg
ICBhcnIucHVzaChuYW1lLnZhbHVlKTsKKyAgICAgICAgfSBlbHNlIGJyZWFrOworICAgICAgfQor
ICAgIH07CiAKLSAgICAgICAgdmFyIHJlYWRvbmx5X2l0ZXJhYmxlX3R5cGUgPSBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIGlmIChjb25zdW1lKElELCAibWFwbGlrZSIpKSByZXR1cm4gIm1hcGxp
a2UiOwotICAgICAgICAgICAgZWxzZSBpZiAoY29uc3VtZShJRCwgInNldGxpa2UiKSkgcmV0dXJu
ICJzZXRsaWtlIjsKLSAgICAgICAgICAgIGVsc2UgcmV0dXJuOworICAgIHZhciBzZXJpYWxpc2Vy
ID0gZnVuY3Rpb24oc3RvcmUpIHsKKyAgICAgIGFsbF93cyhzdG9yZSwgInBlYSIpOworICAgICAg
aWYgKCFjb25zdW1lKElELCAic2VyaWFsaXplciIpKSByZXR1cm47CisgICAgICB2YXIgcmV0ID0g
eyB0eXBlOiAic2VyaWFsaXplciIgfTsKKyAgICAgIGFsbF93cygpOworICAgICAgaWYgKGNvbnN1
bWUoT1RIRVIsICI9IikpIHsKKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIGlmIChjb25zdW1l
KE9USEVSLCAieyIpKSB7CisgICAgICAgICAgcmV0LnBhdHRlcm5NYXAgPSB0cnVlOworICAgICAg
ICAgIGFsbF93cygpOworICAgICAgICAgIHZhciBpZCA9IGNvbnN1bWUoSUQpOworICAgICAgICAg
IGlmIChpZCAmJiBpZC52YWx1ZSA9PT0gImdldHRlciIpIHsKKyAgICAgICAgICAgIHJldC5uYW1l
cyA9IFsiZ2V0dGVyIl07CisgICAgICAgICAgfSBlbHNlIGlmIChpZCAmJiBpZC52YWx1ZSA9PT0g
ImluaGVyaXQiKSB7CisgICAgICAgICAgICByZXQubmFtZXMgPSBbImluaGVyaXQiXTsKKyAgICAg
ICAgICAgIGlkZW50aWZpZXJzKHJldC5uYW1lcyk7CisgICAgICAgICAgfSBlbHNlIGlmIChpZCkg
eworICAgICAgICAgICAgcmV0Lm5hbWVzID0gW2lkLnZhbHVlXTsKKyAgICAgICAgICAgIGlkZW50
aWZpZXJzKHJldC5uYW1lcyk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldC5u
YW1lcyA9IFtdOworICAgICAgICAgIH0KKyAgICAgICAgICBhbGxfd3MoKTsKKyAgICAgICAgICBj
b25zdW1lKE9USEVSLCAifSIpIHx8IGVycm9yKCJVbnRlcm1pbmF0ZWQgc2VyaWFsaXplciBwYXR0
ZXJuIG1hcCIpOworICAgICAgICB9IGVsc2UgaWYgKGNvbnN1bWUoT1RIRVIsICJbIikpIHsKKyAg
ICAgICAgICByZXQucGF0dGVybkxpc3QgPSB0cnVlOworICAgICAgICAgIGFsbF93cygpOworICAg
ICAgICAgIHZhciBpZCA9IGNvbnN1bWUoSUQpOworICAgICAgICAgIGlmIChpZCAmJiBpZC52YWx1
ZSA9PT0gImdldHRlciIpIHsKKyAgICAgICAgICAgIHJldC5uYW1lcyA9IFsiZ2V0dGVyIl07Cisg
ICAgICAgICAgfSBlbHNlIGlmIChpZCkgeworICAgICAgICAgICAgcmV0Lm5hbWVzID0gW2lkLnZh
bHVlXTsKKyAgICAgICAgICAgIGlkZW50aWZpZXJzKHJldC5uYW1lcyk7CisgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIHJldC5uYW1lcyA9IFtdOworICAgICAgICAgIH0KKyAgICAgICAg
ICBhbGxfd3MoKTsKKyAgICAgICAgICBjb25zdW1lKE9USEVSLCAiXSIpIHx8IGVycm9yKCJVbnRl
cm1pbmF0ZWQgc2VyaWFsaXplciBwYXR0ZXJuIGxpc3QiKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICB2YXIgbmFtZSA9IGNvbnN1bWUoSUQpIHx8IGVycm9yKCJJbnZhbGlkIHNlcmlhbGl6
ZXIiKTsKKyAgICAgICAgICByZXQubmFtZSA9IG5hbWUudmFsdWU7CiAgICAgICAgIH0KKyAgICAg
ICAgYWxsX3dzKCk7CisgICAgICAgIGNvbnN1bWUoT1RIRVIsICI7IikgfHwgZXJyb3IoIlVudGVy
bWluYXRlZCBzZXJpYWxpemVyIik7CisgICAgICAgIHJldHVybiByZXQ7CisgICAgICB9IGVsc2Ug
aWYgKGNvbnN1bWUoT1RIRVIsICI7IikpIHsKKyAgICAgICAgLy8gbm9vcCwganVzdCBwYXJzaW5n
CisgICAgICB9IGVsc2UgeworICAgICAgICByZXQuaWRsVHlwZSA9IHJldHVybl90eXBlKCk7Cisg
ICAgICAgIGFsbF93cygpOworICAgICAgICByZXQub3BlcmF0aW9uID0gb3BlcmF0aW9uX3Jlc3Qo
bnVsbCwgc3RvcmUpOworICAgICAgfQorICAgICAgcmV0dXJuIHJldDsKKyAgICB9OwogCi0gICAg
ICAgIHZhciBpdGVyYWJsZSA9IGZ1bmN0aW9uIChzdG9yZSkgewotICAgICAgICAgICAgYWxsX3dz
KHN0b3JlLCAicGVhIik7Ci0gICAgICAgICAgICB2YXIgZ3JhYmJlZCA9IFtdLAotICAgICAgICAg
ICAgICAgIHJldCA9IHt0eXBlOiBudWxsLCBpZGxUeXBlOiBudWxsLCByZWFkb25seTogZmFsc2V9
OwotICAgICAgICAgICAgaWYgKGNvbnN1bWUoSUQsICJyZWFkb25seSIpKSB7Ci0gICAgICAgICAg
ICAgICAgcmV0LnJlYWRvbmx5ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBncmFiYmVkLnB1c2go
bGFzdF90b2tlbik7Ci0gICAgICAgICAgICAgICAgdmFyIHcgPSBhbGxfd3MoKTsKLSAgICAgICAg
ICAgICAgICBpZiAodykgZ3JhYmJlZC5wdXNoKHcpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgdmFyIGNvbnN1bWVJdFR5cGUgPSByZXQucmVhZG9ubHkgPyByZWFkb25seV9pdGVyYWJsZV90
eXBlIDogaXRlcmFibGVfdHlwZTsKKyAgICB2YXIgaXRlcmFibGVfdHlwZSA9IGZ1bmN0aW9uKCkg
eworICAgICAgaWYgKGNvbnN1bWUoSUQsICJpdGVyYWJsZSIpKSByZXR1cm4gIml0ZXJhYmxlIjsK
KyAgICAgIGVsc2UgaWYgKGNvbnN1bWUoSUQsICJsZWdhY3lpdGVyYWJsZSIpKSByZXR1cm4gImxl
Z2FjeWl0ZXJhYmxlIjsKKyAgICAgIGVsc2UgaWYgKGNvbnN1bWUoSUQsICJtYXBsaWtlIikpIHJl
dHVybiAibWFwbGlrZSI7CisgICAgICBlbHNlIGlmIChjb25zdW1lKElELCAic2V0bGlrZSIpKSBy
ZXR1cm4gInNldGxpa2UiOworICAgICAgZWxzZSByZXR1cm47CisgICAgfTsKIAotICAgICAgICAg
ICAgdmFyIGl0dHlwZSA9IGNvbnN1bWVJdFR5cGUoKTsKLSAgICAgICAgICAgIGlmICghaXR0eXBl
KSB7Ci0gICAgICAgICAgICAgICAgdG9rZW5zID0gZ3JhYmJlZC5jb25jYXQodG9rZW5zKTsKLSAg
ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9CisgICAgdmFyIHJlYWRvbmx5X2l0
ZXJhYmxlX3R5cGUgPSBmdW5jdGlvbigpIHsKKyAgICAgIGlmIChjb25zdW1lKElELCAibWFwbGlr
ZSIpKSByZXR1cm4gIm1hcGxpa2UiOworICAgICAgZWxzZSBpZiAoY29uc3VtZShJRCwgInNldGxp
a2UiKSkgcmV0dXJuICJzZXRsaWtlIjsKKyAgICAgIGVsc2UgcmV0dXJuOworICAgIH07CiAKLSAg
ICAgICAgICAgIHZhciBzZWNvbmRUeXBlUmVxdWlyZWQgPSBpdHR5cGUgPT09ICJtYXBsaWtlIjsK
LSAgICAgICAgICAgIHZhciBzZWNvbmRUeXBlQWxsb3dlZCA9IHNlY29uZFR5cGVSZXF1aXJlZCB8
fCBpdHR5cGUgPT09ICJpdGVyYWJsZSI7Ci0gICAgICAgICAgICByZXQudHlwZSA9IGl0dHlwZTsK
LSAgICAgICAgICAgIGlmIChyZXQudHlwZSAhPT0gJ21hcGxpa2UnICYmIHJldC50eXBlICE9PSAn
c2V0bGlrZScpCi0gICAgICAgICAgICAgICAgZGVsZXRlIHJldC5yZWFkb25seTsKLSAgICAgICAg
ICAgIGFsbF93cygpOwotICAgICAgICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICI8IikpIHsKLSAg
ICAgICAgICAgICAgICByZXQuaWRsVHlwZSA9IHR5cGUoKSB8fCBlcnJvcigiRXJyb3IgcGFyc2lu
ZyAiICsgaXR0eXBlICsgIiBkZWNsYXJhdGlvbiIpOwotICAgICAgICAgICAgICAgIGFsbF93cygp
OwotICAgICAgICAgICAgICAgIGlmIChzZWNvbmRUeXBlQWxsb3dlZCkgewotICAgICAgICAgICAg
ICAgICAgICB2YXIgdHlwZTIgPSBudWxsOwotICAgICAgICAgICAgICAgICAgICBpZiAoY29uc3Vt
ZShPVEhFUiwgIiwiKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB0eXBlMiA9IHR5cGUoKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGFsbF93cygpOyAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlMikKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJldC5pZGxUeXBlID0gW3JldC5pZGxUeXBlLCB0eXBlMl07Ci0gICAgICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKHNlY29uZFR5cGVSZXF1aXJlZCkKLSAgICAgICAgICAgICAgICAgICAgICAg
IGVycm9yKCJNaXNzaW5nIHNlY29uZCB0eXBlIGFyZ3VtZW50IGluICIgKyBpdHR5cGUgKyAiIGRl
Y2xhcmF0aW9uIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICghY29u
c3VtZShPVEhFUiwgIj4iKSkgZXJyb3IoIlVudGVybWluYXRlZCAiICsgaXR0eXBlICsgIiBkZWNs
YXJhdGlvbiIpOwotICAgICAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAgICAgIGlm
ICghY29uc3VtZShPVEhFUiwgIjsiKSkgZXJyb3IoIk1pc3Npbmcgc2VtaWNvbG9uIGFmdGVyICIg
KyBpdHR5cGUgKyAiIGRlY2xhcmF0aW9uIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgZXJyb3IoIkVycm9yIHBhcnNpbmcgIiArIGl0dHlwZSArICIg
ZGVjbGFyYXRpb24iKTsKLQotICAgICAgICAgICAgcmV0dXJuIHJldDsgICAgICAgICAgICAKLSAg
ICAgICAgfSAgICAgICAgCi0gICAgICAgIAotICAgICAgICB2YXIgaW50ZXJmYWNlXyA9IGZ1bmN0
aW9uIChpc1BhcnRpYWwsIHN0b3JlKSB7Ci0gICAgICAgICAgICBhbGxfd3MoaXNQYXJ0aWFsID8g
bnVsbCA6IHN0b3JlLCAicGVhIik7Ci0gICAgICAgICAgICBpZiAoIWNvbnN1bWUoSUQsICJpbnRl
cmZhY2UiKSkgcmV0dXJuOworICAgIHZhciBpdGVyYWJsZSA9IGZ1bmN0aW9uKHN0b3JlKSB7Cisg
ICAgICBhbGxfd3Moc3RvcmUsICJwZWEiKTsKKyAgICAgIHZhciBncmFiYmVkID0gW10sCisgICAg
ICAgIHJldCA9IHsgdHlwZTogbnVsbCwgaWRsVHlwZTogbnVsbCwgcmVhZG9ubHk6IGZhbHNlIH07
CisgICAgICBpZiAoY29uc3VtZShJRCwgInJlYWRvbmx5IikpIHsKKyAgICAgICAgcmV0LnJlYWRv
bmx5ID0gdHJ1ZTsKKyAgICAgICAgZ3JhYmJlZC5wdXNoKGxhc3RfdG9rZW4pOworICAgICAgICB2
YXIgdyA9IGFsbF93cygpOworICAgICAgICBpZiAodykgZ3JhYmJlZC5wdXNoKHcpOworICAgICAg
fQorICAgICAgdmFyIGNvbnN1bWVJdFR5cGUgPSByZXQucmVhZG9ubHkgPyByZWFkb25seV9pdGVy
YWJsZV90eXBlIDogaXRlcmFibGVfdHlwZTsKKworICAgICAgdmFyIGl0dHlwZSA9IGNvbnN1bWVJ
dFR5cGUoKTsKKyAgICAgIGlmICghaXR0eXBlKSB7CisgICAgICAgIHRva2VucyA9IGdyYWJiZWQu
Y29uY2F0KHRva2Vucyk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKworICAgICAgdmFyIHNl
Y29uZFR5cGVSZXF1aXJlZCA9IGl0dHlwZSA9PT0gIm1hcGxpa2UiOworICAgICAgdmFyIHNlY29u
ZFR5cGVBbGxvd2VkID0gc2Vjb25kVHlwZVJlcXVpcmVkIHx8IGl0dHlwZSA9PT0gIml0ZXJhYmxl
IjsKKyAgICAgIHJldC50eXBlID0gaXR0eXBlOworICAgICAgaWYgKHJldC50eXBlICE9PSAnbWFw
bGlrZScgJiYgcmV0LnR5cGUgIT09ICdzZXRsaWtlJykKKyAgICAgICAgZGVsZXRlIHJldC5yZWFk
b25seTsKKyAgICAgIGFsbF93cygpOworICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICI8IikpIHsK
KyAgICAgICAgcmV0LmlkbFR5cGUgPSB0eXBlX3dpdGhfZXh0ZW5kZWRfYXR0cmlidXRlcygpIHx8
IGVycm9yKCJFcnJvciBwYXJzaW5nICIgKyBpdHR5cGUgKyAiIGRlY2xhcmF0aW9uIik7CisgICAg
ICAgIGFsbF93cygpOworICAgICAgICBpZiAoc2Vjb25kVHlwZUFsbG93ZWQpIHsKKyAgICAgICAg
ICB2YXIgdHlwZTIgPSBudWxsOworICAgICAgICAgIGlmIChjb25zdW1lKE9USEVSLCAiLCIpKSB7
CiAgICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIHZhciBuYW1lID0gY29uc3VtZShJ
RCkgfHwgZXJyb3IoIk5vIG5hbWUgZm9yIGludGVyZmFjZSIpOwotICAgICAgICAgICAgdmFyIG1l
bXMgPSBbXQotICAgICAgICAgICAgLCAgIHJldCA9IHsKLSAgICAgICAgICAgICAgICB0eXBlOiAg
ICJpbnRlcmZhY2UiCi0gICAgICAgICAgICAsICAgbmFtZTogICBuYW1lLnZhbHVlCi0gICAgICAg
ICAgICAsICAgcGFydGlhbDogICAgZmFsc2UKLSAgICAgICAgICAgICwgICBtZW1iZXJzOiAgICBt
ZW1zCi0gICAgICAgICAgICB9OwotICAgICAgICAgICAgaWYgKCFpc1BhcnRpYWwpIHJldC5pbmhl
cml0YW5jZSA9IGluaGVyaXRhbmNlKCkgfHwgbnVsbDsKKyAgICAgICAgICAgIHR5cGUyID0gdHlw
ZV93aXRoX2V4dGVuZGVkX2F0dHJpYnV0ZXMoKTsKICAgICAgICAgICAgIGFsbF93cygpOwotICAg
ICAgICAgICAgY29uc3VtZShPVEhFUiwgInsiKSB8fCBlcnJvcigiQm9keWxlc3MgaW50ZXJmYWNl
Iik7Ci0gICAgICAgICAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICAgICAgICAgIGFsbF93cyhz
dG9yZSA/IG1lbXMgOiBudWxsKTsKLSAgICAgICAgICAgICAgICBpZiAoY29uc3VtZShPVEhFUiwg
In0iKSkgewotICAgICAgICAgICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgICAgICAg
ICAgY29uc3VtZShPVEhFUiwgIjsiKSB8fCBlcnJvcigiTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIg
aW50ZXJmYWNlIik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIHZhciBlYSA9IGV4dGVuZGVkX2F0dHJzKHN0b3JlID8g
bWVtcyA6IG51bGwpOwotICAgICAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAgICAg
IHZhciBjbnQgPSBjb25zdF8oc3RvcmUgPyBtZW1zIDogbnVsbCk7Ci0gICAgICAgICAgICAgICAg
aWYgKGNudCkgewotICAgICAgICAgICAgICAgICAgICBjbnQuZXh0QXR0cnMgPSBlYTsKLSAgICAg
ICAgICAgICAgICAgICAgcmV0Lm1lbWJlcnMucHVzaChjbnQpOwotICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgdmFyIG1lbSA9
IChvcHQuYWxsb3dOZXN0ZWRUeXBlZGVmcyAmJiB0eXBlZGVmKHN0b3JlID8gbWVtcyA6IG51bGwp
KSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyYWJsZShzdG9yZSA/IG1lbXMgOiBu
dWxsKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxpc2VyKHN0b3JlID8gbWVt
cyA6IG51bGwpIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZShzdG9yZSA/
IG1lbXMgOiBudWxsKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24oc3Rv
cmUgPyBtZW1zIDogbnVsbCkgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IoIlVu
a25vd24gbWVtYmVyIik7Ci0gICAgICAgICAgICAgICAgbWVtLmV4dEF0dHJzID0gZWE7Ci0gICAg
ICAgICAgICAgICAgcmV0Lm1lbWJlcnMucHVzaChtZW0pOwotICAgICAgICAgICAgfQotICAgICAg
ICB9OwotICAgICAgICAKLSAgICAgICAgdmFyIHBhcnRpYWwgPSBmdW5jdGlvbiAoc3RvcmUpIHsK
LSAgICAgICAgICAgIGFsbF93cyhzdG9yZSwgInBlYSIpOwotICAgICAgICAgICAgaWYgKCFjb25z
dW1lKElELCAicGFydGlhbCIpKSByZXR1cm47Ci0gICAgICAgICAgICB2YXIgdGhpbmcgPSBkaWN0
aW9uYXJ5KHRydWUsIHN0b3JlKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNl
Xyh0cnVlLCBzdG9yZSkgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKCJQYXJ0aWFs
IGRvZXNuJ3QgYXBwbHkgdG8gYW55dGhpbmciKTsKLSAgICAgICAgICAgIHRoaW5nLnBhcnRpYWwg
PSB0cnVlOwotICAgICAgICAgICAgcmV0dXJuIHRoaW5nOworICAgICAgICAgIH0KKyAgICAgICAg
ICBpZiAodHlwZTIpCisgICAgICAgICAgICByZXQuaWRsVHlwZSA9IFtyZXQuaWRsVHlwZSwgdHlw
ZTJdOworICAgICAgICAgIGVsc2UgaWYgKHNlY29uZFR5cGVSZXF1aXJlZCkKKyAgICAgICAgICAg
IGVycm9yKCJNaXNzaW5nIHNlY29uZCB0eXBlIGFyZ3VtZW50IGluICIgKyBpdHR5cGUgKyAiIGRl
Y2xhcmF0aW9uIik7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFjb25zdW1lKE9USEVSLCAiPiIp
KSBlcnJvcigiVW50ZXJtaW5hdGVkICIgKyBpdHR5cGUgKyAiIGRlY2xhcmF0aW9uIik7CisgICAg
ICAgIGFsbF93cygpOworICAgICAgICBpZiAoIWNvbnN1bWUoT1RIRVIsICI7IikpIGVycm9yKCJN
aXNzaW5nIHNlbWljb2xvbiBhZnRlciAiICsgaXR0eXBlICsgIiBkZWNsYXJhdGlvbiIpOworICAg
ICAgfSBlbHNlCisgICAgICAgIGVycm9yKCJFcnJvciBwYXJzaW5nICIgKyBpdHR5cGUgKyAiIGRl
Y2xhcmF0aW9uIik7CisKKyAgICAgIHJldHVybiByZXQ7CisgICAgfTsKKworICAgIHZhciBpbnRl
cmZhY2VfID0gZnVuY3Rpb24oaXNQYXJ0aWFsLCBzdG9yZSkgeworICAgICAgYWxsX3dzKGlzUGFy
dGlhbCA/IG51bGwgOiBzdG9yZSwgInBlYSIpOworICAgICAgaWYgKCFjb25zdW1lKElELCAiaW50
ZXJmYWNlIikpIHJldHVybjsKKyAgICAgIGFsbF93cygpOworICAgICAgdmFyIG5hbWUgPSBjb25z
dW1lKElEKSB8fCBlcnJvcigiTm8gbmFtZSBmb3IgaW50ZXJmYWNlIik7CisgICAgICB2YXIgbWVt
cyA9IFtdLAorICAgICAgICByZXQgPSB7CisgICAgICAgICAgdHlwZTogImludGVyZmFjZSIsCisg
ICAgICAgICAgbmFtZTogbmFtZS52YWx1ZSwKKyAgICAgICAgICBwYXJ0aWFsOiBmYWxzZSwKKyAg
ICAgICAgICBtZW1iZXJzOiBtZW1zCiAgICAgICAgIH07Ci0gICAgICAgIAotICAgICAgICB2YXIg
ZGljdGlvbmFyeSA9IGZ1bmN0aW9uIChpc1BhcnRpYWwsIHN0b3JlKSB7Ci0gICAgICAgICAgICBh
bGxfd3MoaXNQYXJ0aWFsID8gbnVsbCA6IHN0b3JlLCAicGVhIik7Ci0gICAgICAgICAgICBpZiAo
IWNvbnN1bWUoSUQsICJkaWN0aW9uYXJ5IikpIHJldHVybjsKLSAgICAgICAgICAgIGFsbF93cygp
OwotICAgICAgICAgICAgdmFyIG5hbWUgPSBjb25zdW1lKElEKSB8fCBlcnJvcigiTm8gbmFtZSBm
b3IgZGljdGlvbmFyeSIpOwotICAgICAgICAgICAgdmFyIG1lbXMgPSBbXQotICAgICAgICAgICAg
LCAgIHJldCA9IHsKLSAgICAgICAgICAgICAgICB0eXBlOiAgICJkaWN0aW9uYXJ5IgotICAgICAg
ICAgICAgLCAgIG5hbWU6ICAgbmFtZS52YWx1ZQotICAgICAgICAgICAgLCAgIHBhcnRpYWw6ICAg
IGZhbHNlCi0gICAgICAgICAgICAsICAgbWVtYmVyczogICAgbWVtcwotICAgICAgICAgICAgfTsK
LSAgICAgICAgICAgIGlmICghaXNQYXJ0aWFsKSByZXQuaW5oZXJpdGFuY2UgPSBpbmhlcml0YW5j
ZSgpIHx8IG51bGw7Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIGNvbnN1bWUo
T1RIRVIsICJ7IikgfHwgZXJyb3IoIkJvZHlsZXNzIGRpY3Rpb25hcnkiKTsKLSAgICAgICAgICAg
IHdoaWxlICh0cnVlKSB7Ci0gICAgICAgICAgICAgICAgYWxsX3dzKHN0b3JlID8gbWVtcyA6IG51
bGwpOwotICAgICAgICAgICAgICAgIGlmIChjb25zdW1lKE9USEVSLCAifSIpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAgICAgICAgICBjb25zdW1lKE9USEVS
LCAiOyIpIHx8IGVycm9yKCJNaXNzaW5nIHNlbWljb2xvbiBhZnRlciBkaWN0aW9uYXJ5Iik7Ci0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIHZhciBlYSA9IGV4dGVuZGVkX2F0dHJzKHN0b3JlID8gbWVtcyA6IG51bGwpOwot
ICAgICAgICAgICAgICAgIGFsbF93cyhzdG9yZSA/IG1lbXMgOiBudWxsLCAicGVhIik7Ci0gICAg
ICAgICAgICAgICAgdmFyIHJlcXVpcmVkID0gY29uc3VtZShJRCwgInJlcXVpcmVkIik7Ci0gICAg
ICAgICAgICAgICAgdmFyIHR5cCA9IHR5cGUoKSB8fCBlcnJvcigiTm8gdHlwZSBmb3IgZGljdGlv
bmFyeSBtZW1iZXIiKTsKLSAgICAgICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgICAg
ICB2YXIgbmFtZSA9IGNvbnN1bWUoSUQpIHx8IGVycm9yKCJObyBuYW1lIGZvciBkaWN0aW9uYXJ5
IG1lbWJlciIpOwotICAgICAgICAgICAgICAgIHZhciBkZmx0ID0gZGVmYXVsdF8oKTsKLSAgICAg
ICAgICAgICAgICBpZiAocmVxdWlyZWQgJiYgZGZsdCkgZXJyb3IoIlJlcXVpcmVkIG1lbWJlciBt
dXN0IG5vdCBoYXZlIGEgZGVmYXVsdCIpOwotICAgICAgICAgICAgICAgIHJldC5tZW1iZXJzLnB1
c2goewotICAgICAgICAgICAgICAgICAgICB0eXBlOiAgICAgICAiZmllbGQiCi0gICAgICAgICAg
ICAgICAgLCAgIG5hbWU6ICAgICAgIG5hbWUudmFsdWUKLSAgICAgICAgICAgICAgICAsICAgcmVx
dWlyZWQ6ICAgISFyZXF1aXJlZAotICAgICAgICAgICAgICAgICwgICBpZGxUeXBlOiAgICB0eXAK
LSAgICAgICAgICAgICAgICAsICAgZXh0QXR0cnM6ICAgZWEKLSAgICAgICAgICAgICAgICAsICAg
ImRlZmF1bHQiOiAgZGZsdAotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGFs
bF93cygpOwotICAgICAgICAgICAgICAgIGNvbnN1bWUoT1RIRVIsICI7IikgfHwgZXJyb3IoIlVu
dGVybWluYXRlZCBkaWN0aW9uYXJ5IG1lbWJlciIpOwotICAgICAgICAgICAgfQorICAgICAgaWYg
KCFpc1BhcnRpYWwpIHJldC5pbmhlcml0YW5jZSA9IGluaGVyaXRhbmNlKCkgfHwgbnVsbDsKKyAg
ICAgIGFsbF93cygpOworICAgICAgY29uc3VtZShPVEhFUiwgInsiKSB8fCBlcnJvcigiQm9keWxl
c3MgaW50ZXJmYWNlIik7CisgICAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBhbGxfd3Moc3Rv
cmUgPyBtZW1zIDogbnVsbCk7CisgICAgICAgIGlmIChjb25zdW1lKE9USEVSLCAifSIpKSB7Cisg
ICAgICAgICAgYWxsX3dzKCk7CisgICAgICAgICAgY29uc3VtZShPVEhFUiwgIjsiKSB8fCBlcnJv
cigiTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgaW50ZXJmYWNlIik7CisgICAgICAgICAgcmV0dXJu
IHJldDsKKyAgICAgICAgfQorICAgICAgICB2YXIgZWEgPSBleHRlbmRlZF9hdHRycyhzdG9yZSA/
IG1lbXMgOiBudWxsKTsKKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIHZhciBjbnQgPSBjb25z
dF8oc3RvcmUgPyBtZW1zIDogbnVsbCk7CisgICAgICAgIGlmIChjbnQpIHsKKyAgICAgICAgICBj
bnQuZXh0QXR0cnMgPSBlYTsKKyAgICAgICAgICByZXQubWVtYmVycy5wdXNoKGNudCk7CisgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgdmFyIG1lbSA9IChvcHQuYWxsb3dO
ZXN0ZWRUeXBlZGVmcyAmJiB0eXBlZGVmKHN0b3JlID8gbWVtcyA6IG51bGwpKSB8fAorICAgICAg
ICAgIGl0ZXJhYmxlKHN0b3JlID8gbWVtcyA6IG51bGwpIHx8CisgICAgICAgICAgc2VyaWFsaXNl
cihzdG9yZSA/IG1lbXMgOiBudWxsKSB8fAorICAgICAgICAgIGF0dHJpYnV0ZShzdG9yZSA/IG1l
bXMgOiBudWxsKSB8fAorICAgICAgICAgIG9wZXJhdGlvbihzdG9yZSA/IG1lbXMgOiBudWxsKSB8
fAorICAgICAgICAgIGVycm9yKCJVbmtub3duIG1lbWJlciIpOworICAgICAgICBtZW0uZXh0QXR0
cnMgPSBlYTsKKyAgICAgICAgcmV0Lm1lbWJlcnMucHVzaChtZW0pOworICAgICAgfQorICAgIH07
CisKKyAgICB2YXIgbmFtZXNwYWNlID0gZnVuY3Rpb24oaXNQYXJ0aWFsLCBzdG9yZSkgeworICAg
ICAgYWxsX3dzKGlzUGFydGlhbCA/IG51bGwgOiBzdG9yZSwgInBlYSIpOworICAgICAgaWYgKCFj
b25zdW1lKElELCAibmFtZXNwYWNlIikpIHJldHVybjsKKyAgICAgIGFsbF93cygpOworICAgICAg
dmFyIG5hbWUgPSBjb25zdW1lKElEKSB8fCBlcnJvcigiTm8gbmFtZSBmb3IgbmFtZXNwYWNlIik7
CisgICAgICB2YXIgbWVtcyA9IFtdLAorICAgICAgICByZXQgPSB7CisgICAgICAgICAgdHlwZTog
Im5hbWVzcGFjZSIsCisgICAgICAgICAgbmFtZTogbmFtZS52YWx1ZSwKKyAgICAgICAgICBwYXJ0
aWFsOiBpc1BhcnRpYWwsCisgICAgICAgICAgbWVtYmVyczogbWVtcwogICAgICAgICB9OwotICAg
ICAgICAKLSAgICAgICAgdmFyIGV4Y2VwdGlvbiA9IGZ1bmN0aW9uIChzdG9yZSkgewotICAgICAg
ICAgICAgYWxsX3dzKHN0b3JlLCAicGVhIik7Ci0gICAgICAgICAgICBpZiAoIWNvbnN1bWUoSUQs
ICJleGNlcHRpb24iKSkgcmV0dXJuOwotICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAg
ICB2YXIgbmFtZSA9IGNvbnN1bWUoSUQpIHx8IGVycm9yKCJObyBuYW1lIGZvciBleGNlcHRpb24i
KTsKLSAgICAgICAgICAgIHZhciBtZW1zID0gW10KLSAgICAgICAgICAgICwgICByZXQgPSB7Ci0g
ICAgICAgICAgICAgICAgdHlwZTogICAiZXhjZXB0aW9uIgotICAgICAgICAgICAgLCAgIG5hbWU6
ICAgbmFtZS52YWx1ZQotICAgICAgICAgICAgLCAgIG1lbWJlcnM6ICAgIG1lbXMKLSAgICAgICAg
ICAgIH07Ci0gICAgICAgICAgICByZXQuaW5oZXJpdGFuY2UgPSBpbmhlcml0YW5jZSgpIHx8IG51
bGw7Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgIGNvbnN1bWUoT1RIRVIsICJ7
IikgfHwgZXJyb3IoIkJvZHlsZXNzIGV4Y2VwdGlvbiIpOwotICAgICAgICAgICAgd2hpbGUgKHRy
dWUpIHsKLSAgICAgICAgICAgICAgICBhbGxfd3Moc3RvcmUgPyBtZW1zIDogbnVsbCk7Ci0gICAg
ICAgICAgICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICJ9IikpIHsKLSAgICAgICAgICAgICAgICAg
ICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN1bWUoT1RIRVIsICI7IikgfHwg
ZXJyb3IoIk1pc3Npbmcgc2VtaWNvbG9uIGFmdGVyIGV4Y2VwdGlvbiIpOwotICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gcmV0OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB2
YXIgZWEgPSBleHRlbmRlZF9hdHRycyhzdG9yZSA/IG1lbXMgOiBudWxsKTsKLSAgICAgICAgICAg
ICAgICBhbGxfd3Moc3RvcmUgPyBtZW1zIDogbnVsbCwgInBlYSIpOwotICAgICAgICAgICAgICAg
IHZhciBjbnQgPSBjb25zdF8oKTsKLSAgICAgICAgICAgICAgICBpZiAoY250KSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNudC5leHRBdHRycyA9IGVhOwotICAgICAgICAgICAgICAgICAgICByZXQu
bWVtYmVycy5wdXNoKGNudCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVs
c2UgewotICAgICAgICAgICAgICAgICAgICB2YXIgdHlwID0gdHlwZSgpOwotICAgICAgICAgICAg
ICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWUgPSBjb25zdW1l
KElEKTsKLSAgICAgICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgICAg
IGlmICghdHlwIHx8ICFuYW1lIHx8ICFjb25zdW1lKE9USEVSLCAiOyIpKSBlcnJvcigiVW5rbm93
biBtZW1iZXIgaW4gZXhjZXB0aW9uIGJvZHkiKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0Lm1l
bWJlcnMucHVzaCh7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAgICAgICAiZmllbGQi
Ci0gICAgICAgICAgICAgICAgICAgICwgICBuYW1lOiAgICAgICBuYW1lLnZhbHVlCi0gICAgICAg
ICAgICAgICAgICAgICwgICBpZGxUeXBlOiAgICB0eXAKLSAgICAgICAgICAgICAgICAgICAgLCAg
IGV4dEF0dHJzOiAgIGVhCi0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIH0KKyAgICAgIGFsbF93cygpOworICAgICAgY29uc3VtZShPVEhFUiwg
InsiKSB8fCBlcnJvcigiQm9keWxlc3MgbmFtZXNwYWNlIik7CisgICAgICB3aGlsZSAodHJ1ZSkg
eworICAgICAgICBhbGxfd3Moc3RvcmUgPyBtZW1zIDogbnVsbCk7CisgICAgICAgIGlmIChjb25z
dW1lKE9USEVSLCAifSIpKSB7CisgICAgICAgICAgYWxsX3dzKCk7CisgICAgICAgICAgY29uc3Vt
ZShPVEhFUiwgIjsiKSB8fCBlcnJvcigiTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgbmFtZXNwYWNl
Iik7CisgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgfQorICAgICAgICB2YXIgZWEgPSBl
eHRlbmRlZF9hdHRycyhzdG9yZSA/IG1lbXMgOiBudWxsKTsKKyAgICAgICAgYWxsX3dzKCk7Cisg
ICAgICAgIHZhciBtZW0gPSBub25pbmhlcml0ZWRfYXR0cmlidXRlKHN0b3JlID8gbWVtcyA6IG51
bGwpIHx8CisgICAgICAgICAgbm9uc3BlY2lhbF9vcGVyYXRpb24oc3RvcmUgPyBtZW1zIDogbnVs
bCkgfHwKKyAgICAgICAgICBlcnJvcigiVW5rbm93biBtZW1iZXIiKTsKKyAgICAgICAgbWVtLmV4
dEF0dHJzID0gZWE7CisgICAgICAgIHJldC5tZW1iZXJzLnB1c2gobWVtKTsKKyAgICAgIH0KKyAg
ICB9CisKKyAgICB2YXIgbm9uaW5oZXJpdGVkX2F0dHJpYnV0ZSA9IGZ1bmN0aW9uKHN0b3JlKSB7
CisgICAgICB2YXIgdyA9IGFsbF93cyhzdG9yZSwgInBlYSIpLCAKKyAgICAgICAgZ3JhYmJlZCA9
IFtdLAorICAgICAgICByZXQgPSB7CisgICAgICAgICAgdHlwZTogImF0dHJpYnV0ZSIsCisgICAg
ICAgICAgInN0YXRpYyI6IGZhbHNlLAorICAgICAgICAgIHN0cmluZ2lmaWVyOiBmYWxzZSwKKyAg
ICAgICAgICBpbmhlcml0OiBmYWxzZSwKKyAgICAgICAgICByZWFkb25seTogZmFsc2UKICAgICAg
ICAgfTsKLSAgICAgICAgCi0gICAgICAgIHZhciBlbnVtXyA9IGZ1bmN0aW9uIChzdG9yZSkgewot
ICAgICAgICAgICAgYWxsX3dzKHN0b3JlLCAicGVhIik7Ci0gICAgICAgICAgICBpZiAoIWNvbnN1
bWUoSUQsICJlbnVtIikpIHJldHVybjsKLSAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAg
ICAgdmFyIG5hbWUgPSBjb25zdW1lKElEKSB8fCBlcnJvcigiTm8gbmFtZSBmb3IgZW51bSIpOwot
ICAgICAgICAgICAgdmFyIHZhbHMgPSBbXQotICAgICAgICAgICAgLCAgIHJldCA9IHsKLSAgICAg
ICAgICAgICAgICB0eXBlOiAgICJlbnVtIgotICAgICAgICAgICAgLCAgIG5hbWU6ICAgbmFtZS52
YWx1ZQotICAgICAgICAgICAgLCAgIHZhbHVlczogdmFscwotICAgICAgICAgICAgfTsKLSAgICAg
ICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAgY29uc3VtZShPVEhFUiwgInsiKSB8fCBlcnJv
cigiTm8gY3VybHkgZm9yIGVudW0iKTsKLSAgICAgICAgICAgIHZhciBzYXdfY29tbWEgPSBmYWxz
ZTsKLSAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgICAgICAgICAgYWxsX3dzKHN0
b3JlID8gdmFscyA6IG51bGwpOwotICAgICAgICAgICAgICAgIGlmIChjb25zdW1lKE9USEVSLCAi
fSIpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFsbF93cygpOwotICAgICAgICAgICAgICAgICAg
ICBjb25zdW1lKE9USEVSLCAiOyIpIHx8IGVycm9yKCJObyBzZW1pY29sb24gYWZ0ZXIgZW51bSIp
OwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0OwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICB2YXIgdmFsID0gY29uc3VtZShTVFIpIHx8IGVycm9yKCJVbmV4cGVjdGVk
IHZhbHVlIGluIGVudW0iKTsKLSAgICAgICAgICAgICAgICByZXQudmFsdWVzLnB1c2godmFsLnZh
bHVlLnJlcGxhY2UoLyIvZywgIiIpKTsKLSAgICAgICAgICAgICAgICBhbGxfd3Moc3RvcmUgPyB2
YWxzIDogbnVsbCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICIsIikpIHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHN0b3JlKSB2YWxzLnB1c2goeyB0eXBlOiAiLCIgfSk7
Ci0gICAgICAgICAgICAgICAgICAgIGFsbF93cyhzdG9yZSA/IHZhbHMgOiBudWxsKTsKLSAgICAg
ICAgICAgICAgICAgICAgc2F3X2NvbW1hID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHNhd19jb21tYSA9IGZhbHNl
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICAgIGlmICh3KSBncmFiYmVk
LnB1c2godyk7CisgICAgICBpZiAoY29uc3VtZShJRCwgInJlYWRvbmx5IikpIHsKKyAgICAgICAg
cmV0LnJlYWRvbmx5ID0gdHJ1ZTsKKyAgICAgICAgZ3JhYmJlZC5wdXNoKGxhc3RfdG9rZW4pOwor
ICAgICAgICB2YXIgdyA9IGFsbF93cygpOworICAgICAgICBpZiAodykgZ3JhYmJlZC5wdXNoKHcp
OworICAgICAgfQorICAgICAgdmFyIHJlc3QgPSBhdHRyaWJ1dGVfcmVzdChyZXQpOworICAgICAg
aWYgKCFyZXN0KSB7CisgICAgICAgIHRva2VucyA9IGdyYWJiZWQuY29uY2F0KHRva2Vucyk7Cisg
ICAgICB9CisgICAgICByZXR1cm4gcmVzdDsKKyAgICB9CisgICAgCisgICAgdmFyIG5vbnNwZWNp
YWxfb3BlcmF0aW9uID0gZnVuY3Rpb24oc3RvcmUpIHsKKyAgICAgIGFsbF93cyhzdG9yZSwgInBl
YSIpOworICAgICAgdmFyIHJldCA9IHsKKyAgICAgICAgdHlwZTogIm9wZXJhdGlvbiIsCisgICAg
ICAgIGdldHRlcjogZmFsc2UsCisgICAgICAgIHNldHRlcjogZmFsc2UsCisgICAgICAgIGNyZWF0
b3I6IGZhbHNlLAorICAgICAgICBkZWxldGVyOiBmYWxzZSwKKyAgICAgICAgbGVnYWN5Y2FsbGVy
OiBmYWxzZSwKKyAgICAgICAgInN0YXRpYyI6IGZhbHNlLAorICAgICAgICBzdHJpbmdpZmllcjog
ZmFsc2UKKyAgICAgIH07CisgICAgICByZXQuaWRsVHlwZSA9IHJldHVybl90eXBlKCk7CisgICAg
ICByZXR1cm4gb3BlcmF0aW9uX3Jlc3QocmV0LCBzdG9yZSk7CisgICAgfQorCisgICAgdmFyIHBh
cnRpYWwgPSBmdW5jdGlvbihzdG9yZSkgeworICAgICAgYWxsX3dzKHN0b3JlLCAicGVhIik7Cisg
ICAgICBpZiAoIWNvbnN1bWUoSUQsICJwYXJ0aWFsIikpIHJldHVybjsKKyAgICAgIHZhciB0aGlu
ZyA9IGRpY3Rpb25hcnkodHJ1ZSwgc3RvcmUpIHx8CisgICAgICAgIGludGVyZmFjZV8odHJ1ZSwg
c3RvcmUpIHx8CisgICAgICAgIG5hbWVzcGFjZSh0cnVlLCBzdG9yZSkgfHwKKyAgICAgICAgZXJy
b3IoIlBhcnRpYWwgZG9lc24ndCBhcHBseSB0byBhbnl0aGluZyIpOworICAgICAgdGhpbmcucGFy
dGlhbCA9IHRydWU7CisgICAgICByZXR1cm4gdGhpbmc7CisgICAgfTsKKworICAgIHZhciBkaWN0
aW9uYXJ5ID0gZnVuY3Rpb24oaXNQYXJ0aWFsLCBzdG9yZSkgeworICAgICAgYWxsX3dzKGlzUGFy
dGlhbCA/IG51bGwgOiBzdG9yZSwgInBlYSIpOworICAgICAgaWYgKCFjb25zdW1lKElELCAiZGlj
dGlvbmFyeSIpKSByZXR1cm47CisgICAgICBhbGxfd3MoKTsKKyAgICAgIHZhciBuYW1lID0gY29u
c3VtZShJRCkgfHwgZXJyb3IoIk5vIG5hbWUgZm9yIGRpY3Rpb25hcnkiKTsKKyAgICAgIHZhciBt
ZW1zID0gW10sCisgICAgICAgIHJldCA9IHsKKyAgICAgICAgICB0eXBlOiAiZGljdGlvbmFyeSIs
CisgICAgICAgICAgbmFtZTogbmFtZS52YWx1ZSwKKyAgICAgICAgICBwYXJ0aWFsOiBmYWxzZSwK
KyAgICAgICAgICBtZW1iZXJzOiBtZW1zCiAgICAgICAgIH07Ci0gICAgICAgIAotICAgICAgICB2
YXIgdHlwZWRlZiA9IGZ1bmN0aW9uIChzdG9yZSkgewotICAgICAgICAgICAgYWxsX3dzKHN0b3Jl
LCAicGVhIik7Ci0gICAgICAgICAgICBpZiAoIWNvbnN1bWUoSUQsICJ0eXBlZGVmIikpIHJldHVy
bjsKLSAgICAgICAgICAgIHZhciByZXQgPSB7Ci0gICAgICAgICAgICAgICAgdHlwZTogICAidHlw
ZWRlZiIKLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBhbGxfd3MoKTsKLSAgICAgICAgICAg
IHJldC50eXBlRXh0QXR0cnMgPSBleHRlbmRlZF9hdHRycygpOwotICAgICAgICAgICAgYWxsX3dz
KHN0b3JlLCAidHBlYSIpOwotICAgICAgICAgICAgcmV0LmlkbFR5cGUgPSB0eXBlKCkgfHwgZXJy
b3IoIk5vIHR5cGUgaW4gdHlwZWRlZiIpOwotICAgICAgICAgICAgYWxsX3dzKCk7Ci0gICAgICAg
ICAgICB2YXIgbmFtZSA9IGNvbnN1bWUoSUQpIHx8IGVycm9yKCJObyBuYW1lIGluIHR5cGVkZWYi
KTsKLSAgICAgICAgICAgIHJldC5uYW1lID0gbmFtZS52YWx1ZTsKLSAgICAgICAgICAgIGFsbF93
cygpOwotICAgICAgICAgICAgY29uc3VtZShPVEhFUiwgIjsiKSB8fCBlcnJvcigiVW50ZXJtaW5h
dGVkIHR5cGVkZWYiKTsKLSAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICBpZiAoIWlzUGFy
dGlhbCkgcmV0LmluaGVyaXRhbmNlID0gaW5oZXJpdGFuY2UoKSB8fCBudWxsOworICAgICAgYWxs
X3dzKCk7CisgICAgICBjb25zdW1lKE9USEVSLCAieyIpIHx8IGVycm9yKCJCb2R5bGVzcyBkaWN0
aW9uYXJ5Iik7CisgICAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBhbGxfd3Moc3RvcmUgPyBt
ZW1zIDogbnVsbCk7CisgICAgICAgIGlmIChjb25zdW1lKE9USEVSLCAifSIpKSB7CisgICAgICAg
ICAgYWxsX3dzKCk7CisgICAgICAgICAgY29uc3VtZShPVEhFUiwgIjsiKSB8fCBlcnJvcigiTWlz
c2luZyBzZW1pY29sb24gYWZ0ZXIgZGljdGlvbmFyeSIpOworICAgICAgICAgIHJldHVybiByZXQ7
CisgICAgICAgIH0KKyAgICAgICAgdmFyIGVhID0gZXh0ZW5kZWRfYXR0cnMoc3RvcmUgPyBtZW1z
IDogbnVsbCk7CisgICAgICAgIGFsbF93cyhzdG9yZSA/IG1lbXMgOiBudWxsLCAicGVhIik7Cisg
ICAgICAgIHZhciByZXF1aXJlZCA9IGNvbnN1bWUoSUQsICJyZXF1aXJlZCIpOworICAgICAgICB2
YXIgdHlwID0gdHlwZV93aXRoX2V4dGVuZGVkX2F0dHJpYnV0ZXMoKSB8fCBlcnJvcigiTm8gdHlw
ZSBmb3IgZGljdGlvbmFyeSBtZW1iZXIiKTsKKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIHZh
ciBuYW1lID0gY29uc3VtZShJRCkgfHwgZXJyb3IoIk5vIG5hbWUgZm9yIGRpY3Rpb25hcnkgbWVt
YmVyIik7CisgICAgICAgIHZhciBkZmx0ID0gZGVmYXVsdF8oKTsKKyAgICAgICAgaWYgKHJlcXVp
cmVkICYmIGRmbHQpIGVycm9yKCJSZXF1aXJlZCBtZW1iZXIgbXVzdCBub3QgaGF2ZSBhIGRlZmF1
bHQiKTsKKyAgICAgICAgdmFyIG1lbWJlciA9IHsKKyAgICAgICAgICB0eXBlOiAiZmllbGQiLAor
ICAgICAgICAgIG5hbWU6IG5hbWUudmFsdWUsCisgICAgICAgICAgcmVxdWlyZWQ6ICEhcmVxdWly
ZWQsCisgICAgICAgICAgaWRsVHlwZTogdHlwLAorICAgICAgICAgIGV4dEF0dHJzOiBlYQogICAg
ICAgICB9OwotICAgICAgICAKLSAgICAgICAgdmFyIGltcGxlbWVudHNfID0gZnVuY3Rpb24gKHN0
b3JlKSB7Ci0gICAgICAgICAgICBhbGxfd3Moc3RvcmUsICJwZWEiKTsKLSAgICAgICAgICAgIHZh
ciB0YXJnZXQgPSBjb25zdW1lKElEKTsKLSAgICAgICAgICAgIGlmICghdGFyZ2V0KSByZXR1cm47
Ci0gICAgICAgICAgICB2YXIgdyA9IGFsbF93cygpOwotICAgICAgICAgICAgaWYgKGNvbnN1bWUo
SUQsICJpbXBsZW1lbnRzIikpIHsKLSAgICAgICAgICAgICAgICB2YXIgcmV0ID0gewotICAgICAg
ICAgICAgICAgICAgICB0eXBlOiAgICJpbXBsZW1lbnRzIgotICAgICAgICAgICAgICAgICwgICB0
YXJnZXQ6IHRhcmdldC52YWx1ZQotICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAg
YWxsX3dzKCk7Ci0gICAgICAgICAgICAgICAgdmFyIGltcCA9IGNvbnN1bWUoSUQpIHx8IGVycm9y
KCJJbmNvbXBsZXRlIGltcGxlbWVudHMgc3RhdGVtZW50Iik7Ci0gICAgICAgICAgICAgICAgcmV0
WyJpbXBsZW1lbnRzIl0gPSBpbXAudmFsdWU7Ci0gICAgICAgICAgICAgICAgYWxsX3dzKCk7Ci0g
ICAgICAgICAgICAgICAgY29uc3VtZShPVEhFUiwgIjsiKSB8fCBlcnJvcigiTm8gdGVybWluYXRp
bmcgOyBmb3IgaW1wbGVtZW50cyBzdGF0ZW1lbnQiKTsKLSAgICAgICAgICAgICAgICByZXR1cm4g
cmV0OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAg
Ly8gcm9sbGJhY2sKLSAgICAgICAgICAgICAgICB0b2tlbnMudW5zaGlmdCh3KTsKLSAgICAgICAg
ICAgICAgICB0b2tlbnMudW5zaGlmdCh0YXJnZXQpOwotICAgICAgICAgICAgfQorICAgICAgICBp
ZiAodHlwZW9mIGRmbHQgIT09ICJ1bmRlZmluZWQiKSB7CisgICAgICAgICAgbWVtYmVyWyJkZWZh
dWx0Il0gPSBkZmx0OworICAgICAgICB9CisgICAgICAgIHJldC5tZW1iZXJzLnB1c2gobWVtYmVy
KTsKKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIGNvbnN1bWUoT1RIRVIsICI7IikgfHwgZXJy
b3IoIlVudGVybWluYXRlZCBkaWN0aW9uYXJ5IG1lbWJlciIpOworICAgICAgfQorICAgIH07CisK
KyAgICB2YXIgZXhjZXB0aW9uID0gZnVuY3Rpb24oc3RvcmUpIHsKKyAgICAgIGFsbF93cyhzdG9y
ZSwgInBlYSIpOworICAgICAgaWYgKCFjb25zdW1lKElELCAiZXhjZXB0aW9uIikpIHJldHVybjsK
KyAgICAgIGFsbF93cygpOworICAgICAgdmFyIG5hbWUgPSBjb25zdW1lKElEKSB8fCBlcnJvcigi
Tm8gbmFtZSBmb3IgZXhjZXB0aW9uIik7CisgICAgICB2YXIgbWVtcyA9IFtdLAorICAgICAgICBy
ZXQgPSB7CisgICAgICAgICAgdHlwZTogImV4Y2VwdGlvbiIsCisgICAgICAgICAgbmFtZTogbmFt
ZS52YWx1ZSwKKyAgICAgICAgICBtZW1iZXJzOiBtZW1zCiAgICAgICAgIH07Ci0gICAgICAgIAot
ICAgICAgICB2YXIgZGVmaW5pdGlvbiA9IGZ1bmN0aW9uIChzdG9yZSkgewotICAgICAgICAgICAg
cmV0dXJuICBjYWxsYmFjayhzdG9yZSkgICAgICAgICAgICAgfHwKLSAgICAgICAgICAgICAgICAg
ICAgaW50ZXJmYWNlXyhmYWxzZSwgc3RvcmUpICAgIHx8Ci0gICAgICAgICAgICAgICAgICAgIHBh
cnRpYWwoc3RvcmUpICAgICAgICAgICAgICB8fAotICAgICAgICAgICAgICAgICAgICBkaWN0aW9u
YXJ5KGZhbHNlLCBzdG9yZSkgICAgfHwKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uKHN0
b3JlKSAgICAgICAgICAgIHx8Ci0gICAgICAgICAgICAgICAgICAgIGVudW1fKHN0b3JlKSAgICAg
ICAgICAgICAgICB8fAotICAgICAgICAgICAgICAgICAgICB0eXBlZGVmKHN0b3JlKSAgICAgICAg
ICAgICAgfHwKLSAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50c18oc3RvcmUpCi0gICAgICAg
ICAgICAgICAgICAgIDsKKyAgICAgIHJldC5pbmhlcml0YW5jZSA9IGluaGVyaXRhbmNlKCkgfHwg
bnVsbDsKKyAgICAgIGFsbF93cygpOworICAgICAgY29uc3VtZShPVEhFUiwgInsiKSB8fCBlcnJv
cigiQm9keWxlc3MgZXhjZXB0aW9uIik7CisgICAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBh
bGxfd3Moc3RvcmUgPyBtZW1zIDogbnVsbCk7CisgICAgICAgIGlmIChjb25zdW1lKE9USEVSLCAi
fSIpKSB7CisgICAgICAgICAgYWxsX3dzKCk7CisgICAgICAgICAgY29uc3VtZShPVEhFUiwgIjsi
KSB8fCBlcnJvcigiTWlzc2luZyBzZW1pY29sb24gYWZ0ZXIgZXhjZXB0aW9uIik7CisgICAgICAg
ICAgcmV0dXJuIHJldDsKKyAgICAgICAgfQorICAgICAgICB2YXIgZWEgPSBleHRlbmRlZF9hdHRy
cyhzdG9yZSA/IG1lbXMgOiBudWxsKTsKKyAgICAgICAgYWxsX3dzKHN0b3JlID8gbWVtcyA6IG51
bGwsICJwZWEiKTsKKyAgICAgICAgdmFyIGNudCA9IGNvbnN0XygpOworICAgICAgICBpZiAoY250
KSB7CisgICAgICAgICAgY250LmV4dEF0dHJzID0gZWE7CisgICAgICAgICAgcmV0Lm1lbWJlcnMu
cHVzaChjbnQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHZhciB0eXAgPSB0eXBlKCk7
CisgICAgICAgICAgYWxsX3dzKCk7CisgICAgICAgICAgdmFyIG5hbWUgPSBjb25zdW1lKElEKTsK
KyAgICAgICAgICBhbGxfd3MoKTsKKyAgICAgICAgICBpZiAoIXR5cCB8fCAhbmFtZSB8fCAhY29u
c3VtZShPVEhFUiwgIjsiKSkgZXJyb3IoIlVua25vd24gbWVtYmVyIGluIGV4Y2VwdGlvbiBib2R5
Iik7CisgICAgICAgICAgcmV0Lm1lbWJlcnMucHVzaCh7CisgICAgICAgICAgICB0eXBlOiAiZmll
bGQiLAorICAgICAgICAgICAgbmFtZTogbmFtZS52YWx1ZSwKKyAgICAgICAgICAgIGlkbFR5cGU6
IHR5cCwKKyAgICAgICAgICAgIGV4dEF0dHJzOiBlYQorICAgICAgICAgIH0pOworICAgICAgICB9
CisgICAgICB9CisgICAgfTsKKworICAgIHZhciBlbnVtXyA9IGZ1bmN0aW9uKHN0b3JlKSB7Cisg
ICAgICBhbGxfd3Moc3RvcmUsICJwZWEiKTsKKyAgICAgIGlmICghY29uc3VtZShJRCwgImVudW0i
KSkgcmV0dXJuOworICAgICAgYWxsX3dzKCk7CisgICAgICB2YXIgbmFtZSA9IGNvbnN1bWUoSUQp
IHx8IGVycm9yKCJObyBuYW1lIGZvciBlbnVtIik7CisgICAgICB2YXIgdmFscyA9IFtdLAorICAg
ICAgICByZXQgPSB7CisgICAgICAgICAgdHlwZTogImVudW0iLAorICAgICAgICAgIG5hbWU6IG5h
bWUudmFsdWUsCisgICAgICAgICAgdmFsdWVzOiB2YWxzCiAgICAgICAgIH07Ci0gICAgICAgIAot
ICAgICAgICB2YXIgZGVmaW5pdGlvbnMgPSBmdW5jdGlvbiAoc3RvcmUpIHsKLSAgICAgICAgICAg
IGlmICghdG9rZW5zLmxlbmd0aCkgcmV0dXJuIFtdOwotICAgICAgICAgICAgdmFyIGRlZnMgPSBb
XTsKLSAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGVhID0g
ZXh0ZW5kZWRfYXR0cnMoc3RvcmUgPyBkZWZzIDogbnVsbCkKLSAgICAgICAgICAgICAgICAsICAg
ZGVmID0gZGVmaW5pdGlvbihzdG9yZSA/IGRlZnMgOiBudWxsKTsKLSAgICAgICAgICAgICAgICBp
ZiAoIWRlZikgewotICAgICAgICAgICAgICAgICAgICBpZiAoZWEubGVuZ3RoKSBlcnJvcigiU3Ry
YXkgZXh0ZW5kZWQgYXR0cmlidXRlcyIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZGVmLmV4dEF0dHJzID0gZWE7Ci0gICAg
ICAgICAgICAgICAgZGVmcy5wdXNoKGRlZik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBy
ZXR1cm4gZGVmczsKKyAgICAgIGFsbF93cygpOworICAgICAgY29uc3VtZShPVEhFUiwgInsiKSB8
fCBlcnJvcigiTm8gY3VybHkgZm9yIGVudW0iKTsKKyAgICAgIHZhciBzYXdfY29tbWEgPSBmYWxz
ZTsKKyAgICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIGFsbF93cyhzdG9yZSA/IHZhbHMgOiBu
dWxsKTsKKyAgICAgICAgaWYgKGNvbnN1bWUoT1RIRVIsICJ9IikpIHsKKyAgICAgICAgICBhbGxf
d3MoKTsKKyAgICAgICAgICBjb25zdW1lKE9USEVSLCAiOyIpIHx8IGVycm9yKCJObyBzZW1pY29s
b24gYWZ0ZXIgZW51bSIpOworICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgIH0KKyAgICAg
ICAgdmFyIHZhbCA9IGNvbnN1bWUoU1RSKSB8fCBlcnJvcigiVW5leHBlY3RlZCB2YWx1ZSBpbiBl
bnVtIik7CisgICAgICAgIHJldC52YWx1ZXMucHVzaCh2YWwudmFsdWUucmVwbGFjZSgvIi9nLCAi
IikpOworICAgICAgICBhbGxfd3Moc3RvcmUgPyB2YWxzIDogbnVsbCk7CisgICAgICAgIGlmIChj
b25zdW1lKE9USEVSLCAiLCIpKSB7CisgICAgICAgICAgaWYgKHN0b3JlKSB2YWxzLnB1c2goeyB0
eXBlOiAiLCIgfSk7CisgICAgICAgICAgYWxsX3dzKHN0b3JlID8gdmFscyA6IG51bGwpOworICAg
ICAgICAgIHNhd19jb21tYSA9IHRydWU7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgc2F3
X2NvbW1hID0gZmFsc2U7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9OworCisgICAgdmFyIHR5
cGVkZWYgPSBmdW5jdGlvbihzdG9yZSkgeworICAgICAgYWxsX3dzKHN0b3JlLCAicGVhIik7Cisg
ICAgICBpZiAoIWNvbnN1bWUoSUQsICJ0eXBlZGVmIikpIHJldHVybjsKKyAgICAgIHZhciByZXQg
PSB7CisgICAgICAgIHR5cGU6ICJ0eXBlZGVmIgorICAgICAgfTsKKyAgICAgIGFsbF93cygpOwor
ICAgICAgcmV0LmlkbFR5cGUgPSB0eXBlX3dpdGhfZXh0ZW5kZWRfYXR0cmlidXRlcygpIHx8IGVy
cm9yKCJObyB0eXBlIGluIHR5cGVkZWYiKTsKKyAgICAgIGFsbF93cygpOworICAgICAgdmFyIG5h
bWUgPSBjb25zdW1lKElEKSB8fCBlcnJvcigiTm8gbmFtZSBpbiB0eXBlZGVmIik7CisgICAgICBy
ZXQubmFtZSA9IG5hbWUudmFsdWU7CisgICAgICBhbGxfd3MoKTsKKyAgICAgIGNvbnN1bWUoT1RI
RVIsICI7IikgfHwgZXJyb3IoIlVudGVybWluYXRlZCB0eXBlZGVmIik7CisgICAgICByZXR1cm4g
cmV0OworICAgIH07CisKKyAgICB2YXIgaW1wbGVtZW50c18gPSBmdW5jdGlvbihzdG9yZSkgewor
ICAgICAgYWxsX3dzKHN0b3JlLCAicGVhIik7CisgICAgICB2YXIgdGFyZ2V0ID0gY29uc3VtZShJ
RCk7CisgICAgICBpZiAoIXRhcmdldCkgcmV0dXJuOworICAgICAgdmFyIHcgPSBhbGxfd3MoKTsK
KyAgICAgIGlmIChjb25zdW1lKElELCAiaW1wbGVtZW50cyIpKSB7CisgICAgICAgIHZhciByZXQg
PSB7CisgICAgICAgICAgdHlwZTogImltcGxlbWVudHMiLAorICAgICAgICAgIHRhcmdldDogdGFy
Z2V0LnZhbHVlCiAgICAgICAgIH07Ci0gICAgICAgIHZhciByZXMgPSBkZWZpbml0aW9ucyhvcHQu
d3MpOwotICAgICAgICBpZiAodG9rZW5zLmxlbmd0aCkgZXJyb3IoIlVucmVjb2duaXNlZCB0b2tl
bnMiKTsKLSAgICAgICAgcmV0dXJuIHJlczsKKyAgICAgICAgYWxsX3dzKCk7CisgICAgICAgIHZh
ciBpbXAgPSBjb25zdW1lKElEKSB8fCBlcnJvcigiSW5jb21wbGV0ZSBpbXBsZW1lbnRzIHN0YXRl
bWVudCIpOworICAgICAgICByZXRbImltcGxlbWVudHMiXSA9IGltcC52YWx1ZTsKKyAgICAgICAg
YWxsX3dzKCk7CisgICAgICAgIGNvbnN1bWUoT1RIRVIsICI7IikgfHwgZXJyb3IoIk5vIHRlcm1p
bmF0aW5nIDsgZm9yIGltcGxlbWVudHMgc3RhdGVtZW50Iik7CisgICAgICAgIHJldHVybiByZXQ7
CisgICAgICB9IGVsc2UgeworICAgICAgICAvLyByb2xsYmFjaworICAgICAgICB0b2tlbnMudW5z
aGlmdCh3KTsKKyAgICAgICAgdG9rZW5zLnVuc2hpZnQodGFyZ2V0KTsKKyAgICAgIH0KICAgICB9
OwogCi0gICAgdmFyIGluTm9kZSA9IHR5cGVvZiBtb2R1bGUgIT09ICJ1bmRlZmluZWQiICYmIG1v
ZHVsZS5leHBvcnRzCi0gICAgLCAgIG9iaiA9IHsKLSAgICAgICAgICAgIHBhcnNlOiAgZnVuY3Rp
b24gKHN0ciwgb3B0KSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFvcHQpIG9wdCA9IHt9OwotICAg
ICAgICAgICAgICAgIHZhciB0b2tlbnMgPSB0b2tlbmlzZShzdHIpOwotICAgICAgICAgICAgICAg
IHJldHVybiBwYXJzZSh0b2tlbnMsIG9wdCk7Ci0gICAgICAgICAgICB9CisgICAgdmFyIGRlZmlu
aXRpb24gPSBmdW5jdGlvbihzdG9yZSkgeworICAgICAgcmV0dXJuIGNhbGxiYWNrKHN0b3JlKSB8
fAorICAgICAgICBpbnRlcmZhY2VfKGZhbHNlLCBzdG9yZSkgfHwKKyAgICAgICAgcGFydGlhbChz
dG9yZSkgfHwKKyAgICAgICAgZGljdGlvbmFyeShmYWxzZSwgc3RvcmUpIHx8CisgICAgICAgIGV4
Y2VwdGlvbihzdG9yZSkgfHwKKyAgICAgICAgZW51bV8oc3RvcmUpIHx8CisgICAgICAgIHR5cGVk
ZWYoc3RvcmUpIHx8CisgICAgICAgIGltcGxlbWVudHNfKHN0b3JlKSB8fAorICAgICAgICBuYW1l
c3BhY2UoZmFsc2UsIHN0b3JlKTsKICAgICB9OwogCi0gICAgaWYgKGluTm9kZSkgbW9kdWxlLmV4
cG9ydHMgPSBvYmo7Ci0gICAgZWxzZSAgICAgICAgc2VsZi5XZWJJREwyID0gb2JqOworICAgIHZh
ciBkZWZpbml0aW9ucyA9IGZ1bmN0aW9uKHN0b3JlKSB7CisgICAgICBpZiAoIXRva2Vucy5sZW5n
dGgpIHJldHVybiBbXTsKKyAgICAgIHZhciBkZWZzID0gW107CisgICAgICB3aGlsZSAodHJ1ZSkg
eworICAgICAgICB2YXIgZWEgPSBleHRlbmRlZF9hdHRycyhzdG9yZSA/IGRlZnMgOiBudWxsKSwK
KyAgICAgICAgICBkZWYgPSBkZWZpbml0aW9uKHN0b3JlID8gZGVmcyA6IG51bGwpOworICAgICAg
ICBpZiAoIWRlZikgeworICAgICAgICAgIGlmIChlYS5sZW5ndGgpIGVycm9yKCJTdHJheSBleHRl
bmRlZCBhdHRyaWJ1dGVzIik7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
ZGVmLmV4dEF0dHJzID0gZWE7CisgICAgICAgIGRlZnMucHVzaChkZWYpOworICAgICAgfQorICAg
ICAgcmV0dXJuIGRlZnM7CisgICAgfTsKKyAgICB2YXIgcmVzID0gZGVmaW5pdGlvbnMob3B0Lndz
KTsKKyAgICBpZiAodG9rZW5zLmxlbmd0aCkgZXJyb3IoIlVucmVjb2duaXNlZCB0b2tlbnMiKTsK
KyAgICByZXR1cm4gcmVzOworICB9OworCisgIHZhciBvYmogPSB7CisgICAgcGFyc2U6IGZ1bmN0
aW9uKHN0ciwgb3B0KSB7CisgICAgICBpZiAoIW9wdCkgb3B0ID0ge307CisgICAgICB2YXIgdG9r
ZW5zID0gdG9rZW5pc2Uoc3RyKTsKKyAgICAgIHJldHVybiBwYXJzZSh0b2tlbnMsIG9wdCk7Cisg
ICAgfQorICB9OworCisgIGlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyAmJiB0eXBl
b2YgbW9kdWxlLmV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7CisgICAgbW9kdWxlLmV4cG9ydHMg
PSBvYmo7CisgIH0gZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZp
bmUuYW1kKSB7CisgICAgZGVmaW5lKFtdLCBmdW5jdGlvbigpIHsKKyAgICAgIHJldHVybiBvYmo7
CisgICAgfSk7CisgIH0gZWxzZSB7CisgICAgKHNlbGYgfHwgd2luZG93KS5XZWJJREwyID0gb2Jq
OworICB9CiB9KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIvd3JpdGVyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi9saWIv
d3JpdGVyLmpzCmluZGV4IGJhODM2MzczODIzNWMzOTYyMjVjZjM2OTZhYmI2MGE0NGNkZTA1ZDEu
LmY3Yzc5ZjgyODkzNThhNWJhNTc5MTEyNDY0NDBmYjE5MmYwOTllMDggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvbGliL3dyaXRlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL2xpYi93cml0ZXIuanMKQEAgLTEsMjM2ICsxLDI4
MCBAQAorKGZ1bmN0aW9uKCkgewogCi0oZnVuY3Rpb24gKCkgeworICB2YXIgd3JpdGUgPSBmdW5j
dGlvbihhc3QsIG9wdCkgeworICAgIHZhciBjdXJQZWEgPSAiIiwKKyAgICAgIGN1clRQZWEgPSAi
IiwKKyAgICAgIG9wdCA9IG9wdCB8fCB7fSwKKyAgICAgIG5vb3AgPSBmdW5jdGlvbihzdHIpIHsK
KyAgICAgICAgcmV0dXJuIHN0cjsgfSwKKyAgICAgIG9wdE5hbWVzID0gInR5cGUiLnNwbGl0KCIg
IiksCisgICAgICBjb250ZXh0ID0gW107CisgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBvcHROYW1l
cy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKKyAgICAgIHZhciBvID0gb3B0TmFtZXNbaV07CisgICAg
ICBpZiAoIW9wdFtvXSkgb3B0W29dID0gbm9vcDsKKyAgICB9CiAKLSAgICB2YXIgd3JpdGUgPSBm
dW5jdGlvbiAoYXN0LCBvcHQpIHsKLSAgICAgICAgdmFyIGN1clBlYSA9ICIiCi0gICAgICAgICwg
ICBjdXJUUGVhID0gIiIKLSAgICAgICAgLCAgIG9wdCA9IG9wdCB8fCB7fQotICAgICAgICAsICAg
bm9vcCA9IGZ1bmN0aW9uIChzdHIpIHsgcmV0dXJuIHN0cjsgfQotICAgICAgICAsICAgb3B0TmFt
ZXMgPSAidHlwZSIuc3BsaXQoIiAiKQotICAgICAgICAsICAgY29udGV4dCA9IFtdCi0gICAgICAg
IDsKLSAgICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBvcHROYW1lcy5sZW5ndGg7IGkgPCBuOyBp
KyspIHsKLSAgICAgICAgICAgIHZhciBvID0gb3B0TmFtZXNbaV07Ci0gICAgICAgICAgICBpZiAo
IW9wdFtvXSkgb3B0W29dID0gbm9vcDsKKyAgICB2YXIgbGl0ZXJhbCA9IGZ1bmN0aW9uKGl0KSB7
CisgICAgICByZXR1cm4gaXQudmFsdWU7CisgICAgfTsKKyAgICB2YXIgd3NQZWEgPSBmdW5jdGlv
bihpdCkgeworICAgICAgY3VyUGVhICs9IGl0LnZhbHVlOworICAgICAgcmV0dXJuICIiOworICAg
IH07CisgICAgdmFyIHdzVFBlYSA9IGZ1bmN0aW9uKGl0KSB7CisgICAgICBjdXJUUGVhICs9IGl0
LnZhbHVlOworICAgICAgcmV0dXJuICIiOworICAgIH07CisgICAgdmFyIGxpbmVDb21tZW50ID0g
ZnVuY3Rpb24oaXQpIHsKKyAgICAgIHJldHVybiAiLy8iICsgaXQudmFsdWUgKyAiXG4iOworICAg
IH07CisgICAgdmFyIG11bHRpbGluZUNvbW1lbnQgPSBmdW5jdGlvbihpdCkgeworICAgICAgcmV0
dXJuICIvKiIgKyBpdC52YWx1ZSArICIqLyI7CisgICAgfTsKKyAgICB2YXIgdHlwZSA9IGZ1bmN0
aW9uKGl0KSB7CisgICAgICBpZiAodHlwZW9mIGl0ID09PSAic3RyaW5nIikgcmV0dXJuIG9wdC50
eXBlKGl0KTsgLy8gWFhYIHNob3VsZCBtYWludGFpbiBzb21lIGNvbnRleHQKKyAgICAgIGlmIChp
dC51bmlvbikgcmV0dXJuICIoIiArIGl0LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4oIiBvciAiKSAr
ICIpIjsKKyAgICAgIHZhciByZXQgPSAiIjsKKyAgICAgIGlmIChpdC5nZW5lcmljKSByZXQgKz0g
aXQuZ2VuZXJpYyArICI8IjsKKyAgICAgIGVsc2UgaWYgKGl0LnNlcXVlbmNlKSByZXQgKz0gInNl
cXVlbmNlPCI7CisgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdC5pZGxUeXBlKSkgcmV0ICs9IGl0
LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4oIiwgIik7CisgICAgICBlbHNlIHJldCArPSB0eXBlKGl0
LmlkbFR5cGUpOworICAgICAgaWYgKGl0LmFycmF5IHx8IGl0LmdlbmVyaWMgPT09ICdBcnJheScp
IHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBpdC5udWxsYWJsZUFycmF5Lmxlbmd0aDsg
aSA8IG47IGkrKykgeworICAgICAgICAgIHZhciB2YWwgPSBpdC5udWxsYWJsZUFycmF5W2ldOwor
ICAgICAgICAgIGlmICh2YWwpIHJldCArPSAiPyI7CisgICAgICAgICAgcmV0ICs9ICJbXSI7CiAg
ICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHZhciBsaXRlcmFsID0gZnVuY3Rpb24gKGl0KSB7
Ci0gICAgICAgICAgICByZXR1cm4gaXQudmFsdWU7Ci0gICAgICAgIH07Ci0gICAgICAgIHZhciB3
c1BlYSA9IGZ1bmN0aW9uIChpdCkgewotICAgICAgICAgICAgY3VyUGVhICs9IGl0LnZhbHVlOwot
ICAgICAgICAgICAgcmV0dXJuICIiOwotICAgICAgICB9OwotICAgICAgICB2YXIgd3NUUGVhID0g
ZnVuY3Rpb24gKGl0KSB7Ci0gICAgICAgICAgICBjdXJUUGVhICs9IGl0LnZhbHVlOwotICAgICAg
ICAgICAgcmV0dXJuICIiOwotICAgICAgICB9OwotICAgICAgICB2YXIgbGluZUNvbW1lbnQgPSBm
dW5jdGlvbiAoaXQpIHsKLSAgICAgICAgICAgIHJldHVybiAiLy8iICsgaXQudmFsdWUgKyAiXG4i
OwotICAgICAgICB9OwotICAgICAgICB2YXIgbXVsdGlsaW5lQ29tbWVudCA9IGZ1bmN0aW9uIChp
dCkgewotICAgICAgICAgICAgcmV0dXJuICIvKiIgKyBpdC52YWx1ZSArICIqLyI7Ci0gICAgICAg
IH07Ci0gICAgICAgIHZhciB0eXBlID0gZnVuY3Rpb24gKGl0KSB7Ci0gICAgICAgICAgICBpZiAo
dHlwZW9mIGl0ID09PSAic3RyaW5nIikgcmV0dXJuIG9wdC50eXBlKGl0KTsgLy8gWFhYIHNob3Vs
ZCBtYWludGFpbiBzb21lIGNvbnRleHQKLSAgICAgICAgICAgIGlmIChpdC51bmlvbikgcmV0dXJu
ICIoIiArIGl0LmlkbFR5cGUubWFwKHR5cGUpLmpvaW4oIiBvciAiKSArICIpIjsKLSAgICAgICAg
ICAgIHZhciByZXQgPSAiIjsKLSAgICAgICAgICAgIGlmIChpdC5zZXF1ZW5jZSkgcmV0ICs9ICJz
ZXF1ZW5jZTwiOwotICAgICAgICAgICAgcmV0ICs9IHR5cGUoaXQuaWRsVHlwZSk7Ci0gICAgICAg
ICAgICBpZiAoaXQuYXJyYXkpIHsKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbiA9
IGl0Lm51bGxhYmxlQXJyYXkubGVuZ3RoOyBpIDwgbjsgaSsrKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHZhciB2YWwgPSBpdC5udWxsYWJsZUFycmF5W2ldOwotICAgICAgICAgICAgICAgICAgICBp
ZiAodmFsKSByZXQgKz0gIj8iOwotICAgICAgICAgICAgICAgICAgICByZXQgKz0gIltdIjsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoaXQuc2VxdWVu
Y2UpIHJldCArPSAiPiI7Ci0gICAgICAgICAgICBpZiAoaXQubnVsbGFibGUpIHJldCArPSAiPyI7
CisgICAgICB9CisgICAgICBpZiAoaXQuZ2VuZXJpYyB8fCBpdC5zZXF1ZW5jZSkgcmV0ICs9ICI+
IjsKKyAgICAgIGlmIChpdC5udWxsYWJsZSkgcmV0ICs9ICI/IjsKIAotICAgICAgICAgICAgcmV0
dXJuIHJldDsKLSAgICAgICAgfTsKLSAgICAgICAgdmFyIGNvbnN0X3ZhbHVlID0gZnVuY3Rpb24g
KGl0KSB7Ci0gICAgICAgICAgICB2YXIgdHAgPSBpdC4gdHlwZTsKLSAgICAgICAgICAgIGlmICh0
cCA9PT0gImJvb2xlYW4iKSByZXR1cm4gaXQudmFsdWUgPyAidHJ1ZSIgOiAiZmFsc2UiOwotICAg
ICAgICAgICAgZWxzZSBpZiAodHAgPT09ICJudWxsIikgcmV0dXJuICJudWxsIjsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKHRwID09PSAiSW5maW5pdHkiKSByZXR1cm4gKGl0Lm5lZ2F0aXZlID8gIi0i
IDogIiIpICsgIkluZmluaXR5IjsKLSAgICAgICAgICAgIGVsc2UgaWYgKHRwID09PSAiTmFOIikg
cmV0dXJuICJOYU4iOwotICAgICAgICAgICAgZWxzZSBpZiAodHAgPT09ICJudW1iZXIiKSByZXR1
cm4gaXQudmFsdWU7Ci0gICAgICAgICAgICBlbHNlIHJldHVybiAnIicgKyBpdC52YWx1ZSArICci
JzsKLSAgICAgICAgfTsKLSAgICAgICAgdmFyIGFyZ3VtZW50ID0gZnVuY3Rpb24gKGFyZywgcGVh
KSB7Ci0gICAgICAgICAgICB2YXIgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhhcmcuZXh0QXR0
cnMsIHBlYSk7Ci0gICAgICAgICAgICBpZiAoYXJnLm9wdGlvbmFsKSByZXQgKz0gIm9wdGlvbmFs
ICI7Ci0gICAgICAgICAgICByZXQgKz0gdHlwZShhcmcuaWRsVHlwZSk7Ci0gICAgICAgICAgICBp
ZiAoYXJnLnZhcmlhZGljKSByZXQgKz0gIi4uLiI7Ci0gICAgICAgICAgICByZXQgKz0gIiAiICsg
YXJnLm5hbWU7Ci0gICAgICAgICAgICBpZiAoYXJnWyJkZWZhdWx0Il0pIHJldCArPSAiID0gIiAr
IGNvbnN0X3ZhbHVlKGFyZ1siZGVmYXVsdCJdKTsKLSAgICAgICAgICAgIHJldHVybiByZXQ7Ci0g
ICAgICAgIH07Ci0gICAgICAgIHZhciBhcmdzID0gZnVuY3Rpb24gKGl0cykgewotICAgICAgICAg
ICAgdmFyIHJlcyA9ICIiCi0gICAgICAgICAgICAsICAgcGVhID0gIiIKLSAgICAgICAgICAgIDsK
LSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gaXRzLmxlbmd0aDsgaSA8IG47IGkrKykg
ewotICAgICAgICAgICAgICAgIHZhciBhcmcgPSBpdHNbaV07Ci0gICAgICAgICAgICAgICAgaWYg
KGFyZy50eXBlID09PSAid3MiKSByZXMgKz0gYXJnLnZhbHVlOwotICAgICAgICAgICAgICAgIGVs
c2UgaWYgKGFyZy50eXBlID09PSAid3MtcGVhIikgcGVhICs9IGFyZy52YWx1ZTsKLSAgICAgICAg
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzICs9IGFyZ3VtZW50KGFyZywg
cGVhKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGkgPCBuIC0gMSkgcmVzICs9ICIsIjsKLSAg
ICAgICAgICAgICAgICAgICAgcGVhID0gIiI7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcmV0dXJuIHJlczsKLSAgICAgICAgfTsKLSAgICAgICAgdmFyIG1h
a2VfZXh0X2F0ID0gZnVuY3Rpb24gKGl0KSB7Ci0gICAgICAgICAgICBpZiAoaXRbImFyZ3VtZW50
cyJdID09PSBudWxsKSByZXR1cm4gaXQubmFtZTsKLSAgICAgICAgICAgIGNvbnRleHQudW5zaGlm
dChpdCk7Ci0gICAgICAgICAgICB2YXIgcmV0ID0gaXQubmFtZSArICIoIiArIChpdFsiYXJndW1l
bnRzIl0ubGVuZ3RoID8gYXJncyhpdFsiYXJndW1lbnRzIl0pIDogIiIpICsgIikiOwotICAgICAg
ICAgICAgY29udGV4dC5zaGlmdCgpOyAvLyBYWFggbmVlZCB0byBhZGQgbW9yZSBjb250ZXh0cywg
YnV0IG5vdCBtb3JlIHRoYW4gbmVlZGVkIGZvciBSZVNwZWMKLSAgICAgICAgICAgIHJldHVybiBy
ZXQ7Ci0gICAgICAgIH07Ci0gICAgICAgIHZhciBleHRlbmRlZF9hdHRyaWJ1dGVzID0gZnVuY3Rp
b24gKGVhdHMsIHBlYSkgewotICAgICAgICAgICAgaWYgKCFlYXRzIHx8ICFlYXRzLmxlbmd0aCkg
cmV0dXJuICIiOwotICAgICAgICAgICAgcmV0dXJuICJbIiArIGVhdHMubWFwKG1ha2VfZXh0X2F0
KS5qb2luKCIsICIpICsgIl0iICsgcGVhOwotICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAg
dmFyIG1vZGlmaWVycyA9ICJnZXR0ZXIgc2V0dGVyIGNyZWF0b3IgZGVsZXRlciBsZWdhY3ljYWxs
ZXIgc3RyaW5naWZpZXIgc3RhdGljIi5zcGxpdCgiICIpOwotICAgICAgICB2YXIgb3BlcmF0aW9u
ID0gZnVuY3Rpb24gKGl0KSB7Ci0gICAgICAgICAgICB2YXIgcmV0ID0gZXh0ZW5kZWRfYXR0cmli
dXRlcyhpdC5leHRBdHRycywgY3VyUGVhKTsKLSAgICAgICAgICAgIGN1clBlYSA9ICIiOwotICAg
ICAgICAgICAgaWYgKGl0LnN0cmluZ2lmaWVyICYmICFpdC5pZGxUeXBlKSByZXR1cm4gInN0cmlu
Z2lmaWVyOyI7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbiA9IG1vZGlmaWVycy5sZW5n
dGg7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgICAgICAgICB2YXIgbW9kID0gbW9kaWZpZXJzW2ld
OwotICAgICAgICAgICAgICAgIGlmIChpdFttb2RdKSByZXQgKz0gbW9kICsgIiAiOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgcmV0ICs9IHR5cGUoaXQuaWRsVHlwZSkgKyAiICI7Ci0gICAg
ICAgICAgICBpZiAoaXQubmFtZSkgcmV0ICs9IGl0Lm5hbWU7Ci0gICAgICAgICAgICByZXQgKz0g
IigiICsgYXJncyhpdFsiYXJndW1lbnRzIl0pICsgIik7IjsKLSAgICAgICAgICAgIHJldHVybiBy
ZXQ7Ci0gICAgICAgIH07CisgICAgICByZXR1cm4gcmV0OworICAgIH07CisgICAgdmFyIGNvbnN0
X3ZhbHVlID0gZnVuY3Rpb24oaXQpIHsKKyAgICAgIHZhciB0cCA9IGl0LnR5cGU7CisgICAgICBp
ZiAodHAgPT09ICJib29sZWFuIikgcmV0dXJuIGl0LnZhbHVlID8gInRydWUiIDogImZhbHNlIjsK
KyAgICAgIGVsc2UgaWYgKHRwID09PSAibnVsbCIpIHJldHVybiAibnVsbCI7CisgICAgICBlbHNl
IGlmICh0cCA9PT0gIkluZmluaXR5IikgcmV0dXJuIChpdC5uZWdhdGl2ZSA/ICItIiA6ICIiKSAr
ICJJbmZpbml0eSI7CisgICAgICBlbHNlIGlmICh0cCA9PT0gIk5hTiIpIHJldHVybiAiTmFOIjsK
KyAgICAgIGVsc2UgaWYgKHRwID09PSAibnVtYmVyIikgcmV0dXJuIGl0LnZhbHVlOworICAgICAg
ZWxzZSByZXR1cm4gJyInICsgaXQudmFsdWUgKyAnIic7CisgICAgfTsKKyAgICB2YXIgYXJndW1l
bnQgPSBmdW5jdGlvbihhcmcsIHBlYSkgeworICAgICAgdmFyIHJldCA9IGV4dGVuZGVkX2F0dHJp
YnV0ZXMoYXJnLmV4dEF0dHJzLCBwZWEpOworICAgICAgaWYgKGFyZy5vcHRpb25hbCkgcmV0ICs9
ICJvcHRpb25hbCAiOworICAgICAgcmV0ICs9IHR5cGUoYXJnLmlkbFR5cGUpOworICAgICAgaWYg
KGFyZy52YXJpYWRpYykgcmV0ICs9ICIuLi4iOworICAgICAgcmV0ICs9ICIgIiArIGFyZy5uYW1l
OworICAgICAgaWYgKGFyZ1siZGVmYXVsdCJdKSByZXQgKz0gIiA9ICIgKyBjb25zdF92YWx1ZShh
cmdbImRlZmF1bHQiXSk7CisgICAgICByZXR1cm4gcmV0OworICAgIH07CisgICAgdmFyIGFyZ3Mg
PSBmdW5jdGlvbihpdHMpIHsKKyAgICAgIHZhciByZXMgPSAiIiwKKyAgICAgICAgcGVhID0gIiI7
CisgICAgICBmb3IgKHZhciBpID0gMCwgbiA9IGl0cy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKKyAg
ICAgICAgdmFyIGFyZyA9IGl0c1tpXTsKKyAgICAgICAgaWYgKGFyZy50eXBlID09PSAid3MiKSBy
ZXMgKz0gYXJnLnZhbHVlOworICAgICAgICBlbHNlIGlmIChhcmcudHlwZSA9PT0gIndzLXBlYSIp
IHBlYSArPSBhcmcudmFsdWU7CisgICAgICAgIGVsc2UgeworICAgICAgICAgIHJlcyArPSBhcmd1
bWVudChhcmcsIHBlYSk7CisgICAgICAgICAgaWYgKGkgPCBuIC0gMSkgcmVzICs9ICIsIjsKKyAg
ICAgICAgICBwZWEgPSAiIjsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgcmV0dXJuIHJlczsK
KyAgICB9OworICAgIHZhciBtYWtlX2V4dF9hdCA9IGZ1bmN0aW9uKGl0KSB7CisgICAgICBpZiAo
aXRbImFyZ3VtZW50cyJdID09PSBudWxsKSByZXR1cm4gaXQubmFtZTsKKyAgICAgIGNvbnRleHQu
dW5zaGlmdChpdCk7CisgICAgICB2YXIgcmV0ID0gaXQubmFtZSArICIoIiArIChpdFsiYXJndW1l
bnRzIl0ubGVuZ3RoID8gYXJncyhpdFsiYXJndW1lbnRzIl0pIDogIiIpICsgIikiOworICAgICAg
Y29udGV4dC5zaGlmdCgpOyAvLyBYWFggbmVlZCB0byBhZGQgbW9yZSBjb250ZXh0cywgYnV0IG5v
dCBtb3JlIHRoYW4gbmVlZGVkIGZvciBSZVNwZWMKKyAgICAgIHJldHVybiByZXQ7CisgICAgfTsK
KyAgICB2YXIgZXh0ZW5kZWRfYXR0cmlidXRlcyA9IGZ1bmN0aW9uKGVhdHMsIHBlYSkgeworICAg
ICAgaWYgKCFlYXRzIHx8ICFlYXRzLmxlbmd0aCkgcmV0dXJuICIiOworICAgICAgcmV0dXJuICJb
IiArIGVhdHMubWFwKG1ha2VfZXh0X2F0KS5qb2luKCIsICIpICsgIl0iICsgcGVhOworICAgIH07
CisKKyAgICB2YXIgbW9kaWZpZXJzID0gImdldHRlciBzZXR0ZXIgY3JlYXRvciBkZWxldGVyIGxl
Z2FjeWNhbGxlciBzdHJpbmdpZmllciBzdGF0aWMiLnNwbGl0KCIgIik7CisgICAgdmFyIG9wZXJh
dGlvbiA9IGZ1bmN0aW9uKGl0KSB7CisgICAgICB2YXIgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRl
cyhpdC5leHRBdHRycywgY3VyUGVhKTsKKyAgICAgIGN1clBlYSA9ICIiOworICAgICAgaWYgKGl0
LnN0cmluZ2lmaWVyICYmICFpdC5pZGxUeXBlKSByZXR1cm4gInN0cmluZ2lmaWVyOyI7CisgICAg
ICBmb3IgKHZhciBpID0gMCwgbiA9IG1vZGlmaWVycy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKKyAg
ICAgICAgdmFyIG1vZCA9IG1vZGlmaWVyc1tpXTsKKyAgICAgICAgaWYgKGl0W21vZF0pIHJldCAr
PSBtb2QgKyAiICI7CisgICAgICB9CisgICAgICByZXQgKz0gdHlwZShpdC5pZGxUeXBlKSArICIg
IjsKKyAgICAgIGlmIChpdC5uYW1lKSByZXQgKz0gaXQubmFtZTsKKyAgICAgIHJldCArPSAiKCIg
KyBhcmdzKGl0WyJhcmd1bWVudHMiXSkgKyAiKTsiOworICAgICAgcmV0dXJuIHJldDsKKyAgICB9
OworCisgICAgdmFyIGF0dHJpYnV0ZSA9IGZ1bmN0aW9uKGl0KSB7CisgICAgICB2YXIgcmV0ID0g
ZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycywgY3VyUGVhKTsKKyAgICAgIGN1clBlYSA9
ICIiOworICAgICAgaWYgKGl0WyJzdGF0aWMiXSkgcmV0ICs9ICJzdGF0aWMgIjsKKyAgICAgIGlm
IChpdC5zdHJpbmdpZmllcikgcmV0ICs9ICJzdHJpbmdpZmllciAiOworICAgICAgaWYgKGl0LnJl
YWRvbmx5KSByZXQgKz0gInJlYWRvbmx5ICI7CisgICAgICBpZiAoaXQuaW5oZXJpdCkgcmV0ICs9
ICJpbmhlcml0ICI7CisgICAgICByZXQgKz0gImF0dHJpYnV0ZSAiICsgdHlwZShpdC5pZGxUeXBl
KSArICIgIiArIGl0Lm5hbWUgKyAiOyI7CisgICAgICByZXR1cm4gcmV0OworICAgIH07CiAKLSAg
ICAgICAgdmFyIGF0dHJpYnV0ZSA9IGZ1bmN0aW9uIChpdCkgewotICAgICAgICAgICAgdmFyIHJl
dCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMsIGN1clBlYSk7Ci0gICAgICAgICAg
ICBjdXJQZWEgPSAiIjsKLSAgICAgICAgICAgIGlmIChpdFsic3RhdGljIl0pIHJldCArPSAic3Rh
dGljICI7Ci0gICAgICAgICAgICBpZiAoaXQuc3RyaW5naWZpZXIpIHJldCArPSAic3RyaW5naWZp
ZXIgIjsKLSAgICAgICAgICAgIGlmIChpdC5yZWFkb25seSkgcmV0ICs9ICJyZWFkb25seSAiOwot
ICAgICAgICAgICAgaWYgKGl0LmluaGVyaXQpIHJldCArPSAiaW5oZXJpdCAiOwotICAgICAgICAg
ICAgcmV0ICs9ICJhdHRyaWJ1dGUgIiArIHR5cGUoaXQuaWRsVHlwZSkgKyAiICIgKyBpdC5uYW1l
ICsgIjsiOwotICAgICAgICAgICAgcmV0dXJuIHJldDsKLSAgICAgICAgfTsKLSAgICAgICAgCi0g
ICAgICAgIHZhciBpbnRlcmZhY2VfID0gZnVuY3Rpb24gKGl0KSB7Ci0gICAgICAgICAgICB2YXIg
cmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycywgY3VyUGVhKTsKLSAgICAgICAg
ICAgIGN1clBlYSA9ICIiOwotICAgICAgICAgICAgaWYgKGl0LnBhcnRpYWwpIHJldCArPSAicGFy
dGlhbCAiOwotICAgICAgICAgICAgcmV0ICs9ICJpbnRlcmZhY2UgIiArIGl0Lm5hbWUgKyAiICI7
Ci0gICAgICAgICAgICBpZiAoaXQuaW5oZXJpdGFuY2UpIHJldCArPSAiOiAiICsgaXQuaW5oZXJp
dGFuY2UgKyAiICI7Ci0gICAgICAgICAgICByZXQgKz0gInsiICsgaXRlcmF0ZShpdC5tZW1iZXJz
KSArICJ9OyI7Ci0gICAgICAgICAgICByZXR1cm4gcmV0OwotICAgICAgICB9OwotICAgICAgICAK
LSAgICAgICAgdmFyIGRpY3Rpb25hcnkgPSBmdW5jdGlvbiAoaXQpIHsKLSAgICAgICAgICAgIHZh
ciByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzLCBjdXJQZWEpOwotICAgICAg
ICAgICAgY3VyUGVhID0gIiI7Ci0gICAgICAgICAgICBpZiAoaXQucGFydGlhbCkgcmV0ICs9ICJw
YXJ0aWFsICI7Ci0gICAgICAgICAgICByZXQgKz0gImRpY3Rpb25hcnkgIiArIGl0Lm5hbWUgKyAi
ICI7Ci0gICAgICAgICAgICByZXQgKz0gInsiICsgaXRlcmF0ZShpdC5tZW1iZXJzKSArICJ9OyI7
Ci0gICAgICAgICAgICByZXR1cm4gcmV0OwotICAgICAgICB9OwotICAgICAgICB2YXIgZmllbGQg
PSBmdW5jdGlvbiAoaXQpIHsKLSAgICAgICAgICAgIHZhciByZXQgPSBleHRlbmRlZF9hdHRyaWJ1
dGVzKGl0LmV4dEF0dHJzLCBjdXJQZWEpOwotICAgICAgICAgICAgY3VyUGVhID0gIiI7Ci0gICAg
ICAgICAgICByZXQgKz0gdHlwZShpdC5pZGxUeXBlKSArICIgIiArIGl0Lm5hbWU7Ci0gICAgICAg
ICAgICBpZiAoaXRbImRlZmF1bHQiXSkgcmV0ICs9ICIgPSAiICsgY29uc3RfdmFsdWUoaXRbImRl
ZmF1bHQiXSk7Ci0gICAgICAgICAgICByZXQgKz0gIjsiOwotICAgICAgICAgICAgcmV0dXJuIHJl
dDsKLSAgICAgICAgfTsKLSAgICAgICAgdmFyIGV4Y2VwdGlvbiA9IGZ1bmN0aW9uIChpdCkgewot
ICAgICAgICAgICAgdmFyIHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMsIGN1
clBlYSk7Ci0gICAgICAgICAgICBjdXJQZWEgPSAiIjsKLSAgICAgICAgICAgIHJldCArPSAiZXhj
ZXB0aW9uICIgKyBpdC5uYW1lICsgIiAiOwotICAgICAgICAgICAgaWYgKGl0LmluaGVyaXRhbmNl
KSByZXQgKz0gIjogIiArIGl0LmluaGVyaXRhbmNlICsgIiAiOwotICAgICAgICAgICAgcmV0ICs9
ICJ7IiArIGl0ZXJhdGUoaXQubWVtYmVycykgKyAifTsiOwotICAgICAgICAgICAgcmV0dXJuIHJl
dDsKLSAgICAgICAgfTsKLSAgICAgICAgdmFyIGNvbnN0XyA9IGZ1bmN0aW9uIChpdCkgewotICAg
ICAgICAgICAgdmFyIHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMsIGN1clBl
YSk7Ci0gICAgICAgICAgICBjdXJQZWEgPSAiIjsKLSAgICAgICAgICAgIHJldHVybiByZXQgKyAi
Y29uc3QgIiArIHR5cGUoaXQuaWRsVHlwZSkgKyAiICIgKyBpdC5uYW1lICsgIiA9ICIgKyBjb25z
dF92YWx1ZShpdC52YWx1ZSkgKyAiOyI7Ci0gICAgICAgIH07Ci0gICAgICAgIHZhciB0eXBlZGVm
ID0gZnVuY3Rpb24gKGl0KSB7Ci0gICAgICAgICAgICB2YXIgcmV0ID0gZXh0ZW5kZWRfYXR0cmli
dXRlcyhpdC5leHRBdHRycywgY3VyUGVhKTsKLSAgICAgICAgICAgIGN1clBlYSA9ICIiOwotICAg
ICAgICAgICAgcmV0ICs9ICJ0eXBlZGVmICIgKyBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LnR5cGVF
eHRBdHRycywgY3VyVFBlYSk7Ci0gICAgICAgICAgICBjdXJUUGVhID0gIiI7Ci0gICAgICAgICAg
ICByZXR1cm4gcmV0ICsgdHlwZShpdC5pZGxUeXBlKSArICIgIiArIGl0Lm5hbWUgKyAiOyI7Ci0g
ICAgICAgIH07Ci0gICAgICAgIHZhciBpbXBsZW1lbnRzXyA9IGZ1bmN0aW9uIChpdCkgewotICAg
ICAgICAgICAgdmFyIHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMsIGN1clBl
YSk7Ci0gICAgICAgICAgICBjdXJQZWEgPSAiIjsKLSAgICAgICAgICAgIHJldHVybiByZXQgKyBp
dC50YXJnZXQgKyAiIGltcGxlbWVudHMgIiArIGl0WyJpbXBsZW1lbnRzIl0gKyAiOyI7Ci0gICAg
ICAgIH07Ci0gICAgICAgIHZhciBjYWxsYmFjayA9IGZ1bmN0aW9uIChpdCkgewotICAgICAgICAg
ICAgdmFyIHJldCA9IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMsIGN1clBlYSk7Ci0g
ICAgICAgICAgICBjdXJQZWEgPSAiIjsKLSAgICAgICAgICAgIHJldHVybiByZXQgKyAiY2FsbGJh
Y2sgIiArIGl0Lm5hbWUgKyAiID0gIiArIHR5cGUoaXQuaWRsVHlwZSkgKwotICAgICAgICAgICAg
ICAgICAgICIoIiArIGFyZ3MoaXRbImFyZ3VtZW50cyJdKSArICIpOyI7Ci0gICAgICAgIH07Ci0g
ICAgICAgIHZhciBlbnVtXyA9IGZ1bmN0aW9uIChpdCkgewotICAgICAgICAgICAgdmFyIHJldCA9
IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMsIGN1clBlYSk7Ci0gICAgICAgICAgICBj
dXJQZWEgPSAiIjsKLSAgICAgICAgICAgIHJldCArPSAiZW51bSAiICsgaXQubmFtZSArICIgeyI7
Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbiA9IGl0LnZhbHVlcy5sZW5ndGg7IGkgPCBu
OyBpKyspIHsKLSAgICAgICAgICAgICAgICB2YXIgdiA9IGl0LnZhbHVlc1tpXTsKLSAgICAgICAg
ICAgICAgICBpZiAodHlwZW9mIHYgPT09ICJzdHJpbmciKSByZXQgKz0gJyInICsgdiArICciJzsK
LSAgICAgICAgICAgICAgICBlbHNlIGlmICh2LnR5cGUgPT09ICJ3cyIpIHJldCArPSB2LnZhbHVl
OwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKHYudHlwZSA9PT0gIiwiKSByZXQgKz0gIiwiOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIHJldCArICJ9OyI7Ci0gICAgICAgIH07
Ci0gICAgICAgIAotICAgICAgICB2YXIgdGFibGUgPSB7Ci0gICAgICAgICAgICB3czogICAgICAg
ICAgICAgICAgICAgICBsaXRlcmFsCi0gICAgICAgICwgICAid3MtcGVhIjogICAgICAgICAgICAg
ICB3c1BlYQotICAgICAgICAsICAgIndzLXRwZWEiOiAgICAgICAgICAgICAgd3NUUGVhCi0gICAg
ICAgICwgICAibGluZS1jb21tZW50IjogICAgICAgICBsaW5lQ29tbWVudAotICAgICAgICAsICAg
Im11bHRpbGluZS1jb21tZW50IjogICAgbXVsdGlsaW5lQ29tbWVudAotICAgICAgICAsICAgImlu
dGVyZmFjZSI6ICAgICAgICAgICAgaW50ZXJmYWNlXwotICAgICAgICAsICAgb3BlcmF0aW9uOiAg
ICAgICAgICAgICAgb3BlcmF0aW9uCi0gICAgICAgICwgICBhdHRyaWJ1dGU6ICAgICAgICAgICAg
ICBhdHRyaWJ1dGUKLSAgICAgICAgLCAgIGRpY3Rpb25hcnk6ICAgICAgICAgICAgIGRpY3Rpb25h
cnkKLSAgICAgICAgLCAgIGZpZWxkOiAgICAgICAgICAgICAgICAgIGZpZWxkCi0gICAgICAgICwg
ICBleGNlcHRpb246ICAgICAgICAgICAgICBleGNlcHRpb24KLSAgICAgICAgLCAgICJjb25zdCI6
ICAgICAgICAgICAgICAgIGNvbnN0XwotICAgICAgICAsICAgdHlwZWRlZjogICAgICAgICAgICAg
ICAgdHlwZWRlZgotICAgICAgICAsICAgImltcGxlbWVudHMiOiAgICAgICAgICAgaW1wbGVtZW50
c18KLSAgICAgICAgLCAgIGNhbGxiYWNrOiAgICAgICAgICAgICAgIGNhbGxiYWNrCi0gICAgICAg
ICwgICAiZW51bSI6ICAgICAgICAgICAgICAgICBlbnVtXwotICAgICAgICB9OwotICAgICAgICB2
YXIgZGlzcGF0Y2ggPSBmdW5jdGlvbiAoaXQpIHsKLSAgICAgICAgICAgIHJldHVybiB0YWJsZVtp
dC50eXBlXShpdCk7Ci0gICAgICAgIH07Ci0gICAgICAgIHZhciBpdGVyYXRlID0gZnVuY3Rpb24g
KHRoaW5ncykgewotICAgICAgICAgICAgaWYgKCF0aGluZ3MpIHJldHVybjsKLSAgICAgICAgICAg
IHZhciByZXQgPSAiIjsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gdGhpbmdzLmxl
bmd0aDsgaSA8IG47IGkrKykgcmV0ICs9IGRpc3BhdGNoKHRoaW5nc1tpXSk7Ci0gICAgICAgICAg
ICByZXR1cm4gcmV0OwotICAgICAgICB9OwotICAgICAgICByZXR1cm4gaXRlcmF0ZShhc3QpOwor
ICAgIHZhciBpbnRlcmZhY2VfID0gZnVuY3Rpb24oaXQpIHsKKyAgICAgIHZhciByZXQgPSBleHRl
bmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzLCBjdXJQZWEpOworICAgICAgY3VyUGVhID0gIiI7
CisgICAgICBpZiAoaXQucGFydGlhbCkgcmV0ICs9ICJwYXJ0aWFsICI7CisgICAgICByZXQgKz0g
ImludGVyZmFjZSAiICsgaXQubmFtZSArICIgIjsKKyAgICAgIGlmIChpdC5pbmhlcml0YW5jZSkg
cmV0ICs9ICI6ICIgKyBpdC5pbmhlcml0YW5jZSArICIgIjsKKyAgICAgIHJldCArPSAieyIgKyBp
dGVyYXRlKGl0Lm1lbWJlcnMpICsgIn07IjsKKyAgICAgIHJldHVybiByZXQ7CiAgICAgfTsKIAor
ICAgIHZhciBkaWN0aW9uYXJ5ID0gZnVuY3Rpb24oaXQpIHsKKyAgICAgIHZhciByZXQgPSBleHRl
bmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJzLCBjdXJQZWEpOworICAgICAgY3VyUGVhID0gIiI7
CisgICAgICBpZiAoaXQucGFydGlhbCkgcmV0ICs9ICJwYXJ0aWFsICI7CisgICAgICByZXQgKz0g
ImRpY3Rpb25hcnkgIiArIGl0Lm5hbWUgKyAiICI7CisgICAgICByZXQgKz0gInsiICsgaXRlcmF0
ZShpdC5tZW1iZXJzKSArICJ9OyI7CisgICAgICByZXR1cm4gcmV0OworICAgIH07CisgICAgdmFy
IGZpZWxkID0gZnVuY3Rpb24oaXQpIHsKKyAgICAgIHZhciByZXQgPSBleHRlbmRlZF9hdHRyaWJ1
dGVzKGl0LmV4dEF0dHJzLCBjdXJQZWEpOworICAgICAgY3VyUGVhID0gIiI7CisgICAgICBpZiAo
aXQucmVxdWlyZWQpIHJldCArPSAicmVxdWlyZWQgIjsKKyAgICAgIHJldCArPSB0eXBlKGl0Lmlk
bFR5cGUpICsgIiAiICsgaXQubmFtZTsKKyAgICAgIGlmIChpdFsiZGVmYXVsdCJdKSByZXQgKz0g
IiA9ICIgKyBjb25zdF92YWx1ZShpdFsiZGVmYXVsdCJdKTsKKyAgICAgIHJldCArPSAiOyI7Cisg
ICAgICByZXR1cm4gcmV0OworICAgIH07CisgICAgdmFyIGV4Y2VwdGlvbiA9IGZ1bmN0aW9uKGl0
KSB7CisgICAgICB2YXIgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycywgY3Vy
UGVhKTsKKyAgICAgIGN1clBlYSA9ICIiOworICAgICAgcmV0ICs9ICJleGNlcHRpb24gIiArIGl0
Lm5hbWUgKyAiICI7CisgICAgICBpZiAoaXQuaW5oZXJpdGFuY2UpIHJldCArPSAiOiAiICsgaXQu
aW5oZXJpdGFuY2UgKyAiICI7CisgICAgICByZXQgKz0gInsiICsgaXRlcmF0ZShpdC5tZW1iZXJz
KSArICJ9OyI7CisgICAgICByZXR1cm4gcmV0OworICAgIH07CisgICAgdmFyIGNvbnN0XyA9IGZ1
bmN0aW9uKGl0KSB7CisgICAgICB2YXIgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRB
dHRycywgY3VyUGVhKTsKKyAgICAgIGN1clBlYSA9ICIiOworICAgICAgcmV0dXJuIHJldCArICJj
b25zdCAiICsgdHlwZShpdC5pZGxUeXBlKSArICIgIiArIGl0Lm5hbWUgKyAiID0gIiArIGNvbnN0
X3ZhbHVlKGl0LnZhbHVlKSArICI7IjsKKyAgICB9OworICAgIHZhciB0eXBlZGVmID0gZnVuY3Rp
b24oaXQpIHsKKyAgICAgIHZhciByZXQgPSBleHRlbmRlZF9hdHRyaWJ1dGVzKGl0LmV4dEF0dHJz
LCBjdXJQZWEpOworICAgICAgY3VyUGVhID0gIiI7CisgICAgICByZXQgKz0gInR5cGVkZWYgIiAr
IGV4dGVuZGVkX2F0dHJpYnV0ZXMoaXQudHlwZUV4dEF0dHJzLCBjdXJUUGVhKTsKKyAgICAgIGN1
clRQZWEgPSAiIjsKKyAgICAgIHJldHVybiByZXQgKyB0eXBlKGl0LmlkbFR5cGUpICsgIiAiICsg
aXQubmFtZSArICI7IjsKKyAgICB9OworICAgIHZhciBpbXBsZW1lbnRzXyA9IGZ1bmN0aW9uKGl0
KSB7CisgICAgICB2YXIgcmV0ID0gZXh0ZW5kZWRfYXR0cmlidXRlcyhpdC5leHRBdHRycywgY3Vy
UGVhKTsKKyAgICAgIGN1clBlYSA9ICIiOworICAgICAgcmV0dXJuIHJldCArIGl0LnRhcmdldCAr
ICIgaW1wbGVtZW50cyAiICsgaXRbImltcGxlbWVudHMiXSArICI7IjsKKyAgICB9OworICAgIHZh
ciBjYWxsYmFjayA9IGZ1bmN0aW9uKGl0KSB7CisgICAgICB2YXIgcmV0ID0gZXh0ZW5kZWRfYXR0
cmlidXRlcyhpdC5leHRBdHRycywgY3VyUGVhKTsKKyAgICAgIGN1clBlYSA9ICIiOworICAgICAg
cmV0dXJuIHJldCArICJjYWxsYmFjayAiICsgaXQubmFtZSArICIgPSAiICsgdHlwZShpdC5pZGxU
eXBlKSArCisgICAgICAgICIoIiArIGFyZ3MoaXRbImFyZ3VtZW50cyJdKSArICIpOyI7CisgICAg
fTsKKyAgICB2YXIgZW51bV8gPSBmdW5jdGlvbihpdCkgeworICAgICAgdmFyIHJldCA9IGV4dGVu
ZGVkX2F0dHJpYnV0ZXMoaXQuZXh0QXR0cnMsIGN1clBlYSk7CisgICAgICBjdXJQZWEgPSAiIjsK
KyAgICAgIHJldCArPSAiZW51bSAiICsgaXQubmFtZSArICIgeyI7CisgICAgICBmb3IgKHZhciBp
ID0gMCwgbiA9IGl0LnZhbHVlcy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKKyAgICAgICAgdmFyIHYg
PSBpdC52YWx1ZXNbaV07CisgICAgICAgIGlmICh0eXBlb2YgdiA9PT0gInN0cmluZyIpIHJldCAr
PSAnIicgKyB2ICsgJyInOworICAgICAgICBlbHNlIGlmICh2LnR5cGUgPT09ICJ3cyIpIHJldCAr
PSB2LnZhbHVlOworICAgICAgICBlbHNlIGlmICh2LnR5cGUgPT09ICIsIikgcmV0ICs9ICIsIjsK
KyAgICAgIH0KKyAgICAgIHJldHVybiByZXQgKyAifTsiOworICAgIH07CisgICAgdmFyIHNlcmlh
bGl6ZXIgPSBmdW5jdGlvbihpdCkgeworICAgICAgdmFyIHJldCA9ICJzZXJpYWxpemVyIjsKKyAg
ICAgIGlmIChpdC5uYW1lKSB7CisgICAgICAgIHJldCArPSAiID0gIiArIGl0Lm5hbWUgKyAiOyI7
CisgICAgICB9IGVsc2UgaWYgKGl0LnBhdHRlcm5MaXN0KSB7CisgICAgICAgIHJldCArPSAiID0g
WyAiICsgaXQubmFtZXMuam9pbigiLCAiKSArICIgXTsiOworICAgICAgfSBlbHNlIGlmIChpdC5w
YXR0ZXJuTWFwKSB7CisgICAgICAgIHJldCArPSAiID0geyAiICsgaXQubmFtZXMuam9pbigiLCAi
KSArICIgfTsiOworICAgICAgfSBlbHNlIGlmIChpdC5vcGVyYXRpb24pIHsKKyAgICAgICAgcmV0
ICs9ICIgIiArIG9wZXJhdGlvbihpdCk7CisgICAgICB9IGVsc2UgeworICAgICAgICByZXQgKz0g
IjsiOworICAgICAgfQorICAgICAgcmV0dXJuIHJldDsKKyAgICB9OworICAgIHZhciBpdGVyYWJs
ZSA9IGZ1bmN0aW9uKGl0KSB7CisgICAgICByZXR1cm4gIml0ZXJhYmxlPCIgKyAoaXQuaWRsVHlw
ZSBpbnN0YW5jZW9mIEFycmF5ID8gaXQuaWRsVHlwZS5tYXAodHlwZSkuam9pbigiLCAiKSA6IHR5
cGUoaXQuaWRsVHlwZSkpICsgIj47IjsKKyAgICB9OworICAgIHZhciBsZWdhY3lpdGVyYWJsZSA9
IGZ1bmN0aW9uKGl0KSB7CisgICAgICByZXR1cm4gImxlZ2FjeWl0ZXJhYmxlPCIgKyAoaXQuaWRs
VHlwZSBpbnN0YW5jZW9mIEFycmF5ID8gaXQuaWRsVHlwZS5tYXAodHlwZSkuam9pbigiLCAiKSA6
IHR5cGUoaXQuaWRsVHlwZSkpICsgIj47IjsKKyAgICB9OworICAgIHZhciBtYXBsaWtlID0gZnVu
Y3Rpb24oaXQpIHsKKyAgICAgIHJldHVybiAoaXQucmVhZG9ubHkgPyAicmVhZG9ubHkgIiA6ICIi
KSArICJtYXBsaWtlPCIgKworICAgICAgICBpdC5pZGxUeXBlLm1hcCh0eXBlKS5qb2luKCIsICIp
ICsgIj47IjsKKyAgICB9OworICAgIHZhciBzZXRsaWtlID0gZnVuY3Rpb24oaXQpIHsKKyAgICAg
IHJldHVybiAoaXQucmVhZG9ubHkgPyAicmVhZG9ubHkgIiA6ICIiKSArICJzZXRsaWtlPCIgKwor
ICAgICAgICB0eXBlKGl0LmlkbFR5cGUpICsgIj47IjsKKyAgICB9OworICAgIHZhciBjYWxsYmFj
a0ludGVyZmFjZSA9IGZ1bmN0aW9uKGl0KSB7CisgICAgICByZXR1cm4gJ2NhbGxiYWNrICcgKyBp
bnRlcmZhY2VfKGl0KTsKKyAgICB9OwogCi0gICAgdmFyIGluTm9kZSA9IHR5cGVvZiBtb2R1bGUg
IT09ICJ1bmRlZmluZWQiICYmIG1vZHVsZS5leHBvcnRzCi0gICAgLCAgIG9iaiA9IHsKLSAgICAg
ICAgICAgIHdyaXRlOiAgZnVuY3Rpb24gKGFzdCwgb3B0KSB7Ci0gICAgICAgICAgICAgICAgaWYg
KCFvcHQpIG9wdCA9IHt9OwotICAgICAgICAgICAgICAgIHJldHVybiB3cml0ZShhc3QsIG9wdCk7
Ci0gICAgICAgICAgICB9CisgICAgdmFyIHRhYmxlID0geworICAgICAgd3M6IGxpdGVyYWwsCisg
ICAgICAid3MtcGVhIjogd3NQZWEsCisgICAgICAid3MtdHBlYSI6IHdzVFBlYSwKKyAgICAgICJs
aW5lLWNvbW1lbnQiOiBsaW5lQ29tbWVudCwKKyAgICAgICJtdWx0aWxpbmUtY29tbWVudCI6IG11
bHRpbGluZUNvbW1lbnQsCisgICAgICAiaW50ZXJmYWNlIjogaW50ZXJmYWNlXywKKyAgICAgIG9w
ZXJhdGlvbjogb3BlcmF0aW9uLAorICAgICAgYXR0cmlidXRlOiBhdHRyaWJ1dGUsCisgICAgICBk
aWN0aW9uYXJ5OiBkaWN0aW9uYXJ5LAorICAgICAgZmllbGQ6IGZpZWxkLAorICAgICAgZXhjZXB0
aW9uOiBleGNlcHRpb24sCisgICAgICAiY29uc3QiOiBjb25zdF8sCisgICAgICB0eXBlZGVmOiB0
eXBlZGVmLAorICAgICAgImltcGxlbWVudHMiOiBpbXBsZW1lbnRzXywKKyAgICAgIGNhbGxiYWNr
OiBjYWxsYmFjaywKKyAgICAgICJlbnVtIjogZW51bV8sCisgICAgICBzZXJpYWxpemVyOiBzZXJp
YWxpemVyLAorICAgICAgaXRlcmFibGU6IGl0ZXJhYmxlLAorICAgICAgbGVnYWN5aXRlcmFibGU6
IGxlZ2FjeWl0ZXJhYmxlLAorICAgICAgbWFwbGlrZTogbWFwbGlrZSwKKyAgICAgIHNldGxpa2U6
IHNldGxpa2UsCisgICAgICAiY2FsbGJhY2sgaW50ZXJmYWNlIjogY2FsbGJhY2tJbnRlcmZhY2UK
ICAgICB9OworICAgIHZhciBkaXNwYXRjaCA9IGZ1bmN0aW9uKGl0KSB7CisgICAgICByZXR1cm4g
dGFibGVbaXQudHlwZV0oaXQpOworICAgIH07CisgICAgdmFyIGl0ZXJhdGUgPSBmdW5jdGlvbih0
aGluZ3MpIHsKKyAgICAgIGlmICghdGhpbmdzKSByZXR1cm47CisgICAgICB2YXIgcmV0ID0gIiI7
CisgICAgICBmb3IgKHZhciBpID0gMCwgbiA9IHRoaW5ncy5sZW5ndGg7IGkgPCBuOyBpKyspIHJl
dCArPSBkaXNwYXRjaCh0aGluZ3NbaV0pOworICAgICAgcmV0dXJuIHJldDsKKyAgICB9OworICAg
IHJldHVybiBpdGVyYXRlKGFzdCk7CisgIH07CisKKworICB2YXIgb2JqID0geworICAgIHdyaXRl
OiBmdW5jdGlvbihhc3QsIG9wdCkgeworICAgICAgaWYgKCFvcHQpIG9wdCA9IHt9OworICAgICAg
cmV0dXJuIHdyaXRlKGFzdCwgb3B0KTsKKyAgICB9CisgIH07CiAKLSAgICBpZiAoaW5Ob2RlKSBt
b2R1bGUuZXhwb3J0cyA9IG9iajsKLSAgICBlbHNlICAgICAgICB3aW5kb3cuV2ViSURMMldyaXRl
ciA9IG9iajsKLSAgICAKKyAgaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIHR5
cGVvZiBtb2R1bGUuZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHsKKyAgICBtb2R1bGUuZXhwb3J0
cyA9IG9iajsKKyAgfSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRl
ZmluZS5hbWQpIHsKKyAgICBkZWZpbmUoW10sIGZ1bmN0aW9uKCkgeworICAgICAgcmV0dXJuIG9i
ajsKKyAgICB9KTsKKyAgfSBlbHNlIHsKKyAgICAoc2VsZiB8fCB3aW5kb3cpLldlYklETDJXcml0
ZXIgPSBvYmo7CisgIH0KIH0oKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3BhY2thZ2UuanNvbiBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvcGFja2FnZS5qc29uCmluZGV4IGM1YWU3ZGEyZDU5MzQ0ZTZhNWY0OGQ5Y2U5ZmVmZjg3OTY2
MzdmMjYuLjAyYjJhOWQ5YjE2NDRlYjZlNjE0ZmE3Mzk0YWQ2YzBkZGUxZmVkODYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvcGFja2FnZS5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvcGFja2FnZS5qc29uCkBAIC0xLDE3ICsx
LDE3IEBACiB7CiAgICJuYW1lIjogIndlYmlkbDIiLAogICAiZGVzY3JpcHRpb24iOiAiQSBXZWJJ
REwgUGFyc2VyIiwKLSAgInZlcnNpb24iOiAiMi4wLjExIiwKKyAgInZlcnNpb24iOiAiMi40LjAi
LAogICAiYXV0aG9yIjogIlJvYmluIEJlcmpvbiA8cm9iaW5AYmVyam9uLmNvbT4iLAogICAibGlj
ZW5zZSI6ICJNSVQiLAogICAiZGVwZW5kZW5jaWVzIjoge30sCiAgICJkZXZEZXBlbmRlbmNpZXMi
OiB7Ci0gICAgIm1vY2hhIjogIjIuMi41IiwKLSAgICAiZXhwZWN0LmpzIjogIjAuMy4xIiwKKyAg
ICAibW9jaGEiOiAiMy4yLjAiLAorICAgICJleHBlY3QiOiAiMS4yMC4yIiwKICAgICAidW5kZXJz
Y29yZSI6ICIxLjguMyIsCi0gICAgImpzb25kaWZmcGF0Y2giOiAiMC4xLjMxIiwKKyAgICAianNv
bmRpZmZwYXRjaCI6ICIwLjIuNCIsCiAgICAgImJlbmNobWFyayI6ICIqIiwKLSAgICAibWljcm90
aW1lIjogIjEuNC4yIgorICAgICJtaWNyb3RpbWUiOiAiMi4xLjMiCiAgIH0sCiAgICJzY3JpcHRz
IjogewogICAgICJ0ZXN0IjogIm1vY2hhIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L2ludmFsaWQu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcwppbmRleCBjOTgyMTgwMzcyNjRlOGU1ZDdjN2ZmZDU5
ODQ3YWUxZmU2Mzg3NDhkLi5iOGFiM2ExODY2ZGUwZjA1ZDIzYjI5OTlmOTdhMjE2ZThiNzg5Yzdl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxpZC5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3QvaW52YWxp
ZC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8vICAgIGFyZSBmdWxseSBjb3JyZWN0IGludGVycHJldGF0
aW9ucyBvZiB0aGUgSURMcwogCiB2YXIgd3AgPSBwcm9jZXNzLmVudi5KU0NPViA/IHJlcXVpcmUo
Ii4uL2xpYi1jb3Yvd2ViaWRsMiIpIDogcmVxdWlyZSgiLi4vbGliL3dlYmlkbDIiKQotLCAgIGV4
cGVjdCA9IHJlcXVpcmUoImV4cGVjdC5qcyIpCissICAgZXhwZWN0ID0gcmVxdWlyZSgiZXhwZWN0
IikKICwgICBwdGggPSByZXF1aXJlKCJwYXRoIikKICwgICBmcyA9IHJlcXVpcmUoImZzIikKIDsK
QEAgLTE2LDcgKzE2LDcgQEAgZGVzY3JpYmUoIlBhcnNlcyBhbGwgb2YgdGhlIGludmFsaWQgSURM
cyB0byBjaGVjayB0aGF0IHRoZXkgYmxvdyB1cCBjb3JyZWN0bHkiLAogICAgICAgICAgICAgICAg
ICAgLm1hcChmdW5jdGlvbiAoaXQpIHsgcmV0dXJuIHB0aC5qb2luKGRpciwgaXQpOyB9KQogICAg
ICwgICBlcnJvcnMgPSBpZGxzLm1hcChmdW5jdGlvbiAoaXQpIHsgcmV0dXJuIHB0aC5qb2luKF9f
ZGlybmFtZSwgImludmFsaWQiLCAianNvbiIsIHB0aC5iYXNlbmFtZShpdCkucmVwbGFjZSgvXC53
P2lkbC8sICIuanNvbiIpKTsgfSkKICAgICA7Ci0gICAgCisKICAgICBmb3IgKHZhciBpID0gMCwg
biA9IGlkbHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgIHZhciBpZGwgPSBpZGxzW2ld
LCBlcnJvciA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGVycm9yc1tpXSwgInV0ZjgiKSk7
CiAgICAgICAgIHZhciBmdW5jID0gKGZ1bmN0aW9uIChpZGwsIGVycikgewpAQCAtMzAsMTEgKzMw
LDExIEBAIGRlc2NyaWJlKCJQYXJzZXMgYWxsIG9mIHRoZSBpbnZhbGlkIElETHMgdG8gY2hlY2sg
dGhhdCB0aGV5IGJsb3cgdXAgY29ycmVjdGx5IiwKICAgICAgICAgICAgICAgICAgICAgZXJyb3Ig
PSBlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBmaW5hbGx5IHsKLSAgICAg
ICAgICAgICAgICAgICAgZXhwZWN0KGVycm9yKS50by5iZS5vaygpOwotICAgICAgICAgICAgICAg
ICAgICBleHBlY3QoZXJyb3IubWVzc2FnZSkudG8uZXF1YWwoZXJyLm1lc3NhZ2UpOwotICAgICAg
ICAgICAgICAgICAgICBleHBlY3QoZXJyb3IubGluZSkudG8uZXF1YWwoZXJyLmxpbmUpOworICAg
ICAgICAgICAgICAgICAgICBleHBlY3QoZXJyb3IpLnRvRXhpc3QoKTsKKyAgICAgICAgICAgICAg
ICAgICAgZXhwZWN0KGVycm9yLm1lc3NhZ2UpLnRvRXF1YWwoZXJyLm1lc3NhZ2UpOworICAgICAg
ICAgICAgICAgICAgICBleHBlY3QoZXJyb3IubGluZSkudG9FcXVhbChlcnIubGluZSk7CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICB9OwogICAgICAg
ICB9KGlkbCwgZXJyb3IpKTsKICAgICAgICAgaXQoInNob3VsZCBwcm9kdWNlIHRoZSByaWdodCBl
cnJvciBmb3IgIiArIGlkbCwgZnVuYyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4Lmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC5qcwppbmRleCA3MTI1NDJhNmJlOGU1ZWNhMjlkNWRkNjk4M2Fm
M2IyYzhiMzE4NDBhLi4zYjM0M2U0MjI5ZDUwMjdkOWZlMDgxNDE4ZDJkNWZiNDdkNDlhOGY1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXguanMK
QEAgLTEsNiArMSw2IEBACiAKIHZhciB3cCA9IHByb2Nlc3MuZW52LkpTQ09WID8gcmVxdWlyZSgi
Li4vbGliLWNvdi93ZWJpZGwyIikgOiByZXF1aXJlKCIuLi9saWIvd2ViaWRsMiIpCi0sICAgZXhw
ZWN0ID0gcmVxdWlyZSgiZXhwZWN0LmpzIikKKywgICBleHBlY3QgPSByZXF1aXJlKCJleHBlY3Qi
KQogLCAgIHB0aCA9IHJlcXVpcmUoInBhdGgiKQogLCAgIGZzID0gcmVxdWlyZSgiZnMiKQogLCAg
IGpkcCA9IHJlcXVpcmUoImpzb25kaWZmcGF0Y2giKQpAQCAtMTQsNyArMTQsNyBAQCBkZXNjcmli
ZSgiUGFyc2VzIGFsbCBvZiB0aGUgSURMcyB0byBwcm9kdWNlIHRoZSBjb3JyZWN0IEFTVHMiLCBm
dW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChpdCkgeyByZXR1
cm4gcHRoLmpvaW4oZGlyLCBpdCk7IH0pCiAgICAgLCAgIGpzb25zID0gaWRscy5tYXAoZnVuY3Rp
b24gKGl0KSB7IHJldHVybiBwdGguam9pbihfX2Rpcm5hbWUsICJzeW50YXgvanNvbiIsIHB0aC5i
YXNlbmFtZShpdCkucmVwbGFjZSgiLndpZGwiLCAiLmpzb24iKSk7IH0pCiAgICAgOwotICAgIAor
CiAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBpZGxzLmxlbmd0aDsgaSA8IG47IGkrKykgewogICAg
ICAgICB2YXIgaWRsID0gaWRsc1tpXSwganNvbiA9IGpzb25zW2ldOwogCkBAIC0yOCw3ICsyOCw3
IEBAIGRlc2NyaWJlKCJQYXJzZXMgYWxsIG9mIHRoZSBJRExzIHRvIHByb2R1Y2UgdGhlIGNvcnJl
Y3QgQVNUcyIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgdmFyIGRpZmYgPSBq
ZHAuZGlmZihKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhqc29uLCAidXRmOCIpKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cC5wYXJzZShmcy5yZWFkRmlsZVN5
bmMoaWRsLCAidXRmOCIpLCBvcHQpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGRpZmYgJiYg
ZGVidWcpIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGRpZmYsIG51bGwsIDQpKTsKLSAgICAg
ICAgICAgICAgICAgICAgZXhwZWN0KGRpZmYpLnRvLmJlKHVuZGVmaW5lZCk7CisgICAgICAgICAg
ICAgICAgICAgIGV4cGVjdChkaWZmKS50b0JlKHVuZGVmaW5lZCk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgIGNvbnNv
bGUubG9nKGUudG9TdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9l
eHRlbmRlZC1hdHRyaWJ1dGVzLndpZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2lkbC9leHRlbmRlZC1h
dHRyaWJ1dGVzLndpZGwKaW5kZXggZjc2OWMyNTU5Y2M3OTkwZWRjNTE4M2JjMTEzZjEzNmM1MjM5
NGY0NS4uYzFkZjc5ZTE0MmQ1NGRiZjliZDRjM2MyOThiMGMyNzBlNjc5ZmZjMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMv
d2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvZXh0ZW5kZWQtYXR0cmlidXRlcy53aWRsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlk
bDIvdGVzdC9zeW50YXgvaWRsL2V4dGVuZGVkLWF0dHJpYnV0ZXMud2lkbApAQCAtMyw0ICszLDkg
QEAKIFtHbG9iYWw9KFdvcmtlcixTZXJ2aWNlV29ya2VyKSwgRXhwb3NlZD1TZXJ2aWNlV29ya2Vy
XQogaW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSA6IFdvcmtlckdsb2JhbFNjb3Bl
IHsKICAgCi19OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK307CisKKy8vIENvbmZvcm1h
bmNlIHdpdGggRXh0ZW5kZWRBdHRyaWJ1dGVMaXN0IGdyYW1tYXIgaW4gaHR0cDovL3d3dy53My5v
cmcvVFIvV2ViSURMLyNpZGwtZXh0ZW5kZWQtYXR0cmlidXRlcworLy8gU2VjdGlvbiAzLjExCitb
SW50QXR0cj0wLCBGbG9hdEF0dHI9My4xNCwgU3RyaW5nQXR0cj0iYWJjIl0KK2ludGVyZmFjZSBJ
ZEludGVyZmFjZSB7fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvaWRsL3VuaW9udHlw
ZS53aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwKaW5kZXggNGQ5OWYw
MTk2MzA4YWVjNmVmNDY3ZjE4YjAxNzZhNDZlOTVhMmMyYi4uMGQ1ZmU5YmU0Mjg2NDBiZTcyMGZl
MThiY2YyNWU3MTRkNDU5NDJhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5p
b250eXBlLndpZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9pZGwvdW5pb250eXBlLndpZGwKQEAg
LTEsMyArMSw0IEBACiBpbnRlcmZhY2UgVW5pb24gewogIGF0dHJpYnV0ZSAoZmxvYXQgb3IgKERh
dGUgb3IgRXZlbnQpIG9yIChOb2RlIG9yIERPTVN0cmluZyk/KSB0ZXN0OworIGF0dHJpYnV0ZSAo
W0VuZm9yY2VSYW5nZV0gbG9uZyBvciBEYXRlKSB0ZXN0MjsKIH07ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0
dHJpYnV0ZXMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9leHRlbmRlZC1hdHRyaWJ1dGVz
Lmpzb24KaW5kZXggMjI4YzRiODI0YmUzZTQyOTBlMzc2MzI2ZGI0YTAxNTVjZDNiNWY0Mi4uM2I1
YTNiMmUyMmIzMWE5ZGRiMzIyYzA3Y2ZiZDM4OWRmMzYwYTY2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2V4dGVuZGVkLWF0dHJpYnV0ZXMuanNvbgorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vZXh0ZW5kZWQtYXR0cmlidXRlcy5qc29uCkBAIC0yNiw1ICsyNiwzOCBAQAog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgXQorICAgIH0sCisgICAg
eworICAgICAgInR5cGUiOiAiaW50ZXJmYWNlIiwKKyAgICAgICJuYW1lIjogIklkSW50ZXJmYWNl
IiwKKyAgICAgICJwYXJ0aWFsIjogZmFsc2UsCisgICAgICAibWVtYmVycyI6IFtdLAorICAgICAg
ImluaGVyaXRhbmNlIjogbnVsbCwKKyAgICAgICJleHRBdHRycyI6IFsKKyAgICAgICAgeworICAg
ICAgICAgICJuYW1lIjogIkludEF0dHIiLAorICAgICAgICAgICJhcmd1bWVudHMiOiBudWxsLAor
ICAgICAgICAgICJyaHMiOiB7CisgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIiwKKyAgICAg
ICAgICAgICJ2YWx1ZSI6ICIwIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgewor
ICAgICAgICAgICJuYW1lIjogIkZsb2F0QXR0ciIsCisgICAgICAgICAgImFyZ3VtZW50cyI6IG51
bGwsCisgICAgICAgICAgInJocyI6IHsKKyAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IiwKKyAg
ICAgICAgICAgICJ2YWx1ZSI6ICIzLjE0IgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAg
ICAgeworICAgICAgICAgICJuYW1lIjogIlN0cmluZ0F0dHIiLAorICAgICAgICAgICJhcmd1bWVu
dHMiOiBudWxsLAorICAgICAgICAgICJyaHMiOiB7CisgICAgICAgICAgICAidHlwZSI6ICJzdHJp
bmciLAorICAgICAgICAgICAgInZhbHVlIjogIlwiYWJjXCIiCisgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICBdCiAgICAgfQotXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK10KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi9pZGVudGlmaWVyLXF1YWxpZmllZC1uYW1l
cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVz
Lmpzb24KaW5kZXggYTkxZjhjOGViNTNlNTYzY2RkN2E1YzU2ZGY1NzkyOTc4YjQ5NmQxNi4uZDg3
ZWEzYjVmMzY5ZGI2OThlOTMwNzJhMWI3NjU2MmExNmQ1MGZlYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRs
Mi90ZXN0L3N5bnRheC9qc29uL2lkZW50aWZpZXItcXVhbGlmaWVkLW5hbWVzLmpzb24KQEAgLTEs
NyArMSw2IEBACiBbCiAgICAgewogICAgICAgICAidHlwZSI6ICJ0eXBlZGVmIiwKLSAgICAgICAg
InR5cGVFeHRBdHRycyI6IFtdLAogICAgICAgICAiaWRsVHlwZSI6IHsKICAgICAgICAgICAgICJz
ZXF1ZW5jZSI6IGZhbHNlLAogICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLApAQCAtMjE0LDQg
KzIxMyw0IEBACiAgICAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCiAgICAgICAgICJleHRBdHRy
cyI6IFtdCiAgICAgfQotXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK10KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Vz
L3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4
L2pzb24vdHlwZWRlZi5qc29uCmluZGV4IGZmZGVlYTk0NWQ3ZjdhZjU5ZDBlZGEzYzAyMGQ2MWNk
NDlhZjAyNGYuLmQwODU0ZmEzZDI2MjY4NTVkYTJlZWQxNDE5ZTMyZGJhN2YzZDljZmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2VzL3dlYmlkbDIvdGVzdC9zeW50YXgvanNvbi90eXBlZGVmLmpzb24KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3N5bnRheC9qc29uL3R5cGVkZWYuanNvbgpAQCAtNDQsNyArNDQsNiBAQAogICAgIH0sCiAgICAg
ewogICAgICAgICAidHlwZSI6ICJ0eXBlZGVmIiwKLSAgICAgICAgInR5cGVFeHRBdHRycyI6IFtd
LAogICAgICAgICAiaWRsVHlwZSI6IHsKICAgICAgICAgICAgICJzZXF1ZW5jZSI6IHRydWUsCiAg
ICAgICAgICAgICAiZ2VuZXJpYyI6ICJzZXF1ZW5jZSIsCkBAIC0yMDYsMjEgKzIwNSwyMSBAQAog
ICAgIH0sCiAgICAgewogICAgICAgICAidHlwZSI6ICJ0eXBlZGVmIiwKLSAgICAgICAgInR5cGVF
eHRBdHRycyI6IFsKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJDbGFt
cCIsCi0gICAgICAgICAgICAgICAgImFyZ3VtZW50cyI6IG51bGwKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXSwKICAgICAgICAgImlkbFR5cGUiOiB7CiAgICAgICAgICAgICAic2VxdWVuY2UiOiBm
YWxzZSwKICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAogICAgICAgICAgICAgImFycmF5IjogZmFsc2UsCiAgICAgICAgICAgICAidW5p
b24iOiBmYWxzZSwKLSAgICAgICAgICAgICJpZGxUeXBlIjogIm9jdGV0IgorICAgICAgICAgICAg
ImlkbFR5cGUiOiAib2N0ZXQiLAorICAgICAgICAgICAgImV4dEF0dHJzIjogWworICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQ2xhbXAiLAorICAgICAgICAg
ICAgICAgICAgICAiYXJndW1lbnRzIjogbnVsbAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIF0KICAgICAgICAgfSwKICAgICAgICAgIm5hbWUiOiAidmFsdWUiLAogICAgICAgICAiZXh0
QXR0cnMiOiBbXQogICAgIH0KLV0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlcy93ZWJpZGwyL3Rlc3Qvc3ludGF4L2pzb24vdW5pb250eXBlLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
c3ludGF4L2pzb24vdW5pb250eXBlLmpzb24KaW5kZXggNDNlMjVmZDZiZmI4NDlmOGQyZWI5MDZh
NjQ1Y2FjODQ4NTJmZTYyNS4uOWRhNWU3OWYzNjI1ZWY2YzJiMTFlZDIwNGFlZjkwNzQyZDkyNWM2
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3N5bnRheC9qc29uL3VuaW9udHlwZS5qc29uCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dl
YmlkbDIvdGVzdC9zeW50YXgvanNvbi91bmlvbnR5cGUuanNvbgpAQCAtMSw4NyArMSwxMjcgQEAK
IFsKLSAgICB7Ci0gICAgICAgICJ0eXBlIjogImludGVyZmFjZSIsCi0gICAgICAgICJuYW1lIjog
IlVuaW9uIiwKLSAgICAgICAgInBhcnRpYWwiOiBmYWxzZSwKLSAgICAgICAgIm1lbWJlcnMiOiBb
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIiwKLSAg
ICAgICAgICAgICAgICAic3RhdGljIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgInN0cmluZ2lm
aWVyIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKLSAgICAgICAg
ICAgICAgICAicmVhZG9ubHkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
LSAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICJnZW5lcmljIjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICJhcnJheSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAidW5pb24iOiB0cnVlLAotICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6IFsKKyAg
IHsKKyAgICAgICJwYXJ0aWFsIjogZmFsc2UsCisgICAgICAibWVtYmVycyI6IFsKKyAgICAgICAg
IHsKKyAgICAgICAgICAgICJpZGxUeXBlIjogeworICAgICAgICAgICAgICAgImlkbFR5cGUiOiBb
CisgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAiYXJyYXkiOiBmYWxz
ZSwKKyAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAorICAgICAgICAgICAgICAg
ICAgICAgInNlcXVlbmNlIjogZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6
IG51bGwsCisgICAgICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJmbG9hdCIsCisgICAgICAg
ICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZQorICAgICAgICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICJpZGxUeXBlIjogWwogICAg
ICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXF1
ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVs
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiYXJyYXkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidW5pb24iOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
aWRsVHlwZSI6ICJmbG9hdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6
IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRGF0ZSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1bmlvbiI6IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgImFycmF5Ijog
ZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJhcnJheSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6
IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiBbCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiYXJyYXkiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5
cGUiOiAiRGF0ZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJhcnJheSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVu
aW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaWRsVHlw
ZSI6ICJFdmVudCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJudWxsYWJs
ZSI6IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiRXZlbnQi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiYXJyYXkiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlv
biI6IGZhbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCisgICAgICAgICAg
ICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICJhcnJheSI6IGZhbHNlLAorICAgICAg
ICAgICAgICAgICAgICAgInVuaW9uIjogdHJ1ZQorICAgICAgICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICJnZW5lcmljIjogbnVsbCwKKyAg
ICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAorICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiBbCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiYXJyYXkiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ1bmlvbiI6IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjog
ZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJpZGxUeXBlIjogIk5vZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICB9
LAogICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmlj
IjogbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiB0cnVlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcnJheSI6IGZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ1bmlvbiI6IHRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImlkbFR5cGUiOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6IGZhbHNlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJyYXkiOiBmYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAiTm9kZSIKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjogZmFsc2UsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJhcnJheSI6IGZhbHNlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJET01TdHJpbmciCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAibnVsbGFibGUiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJpZGxUeXBlIjogIkRPTVN0cmluZyIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAic2VxdWVuY2UiOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5l
cmljIjogbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcnJheSI6IGZhbHNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogZmFsc2UKKyAgICAgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAg
ICAibnVsbGFibGUiOiB0cnVlLAorICAgICAgICAgICAgICAgICAgICAgInVuaW9uIjogdHJ1ZSwK
KyAgICAgICAgICAgICAgICAgICAgICJhcnJheSI6IGZhbHNlCisgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIm51bGxhYmxlIjogZmFsc2UsCisg
ICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCisgICAgICAgICAgICAgICAic2VxdWVuY2Ui
OiBmYWxzZSwKKyAgICAgICAgICAgICAgICJ1bmlvbiI6IHRydWUsCisgICAgICAgICAgICAgICAi
YXJyYXkiOiBmYWxzZQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJuYW1lIjogInRlc3Qi
LAorICAgICAgICAgICAgImluaGVyaXQiOiBmYWxzZSwKKyAgICAgICAgICAgICJ0eXBlIjogImF0
dHJpYnV0ZSIsCisgICAgICAgICAgICAiZXh0QXR0cnMiOiBbXSwKKyAgICAgICAgICAgICJyZWFk
b25seSI6IGZhbHNlLAorICAgICAgICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCisgICAgICAg
ICAgICAic3RhdGljIjogZmFsc2UKKyAgICAgICAgIH0sCisgICAgICAgICB7CisgICAgICAgICAg
ICAicmVhZG9ubHkiOiBmYWxzZSwKKyAgICAgICAgICAgICJleHRBdHRycyI6IFtdLAorICAgICAg
ICAgICAgInN0cmluZ2lmaWVyIjogZmFsc2UsCisgICAgICAgICAgICAic3RhdGljIjogZmFsc2Us
CisgICAgICAgICAgICAibmFtZSI6ICJ0ZXN0MiIsCisgICAgICAgICAgICAiaWRsVHlwZSI6IHsK
KyAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAorICAgICAgICAgICAgICAgImlkbFR5
cGUiOiBbCisgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAiZXh0QXR0
cnMiOiBbCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJFbmZvcmNlUmFuZ2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImFyZ3VtZW50cyI6IG51bGwKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICAgICAgXQotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgIm5hbWUiOiAi
dGVzdCIsCi0gICAgICAgICAgICAgICAgImV4dEF0dHJzIjogW10KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgXSwKLSAgICAgICAgImluaGVyaXRhbmNlIjogbnVsbCwKLSAgICAgICAgImV4dEF0dHJz
IjogW10KLSAgICB9Ci1dClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorICAgICAgICAgICAg
ICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICJudWxsYWJsZSI6IGZhbHNlLAorICAg
ICAgICAgICAgICAgICAgICAgImlkbFR5cGUiOiAibG9uZyIsCisgICAgICAgICAgICAgICAgICAg
ICAiZ2VuZXJpYyI6IG51bGwsCisgICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UiOiBmYWxz
ZSwKKyAgICAgICAgICAgICAgICAgICAgICJhcnJheSI6IGZhbHNlLAorICAgICAgICAgICAgICAg
ICAgICAgInVuaW9uIjogZmFsc2UKKyAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAiYXJyYXkiOiBmYWxzZSwKKyAgICAgICAgICAg
ICAgICAgICAgICJ1bmlvbiI6IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgInNlcXVlbmNl
IjogZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJpYyI6IG51bGwsCisgICAgICAg
ICAgICAgICAgICAgICAiaWRsVHlwZSI6ICJEYXRlIiwKKyAgICAgICAgICAgICAgICAgICAgICJu
dWxsYWJsZSI6IGZhbHNlCisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICBdLAor
ICAgICAgICAgICAgICAgImdlbmVyaWMiOiBudWxsLAorICAgICAgICAgICAgICAgInNlcXVlbmNl
IjogZmFsc2UsCisgICAgICAgICAgICAgICAidW5pb24iOiB0cnVlLAorICAgICAgICAgICAgICAg
ImFycmF5IjogZmFsc2UKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAiaW5oZXJpdCI6IGZh
bHNlLAorICAgICAgICAgICAgInR5cGUiOiAiYXR0cmlidXRlIgorICAgICAgICAgfQorICAgICAg
XSwKKyAgICAgICJpbmhlcml0YW5jZSI6IG51bGwsCisgICAgICAibmFtZSI6ICJVbmlvbiIsCisg
ICAgICAiZXh0QXR0cnMiOiBbXSwKKyAgICAgICJ0eXBlIjogImludGVyZmFjZSIKKyAgIH0KK10K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2ViL21ha2Utd2ViLXRlc3RzLmpzCmluZGV4IDM0YzVhNWMyYjQ2ZDI1ZDA0MzcyNzMxYmRjYWM1
Mjc0ODc5NzRmODUuLjE3NzQ4MDY5OTRlMGE3NDYyNGZkMTk0NjlhODZjY2YyMTgyODg2MmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvbWFrZS13ZWItdGVzdHMuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0
L3dlYi9tYWtlLXdlYi10ZXN0cy5qcwpAQCAtMzYsOSArMzYsMTAgQEAgdmFyIHB0aCA9IHJlcXVp
cmUoInBhdGgiKQogICAgICwgICAiICA8L2hlYWQ+IgogICAgICwgICAiICA8Ym9keT48ZGl2IGlk
PSdtb2NoYSc+PC9kaXY+IgogICAgICwgICAiICA8c2NyaXB0IHNyYz0naHR0cHM6Ly9hamF4Lmdv
b2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS44LjMvanF1ZXJ5Lm1pbi5qcyc+PC9zY3Jp
cHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9kZV9tb2R1bGVzL2V4cGVjdC5q
cy9leHBlY3QuanMnPjwvc2NyaXB0PiIKKyAgICAsICAgIiAgPHNjcmlwdCBzcmM9Jy4uLy4uL25v
ZGVfbW9kdWxlcy9leHBlY3QvdW1kL2V4cGVjdC5taW4uanMnPjwvc2NyaXB0PiIKKyAgICAsICAg
IiAgPHNjcmlwdCBzcmM9Jy4uLy4uL25vZGVfbW9kdWxlcy9leHBlY3QuanMvaW5kZXguanMnPjwv
c2NyaXB0PiIKICAgICAsICAgIiAgPHNjcmlwdCBzcmM9Jy4uLy4uL25vZGVfbW9kdWxlcy9tb2No
YS9tb2NoYS5qcyc+PC9zY3JpcHQ+IgotICAgICwgICAiICA8c2NyaXB0IHNyYz0nLi4vLi4vbm9k
ZV9tb2R1bGVzL2pzb25kaWZmcGF0Y2gvanNvbmRpZmZwYXRjaC5taW4uanMnPjwvc2NyaXB0PiIK
KyAgICAsICAgIiAgPHNjcmlwdCBzcmM9Jy4uLy4uL25vZGVfbW9kdWxlcy9qc29uZGlmZnBhdGNo
L3B1YmxpYy9idWlsZC9qc29uZGlmZnBhdGNoLm1pbi5qcyc+PC9zY3JpcHQ+IgogICAgICwgICAi
ICA8c2NyaXB0IHNyYz0nLi4vLi4vbGliL3dlYmlkbDIuanMnPjwvc2NyaXB0PiIKICAgICAsICAg
IiAgPHNjcmlwdD5tb2NoYS5zZXR1cCgnYmRkJyk7PC9zY3JpcHQ+IgogICAgICwgICAiICA8c2Ny
aXB0IHNyYz0ncnVuLXRlc3RzLmpzJz48L3NjcmlwdD4iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qv
d2ViL3J1bi10ZXN0cy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCmluZGV4IGE3Mjgw
MGI4YmRiOGQ2MThmYWZmZWJmYjFhMTk5ZDVlMGZhMGJhNDguLjQ1MmY3OTliMmE2ZjAzNGE3ZDVm
MjRjZWI5MzI5ZTg1YjM0MGJlZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRlc3Rz
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2VzL3dlYmlkbDIvdGVzdC93ZWIvcnVuLXRlc3RzLmpzCkBAIC0xMCw3ICsxMCw3IEBAIGRl
c2NyaWJlKCJQYXJzZXMgYWxsIG9mIHRoZSBJRExzIHRvIHByb2R1Y2UgdGhlIGNvcnJlY3QgQVNU
cyIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gc28gd2UgY29tcGFyZSBi
YXNlZCBvbiB0aGF0CiAgICAgICAgICAgICAgICAgICAgIHZhciBkaWZmID0ganNvbmRpZmZwYXRj
aC5kaWZmKGpzb24sIFdlYklETDIucGFyc2UoaWRsKSk7CiAgICAgICAgICAgICAgICAgICAgIGlm
IChkaWZmICYmIGRlYnVnKSBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShkaWZmLCBudWxsLCA0
KSk7Ci0gICAgICAgICAgICAgICAgICAgIGV4cGVjdChkaWZmKS50by5iZSh1bmRlZmluZWQpOwor
ICAgICAgICAgICAgICAgICAgICBleHBlY3QoZGlmZikudG9CZSh1bmRlZmluZWQpOwogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAg
ICAgICBjb25zb2xlLmxvZyhlLnRvU3RyaW5nKCkpOwpAQCAtMzYsMTEgKzM2LDExIEBAIGRlc2Ny
aWJlKCJQYXJzZXMgYWxsIG9mIHRoZSBpbnZhbGlkIElETHMgdG8gY2hlY2sgdGhhdCB0aGV5IGJs
b3cgdXAgY29ycmVjdGx5IiwKICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBlOwogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBmaW5hbGx5IHsKLSAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0KGVycm9yKS50by5iZS5vaygpOwotICAgICAgICAgICAgICAgICAgICBleHBlY3Qo
ZXJyb3IubWVzc2FnZSkudG8uZXF1YWwoZXJyLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgICAg
ICBleHBlY3QoZXJyb3IubGluZSkudG8uZXF1YWwoZXJyLmxpbmUpOworICAgICAgICAgICAgICAg
ICAgICBleHBlY3QoZXJyb3IpLnRvRXhpc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0
KGVycm9yLm1lc3NhZ2UpLnRvRXF1YWwoZXJyLm1lc3NhZ2UpOworICAgICAgICAgICAgICAgICAg
ICBleHBlY3QoZXJyb3IubGluZSkudG9FcXVhbChlcnIubGluZSk7CiAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICB9OwogICAgICAgICB9KGlkbCwgZXJy
b3IpKTsKICAgICAgICAgaXQoInNob3VsZCBwcm9kdWNlIHRoZSByaWdodCBlcnJvciBmb3IgIiAr
IGksIGZ1bmMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy9odG1sdG9kdGQu
eHNsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy9odG1sdG9kdGQueHNsCmluZGV4IGQwZmMyN2Q1
Yzg0Nzk5MzVhZmU4YTk4YTk3YTNkNWM4ZjE1NDM1ZGQuLmQ4YjdmNTk3M2ZiMTJlZjY5YWZlNGYz
M2JhNTRmNmZlZWM2MDg5OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJvYy9kb2MvaHRt
bHRvZHRkLnhzbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL2h0bWx0b2R0ZC54c2wKQEAg
LTEsNSArMSw1IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1cy1hc2NpaSI/Pgot
PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQorPCEtLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAkSWQkCiBDb3B5cmlnaHQgMjAwOSBB
cGxpeCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIExpY2Vuc2VkIHVuZGVyIHRo
ZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwpAQCAtMTMsMTYg
KzEzLDE2IEBAIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVy
bmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCiBT
dHlsZXNoZWV0IHRvIGV4dHJhY3QgRFREIGZvciB3aWRscHJvY3htbCBmcm9tIHdpZGxwcm9jLmh0
bWwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PSAtLT4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgogPHhzbDpzdHlsZXNoZWV0IHht
bG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIx
LjAiPgogPHhzbDpvdXRwdXQgbWV0aG9kPSJ0ZXh0IiBlbmNvZGluZz0idXMtYXNjaWkiIGluZGVu
dD0ibm8iLz4KIAotPCEtLSAgPHByZSBjbGFzcz0iZHRkIj4gZWxlbWVudCAgLS0+Cis8IS0tIDxw
cmUgY2xhc3M9ImR0ZCI+IGVsZW1lbnQgLS0+CiA8eHNsOnRlbXBsYXRlIG1hdGNoPSJwcmVbQGNs
YXNzPSdkdGQnXSI+CiAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz4KIDwveHNsOnRlbXBs
YXRlPgogCi08IS0tIElnbm9yZSBvdGhlciB0ZXh0LiAgLS0+Cis8IS0tSWdub3JlIG90aGVyIHRl
eHQuIC0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGV4dCgpIiBwcmlvcml0eT0iLTEwMCIvPgog
CiA8L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93
aWRscHJvYy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9jL2RvYy93aWRscHJvYy5odG1sCmluZGV4
IDllNDk5ODg5NGQxY2IyNTUzNDM1ZGY3MzRmOWUzZTc5NGMxMmRiMzQuLjRlYjQyYzM5YmI5YzEw
NGQ0ZTgxNmI2MzYyN2EzNTcyZjI2MWRhZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRscHJv
Yy9kb2Mvd2lkbHByb2MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZG9jL3dpZGxwcm9j
Lmh0bWwKQEAgLTEsNSArMSw1IEBACiA8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFRE
IEhUTUwgNC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4K
LTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KKzwhLS09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogQ29weXJpZ2h0IDIwMDkgQXBsaXgg
Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBh
Y2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVz
ZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KQEAgLTEw
LDcgKzEwLDcgQEAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQg
b24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9G
IEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNlbnNlIGZv
ciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogbGltaXRh
dGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0t
LT4KIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRl
bnQ9InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CkBAIC05NzYsNyArOTc2LDcgQEAgcmVw
cmVzZW50aW5nIGFuIG9wZXJhdGlvbidzIHJldHVybiB0eXBlLgogCiA8cD5UaGUgPGVtPkV4dGVu
ZGVkQXR0cmlidXRlTGlzdDwvZW0+IGVsZW1lbnQgcHJvdmlkZXMgdGhlIG9wdGlvbmFsIGV4dGVu
ZGVkIGF0dHJpYnV0ZXMgdGhhdCBjYW4gYmUgZGVmaW5lZCBmb3IgYSB0eXBlIHRocm91Z2ggdHlw
ZWRlZiwgJmFncmF2ZTsgbGEgPGNvZGU+dHlwZWRlZiBbQ2xhbXBdIG9jdGV0IFZhbHVlOzwvY29k
ZT4uPC9wPgogCi08IS0tICBjYW4ndCB1c2UgZW51bWVyYXRlZCB2YWx1ZXMgZm9yIHRoZSB2YWx1
ZXMgb2YgdHlwZSwgc2luY2UgRFREIGRvbid0IGFsbG93IGVudW1lcmF0ZWQgdmFsdWVzIHRvIGhh
dmUgc3BhY2UgaW4gdGhlbSAod2hpY2ggd291bGQgYmUgbmVlZGVkIGUuZy4gZm9yICJsb25nIGxv
bmciKSAgLS0+Cis8IS0tIGNhbid0IHVzZSBlbnVtZXJhdGVkIHZhbHVlcyBmb3IgdGhlIHZhbHVl
cyBvZiB0eXBlLCBzaW5jZSBEVEQgZG9uJ3QgYWxsb3cgZW51bWVyYXRlZCB2YWx1ZXMgdG8gaGF2
ZSBzcGFjZSBpbiB0aGVtICh3aGljaCB3b3VsZCBiZSBuZWVkZWQgZS5nLiBmb3IgImxvbmcgbG9u
ZyIpIC0tPgogPHByZSBjbGFzcz0iZHRkIj4KICZsdDshRUxFTUVOVCBUeXBlIChkZXNjcmlwdGl2
ZT8sIEV4dGVuZGVkQXR0cmlidXRlTGlzdD8sIFR5cGUqKSA+CiAmbHQ7IUFUVExJU1QgVHlwZSB0
eXBlIENEQVRBICNJTVBMSUVECmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBs
ZXMvc3BlY3Rvd2lkbC54c2wgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2MvZXhhbXBsZXMvc3BlY3Rvd2lk
bC54c2wKaW5kZXggZDAxODM0OTQyNDkyYWI5OGY4YmFjNmEyYjYxNmQ3MDhjMjAzMDdhMy4uNDQy
NTI3NzA5NDA2ZWZhM2IzODg5MDQ5ZjVhYzQ1ZjRiYjkyNWJlNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90
ZXN0L3dpZGxwcm9jL2V4YW1wbGVzL3NwZWN0b3dpZGwueHNsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzL3dlYmlkbDIvdGVzdC93aWRs
cHJvYy9leGFtcGxlcy9zcGVjdG93aWRsLnhzbApAQCAtMSw1ICsxLDUgQEAKIDw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08IS0tID09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis8IS0tPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KICRJZCQKIENvcHlyaWdodCAyMDA5IEFwbGl4IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIu
MCAodGhlICJMaWNlbnNlIik7CkBAIC0xMyw3ICsxMyw3IEBAIFNlZSB0aGUgTGljZW5zZSBmb3Ig
dGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRp
b25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCiBYU0xUIHN0eWxlc2hlZXQgdG8gZXh0cmFjdCBXZWIg
SURMIHNuaXBwZXRzIGZyb20gV2ViIElETCBzcGVjLiAKLT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKz09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PS0tPgogPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcv
MTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgogPHhzbDpvdXRwdXQgbWV0aG9kPSJ0
ZXh0IiBlbmNvZGluZz0idXRmLTgiLz4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMvd2ViaWRsMi90ZXN0L3dpZGxwcm9j
L3NyYy93aWRscHJvY3htbHRvaHRtbC54c2wgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxw
cm9jeG1sdG9odG1sLnhzbAppbmRleCAyZTgwOGFmZjI3MzdkN2Y4NzIxNjc5NTk0NWYyZmI1YWU4
MTIyYjI4Li4yYjU4MzM3MWU3ZGQyYzk1NDJlMDkxMmE1ZmE3NmQwZmQwNjMwM2YyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cy93ZWJpZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9odG1sLnhzbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcy93ZWJp
ZGwyL3Rlc3Qvd2lkbHByb2Mvc3JjL3dpZGxwcm9jeG1sdG9odG1sLnhzbApAQCAtMSw1ICsxLDUg
QEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08IS0tID09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Cis8IS0tPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KICRJZDogd2lkbHByb2N4bWx0b2h0bWwueHNsIDQwNyAyMDA5
LTEwLTI2IDEzOjQ4OjQ4WiB0cHIgJAogQ29weXJpZ2h0IDIwMDkgQXBsaXggQ29ycG9yYXRpb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2Us
IFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKQEAgLTEzLDcgKzEzLDcgQEAgU2VlIHRoZSBM
aWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFu
ZAogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKIFhTTFQgc3R5bGVzaGVldCB0byBj
b252ZXJ0IHdpZGxwcm9jeG1sIGludG8gaHRtbCBkb2N1bWVudGF0aW9uLgotPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
IC0tPgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09LS0+CiA8eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+CiA8eHNsOm91dHB1
dCBtZXRob2Q9Imh0bWwiIGVuY29kaW5nPSJ1dGYtOCIgaW5kZW50PSJ5ZXMiIGRvY3R5cGUtcHVi
bGljPSJodG1sIi8+CiAKQEAgLTIxLDcgKzIxLDcgQEAgWFNMVCBzdHlsZXNoZWV0IHRvIGNvbnZl
cnQgd2lkbHByb2N4bWwgaW50byBodG1sIGRvY3VtZW50YXRpb24uCiAKIDx4c2w6dmFyaWFibGUg
bmFtZT0idGl0bGUiIHNlbGVjdD0iY29uY2F0KCdUaGUgJywvRGVmaW5pdGlvbnMvZGVzY3JpcHRp
dmUvbmFtZSwnIE1vZHVsZSAtIFZlcnNpb24gJywvRGVmaW5pdGlvbnMvZGVzY3JpcHRpdmUvdmVy
c2lvbikiLz4KIAotPCEtLSBSb290IG9mIGRvY3VtZW50LiAtLT4KKzwhLS1Sb290IG9mIGRvY3Vt
ZW50Li0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+CiAgICAgPGh0bWw+CiAgICAgICAgIDxo
ZWFkPgpAQCAtMzYsNyArMzYsNyBAQCBYU0xUIHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJv
Y3htbCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlvbi4KICAgICA8L2h0bWw+CiA8L3hzbDp0ZW1wbGF0
ZT4KIAotPCEtLSBSb290IG9mIERlZmluaXRpb25zLiAtLT4KKzwhLS1Sb290IG9mIERlZmluaXRp
b25zLi0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRGVmaW5pdGlvbnMiPgogICAgIDxkaXYgY2xh
c3M9ImFwaSIgaWQ9IntAaWR9Ij4KICAgICAgICAgPGEgaHJlZj0iaHR0cDovL2JvbmRpLm9tdHAu
b3JnIj48aW1nIHNyYz0iaHR0cDovL3d3dy5vbXRwLm9yZy9pbWFnZXMvQm9uZGlTbWFsbC5qcGci
IGFsdD0iQm9uZGkgbG9nbyIvPjwvYT4KQEAgLTE4Niw3ICsxODYsNyBAQCBYU0xUIHN0eWxlc2hl
ZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlvbi4KICAgICA8
L2Rpdj4KIDwveHNsOnRlbXBsYXRlPgogCi08IS0tIGRlZi1hcGktZmVhdHVyZS1zZXQgLS0+Cis8
IS0tZGVmLWFwaS1mZWF0dXJlLXNldC0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGVmLWFwaS1m
ZWF0dXJlLXNldCI+CiAgICAgICA8ZGwgY2xhc3M9ImRlZi1hcGktZmVhdHVyZS1zZXQiPgogICAg
ICAgICAgIDxkdD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIiLz48L2R0PgpAQCAt
MjEwLDcgKzIxMCw3IEBAIFhTTFQgc3R5bGVzaGVldCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGlu
dG8gaHRtbCBkb2N1bWVudGF0aW9uLgogICAgICAgPC9kbD4KIDwveHNsOnRlbXBsYXRlPgogCi08
IS0tIGRlZi1hcGktZmVhdHVyZSAtLT4KKzwhLS1kZWYtYXBpLWZlYXR1cmUtLT4KIDx4c2w6dGVt
cGxhdGUgbWF0Y2g9ImRlZi1hcGktZmVhdHVyZSI+CiAgICAgICA8ZGwgY2xhc3M9ImRlZi1hcGkt
ZmVhdHVyZSI+CiAgICAgICAgICAgPGR0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWRlbnRpZmll
ciIvPjwvZHQ+CkBAIC0yMzQsNyArMjM0LDcgQEAgWFNMVCBzdHlsZXNoZWV0IHRvIGNvbnZlcnQg
d2lkbHByb2N4bWwgaW50byBodG1sIGRvY3VtZW50YXRpb24uCiAgICAgICA8L2RsPgogPC94c2w6
dGVtcGxhdGU+CiAKLTwhLS0gZGVmLWRldmljZS1jYXAgLS0+Cis8IS0tZGVmLWRldmljZS1jYXAt
LT4KIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRlZi1kZXZpY2UtY2FwIj4KICAgICA8ZHQgY2xhc3M9
ImRlZi1kZXZpY2UtY2FwIj48Y29kZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkZW50aWZpZXIi
Lz48L2NvZGU+PC9kdD4KICAgICA8ZGQ+CkBAIC0yNTIsMTUgKzI1MiwxNSBAQCBYU0xUIHN0eWxl
c2hlZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlvbi4KICAg
ICA8L2RkPgogPC94c2w6dGVtcGxhdGU+CiAKLTwhLS0gRXhjZXB0aW9uOiBub3QgaW1wbGVtZW50
ZWQgLS0+Ci08IS0tIFZhbHVldHlwZTogbm90IGltcGxlbWVudGVkIC0tPgorPCEtLUV4Y2VwdGlv
bjogbm90IGltcGxlbWVudGVkLS0+Cis8IS0tVmFsdWV0eXBlOiBub3QgaW1wbGVtZW50ZWQtLT4K
IDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkV4Y2VwdGlvbnxWYWx1ZXR5cGV8Q29uc3QiPgogICAgIDx4
c2w6aWYgdGVzdD0iZGVzY3JpcHRpdmUiPgogICAgICAgICA8eHNsOm1lc3NhZ2UgdGVybWluYXRl
PSJ5ZXMiPmVsZW1lbnQgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5hbWUoKSIvPiBub3Qgc3VwcG9y
dGVkPC94c2w6bWVzc2FnZT4KICAgICA8L3hzbDppZj4KIDwveHNsOnRlbXBsYXRlPgogCi08IS0t
IFR5cGVkZWYuIC0tPgorPCEtLVR5cGVkZWYuLS0+CiA8eHNsOnRlbXBsYXRlIG1hdGNoPSJUeXBl
ZGVmW2Rlc2NyaXB0aXZlXSI+CiAgICAgPGRpdiBjbGFzcz0idHlwZWRlZiIgaWQ9IntAaWR9Ij4K
ICAgICAgICAgPGgzPjIuPHhzbDpudW1iZXIgdmFsdWU9InBvc2l0aW9uKCkiLz4uIDxjb2RlPjx4
c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvY29kZT48L2gzPgpAQCAtMjcxLDcgKzI3MSw3
IEBAIFhTTFQgc3R5bGVzaGVldCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGludG8gaHRtbCBkb2N1
bWVudGF0aW9uLgogICAgIDwvZGl2PgogPC94c2w6dGVtcGxhdGU+CiAKLTwhLS0gSW50ZXJmYWNl
LiAtLT4KKzwhLS1JbnRlcmZhY2UuLS0+CiA8eHNsOnRlbXBsYXRlIG1hdGNoPSJJbnRlcmZhY2Vb
ZGVzY3JpcHRpdmVdIj4KICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5h
bWUiLz4KICAgICA8ZGl2IGNsYXNzPSJpbnRlcmZhY2UiIGlkPSJ7QGlkfSI+CkBAIC0zMTksNyAr
MzE5LDcgQEAgWFNMVCBzdHlsZXNoZWV0IHRvIGNvbnZlcnQgd2lkbHByb2N4bWwgaW50byBodG1s
IGRvY3VtZW50YXRpb24uCiA8eHNsOnRlbXBsYXRlIG1hdGNoPSJJbnRlcmZhY2Vbbm90KGRlc2Ny
aXB0aXZlKV0iPgogPC94c2w6dGVtcGxhdGU+CiAKLTwhLS0gRGljdGlvbmFyeS4gLS0+Cis8IS0t
RGljdGlvbmFyeS4tLT4KIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkRpY3Rpb25hcnlbZGVzY3JpcHRp
dmVdIj4KICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KICAg
ICA8ZGl2IGNsYXNzPSJkaWN0aW9uYXJ5IiBpZD0ie0BpZH0iPgpAQCAtMzYwLDcgKzM2MCw3IEBA
IFhTTFQgc3R5bGVzaGVldCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGludG8gaHRtbCBkb2N1bWVu
dGF0aW9uLgogICAgICAgICAgICAgICA8L3A+CiA8L3hzbDp0ZW1wbGF0ZT4KIAotPCEtLSBBdHRy
aWJ1dGUgLS0+Cis8IS0tQXR0cmlidXRlLS0+CiA8eHNsOnRlbXBsYXRlIG1hdGNoPSJBdHRyaWJ1
dGUiPgogICAgIDxkdCBjbGFzcz0iYXR0cmlidXRlIiBpZD0ie0BuYW1lfSI+CiAgICAgICAgIDxj
b2RlPgpAQCAtMzgzLDcgKzM4Myw3IEBAIFhTTFQgc3R5bGVzaGVldCB0byBjb252ZXJ0IHdpZGxw
cm9jeG1sIGludG8gaHRtbCBkb2N1bWVudGF0aW9uLgogICAgICAgICA8L2RkPgogPC94c2w6dGVt
cGxhdGU+CiAKLTwhLS0gQ29uc3QgLS0+Cis8IS0tQ29uc3QtLT4KIDx4c2w6dGVtcGxhdGUgbWF0
Y2g9IkNvbnN0Ij4KICAgPGR0IGNsYXNzPSJjb25zdCIgaWQ9IntAaWR9Ij4KICAgICA8Y29kZT4K
QEAgLTM5OSw3ICszOTksNyBAQCBYU0xUIHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3ht
bCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlvbi4KICAgPC9kZD4KIDwveHNsOnRlbXBsYXRlPgogCi08
IS0tIEV4dGVuZGVkQXR0cmlidXRlIG5hbWU9PUNvbnN0cnVjdG9yIHx8IG5hbWU9PU5hbWVkQ29u
c3RydWN0b3IgLS0+Cis8IS0tRXh0ZW5kZWRBdHRyaWJ1dGUgbmFtZT09Q29uc3RydWN0b3IgfHwg
bmFtZT09TmFtZWRDb25zdHJ1Y3Rvci0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRXh0ZW5kZWRB
dHRyaWJ1dGVMaXN0L0V4dGVuZGVkQXR0cmlidXRlIj4KICAgICA8ZHQgY2xhc3M9ImNvbnN0cnVj
dG9yIiBpZD0ie2NvbmNhdChAbmFtZSxnZW5lcmF0ZS1pZCguKSl9Ij4KICAgICAgICAgPGNvZGU+
CkBAIC00MjksNyArNDI5LDcgQEAgWFNMVCBzdHlsZXNoZWV0IHRvIGNvbnZlcnQgd2lkbHByb2N4
bWwgaW50byBodG1sIGRvY3VtZW50YXRpb24uCiAgICAgPC9kZD4KIDwveHNsOnRlbXBsYXRlPgog
Ci08IS0tIE9wZXJhdGlvbiAtLT4KKzwhLS1PcGVyYXRpb24tLT4KIDx4c2w6dGVtcGxhdGUgbWF0
Y2g9Ik9wZXJhdGlvbiI+CiAgICAgPGR0IGNsYXNzPSJtZXRob2QiIGlkPSJ7Y29uY2F0KEBuYW1l
LGdlbmVyYXRlLWlkKC4pKX0iPgogICAgICAgICA8Y29kZT4KQEAgLTQ4OSw3ICs0ODksNyBAQCBY
U0xUIHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9jdW1lbnRh
dGlvbi4KICAgICA8L2RkPgogPC94c2w6dGVtcGxhdGU+CiAKLTwhLS0gQ2FsbGJhY2sgLS0+Cis8
IS0tQ2FsbGJhY2stLT4KIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkNhbGxiYWNrIj4KICAgICA8eHNs
OnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KICAgICA8ZGl2IGNsYXNzPSJj
YWxsYmFjayIgaWQ9IntAaWR9Ij4KQEAgLTUyNSwxMyArNTI1LDEzIEBAIFhTTFQgc3R5bGVzaGVl
dCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGludG8gaHRtbCBkb2N1bWVudGF0aW9uLgogCTwvZGl2
PgogPC94c2w6dGVtcGxhdGU+CiAKLTwhLS0gQXJndW1lbnRMaXN0LiBUaGlzIGlzIHBhc3NlZCAk
bm9kZXNjPXRydWUgdG8gb3V0cHV0IGp1c3QgdGhlIGFyZ3VtZW50Ci0gICAgdHlwZXMgYW5kIG5h
bWVzLCBhbmQgbm90IGFueSBkb2N1bWVudGF0aW9uIGZvciB0aGVtLiAtLT4KKzwhLS1Bcmd1bWVu
dExpc3QuIFRoaXMgaXMgcGFzc2VkICRub2Rlc2M9dHJ1ZSB0byBvdXRwdXQganVzdCB0aGUgYXJn
dW1lbnQKKyAgICB0eXBlcyBhbmQgbmFtZXMsIGFuZCBub3QgYW55IGRvY3VtZW50YXRpb24gZm9y
IHRoZW0uLS0+CiA8eHNsOnRlbXBsYXRlIG1hdGNoPSJBcmd1bWVudExpc3QiPgogICAgIDx4c2w6
cGFyYW0gbmFtZT0ibm9kZXNjIi8+CiAgICAgPHhzbDpjaG9vc2U+CiAgICAgICAgIDx4c2w6d2hl
biB0ZXN0PSIkbm9kZXNjIj4KLSAgICAgICAgICAgIDwhLS0gJG5vZGVzYyBpcyB0cnVlOiBqdXN0
IG91dHB1dCB0aGUgdHlwZXMgYW5kIG5hbWVzIC0tPgorICAgICAgICAgICAgPCEtLSRub2Rlc2Mg
aXMgdHJ1ZToganVzdCBvdXRwdXQgdGhlIHR5cGVzIGFuZCBuYW1lcy0tPgogICAgICAgICAgICAg
PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJBcmd1bWVudFsxXSI+CiAgICAgICAgICAgICAg
ICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im5vZGVzYyIgc2VsZWN0PSInbm9jb21tYSciLz4KICAg
ICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KQEAgLTU0MCw3ICs1NDAsNyBAQCBYU0xU
IHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlv
bi4KICAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KICAgICAgICAgPC94c2w6d2hl
bj4KICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9IkFyZ3VtZW50Ij4KLSAgICAgICAgICAgIDwhLS0g
JG5vZGVzYyBpcyBmYWxzZTogb3V0cHV0IHRoZSBkb2N1bWVudGF0aW9uIC0tPgorICAgICAgICAg
ICAgPCEtLSRub2Rlc2MgaXMgZmFsc2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbi0tPgogICAg
ICAgICAgICAgPGRpdiBjbGFzcz0icGFyYW1ldGVycyI+CiAgICAgICAgICAgICAgICAgPGg2PlBh
cmFtZXRlcnM8L2g2PgogICAgICAgICAgICAgICAgIDx1bD4KQEAgLTU1MSwxNiArNTUxLDE2IEBA
IFhTTFQgc3R5bGVzaGVldCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGludG8gaHRtbCBkb2N1bWVu
dGF0aW9uLgogICAgIDwveHNsOmNob29zZT4KIDwveHNsOnRlbXBsYXRlPgogCi08IS0tIEFyZ3Vt
ZW50LiBUaGlzIGlzIHBhc3NlZCAkbm9kZXNjPWZhbHNlIHRvIG91dHB1dCB0aGUgZG9jdW1lbnRh
dGlvbiwKKzwhLS1Bcmd1bWVudC4gVGhpcyBpcyBwYXNzZWQgJG5vZGVzYz1mYWxzZSB0byBvdXRw
dXQgdGhlIGRvY3VtZW50YXRpb24sCiAgICAgb3IgJG5vZGVzYz0ibm9jb21tYSIgdG8gb3V0cHV0
IHRoZSB0eXBlIGFuZCBuYW1lLCBvciAkbm9kZXNjPSJjb21tYSIKLSAgICB0byBvdXRwdXQgYSBj
b21tYSB0aGVuIHRoZSB0eXBlIGFuZCBuYW1lLiAgLS0+CisgICAgdG8gb3V0cHV0IGEgY29tbWEg
dGhlbiB0aGUgdHlwZSBhbmQgbmFtZS4gLS0+CiA8eHNsOnRlbXBsYXRlIG1hdGNoPSJBcmd1bWVu
dCI+CiAgICAgPHhzbDpwYXJhbSBuYW1lPSJub2Rlc2MiLz4KICAgICA8eHNsOmNob29zZT4KICAg
ICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRub2Rlc2MiPgotICAgICAgICAgICAgPCEtLSAkbm9kZXNj
IGlzIHRydWU6IGp1c3Qgb3V0cHV0IHRoZSB0eXBlcyBhbmQgbmFtZXMgLS0+CisgICAgICAgICAg
ICA8IS0tJG5vZGVzYyBpcyB0cnVlOiBqdXN0IG91dHB1dCB0aGUgdHlwZXMgYW5kIG5hbWVzLS0+
CiAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IiRub2Rlc2MgPSAnY29tbWEnIj4KLSAgICAgICAg
ICAgICAgICA8IS0tIE5lZWQgYSBjb21tYSBmaXJzdC4gLS0+CisgICAgICAgICAgICAgICAgPCEt
LU5lZWQgYSBjb21tYSBmaXJzdC4tLT4KICAgICAgICAgICAgICAgICA8eHNsOnRleHQ+LCA8L3hz
bDp0ZXh0PgogICAgICAgICAgICAgPC94c2w6aWY+CiAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9
IkBpbiI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAaW4sICcgJykiLz48L3hzbDppZj4K
QEAgLTU3Nyw3ICs1NzcsNyBAQCBYU0xUIHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3ht
bCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlvbi4KIAkgICAgPC94c2w6aWY+CSAgICAKICAgICAgICAg
PC94c2w6d2hlbj4KICAgICAgICAgPHhzbDpvdGhlcndpc2U+Ci0gICAgICAgICAgICA8IS0tICRu
b2Rlc2MgaXMgZmFsc2U6IG91dHB1dCB0aGUgZG9jdW1lbnRhdGlvbiAtLT4KKyAgICAgICAgICAg
IDwhLS0kbm9kZXNjIGlzIGZhbHNlOiBvdXRwdXQgdGhlIGRvY3VtZW50YXRpb24tLT4KICAgICAg
ICAgICAgIDxsaSBjbGFzcz0icGFyYW0iPgogICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Yg
c2VsZWN0PSJAbmFtZSIvPjoKICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBz
ZWxlY3Q9ImRlc2NyaXB0aXZlIi8+CkBAIC01ODYsOCArNTg2LDggQEAgWFNMVCBzdHlsZXNoZWV0
IHRvIGNvbnZlcnQgd2lkbHByb2N4bWwgaW50byBodG1sIGRvY3VtZW50YXRpb24uCiAgICAgPC94
c2w6Y2hvb3NlPgogPC94c2w6dGVtcGxhdGU+CiAKLTwhLS0gUmFpc2VzIChmb3IgYW4gT3BlcmF0
aW9uKS4gSXQgaXMgYWxyZWFkeSBrbm93biB0aGF0IHRoZSBsaXN0Ci0gICAgaXMgbm90IGVtcHR5
LiAtLT4KKzwhLS1SYWlzZXMgKGZvciBhbiBPcGVyYXRpb24pLiBJdCBpcyBhbHJlYWR5IGtub3du
IHRoYXQgdGhlIGxpc3QKKyAgICBpcyBub3QgZW1wdHkuLS0+CiA8eHNsOnRlbXBsYXRlIG1hdGNo
PSJSYWlzZXMiPgogICAgIDxkaXYgY2xhc3M9ImV4Y2VwdGlvbmxpc3QiPgogICAgICAgICA8aDU+
RXhjZXB0aW9uczwvaDU+CkBAIC01OTcsNyArNTk3LDcgQEAgWFNMVCBzdHlsZXNoZWV0IHRvIGNv
bnZlcnQgd2lkbHByb2N4bWwgaW50byBodG1sIGRvY3VtZW50YXRpb24uCiAgICAgPC9kaXY+CiA8
L3hzbDp0ZW1wbGF0ZT4KIAotPCEtLSBSYWlzZUV4Y2VwdGlvbiwgdGhlIG5hbWUgb2YgYW4gZXhj
ZXB0aW9uIGluIGEgUmFpc2VzLiAtLT4KKzwhLS1SYWlzZUV4Y2VwdGlvbiwgdGhlIG5hbWUgb2Yg
YW4gZXhjZXB0aW9uIGluIGEgUmFpc2VzLi0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iUmFpc2VF
eGNlcHRpb24iPgogICAgIDxsaSBjbGFzcz0iZXhjZXB0aW9uIj4KICAgICAgICAgPHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+OgpAQCAtNjA1LDcgKzYwNSw3IEBAIFhTTFQgc3R5bGVzaGVl
dCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGludG8gaHRtbCBkb2N1bWVudGF0aW9uLgogICAgIDwv
bGk+CiA8L3hzbDp0ZW1wbGF0ZT4KIAotPCEtLSBUeXBlLiAtLT4KKzwhLS1UeXBlLi0tPgogPHhz
bDp0ZW1wbGF0ZSBtYXRjaD0iVHlwZSI+CiAgICAgPHhzbDpjaG9vc2U+CiAgICAgICAgIDx4c2w6
d2hlbiB0ZXN0PSJUeXBlIj4KQEAgLTYyMyw3ICs2MjMsNyBAQCBYU0xUIHN0eWxlc2hlZXQgdG8g
Y29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlvbi4KICAgICA8L3hzbDpj
aG9vc2U+CiA8L3hzbDp0ZW1wbGF0ZT4KIAotPCEtLSBFbnVtLiAtLT4KKzwhLS1FbnVtLi0tPgog
PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iRW51bVtkZXNjcmlwdGl2ZV0iPgogICAgIDx4c2w6dmFyaWFi
bGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgogICAgIDxkaXYgY2xhc3M9ImVudW0iIGlk
PSJ7QGlkfSI+CkBAIC02NDMsNyArNjQzLDcgQEAgWFNMVCBzdHlsZXNoZWV0IHRvIGNvbnZlcnQg
d2lkbHByb2N4bWwgaW50byBodG1sIGRvY3VtZW50YXRpb24uCiA8eHNsOnRlbXBsYXRlIG1hdGNo
PSJFbnVtW25vdChkZXNjcmlwdGl2ZSldIj4KIDwveHNsOnRlbXBsYXRlPgogCi08IS0tIEVudW1W
YWx1ZSAtLT4KKzwhLS1FbnVtVmFsdWUtLT4KIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkVudW1WYWx1
ZSI+CiAgIDxkdCBjbGFzcz0iZW51bXZhbHVlIiBpZD0ie0BpZH0iPgogICAgIDxjb2RlPgpAQCAt
NjY0LDcgKzY2NCw3IEBAIFhTTFQgc3R5bGVzaGVldCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGlu
dG8gaHRtbCBkb2N1bWVudGF0aW9uLgogICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImRl
c2NyaXB0aW9uIi8+CiA8L3hzbDp0ZW1wbGF0ZT4KIAotPCEtLSBicmllZiAtLT4KKzwhLS1icmll
Zi0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYnJpZWYiPgogICAgIDxkaXYgY2xhc3M9ImJyaWVm
Ij4KICAgICAgICAgPHA+CkBAIC02NzMsMTAgKzY3MywxMCBAQCBYU0xUIHN0eWxlc2hlZXQgdG8g
Y29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlvbi4KICAgICA8L2Rpdj4K
IDwveHNsOnRlbXBsYXRlPgogCi08IS0tIGRlc2NyaXB0aW9uIGluIFJldHVyblR5cGUgb3IgQXJn
dW1lbnQgb3IgU2NvcGVkTmFtZSAtLT4KKzwhLS1kZXNjcmlwdGlvbiBpbiBSZXR1cm5UeXBlIG9y
IEFyZ3VtZW50IG9yIFNjb3BlZE5hbWUtLT4KIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IlR5cGUvZGVz
Y3JpcHRpdmUvZGVzY3JpcHRpb258QXJndW1lbnQvZGVzY3JpcHRpdmUvZGVzY3JpcHRpb258TmFt
ZS9kZXNjcmlwdGl2ZS9kZXNjcmlwdGlvbiI+Ci0gICAgPCEtLSBJZiB0aGUgZGVzY3JpcHRpb24g
Y29udGFpbnMganVzdCBhIHNpbmdsZSA8cD4gdGhlbiB3ZSBvbWl0Ci0gICAgICAgIHRoZSA8cD4g
YW5kIGp1c3QgZG8gaXRzIGNvbnRlbnRzLiAtLT4KKyAgICA8IS0tSWYgdGhlIGRlc2NyaXB0aW9u
IGNvbnRhaW5zIGp1c3QgYSBzaW5nbGUgPHA+IHRoZW4gd2Ugb21pdAorICAgICAgICB0aGUgPHA+
IGFuZCBqdXN0IGRvIGl0cyBjb250ZW50cy4tLT4KICAgICA8eHNsOmNob29zZT4KICAgICAgICAg
PHhzbDp3aGVuIHRlc3Q9InAgYW5kIGNvdW50KCopID0gMSI+CiAgICAgICAgICAgICA8eHNsOmFw
cGx5LXRlbXBsYXRlcyBzZWxlY3Q9InAvKnxwL3RleHQoKSIvPgpAQCAtNjg5LDE0ICs2ODksMTQg
QEAgWFNMVCBzdHlsZXNoZWV0IHRvIGNvbnZlcnQgd2lkbHByb2N4bWwgaW50byBodG1sIGRvY3Vt
ZW50YXRpb24uCiAgICAgPC94c2w6Y2hvb3NlPgogPC94c2w6dGVtcGxhdGU+CiAKLTwhLS0gT3Ro
ZXIgZGVzY3JpcHRpb24gLS0+Cis8IS0tT3RoZXIgZGVzY3JpcHRpb24tLT4KIDx4c2w6dGVtcGxh
dGUgbWF0Y2g9ImRlc2NyaXB0aW9uIj4KICAgICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAg
ICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KICAgICA8L2Rpdj4KIDwveHNsOnRlbXBsYXRl
PgogCi08IS0tIENvZGUgLS0+Cis8IS0tQ29kZS0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQ29k
ZSI+CiAgICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+CiAgICAgCTx4c2w6Y2hvb3NlPgpAQCAtNzEx
LDE4ICs3MTEsMTggQEAgWFNMVCBzdHlsZXNoZWV0IHRvIGNvbnZlcnQgd2lkbHByb2N4bWwgaW50
byBodG1sIGRvY3VtZW50YXRpb24uCiAgICAgPC9kaXY+CiA8L3hzbDp0ZW1wbGF0ZT4KIAotPCEt
LSB3ZWJpZGwgOiBsaXRlcmFsIFdlYiBJREwgZnJvbSBpbnB1dCAtLT4KKzwhLS13ZWJpZGwgOiBs
aXRlcmFsIFdlYiBJREwgZnJvbSBpbnB1dC0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0id2ViaWRs
Ij4KICAgICA8aDU+V2ViSURMPC9oNT4KICAgICA8cHJlIGNsYXNzPSJ3ZWJpZGwiPjx4c2w6YXBw
bHktdGVtcGxhdGVzLz48L3ByZT4KIDwveHNsOnRlbXBsYXRlPgogCi08IS0tIGF1dGhvciAtLT4K
KzwhLS1hdXRob3ItLT4KIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImF1dGhvciI+CiAgICAgPGxpIGNs
YXNzPSJhdXRob3IiPjx4c2w6YXBwbHktdGVtcGxhdGVzLz48L2xpPgogPC94c2w6dGVtcGxhdGU+
CiAKLTwhLS0gdmVyc2lvbiAtLT4KKzwhLS12ZXJzaW9uLS0+CiA8eHNsOnRlbXBsYXRlIG1hdGNo
PSJ2ZXJzaW9uIj4KICAgICA8ZGl2IGNsYXNzPSJ2ZXJzaW9uIj4KICAgICAgICAgPGgyPgpAQCAt
NzMxLDcgKzczMSw3IEBAIFhTTFQgc3R5bGVzaGVldCB0byBjb252ZXJ0IHdpZGxwcm9jeG1sIGlu
dG8gaHRtbCBkb2N1bWVudGF0aW9uLgogICAgIDwvZGl2PgogPC94c2w6dGVtcGxhdGU+CiAKLTwh
LS0gYXBpLWZlYXR1cmUgLS0+Cis8IS0tYXBpLWZlYXR1cmUtLT4KIDx4c2w6dGVtcGxhdGUgbWF0
Y2g9ImFwaS1mZWF0dXJlIj4KICAgICA8ZHQ+CiAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0
PSJAaWRlbnRpZmllciIvPgpAQCAtNzQxLDcgKzc0MSw3IEBAIFhTTFQgc3R5bGVzaGVldCB0byBj
b252ZXJ0IHdpZGxwcm9jeG1sIGludG8gaHRtbCBkb2N1bWVudGF0aW9uLgogICAgIDwvZGQ+CiA8
L3hzbDp0ZW1wbGF0ZT4KIAotPCEtLSBwYXJhbSAtLT4KKzwhLS1wYXJhbS0tPgogPHhzbDp0ZW1w
bGF0ZSBtYXRjaD0icGFyYW0iPgogICAgIDxsaT4KICAgICAgICAgPGNvZGU+PHhzbDp2YWx1ZS1v
ZiBzZWxlY3Q9IkBpZGVudGlmaWVyIi8+PC9jb2RlPjoKQEAgLTc0OSw5ICs3NDksOSBAQCBYU0xU
IHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwgZG9jdW1lbnRhdGlv
bi4KICAgICA8L2xpPgogPC94c2w6dGVtcGxhdGU+CiAKLTwhLS0gZGVmLWluc3RhbnRpYXRlZC4K
KzwhLS1kZWYtaW5zdGFudGlhdGVkLgogICAgIFRoaXMgYXNzdW1lcyB0aGF0IG9ubHkgb25lIGlu
dGVyZmFjZSBpbiB0aGUgbW9kdWxlIGhhcyBhIGRlZi1pbnN0YW50aWF0ZWQsCi0gICAgYW5kIHRo
YXQgaW50ZXJmYWNlIGNvbnRhaW5zIGp1c3Qgb25lIGF0dHJpYnV0ZS4gLS0+CisgICAgYW5kIHRo
YXQgaW50ZXJmYWNlIGNvbnRhaW5zIGp1c3Qgb25lIGF0dHJpYnV0ZS4tLT4KIDx4c2w6dGVtcGxh
dGUgbWF0Y2g9ImRlZi1pbnN0YW50aWF0ZWQiPgogICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iaWZh
Y2VuYW1lIiBzZWxlY3Q9Ii4uLy4uL0BuYW1lIi8+CiAgICAgPHA+CkBAIC03ODIsNyArNzgyLDcg
QEAgWFNMVCBzdHlsZXNoZWV0IHRvIGNvbnZlcnQgd2lkbHByb2N4bWwgaW50byBodG1sIGRvY3Vt
ZW50YXRpb24uCiAKIAogCi08IS0tIGh0bWwgZWxlbWVudHMgLS0+Cis8IS0taHRtbCBlbGVtZW50
cy0tPgogPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYXxifGJyfGRkfGRsfGR0fGVtfGxpfHB8dGFibGV8
dGR8dGh8dHJ8dWwiPgogICAgIDx4c2w6ZWxlbWVudCBuYW1lPSJ7bmFtZSgpfSI+PHhzbDpmb3It
ZWFjaCBzZWxlY3Q9IkAqIj48eHNsOmF0dHJpYnV0ZSBuYW1lPSJ7bmFtZSgpfSI+PHhzbDp2YWx1
ZS1vZiBzZWxlY3Q9Ii4iLz48L3hzbDphdHRyaWJ1dGU+PC94c2w6Zm9yLWVhY2g+PHhzbDphcHBs
eS10ZW1wbGF0ZXMvPjwveHNsOmVsZW1lbnQ+CiA8L3hzbDp0ZW1wbGF0ZT4KQEAgLTgxNyw3ICs4
MTcsNyBAQCBYU0xUIHN0eWxlc2hlZXQgdG8gY29udmVydCB3aWRscHJvY3htbCBpbnRvIGh0bWwg
ZG9jdW1lbnRhdGlvbi4KICAgPC90YWJsZT4KIDwveHNsOnRlbXBsYXRlPgogCi08IS0tIDxyZWY+
IGVsZW1lbnQgaW4gbGl0ZXJhbCBXZWIgSURMLiAtLT4KKzwhLS08cmVmPiBlbGVtZW50IGluIGxp
dGVyYWwgV2ViIElETC4tLT4KIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InJlZltAcmVmXSI+CiAgICAg
PGEgaHJlZj0ie0ByZWZ9Ij4KICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91cmwvaW50
ZXJmYWNlcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy91cmwvaW50ZXJmYWNlcy5hbnktZXhwZWN0ZWQudHh0CmluZGV4IGRiNDQ5
MDQzMzgzZWNhNzUzZTIxZTc5NTg0ODMzYTY2MTcwODhiMTAuLjY4NWQ5ODZiNzc2NWM5YmE4NzVj
ZmU5YTMwMDA1NTVlMWFhMDE5NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdXJsL2ludGVyZmFjZXMuYW55LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VybC9pbnRlcmZh
Y2VzLmFueS1leHBlY3RlZC50eHQKQEAgLTEsMjcgKzEsNzUgQEAKIAotSGFybmVzcyBFcnJvciAo
RkFJTCksIG1lc3NhZ2UgPSBVbnRlcm1pbmF0ZWQgZ2VuZXJpYyB0eXBlIHJlY29yZCwgbGluZSAy
MCAodG9rZW5zOiAnLCBVU1ZTdHJpbmc+ICcpCi1bCi0gICAgewotICAgICAgICAidHlwZSI6ICJv
dGhlciIsCi0gICAgICAgICJ2YWx1ZSI6ICIsIgotICAgIH0sCi0gICAgewotICAgICAgICAidHlw
ZSI6ICJ3aGl0ZXNwYWNlIiwKLSAgICAgICAgInZhbHVlIjogIiAiCi0gICAgfSwKLSAgICB7Ci0g
ICAgICAgICJ0eXBlIjogImlkZW50aWZpZXIiLAotICAgICAgICAidmFsdWUiOiAiVVNWU3RyaW5n
IgotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJvdGhlciIsCi0gICAgICAgICJ2YWx1
ZSI6ICI+IgotICAgIH0sCi0gICAgewotICAgICAgICAidHlwZSI6ICJ3aGl0ZXNwYWNlIiwKLSAg
ICAgICAgInZhbHVlIjogIiAiCi0gICAgfQotXQotCi1QQVNTIFVudGl0bGVkIAorUEFTUyBVUkwg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
K1BBU1MgVVJMIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBVUkwgaW50ZXJmYWNlIG9i
amVjdCBuYW1lIAorUEFTUyBVUkwgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIFVSTCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIFVSTCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBocmVmIAor
UEFTUyBVUkwgaW50ZXJmYWNlOiBzdHJpbmdpZmllciAKK1BBU1MgVVJMIGludGVyZmFjZTogYXR0
cmlidXRlIG9yaWdpbiAKK1BBU1MgVVJMIGludGVyZmFjZTogYXR0cmlidXRlIHByb3RvY29sIAor
UEFTUyBVUkwgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdXNlcm5hbWUgCitQQVNTIFVSTCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBwYXNzd29yZCAKK1BBU1MgVVJMIGludGVyZmFjZTogYXR0cmlidXRlIGhv
c3QgCitQQVNTIFVSTCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBob3N0bmFtZSAKK1BBU1MgVVJMIGlu
dGVyZmFjZTogYXR0cmlidXRlIHBvcnQgCitQQVNTIFVSTCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBw
YXRobmFtZSAKK1BBU1MgVVJMIGludGVyZmFjZTogYXR0cmlidXRlIHNlYXJjaCAKK1BBU1MgVVJM
IGludGVyZmFjZTogYXR0cmlidXRlIHNlYXJjaFBhcmFtcyAKK1BBU1MgVVJMIGludGVyZmFjZTog
YXR0cmlidXRlIGhhc2ggCitQQVNTIFVSTCBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0b0pTT04oKSAK
K1BBU1MgVVJMIGludGVyZmFjZTogbmV3IFVSTCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiaHJlZiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDApIAorUEFTUyBVUkwgaW50ZXJm
YWNlOiBuZXcgVVJMKCJodHRwOi8vZm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvcmlnaW4i
IHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAKK1BBU1MgVVJMIGludGVyZmFjZTogbmV3IFVSTCgi
aHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicHJvdG9jb2wiIHdpdGggdGhlIHBy
b3BlciB0eXBlICgyKSAKK1BBU1MgVVJMIGludGVyZmFjZTogbmV3IFVSTCgiaHR0cDovL2ZvbyIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXNlcm5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBlICgz
KSAKK1BBU1MgVVJMIGludGVyZmFjZTogbmV3IFVSTCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAicGFzc3dvcmQiIHdpdGggdGhlIHByb3BlciB0eXBlICg0KSAKK1BBU1MgVVJM
IGludGVyZmFjZTogbmV3IFVSTCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
aG9zdCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDUpIAorUEFTUyBVUkwgaW50ZXJmYWNlOiBuZXcg
VVJMKCJodHRwOi8vZm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJob3N0bmFtZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgKDYpIAorUEFTUyBVUkwgaW50ZXJmYWNlOiBuZXcgVVJMKCJodHRwOi8v
Zm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwb3J0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAo
NykgCitQQVNTIFVSTCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9mb28iKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInBhdGhuYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoOCkgCitQQVNTIFVS
TCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9mb28iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
InNlYXJjaCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDkpIAorUEFTUyBVUkwgaW50ZXJmYWNlOiBu
ZXcgVVJMKCJodHRwOi8vZm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzZWFyY2hQYXJhbXMi
IHdpdGggdGhlIHByb3BlciB0eXBlICgxMCkgCitQQVNTIFVSTCBpbnRlcmZhY2U6IG5ldyBVUkwo
Imh0dHA6Ly9mb28iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImhhc2giIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgxMSkgCitQQVNTIFVSTCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9mb28iKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgInRvSlNPTiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEyKSAK
K1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZSBvYmplY3QgbmFtZSAK
K1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50
ZXJmYWNlOiBvcGVyYXRpb24gYXBwZW5kKFVTVlN0cmluZyxVU1ZTdHJpbmcpIAorUEFTUyBVUkxT
ZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlKFVTVlN0cmluZykgCitQQVNT
IFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXQoVVNWU3RyaW5nKSAKK1BB
U1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbChVU1ZTdHJpbmcp
IAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gaGFzKFVTVlN0cmlu
ZykgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXQoVVNWU3Ry
aW5nLFVTVlN0cmluZykgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IG9wZXJhdGlv
biBzb3J0KCkgCitGQUlMIFRlc3RpbmcgU3ltYm9sLml0ZXJhdG9yIHByb3BlcnR5IG9mIGl0ZXJh
YmxlIGludGVyZmFjZSBVUkxTZWFyY2hQYXJhbXMgYXNzZXJ0X2VxdWFsczogQEBpdGVyYXRvciBm
dW5jdGlvbiBkb2VzIG5vdCBoYXZlIHRoZSByaWdodCBuYW1lIGV4cGVjdGVkICJlbnRyaWVzIiBi
dXQgZ290ICJbU3ltYm9sLkl0ZXJhdG9yXSIKK0ZBSUwgVGVzdGluZyBwYWlyIGl0ZXJhYmxlIGlu
dGVyZmFjZSBVUkxTZWFyY2hQYXJhbXMgYXNzZXJ0X2VxdWFsczogZW50cmllcyBtZXRob2QgaXMg
bm90IHRoZSBzYW1lIGFzIEBAaXRlcmF0b3IgZXhwZWN0ZWQgZnVuY3Rpb24gImZ1bmN0aW9uIGVu
dHJpZXMoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rp
b24gW1N5bWJvbC5JdGVyYXRvcl0oKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKK1BBU1MgVVJM
U2VhcmNoUGFyYW1zIGludGVyZmFjZTogc3RyaW5naWZpZXIgCitQQVNTIFVSTFNlYXJjaFBhcmFt
cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBlbnRyaWVzKCkgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBrZXlzKCkgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiB2YWx1ZXMoKSAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTog
b3BlcmF0aW9uIGZvckVhY2goZnVuY3Rpb24sYW55KSAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGlu
dGVyZmFjZTogbmV3IFVSTFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91IikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJhcHBlbmQiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKK1BBU1Mg
VVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogY2FsbGluZyBhcHBlbmQoVVNWU3RyaW5nLFVTVlN0
cmluZykgb24gbmV3IFVSTFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91Iikgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgVVJMU2VhcmNoUGFy
YW1zIGludGVyZmFjZTogbmV3IFVSTFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91Iikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWxldGUiIHdpdGggdGhlIHByb3BlciB0eXBlICgxKSAK
K1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogY2FsbGluZyBkZWxldGUoVVNWU3RyaW5n
KSBvbiBuZXcgVVJMU2VhcmNoUGFyYW1zKCJoaT10aGVyZSZ0aGFuaz15b3UiKSB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBVUkxTZWFyY2hQYXJhbXMg
aW50ZXJmYWNlOiBuZXcgVVJMU2VhcmNoUGFyYW1zKCJoaT10aGVyZSZ0aGFuaz15b3UiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImdldCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDIpIAorUEFTUyBV
UkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBjYWxsaW5nIGdldChVU1ZTdHJpbmcpIG9uIG5ldyBV
UkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIpIHdpdGggdG9vIGZldyBhcmd1bWVu
dHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6
IG5ldyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiZ2V0QWxsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMykgCitQQVNTIFVSTFNlYXJj
aFBhcmFtcyBpbnRlcmZhY2U6IGNhbGxpbmcgZ2V0QWxsKFVTVlN0cmluZykgb24gbmV3IFVSTFNl
YXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91Iikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogbmV3
IFVSTFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91IikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJoYXMiIHdpdGggdGhlIHByb3BlciB0eXBlICg0KSAKK1BBU1MgVVJMU2VhcmNoUGFyYW1z
IGludGVyZmFjZTogY2FsbGluZyBoYXMoVVNWU3RyaW5nKSBvbiBuZXcgVVJMU2VhcmNoUGFyYW1z
KCJoaT10aGVyZSZ0aGFuaz15b3UiKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cg
VHlwZUVycm9yIAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBuZXcgVVJMU2VhcmNo
UGFyYW1zKCJoaT10aGVyZSZ0aGFuaz15b3UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNldCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgKDUpIAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNl
OiBjYWxsaW5nIHNldChVU1ZTdHJpbmcsVVNWU3RyaW5nKSBvbiBuZXcgVVJMU2VhcmNoUGFyYW1z
KCJoaT10aGVyZSZ0aGFuaz15b3UiKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cg
VHlwZUVycm9yIAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBuZXcgVVJMU2VhcmNo
UGFyYW1zKCJoaT10aGVyZSZ0aGFuaz15b3UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNvcnQi
IHdpdGggdGhlIHByb3BlciB0eXBlICg2KSAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFj
ZTogbmV3IFVSTFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91IikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJlbnRyaWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoOSkgCitQQVNTIFVSTFNl
YXJjaFBhcmFtcyBpbnRlcmZhY2U6IG5ldyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5r
PXlvdSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAia2V5cyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
KDEwKSAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogbmV3IFVSTFNlYXJjaFBhcmFt
cygiaGk9dGhlcmUmdGhhbms9eW91IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ2YWx1ZXMiIHdp
dGggdGhlIHByb3BlciB0eXBlICgxMSkgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6
IG5ldyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiZm9yRWFjaCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDEyKSAKK1BBU1MgVVJMU2Vh
cmNoUGFyYW1zIGludGVyZmFjZTogY2FsbGluZyBmb3JFYWNoKGZ1bmN0aW9uLGFueSkgb24gbmV3
IFVSTFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91Iikgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy91cmwvaW50ZXJmYWNlcy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dXJsL2ludGVyZmFjZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZGI0NDkwNDMzODNl
Y2E3NTNlMjFlNzk1ODQ4MzNhNjYxNzA4OGIxMC4uNjg1ZDk4NmI3NzY1YzliYTg3NWNmZTlhMzAw
MDU1NWUxYWEwMTk1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy91cmwvaW50ZXJmYWNlcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3VybC9pbnRlcmZh
Y2VzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDI3ICsxLDc1IEBACiAKLUhhcm5lc3Mg
RXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVW50ZXJtaW5hdGVkIGdlbmVyaWMgdHlwZSByZWNvcmQs
IGxpbmUgMjAgKHRva2VuczogJywgVVNWU3RyaW5nPiAnKQotWwotICAgIHsKLSAgICAgICAgInR5
cGUiOiAib3RoZXIiLAotICAgICAgICAidmFsdWUiOiAiLCIKLSAgICB9LAotICAgIHsKLSAgICAg
ICAgInR5cGUiOiAid2hpdGVzcGFjZSIsCi0gICAgICAgICJ2YWx1ZSI6ICIgIgotICAgIH0sCi0g
ICAgewotICAgICAgICAidHlwZSI6ICJpZGVudGlmaWVyIiwKLSAgICAgICAgInZhbHVlIjogIlVT
VlN0cmluZyIKLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAib3RoZXIiLAotICAgICAg
ICAidmFsdWUiOiAiPiIKLSAgICB9LAotICAgIHsKLSAgICAgICAgInR5cGUiOiAid2hpdGVzcGFj
ZSIsCi0gICAgICAgICJ2YWx1ZSI6ICIgIgotICAgIH0KLV0KLQotUEFTUyBVbnRpdGxlZCAKK1BB
U1MgVVJMIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgCitQQVNTIFVSTCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgVVJMIGludGVy
ZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgVVJMIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBVUkwgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBVUkwgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
aHJlZiAKK1BBU1MgVVJMIGludGVyZmFjZTogc3RyaW5naWZpZXIgCitQQVNTIFVSTCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvcmlnaW4gCitQQVNTIFVSTCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwcm90
b2NvbCAKK1BBU1MgVVJMIGludGVyZmFjZTogYXR0cmlidXRlIHVzZXJuYW1lIAorUEFTUyBVUkwg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGFzc3dvcmQgCitQQVNTIFVSTCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBob3N0IAorUEFTUyBVUkwgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaG9zdG5hbWUgCitQQVNT
IFVSTCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwb3J0IAorUEFTUyBVUkwgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgcGF0aG5hbWUgCitQQVNTIFVSTCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzZWFyY2ggCitQ
QVNTIFVSTCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzZWFyY2hQYXJhbXMgCitQQVNTIFVSTCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBoYXNoIAorUEFTUyBVUkwgaW50ZXJmYWNlOiBvcGVyYXRpb24gdG9K
U09OKCkgCitQQVNTIFVSTCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9mb28iKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImhyZWYiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKK1BBU1MgVVJM
IGludGVyZmFjZTogbmV3IFVSTCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b3JpZ2luIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgCitQQVNTIFVSTCBpbnRlcmZhY2U6IG5l
dyBVUkwoImh0dHA6Ly9mb28iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInByb3RvY29sIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAoMikgCitQQVNTIFVSTCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6
Ly9mb28iKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVzZXJuYW1lIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAoMykgCitQQVNTIFVSTCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9mb28iKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgInBhc3N3b3JkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoNCkgCitQ
QVNTIFVSTCBpbnRlcmZhY2U6IG5ldyBVUkwoImh0dHA6Ly9mb28iKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImhvc3QiIHdpdGggdGhlIHByb3BlciB0eXBlICg1KSAKK1BBU1MgVVJMIGludGVyZmFj
ZTogbmV3IFVSTCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaG9zdG5hbWUi
IHdpdGggdGhlIHByb3BlciB0eXBlICg2KSAKK1BBU1MgVVJMIGludGVyZmFjZTogbmV3IFVSTCgi
aHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicG9ydCIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgKDcpIAorUEFTUyBVUkwgaW50ZXJmYWNlOiBuZXcgVVJMKCJodHRwOi8vZm9vIikgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJwYXRobmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDgpIAor
UEFTUyBVUkwgaW50ZXJmYWNlOiBuZXcgVVJMKCJodHRwOi8vZm9vIikgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJzZWFyY2giIHdpdGggdGhlIHByb3BlciB0eXBlICg5KSAKK1BBU1MgVVJMIGludGVy
ZmFjZTogbmV3IFVSTCgiaHR0cDovL2ZvbyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2VhcmNo
UGFyYW1zIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTApIAorUEFTUyBVUkwgaW50ZXJmYWNlOiBu
ZXcgVVJMKCJodHRwOi8vZm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJoYXNoIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAoMTEpIAorUEFTUyBVUkwgaW50ZXJmYWNlOiBuZXcgVVJMKCJodHRwOi8v
Zm9vIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ0b0pTT04iIHdpdGggdGhlIHByb3BlciB0eXBl
ICgxMikgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2Ugb2JqZWN0
IG5hbWUgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgVVJMU2VhcmNoUGFy
YW1zIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgVVJMU2VhcmNoUGFy
YW1zIGludGVyZmFjZTogb3BlcmF0aW9uIGFwcGVuZChVU1ZTdHJpbmcsVVNWU3RyaW5nKSAKK1BB
U1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZShVU1ZTdHJpbmcp
IAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0KFVTVlN0cmlu
ZykgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRBbGwoVVNW
U3RyaW5nKSAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogb3BlcmF0aW9uIGhhcyhV
U1ZTdHJpbmcpIAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0
KFVTVlN0cmluZyxVU1ZTdHJpbmcpIAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBv
cGVyYXRpb24gc29ydCgpIAorRkFJTCBUZXN0aW5nIFN5bWJvbC5pdGVyYXRvciBwcm9wZXJ0eSBv
ZiBpdGVyYWJsZSBpbnRlcmZhY2UgVVJMU2VhcmNoUGFyYW1zIGFzc2VydF9lcXVhbHM6IEBAaXRl
cmF0b3IgZnVuY3Rpb24gZG9lcyBub3QgaGF2ZSB0aGUgcmlnaHQgbmFtZSBleHBlY3RlZCAiZW50
cmllcyIgYnV0IGdvdCAiW1N5bWJvbC5JdGVyYXRvcl0iCitGQUlMIFRlc3RpbmcgcGFpciBpdGVy
YWJsZSBpbnRlcmZhY2UgVVJMU2VhcmNoUGFyYW1zIGFzc2VydF9lcXVhbHM6IGVudHJpZXMgbWV0
aG9kIGlzIG5vdCB0aGUgc2FtZSBhcyBAQGl0ZXJhdG9yIGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5j
dGlvbiBlbnRyaWVzKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rpb24g
ImZ1bmN0aW9uIFtTeW1ib2wuSXRlcmF0b3JdKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCitQ
QVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IHN0cmluZ2lmaWVyIAorUEFTUyBVUkxTZWFy
Y2hQYXJhbXMgaW50ZXJmYWNlOiBvcGVyYXRpb24gZW50cmllcygpIAorUEFTUyBVUkxTZWFyY2hQ
YXJhbXMgaW50ZXJmYWNlOiBvcGVyYXRpb24ga2V5cygpIAorUEFTUyBVUkxTZWFyY2hQYXJhbXMg
aW50ZXJmYWNlOiBvcGVyYXRpb24gdmFsdWVzKCkgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBmb3JFYWNoKGZ1bmN0aW9uLGFueSkgCitQQVNTIFVSTFNlYXJjaFBh
cmFtcyBpbnRlcmZhY2U6IG5ldyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBwZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMCkg
CitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IGNhbGxpbmcgYXBwZW5kKFVTVlN0cmlu
ZyxVU1ZTdHJpbmcpIG9uIG5ldyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIp
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIFVSTFNl
YXJjaFBhcmFtcyBpbnRlcmZhY2U6IG5ldyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5r
PXlvdSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVsZXRlIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMSkgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IGNhbGxpbmcgZGVsZXRlKFVT
VlN0cmluZykgb24gbmV3IFVSTFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91Iikgd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgVVJMU2VhcmNo
UGFyYW1zIGludGVyZmFjZTogbmV3IFVSTFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91
IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJnZXQiIHdpdGggdGhlIHByb3BlciB0eXBlICgyKSAK
K1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogY2FsbGluZyBnZXQoVVNWU3RyaW5nKSBv
biBuZXcgVVJMU2VhcmNoUGFyYW1zKCJoaT10aGVyZSZ0aGFuaz15b3UiKSB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50
ZXJmYWNlOiBuZXcgVVJMU2VhcmNoUGFyYW1zKCJoaT10aGVyZSZ0aGFuaz15b3UiKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImdldEFsbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDMpIAorUEFTUyBV
UkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBjYWxsaW5nIGdldEFsbChVU1ZTdHJpbmcpIG9uIG5l
dyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIpIHdpdGggdG9vIGZldyBhcmd1
bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZh
Y2U6IG5ldyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiaGFzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoNCkgCitQQVNTIFVSTFNlYXJj
aFBhcmFtcyBpbnRlcmZhY2U6IGNhbGxpbmcgaGFzKFVTVlN0cmluZykgb24gbmV3IFVSTFNlYXJj
aFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91Iikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0
IHRocm93IFR5cGVFcnJvciAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogbmV3IFVS
TFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91IikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJzZXQiIHdpdGggdGhlIHByb3BlciB0eXBlICg1KSAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGlu
dGVyZmFjZTogY2FsbGluZyBzZXQoVVNWU3RyaW5nLFVTVlN0cmluZykgb24gbmV3IFVSTFNlYXJj
aFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91Iikgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0
IHRocm93IFR5cGVFcnJvciAKK1BBU1MgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZTogbmV3IFVS
TFNlYXJjaFBhcmFtcygiaGk9dGhlcmUmdGhhbms9eW91IikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJzb3J0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoNikgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBp
bnRlcmZhY2U6IG5ldyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiZW50cmllcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgKDkpIAorUEFT
UyBVUkxTZWFyY2hQYXJhbXMgaW50ZXJmYWNlOiBuZXcgVVJMU2VhcmNoUGFyYW1zKCJoaT10aGVy
ZSZ0aGFuaz15b3UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImtleXMiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgxMCkgCitQQVNTIFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IG5ldyBVUkxTZWFy
Y2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidmFs
dWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMTEpIAorUEFTUyBVUkxTZWFyY2hQYXJhbXMgaW50
ZXJmYWNlOiBuZXcgVVJMU2VhcmNoUGFyYW1zKCJoaT10aGVyZSZ0aGFuaz15b3UiKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImZvckVhY2giIHdpdGggdGhlIHByb3BlciB0eXBlICgxMikgCitQQVNT
IFVSTFNlYXJjaFBhcmFtcyBpbnRlcmZhY2U6IGNhbGxpbmcgZm9yRWFjaChmdW5jdGlvbixhbnkp
IG9uIG5ldyBVUkxTZWFyY2hQYXJhbXMoImhpPXRoZXJlJnRoYW5rPXlvdSIpIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>