<?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>202179</bug_id>
          
          <creation_ts>2019-09-24 17:04:52 -0700</creation_ts>
          <short_desc>Re-sync web-platform-tests/IndexedDB from upstream</short_desc>
          <delta_ts>2019-09-25 11:09:06 -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>WebCore JavaScript</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>200066</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1573905</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-09-24 17:04:52 -0700</bug_when>
    <thetext>Re-sync web-platform-tests/IndexedDB from upstream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573907</commentid>
    <comment_count>1</comment_count>
      <attachid>379515</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-09-24 17:10:25 -0700</bug_when>
    <thetext>Created attachment 379515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573912</commentid>
    <comment_count>2</comment_count>
      <attachid>379516</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-09-24 17:16:17 -0700</bug_when>
    <thetext>Created attachment 379516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574026</commentid>
    <comment_count>3</comment_count>
      <attachid>379539</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-09-25 06:00:39 -0700</bug_when>
    <thetext>Created attachment 379539
Patch

Skip Service Workers tests for WK1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574082</commentid>
    <comment_count>4</comment_count>
      <attachid>379539</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-25 09:48:02 -0700</bug_when>
    <thetext>Comment on attachment 379539
Patch

Clearing flags on attachment: 379539

Committed r250347: &lt;https://trac.webkit.org/changeset/250347&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574083</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-25 09:48:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574085</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-25 09:49:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/55707808&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379515</attachid>
            <date>2019-09-24 17:10:25 -0700</date>
            <delta_ts>2019-09-24 17:16:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202179-20190925031023.patch</filename>
            <type>text/plain</type>
            <size>216502</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA5LTI0ICBBbGV4ZXkgU2h2YXlrYSAg
PHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBSZS1zeW5jIHdlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMTc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
IGZyb20gdXBzdHJlYW0gYTBmNzgxZTRkNGU5LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiB0ZXN0cy1vcHRpb25zLmpzb246CisKIDIwMTktMDktMjMgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENhbnZh
czogc2hvdyBXZWJHUFUgc2hhZGVyIHBpcGVsaW5lcwpJbmRleDogTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDA2LDcgKzEwMDYsNiBAQCB3ZWJraXQub3JnL2IvMTkxNTA4IGZhc3QvY3Nz
LWdyaWQtbGF5b3V0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nv
cGluZy9jc3Mtc2NvcGluZy1zaGFkb3ctaG9zdC1uYW1lc3BhY2UuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYWJvcnQt
aW4taW5pdGlhbC11cGdyYWRlbmVlZGVkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvY2xvbmUtYmVmb3JlLWtleXBhdGgtZXZh
bC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKICMg
VGhvc2UgV1BUIHRlc3RzIGFyZSBmbGFreSB3aGVuIGZhaWxpbmcuCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRh
LWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9h
bGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KQEAgLTE5
NjIsNyArMTk2MSw3IEBAIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZWRhdGFiYXNlLWRlbGF5ZWQK
IHN0b3JhZ2UvaW5kZXhlZGRiL3Byb3BlcnRpZXMtZGlzYWJsZWQtYXQtcnVudGltZS5odG1sIFsg
RmFpbHVyZSBdCiAKICMgSW4gZGVidWcgYnVpbGRzLCBydW5zIHRvbyBzbG93bHkgZm9yIHRoZSB0
ZXN0IHRpbWVvdXQuCi1bIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRyeS1iaWcuaHRtIFsgRmFpbHVyZSBdCitbIERlYnVn
IF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVs
dGllbnRyeS1iaWcuaHRtIFsgUGFzcyBGYWlsdXJlIF0KIAogIyBUZXN0IGlzIGNyYXNoaW5nCiB3
ZWJraXQub3JnL2IvMTg0MDY1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2tleXBhdGgtZXhjZXB0aW9ucy5odG0gWyBTa2lwIF0KQEAgLTI2NTcsOCArMjY1Niw4IEBA
IHdlYmtpdC5vcmcvYi8xODQ4MDIgaHR0cC90ZXN0cy9zZWN1cml0eS8KIAogd2Via2l0Lm9yZy9i
LzE4MTEwMCBpbnNwZWN0b3Ivd29ya2VyL3dvcmtlci1yZWNvdmVyLWlmLWluc3BlY3Rvci1jbG9z
ZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVybGVhdmVkLWN1cnNvcnMtbGFyZ2UuaHRtbCBbIEZh
aWx1cmUgXQotWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2ludGVybGVhdmVkLWN1cnNvcnMtc21hbGwuaHRtbCBbIEZhaWx1cmUgXQorWyBEZWJ1ZyBd
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVybGVhdmVkLWN1
cnNvcnMtbGFyZ2UuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitbIERlYnVnIF0gaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJsZWF2ZWQtY3Vyc29ycy1zbWFsbC5o
dG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xODY1NzQgbWVkaWEvdmlkZW8tYnVm
ZmVyaW5nLWFsbG93ZWQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKICMjIyBXZWJMIENvbmZvcm1h
bmNlIFN1aXRlIDIuMC4wIHRlc3RzIHRoYXQgZG8gbm90IHlldCBoYXZlIHN1cHBvcnQgYXMgb2Yg
d2Via2l0Lm9yZy9iLzE4OTY4Ni4gRW5hYmxlIGFzIHN1cHBvcnQgaXMgaW1wbGVtZW50ZWQuICMj
IwpJbmRleDogTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0
VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMiArMjMsMTgg
QEAKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0
YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmU4LXBhcmFtZXRlcnMuaHRtIjogWwogICAgICAgICAic2xv
dyIKICAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJpbmRleC1tdWx0aWVudHJ5LWJpZy5odG0iOiBbCisgICAgICAgICJzbG93IgorICAgIF0s
CiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4
LXJlbmFtZS5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAogICAgICJpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1yZW5hbWUtc3Rv
cmUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgxNS1h
dXRvaW5jcmVtZW50Lmh0bSI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRl
SW5kZXgzLXVzYWJsZS1yaWdodC1hd2F5Lmh0bSI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjUwMzI0KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE5LTA5LTI0ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWls
LmNvbT4KKworICAgICAgICBSZS1zeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIgZnJv
bSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAyMTc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCIGZyb20gdXBzdHJlYW0gYTBm
NzgxZTRkNGU5LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi8qOiBV
cGRhdGVkLgorCiAyMDE5LTA5LTI0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+
CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBVbmZsYWtlIHdlYi1hbmltYXRpb25zL3RpbWlu
Zy1tb2RlbC9hbmltYXRpb25zL3VwZGF0aW5nLXRoZS1maW5pc2hlZC1zdGF0ZS5odG1sIFdQVCB0
ZXN0CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9NRVRBLnltbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9NRVRBLnltbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9NRVRB
LnltbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK3NwZWM6IGh0dHBzOi8vdzNjLmdp
dGh1Yi5pby9JbmRleGVkREIvCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIG9kaW5obworICAt
IGluZXhvcmFibGV0YXNoCisgIC0genF6aGFuZwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvT1dORVJTCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL09XTkVS
UwkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvT1dORVJTCShub25leGlzdGVudCkKQEAgLTEsNyArMCwwIEBA
Ci1Ab2RpbmhvCi1AaW5leG9yYWJsZXRhc2gKLUBjaHVueXdhbmcKLUBkdW1ibWF0dGVyCi1AenF6
aGFuZwotQHl1bnhpYW94aWUKLUB6aGFvemloYW8KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXktZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3Qta2V5LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotCi1QQVNTIFJldHVybmluZyBrZXlzIHRvIHNjcmlwdCBz
aG91bGQgYnlwYXNzIHByb3RvdHlwZSBzZXR0ZXJzIAotUEFTUyBSZXR1cm5pbmcgdmFsdWVzIHRv
IHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBzZXR0ZXJzIAotUEFTUyBSZXR1cm5pbmcg
dmFsdWVzIHRvIHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBjaGFpbiAKLQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmlu
ZGluZ3MtaW5qZWN0LWtleS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXkuaHRt
bAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LWtleS5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMTA0ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD11dGYt
OD4KLTx0aXRsZT5JbmRleGVkREI6IEVTIGJpbmRpbmdzIC0gSW5qZWN0IGEga2V5IGludG8gYSB2
YWx1ZTwvdGl0bGU+Ci08bWV0YSBuYW1lPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vSW5kZXhlZERCLyNpbmplY3Qta2V5LWludG8tdmFsdWUiPgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InN1cHBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLQotaW5kZXhlZGRiX3Rlc3QoCi0gICh0LCBkYikgPT4gewot
ICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpOwotICB9LAotICAodCwgZGIpID0+IHsK
LSAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKLSAg
ICBjb25zdCByZXF1ZXN0ID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KAotICAgICAgICAn
dmFsdWUnLCBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgJ2tleSddKTsKLQotICAgIGNv
bnN0IHNldHRlcl9jYWxsZWQgPSBmYWxzZTsKLSAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2Jq
ZWN0LnByb3RvdHlwZSwgJzEwJywgewotICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAg
c2V0OiB0LnN0ZXBfZnVuYygodmFsdWUpID0+IHsgc2V0dGVyX2NhbGxlZCA9IHRydWU7IH0pLAot
ICAgIH0pOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoJ3JlcXVlc3Qg
c2hvdWxkIG5vdCBmYWlsJyk7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYygo
KSA9PiB7Ci0gICAgICBjb25zdCByZXN1bHQgPSByZXF1ZXN0LnJlc3VsdDsKLSAgICAgIGFzc2Vy
dF9mYWxzZShzZXR0ZXJfY2FsbGVkLAotICAgICAgICAgICAgICAgICAgICdTZXR0ZXIgc2hvdWxk
IG5vdCBiZSBjYWxsZWQgZm9yIGtleSByZXN1bHQuJyk7Ci0gICAgICBhc3NlcnRfdHJ1ZSgKLSAg
ICAgICAgICByZXN1bHQuaGFzT3duUHJvcGVydHkoJzEwJyksCi0gICAgICAgICAgJ1Jlc3VsdCBz
aG91bGQgaGF2ZSBvd24tcHJvcGVydHkgb3ZlcnJpZGluZyBwcm90b3R5cGUgc2V0dGVyLicpOwot
ICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbMTBdLCAna2V5JywKLSAgICAgICAgICAgICAgICAg
ICAgJ1Jlc3VsdCBzaG91bGQgaGF2ZSBleHBlY3RlZCBwcm9wZXJ0eS4nKTsKLQotICAgICAgZGVs
ZXRlIE9iamVjdC5wcm90b3R5cGVbJzEwJ107Ci0gICAgICB0LmRvbmUoKTsKLSAgICB9KTsKLSAg
fSwKLSAgJ1JldHVybmluZyBrZXlzIHRvIHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBz
ZXR0ZXJzJwotKTsKLQotaW5kZXhlZGRiX3Rlc3QoCi0gICh0LCBkYikgPT4gewotICAgIGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScsIHthdXRvSW5jcmVtZW50OiB0cnVlLCBrZXlQYXRoOiAn
aWQnfSk7Ci0gIH0sCi0gICh0LCBkYikgPT4gewotICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOwotICAgIHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLnB1
dCh7fSk7Ci0gICAgY29uc3QgcmVxdWVzdCA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLmdldCgx
KTsKLQotICAgIGNvbnN0IHNldHRlcl9jYWxsZWQgPSBmYWxzZTsKLSAgICBPYmplY3QuZGVmaW5l
UHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgJ2lkJywgewotICAgICAgY29uZmlndXJhYmxlOiB0
cnVlLAotICAgICAgc2V0OiB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgeyBzZXR0ZXJfY2Fs
bGVkID0gdHJ1ZTsgfSksCi0gICAgfSk7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdC51bnJlYWNo
ZWRfZnVuYygncmVxdWVzdCBzaG91bGQgbm90IGZhaWwnKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgICAgICBjb25zdCByZXN1bHQgPSByZXF1
ZXN0LnJlc3VsdDsKLSAgICAgIGFzc2VydF9mYWxzZShzZXR0ZXJfY2FsbGVkLAotICAgICAgICAg
ICAgICAgICAgICdTZXR0ZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZm9yIGtleSByZXN1bHQuJyk7
Ci0gICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICByZXN1bHQuaGFzT3duUHJvcGVydHkoJ2lk
JyksCi0gICAgICAgICAgJ1Jlc3VsdCBzaG91bGQgaGF2ZSBvd24tcHJvcGVydHkgb3ZlcnJpZGlu
ZyBwcm90b3R5cGUgc2V0dGVyLicpOwotICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuaWQsIDEs
Ci0gICAgICAgICAgICAgICAgICAgICdPd24gcHJvcGVydHkgc2hvdWxkIG1hdGNoIHByaW1hcnkg
a2V5IGdlbmVyYXRvciB2YWx1ZScpOwotCi0gICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsn
aWQnXTsKLSAgICAgIHQuZG9uZSgpOwotICAgIH0pOwotICB9LAotICAnUmV0dXJuaW5nIHZhbHVl
cyB0byBzY3JpcHQgc2hvdWxkIGJ5cGFzcyBwcm90b3R5cGUgc2V0dGVycycKLSk7Ci0KLWluZGV4
ZWRkYl90ZXN0KAotICAodCwgZGIpID0+IHsKLSAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmUnLCB7YXV0b0luY3JlbWVudDogdHJ1ZSwga2V5UGF0aDogJ2EuYi5jJ30pOwotICB9LAotICAo
dCwgZGIpID0+IHsKLSAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFk
d3JpdGUnKTsKLSAgICB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5wdXQoe30pOwotICAgIGNvbnN0
IHJlcXVlc3QgPSB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5nZXQoMSk7Ci0KLSAgICBPYmplY3Qu
cHJvdG90eXBlLmEgPSB7Yjoge2M6ICdvbiBwcm90byd9fTsKLQotICAgIHJlcXVlc3Qub25lcnJv
ciA9IHQudW5yZWFjaGVkX2Z1bmMoJ3JlcXVlc3Qgc2hvdWxkIG5vdCBmYWlsJyk7Ci0gICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgICAgIGNvbnN0IHJl
c3VsdCA9IHJlcXVlc3QucmVzdWx0OwotICAgICAgYXNzZXJ0X3RydWUocmVzdWx0Lmhhc093blBy
b3BlcnR5KCdhJyksCi0gICAgICAgICAgICAgICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1w
cm9wZXJ0aWVzIG92ZXJyaWRpbmcgcHJvdG90eXBlLicpOwotICAgICAgYXNzZXJ0X3RydWUocmVz
dWx0LmEuaGFzT3duUHJvcGVydHkoJ2InKSwKLSAgICAgICAgICAgICAgICAgICdSZXN1bHQgc2hv
dWxkIGhhdmUgb3duLXByb3BlcnRpZXMgb3ZlcnJpZGluZyBwcm90b3R5cGUuJyk7Ci0gICAgICBh
c3NlcnRfdHJ1ZShyZXN1bHQuYS5iLmhhc093blByb3BlcnR5KCdjJyksCi0gICAgICAgICAgICAg
ICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1wcm9wZXJ0aWVzIG92ZXJyaWRpbmcgcHJvdG90
eXBlLicpOwotICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuYS5iLmMsIDEsCi0gICAgICAgICAg
ICAgICAgICAgICdPd24gcHJvcGVydHkgc2hvdWxkIG1hdGNoIHByaW1hcnkga2V5IGdlbmVyYXRv
ciB2YWx1ZScpOwotICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QucHJvdG90eXBlLmEuYi5jLCAn
b24gcHJvdG8nLAotICAgICAgICAgICAgICAgICAgJ1Byb3RvdHlwZSBzaG91bGQgbm90IGJlIG1v
ZGlmaWVkJyk7Ci0gICAgICB0LmRvbmUoKTsKLSAgICB9KTsKLSAgfSwKLSAgJ1JldHVybmluZyB2
YWx1ZXMgdG8gc2NyaXB0IHNob3VsZCBieXBhc3MgcHJvdG90eXBlIGNoYWluJwotKTsKLQotPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3Qta2V5cy1ieXBhc3Mtc2V0dGVycy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXlzLWJ5cGFzcy1zZXR0ZXJzLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvYmluZGluZ3MtaW5qZWN0LWtleXMtYnlwYXNzLXNldHRlcnMuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTg+Cis8dGl0bGU+SW5kZXhlZERCOiBFUyBiaW5kaW5ncyAtIEluamVjdCBhIGtleSBpbnRvIGEg
dmFsdWUgLSBLZXlzIGJ5cGFzcyBzZXR0ZXJzPC90aXRsZT4KKzxtZXRhIG5hbWU9ImhlbHAiCito
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vSW5kZXhlZERCLyNpbmplY3Qta2V5LWludG8tdmFs
dWUta2V5cy1ieXBhc3Mtc2V0dGVycyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic3VwcG9ydC1wcm9taXNlcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IGRi
ID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodCwgZGIgPT4geworICAgIGRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdzdG9yZScpOworICB9KTsKKworICBsZXQgc2V0dGVyX2NhbGxlZCA9IGZhbHNlOworICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgJzEwJywgeworICAgIGNvbmZp
Z3VyYWJsZTogdHJ1ZSwKKyAgICBzZXQ6IHZhbHVlID0+IHsgc2V0dGVyX2NhbGxlZCA9IHRydWU7
IH0sCisgIH0pOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZGVsZXRlIE9iamVjdC5wcm90b3R5
cGVbJzEwJ107IH0pOworCisgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3Jl
YWR3cml0ZScpOworICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0LCB0
eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5wdXQoCisgICAgICAndmFsdWUnLCBbMCwgMSwgMiwgMywg
NCwgNSwgNiwgNywgOCwgOSwgJ2tleSddKSk7CisKKyAgYXNzZXJ0X2ZhbHNlKHNldHRlcl9jYWxs
ZWQsCisgICAgICAgICAgICAgICAnU2V0dGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIGZvciBrZXkg
cmVzdWx0LicpOworICBhc3NlcnRfdHJ1ZShyZXN1bHQuaGFzT3duUHJvcGVydHkoJzEwJyksCisg
ICAgICAgICAgICAgICdSZXN1bHQgc2hvdWxkIGhhdmUgb3duLXByb3BlcnR5IG92ZXJyaWRpbmcg
cHJvdG90eXBlIHNldHRlci4nKTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbMTBdLCAna2V5JywK
KyAgICAgICAgICAgICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIGV4cGVjdGVkIHByb3BlcnR5Licp
OworfSwgJ1JldHVybmluZyBrZXlzIHRvIHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBz
ZXR0ZXJzJyk7CisKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBhc3Mt
Y2hhaW4uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1jaGFp
bi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlwYXNzLWNoYWlu
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkluZGV4ZWREQjogRVMgYmluZGluZ3MgLSBJbmpl
Y3QgYSBrZXkgaW50byBhIHZhbHVlIC0gVmFsdWVzIGJ5cGFzcyBjaGFpbjwvdGl0bGU+Cis8bWV0
YSBuYW1lPSJoZWxwIgoraHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL0luZGV4ZWREQi8jaW5q
ZWN0LWtleS1pbnRvLXZhbHVlLXZhbHVlcy1ieXBhc3MtY2hhaW4iPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InN1cHBvcnQt
cHJvbWlzZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHQsIGRiID0+IHsKKyAgICBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnLCB7YXV0b0luY3JlbWVudDogdHJ1ZSwga2V5UGF0
aDogJ2EuYi5jJ30pOworICB9KTsKKworICBPYmplY3QucHJvdG90eXBlLmEgPSB7Yjoge2M6ICdv
biBwcm90byd9fTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGRlbGV0ZSBPYmplY3QucHJvdG90
eXBlLmE7IH0pOworCisgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3
cml0ZScpOworICB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5wdXQoe30pOworICBjb25zdCByZXN1
bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0LCB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5n
ZXQoMSkpOworCisgIGFzc2VydF90cnVlKHJlc3VsdC5oYXNPd25Qcm9wZXJ0eSgnYScpLAorICAg
ICAgICAgICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1wcm9wZXJ0aWVzIG92ZXJyaWRpbmcg
cHJvdG90eXBlLicpOworICBhc3NlcnRfdHJ1ZShyZXN1bHQuYS5oYXNPd25Qcm9wZXJ0eSgnYicp
LAorICAgICAgICAgICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1wcm9wZXJ0aWVzIG92ZXJy
aWRpbmcgcHJvdG90eXBlLicpOworICBhc3NlcnRfdHJ1ZShyZXN1bHQuYS5iLmhhc093blByb3Bl
cnR5KCdjJyksCisgICAgICAgICAgICAgICdSZXN1bHQgc2hvdWxkIGhhdmUgb3duLXByb3BlcnRp
ZXMgb3ZlcnJpZGluZyBwcm90b3R5cGUuJyk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0LmEuYi5j
LCAxLAorICAgICAgICAgICAgICAgICdPd24gcHJvcGVydHkgc2hvdWxkIG1hdGNoIHByaW1hcnkg
a2V5IGdlbmVyYXRvciB2YWx1ZScpOworICBhc3NlcnRfZXF1YWxzKE9iamVjdC5wcm90b3R5cGUu
YS5iLmMsICdvbiBwcm90bycsCisgICAgICAgICAgICAgICAgJ1Byb3RvdHlwZSBzaG91bGQgbm90
IGJlIG1vZGlmaWVkJyk7Cit9LCAnUmV0dXJuaW5nIHZhbHVlcyB0byBzY3JpcHQgc2hvdWxkIGJ5
cGFzcyBwcm90b3R5cGUgY2hhaW4nKTsKKworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3Qt
dmFsdWVzLWJ5cGFzcy1zZXR0ZXJzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZh
bHVlcy1ieXBhc3Mtc2V0dGVycy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12
YWx1ZXMtYnlwYXNzLXNldHRlcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM2IEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+SW5kZXhlZERC
OiBFUyBiaW5kaW5ncyAtIEluamVjdCBhIGtleSBpbnRvIGEgdmFsdWUgLSBWYWx1ZXMgYnlwYXNz
CisgIHNldHRlcnM8L3RpdGxlPgorPG1ldGEgbmFtZT0iaGVscCIKK2hyZWY9Imh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9JbmRleGVkREIvI2luamVjdC1rZXktaW50by12YWx1ZS12YWx1ZXMtYnlwYXNz
LXNldHRlcnMiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InN1cHBvcnQtcHJvbWlzZXMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0
ZURhdGFiYXNlKHQsIGRiID0+IHsKKyAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnLCB7
YXV0b0luY3JlbWVudDogdHJ1ZSwga2V5UGF0aDogJ2lkJ30pOworICB9KTsKKworICBsZXQgc2V0
dGVyX2NhbGxlZCA9IGZhbHNlOworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3Rv
dHlwZSwgJ2lkJywgeworICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgICBzZXQ6IHZhbHVlID0+
IHsgc2V0dGVyX2NhbGxlZCA9IHRydWU7IH0sCisgIH0pOworICB0LmFkZF9jbGVhbnVwKCgpID0+
IHsgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbJ2lkJ107IH0pOworCisgIGNvbnN0IHR4ID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOworICB0eC5vYmplY3RTdG9yZSgnc3Rv
cmUnKS5wdXQoe30pOworICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0
LCB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5nZXQoMSkpOworCisgIGFzc2VydF9mYWxzZShzZXR0
ZXJfY2FsbGVkLAorICAgICAgICAgICAgICAgJ1NldHRlciBzaG91bGQgbm90IGJlIGNhbGxlZCBm
b3Iga2V5IHJlc3VsdC4nKTsKKyAgYXNzZXJ0X3RydWUocmVzdWx0Lmhhc093blByb3BlcnR5KCdp
ZCcpLAorICAgICAgICAgICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1wcm9wZXJ0eSBvdmVy
cmlkaW5nIHByb3RvdHlwZSBzZXR0ZXIuJyk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0LmlkLCAx
LAorICAgICAgICAgICAgICAgICdPd24gcHJvcGVydHkgc2hvdWxkIG1hdGNoIHByaW1hcnkga2V5
IGdlbmVyYXRvciB2YWx1ZScpOworfSwgJ1JldHVybmluZyB2YWx1ZXMgdG8gc2NyaXB0IHNob3Vs
ZCBieXBhc3MgcHJvdG90eXBlIHNldHRlcnMnKTsKKworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLWVycm9y
LWV2ZW50LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS1lcnJvci1ldmVu
dC1leGNlcHRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLWVycm9yLWV2
ZW50LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIsNiArMiw4IEBA
CiBQQVNTIEV4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBoYW5kbGVyIG9uIHJlcXVlc3QgCiBQQVNT
IEV4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBoYW5kbGVyIG9uIHJlcXVlc3QsIHdpdGggcHJldmVu
dERlZmF1bHQgCiBQQVNTIEV4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBsaXN0ZW5lciBvbiByZXF1
ZXN0IAorUEFTUyBFeGNlcHRpb24gaW4gZXJyb3IgZXZlbnQgbGlzdGVuZXIgKCJoYW5kbGVFdmVu
dCIgbG9va3VwKSBvbiByZXF1ZXN0IAorRkFJTCBFeGNlcHRpb24gaW4gZXJyb3IgZXZlbnQgbGlz
dGVuZXIgKG5vbi1jYWxsYWJsZSAiaGFuZGxlRXZlbnQiKSBvbiByZXF1ZXN0IGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJBYm9ydEVycm9yIiBidXQgZ290ICJDb25zdHJhaW50RXJyb3IiCiBQQVNT
IEV4Y2VwdGlvbiBpbiBzZWNvbmQgZXJyb3IgZXZlbnQgbGlzdGVuZXIgb24gcmVxdWVzdCAKIFBB
U1MgRXhjZXB0aW9uIGluIGZpcnN0IGVycm9yIGV2ZW50IGxpc3RlbmVyIG9uIHJlcXVlc3QsIHRy
YW5zYWN0aW9uIGFjdGl2ZSBpbiBzZWNvbmQgCiBQQVNTIEV4Y2VwdGlvbiBpbiBlcnJvciBldmVu
dCBoYW5kbGVyIG9uIHRyYW5zYWN0aW9uIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS1lcnJvci1ldmVudC1leGNlcHRpb24u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9maXJlLWVycm9yLWV2ZW50LWV4Y2VwdGlvbi5odG1sCShyZXZpc2lv
biAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9maXJlLWVycm9yLWV2ZW50LWV4Y2VwdGlvbi5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0yMSw2ICsyMSw5IEBAIGZ1bmN0aW9uIGZpcmVfZXJyb3JfZXZlbnRfdGVzdChmdW5jLCBk
ZXMKICAgICAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5hZGQoMCwgMCk7CiAgICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IHQudW5yZWFjaGVkX2Z1bmMoJ3JlcXVlc3Qgc2hvdWxkIGZhaWwnKTsKICAg
ICAgIGZ1bmModCwgZGIsIHR4LCByZXF1ZXN0KTsKKyAgICAgIHR4LmFkZEV2ZW50TGlzdGVuZXIo
J2Fib3J0JywgdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
dHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKKyAgICAgIH0pKTsKICAgICB9LAogICAgIGRl
c2NyaXB0aW9uKTsKIH0KQEAgLTMxLDkgKzM0LDYgQEAgZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0
LCBkYiwgdHgsIHJlcXVlcwogICByZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiB7CiAgICAgdGhyb3cg
RXJyb3IoKTsKICAgfTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewot
ICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CiB9
LCAnRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGhhbmRsZXIgb24gcmVxdWVzdCcpOwogCiBmaXJl
X2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzdCkgPT4gewpAQCAtNDEsMzAgKzQx
LDMzIEBAIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXMKICAgICBlLnBy
ZXZlbnREZWZhdWx0KCk7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfTsKLSAgdHgub25hYm9ydCA9
IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFt
ZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGhh
bmRsZXIgb24gcmVxdWVzdCwgd2l0aCBwcmV2ZW50RGVmYXVsdCcpOwogCiBmaXJlX2Vycm9yX2V2
ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzdCkgPT4gewogICByZXF1ZXN0LmFkZEV2ZW50TGlz
dGVuZXIoJ2Vycm9yJywgKCkgPT4gewogICAgIHRocm93IEVycm9yKCk7CiAgIH0pOwotICB0eC5v
bmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5l
cnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4gZXJyb3Ig
ZXZlbnQgbGlzdGVuZXIgb24gcmVxdWVzdCcpOwogCiBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQs
IGRiLCB0eCwgcmVxdWVzdCkgPT4geworICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9y
JywgeworICAgIGdldCBoYW5kbGVFdmVudCgpIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcigpOwor
ICAgIH0sCisgIH0pOworfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBsaXN0ZW5lciAoImhh
bmRsZUV2ZW50IiBsb29rdXApIG9uIHJlcXVlc3QnKTsKKworZmlyZV9lcnJvcl9ldmVudF90ZXN0
KCh0LCBkYiwgdHgsIHJlcXVlc3QpID0+IHsKKyAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdl
cnJvcicsIHt9KTsKK30sICdFeGNlcHRpb24gaW4gZXJyb3IgZXZlbnQgbGlzdGVuZXIgKG5vbi1j
YWxsYWJsZSAiaGFuZGxlRXZlbnQiKSBvbiByZXF1ZXN0Jyk7CisKK2ZpcmVfZXJyb3JfZXZlbnRf
dGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0KSA9PiB7CiAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5l
cignZXJyb3InLCAoKSA9PiB7CiAgICAgLy8gbm8tb3AKICAgfSk7CiAgIHJlcXVlc3QuYWRkRXZl
bnRMaXN0ZW5lcignZXJyb3InLCAoKSA9PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfSk7Ci0g
IHR4Lm9uYWJvcnQgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxz
KHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBz
ZWNvbmQgZXJyb3IgZXZlbnQgbGlzdGVuZXIgb24gcmVxdWVzdCcpOwogCiBmaXJlX2Vycm9yX2V2
ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzdCkgPT4gewpAQCAtNzcsMTAgKzgwLDkgQEAgZmly
ZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlcwogICAgIGFzc2VydF90cnVlKGlz
X3RyYW5zYWN0aW9uX2FjdGl2ZSh0eCwgJ3MnKSwKICAgICAgICAgICAgICAgICAnVHJhbnNhY3Rp
b24gc2hvdWxkIGJlIGFjdGl2ZSB1bnRpbCBkaXNwYXRjaCBjb21wbGV0ZXMnKTsKICAgfSkpOwot
ICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7CisgIHR4LmFkZEV2ZW50TGlz
dGVuZXIoJ2Fib3J0JywgdC5zdGVwX2Z1bmMoKCkgPT4gewogICAgIGFzc2VydF90cnVlKHNlY29u
ZF9saXN0ZW5lcl9jYWxsZWQpOwotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fi
b3J0RXJyb3InKTsKLSAgfSk7CisgIH0pKTsKIH0sICdFeGNlcHRpb24gaW4gZmlyc3QgZXJyb3Ig
ZXZlbnQgbGlzdGVuZXIgb24gcmVxdWVzdCwgJyArCiAgICAndHJhbnNhY3Rpb24gYWN0aXZlIGlu
IHNlY29uZCcpOwogCkBAIC05MCw5ICs5Miw2IEBAIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwg
ZGIsIHR4LCByZXF1ZXMKICAgdHgub25lcnJvciA9ICgpID0+IHsKICAgICB0aHJvdyBFcnJvcigp
OwogICB9OwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNz
ZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNl
cHRpb24gaW4gZXJyb3IgZXZlbnQgaGFuZGxlciBvbiB0cmFuc2FjdGlvbicpOwogCiBmaXJlX2Vy
cm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzdCkgPT4gewpAQCAtMTAwLDE4ICs5OSwx
MiBAQCBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzCiAgICAgZS5wcmV2
ZW50RGVmYXVsdCgpOwogICAgIHRocm93IEVycm9yKCk7CiAgIH07Ci0gIHR4Lm9uYWJvcnQgPSB0
LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUs
ICdBYm9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBoYW5k
bGVyIG9uIHRyYW5zYWN0aW9uLCB3aXRoIHByZXZlbnREZWZhdWx0Jyk7CiAKIGZpcmVfZXJyb3Jf
ZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0KSA9PiB7CiAgIHR4LmFkZEV2ZW50TGlzdGVu
ZXIoJ2Vycm9yJywgKCkgPT4gewogICAgIHRocm93IEVycm9yKCk7CiAgIH0pOwotICB0eC5vbmFi
b3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJv
ci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4gZXJyb3IgZXZl
bnQgbGlzdGVuZXIgb24gdHJhbnNhY3Rpb24nKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0
LCBkYiwgdHgsIHJlcXVlc3QpID0+IHsKQEAgLTEyMSw5ICsxMTQsNiBAQCBmaXJlX2Vycm9yX2V2
ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzCiAgIHR4LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9y
JywgKCkgPT4gewogICAgIHRocm93IEVycm9yKCk7CiAgIH0pOwotICB0eC5vbmFib3J0ID0gdC5z
dGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAn
QWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4gc2Vjb25kIGVycm9yIGV2ZW50
IGxpc3RlbmVyIG9uIHRyYW5zYWN0aW9uJyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwg
ZGIsIHR4LCByZXF1ZXN0KSA9PiB7CkBAIC0xMzYsMTAgKzEyNiw5IEBAIGZpcmVfZXJyb3JfZXZl
bnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXMKICAgICBhc3NlcnRfdHJ1ZShpc190cmFuc2FjdGlv
bl9hY3RpdmUodHgsICdzJyksCiAgICAgICAgICAgICAgICAgJ1RyYW5zYWN0aW9uIHNob3VsZCBi
ZSBhY3RpdmUgdW50aWwgZGlzcGF0Y2ggY29tcGxldGVzJyk7CiAgIH0pKTsKLSAgdHgub25hYm9y
dCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICB0eC5hZGRFdmVudExpc3RlbmVyKCdhYm9y
dCcsIHQuc3RlcF9mdW5jKCgpID0+IHsKICAgICBhc3NlcnRfdHJ1ZShzZWNvbmRfbGlzdGVuZXJf
Y2FsbGVkKTsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9yJyk7
Ci0gIH0pOworICB9KSk7CiB9LCAnRXhjZXB0aW9uIGluIGZpcnN0IGVycm9yIGV2ZW50IGxpc3Rl
bmVyIG9uIHRyYW5zYWN0aW9uLCAnICsKICAgICd0cmFuc2FjdGlvbiBhY3RpdmUgaW4gc2Vjb25k
Jyk7CiAKQEAgLTE0OSw5ICsxMzgsNiBAQCBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0
eCwgcmVxdWVzCiAgIGRiLm9uZXJyb3IgPSAoKSA9PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAg
fTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9l
cXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9u
IGluIGVycm9yIGV2ZW50IGhhbmRsZXIgb24gY29ubmVjdGlvbicpOwogCiBmaXJlX2Vycm9yX2V2
ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzdCkgPT4gewpAQCAtMTU5LDE4ICsxNDUsMTIgQEAg
ZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlcwogICAgIGUucHJldmVudERl
ZmF1bHQoKQogICAgIHRocm93IEVycm9yKCk7CiAgIH07Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBf
ZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9y
dEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBoYW5kbGVyIG9u
IGNvbm5lY3Rpb24sIHdpdGggcHJldmVudERlZmF1bHQnKTsKIAogZmlyZV9lcnJvcl9ldmVudF90
ZXN0KCh0LCBkYiwgdHgsIHJlcXVlc3QpID0+IHsKICAgZGIuYWRkRXZlbnRMaXN0ZW5lcignZXJy
b3InLCAoKSA9PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfSk7Ci0gIHR4Lm9uYWJvcnQgPSB0
LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUs
ICdBYm9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBsaXN0
ZW5lciBvbiBjb25uZWN0aW9uJyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4
LCByZXF1ZXN0KSA9PiB7CkBAIC0xODAsOSArMTYwLDYgQEAgZmlyZV9lcnJvcl9ldmVudF90ZXN0
KCh0LCBkYiwgdHgsIHJlcXVlcwogICBkYi5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpID0+
IHsKICAgICB0aHJvdyBFcnJvcigpOwogICB9KTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5j
X2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJy
b3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIHNlY29uZCBlcnJvciBldmVudCBsaXN0ZW5l
ciBvbiBjb25uZWN0aW9uJyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCBy
ZXF1ZXN0KSA9PiB7CkBAIC0xOTUsMTAgKzE3Miw5IEBAIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgo
dCwgZGIsIHR4LCByZXF1ZXMKICAgICBhc3NlcnRfdHJ1ZShpc190cmFuc2FjdGlvbl9hY3RpdmUo
dHgsICdzJyksCiAgICAgICAgICAgICAgICAgJ1RyYW5zYWN0aW9uIHNob3VsZCBiZSBhY3RpdmUg
dW50aWwgZGlzcGF0Y2ggY29tcGxldGVzJyk7CiAgIH0pKTsKLSAgdHgub25hYm9ydCA9IHQuc3Rl
cF9mdW5jX2RvbmUoKCkgPT4geworICB0eC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHQuc3Rl
cF9mdW5jKCgpID0+IHsKICAgICBhc3NlcnRfdHJ1ZShzZWNvbmRfbGlzdGVuZXJfY2FsbGVkKTsK
LSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0pOwor
ICB9KSk7CiB9LCAnRXhjZXB0aW9uIGluIGZpcnN0IGVycm9yIGV2ZW50IGxpc3RlbmVyIG9uIGNv
bm5lY3Rpb24sICcgKwogICAgJ3RyYW5zYWN0aW9uIGFjdGl2ZSBpbiBzZWNvbmQnKTsKIApJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
ZmlyZS1zdWNjZXNzLWV2ZW50LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmly
ZS1zdWNjZXNzLWV2ZW50LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MDI2MCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2ZpcmUtc3VjY2Vzcy1ldmVudC1leGNlcHRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDYgKzEsOCBAQAogCiBQQVNTIEV4Y2VwdGlvbiBpbiBzdWNjZXNzIGV2ZW50IGhhbmRs
ZXIgb24gcmVxdWVzdCAKIFBBU1MgRXhjZXB0aW9uIGluIHN1Y2Nlc3MgZXZlbnQgbGlzdGVuZXIg
b24gcmVxdWVzdCAKK1BBU1MgRXhjZXB0aW9uIGluIHN1Y2Nlc3MgZXZlbnQgbGlzdGVuZXIgKCJo
YW5kbGVFdmVudCIgbG9va3VwKSBvbiByZXF1ZXN0IAorRkFJTCBFeGNlcHRpb24gaW4gc3VjY2Vz
cyBldmVudCBsaXN0ZW5lciAobm9uLWNhbGxhYmxlICJoYW5kbGVFdmVudCIpIG9uIHJlcXVlc3Qg
YXNzZXJ0X3VucmVhY2hlZDogdHJhbnNhY3Rpb24gc2hvdWxkIGFib3J0IFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQogUEFTUyBFeGNlcHRpb24gaW4gc2Vjb25kIHN1Y2Nlc3MgZXZlbnQgbGlzdGVu
ZXIgb24gcmVxdWVzdCAKIFBBU1MgRXhjZXB0aW9uIGluIGZpcnN0IHN1Y2Nlc3MgZXZlbnQgbGlz
dGVuZXIsIHR4IGFjdGl2ZSBpbiBzZWNvbmQgCiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtc3VjY2Vzcy1ldmVudC1leGNl
cHRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLXN1Y2Nlc3MtZXZlbnQtZXhjZXB0aW9uLmh0bWwJ
KHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtc3VjY2Vzcy1ldmVudC1leGNlcHRpb24uaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMTksNiArMTksOSBAQCBmdW5jdGlvbiBmaXJlX3N1Y2Nlc3NfZXZlbnRf
dGVzdChmdW5jLCBkCiAgICAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdzJyk7CiAg
ICAgICBjb25zdCByZXF1ZXN0ID0gc3RvcmUuZ2V0KDApOwogICAgICAgZnVuYyh0LCBkYiwgdHgs
IHJlcXVlc3QpOworICAgICAgdHguYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB0LnN0ZXBfZnVu
Y19kb25lKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJv
cnRFcnJvcicpOworICAgICAgfSkpOwogICAgIH0sCiAgICAgZGVzY3JpcHRpb24pOwogfQpAQCAt
MjcsMzAgKzMwLDM1IEBAIGZpcmVfc3VjY2Vzc19ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXUK
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAoKSA9PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfTsK
LSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVh
bHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGlu
IHN1Y2Nlc3MgZXZlbnQgaGFuZGxlciBvbiByZXF1ZXN0Jyk7CiAKIGZpcmVfc3VjY2Vzc19ldmVu
dF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlc3QpID0+IHsKICAgcmVxdWVzdC5hZGRFdmVudExpc3Rl
bmVyKCdzdWNjZXNzJywgKCkgPT4gewogICAgIHRocm93IEVycm9yKCk7CiAgIH0pOwotICB0eC5v
bmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5l
cnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4gc3VjY2Vz
cyBldmVudCBsaXN0ZW5lciBvbiByZXF1ZXN0Jyk7CiAKIGZpcmVfc3VjY2Vzc19ldmVudF90ZXN0
KCh0LCBkYiwgdHgsIHJlcXVlc3QpID0+IHsKKyAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdz
dWNjZXNzJywgeworICAgIGdldCBoYW5kbGVFdmVudCgpIHsKKyAgICAgIHRocm93IG5ldyBFcnJv
cigpOworICAgIH0sCisgIH0pOworfSwgJ0V4Y2VwdGlvbiBpbiBzdWNjZXNzIGV2ZW50IGxpc3Rl
bmVyICgiaGFuZGxlRXZlbnQiIGxvb2t1cCkgb24gcmVxdWVzdCcpOworCitmaXJlX3N1Y2Nlc3Nf
ZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0KSA9PiB7CisgIHJlcXVlc3QuYWRkRXZlbnRM
aXN0ZW5lcignc3VjY2VzcycsIHsKKyAgICBoYW5kbGVFdmVudDogbnVsbCwKKyAgfSk7Cit9LCAn
RXhjZXB0aW9uIGluIHN1Y2Nlc3MgZXZlbnQgbGlzdGVuZXIgKG5vbi1jYWxsYWJsZSAiaGFuZGxl
RXZlbnQiKSBvbiByZXF1ZXN0Jyk7CisKK2ZpcmVfc3VjY2Vzc19ldmVudF90ZXN0KCh0LCBkYiwg
dHgsIHJlcXVlc3QpID0+IHsKICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdzdWNjZXNzJywg
KCkgPT4gewogICAgIC8vIG5vLW9wCiAgIH0pOwogICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIo
J3N1Y2Nlc3MnLCAoKSA9PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfSk7Ci0gIHR4Lm9uYWJv
cnQgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9y
Lm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBzZWNvbmQgc3Vj
Y2VzcyBldmVudCBsaXN0ZW5lciBvbiByZXF1ZXN0Jyk7CiAKIGZpcmVfc3VjY2Vzc19ldmVudF90
ZXN0KCh0LCBkYiwgdHgsIHJlcXVlc3QpID0+IHsKQEAgLTYzLDEwICs3MSw5IEBAIGZpcmVfc3Vj
Y2Vzc19ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXUKICAgICBhc3NlcnRfdHJ1ZShpc190cmFu
c2FjdGlvbl9hY3RpdmUodHgsICdzJyksCiAgICAgICAgICAgICAgICAgJ1RyYW5zYWN0aW9uIHNo
b3VsZCBiZSBhY3RpdmUgdW50aWwgZGlzcGF0Y2ggY29tcGxldGVzJyk7CiAgIH0pKTsKLSAgdHgu
b25hYm9ydCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICB0eC5hZGRFdmVudExpc3RlbmVy
KCdhYm9ydCcsIHQuc3RlcF9mdW5jKCgpID0+IHsKICAgICBhc3NlcnRfdHJ1ZShzZWNvbmRfbGlz
dGVuZXJfY2FsbGVkKTsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVy
cm9yJyk7Ci0gIH0pOworICB9KSk7CiB9LCAnRXhjZXB0aW9uIGluIGZpcnN0IHN1Y2Nlc3MgZXZl
bnQgbGlzdGVuZXIsIHR4IGFjdGl2ZSBpbiBzZWNvbmQnKTsKIAogPC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJl
LXVwZ3JhZGVuZWVkZWQtZXZlbnQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9m
aXJlLXVwZ3JhZGVuZWVkZWQtZXZlbnQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvZmlyZS11cGdyYWRlbmVlZGVkLWV2ZW50LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzEsMTMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAy
NjogRXJyb3IKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMTogRXJyb3IKIENPTlNPTEUgTUVTU0FH
RTogbGluZSAzNzogRXJyb3IKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1MTogRXJyb3IKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSA2MzogRXJyb3IKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NDogRXJy
b3IKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2MjogRXJyb3IKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSA3MDogRXJyb3IKIAogUEFTUyBFeGNlcHRpb24gaW4gdXBncmFkZW5lZWRlZCBoYW5kbGVyIAog
UEFTUyBFeGNlcHRpb24gaW4gdXBncmFkZW5lZWRlZCBsaXN0ZW5lciAKK1BBU1MgRXhjZXB0aW9u
IGluIHVwZ3JhZGVuZWVkZWQgImhhbmRsZUV2ZW50IiBsb29rdXAgCitGQUlMIEV4Y2VwdGlvbiBp
biB1cGdyYWRlbmVlZGVkIGR1ZSB0byBub24tY2FsbGFibGUgImhhbmRsZUV2ZW50IiBhc3NlcnRf
dW5yZWFjaGVkOiBvcGVuIHNob3VsZCBmYWlsIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogUEFT
UyBFeGNlcHRpb24gaW4gc2Vjb25kIHVwZ3JhZGVuZWVkZWQgbGlzdGVuZXIgCiBQQVNTIEV4Y2Vw
dGlvbiBpbiBmaXJzdCB1cGdyYWRlbmVlZGVkIGxpc3RlbmVyLCB0eCBhY3RpdmUgaW4gc2Vjb25k
IAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9maXJlLXVwZ3JhZGVuZWVkZWQtZXZlbnQtZXhjZXB0aW9uLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvZmlyZS11cGdyYWRlbmVlZGVkLWV2ZW50LWV4Y2VwdGlvbi5odG1sCShyZXZpc2lvbiAyNTAy
NjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9maXJlLXVwZ3JhZGVuZWVkZWQtZXZlbnQtZXhjZXB0aW9uLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTE1LDQ4ICsxNSw1NSBAQCBmdW5jdGlvbiBmaXJlX3VwZ3JhZGVuZWVkZWRfZXZlbnRf
dGVzdChmCiAgICAgZGVsLm9uZXJyb3IgPSB0LnVucmVhY2hlZF9mdW5jKCdkZWxldGVEYXRhYmFz
ZSBzaG91bGQgc3VjY2VlZCcpOwogICAgIGNvbnN0IG9wZW4gPSBpbmRleGVkREIub3BlbihkYm5h
bWUsIDEpOwogICAgIG9wZW4ub25zdWNjZXNzID0gdC51bnJlYWNoZWRfZnVuYygnb3BlbiBzaG91
bGQgZmFpbCcpOworICAgIGxldCB0eDsKKyAgICBvcGVuLmFkZEV2ZW50TGlzdGVuZXIoJ3VwZ3Jh
ZGVuZWVkZWQnLCAoKSA9PiB7CisgICAgICB0eCA9IG9wZW4udHJhbnNhY3Rpb247CisgICAgfSk7
CiAgICAgZnVuYyh0LCBvcGVuKTsKKyAgICBvcGVuLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywg
dC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5h
bWUsICdBYm9ydEVycm9yJyk7CisgICAgfSkpOwogICB9LCBkZXNjcmlwdGlvbik7CiB9CiAKIGZp
cmVfdXBncmFkZW5lZWRlZF9ldmVudF90ZXN0KCh0LCBvcGVuKSA9PiB7Ci0gIGxldCB0eDsKICAg
b3Blbi5vbnVwZ3JhZGVuZWVkZWQgPSAoKSA9PiB7Ci0gICAgdHggPSBvcGVuLnRyYW5zYWN0aW9u
OwogICAgIHRocm93IEVycm9yKCk7CiAgIH07Ci0gIG9wZW4ub25lcnJvciA9IHQuc3RlcF9mdW5j
X2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJy
b3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIHVwZ3JhZGVuZWVkZWQgaGFuZGxlcicpOwog
CiBmaXJlX3VwZ3JhZGVuZWVkZWRfZXZlbnRfdGVzdCgodCwgb3BlbikgPT4gewotICBsZXQgdHg7
CiAgIG9wZW4uYWRkRXZlbnRMaXN0ZW5lcigndXBncmFkZW5lZWRlZCcsICgpID0+IHsKLSAgICB0
eCA9IG9wZW4udHJhbnNhY3Rpb247CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfSk7Ci0gIG9wZW4u
b25lcnJvciA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHgu
ZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIHVwZ3Jh
ZGVuZWVkZWQgbGlzdGVuZXInKTsKIAogZmlyZV91cGdyYWRlbmVlZGVkX2V2ZW50X3Rlc3QoKHQs
IG9wZW4pID0+IHsKLSAgbGV0IHR4OworICBvcGVuLmFkZEV2ZW50TGlzdGVuZXIoJ3VwZ3JhZGVu
ZWVkZWQnLCB7CisgICAgZ2V0IGhhbmRsZUV2ZW50KCkgeworICAgICAgdGhyb3cgbmV3IEVycm9y
KCk7CisgICAgfSwKKyAgfSk7Cit9LCAnRXhjZXB0aW9uIGluIHVwZ3JhZGVuZWVkZWQgImhhbmRs
ZUV2ZW50IiBsb29rdXAnKTsKKworZmlyZV91cGdyYWRlbmVlZGVkX2V2ZW50X3Rlc3QoKHQsIG9w
ZW4pID0+IHsKKyAgb3Blbi5hZGRFdmVudExpc3RlbmVyKCd1cGdyYWRlbmVlZGVkJywgeworICAg
IGdldCBoYW5kbGVFdmVudCgpIHsKKyAgICAgIHJldHVybiAxMDsKKyAgICB9LAorICB9KTsKK30s
ICdFeGNlcHRpb24gaW4gdXBncmFkZW5lZWRlZCBkdWUgdG8gbm9uLWNhbGxhYmxlICJoYW5kbGVF
dmVudCInKTsKKworZmlyZV91cGdyYWRlbmVlZGVkX2V2ZW50X3Rlc3QoKHQsIG9wZW4pID0+IHsK
ICAgb3Blbi5hZGRFdmVudExpc3RlbmVyKCd1cGdyYWRlbmVlZGVkJywgKCkgPT4gewogICAgIC8v
IE5vLW9wLgogICB9KTsKICAgb3Blbi5hZGRFdmVudExpc3RlbmVyKCd1cGdyYWRlbmVlZGVkJywg
KCkgPT4gewotICAgIHR4ID0gb3Blbi50cmFuc2FjdGlvbjsKICAgICB0aHJvdyBFcnJvcigpOwog
ICB9KTsKLSAgb3Blbi5vbmVycm9yID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNz
ZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNl
cHRpb24gaW4gc2Vjb25kIHVwZ3JhZGVuZWVkZWQgbGlzdGVuZXInKTsKIAogZmlyZV91cGdyYWRl
bmVlZGVkX2V2ZW50X3Rlc3QoKHQsIG9wZW4pID0+IHsKLSAgbGV0IHR4OwogICBsZXQgc2Vjb25k
X2xpc3RlbmVyX2NhbGxlZCA9IGZhbHNlOwogICBvcGVuLmFkZEV2ZW50TGlzdGVuZXIoJ3VwZ3Jh
ZGVuZWVkZWQnLCAoKSA9PiB7CiAgICAgb3Blbi5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoJ3Mn
KTsKQEAgLTY0LDE0ICs3MSwxMiBAQCBmaXJlX3VwZ3JhZGVuZWVkZWRfZXZlbnRfdGVzdCgodCwg
b3BlbikgCiAgIH0pOwogICBvcGVuLmFkZEV2ZW50TGlzdGVuZXIoJ3VwZ3JhZGVuZWVkZWQnLCB0
LnN0ZXBfZnVuYygoKSA9PiB7CiAgICAgc2Vjb25kX2xpc3RlbmVyX2NhbGxlZCA9IHRydWU7Ci0g
ICAgdHggPSBvcGVuLnRyYW5zYWN0aW9uOwotICAgIGFzc2VydF90cnVlKGlzX3RyYW5zYWN0aW9u
X2FjdGl2ZSh0eCwgJ3MnKSwKKyAgICBhc3NlcnRfdHJ1ZShpc190cmFuc2FjdGlvbl9hY3RpdmUo
b3Blbi50cmFuc2FjdGlvbiwgJ3MnKSwKICAgICAgICAgICAgICAgICAnVHJhbnNhY3Rpb24gc2hv
dWxkIGJlIGFjdGl2ZSB1bnRpbCBkaXNwYXRjaCBjb21wbGV0ZXMnKTsKICAgfSkpOwotICBvcGVu
Lm9uZXJyb3IgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgb3Blbi5hZGRFdmVudExpc3Rl
bmVyKCdlcnJvcicsIHQuc3RlcF9mdW5jKCgpID0+IHsKICAgICBhc3NlcnRfdHJ1ZShzZWNvbmRf
bGlzdGVuZXJfY2FsbGVkKTsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9y
dEVycm9yJyk7Ci0gIH0pOworICB9KSk7CiB9LCAnRXhjZXB0aW9uIGluIGZpcnN0IHVwZ3JhZGVu
ZWVkZWQgbGlzdGVuZXIsIHR4IGFjdGl2ZSBpbiBzZWNvbmQnKTsKIAogPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9n
ZXQtZGF0YWJhc2VzLmFueS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55Lmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvZ2V0LWRhdGFiYXNlcy5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5m
cmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nZXQtZGF0
YWJhc2VzLmFueS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDExNyBAQAorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQtcHJvbWlz
ZXMuanMKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgYXNzZXJ0X3RydWUo
aW5kZXhlZERCLmRhdGFiYXNlcygpIGluc3RhbmNlb2YgUHJvbWlzZSwKKyAgICAgICJkYXRhYmFz
ZXMoKSBzaG91bGQgcmV0dXJuIGEgcHJvbWlzZS4iKTsKK30sICJFbnN1cmUgdGhhdCBkYXRhYmFz
ZXMoKSByZXR1cm5zIGEgcHJvbWlzZS4iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNl
ID0+IHsKKyAgLy8gRGVsZXRlIGFueSBkYXRhYmFzZXMgdGhhdCBtYXkgbm90IGhhdmUgYmVlbiBj
bGVhbmVkIHVwIGFmdGVyIHByZXZpb3VzIHRlc3QKKyAgLy8gcnVucy4KKyAgYXdhaXQgZGVsZXRl
QWxsRGF0YWJhc2VzKHRlc3RDYXNlKTsKKworICBjb25zdCBkYl9uYW1lID0gIlRlc3REYXRhYmFz
ZSI7CisgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlTmFtZWREYXRhYmFzZSh0ZXN0Q2FzZSwgZGJf
bmFtZSwgKCk9Pnt9KTsKKyAgY29uc3QgZGF0YWJhc2VzX3Jlc3VsdCA9IGF3YWl0IGluZGV4ZWRE
Qi5kYXRhYmFzZXMoKTsKKyAgZGIuY2xvc2UoKTsKKyAgY29uc3QgZXhwZWN0ZWRfcmVzdWx0ID0g
eyJuYW1lIjogZGJfbmFtZSwgInZlcnNpb24iOiAxfTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICAg
IGRhdGFiYXNlc19yZXN1bHQubGVuZ3RoLAorICAgICAgMSwKKyAgICAgICJUaGUgcmVzdWx0IG9m
IGRhdGFiYXNlcygpIHNob3VsZCBjb250YWluIG9uZSByZXN1bHQgcGVyIGRhdGFiYXNlLiIpOwor
ICBhc3NlcnRfdHJ1ZSgKKyAgICAgIGRhdGFiYXNlc19yZXN1bHRbMF0ubmFtZSA9PT0gZXhwZWN0
ZWRfcmVzdWx0Lm5hbWUKKyAgICAgICAgICAmJiBkYXRhYmFzZXNfcmVzdWx0WzBdLnZlcnNpb24g
PT09IGV4cGVjdGVkX3Jlc3VsdC52ZXJzaW9uLAorICAgICAgIlRoZSByZXN1bHQgb2YgZGF0YWJh
c2VzKCkgc2hvdWxkIGJlIGEgc2VxdWVuY2Ugb2YgdGhlIGNvcnJlY3QgbmFtZXMgIgorICAgICAg
KyAiYW5kIHZlcnNpb25zIG9mIGFsbCBkYXRhYmFzZXMgZm9yIHRoZSBvcmlnaW4uIik7Cit9LCAi
RW51bWVyYXRlIG9uZSBkYXRhYmFzZS4iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNl
ID0+IHsKKyAgLy8gRGVsZXRlIGFueSBkYXRhYmFzZXMgdGhhdCBtYXkgbm90IGhhdmUgYmVlbiBj
bGVhbmVkIHVwIGFmdGVyIHByZXZpb3VzIHRlc3QKKyAgLy8gcnVucy4KKyAgYXdhaXQgZGVsZXRl
QWxsRGF0YWJhc2VzKHRlc3RDYXNlKTsKKworICBjb25zdCBkYl9uYW1lMSA9ICJUZXN0RGF0YWJh
c2UxIjsKKyAgY29uc3QgZGJfbmFtZTIgPSAiVGVzdERhdGFiYXNlMiI7CisgIGNvbnN0IGRiX25h
bWUzID0gIlRlc3REYXRhYmFzZTMiOworICBjb25zdCBkYjEgPSBhd2FpdCBjcmVhdGVOYW1lZERh
dGFiYXNlKHRlc3RDYXNlLCBkYl9uYW1lMSwgKCk9Pnt9KTsKKyAgY29uc3QgZGIyID0gYXdhaXQg
Y3JlYXRlTmFtZWREYXRhYmFzZSh0ZXN0Q2FzZSwgZGJfbmFtZTIsICgpPT57fSk7CisgIGNvbnN0
IGRiMyA9IGF3YWl0IGNyZWF0ZU5hbWVkRGF0YWJhc2UodGVzdENhc2UsIGRiX25hbWUzLCAoKT0+
e30pOworICBkYjEuY2xvc2UoKTsKKyAgZGIyLmNsb3NlKCk7CisgIGRiMy5jbG9zZSgpOworICBj
b25zdCB2ZXJzaW9uX3Byb21pc2UgPQorICAgICAgYXdhaXQgbWlncmF0ZU5hbWVkRGF0YWJhc2Uo
dGVzdENhc2UsIGRiX25hbWUyLCAyLCAoKSA9PiB7fSk7CisgIGNvbnN0IGRhdGFiYXNlc19yZXN1
bHQgPSBhd2FpdCBpbmRleGVkREIuZGF0YWJhc2VzKCk7CisgIGNvbnN0IGV4cGVjdGVkX3Jlc3Vs
dCA9IFsKKyAgICB7Im5hbWUiOiBkYl9uYW1lMSwgInZlcnNpb24iOiAxfSwKKyAgICB7Im5hbWUi
OiBkYl9uYW1lMiwgInZlcnNpb24iOiAyfSwKKyAgICB7Im5hbWUiOiBkYl9uYW1lMywgInZlcnNp
b24iOiAxfSwKKyAgXTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICAgIGRhdGFiYXNlc19yZXN1bHQu
bGVuZ3RoLAorICAgICAgZXhwZWN0ZWRfcmVzdWx0Lmxlbmd0aCwKKyAgICAgICJUaGUgcmVzdWx0
IG9mIGRhdGFiYXNlcygpIHNob3VsZCBjb250YWluIG9uZSByZXN1bHQgcGVyIGRhdGFiYXNlLiIp
OworICBmb3IgKCBsZXQgaSA9IDA7IGkgPCBleHBlY3RlZF9yZXN1bHQubGVuZ3RoOyBpICs9IDEg
KSB7CisgICAgcmVzdWx0ID0gZXhwZWN0ZWRfcmVzdWx0W2ldOworICAgIGFzc2VydF90cnVlKAor
ICAgICAgICBkYXRhYmFzZXNfcmVzdWx0LnNvbWUoCisgICAgICAgICAgICBlID0+IGUubmFtZSA9
PT0gcmVzdWx0Lm5hbWUgJiYgZS52ZXJzaW9uID09PSByZXN1bHQudmVyc2lvbiksCisgICAgICAg
ICJUaGUgcmVzdWx0IG9mIGRhdGFiYXNlcygpIHNob3VsZCBiZSBhIHNlcXVlbmNlIG9mIHRoZSBj
b3JyZWN0IG5hbWVzICIKKyAgICAgICAgKyAiYW5kIHZlcnNpb25zIG9mIGFsbCBkYXRhYmFzZXMg
Zm9yIHRoZSBvcmlnaW4uIik7CisgIH0KK30sICJFbnVtZXJhdGUgbXVsdGlwbGUgZGF0YWJhc2Vz
LiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICAvLyBBZGQgc29tZSBk
YXRhYmFzZXMgYW5kIGNsb3NlIHRoZWlyIGNvbm5lY3Rpb25zLgorICBjb25zdCBkYjEgPSBhd2Fp
dCBjcmVhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCAiREIxIiwgKCkgPT4ge30pOworICBjb25z
dCBkYjIgPSBhd2FpdCBjcmVhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCAiREIyIiwgKCkgPT4g
e30pOworICBkYjEuY2xvc2UoKTsKKyAgZGIyLmNsb3NlKCk7CisKKyAgLy8gRGVsZXRlIGFueSBk
YXRhYmFzZXMgdGhhdCBtYXkgbm90IGhhdmUgYmVlbiBjbGVhbmVkIHVwIGFmdGVyIHByZXZpb3Vz
IHRlc3QKKyAgLy8gcnVucyBhcyB3ZWxsIGFzIHRoZSB0d28gZGF0YWJhc2VzIG1hZGUgYWJvdmUu
CisgIGF3YWl0IGRlbGV0ZUFsbERhdGFiYXNlcyh0ZXN0Q2FzZSk7CisKKyAgLy8gTWFrZSBzdXJl
IHRoZSBkYXRhYmFzZXMgYXJlIG5vIGxvbmdlciByZXR1cm5lZC4KKyAgY29uc3QgZGF0YWJhc2Vz
X3Jlc3VsdCA9IGF3YWl0IGluZGV4ZWREQi5kYXRhYmFzZXMoKTsKKyAgYXNzZXJ0X2VxdWFscygK
KyAgICAgIGRhdGFiYXNlc19yZXN1bHQubGVuZ3RoLAorICAgICAgMCwKKyAgICAgICJUaGUgcmVz
dWx0IG9mIGRhdGFiYXNlcygpIHNob3VsZCBiZSBhbiBlbXB0eSBzZXF1ZW5jZSBmb3IgdGhlIGNh
c2Ugb2YgIgorICAgICAgKyAibm8gZGF0YWJhc2VzIGZvciB0aGUgb3JpZ2luLiIpOworfSwgIk1h
a2Ugc3VyZSBhbiBlbXB0eSBsaXN0IGlzIHJldHVybmVkIGZvciB0aGUgY2FzZSBvZiBubyBkYXRh
YmFzZXMuIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIC8vIERlbGV0
ZSBhbnkgZGF0YWJhc2VzIHRoYXQgbWF5IG5vdCBoYXZlIGJlZW4gY2xlYW5lZCB1cCBhZnRlciBw
cmV2aW91cyB0ZXN0CisgIC8vIHJ1bnMgYXMgd2VsbCBhcyB0aGUgdHdvIGRhdGFiYXNlcyBtYWRl
IGFib3ZlLgorICBhd2FpdCBkZWxldGVBbGxEYXRhYmFzZXModGVzdENhc2UpOworCisgIGNvbnN0
IGRiMSA9IGF3YWl0IGNyZWF0ZU5hbWVkRGF0YWJhc2UodGVzdENhc2UsICJEQjEiLCAoKT0+e30p
OworICBjb25zdCBkYjIgPSBhd2FpdCBjcmVhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCAiREIy
IiwgYXN5bmMgKCkgPT4geworICAgIGNvbnN0IGRhdGFiYXNlc19yZXN1bHQxID0gYXdhaXQgaW5k
ZXhlZERCLmRhdGFiYXNlcygpOworICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgIGRhdGFiYXNl
c19yZXN1bHQxLmxlbmd0aCwKKyAgICAgICAgMSwKKyAgICAgICAgIlRoZSByZXN1bHQgb2YgZGF0
YWJhc2VzKCkgc2hvdWxkIGJlIG9ubHkgdGhvc2UgZGF0YWJhc2VzIHdoaWNoIGhhdmUgIgorICAg
ICAgICArICJiZWVuIGNyZWF0ZWQgYXQgdGhlIHRpbWUgb2YgY2FsbGluZywgcmVnYXJkbGVzcyBv
ZiB2ZXJzaW9uY2hhbmdlICIKKyAgICAgICAgKyAidHJhbnNhY3Rpb25zIGN1cnJlbnRseSBydW5u
aW5nLiIpOworICB9KTsKKyAgZGIxLmNsb3NlKCk7CisgIGRiMi5jbG9zZSgpOworICBjb25zdCBk
YXRhYmFzZXNfcmVzdWx0MiA9IGF3YWl0IGluZGV4ZWREQi5kYXRhYmFzZXMoKTsKKyAgYXNzZXJ0
X2VxdWFscygKKyAgICAgIGRhdGFiYXNlc19yZXN1bHQyLmxlbmd0aCwKKyAgICAgIDIsCisgICAg
ICAiVGhlIHJlc3VsdCBvZiBkYXRhYmFzZXMoKSBzaG91bGQgaW5jbHVkZSBhbGwgZGF0YWJhc2Vz
IHdoaWNoIGhhdmUgIgorICAgICAgKyAiYmVlbiBjcmVhdGVkIGF0IHRoZSB0aW1lIG9mIGNhbGxp
bmcuIik7CisgIGF3YWl0IG1pZ3JhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCAiREIyIiwgMiwg
YXN5bmMgKCkgPT4geworICAgIGNvbnN0IGRhdGFiYXNlc19yZXN1bHQzID0gYXdhaXQgaW5kZXhl
ZERCLmRhdGFiYXNlcygpOworICAgIGFzc2VydF90cnVlKAorICAgICAgICBkYXRhYmFzZXNfcmVz
dWx0M1swXS52ZXJzaW9uID09PSAxCisgICAgICAgICYmIGRhdGFiYXNlc19yZXN1bHQzWzFdLnZl
cnNpb24gPT09IDEsCisgICAgICAgICJUaGUgcmVzdWx0IG9mIGRhdGFiYXNlcygpIHNob3VsZCBj
b250YWluIHRoZSB2ZXJzaW9ucyBvZiBkYXRhYmFzZXMgIgorICAgICAgICArICJhdCB0aGUgdGlt
ZSBvZiBjYWxsaW5nLCByZWdhcmRsZXNzIG9mIHZlcnNpb25jaGFuZ2UgdHJhbnNhY3Rpb25zICIK
KyAgICAgICAgKyAiY3VycmVudGx5IHJ1bm5pbmcuIik7CisgIH0pOworfSwgIkVuc3VyZSB0aGF0
IGRhdGFiYXNlcygpIGRvZXNuJ3QgcGljayB1cCBjaGFuZ2VzIHRoYXQgaGF2ZW4ndCBjb21taXRl
ZC4iKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55Lndvcmtlci5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1k
YXRhYmFzZXMuYW55Lndvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55
Lndvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRl
bXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBs
aWNpdC1jb21taXQtdGhyb3cuYW55Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1p
dC10aHJvdy5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93
LmFueS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBs
YXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNp
dC1jb21taXQtdGhyb3cuYW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhy
b3cuYW55LmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKy8vIE1FVEE6IHNjcmlwdD1zdXBwb3J0
LXByb21pc2VzLmpzCisKKy8qKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIGEgdGVzdCB0aGF0IHdh
cyBzZXBhcmF0ZWQgb3V0IGZyb20gdGhlIHJlc3Qgb2YgdGhlIGlkYgorICogZXhwbGljdCBjb21t
aXQgdGVzdHMgYmVjYXVzZSBpdCByZXF1aXJlcyB0aGUgZmxhZyAnYWxsb3dfdW5jYXVnaHRfZXhj
ZXB0aW9uJywKKyAqIHdoaWNoIHByZXZlbnRzIHVuaW50ZW50aW9uYWxseSB0aHJvd24gZXJyb3Jz
IGZyb20gZmFpbGluZyB0ZXN0cy4KKyAqCisgKiBAYXV0aG9yIGFuZHJlYXNidXRsZXJAZ29vZ2xl
LmNvbQorICovCisKK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246dHJ1ZX0pOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICAvLyBSZWdpc3RlciBhbiBldmVudCBs
aXN0ZW5lciB0aGF0IHdpbGwgcHJldmVudCB0aGUgaW50ZW50aW9uYWxseSB0aHJvd24KKyAgLy8g
ZXJyb3IgZnJvbSBidWJibGluZyB1cCB0byB0aGUgd2luZG93IGFuZCBmYWlsaW5nIHRoZSB0ZXN0
aGFybmVzcy4gVGhpcworICAvLyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBjdXJyZW50bHkgYWxsb3df
dW5jYXVnaHRfZXhjZXB0aW9uIGRvZXMgbm90IGJlaGF2ZQorICAvLyBhcyBleHBlY3RlZCBmb3Ig
cHJvbWlzZV90ZXN0LgorICAvLworICAvLyBHaXQgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3Vlcy8xNDA0MQorICBzZWxmLmFkZEV2ZW50TGlzdGVu
ZXIoJ2Vycm9yJywgKGV2ZW50KSA9PiB7IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IH0pOworCisg
IGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodGVzdENhc2UsIGFzeW5jIGRiID0+IHsK
KyAgICBhd2FpdCBjcmVhdGVCb29rc1N0b3JlKHRlc3RDYXNlLCBkYik7CisgIH0pOworCisgIGNv
bnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScpOworICBjb25z
dCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAgY29uc3QgcHV0UmVx
dWVzdCA9IG9iamVjdFN0b3JlLnB1dCh7aXNibjonb25lJywgdGl0bGU6J3RpdGxlJ30pOworICB0
eG4uY29tbWl0KCk7CisgIHB1dFJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4geworICAgIHRocm93
IG5ldyBFcnJvcignVGhpcyBlcnJvciB0aHJvd24gYWZ0ZXIgYW4gZXhwbGljaXQgY29tbWl0IHNo
b3VsZCBub3QgJyArCisgICAgICAgICdwcmV2ZW50IHRoZSB0cmFuc2FjdGlvbiBmcm9tIGNvbW1p
dHRpbmcuJyk7CisgIH0KKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0
eG4pOworCisgIC8vIEVuc3VyZSB0aGF0IGRlc3BpdGUgdGhlIHVuY2F1Z2h0IGVycm9yIGFmdGVy
IHRoZSBwdXQgcmVxdWVzdCwgdGhlIGV4cGxpY2l0CisgIC8vIGNvbW1pdCBzdGlsbCBjYXVzZXMg
dGhlIHJlcXVlc3QgdG8gYmUgY29tbWl0dGVkLgorICBjb25zdCB0eG4yID0gZGIudHJhbnNhY3Rp
b24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIu
b2JqZWN0U3RvcmUoJ2Jvb2tzJyk7CisgIGNvbnN0IGdldFJlcXVlc3QgPSBvYmplY3RTdG9yZTIu
Z2V0KCdvbmUnKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4y
KTsKKworICBhc3NlcnRfZXF1YWxzKGdldFJlcXVlc3QucmVzdWx0LnRpdGxlLCAndGl0bGUnKTsK
K30sICdBbnkgZXJyb3JzIGluIGNhbGxiYWNrcyB0aGF0IHJ1biBhZnRlciBhbiBleHBsaWNpdCBj
b21taXQgd2lsbCBub3Qgc3RvcCAnCisgICArICd0aGUgY29tbWl0IGZyb20gYmVpbmcgcHJvY2Vz
c2VkLicpOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkud29ya2VyLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkud29ya2VyLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkud29ya2VyLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdl
YktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS5odG1sCShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYi1leHBsaWNpdC1jb21taXQuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0
dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxp
Y2l0LWNvbW1pdC5hbnkuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnku
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOTIgQEAKKy8vIE1FVEE6IHNjcmlwdD1zdXBw
b3J0LXByb21pc2VzLmpzCisKKy8qKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSB3ZWJwbGF0
Zm9ybSB0ZXN0cyBmb3IgdGhlIGV4cGxpY2l0IGNvbW1pdCgpIG1ldGhvZAorICogb2YgdGhlIElu
ZGV4ZWREQiB0cmFuc2FjdGlvbiBBUEkuCisgKgorICogQGF1dGhvciBhbmRyZWFzYnV0bGVyQGdv
b2dsZS5jb20KKyAqLworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25z
dCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRl
Qm9va3NTdG9yZSh0ZXN0Q2FzZSwgZGIpOworICB9KTsKKyAgY29uc3QgdHhuID0gZGIudHJhbnNh
Y3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhu
Lm9iamVjdFN0b3JlKCdib29rcycpOworICBvYmplY3RTdG9yZS5wdXQoe2lzYm46ICdvbmUnLCB0
aXRsZTogJ3RpdGxlMSd9KTsKKyAgb2JqZWN0U3RvcmUucHV0KHtpc2JuOiAndHdvJywgdGl0bGU6
ICd0aXRsZTInfSk7CisgIG9iamVjdFN0b3JlLnB1dCh7aXNibjogJ3RocmVlJywgdGl0bGU6ICd0
aXRsZTMnfSk7CisgIHR4bi5jb21taXQoKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9u
KHRlc3RDYXNlLCB0eG4pOworCisgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tz
J10sICdyZWFkb25seScpOworICBjb25zdCBvYmplY3RTdG9yZTIgPSB0eG4yLm9iamVjdFN0b3Jl
KCdib29rcycpOworICBjb25zdCBnZXRSZXF1ZXN0aXRsZTEgPSBvYmplY3RTdG9yZTIuZ2V0KCdv
bmUnKTsKKyAgY29uc3QgZ2V0UmVxdWVzdGl0bGUyID0gb2JqZWN0U3RvcmUyLmdldCgndHdvJyk7
CisgIGNvbnN0IGdldFJlcXVlc3RpdGxlMyA9IG9iamVjdFN0b3JlMi5nZXQoJ3RocmVlJyk7Cisg
IHR4bjIuY29tbWl0KCk7CisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwg
dHhuMik7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoCisgICAgICBbZ2V0UmVxdWVzdGl0bGUxLnJl
c3VsdC50aXRsZSwKKyAgICAgICAgICBnZXRSZXF1ZXN0aXRsZTIucmVzdWx0LnRpdGxlLAorICAg
ICAgICAgIGdldFJlcXVlc3RpdGxlMy5yZXN1bHQudGl0bGVdLAorICAgICAgWyd0aXRsZTEnLCAn
dGl0bGUyJywgJ3RpdGxlMyddLAorICAgICAgJ0FsbCB0aHJlZSByZXRyaWV2ZWQgdGl0bGVzIHNo
b3VsZCBtYXRjaCB0aG9zZSB0aGF0IHdlcmUgcHV0LicpOworICBkYi5jbG9zZSgpOworfSwgJ0V4
cGxpY2l0bHkgY29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQuJyk7CisKKworcHJv
bWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgbGV0IGRiID0gYXdhaXQgY3JlYXRlRGF0
YWJhc2UodGVzdENhc2UsICgpID0+IHt9KTsKKyAgYXNzZXJ0X2VxdWFscygxLCBkYi52ZXJzaW9u
LCAnQSBkYXRhYmFzZSBzaG91bGQgYmUgY3JlYXRlZCBhcyB2ZXJzaW9uIDEnKTsKKyAgZGIuY2xv
c2UoKTsKKworICAvLyBVcGdyYWRlIHRoZSB2ZXJzaW9uREIgZGF0YWJhc2UgYW5kIGV4cGxpY2l0
bHkgY29tbWl0IGl0cyB2ZXJzaW9uY2hhbmdlCisgIC8vIHRyYW5zYWN0aW9uLgorICBkYiA9IGF3
YWl0IG1pZ3JhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgMiwgKGRiLCB0eG4pID0+IHsKKyAgICB0eG4u
Y29tbWl0KCk7CisgIH0pOworICBhc3NlcnRfZXF1YWxzKDIsIGRiLnZlcnNpb24sCisgICAgICAn
VGhlIGRhdGFiYXNlIHZlcnNpb24gc2hvdWxkIGhhdmUgYmVlbiBpbmNyZW1lbnRlZCByZWdhcmRs
ZXNzIG9mICcKKyAgICAgICsgJ3doZXRoZXIgdGhlIHZlcnNpb25jaGFuZ2UgdHJhbnNhY3Rpb24g
d2FzIGV4cGxpY2l0bHkgb3IgaW1wbGljaXRseSAnCisgICAgICArICdjb21taXR0ZWQuJyk7Cisg
IGRiLmNsb3NlKCk7Cit9LCAnY29tbWl0KCkgb24gYSB2ZXJzaW9uIGNoYW5nZSB0cmFuc2FjdGlv
biBkb2VzIG5vdCBjYXVzZSBlcnJvcnMuJyk7CisKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RD
YXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgZGIg
PT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENhc2UsIGRiKTsKKyAgfSk7CisgIGNvbnN0
IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScpOworICBjb25zdCBv
YmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAgdHhuLmNvbW1pdCgpOwor
ICBhc3NlcnRfdGhyb3dzKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLAorICAgICAgKCkgPT4g
eyBvYmplY3RTdG9yZS5wdXQoe2lzYm46ICdvbmUnLCB0aXRsZTogJ3RpdGxlMSd9KTsgfSwKKyAg
ICAgICdBZnRlciBjb21taXQgaXMgY2FsbGVkLCB0aGUgdHJhbnNhY3Rpb24gc2hvdWxkIGJlIGlu
YWN0aXZlLicpOworICBkYi5jbG9zZSgpOworfSwgJ0EgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGJl
Y29tZXMgaW5hY3RpdmUgaW1tZWRpYXRlbHkuJyk7CisKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRl
c3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwg
ZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENhc2UsIGRiKTsKKyAgfSk7CisgIGNv
bnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScpOworICBjb25z
dCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAgY29uc3QgcHV0UmVx
dWVzdCA9IG9iamVjdFN0b3JlLnB1dCh7aXNibjogJ29uZScsIHRpdGxlOiAndGl0bGUxJ30pOwor
ICBwdXRSZXF1ZXN0Lm9uc3VjY2VzcyA9IHRlc3RDYXNlLnN0ZXBfZnVuYygoKSA9PiB7CisgICAg
YXNzZXJ0X3Rocm93cygnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywKKyAgICAgICgpID0+IHsg
b2JqZWN0U3RvcmUucHV0KHtpc2JuOid0d28nLCB0aXRsZTondGl0bGUyJ30pOyB9LAorICAgICAg
J1RoZSB0cmFuc2FjdGlvbiBzaG91bGQgbm90IGJlIGFjdGl2ZSBpbiB0aGUgY2FsbGJhY2sgb2Yg
YSByZXF1ZXN0IGFmdGVyICcKKyAgICAgICsgJ2NvbW1pdCgpIGlzIGNhbGxlZC4nKTsKKyAgfSk7
CisgIHR4bi5jb21taXQoKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNl
LCB0eG4pOworICBkYi5jbG9zZSgpOworfSwgJ0EgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGlzIGlu
YWN0aXZlIGluIGZ1dHVyZSByZXF1ZXN0IGNhbGxiYWNrcy4nKTsKKworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRl
c3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2FzZSwgZGIpOworICB9
KTsKKyAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7
CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3JlKCdib29rcycpOworICB0eG4u
Y29tbWl0KCk7CisKKyAgYXNzZXJ0X3Rocm93cygnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywK
KyAgICAgICgpID0+IHsgb2JqZWN0U3RvcmUucHV0KHtpc2JuOidvbmUnLCB0aXRsZTondGl0bGUx
J30pOyB9LAorICAgICAgJ0FmdGVyIGNvbW1pdCBpcyBjYWxsZWQsIHRoZSB0cmFuc2FjdGlvbiBz
aG91bGQgYmUgaW5hY3RpdmUuJyk7CisKKyAgY29uc3QgdHhuMiA9IGRiLnRyYW5zYWN0aW9uKFsn
Ym9va3MnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIub2JqZWN0
U3RvcmUoJ2Jvb2tzJyk7CisgIGNvbnN0IGdldFJlcXVlc3QgPSBvYmplY3RTdG9yZTIuZ2V0KCdv
bmUnKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4yKTsKKyAg
YXNzZXJ0X2VxdWFscyhnZXRSZXF1ZXN0LnJlc3VsdCwgdW5kZWZpbmVkKTsKKworICBkYi5jbG9z
ZSgpOworfSwgJ1B1dHMgaXNzdWVkIGFmdGVyIGNvbW1pdCBhcmUgbm90IGZ1bGZpbGxlZC4nKTsK
KworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0
IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0
ZXN0Q2FzZSwgZGIpOworICB9KTsKKyAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydib29r
cyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3Jl
KCdib29rcycpOworICB0eG4uYWJvcnQoKTsKKyAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRl
RXJyb3InLAorICAgICAgKCkgPT4geyB0eG4uY29tbWl0KCk7IH0sCisgICAgICAnVGhlIHRyYW5z
YWN0aW9uIHNob3VsZCBoYXZlIGJlZW4gYWJvcnRlZC4nKTsKKyAgZGIuY2xvc2UoKTsKK30sICdD
YWxsaW5nIGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRyYW5zYWN0aW9uIHRocm93cy4nKTsKKworCitw
cm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0
ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2Fz
ZSwgZGIpOworICB9KTsKKyAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAn
cmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3JlKCdib29r
cycpOworICB0eG4uY29tbWl0KCk7CisgIGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9y
JywKKyAgICAgICgpID0+IHsgdHhuLmNvbW1pdCgpOyB9LAorICAgICAgJ1RoZSB0cmFuc2FjdGlv
biBzaG91bGQgaGF2ZSBhbHJlYWR5IGNvbW1pdHRlZC4nKTsKKyAgZGIuY2xvc2UoKTsKK30sICdD
YWxsaW5nIGNvbW1pdCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuJyk7CisKKwor
cHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVh
dGVEYXRhYmFzZSh0ZXN0Q2FzZSwgZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENh
c2UsIGRiKTsKKyAgfSk7CisgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwg
J3JlYWR3cml0ZScpOworICBjb25zdCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9v
a3MnKTsKKyAgY29uc3QgcHV0UmVxdWVzdCA9IG9iamVjdFN0b3JlLnB1dCh7aXNibjonb25lJywg
dGl0bGU6J3RpdGxlMSd9KTsKKyAgdHhuLmNvbW1pdCgpOworICBhc3NlcnRfdGhyb3dzKCdJbnZh
bGlkU3RhdGVFcnJvcicsCisgICAgICAoKSA9PiB7IHR4bi5hYm9ydCgpOyB9LAorICAgICAgJ1Ro
ZSB0cmFuc2FjdGlvbiBzaG91bGQgYWxyZWFkeSBoYXZlIGNvbW1pdHRlZC4nKTsKKyAgY29uc3Qg
dHhuMiA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScpOworICBjb25zdCBv
YmplY3RTdG9yZTIgPSB0eG4yLm9iamVjdFN0b3JlKCdib29rcycpOworICBjb25zdCBnZXRSZXF1
ZXN0ID0gb2JqZWN0U3RvcmUyLmdldCgnb25lJyk7CisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2Fj
dGlvbih0ZXN0Q2FzZSwgdHhuMik7CisgIGFzc2VydF9lcXVhbHMoCisgICAgICBnZXRSZXF1ZXN0
LnJlc3VsdC50aXRsZSwKKyAgICAgICd0aXRsZTEnLAorICAgICAgJ0V4cGxpY2l0bHkgY29tbWl0
dGVkIGRhdGEgc2hvdWxkIGJlIGdldHRhYmxlLicpOworICBkYi5jbG9zZSgpOworfSwgJ0NhbGxp
bmcgYWJvcnQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzIGFuZCBkb2VzIG5vdCBw
cmV2ZW50ICcKKyAgICsgJ3BlcnNpc3RpbmcgdGhlIGRhdGEuJyk7CisKKworcHJvbWlzZV90ZXN0
KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0
ZXN0Q2FzZSwgZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENhc2UsIGRiKTsKKyAg
fSk7CisgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScp
OworICBjb25zdCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAgY29u
c3QgcmVsZWFzZVR4bkZ1bmN0aW9uID0ga2VlcEFsaXZlKHRlc3RDYXNlLCB0eG4sICdib29rcycp
OworCisgIC8vIEJyZWFrIHVwIHRoZSBzY29wZSBvZiBleGVjdXRpb24gdG8gZm9yY2UgdGhlIHRy
YW5zYWN0aW9uIGludG8gYW4gaW5hY3RpdmUKKyAgLy8gc3RhdGUuCisgIGF3YWl0IHRpbWVvdXRQ
cm9taXNlKDApOworCisgIGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywKKyAgICAg
ICgpID0+IHsgdHhuLmNvbW1pdCgpOyB9LAorICAgICAgJ1RoZSB0cmFuc2FjdGlvbiBzaG91bGQg
YmUgaW5hY3RpdmUgc28gY2FsbGluZyBjb21taXQgc2hvdWxkIHRocm93LicpOworICByZWxlYXNl
VHhuRnVuY3Rpb24oKTsKKyAgZGIuY2xvc2UoKTsKK30sICdDYWxsaW5nIHR4bi5jb21taXQoKSB3
aGVuIHR4biBpcyBpbmFjdGl2ZSBzaG91bGQgdGhyb3cuJyk7CisKKworcHJvbWlzZV90ZXN0KGFz
eW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0
Q2FzZSwgZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENhc2UsIGRiKTsKKyAgICBj
cmVhdGVOb3RCb29rc1N0b3JlKHRlc3RDYXNlLCBkYik7CisgIH0pOworICAvLyBUeG4xIHNob3Vs
ZCBjb21taXQgYmVmb3JlIHR4bjIsIGV2ZW4gdGhvdWdoIHR4bjIgdXNlcyBjb21taXQoKS4KKyAg
Y29uc3QgdHhuMSA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScpOworICB0
eG4xLm9iamVjdFN0b3JlKCdib29rcycpLnB1dCh7aXNibjogJ29uZScsIHRpdGxlOiAndGl0bGUx
J30pOworICBjb25zdCByZWxlYXNlVHhuRnVuY3Rpb24gPSBrZWVwQWxpdmUodGVzdENhc2UsIHR4
bjEsICdib29rcycpOworCisgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10s
ICdyZWFkd3JpdGUnKTsKKyAgdHhuMi5vYmplY3RTdG9yZSgnYm9va3MnKS5wdXQoe2lzYm46J29u
ZScsIHRpdGxlOid0aXRsZTInfSk7CisgIHR4bjIuY29tbWl0KCk7CisKKyAgLy8gRXhlcmNpc2Ug
dGhlIEluZGV4ZWREQiB0cmFuc2FjdGlvbiBvcmRlcmluZyBieSBleGVjdXRpbmcgb25lIHdpdGgg
YQorICAvLyBkaWZmZXJlbnQgc2NvcGUuCisgIGNvbnN0IHR4bjMgPSBkYi50cmFuc2FjdGlvbihb
J25vdF9ib29rcyddLCAncmVhZHdyaXRlJyk7CisgIHR4bjMub2JqZWN0U3RvcmUoJ25vdF9ib29r
cycpLnB1dCh7J3RpdGxlJzogJ25vdF90aXRsZSd9LCAna2V5Jyk7CisgIHR4bjMub25jb21wbGV0
ZSA9IGZ1bmN0aW9uKCkgeworICAgIHJlbGVhc2VUeG5GdW5jdGlvbigpOworICB9CisgIGF3YWl0
IFByb21pc2UuYWxsKFtwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bjEpLAorICAg
ICAgICAgICAgICAgICAgICAgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4yKV0p
OworCisgIC8vIFJlYWQgdGhlIGRhdGEgYmFjayB0byB2ZXJpZnkgdGhhdCB0eG4yIGV4ZWN1dGVk
IGxhc3QuCisgIGNvbnN0IHR4bjQgPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10sICdyZWFkb25s
eScpOworICBjb25zdCBnZXRSZXF1ZXN0NCA9IHR4bjQub2JqZWN0U3RvcmUoJ2Jvb2tzJykuZ2V0
KCdvbmUnKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG40KTsK
KyAgYXNzZXJ0X2VxdWFscyhnZXRSZXF1ZXN0NC5yZXN1bHQudGl0bGUsICd0aXRsZTInKTsKKyAg
ZGIuY2xvc2UoKTsKK30sICdUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNjb3BlIHNob3VsZCBzdGF5
IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25lICcKKyAgICsgJ2NhbGxzIGNvbW1pdC4nKTsK
KworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0
IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0
ZXN0Q2FzZSwgZGIpOworICB9KTsKKyAgLy8gVHhuMSBjcmVhdGVzIHRoZSBib29rICdvbmUnIHNv
IHRoZSAnYWRkKCknIGJlbG93IGZhaWxzLgorICBjb25zdCB0eG4xID0gZGIudHJhbnNhY3Rpb24o
Wydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIHR4bjEub2JqZWN0U3RvcmUoJ2Jvb2tzJykuYWRk
KHtpc2JuOidvbmUnLCB0aXRsZTondGl0bGUxJ30pOworICB0eG4xLmNvbW1pdCgpOworICBhd2Fp
dCBwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bjEpOworCisgIC8vIFR4bjIgc2hv
dWxkIGFib3J0LCBiZWNhdXNlIHRoZSAnYWRkJyBjYWxsIGlzIGludmFsaWQsIGFuZCBjb21taXQo
KSB3YXMKKyAgLy8gY2FsbGVkLgorICBjb25zdCB0eG4yID0gZGIudHJhbnNhY3Rpb24oWydib29r
cyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIub2JqZWN0U3Rv
cmUoJ2Jvb2tzJyk7CisgIG9iamVjdFN0b3JlMi5wdXQoe2lzYm46J3R3bycsIHRpdGxlOid0aXRs
ZTInfSk7CisgIGNvbnN0IGFkZFJlcXVlc3QgPSBvYmplY3RTdG9yZTIuYWRkKHtpc2JuOidvbmUn
LCB0aXRsZTondGl0bGUyJ30pOworICB0eG4yLmNvbW1pdCgpOworICB0eG4yLm9uY29tcGxldGUg
PSAoKSA9PiB7IGFzc2VydF91bnJlYWNoZWQoCisgICAgJ1RyYW5zYWN0aW9uIHdpdGggaW52YWxp
ZCAiYWRkIiBjYWxsIHNob3VsZCBub3QgYmUgY29tcGxldGVkLicpOyB9OworCisgIC8vIFdhaXQg
Zm9yIHRoZSB0cmFuc2FjdGlvbiB0byBjb21wbGV0ZS4gV2UgaGF2ZSB0byBleHBsaWNpdGx5IHdh
aXQgZm9yIHRoZQorICAvLyBlcnJvciBzaWduYWwgb24gdGhlIHRyYW5zYWN0aW9uIGJlY2F1c2Ug
b2YgdGhlIG5hdHVyZSBvZiB0aGUgdGVzdCB0b29saW5nLgorICBhd2FpdCBQcm9taXNlLmFsbChb
CisgICAgICByZXF1ZXN0V2F0Y2hlcih0ZXN0Q2FzZSwgYWRkUmVxdWVzdCkud2FpdF9mb3IoJ2Vy
cm9yJyksCisgICAgICB0cmFuc2FjdGlvbldhdGNoZXIodGVzdENhc2UsIHR4bjIpLndhaXRfZm9y
KFsnZXJyb3InLCAnYWJvcnQnXSkKKyAgXSk7CisKKyAgLy8gUmVhZCB0aGUgZGF0YSBiYWNrIHRv
IHZlcmlmeSB0aGF0IHR4bjIgd2FzIGFib3J0ZWQuCisgIGNvbnN0IHR4bjMgPSBkYi50cmFuc2Fj
dGlvbihbJ2Jvb2tzJ10sICdyZWFkb25seScpOworICBjb25zdCBvYmplY3RTdG9yZTMgPSB0eG4z
Lm9iamVjdFN0b3JlKCdib29rcycpOworICBjb25zdCBnZXRSZXF1ZXN0MSA9IG9iamVjdFN0b3Jl
My5nZXQoJ29uZScpOworICBjb25zdCBnZXRSZXF1ZXN0MiA9IG9iamVjdFN0b3JlMy5jb3VudCgn
dHdvJyk7CisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhuMyk7Cisg
IGFzc2VydF9lcXVhbHMoZ2V0UmVxdWVzdDEucmVzdWx0LnRpdGxlLCAndGl0bGUxJyk7CisgIGFz
c2VydF9lcXVhbHMoZ2V0UmVxdWVzdDIucmVzdWx0LCAwKTsKKyAgZGIuY2xvc2UoKTsKK30sICdU
cmFuc2FjdGlvbnMgdGhhdCBleHBsaWNpdGx5IGNvbW1pdCBhbmQgaGF2ZSBlcnJvcnMgc2hvdWxk
IGFib3J0LicpOworCisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0
IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodGVzdENhc2UsIGRiID0+IHsKKyAgICBjcmVhdGVC
b29rc1N0b3JlKHRlc3RDYXNlLCBkYik7CisgIH0pOworICBjb25zdCB0eG4xID0gZGIudHJhbnNh
Y3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIHR4bjEub2JqZWN0U3RvcmUoJ2Jvb2tz
JykuYWRkKHtpc2JuOiAnb25lJywgdGl0bGU6ICd0aXRsZTEnfSk7CisgIHR4bjEuY29tbWl0KCk7
CisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhuMSk7CisKKyAgLy8g
VGhlIHNlY29uZCBhZGQgcmVxdWVzdCB3aWxsIHRocm93IGFuIGVycm9yLCBidXQgdGhlIG9uZXJy
b3IgaGFuZGxlciB3aWxsCisgIC8vIGFwcHJvcHJpYXRlbHkgY2F0Y2ggdGhlIGVycm9yIGFsbG93
aW5nIHRoZSB2YWxpZCBwdXQgcmVxdWVzdCBvbiB0aGUKKyAgLy8gdHJhbnNhY3Rpb24gdG8gY29t
bWl0LgorICBjb25zdCB0eG4yID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRl
Jyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIub2JqZWN0U3RvcmUoJ2Jvb2tzJyk7Cisg
IG9iamVjdFN0b3JlMi5wdXQoe2lzYm46ICd0d28nLCB0aXRsZTondGl0bGUyJ30pOworICBjb25z
dCBhZGRSZXF1ZXN0ID0gb2JqZWN0U3RvcmUyLmFkZCh7aXNibjogJ29uZScsIHRpdGxlOid1bnJl
YWNoZWRfdGl0bGUnfSk7CisgIGFkZFJlcXVlc3Qub25lcnJvciA9IChldmVudCkgPT4geworICAg
IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgYWRkUmVxdWVzdC50cmFuc2FjdGlvbi5jb21t
aXQoKTsKKyAgfTsKKworICAvLyBXYWl0IGZvciB0aGUgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUu
IFdlIGhhdmUgdG8gZXhwbGljaXRseSB3YWl0IGZvciB0aGUKKyAgLy8gZXJyb3Igc2lnbmFsIG9u
IHRoZSB0cmFuc2FjdGlvbiBiZWNhdXNlIG9mIHRoZSBuYXR1cmUgb2YgdGhlIHRlc3QgdG9vbGlu
Zy4KKyAgYXdhaXQgdHJhbnNhY3Rpb25XYXRjaGVyKHRlc3RDYXNlLHR4bjIpLndhaXRfZm9yKFsn
ZXJyb3InLCAnY29tcGxldGUnXSkKKworICAvLyBSZWFkIHRoZSBkYXRhIGJhY2sgdG8gdmVyaWZ5
IHRoYXQgdHhuMiB3YXMgY29tbWl0dGVkLgorICBjb25zdCB0eG4zID0gZGIudHJhbnNhY3Rpb24o
Wydib29rcyddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgb2JqZWN0U3RvcmUzID0gdHhuMy5vYmpl
Y3RTdG9yZSgnYm9va3MnKTsKKyAgY29uc3QgZ2V0UmVxdWVzdDEgPSBvYmplY3RTdG9yZTMuZ2V0
KCdvbmUnKTsKKyAgY29uc3QgZ2V0UmVxdWVzdDIgPSBvYmplY3RTdG9yZTMuZ2V0KCd0d28nKTsK
KyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4zKTsKKyAgYXNzZXJ0
X2VxdWFscyhnZXRSZXF1ZXN0MS5yZXN1bHQudGl0bGUsICd0aXRsZTEnKTsKKyAgYXNzZXJ0X2Vx
dWFscyhnZXRSZXF1ZXN0Mi5yZXN1bHQudGl0bGUsICd0aXRsZTInKTsKKyAgZGIuY2xvc2UoKTsK
K30sICdUcmFuc2FjdGlvbnMgdGhhdCBoYW5kbGUgYWxsIGVycm9ycyBwcm9wZXJseSBzaG91bGQg
YmUgYmVoYXZlIGFzICcgKworICAgJ2V4cGVjdGVkIHdoZW4gYW4gZXhwbGljaXQgY29tbWl0IGlz
IGNhbGxlZCBpbiBhbiBvbmVycm9yIGhhbmRsZXIuJyk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0
LmFueS53b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3Jr
ZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXIuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJl
ZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVz
dCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5h
bnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5hbnkuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
IEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1
Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5hbnkuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29y
LXJlcXVlc3QuYW55LmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1yZXF1ZXN0LmFueS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQxIEBACisvLyBNRVRBOiBzY3JpcHQ9c3VwcG9ydC5q
cworCitmdW5jdGlvbiBjdXJzb3JSZXF1ZXN0VGVzdCh7IHVzZUluZGV4LCB1c2VLZXlDdXJzb3Ig
fSkgeworICBpbmRleGVkZGJfdGVzdCgKKyAgICAodCwgZGIpID0+IHsKKyAgICAgIGNvbnN0IG9i
alN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoIm15X29iamVjdHN0b3JlIik7CisgICAgICBv
YmpTdG9yZS5hZGQoImRhdGEiLCAgMSk7CisgICAgICBvYmpTdG9yZS5jcmVhdGVJbmRleCgibXlf
aW5kZXgiLCAiIik7CisgICAgfSwKKyAgICAodCwgZGIpID0+IHsKKyAgICAgIGNvbnN0IHR4ID0g
ZGIudHJhbnNhY3Rpb24oIm15X29iamVjdHN0b3JlIik7CisgICAgICBsZXQgc291cmNlID0gdHgu
b2JqZWN0U3RvcmUoIm15X29iamVjdHN0b3JlIik7CisgICAgICBpZiAodXNlSW5kZXgpIHNvdXJj
ZSA9IHNvdXJjZS5pbmRleCgnbXlfaW5kZXgnKTsKKyAgICAgIGNvbnN0IHJlcSA9IHVzZUtleUN1
cnNvciA/IHNvdXJjZS5vcGVuS2V5Q3Vyc29yKCkgOiBzb3VyY2Uub3BlbkN1cnNvcigpOworICAg
ICAgbGV0IGN1cnNvcjsKKworICAgICAgcmVxLm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKCgpID0+
IHsKKyAgICAgICAgY3Vyc29yID0gcmVxLnJlc3VsdDsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhj
dXJzb3IucmVxdWVzdCwgcmVxLCAnY3Vyc29yLnJlcXVlc3QnKTsKKyAgICAgICAgYXNzZXJ0X3Jl
YWRvbmx5KGN1cnNvciwgJ3JlcXVlc3QnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhjdXJzb3Iu
cmVxdWVzdCwgY3Vyc29yLnJlcXVlc3QsICdjdXJzb3IucmVxdWVzdCBkb2VzIG5vdCBjaGFuZ2Un
KTsKKyAgICAgIH0pOworCisgICAgICByZXEudHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHQuc3Rl
cF9mdW5jKCgpID0+IHsKKyAgICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYygoKSA9PiB7Cisg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhjdXJzb3IucmVxdWVzdCwgcmVxLCAnY3Vyc29yLnJlcXVl
c3QgYWZ0ZXIgdHJhbnNhY3Rpb24gY29tcGxldGUnKTsKKyAgICAgICAgICB0LmRvbmUoKTsKKyAg
ICAgICAgfSksIDApOworICAgICAgfSk7CisKKyAgICAgIHJlcS50cmFuc2FjdGlvbi5vbmVycm9y
ID0gdC51bnJlYWNoZWRfZnVuYygnVHJhbnNhY3Rpb24gZXJyb3InKTsKKyAgICB9LAorICAgIGBj
dXJzb3IucmVxdWVzdCBmcm9tICR7dXNlSW5kZXggPyAnSURCSW5kZXgnIDogJ0lEQk9iamVjdFN0
b3JlJ30uJHt1c2VLZXlDdXJzb3IgPyAnb3BlbktleUN1cnNvcicgOiAnb3BlbkN1cnNvcid9YAor
ICApOworfQorCitmb3IgKGNvbnN0IHVzZUluZGV4IG9mIFtmYWxzZSwgdHJ1ZV0pIHsKKyAgZm9y
IChjb25zdCB1c2VLZXlDdXJzb3Igb2YgW2ZhbHNlLCB0cnVlXSkgeworICAgIGN1cnNvclJlcXVl
c3RUZXN0KHsgdXNlSW5kZXgsIHVzZUtleUN1cnNvciB9KTsKKyAgfQorfQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29y
LXJlcXVlc3QuYW55Lndvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1yZXF1ZXN0LmFu
eS53b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5hbnkud29ya2Vy
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVx
dWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVk
IHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFu
Y2VfaW5kZXgyLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDIuaHRtCShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDIuaHRtCSh3b3JraW5nIGNv
cHkpCkBAIC0xMCw3ICsxMCw3IEBACiA8c2NyaXB0PgogCiAgICAgdmFyIGRiLAotICAgICAgdCA9
IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9
IGFzeW5jX3Rlc3QoKSwKICAgICAgIHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIs
IGlLZXk6ICJpbmRleEtleV8wIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFy
eUtleV8xIiwgaUtleTogImluZGV4S2V5XzEiIH0gXTsKIApJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2Vf
aW5kZXgzLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDMuaHRtCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDMuaHRtCSh3b3JraW5nIGNvcHkp
CkBAIC0xMCw3ICsxMCw3IEBACiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAKICAg
ICB2YXIgZGIsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6
IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgcmVjb3JkcyA9IFsgeyBw
S2V5OiAicHJpbWFyeUtleV8wIiwgaUtleTogImluZGV4S2V5XzAiIH0sCiAgICAgICAgICAgICAg
ICAgICB7IHBLZXk6ICJwcmltYXJ5S2V5XzEiLCBpS2V5OiAiaW5kZXhLZXlfMSIgfSBdOwogCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDUuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZh
bmNlX2luZGV4NS5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNlX2luZGV4
NS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAKIDxzY3JpcHQ+CiAgICAgdmFy
IGRiLAogICAgICAgY291bnQgPSAwLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0
bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rlc3QoKSwKICAgICAgIHJl
Y29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIsICAgaUtleTogImluZGV4S2V5XzAiIH0s
CiAgICAgICAgICAgICAgICAgICB7IHBLZXk6ICJwcmltYXJ5S2V5XzEiLCAgIGlLZXk6ICJpbmRl
eEtleV8xIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFyeUtleV8xLTIiLCBp
S2V5OiAiaW5kZXhLZXlfMSIgfSBdLApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4NS5odG0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4NS5odG0JKHJldmlzaW9uIDI1MDI2
MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDUuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3
ICsxMSw3IEBACiA8c2NyaXB0PgogCiAgICAgdmFyIGRiLAotICAgICAgdCA9IGFzeW5jX3Rlc3Qo
ZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rlc3Qo
KSwKICAgICAgIHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIsICAgaUtleTogImlu
ZGV4S2V5XzAiIH0sCiAgICAgICAgICAgICAgICAgICB7IHBLZXk6ICJwcmltYXJ5S2V5XzEiLCAg
IGlLZXk6ICJpbmRleEtleV8xIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFy
eUtleV8xLTIiLCBpS2V5OiAiaW5kZXhLZXlfMSIgfSwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9p
bmRleDYuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDYuaHRtCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfaW5kZXg2Lmh0bQkod29ya2luZyBjb3B5
KQpAQCAtMTEsNyArMTEsNyBAQAogPHNjcmlwdD4KIAogICAgIHZhciBkYiwKLSAgICAgIHQgPSBh
c3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwKKyAgICAgIHQgPSBh
c3luY190ZXN0KCksCiAgICAgICByZWNvcmRzID0gWyB7IHBLZXk6ICJwcmltYXJ5S2V5XzAiLCAg
IGlLZXk6ICJpbmRleEtleV8wIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFy
eUtleV8xIiwgICBpS2V5OiAiaW5kZXhLZXlfMSIgfSwKICAgICAgICAgICAgICAgICAgIHsgcEtl
eTogInByaW1hcnlLZXlfMS0yIiwgaUtleTogImluZGV4S2V5XzEiIH0sCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3Jf
Y29udGludWVfaW52YWxpZC5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2ludmFs
aWQuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfaW52YWxpZC5odG0J
KHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBACiA8c2NyaXB0PgogCiAgICAgdmFyIGRiLAot
ICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pOwor
ICAgICAgdCA9IGFzeW5jX3Rlc3QoKTsKIAogICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIodCk7
CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJz
b3JfaXRlcmF0aW5nLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfaXRlcmF0aW5nLmh0bQkocmV2
aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJhdGluZy5odG0JKHdvcmtpbmcgY29weSkKQEAg
LTgsNyArOCw3IEBACiA8c2NyaXB0PgogICAgIHZhciBkYiwKICAgICAgIGNvdW50ID0gMCwKLSAg
ICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KTsKKyAg
ICAgIHQgPSBhc3luY190ZXN0KCk7CiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOwog
ICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29y
X2l0ZXJhdGluZ19pbmRleDIuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5k
ZXgyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJhdGluZ19pbmRleDIuaHRt
CSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogPHNjcmlwdD4KICAgICB2YXIgZGIsCiAg
ICAgICBjb3VudCA9IDAsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3Rp
bWVvdXQ6IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgcmVjb3JkcyA9
IFsgeyBwS2V5OiAicHJpbWFyeUtleV8wIiwgb2JqOiB7IGlLZXk6ICJpS2V5XzAiIH19LAogICAg
ICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFyeUtleV8yIiwgb2JqOiB7IGlLZXk6ICJpS2V5
XzIiIH19IF0sCiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXguaHRtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXguaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJz
b3JfaXRlcmF0aW5nX2luZGV4Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcgQEAKIDxz
Y3JpcHQ+CiAgICAgdmFyIGRiLAogICAgICAgY291bnQgPSAwLAotICAgICAgdCA9IGFzeW5jX3Rl
c3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rl
c3QoKSwKICAgICAgIHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIsIG9iajogeyBp
S2V5OiAiaUtleV8wIiB9fSwKICAgICAgICAgICAgICAgICAgIHsgcEtleTogInByaW1hcnlLZXlf
MSIsIG9iajogeyBpS2V5OiAiaUtleV8xIiB9fSwKICAgICAgICAgICAgICAgICAgIHsgcEtleTog
InByaW1hcnlLZXlfMiIsIG9iajogeyBpS2V5OiAiaUtleV8yIiB9fSBdLApJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29y
X2l0ZXJhdGluZ19vYmplY3RzdG9yZTIuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRp
bmdfb2JqZWN0c3RvcmUyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJhdGlu
Z19vYmplY3RzdG9yZTIuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogPHNjcmlw
dD4KICAgICB2YXIgZGIsCiAgICAgICBjb3VudCA9IDAsCi0gICAgICB0ID0gYXN5bmNfdGVzdChk
b2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgp
LAogICAgICAgcmVjb3JkcyA9IFsgeyBwS2V5OiAicHJpbWFyeUtleV8wIiB9LAogICAgICAgICAg
ICAgICAgICAgeyBwS2V5OiAicHJpbWFyeUtleV8yIiB9IF0sCiAgICAgICBleHBlY3RlZF9yZWNv
cmRzID0gWyB7IHBLZXk6ICJwcmltYXJ5S2V5XzAiIH0sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfaXRlcmF0aW5n
X29iamVjdHN0b3JlLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfaXRlcmF0aW5nX29iamVjdHN0
b3JlLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJhdGluZ19vYmplY3RzdG9y
ZS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBACiA8c2NyaXB0PgogICAgIHZhciBk
YiwKICAgICAgIGNvdW50ID0gMCwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxl
LCB7dGltZW91dDogMTAwMDB9KSwKKyAgICAgIHQgPSBhc3luY190ZXN0KCksCiAgICAgICByZWNv
cmRzID0gWyB7IHBLZXk6ICJwcmltYXJ5S2V5XzAiIH0sCiAgICAgICAgICAgICAgICAgICB7IHBL
ZXk6ICJwcmltYXJ5S2V5XzEiIH0sCiAgICAgICAgICAgICAgICAgICB7IHBLZXk6ICJwcmltYXJ5
S2V5XzIiIH0gXSwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU0LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlNC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU0LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBJREJDdXJzb3IudXBk
YXRlKCkgLSBpbmRleCAtIG1vZGlmeSBhIHJlY29yZCBpbiB0aGUgb2JqZWN0IHN0b3JlIAorUEFT
UyBJREJDdXJzb3IudXBkYXRlKCkgLSBpbmRleCAtIG1vZGlmeSBhIHJlY29yZCBpbiB0aGUgb2Jq
ZWN0IHN0b3JlICAKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3RzdG9yZTQuaHRtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU0Lmh0bQkocmV2aXNpb24gMjUwMjYw
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3RzdG9yZTQuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC04
LDcgKzgsNyBAQAogPHNjcmlwdD4KIAogICAgIHZhciBkYiwKLSAgICAgIHQgPSBhc3luY190ZXN0
KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KQorICAgICAgdCA9IGFzeW5jX3Rlc3Qo
KQogCiAgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKICAgICBvcGVuX3JxLm9udXBncmFk
ZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlLWNyZWF0ZU9iamVjdFN0b3Jl
LWV4Y2VwdGlvbi1vcmRlci5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2UtY3JlYXRlT2JqZWN0
U3RvcmUtZXhjZXB0aW9uLW9yZGVyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2Ut
Y3JlYXRlT2JqZWN0U3RvcmUtZXhjZXB0aW9uLW9yZGVyLmh0bQkod29ya2luZyBjb3B5KQpAQCAt
OCw5ICs4LDEzIEBACiA8c2NyaXB0PgogCiBpbmRleGVkZGJfdGVzdCgKLSAgKHQsIGRiLCB0eG4p
ID0+IHsKKyAgKHQsIGRiLCB0eG4sIHJxKSA9PiB7CiAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J3MnKTsKIAorICAgIC8vIEFja25vd2xlZGdlIHRoZSBlcnJvciwgdG8gcHJldmVudCB3aW5kb3cu
ZXJyb3IgZnJvbSBmaXJpbmcgaW4KKyAgICAvLyBicm93c2VycyB0aGF0IGltcGxlbWVudCB0aGF0
LgorICAgIHJxLm9uZXJyb3IgPSBlID0+IHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9OworCiAgICAg
dHhuLm9uYWJvcnQgPSAoKSA9PiB7CiAgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKCgpID0+
IHsKICAgICAgICAgYXNzZXJ0X3Rocm93cygKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVjdFN0
b3JlNy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3Rv
cmU3LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2Jq
ZWN0U3RvcmU3LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMgQEAKIAot
UEFTUyBJREJEYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgpIC0gY3JlYXRlIGFuIG9iamVjdCBz
dG9yZSB3aXRoIGFuIHVua25vd24gb3B0aW9uYWwgcGFyYW1ldGVyIAorUEFTUyBJREJEYXRhYmFz
ZS5jcmVhdGVPYmplY3RTdG9yZSgpIC0gY3JlYXRlIGFuIG9iamVjdCBzdG9yZSB3aXRoIGFuIHVu
a25vd24gb3B0aW9uYWwgcGFyYW1ldGVyICAKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0
U3RvcmU3Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9jcmVhdGVPYmplY3RTdG9yZTcuaHRt
CShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9jcmVhdGVPYmplY3RTdG9yZTcuaHRtCSh3
b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogCiA8c2NyaXB0PgogCi12YXIgdCA9IGFzeW5j
X3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAordmFyIHQgPSBhc3luY190
ZXN0KCksCiAgICAgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpCiAKIG9wZW5fcnEub251cGdyYWRlbmVl
ZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmUxMC0x
MDAwZW5kcy5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmUxMC0x
MDAwZW5kcy5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVjdFN0
b3JlMTAtMTAwMGVuZHMuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogCiA8c2Ny
aXB0PgogdmFyIGRiLAotICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91
dDogNjAwMDAwfSksCisgICAgdCA9IGFzeW5jX3Rlc3QoKSwKICAgICBvcGVuX3JxID0gY3JlYXRl
ZGIodCkKIAogb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJk
YXRhYmFzZV9kZWxldGVPYmplY3RTdG9yZTQtbm90X3JldXNlZC5odG0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
ZGF0YWJhc2VfZGVsZXRlT2JqZWN0U3RvcmU0LW5vdF9yZXVzZWQuaHRtCShyZXZpc2lvbiAyNTAy
NjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJkYXRhYmFzZV9kZWxldGVPYmplY3RTdG9yZTQtbm90X3JldXNlZC5odG0JKHdvcmtp
bmcgY29weSkKQEAgLTgsNyArOCw3IEBACiAKIDxzY3JpcHQ+CiAKLXZhciB0ID0gYXN5bmNfdGVz
dChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCit2YXIgdCA9IGFzeW5jX3Rlc3Qo
KSwKICAgICBrZXlzID0gW10sCiAgICAgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpCiAKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRh
dGFiYXNlX3RyYW5zYWN0aW9uNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2Vf
dHJhbnNhY3Rpb240LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2Vf
dHJhbnNhY3Rpb240LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMgQEAK
IAotUEFTUyBJREJEYXRhYmFzZS50cmFuc2FjdGlvbigpIC0gYXR0ZW1wdCB0byBvcGVuIGEgdHJh
bnNhY3Rpb24gd2l0aCBpbnZhbGlkIG1vZGUgCitQQVNTIElEQkRhdGFiYXNlLnRyYW5zYWN0aW9u
KCkgLSBhdHRlbXB0IHRvIG9wZW4gYSB0cmFuc2FjdGlvbiB3aXRoIGludmFsaWQgbW9kZSAgCiAK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmRhdGFiYXNlX3RyYW5zYWN0aW9uNC5odG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2Vf
dHJhbnNhY3Rpb240Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfdHJhbnNhY3Rp
b240Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIAogPHNjcmlwdD4KICAgICB2
YXIgZGIsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEw
MDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgb3Blbl9ycSA9IGNyZWF0ZWRi
KHQpOwogCiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJmYWN0b3J5LWRhdGFiYXNlcy1vcGFxdWUtb3JpZ2luLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFj
dG9yeS1kYXRhYmFzZXMtb3BhcXVlLW9yaWdpbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rv
cnktZGF0YWJhc2VzLW9wYXF1ZS1vcmlnaW4uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+SURC
RmFjdG9yeS5kYXRhYmFzZXMoKSBhbmQgb3BhcXVlIG9yaWdpbnM8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVu
Y3Rpb24gbG9hZF9pZnJhbWUoc3JjLCBzYW5kYm94KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
ZnJhbWUnKTsKKyAgICBpZnJhbWUub25sb2FkID0gKCkgPT4geyByZXNvbHZlKGlmcmFtZSk7IH07
CisgICAgaWYgKHNhbmRib3gpCisgICAgICBpZnJhbWUuc2FuZGJveCA9IHNhbmRib3g7CisgICAg
aWZyYW1lLnNyY2RvYyA9IHNyYzsKKyAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJzsK
KyAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKyAgfSk7
Cit9CisKK2Z1bmN0aW9uIHdhaXRfZm9yX21lc3NhZ2UoaWZyYW1lKSB7CisgIHJldHVybiBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2Un
LCBmdW5jdGlvbiBsaXN0ZW5lcihlKSB7CisgICAgICBpZiAoZS5zb3VyY2UgPT09IGlmcmFtZS5j
b250ZW50V2luZG93KSB7CisgICAgICAgIHJlc29sdmUoZS5kYXRhKTsKKyAgICAgICAgc2VsZi5y
ZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgbGlzdGVuZXIpOworICAgICAgfQorICAgIH0p
OworICB9KTsKK30KKworY29uc3Qgc2NyaXB0ID0KKyAgJzxzY3JpcHQ+JyArCisgICcgIHdpbmRv
dy5vbm1lc3NhZ2UgPSAoKSA9PiB7JyArCisgICcgICAgdHJ5IHsgJyArCisgICcgICAgICBpZiAo
IWluZGV4ZWREQiB8fCAhaW5kZXhlZERCLmRhdGFiYXNlcykgeycgKworICAnICAgICAgICB3aW5k
b3cucGFyZW50LnBvc3RNZXNzYWdlKHtyZXN1bHQ6ICJpbmRleGVkREIuZGF0YWJhc2VzIHVuZGVm
aW5lZCJ9LCAiKiIpJyArCisgICcgICAgICB9JyArCisgICcgICAgICBpbmRleGVkREIuZGF0YWJh
c2VzKCkudGhlbignICsKKyAgJyAgICAgICAgKCkgPT4gd2luZG93LnBhcmVudC5wb3N0TWVzc2Fn
ZSh7cmVzdWx0OiAibm8gZXhjZXB0aW9uIn0sICIqIiksJyArCisgICcgICAgICAgIGV4ID0+IHdp
bmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe3Jlc3VsdDogZXgubmFtZX0sICIqIikpOycgKworICAn
ICAgIH0gY2F0Y2goZSkgeyAnICsKKyAgJyAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uo
e3Jlc3VsdDogZS5uYW1lICsgIiB0aHJvd24sIG5vdCByZWplY3RlZCJ9LCAiKiIpJyArCisgICcg
ICAgfScrCisgICcgIH07JyArCisgICc8XC9zY3JpcHQ+JzsKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICBjb25zdCBpZnJhbWUgPSBhd2FpdCBsb2FkX2lmcmFtZShzY3JpcHQpOworICBp
ZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7fSwgJyonKTsKKyAgY29uc3QgbWVzc2Fn
ZSA9IGF3YWl0IHdhaXRfZm9yX21lc3NhZ2UoaWZyYW1lKTsKKyAgYXNzZXJ0X2VxdWFscyhtZXNz
YWdlLnJlc3VsdCwgJ25vIGV4Y2VwdGlvbicsCisgICAgICAgICAgICAgICAgJ0lEQkZhY3Rvcnku
ZGF0YWJhc2VzKCkgc2hvdWxkIG5vdCByZWplY3QnKTsKK30sICdJREJGYWN0b3J5LmRhdGFiYXNl
cygpIGluIG5vbi1zYW5kYm94ZWQgaWZyYW1lIHNob3VsZCBub3QgcmVqZWN0Jyk7CisKK3Byb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgaWZyYW1lID0gYXdhaXQgbG9hZF9pZnJhbWUo
c2NyaXB0LCAnYWxsb3ctc2NyaXB0cycpOworICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVz
c2FnZSh7fSwgJyonKTsKKyAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IHdhaXRfZm9yX21lc3NhZ2Uo
aWZyYW1lKTsKKyAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLnJlc3VsdCwgJ1NlY3VyaXR5RXJyb3In
LAorICAgICAgICAgICAgICAgICdQcm9taXNlIHNob3VsZCBiZSByZWplY3RlZCB3aXRoIFNlY3Vy
aXR5RXJyb3InKTsKK30sICdJREJGYWN0b3J5LmRhdGFiYXNlcygpIGluIHNhbmRib3hlZCBpZnJh
bWUgc2hvdWxkIHJlamVjdCcpOworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5LW9yaWdpbi1pc29s
YXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5LW9yaWdpbi1pc29sYXRpb24uaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5LW9yaWdpbi1pc29sYXRpb24uaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5EYXRhYmFzZXMg
b24gZGlmZmVyZW50IG9yaWdpbnMgdXNlIHNlcGFyYXRlIGxvY2tpbmc8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InN1
cHBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InN1cHBvcnQtcHJvbWlzZXMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKwordmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKwor
cHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgYXdhaXQgZGVsZXRlQWxsRGF0YWJh
c2VzKHRlc3RDYXNlKTsKKworICAvLyBDcmVhdGUgYW4gaWZyYW1lIHRvIG9wZW4gYW5kIGhvbGQg
YSBkYXRhYmFzZSBvbiBhIGRpZmZlcmVudCBvcmlnaW4uCisgIHZhciBpZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgdmFyIG5ld0xvY2F0aW9uID0gd2luZG93Lmxv
Y2F0aW9uLmhyZWYucmVwbGFjZSgnd3d3JywgJ3d3dzInKTsKKworICBjb25zdCBrZWVwYWxpdmVf
d2F0Y2hlciA9IG5ldyBFdmVudFdhdGNoZXIodGVzdENhc2UsIHdpbmRvdywgJ21lc3NhZ2UnKTsK
KyAgaWZyYW1lLnNyYyA9IGhvc3RfaW5mby5IVFRQX1JFTU9URV9PUklHSU4gKworICAgICAgJy9J
bmRleGVkREIvcmVzb3VyY2VzL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi1pZnJhbWUuaHRt
bCc7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKworICAvLyBXYWl0IHVu
dGlsIHRoZSBpZnJhbWUgc3RhcnRzIGl0cyB0cmFuc2FjdGlvbi4KKyAgdmFyIGV2ZW50ID0gYXdh
aXQga2VlcGFsaXZlX3dhdGNoZXIud2FpdF9mb3IoJ21lc3NhZ2UnKTsKKyAgYXNzZXJ0X2VxdWFs
cygia2VlcF9hbGl2ZV9zdGFydGVkIiwgZXZlbnQuZGF0YSk7CisKKyAgLy8gQ3JlYXRlIG91ciBv
d24gZGF0YWJhc2Ugd2l0aCB0aGUgc2FtZSBuYW1lLCBhbmQgcGVyZm9ybSBhIHNpbXBsZSBnZXQu
CisgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlTmFtZWREYXRhYmFzZSgKKyAgICAgIHRlc3RDYXNl
LCAnZGItaXNvbGF0aW9uLXRlc3QnLCBkYXRhYmFzZSA9PiB7CisgICAgICAgIGRhdGFiYXNlLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzJyk7CisgICAgICB9KTsKKyAgY29uc3QgdHggPSBkYi50cmFuc2Fj
dGlvbigncycpOworICB2YXIgcmVxdWVzdCA9IHR4Lm9iamVjdFN0b3JlKCdzJykuZ2V0KDApOwor
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHRlc3RDYXNlLnN0ZXBfZnVuY19kb25lKCk7CisgIHJlcXVl
c3Qub25lcnJvciA9IHRlc3RDYXNlLnVucmVhY2hlZF9mdW5jKCJUaGVyZSBzaG91bGQgYmUgbm8g
ZXJyb3JzLiIpOworfSwgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgb3JpZ2lucyBoYXZlIHNlcGFy
YXRlIGxvY2tpbmcgc2NoZW1lcyIpOworCis8L3NjcmlwdD4KKworPGRpdiBpZD0ibG9nIj48L2Rp
dj4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmZhY3RvcnlfZGVsZXRlRGF0YWJhc2UzLmh0bQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0
b3J5X2RlbGV0ZURhdGFiYXNlMy5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3RvcnlfZGVs
ZXRlRGF0YWJhc2UzLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAKIAogPHNjcmlw
dD4KICAgICB2YXIgZGIKLSAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoZG9j
dW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLCB1bmRlZmluZWQsIDkpCisgICAgdmFyIG9w
ZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCksIHVuZGVmaW5lZCwgOSkKIAogICAgIG9wZW5f
cnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAgICAgICBkYiA9IGUudGFyZ2V0
LnJlc3VsdApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMi5odG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9v
cGVuMi5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3BlbjIuaHRtCSh3b3JraW5n
IGNvcHkpCkBAIC02LDEyICs2LDEzIEBACiA8c2NyaXB0IHNyYz1zdXBwb3J0LmpzPjwvc2NyaXB0
PgogCiA8c2NyaXB0PgotICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdCgpLCAn
ZGF0YWJhc2VfbmFtZScsIDEzKTsKKyAgICB2YXIgZGF0YWJhc2VfbmFtZSA9IGRvY3VtZW50Lmxv
Y2F0aW9uICsgJy1kYXRhYmFzZV9uYW1lJzsKKyAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFz
eW5jX3Rlc3QoKSwgZGF0YWJhc2VfbmFtZSwgMTMpOwogCiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVu
ZWVkZWQgPSBmdW5jdGlvbihlKSB7fTsKICAgICBvcGVuX3JxLm9uc3VjY2VzcyA9IGZ1bmN0aW9u
KGUpIHsKICAgICAgICAgdmFyIGRiID0gZS50YXJnZXQucmVzdWx0OwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKGRiLm5hbWUsICdkYXRhYmFzZV9uYW1lJywgJ2RiLm5hbWUnKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhkYi5uYW1lLCBkYXRhYmFzZV9uYW1lLCAnZGIubmFtZScpOwogICAgICAgICBh
c3NlcnRfZXF1YWxzKGRiLnZlcnNpb24sIDEzLCAnZGIudmVyc2lvbicpOwogICAgICAgICB0aGlz
LmRvbmUoKTsKICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW40Lmh0bQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJm
YWN0b3J5X29wZW40Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuNC5odG0J
KHdvcmtpbmcgY29weSkKQEAgLTYsNyArNiw3IEBACiA8c2NyaXB0IHNyYz1zdXBwb3J0LmpzPjwv
c2NyaXB0PgogCiA8c2NyaXB0PgotICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVz
dCgpLCAnZGF0YWJhc2VfbmFtZScpOworICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNf
dGVzdCgpLCBkb2N1bWVudC5sb2NhdGlvbiArICctZGF0YWJhc2VfbmFtZScpOwogCiAgICAgb3Bl
bl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIGFzc2VydF9lcXVh
bHMoZS50YXJnZXQucmVzdWx0LnZlcnNpb24sIDEsICJkYi52ZXJzaW9uIik7CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0
b3J5X29wZW41Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW41Lmh0bQkocmV2aXNpb24g
MjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiZmFjdG9yeV9vcGVuNS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTYsNyArNiw3
IEBACiA8c2NyaXB0IHNyYz1zdXBwb3J0LmpzPjwvc2NyaXB0PgogCiA8c2NyaXB0PgotICAgIHZh
ciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdCgpLCAnZGF0YWJhc2VfbmFtZScpOworICAg
IHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdCgpLCBkb2N1bWVudC5sb2NhdGlvbiAr
ICctZGF0YWJhc2VfbmFtZScpOwogCiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5j
dGlvbigpIHt9OwogICAgIG9wZW5fcnEub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
ZmFjdG9yeV9vcGVuMTAuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3BlbjEwLmh0bQkocmV2
aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTAuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC03
LDcgKzcsNyBAQAogCiA8c2NyaXB0PgogICAgIHZhciBkYiwgZGIyOwotICAgIHZhciBvcGVuX3Jx
ID0gY3JlYXRlZGIoYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSks
IHVuZGVmaW5lZCwgOSk7CisgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCks
IHVuZGVmaW5lZCwgOSk7CiAKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9u
KGUpIHsKICAgICAgICAgZGIgPSBlLnRhcmdldC5yZXN1bHQ7CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4x
MS5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTEuaHRtCShyZXZpc2lvbiAyNTAyNjAp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJmYWN0b3J5X29wZW4xMS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBACiA8
c2NyaXB0PgogICAgIHZhciBkYjsKICAgICB2YXIgY291bnRfZG9uZSA9IDA7Ci0gICAgdmFyIG9w
ZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAw
MDB9KSk7CisgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCkpOwogCiAgICAg
b3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIGRiID0gZS50
YXJnZXQucmVzdWx0OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTIuaHRtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZh
Y3Rvcnlfb3BlbjEyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTIuaHRt
CSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogCiA8c2NyaXB0PgogICAgIHZhciBkYjsK
LSAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0
aW1lb3V0OiAxMDAwMH0pLCB1bmRlZmluZWQsIDkpOworICAgIHZhciBvcGVuX3JxID0gY3JlYXRl
ZGIoYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSksIHVuZGVmaW5lZCwgOSk7CiAgICAgdmFyIG9w
ZW4yX3QgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlICsgIiAtIHNlY29uZCB1cGdyYWRlIik7
CiAKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmlu
ZGV4LW11bHRpZW50cnktYXJyYXlrZXlwYXRoLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1tdWx0
aWVudHJ5LWFycmF5a2V5cGF0aC5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LW11bHRp
ZW50cnktYXJyYXlrZXlwYXRoLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAKIDxz
Y3JpcHQgc3JjPSJzdXBwb3J0LmpzIj48L3NjcmlwdD4KIAogPHNjcmlwdD4KLSAgICBjcmVhdGVk
Yihhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSkub251cGdyYWRl
bmVlZGVkID0gZnVuY3Rpb24oZSkgeworICAgIGNyZWF0ZWRiKGFzeW5jX3Rlc3QoKSkub251cGdy
YWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAgICAgICB2YXIgc3RvcmUgPSBlLnRhcmdldC5y
ZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoInN0b3JlIik7CiAKICAgICAgICAgYXNzZXJ0X3Rocm93
cygnSW52YWxpZEFjY2Vzc0Vycm9yJywgZnVuY3Rpb24oKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1tdWx0aWVu
dHJ5LWJpZy5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRyeS1iaWcuaHRtCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJpbmRleC1tdWx0aWVudHJ5LWJpZy5odG0JKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
IDx0aXRsZT5JREJJbmRleC5tdWx0aUVudHJ5IC0gYSAxMDAwIGVudHJ5IG11bHRpRW50cnkgYXJy
YXk8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8bGluayBy
ZWw9ImF1dGhvciIgaHJlZj0ibWFpbHRvOm9kaW5ob0BvcGVyYS5jb20iIHRpdGxlPSJPZGluIEjD
uHJ0aGUgT21kYWwiPgogPGxpbmsgcmVsPWhlbHAgaHJlZj0iaHR0cDovL2R2Y3MudzMub3JnL2hn
L0luZGV4ZWREQi9yYXctZmlsZS90aXAvT3ZlcnZpZXcuaHRtbCNrZXktY29uc3RydWN0Ij4KIDxs
aW5rIHJlbD1hc3NlcnQgdGl0bGU9IlhYWCI+CkBAIC0xMCw4ICsxMSw4IEBACiAKIDxzY3JpcHQ+
CiAgICAgdmFyIGRiLAotICAgICAgICB0X2FkZCA9IGFzeW5jX3Rlc3QoIkFkZGluZyBvbmUgaXRl
bSB3aXRoIDEwMDAgbXVsdGlFbnRyeSBrZXlzIiwgeyB0aW1lb3V0OiAxMDAwMCB9KSwKLSAgICAg
ICAgdF9nZXQgPSBhc3luY190ZXN0KCJHZXR0aW5nIHRoZSBvbmUgaXRlbSBieSAxMDAwIGluZGVj
ZWQga2V5cyAiLCB7IHRpbWVvdXQ6IDEwMDAwIH0pOworICAgICAgICB0X2FkZCA9IGFzeW5jX3Rl
c3QoIkFkZGluZyBvbmUgaXRlbSB3aXRoIDEwMDAgbXVsdGlFbnRyeSBrZXlzIiksCisgICAgICAg
IHRfZ2V0ID0gYXN5bmNfdGVzdCgiR2V0dGluZyB0aGUgb25lIGl0ZW0gYnkgMTAwMCBpbmRlY2Vk
IGtleXMgIik7CiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHRfYWRkKTsKICAgICB2YXIg
b2JqID0geyB0ZXN0OiAneW8nLCBpZHhrZXlzOiBbXSB9OwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRy
eS5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRyeS5odG0JKHJldmlzaW9uIDI1MDI2
MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmluZGV4LW11bHRpZW50cnkuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsxMiw3
IEBACiAgICAgdmFyIGRiLAogICAgICAgICBleHBlY3RlZF9rZXlzID0gWzEsIDIsIDIsIDMsIDNd
OwogCi0gICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KGRvY3VtZW50LnRpdGxl
LCB7dGltZW91dDogMTAwMDB9KSkKKyAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rl
c3QoKSkKIAogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAg
ICAgICBkYiA9IGUudGFyZ2V0LnJlc3VsdDsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LXJlbmFtZS1hYm9ydC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmluZGV4LXJlbmFtZS1hYm9ydC5odG1sCShyZXZpc2lvbiAyNTAyNjAp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJpbmRleC1yZW5hbWUtYWJvcnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzksOSArMzks
OCBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICAgICAgJ3ZlcnNpb25jaGFu
Z2UgdHJhbnNhY3Rpb24gaXMgYWJvcnRlZCcpOwogCiAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihkYk5hbWUsIDEpOwotICAgICAgICByZXR1cm4gcmVxdWVzdFdhdGNoZXIo
dGVzdENhc2UsIHJlcXVlc3QpLndhaXRfZm9yKCdzdWNjZXNzJyk7Ci0gICAgfSkudGhlbihldmVu
dCA9PiB7Ci0gICAgICAgIGNvbnN0IGRhdGFiYXNlID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAg
ICAgICAgcmV0dXJuIHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KTsKKyAgICB9
KS50aGVuKGRhdGFiYXNlID0+IHsKICAgICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFz
ZS50cmFuc2FjdGlvbignYm9va3MnLCAncmVhZG9ubHknKTsKICAgICAgICAgY29uc3Qgc3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnYm9va3MnKTsKICAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscygKQEAgLTk1LDkgKzk0LDggQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAg
ICAgICAgICAgICd2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0aW9uIGlzIGFib3J0ZWQnKTsKIAogICAg
ICAgICBjb25zdCByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lLCAxKTsKLSAgICAgICAg
cmV0dXJuIHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KS53YWl0X2Zvcignc3VjY2Vz
cycpOwotICAgIH0pLnRoZW4oZXZlbnQgPT4gewotICAgICAgICBjb25zdCBkYXRhYmFzZSA9IGV2
ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgICAgIHJldHVybiBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0
Q2FzZSwgcmVxdWVzdCk7CisgICAgfSkudGhlbihkYXRhYmFzZSA9PiB7CiAgICAgICAgIGNvbnN0
IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oJ25vdF9ib29rcycsICdyZWFkb25s
eScpOwogICAgICAgICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdub3Rf
Ym9va3MnKTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscygKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2luZGV4
TmFtZXMuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2luZGV4TmFtZXMuaHRtCShyZXZpc2lvbiAy
NTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJpbmRleF9pbmRleE5hbWVzLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4
LDcgQEAKIAogPHNjcmlwdD4KICAgICB2YXIgZGIsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1
bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSk7CisgICAgICB0ID0gYXN5bmNfdGVzdCgpOwog
CiAgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKICAgICBvcGVuX3JxLm9udXBncmFkZW5l
ZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiaW5kZXhfa2V5UGF0aC5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9r
ZXlQYXRoLmFueS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmlu
ZGV4X2tleVBhdGguYW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55LmpzCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzAgQEAKKy8vIE1FVEE6IHRpdGxlPUluZGV4ZWREQjogSURCSW5kZXgga2V5UGF0aCBh
dHRyaWJ1dGUgLSBzYW1lIG9iamVjdAorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQuanMKKworaW5k
ZXhlZGRiX3Rlc3QoCisgICh0LCBkYikgPT4geworICAgIGNvbnN0IHN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3N0b3JlJywge2tleVBhdGg6IFsnYScsICdiJ119KTsKKyAgICBzdG9yZS5j
cmVhdGVJbmRleCgnaW5kZXgnLCBbJ2EnLCAnYiddKTsKKyAgfSwKKyAgKHQsIGRiKSA9PiB7Cisg
ICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignc3RvcmUnKTsKKyAgICBjb25zdCBzdG9yZSA9
IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpOworICAgIGNvbnN0IGluZGV4ID0gc3RvcmUuaW5kZXgo
J2luZGV4Jyk7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgaW5kZXgua2V5UGF0aCwgJ29iamVj
dCcsICdrZXlQYXRoIGlzIGFuIG9iamVjdCcpOworICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJy
YXkoaW5kZXgua2V5UGF0aCksICdrZXlQYXRoIGlzIGFuIGFycmF5Jyk7CisKKyAgICBhc3NlcnRf
ZXF1YWxzKAorICAgICAgaW5kZXgua2V5UGF0aCwgaW5kZXgua2V5UGF0aCwKKyAgICAgICdTYW1l
IG9iamVjdCBpbnN0YW5jZSBpcyByZXR1cm5lZCBlYWNoIHRpbWUga2V5UGF0aCBpcyBpbnNwZWN0
ZWQnKTsKKworICAgIGNvbnN0IHR4MiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScpOworICAgIGNv
bnN0IHN0b3JlMiA9IHR4Mi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBjb25zdCBpbmRleDIg
PSBzdG9yZTIuaW5kZXgoJ2luZGV4Jyk7CisKKyAgICBhc3NlcnRfbm90X2VxdWFscygKKyAgICAg
IGluZGV4LmtleVBhdGgsIGluZGV4Mi5rZXlQYXRoLAorICAgICAgJ0RpZmZlcmVudCBpbnN0YW5j
ZXMgYXJlIHJldHVybmVkIGZyb20gZGlmZmVyZW50IGluZGV4IGluc3RhbmNlcy4nKTsKKworICAg
IHQuZG9uZSgpOworICB9LAorICBgSURCSW5kZXgncyBrZXlQYXRoIGF0dHJpYnV0ZSByZXR1cm5z
IHRoZSBzYW1lIG9iamVjdC5gKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55Lndvcmtlci5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55Lndvcmtlci5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmluZGV4X2tleVBhdGguYW55Lndvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLXJlbmFtZS1hYm9ydC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYm9iamVjdHN0b3JlLXJlbmFtZS1hYm9ydC5odG1sCShyZXZpc2lvbiAyNTAyNjApCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJvYmplY3RzdG9yZS1yZW5hbWUtYWJvcnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDAsOSAr
NDAsOCBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICAgICAgICAgICdJREJP
YmplY3RTdG9yZS5uYW1lIHNob3VsZCBub3QgcmVmbGVjdCB0aGUgcmVuYW1lIGFueSBtb3JlICcg
KwogICAgICAgICAgICAgICAgICdhZnRlciB0aGUgdmVyc2lvbmNoYW5nZSB0cmFuc2FjdGlvbiBp
cyBhYm9ydGVkJyk7CiAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5h
bWUsIDEpOwotICAgICAgICByZXR1cm4gcmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3Qp
LndhaXRfZm9yKCdzdWNjZXNzJyk7Ci0gICAgfSkudGhlbihldmVudCA9PiB7Ci0gICAgICAgIGNv
bnN0IGRhdGFiYXNlID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAgICAgICAgcmV0dXJuIHByb21p
c2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KTsKKyAgICB9KS50aGVuKGRhdGFiYXNlID0+
IHsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscygKICAgICAgICAgICAgIGRhdGFiYXNlLm9i
amVjdFN0b3JlTmFtZXMsIFsnYm9va3MnXSwKICAgICAgICAgICAgICdJREJEYXRhYmFzZS5vYmpl
Y3RTdG9yZU5hbWVzIHNob3VsZCBub3QgcmVmbGVjdCB0aGUgcmVuYW1lICcgKwpAQCAtMTA3LDkg
KzEwNiw4IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgICAgICAnc2hvdWxk
IGJlIGVtcHR5IGFmdGVyIHRoZSB2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0aW9uIGlzIGFib3J0ZWQg
JyArCiAgICAgICAgICAgICAncmV0dXJucycpOwogICAgICAgICBjb25zdCByZXF1ZXN0ID0gaW5k
ZXhlZERCLm9wZW4oZGJOYW1lLCAxKTsKLSAgICAgICAgcmV0dXJuIHJlcXVlc3RXYXRjaGVyKHRl
c3RDYXNlLCByZXF1ZXN0KS53YWl0X2Zvcignc3VjY2VzcycpOwotICAgIH0pLnRoZW4oZXZlbnQg
PT4gewotICAgICAgICBjb25zdCBkYXRhYmFzZSA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAg
ICAgIHJldHVybiBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7CisgICAgfSku
dGhlbihkYXRhYmFzZSA9PiB7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoCiAgICAgICAg
ICAgICBkYXRhYmFzZS5vYmplY3RTdG9yZU5hbWVzLCBbXSwKICAgICAgICAgICAgICdJREJEYXRh
YmFzZS5vYmplY3RTdG9yZU5hbWVzIHNob3VsZCBub3QgcmVmbGVjdCB0aGUgY3JlYXRpb24gb3Ig
JyArCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDMtdXNhYmxlLXJpZ2h0LWF3YXkuaHRt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4My11c2FibGUtcmlnaHQtYXdh
eS5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4My11c2Fi
bGUtcmlnaHQtYXdheS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTksNyArOSw3IEBACiAKIDxzY3Jp
cHQ+CiAgICAgdmFyIGRiLCBhYm9ydGVkLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQu
dGl0bGUsIHt0aW1lb3V0OjE5MDAwfSkKKyAgICAgIHQgPSBhc3luY190ZXN0KCkKIAogICAgIHZh
ciBvcGVuX3JxID0gY3JlYXRlZGIodCk7CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBm
dW5jdGlvbihlKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDQtZGVsZXRlSW5kZXgt
ZXZlbnRfb3JkZXIuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4NC1k
ZWxldGVJbmRleC1ldmVudF9vcmRlci5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX2NyZWF0ZUluZGV4NC1kZWxldGVJbmRleC1ldmVudF9vcmRlci5odG0JKHdvcmtpbmcgY29w
eSkKQEAgLTksNyArOSw3IEBACiA8c2NyaXB0PgogICAgIHZhciBkYiwKICAgICAgIGV2ZW50cyA9
IFtdLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAw
MH0pCisgICAgICB0ID0gYXN5bmNfdGVzdCgpCiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRi
KHQpOwogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
b2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg1LWVtcHR5a2V5cGF0aC5odG0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
b2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg1LWVtcHR5a2V5cGF0aC5odG0JKHJldmlzaW9uIDI1MDI2
MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4NS1lbXB0eWtleXBhdGguaHRtCSh3b3JraW5n
IGNvcHkpCkBAIC04LDcgKzgsNyBAQAogCiA8c2NyaXB0PgogICAgIHZhciBkYiwgYWJvcnRlZCwK
LSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KQor
ICAgICAgdCA9IGFzeW5jX3Rlc3QoKQogCiAgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsK
ICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlX2NyZWF0ZUluZGV4Ni1ldmVudF9vcmRlci5odG0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmVfY3JlYXRlSW5kZXg2LWV2ZW50X29yZGVyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
b2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg2LWV2ZW50X29yZGVyLmh0bQkod29ya2luZyBjb3B5KQpA
QCAtMTYsNyArMTYsNyBAQAogCiAgICAgdmFyIGRiLAogICAgICAgZXZlbnRzID0gW10sCi0gICAg
ICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSkKKyAgICAg
IHQgPSBhc3luY190ZXN0KCkKIAogICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIodCk7CiAgICAg
b3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9y
ZV9jcmVhdGVJbmRleDctZXZlbnRfb3JkZXIuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3Jl
X2NyZWF0ZUluZGV4Ny1ldmVudF9vcmRlci5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlX2NyZWF0ZUluZGV4Ny1ldmVudF9vcmRlci5odG0JKHdvcmtpbmcgY29weSkKQEAgLTE4
LDcgKzE4LDcgQEAKIAogICAgIHZhciBkYiwKICAgICAgIGV2ZW50cyA9IFtdLAotICAgICAgdCA9
IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pCisgICAgICB0ID0g
YXN5bmNfdGVzdCgpCiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOwogICAgIG9wZW5f
cnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3Jl
YXRlSW5kZXg4LXZhbGlkX2tleXMuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0
ZUluZGV4OC12YWxpZF9rZXlzLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVf
Y3JlYXRlSW5kZXg4LXZhbGlkX2tleXMuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBA
QAogCiA8c2NyaXB0PgogICAgIHZhciBkYiwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50
LnRpdGxlLCB7dGltZW91dDoxOTAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rlc3QoKSwKICAgICAg
IG5vdyA9IG5ldyBEYXRlKCksCiAgICAgICBtYXIxOCA9IG5ldyBEYXRlKDExMTExMTExMTExMTEp
LAogICAgICAgYXIgPSBbIllheSIsIDIsIC1JbmZpbml0eV0sCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9j
cmVhdGVJbmRleDE1LWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9i
amVjdHN0b3JlX2NyZWF0ZUluZGV4MTUtYXV0b2luY3JlbWVudC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4MTUtYXV0b2luY3JlbWVudC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw1IEBACiAKIFBBU1MgRXhwbGlj
aXQgUHJpbWFyeSBLZXkgCiBQQVNTIEF1dG8tSW5jcmVtZW50IFByaW1hcnkgS2V5IAorUEFTUyBB
dXRvLUluY3JlbWVudCBQcmltYXJ5IEtleSAtIGludmFsaWQga2V5IHZhbHVlcyBlbHNld2hlcmUg
CiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4MTUtYXV0b2luY3JlbWVudC5odG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgxNS1hdXRvaW5jcmVtZW50Lmh0bQko
cmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgxNS1hdXRvaW5jcmVt
ZW50Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgog
PG1ldGEgY2hhcnNldD11dGYtOD4KIDx0aXRsZT5JREJPYmplY3RTdG9yZS5jcmVhdGVJbmRleCgp
IC0gQXV0b0luY3JlbWVudCBpbiBDb21wb3VuZCBJbmRleDwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0
aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJzdXBwb3J0LmpzIj48L3NjcmlwdD4KQEAg
LTQ5LDQgKzUwLDU3IEBACiAgICAgfSwKICAgICAiQXV0by1JbmNyZW1lbnQgUHJpbWFyeSBLZXki
CiAgICk7CisKKyAgaW5kZXhlZGRiX3Rlc3QoCisgICAgZnVuY3Rpb24odCwgZGIsIHR4bikgewor
ICAgICAgLy8gQXV0by1pbmNyZW1lbnQKKyAgICAgIHZhciBzdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCJTdG9yZTMiLCB7a2V5UGF0aDogImlkIiwgYXV0b0luY3JlbWVudDogdHJ1ZX0pOwor
ICAgICAgc3RvcmUuY3JlYXRlSW5kZXgoIkNvbXBvdW5kS2V5IiwgWyJudW0iLCAiaWQiLCAib3Ro
ZXIiXSk7CisKKyAgICAgIHZhciBudW0gPSAxMDA7CisKKyAgICAgIC8vIEFkZCBkYXRhIHRvIFN0
b3JlMyAtIHZhbGlkIGtleXMKKyAgICAgIC8vIE9iamVjdHMgd2lsbCBiZSBzdG9yZWQgaW4gU3Rv
cmUzIGFuZCBrZXlzIHdpbGwgZ2V0IGFkZGVkCisgICAgICAvLyB0byB0aGUgQ29tcG91bmRLZXlz
IGluZGV4LgorICAgICAgc3RvcmUucHV0KHtudW06IG51bSsrLCBvdGhlcjogMH0pOworICAgICAg
c3RvcmUucHV0KHtudW06IG51bSsrLCBvdGhlcjogWzBdfSk7CisKKyAgICAgIC8vIEFkZCBkYXRh
IC0gbWlzc2luZyBrZXkKKyAgICAgIC8vIE9iamVjdHMgd2lsbCBiZSBzdG9yZWQgaW4gU3RvcmUz
IGJ1dCBrZXlzIHdvbid0IGdldCBhZGRlZCB0bworICAgICAgLy8gdGhlIENvbXBvdW5kS2V5cyBp
bmRleCBiZWNhdXNlIHRoZSAnb3RoZXInIGtleXBhdGggZG9lc24ndAorICAgICAgLy8gcmVzb2x2
ZSB0byBhIHZhbHVlLgorICAgICAgc3RvcmUucHV0KHtudW06IG51bSsrfSk7CisKKyAgICAgIC8v
IEFkZCBkYXRhIHRvIFN0b3JlMyAtIGludmFsaWQga2V5cworICAgICAgLy8gT2JqZWN0cyB3aWxs
IGJlIHN0b3JlZCBpbiBTdG9yZTMgYnV0IGtleXMgd29uJ3QgZ2V0IGFkZGVkIHRvCisgICAgICAv
LyB0aGUgQ29tcG91bmRLZXlzIGluZGV4IGJlY2F1c2UgdGhlICdvdGhlcicgcHJvcGVydHkgdmFs
dWVzCisgICAgICAvLyBhcmVuJ3QgdmFsaWQga2V5cy4KKyAgICAgIHN0b3JlLnB1dCh7bnVtOiBu
dW0rKywgb3RoZXI6IG51bGx9KTsKKyAgICAgIHN0b3JlLnB1dCh7bnVtOiBudW0rKywgb3RoZXI6
IHt9fSk7CisgICAgICBzdG9yZS5wdXQoe251bTogbnVtKyssIG90aGVyOiBbbnVsbF19KTsKKyAg
ICAgIHN0b3JlLnB1dCh7bnVtOiBudW0rKywgb3RoZXI6IFt7fV19KTsKKyAgICB9LAorICAgIGZ1
bmN0aW9uKHQsIGRiKSB7CisgICAgICB2YXIgc3RvcmUgPSBkYi50cmFuc2FjdGlvbigiU3RvcmUz
IiwgInJlYWR3cml0ZSIpLm9iamVjdFN0b3JlKCJTdG9yZTMiKTsKKyAgICAgIGNvbnN0IGtleXMg
PSBbXTsKKyAgICAgIGxldCBjb3VudDsKKyAgICAgIHN0b3JlLmNvdW50KCkub25zdWNjZXNzID0g
dC5zdGVwX2Z1bmMoZSA9PiB7IGNvdW50ID0gZS50YXJnZXQucmVzdWx0OyB9KTsKKyAgICAgIHN0
b3JlLmluZGV4KCJDb21wb3VuZEtleSIpLm9wZW5DdXJzb3IoKS5vbnN1Y2Nlc3MgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihlKSB7CisgICAgICAgIGNvbnN0IGN1cnNvciA9IGUudGFyZ2V0LnJlc3Vs
dDsKKyAgICAgICAgaWYgKGN1cnNvciAhPT0gbnVsbCkgeworICAgICAgICAgIGtleXMucHVzaChj
dXJzb3Iua2V5KTsKKyAgICAgICAgICBjdXJzb3IuY29udGludWUoKTsKKyAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICAvLyBEb25lIGl0ZXJhdGlvbiwgY2hlY2sgcmVzdWx0
cy4KKyAgICAgICAgYXNzZXJ0X2VxdWFscyhjb3VudCwgNywgJ0V4cGVjdGVkIGFsbCA3IHJlY29y
ZHMgdG8gYmUgc3RvcmVkLicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGtleXMubGVuZ3RoLCAy
LCAnRXhwZWN0ZWQgZXhhY3RseSB0d28gaW5kZXggZW50cmllcy4nKTsKKyAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhrZXlzWzBdLCBbMTAwLCAxLCAwXSk7CisgICAgICAgIGFzc2VydF9vYmpl
Y3RfZXF1YWxzKGtleXNbMV0sIFsxMDEsIDIsIFswXV0pOworICAgICAgICB0LmRvbmUoKTsKKyAg
ICAgIH0pOworICAgIH0sCisgICAgIkF1dG8tSW5jcmVtZW50IFByaW1hcnkgS2V5IC0gaW52YWxp
ZCBrZXkgdmFsdWVzIGVsc2V3aGVyZSIKKyAgKTsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3Rv
cmVfZGVsZXRlZC5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZGVsZXRlZC5odG0JKHJl
dmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2RlbGV0ZWQuaHRtCSh3b3JraW5nIGNvcHkp
CkBAIC0xMSw3ICsxMSw3IEBACiA8c2NyaXB0PgogICAgIHZhciBkYiwKICAgICAgIGFkZF9zdWNj
ZXNzID0gZmFsc2UsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVv
dXQ6IDEwMDAwfSkKKyAgICAgIHQgPSBhc3luY190ZXN0KCkKIAogICAgIHZhciBvcGVuX3JxID0g
Y3JlYXRlZGIodCk7CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlX2tleVBhdGguYW55Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5
UGF0aC5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmls
ZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0
ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmpl
Y3RzdG9yZV9rZXlQYXRoLmFueS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRo
LmFueS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisvLyBNRVRBOiB0aXRsZT1JbmRleGVkREI6IElE
Qk9iamVjdFN0b3JlIGtleVBhdGggYXR0cmlidXRlIC0gc2FtZSBvYmplY3QKKy8vIE1FVEE6IHNj
cmlwdD1zdXBwb3J0LmpzCisKK2luZGV4ZWRkYl90ZXN0KAorICAodCwgZGIpID0+IHsKKyAgICBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnLCB7a2V5UGF0aDogWydhJywgJ2InXX0pOworICB9
LAorICAodCwgZGIpID0+IHsKKyAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScp
OworICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2Ygc3RvcmUua2V5UGF0aCwgJ29iamVjdCcsICdrZXlQYXRoIGlzIGFuIG9i
amVjdCcpOworICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXkoc3RvcmUua2V5UGF0aCksICdr
ZXlQYXRoIGlzIGFuIGFycmF5Jyk7CisKKyAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgc3RvcmUu
a2V5UGF0aCwgc3RvcmUua2V5UGF0aCwKKyAgICAgICdTYW1lIG9iamVjdCBpbnN0YW5jZSBpcyBy
ZXR1cm5lZCBlYWNoIHRpbWUga2V5UGF0aCBpcyBpbnNwZWN0ZWQnKTsKKworICAgIGNvbnN0IHR4
MiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScpOworICAgIGNvbnN0IHN0b3JlMiA9IHR4Mi5vYmpl
Y3RTdG9yZSgnc3RvcmUnKTsKKworICAgIGFzc2VydF9ub3RfZXF1YWxzKAorICAgICAgc3RvcmUu
a2V5UGF0aCwgc3RvcmUyLmtleVBhdGgsCisgICAgICAnRGlmZmVyZW50IGluc3RhbmNlcyBhcmUg
cmV0dXJuZWQgZnJvbSBkaWZmZXJlbnQgc3RvcmUgaW5zdGFuY2VzLicpOworCisgICAgdC5kb25l
KCk7CisgIH0sCisgIGBJREJPYmplY3RTdG9yZSdzIGtleVBhdGggYXR0cmlidXRlIHJldHVybnMg
dGhlIHNhbWUgb2JqZWN0LmApOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnkud29ya2Vy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnkud29ya2VyLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnkud29ya2VyLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9y
IFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidHJhbnNhY3Rpb24tb25jb21wbGV0
ZS5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRidHJhbnNhY3Rpb24tb25jb21wbGV0ZS5odG0JKHJldmlzaW9u
IDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uLW9uY29tcGxldGUuaHRtCSh3b3JraW5nIGNvcHkpCkBA
IC03LDcgKzcsNyBAQAogCiA8c2NyaXB0PgogICAgIHZhciBkYiwgc3RvcmUsCi0gICAgICB0ID0g
YXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCisgICAgICB0ID0g
YXN5bmNfdGVzdCgpLAogICAgICAgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpLAogICAgICAgc3RhZ2Vz
ID0gW107CiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uX2Fib3J0Lmh0bQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ0cmFu
c2FjdGlvbl9hYm9ydC5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uX2Fib3J0
Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcgQEAKIAogPHNjcmlwdD4KICAgICB2YXIg
ZGIsIGFib3J0ZWQsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVv
dXQ6IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgcmVjb3JkID0geyBp
bmRleGVkUHJvcGVydHk6ICJiYXIiIH07CiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQp
OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRidmVyc2lvbmNoYW5nZWV2ZW50Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ2ZXJzaW9uY2hh
bmdlZXZlbnQuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ2ZXJzaW9uY2hhbmdlZXZlbnQuaHRt
CSh3b3JraW5nIGNvcHkpCkBAIC0xMyw3ICsxMyw3IEBACiA8c2NyaXB0PgogCiAgICAgdmFyIGRi
LAotICAgICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAw
fSk7CisgICAgICAgIHQgPSBhc3luY190ZXN0KCk7CiAKICAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7
CiAgICAgICAgIHZhciBvcGVucnEgPSBpbmRleGVkREIub3BlbignZGInLCAzKTsKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhh
cm5lc3MuYW55Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGxoYXJuZXNzLmFueS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwh
LS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0
byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkbGhhcm5lc3MuYW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LmpzCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQg
QEAKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csd29ya2VyCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291
cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lkbGhhcm5l
c3MuanMKKworaWRsX3Rlc3QoCisgIFsnSW5kZXhlZERCJ10sCisgIFsnaHRtbCcsICdkb20nXSwK
KyAgaWRsX2FycmF5ID0+IHsKKyAgICBpZGxfYXJyYXkuYWRkX29iamVjdHMoeworICAgICAgSURC
Q3Vyc29yOiBbXSwKKyAgICAgIElEQkN1cnNvcldpdGhWYWx1ZTogW10sCisgICAgICBJREJEYXRh
YmFzZTogW10sCisgICAgICBJREJGYWN0b3J5OiBbc2VsZi5pbmRleGVkREJdLAorICAgICAgSURC
SW5kZXg6IFtdLAorICAgICAgSURCS2V5UmFuZ2U6IFtJREJLZXlSYW5nZS5vbmx5KDApXSwKKyAg
ICAgIElEQk9iamVjdFN0b3JlOiBbXSwKKyAgICAgIElEQk9wZW5EQlJlcXVlc3Q6IFtdLAorICAg
ICAgSURCUmVxdWVzdDogW10sCisgICAgICBJREJUcmFuc2FjdGlvbjogW10sCisgICAgICBJREJW
ZXJzaW9uQ2hhbmdlRXZlbnQ6IFsnbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgidHlwZSIpJ10s
CisgICAgICBET01TdHJpbmdMaXN0OiBbXSwKKyAgICB9KTsKKyAgfQorKTsKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5l
c3MuYW55Lndvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVz
dCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMuYW55LWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pbnRlcmZhY2VzLmFueS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MDI2MCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVy
ZmFjZXMuYW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxODYgKzEsMTggQEAK
LQotUEFTUyBUZXN0IGRyaXZlciAKLVBBU1MgUGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gV2luZG93
T3JXb3JrZXJHbG9iYWxTY29wZTogb3JpZ2luYWwgaW50ZXJmYWNlIG1peGluIGRlZmluZWQgCi1Q
QVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
LVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQlJlcXVlc3Qg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAK
LVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZXN1bHQgCi1QQVNTIElEQlJl
cXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXJyb3IgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgc291cmNlIAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmli
dXRlIHRyYW5zYWN0aW9uIAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIHJl
YWR5U3RhdGUgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdWNjZXNz
IAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9uZXJyb3IgCi1QQVNTIElE
Qk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNT
IElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmJsb2NrZWQgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb251cGdyYWRlbmVlZGVkIAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZl
bnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAot
UEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJ
REJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVu
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQlZlcnNpb25DaGFu
Z2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQlZlcnNp
b25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbGRWZXJzaW9uIAotUEFTUyBJREJW
ZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmV3VmVyc2lvbiAKLVBBU1Mg
SURCVmVyc2lvbkNoYW5nZUV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgW29iamVj
dCBJREJWZXJzaW9uQ2hhbmdlRXZlbnRdIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgW29iamVj
dCBJREJWZXJzaW9uQ2hhbmdlRXZlbnRdIAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50
ZXJmYWNlOiBbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VFdmVudF0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbGRWZXJzaW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCVmVyc2lvbkNo
YW5nZUV2ZW50IGludGVyZmFjZTogW29iamVjdCBJREJWZXJzaW9uQ2hhbmdlRXZlbnRdIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAibmV3VmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNT
IElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBB
U1MgSURCRmFjdG9yeSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQkZhY3RvcnkgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5
IAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBB
U1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuKERPTVN0cmluZywgdW5zaWdu
ZWQgbG9uZyBsb25nKSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxl
dGVEYXRhYmFzZShET01TdHJpbmcpIAotRkFJTCBJREJGYWN0b3J5IGludGVyZmFjZTogb3BlcmF0
aW9uIGRhdGFiYXNlcygpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImRh
dGFiYXNlcyIgbWlzc2luZwotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogb3BlcmF0aW9uIGNt
cChhbnksIGFueSkgCi1QQVNTIElEQkZhY3RvcnkgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBv
ZiBbb2JqZWN0IElEQkZhY3RvcnldIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgW29iamVjdCBJ
REJGYWN0b3J5XSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IFtvYmplY3QgSURCRmFjdG9y
eV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvcGVuKERPTVN0cmluZywgdW5zaWduZWQgbG9uZyBs
b25nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBj
YWxsaW5nIG9wZW4oRE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmcpIG9uIFtvYmplY3QgSURC
RmFjdG9yeV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBB
U1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IFtvYmplY3QgSURCRmFjdG9yeV0gbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJkZWxldGVEYXRhYmFzZShET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcgZGVsZXRlRGF0YWJhc2UoRE9N
U3RyaW5nKSBvbiBbb2JqZWN0IElEQkZhY3RvcnldIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IgCi1GQUlMIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0IElE
QkZhY3RvcnldIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGF0YWJhc2VzKCkiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImRhdGFiYXNlcyIgbm90IGZvdW5k
IGluIHByb3RvdHlwZSBjaGFpbgotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogW29iamVjdCBJ
REJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNtcChhbnksIGFueSkiIHdpdGggdGhl
IHByb3BlciB0eXBlIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogY2FsbGluZyBjbXAoYW55
LCBhbnkpIG9uIFtvYmplY3QgSURCRmFjdG9yeV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0
IHRocm93IFR5cGVFcnJvciAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCRGF0YWJhc2UgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZSBvYmplY3Qg
bmFtZSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQkRhdGFiYXNlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBuYW1lIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2ZXJz
aW9uIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvYmplY3RTdG9yZU5h
bWVzIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0cmFuc2FjdGlvbihb
b2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdLCBJREJUcmFuc2FjdGlvbk1vZGUpIAotUEFT
UyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9zZSgpIAotUEFTUyBJREJEYXRh
YmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVPYmplY3RTdG9yZShET01TdHJpbmcsIElE
Qk9iamVjdFN0b3JlUGFyYW1ldGVycykgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogb3Bl
cmF0aW9uIGRlbGV0ZU9iamVjdFN0b3JlKERPTVN0cmluZykgCi1QQVNTIElEQkRhdGFiYXNlIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uYWJvcnQgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTog
YXR0cmlidXRlIG9uY2xvc2UgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRl
IG9uZXJyb3IgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRlIG9udmVyc2lv
bmNoYW5nZSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZSBvYmplY3Qg
bmFtZSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQk9iamVjdFN0b3Jl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCT2JqZWN0U3RvcmUg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJPYmplY3RTdG9yZSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBrZXlQYXRoIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBpbmRleE5hbWVzIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSB0cmFuc2FjdGlvbiAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
YXV0b0luY3JlbWVudCAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24g
cHV0KGFueSwgYW55KSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24g
YWRkKGFueSwgYW55KSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24g
ZGVsZXRlKGFueSkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGNs
ZWFyKCkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGdldChhbnkp
IAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRLZXkoYW55KSAK
LVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsKGFueSwgdW5z
aWduZWQgbG9uZykgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGdl
dEFsbEtleXMoYW55LCB1bnNpZ25lZCBsb25nKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJm
YWNlOiBvcGVyYXRpb24gY291bnQoYW55KSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNl
OiBvcGVyYXRpb24gb3BlbkN1cnNvcihhbnksIElEQkN1cnNvckRpcmVjdGlvbikgCi1QQVNTIElE
Qk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5LZXlDdXJzb3IoYW55LCBJREJD
dXJzb3JEaXJlY3Rpb24pIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBpbmRleChET01TdHJpbmcpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBjcmVhdGVJbmRleChET01TdHJpbmcsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVj
dF0sIElEQkluZGV4UGFyYW1ldGVycykgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTog
b3BlcmF0aW9uIGRlbGV0ZUluZGV4KERPTVN0cmluZykgCi1QQVNTIElEQkluZGV4IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElE
QkluZGV4IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJJbmRleCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgbmFtZSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmUg
Ci1QQVNTIElEQkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIGtleVBhdGggCi1QQVNTIElEQklu
ZGV4IGludGVyZmFjZTogYXR0cmlidXRlIG11bHRpRW50cnkgCi1QQVNTIElEQkluZGV4IGludGVy
ZmFjZTogYXR0cmlidXRlIHVuaXF1ZSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRp
b24gZ2V0KGFueSkgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGdldEtleShh
bnkpIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRBbGwoYW55LCB1bnNp
Z25lZCBsb25nKSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsS2V5
cyhhbnksIHVuc2lnbmVkIGxvbmcpIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlv
biBjb3VudChhbnkpIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuQ3Vy
c29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9uKSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBv
cGVyYXRpb24gb3BlbktleUN1cnNvcihhbnksIElEQkN1cnNvckRpcmVjdGlvbikgCi1QQVNTIElE
QktleVJhbmdlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFT
UyBJREJLZXlSYW5nZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQktleVJhbmdlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAK
LVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG93ZXIgCi1QQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogYXR0cmlidXRlIHVwcGVyIAotUEFTUyBJREJLZXlSYW5nZSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBsb3dlck9wZW4gCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTog
YXR0cmlidXRlIHVwcGVyT3BlbiAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRp
b24gb25seShhbnkpIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBsb3dl
ckJvdW5kKGFueSwgYm9vbGVhbikgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0
aW9uIHVwcGVyQm91bmQoYW55LCBib29sZWFuKSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNl
OiBvcGVyYXRpb24gYm91bmQoYW55LCBhbnksIGJvb2xlYW4sIGJvb2xlYW4pIAotUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpbmNsdWRlcyhhbnkpIAotUEFTUyBJREJLZXlS
YW5nZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIFtvYmplY3QgSURCS2V5UmFuZ2VdIAot
UEFTUyBTdHJpbmdpZmljYXRpb24gb2YgW29iamVjdCBJREJLZXlSYW5nZV0gCi1QQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJsb3dlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVy
ZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cHBlciIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVj
dCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dlck9wZW4iIHdpdGggdGhl
IHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5
UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBwZXJPcGVuIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubHkoYW55KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1Q
QVNTIElEQktleVJhbmdlIGludGVyZmFjZTogY2FsbGluZyBvbmx5KGFueSkgb24gW29iamVjdCBJ
REJLZXlSYW5nZV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAK
LVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImxvd2VyQm91bmQoYW55LCBib29sZWFuKSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogY2FsbGluZyBsb3dlckJvdW5kKGFu
eSwgYm9vbGVhbikgb24gW29iamVjdCBJREJLZXlSYW5nZV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50
cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2Jq
ZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwcGVyQm91bmQoYW55LCBi
b29sZWFuKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogY2FsbGluZyB1cHBlckJvdW5kKGFueSwgYm9vbGVhbikgb24gW29iamVjdCBJREJLZXlSYW5n
ZV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgSURC
S2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImJvdW5kKGFueSwgYW55LCBib29sZWFuLCBib29sZWFuKSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogY2FsbGluZyBib3VuZChhbnksIGFu
eSwgYm9vbGVhbiwgYm9vbGVhbikgb24gW29iamVjdCBJREJLZXlSYW5nZV0gd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJm
YWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImluY2x1ZGVz
KGFueSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6
IGNhbGxpbmcgaW5jbHVkZXMoYW55KSBvbiBbb2JqZWN0IElEQktleVJhbmdlXSB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBJREJDdXJzb3IgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1Mg
SURCQ3Vyc29yIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJDdXJzb3IgaW50ZXJm
YWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQkN1cnNv
ciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQkN1cnNvciBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBzb3VyY2UgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBk
aXJlY3Rpb24gCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBrZXkgCi1QQVNT
IElEQkN1cnNvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwcmltYXJ5S2V5IAotRkFJTCBJREJDdXJz
b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVxdWVzdCBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlw
ZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgInJlcXVlc3QiIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZHZhbmNlKHVuc2ln
bmVkIGxvbmcpIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gY29udGludWUo
YW55KSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbnRpbnVlUHJpbWFy
eUtleShhbnksIGFueSkgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1cGRh
dGUoYW55KSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZSgpIAot
UEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIAotUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQkN1cnNv
cldpdGhWYWx1ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQkN1
cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElE
QkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2YWx1ZSAKLVBBU1MgSURCVHJh
bnNhY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1Q
QVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCVHJhbnNh
Y3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVj
dG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
YmplY3RTdG9yZU5hbWVzIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBtb2RlIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkYiAKLVBB
U1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXJyb3IgCi1QQVNTIElEQlRy
YW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIG9iamVjdFN0b3JlKERPTVN0cmluZykgCi1G
QUlMIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbW1pdCgpIGFzc2VydF9v
d25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRp
YyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImNvbW1pdCIgbWlzc2luZwotUEFTUyBJREJU
cmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhYm9ydCgpIAotUEFTUyBJREJUcmFuc2Fj
dGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0IAotUEFTUyBJREJUcmFuc2FjdGlvbiBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvbXBsZXRlIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAotCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTc5CisgICAgICBSZW5kZXJCbG9j
ayB7UFJFfSBhdCAoMCwwKSBzaXplIDc4NHgxNjUKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNzczeDE2NQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDUwODogIntcImVycm9yXCI6IHtcIm1lc3NhZ2VcIjogXCJUcmFjZWJhY2sgKG1vc3QgcmVjZW50
IGNhbGwgbGFzdCk6XFxuICBGaWxlIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE1KSB3aWR0
aCA0Njk6ICJcXFwiL1VzZXJzL2FkbWluL1dlYktpdC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMCkgd2lkdGggNzQyOiAi
dGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0c2VydmUvaGFuZGxlcnMucHlcXFwiLCBsaW5lIDMxMiwg
aW4gX19jYWxsX19cXG4gICAgcnYgPSBzZWxmLmZ1bmMocmVxdWVzdCwiCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsNDUpIHdpZHRoIDYwOTogInJlc3BvbnNlKVxcbiAgRmlsZSBcXFwiL1VzZXJz
L2FkbWluL1dlYktpdC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLSIKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2MCkgd2lkdGggNzY1OiAidGVzdHMvdG9vbHMvc2VydmUv
c2VydmUucHlcXFwiLCBsaW5lIDYxLCBpbiBoYW5kbGVfcmVxdWVzdFxcbiAgICBzZWxmLmNoZWNr
X2V4cG9zdXJlKHJlcXVlc3QpXFxuICBGaWxlIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDc1
KSB3aWR0aCA3NzM6ICJcXFwiL1VzZXJzL2FkbWluL1dlYktpdC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NlcnZlL3NlcnZlLnB5XFxcIiwgbGluZSAx
NjIsIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3aWR0aCA2MTc6ICJpbiBjaGVja19l
eHBvc3VyZVxcbiAgICBmb3IgKGtleSwgdmFsdWUpIGluIHNlbGYuX2dldF9tZXRhZGF0YShyZXF1
ZXN0KTpcXG4gIEZpbGUiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTA1KSB3aWR0aCA3NzM6
ICJcXFwiL1VzZXJzL2FkbWluL1dlYktpdC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3NlcnZlL3NlcnZlLnB5XFxcIiwgbGluZSAxMDMsIgorICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDEyMCkgd2lkdGggNzY1OiAiaW4gX2dldF9tZXRhZGF0YVxcbiAg
ICB3aXRoIG9wZW4ocGF0aCwgXFxcInJiXFxcIikgYXMgZjpcXG5JT0Vycm9yOiBbRXJybm8gMl0g
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeToiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTM1
KSB3aWR0aCA3NTc6ICInL1VzZXJzL2FkbWluL1dlYktpdC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2VzLmFueS5qcydcXG5cIiwi
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTUwKSB3aWR0aCAxMDI6ICJcImNvZGVcIjogNTAw
fX0iCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pbnRlcmZhY2VzLmFueS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2VzLmFueS5qcwko
cmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnkuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
MSArMCwwIEBACi0vLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMKLS8v
IE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMKLQotcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4gewotICBjb25zdCBbaHRtbCwgZG9tLCBpbmRleGVkZGJdID0gYXdhaXQgUHJvbWlz
ZS5hbGwoWwotICAgICcvaW50ZXJmYWNlcy9odG1sLmlkbCcsCi0gICAgJy9pbnRlcmZhY2VzL2Rv
bS5pZGwnLAotICAgICcvaW50ZXJmYWNlcy9JbmRleGVkREIuaWRsJywKLSAgXS5tYXAodXJsID0+
IGZldGNoKHVybCkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS50ZXh0KCkpKSk7Ci0KLSAgY29u
c3QgaWRsX2FycmF5ID0gbmV3IElkbEFycmF5KCk7Ci0gIGlkbF9hcnJheS5hZGRfdW50ZXN0ZWRf
aWRscyhodG1sLCB7IG9ubHk6IFsnV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSddIH0pOwotICBp
ZGxfYXJyYXkuYWRkX3VudGVzdGVkX2lkbHMoZG9tKTsKLSAgaWRsX2FycmF5LmFkZF9pZGxzKGlu
ZGV4ZWRkYik7Ci0gIGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7Ci0gICAgSURCQ3Vyc29yOiBbXSwK
LSAgICBJREJDdXJzb3JXaXRoVmFsdWU6IFtdLAotICAgIElEQkRhdGFiYXNlOiBbXSwKLSAgICBJ
REJGYWN0b3J5OiBbc2VsZi5pbmRleGVkREJdLAotICAgIElEQkluZGV4OiBbXSwKLSAgICBJREJL
ZXlSYW5nZTogW0lEQktleVJhbmdlLm9ubHkoMCldLAotICAgIElEQk9iamVjdFN0b3JlOiBbXSwK
LSAgICBJREJPcGVuREJSZXF1ZXN0OiBbXSwKLSAgICBJREJSZXF1ZXN0OiBbXSwKLSAgICBJREJU
cmFuc2FjdGlvbjogW10sCi0gICAgSURCVmVyc2lvbkNoYW5nZUV2ZW50OiBbbmV3IElEQlZlcnNp
b25DaGFuZ2VFdmVudCgnJyldLAotICAgIERPTVN0cmluZ0xpc3Q6IFtdLAotICB9KTsKLQotICBp
ZGxfYXJyYXkudGVzdCgpOwotfSwgJ1Rlc3QgZHJpdmVyJyk7CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2VzLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjE3ICsxLDE4IEBACi0KLVBBU1MgVGVzdCBkcml2
ZXIgCi1QQVNTIFBhcnRpYWwgaW50ZXJmYWNlIG1peGluIFdpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGU6IG9yaWdpbmFsIGludGVyZmFjZSBtaXhpbiBkZWZpbmVkIAotUEFTUyBFdmVudExpc3RlbmVy
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3Qg
Ci1QQVNTIE5vZGVMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCi1QQVNTIEhUTUxDb2xsZWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIE11dGF0aW9uT2JzZXJ2
ZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKLVBBU1MgTXV0YXRpb25SZWNvcmQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgTm9kZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBY
TUxEb2N1bWVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAotUEFTUyBET01JbXBsZW1lbnRhdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBEb2N1bWVudFR5cGUgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBB
U1MgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBTaGFkb3dSb290IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIEVsZW1lbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1Mg
TmFtZWROb2RlTWFwIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCi1QQVNTIEF0dHIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgQ2hhcmFjdGVyRGF0YSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBUZXh0IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1Q
QVNTIENEQVRBU2VjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgQ29tbWVu
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0
IAotUEFTUyBBYnN0cmFjdFJhbmdlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFN0YXRpY1JhbmdlIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFJhbmdlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNT
IE5vZGVJdGVyYXRvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2Ugb2JqZWN0IAotUEFTUyBUcmVlV2Fsa2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIE5vZGVGaWx0ZXIgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgRE9N
VG9rZW5MaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCi1QQVNTIFhQYXRoUmVzdWx0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFhQYXRoRXhwcmVzc2lvbiBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBY
UGF0aE5TUmVzb2x2ZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdCAKLVBBU1MgWFBhdGhFdmFsdWF0b3IgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCUmVxdWVzdCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFT
UyBJREJSZXF1ZXN0IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJSZXF1ZXN0IGlu
dGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURC
UmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQlJlcXVl
c3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJSZXF1ZXN0IGlu
dGVyZmFjZTogYXR0cmlidXRlIHJlc3VsdCAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBlcnJvciAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzb3Vy
Y2UgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdHJhbnNhY3Rpb24gCi1Q
QVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVhZHlTdGF0ZSAKLVBBU1MgSURC
UmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN1Y2Nlc3MgCi1QQVNTIElEQlJlcXVlc3Qg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFT
UyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJPcGVu
REJSZXF1ZXN0IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIg
cHJvcGVydHkgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5IAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9u
YmxvY2tlZCAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnVw
Z3JhZGVuZWVkZWQgCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJWZXJzaW9u
Q2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQlZlcnNpb25DaGFu
Z2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVu
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9sZFZlcnNpb24gCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBuZXdWZXJzaW9uIAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZl
bnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VF
dmVudF0gCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VF
dmVudF0gCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IFtvYmplY3QgSURC
VmVyc2lvbkNoYW5nZUV2ZW50XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9sZFZlcnNpb24iIHdp
dGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNl
OiBbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VFdmVudF0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJu
ZXdWZXJzaW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJ
REJGYWN0b3J5IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJGYWN0b3J5IGludGVy
ZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCRmFj
dG9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQkZhY3Rvcnkg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJGYWN0b3J5IGludGVy
ZmFjZTogb3BlcmF0aW9uIG9wZW4oRE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmcpIAotUEFT
UyBJREJGYWN0b3J5IGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZURhdGFiYXNlKERPTVN0cmlu
ZykgCi1GQUlMIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGF0YWJhc2VzKCkgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24t
c3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiZGF0YWJhc2VzIiBtaXNzaW5nCi1Q
QVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gY21wKGFueSwgYW55KSAKLVBBU1Mg
SURCRmFjdG9yeSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIFtvYmplY3QgSURCRmFjdG9y
eV0gCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBbb2JqZWN0IElEQkZhY3RvcnldIAotUEFTUyBJ
REJGYWN0b3J5IGludGVyZmFjZTogW29iamVjdCBJREJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9wZW4oRE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmcpIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcgb3BlbihET01TdHJp
bmcsIHVuc2lnbmVkIGxvbmcgbG9uZykgb24gW29iamVjdCBJREJGYWN0b3J5XSB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBJREJGYWN0b3J5IGludGVy
ZmFjZTogW29iamVjdCBJREJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlbGV0ZURh
dGFiYXNlKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJGYWN0b3J5
IGludGVyZmFjZTogY2FsbGluZyBkZWxldGVEYXRhYmFzZShET01TdHJpbmcpIG9uIFtvYmplY3Qg
SURCRmFjdG9yeV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAK
LUZBSUwgSURCRmFjdG9yeSBpbnRlcmZhY2U6IFtvYmplY3QgSURCRmFjdG9yeV0gbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJkYXRhYmFzZXMoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2lu
aGVyaXRzOiBwcm9wZXJ0eSAiZGF0YWJhc2VzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWlu
Ci1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiY21wKGFueSwgYW55KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNT
IElEQkZhY3RvcnkgaW50ZXJmYWNlOiBjYWxsaW5nIGNtcChhbnksIGFueSkgb24gW29iamVjdCBJ
REJGYWN0b3J5XSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAot
UEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJEYXRh
YmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCi1QQVNT
IElEQkRhdGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRlIHZlcnNpb24gCi1QQVNTIElEQkRhdGFi
YXNlIGludGVyZmFjZTogYXR0cmlidXRlIG9iamVjdFN0b3JlTmFtZXMgCi1QQVNTIElEQkRhdGFi
YXNlIGludGVyZmFjZTogb3BlcmF0aW9uIHRyYW5zYWN0aW9uKFtvYmplY3QgT2JqZWN0XSxbb2Jq
ZWN0IE9iamVjdF0sIElEQlRyYW5zYWN0aW9uTW9kZSkgCi1QQVNTIElEQkRhdGFiYXNlIGludGVy
ZmFjZTogb3BlcmF0aW9uIGNsb3NlKCkgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogb3Bl
cmF0aW9uIGNyZWF0ZU9iamVjdFN0b3JlKERPTVN0cmluZywgSURCT2JqZWN0U3RvcmVQYXJhbWV0
ZXJzKSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlT2JqZWN0
U3RvcmUoRE9NU3RyaW5nKSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25hYm9ydCAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jbG9zZSAK
LVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKLVBBU1MgSURC
RGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252ZXJzaW9uY2hhbmdlIAotUEFTUyBJREJP
YmplY3RTdG9yZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
LVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJPYmpl
Y3RTdG9yZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRl
IG5hbWUgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGtleVBhdGgg
Ci1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGluZGV4TmFtZXMgCi1Q
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIHRyYW5zYWN0aW9uIAotUEFT
UyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBhdXRvSW5jcmVtZW50IAotUEFT
UyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwdXQoYW55LCBhbnkpIAotUEFT
UyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGQoYW55LCBhbnkpIAotUEFT
UyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGUoYW55KSAKLVBBU1Mg
SURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xlYXIoKSAKLVBBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0KGFueSkgCi1QQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGdldEtleShhbnkpIAotUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRBbGwoYW55LCB1bnNpZ25lZCBsb25nKSAKLVBBU1Mg
SURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsS2V5cyhhbnksIHVuc2ln
bmVkIGxvbmcpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb3Vu
dChhbnkpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuQ3Vy
c29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9uKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJm
YWNlOiBvcGVyYXRpb24gb3BlbktleUN1cnNvcihhbnksIElEQkN1cnNvckRpcmVjdGlvbikgCi1Q
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGluZGV4KERPTVN0cmluZykg
Ci1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZUluZGV4KERP
TVN0cmluZywgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSwgSURCSW5kZXhQYXJhbWV0
ZXJzKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlSW5k
ZXgoRE9NU3RyaW5nKSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggCi1QQVNTIElEQkluZGV4IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1Mg
SURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAotUEFTUyBJREJJ
bmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvYmplY3RTdG9yZSAKLVBBU1MgSURCSW5kZXggaW50
ZXJmYWNlOiBhdHRyaWJ1dGUga2V5UGF0aCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgbXVsdGlFbnRyeSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdW5p
cXVlIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXQoYW55KSAKLVBBU1Mg
SURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0S2V5KGFueSkgCi1QQVNTIElEQkluZGV4
IGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbChhbnksIHVuc2lnbmVkIGxvbmcpIAotUEFTUyBJ
REJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRBbGxLZXlzKGFueSwgdW5zaWduZWQgbG9u
ZykgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGNvdW50KGFueSkgCi1QQVNT
IElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5DdXJzb3IoYW55LCBJREJDdXJzb3JE
aXJlY3Rpb24pIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuS2V5Q3Vy
c29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9uKSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURC
S2V5UmFuZ2UgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQktleVJhbmdlIGludGVy
ZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCS2V5UmFu
Z2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJLZXlSYW5nZSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBsb3dlciAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgdXBwZXIgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogYXR0cmlidXRlIGxv
d2VyT3BlbiAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdXBwZXJPcGVu
IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvbmx5KGFueSkgCi1QQVNT
IElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGxvd2VyQm91bmQoYW55LCBib29sZWFu
KSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdXBwZXJCb3VuZChhbnks
IGJvb2xlYW4pIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBib3VuZChh
bnksIGFueSwgYm9vbGVhbiwgYm9vbGVhbikgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTog
b3BlcmF0aW9uIGluY2x1ZGVzKGFueSkgCi1QQVNTIElEQktleVJhbmdlIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgW29iamVjdCBJREJLZXlSYW5nZV0gCi1QQVNTIFN0cmluZ2lmaWNhdGlv
biBvZiBbb2JqZWN0IElEQktleVJhbmdlXSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBb
b2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd2VyIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktl
eVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwcGVyIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImxvd2VyT3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNT
IElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJ1cHBlck9wZW4iIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlS
YW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib25seShhbnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50
ZXJmYWNlOiBjYWxsaW5nIG9ubHkoYW55KSBvbiBbb2JqZWN0IElEQktleVJhbmdlXSB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBJREJLZXlSYW5nZSBp
bnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93
ZXJCb3VuZChhbnksIGJvb2xlYW4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5
UmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIGxvd2VyQm91bmQoYW55LCBib29sZWFuKSBvbiBbb2Jq
ZWN0IElEQktleVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBwZXJCb3VuZChhbnksIGJvb2xlYW4pIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIHVwcGVyQm91
bmQoYW55LCBib29sZWFuKSBvbiBbb2JqZWN0IElEQktleVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6
IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYm91bmQoYW55LCBh
bnksIGJvb2xlYW4sIGJvb2xlYW4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5
UmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIGJvdW5kKGFueSwgYW55LCBib29sZWFuLCBib29sZWFu
KSBvbiBbb2JqZWN0IElEQktleVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5
UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaW5jbHVkZXMoYW55KSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogY2FsbGluZyBpbmNsdWRlcyhh
bnkpIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGggCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1Q
QVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIHNvdXJjZSAK
LVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIGRpcmVjdGlvbiAKLVBBU1MgSURC
Q3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIGtleSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFj
ZTogYXR0cmlidXRlIHByaW1hcnlLZXkgCi1GQUlMIElEQkN1cnNvciBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSByZXF1ZXN0IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUg
YSBwcm9wZXJ0eSAicmVxdWVzdCIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLVBBU1MgSURCQ3Vy
c29yIGludGVyZmFjZTogb3BlcmF0aW9uIGFkdmFuY2UodW5zaWduZWQgbG9uZykgCi1QQVNTIElE
QkN1cnNvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb250aW51ZShhbnkpIAotUEFTUyBJREJDdXJz
b3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gY29udGludWVQcmltYXJ5S2V5KGFueSwgYW55KSAKLVBB
U1MgSURCQ3Vyc29yIGludGVyZmFjZTogb3BlcmF0aW9uIHVwZGF0ZShhbnkpIAotUEFTUyBJREJD
dXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlKCkgCi1QQVNTIElEQkN1cnNvcldpdGhW
YWx1ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0IAotUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1Q
QVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQkN1
cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGlu
dGVyZmFjZTogYXR0cmlidXRlIHZhbHVlIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJU
cmFuc2FjdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCVHJhbnNhY3Rpb24g
aW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBB
U1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFT
UyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNT
IElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9iamVjdFN0b3JlTmFtZXMgCi1Q
QVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG1vZGUgCi1QQVNTIElEQlRy
YW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGRiIAotUEFTUyBJREJUcmFuc2FjdGlvbiBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBlcnJvciAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNl
OiBvcGVyYXRpb24gb2JqZWN0U3RvcmUoRE9NU3RyaW5nKSAKLUZBSUwgSURCVHJhbnNhY3Rpb24g
aW50ZXJmYWNlOiBvcGVyYXRpb24gY29tbWl0KCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiY29tbWl0IiBtaXNzaW5nCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFj
ZTogb3BlcmF0aW9uIGFib3J0KCkgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIG9uYWJvcnQgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRl
IG9uY29tcGxldGUgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9u
ZXJyb3IgCi0KK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1NzkKKyAgICAgIFJlbmRlckJsb2NrIHtQUkV9IGF0ICgwLDApIHNp
emUgNzg0eDE2NQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NzN4
MTY1CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTA4OiAie1wiZXJyb3JcIjog
e1wibWVzc2FnZVwiOiBcIlRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcXG4gIEZp
bGUiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTUpIHdpZHRoIDQ2OTogIlxcXCIvVXNlcnMv
YWRtaW4vV2ViS2l0L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tIgorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDMwKSB3aWR0aCA3NDI6ICJ0ZXN0cy90b29scy93cHRzZXJ2
ZS93cHRzZXJ2ZS9oYW5kbGVycy5weVxcXCIsIGxpbmUgMzEyLCBpbiBfX2NhbGxfX1xcbiAgICBy
diA9IHNlbGYuZnVuYyhyZXF1ZXN0LCIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0NSkgd2lk
dGggNjA5OiAicmVzcG9uc2UpXFxuICBGaWxlIFxcXCIvVXNlcnMvYWRtaW4vV2ViS2l0L0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tIgorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDYwKSB3aWR0aCA3NjU6ICJ0ZXN0cy90b29scy9zZXJ2ZS9zZXJ2ZS5weVxcXCIsIGxpbmUg
NjEsIGluIGhhbmRsZV9yZXF1ZXN0XFxuICAgIHNlbGYuY2hlY2tfZXhwb3N1cmUocmVxdWVzdClc
XG4gIEZpbGUiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNzUpIHdpZHRoIDc3MzogIlxcXCIv
VXNlcnMvYWRtaW4vV2ViS2l0L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvc2VydmUvc2VydmUucHlcXFwiLCBsaW5lIDE2MiwiCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsOTApIHdpZHRoIDYxNzogImluIGNoZWNrX2V4cG9zdXJlXFxuICAgIGZvciAo
a2V5LCB2YWx1ZSkgaW4gc2VsZi5fZ2V0X21ldGFkYXRhKHJlcXVlc3QpOlxcbiAgRmlsZSIKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMDUpIHdpZHRoIDc3MzogIlxcXCIvVXNlcnMvYWRtaW4v
V2ViS2l0L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
c2VydmUvc2VydmUucHlcXFwiLCBsaW5lIDEwMywiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MTIwKSB3aWR0aCA3NjU6ICJpbiBfZ2V0X21ldGFkYXRhXFxuICAgIHdpdGggb3BlbihwYXRoLCBc
XFwicmJcXFwiKSBhcyBmOlxcbklPRXJyb3I6IFtFcnJubyAyXSBObyBzdWNoIGZpbGUgb3IgZGly
ZWN0b3J5OiIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMzUpIHdpZHRoIDc1NzogIicvVXNl
cnMvYWRtaW4vV2ViS2l0L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2ludGVyZmFjZXMuYW55LmpzJ1xcblwiLCIKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxNTApIHdpZHRoIDEwMjogIlwiY29kZVwiOiA1MDB9fSIKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleWdlbmVyYXRv
ci1jb25zdHJhaW50ZXJyb3IuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleWdlbmVyYXRvci1jb25zdHJhaW50
ZXJyb3IuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlnZW5lcmF0b3ItY29uc3RyYWludGVycm9y
Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAKIDxzY3JpcHQ+CiAKICAgICB2YXIg
ZGIsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAw
fSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgb2JqZWN0cyA9IFsxLCBudWxsLCB7
aWQ6IDJ9LCBudWxsLCAyLjAwMDAxLCA1LCBudWxsLCB7aWQ6IDZ9IF0sCiAgICAgICBleHBlY3Rl
ZCA9IFsxLCAyLCAyLjAwMDAxLCAzLCA1LCA2XSwKICAgICAgIGVycm9ycyA9IDA7CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXln
ZW5lcmF0b3Itb3ZlcmZsb3cuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleWdlbmVyYXRvci1vdmVyZmxvdy5o
dG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleWdlbmVyYXRvci1vdmVyZmxvdy5odG0JKHdvcmtpbmcg
Y29weSkKQEAgLTExLDcgKzExLDcgQEAKIDxzY3JpcHQ+CiAKICAgICB2YXIgZGIsCi0gICAgICB0
ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCisgICAgICB0
ID0gYXN5bmNfdGVzdCgpLAogICAgICAgb3ZlcmZsb3dfZXJyb3JfZmlyZWQgPSBmYWxzZSwKICAg
ICAgIG9iamVjdHMgPSAgWzkwMDcxOTkyNTQ3NDA5OTEsIG51bGwsICJlcnJvciIsIDIsICJlcnJv
ciIgXSwKICAgICAgIGV4cGVjdGVkX2tleXMgPSBbMiwgOTAwNzE5OTI1NDc0MDk5MSwgOTAwNzE5
OTI1NDc0MDk5Ml07CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9rZXlvcmRlci5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5b3JkZXIuaHRtCShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9rZXlvcmRlci5odG0JKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIy
LDcgQEAKIAogICAgIGZ1bmN0aW9uIGtleXNvcnQoZGVzYywgdW5zb3J0ZWQsIGV4cGVjdGVkKSB7
CiAgICAgICAgIHZhciBkYiwKLSAgICAgICAgICAgIHQgPSBhc3luY190ZXN0KCJEYXRhYmFzZSBy
ZWFkYmFjayBzb3J0IC0gIiArIGRlc2MsIHsgdGltZW91dDogMTAwMDAgfSksCisgICAgICAgICAg
ICB0ID0gYXN5bmNfdGVzdCgiRGF0YWJhc2UgcmVhZGJhY2sgc29ydCAtICIgKyBkZXNjKSwKICAg
ICAgICAgICAgIHN0b3JlX25hbWUgPSAnc3RvcmUtJyArIERhdGUubm93KCkgKyBNYXRoLnJhbmRv
bSgpOwogCiAgICAgICAgIC8vIFRoZSBkYXRhYmFzZSB0ZXN0CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlwYXRoLXNwZWNpYWwt
aWRlbnRpZmllcnMuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleXBhdGgtc3BlY2lhbC1pZGVudGlmaWVycy5o
dG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleXBhdGgtc3BlY2lhbC1pZGVudGlmaWVycy5odG0JKHdv
cmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDggQEAKICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVx
dWVzdC5yZXN1bHQ7CiAgICAgICAgIGFzc2VydF9rZXlfZXF1YWxzKHJlc3VsdFt0ZXN0Y2FzZS5w
cm9wZXJ0eV0sIGtleSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1Byb3BlcnR5IHNob3Vs
ZCBiZSB1c2VkIGFzIGtleScpOworICAgICAgfSk7CisgICAgICB0eC5vbmNvbXBsZXRlID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24oKSB7CiAgICAgICAgIHQuZG9uZSgpOwogICAgICAgfSk7CiAgICAg
fSwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2tleXBhdGhfbWF4c2l6ZS5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aF9tYXhzaXplLmh0
bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aF9tYXhzaXplLmh0bQkod29ya2luZyBjb3B5KQpA
QCAtMTEsNyArMTEsNyBAQAogPHNjcmlwdD4KICAgICBmdW5jdGlvbiBrZXlwYXRoKGtleXBhdGgs
IG9iamVjdHMsIGV4cGVjdGVkX2tleXMsIGRlc2MpIHsKICAgICAgICAgdmFyIGRiLAotICAgICAg
ICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUgKyAiIC0gIiArIChkZXNjID8gZGVz
YyA6IGtleXBhdGgpLCB7IHRpbWVvdXQ6IDEwMDAwIH0pLAorICAgICAgICAgICAgdCA9IGFzeW5j
X3Rlc3QoZG9jdW1lbnQudGl0bGUgKyAiIC0gIiArIChkZXNjID8gZGVzYyA6IGtleXBhdGgpKSwK
ICAgICAgICAgICAgIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKIAogICAgICAgICBvcGVuX3JxLm9u
dXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3JlcXVlc3RfYnViYmxlLWFuZC1jYXB0
dXJlLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9yZXF1ZXN0X2J1YmJsZS1hbmQtY2FwdHVyZS5odG0JKHJldmlz
aW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3JlcXVlc3RfYnViYmxlLWFuZC1jYXB0dXJlLmh0bQkod29ya2luZyBjb3B5
KQpAQCAtOSw3ICs5LDcgQEAKIDxzY3JpcHQ+CiAgICAgdmFyIGV2ZW50cyA9IFtdOwogCi0gICAg
dmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91
dDogMTAwMDB9KSk7CisgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCkpOwog
ICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAgICAgICB2YXIg
ZGIgPSBlLnRhcmdldC5yZXN1bHQ7CiAgICAgICAgIHZhciB0eG4gPSBlLnRhcmdldC50cmFuc2Fj
dGlvbjsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJl
ZC1jbG9uZS5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25lLmFueS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVk
IGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0
IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55LmpzCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0
cnVjdHVyZWQtY2xvbmUuYW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIwIEBACisv
LyBNRVRBOiBzY3JpcHQ9c3VwcG9ydC1wcm9taXNlcy5qcworLy8gTUVUQTogdGl0bGU9SW5kZXhl
ZCBEQiBhbmQgU3RydWN0dXJlZCBTZXJpYWxpemluZy9EZXNlcmlhbGl6aW5nCisvLyBNRVRBOiB0
aW1lb3V0PWxvbmcKKworLy8gVGVzdHMgSW5kZXhlZCBEQiBjb3ZlcmFnZSBvZiBIVE1MJ3MgU2Fm
ZSAicGFzc2luZyBvZiBzdHJ1Y3R1cmVkIGRhdGEiCisvLyBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnL211bHRpcGFnZS9zdHJ1Y3R1cmVkLWRhdGEuaHRtbAorCitmdW5jdGlvbiBkZXNjcmli
ZSh2YWx1ZSkgeworICBsZXQgdHlwZSwgc3RyOworICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2Jq
ZWN0JyAmJiB2YWx1ZSkgeworICAgIHR5cGUgPSB2YWx1ZS5fX3Byb3RvX18uY29uc3RydWN0b3Iu
bmFtZTsKKyAgICAvLyBIYW5kbGUgTnVtYmVyKC0wKSwgZXRjLgorICAgIHN0ciA9IE9iamVjdC5p
cyh2YWx1ZS52YWx1ZU9mKCksIC0wKSA/ICctMCcgOiBTdHJpbmcodmFsdWUpOworICB9IGVsc2Ug
eworICAgIHR5cGUgPSB0eXBlb2YgdmFsdWU7CisgICAgLy8gSGFuZGxlIHByaW1pdGl2ZSAtMC4K
KyAgICBzdHIgPSBPYmplY3QuaXModmFsdWUsIC0wKSA/ICctMCcgOiBTdHJpbmcodmFsdWUpOwor
ICB9CisgIHJldHVybiBgJHt0eXBlfTogJHtzdHJ9YDsKK30KKworZnVuY3Rpb24gY2xvbmVUZXN0
KHZhbHVlLCB2ZXJpZnlGdW5jKSB7CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBj
b25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHQsIGRiID0+IHsKKyAgICAgIGNvbnN0IHN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAgICAvLyBUaGlzIGluZGV4
IGlzIG5vdCB1c2VkLCBidXQgZXZhbHVhdGluZyBrZXkgcGF0aCBvbiBlYWNoIHB1dCgpCisgICAg
ICAvLyBjYWxsIHdpbGwgZXhlcmNpc2UgKGRlKXNlcmlhbGl6YXRpb24uCisgICAgICBzdG9yZS5j
cmVhdGVJbmRleCgnaW5kZXgnLCAnZHVtbXlLZXlQYXRoJyk7CisgICAgfSk7CisgICAgdC5hZGRf
Y2xlYW51cCgoKSA9PiB7CisgICAgICBpZiAoZGIpIHsKKyAgICAgICAgZGIuY2xvc2UoKTsKKyAg
ICAgICAgaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRiLm5hbWUpOworICAgICAgfQorICAgIH0p
OworICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOwor
ICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAgYXdhaXQgcHJv
bWlzZUZvclJlcXVlc3QodCwgc3RvcmUucHV0KHZhbHVlLCAna2V5JykpOworICAgIGNvbnN0IHJl
c3VsdCA9IGF3YWl0IHByb21pc2VGb3JSZXF1ZXN0KHQsIHN0b3JlLmdldCgna2V5JykpOworICAg
IGF3YWl0IHZlcmlmeUZ1bmModmFsdWUsIHJlc3VsdCk7CisgICAgYXdhaXQgcHJvbWlzZUZvclRy
YW5zYWN0aW9uKHQsIHR4KTsKKyAgfSwgZGVzY3JpYmUodmFsdWUpKTsKK30KKworLy8gU3BlY2lh
bGl6YXRpb24gb2YgY2xvbmVUZXN0KCkgZm9yIG9iamVjdHMsIHdpdGggY29tbW9uIGFzc2VydHMu
CitmdW5jdGlvbiBjbG9uZU9iamVjdFRlc3QodmFsdWUsIHZlcmlmeUZ1bmMpIHsKKyAgY2xvbmVU
ZXN0KHZhbHVlLCBhc3luYyAob3JpZywgY2xvbmUpID0+IHsKKyAgICBhc3NlcnRfbm90X2VxdWFs
cyhvcmlnLCBjbG9uZSk7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgY2xvbmUsICdvYmplY3Qn
KTsKKyAgICBhc3NlcnRfZXF1YWxzKG9yaWcuX19wcm90b19fLCBjbG9uZS5fX3Byb3RvX18pOwor
ICAgIGF3YWl0IHZlcmlmeUZ1bmMob3JpZywgY2xvbmUpOworICB9KTsKK30KKworZnVuY3Rpb24g
Y2xvbmVGYWlsdXJlVGVzdCh2YWx1ZSkgeworICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
ICAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0LCBkYiA9PiB7CisgICAgICBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICB9KTsKKyAgICB0LmFkZF9jbGVhbnVwKCgp
ID0+IHsKKyAgICAgIGlmIChkYikgeworICAgICAgICBkYi5jbG9zZSgpOworICAgICAgICBpbmRl
eGVkREIuZGVsZXRlRGF0YWJhc2UoZGIubmFtZSk7CisgICAgICB9CisgICAgfSk7CisgICAgY29u
c3QgdHggPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZHdyaXRlJyk7CisgICAgY29uc3Qg
c3RvcmUgPSB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBhc3NlcnRfdGhyb3dzKCdEYXRh
Q2xvbmVFcnJvcicsICgpID0+IHN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpKTsKKyAgfSwgJ05vdCBz
ZXJpYWxpemFibGU6ICcgKyBkZXNjcmliZSh2YWx1ZSkpOworfQorCisvLworLy8gRUNNQVNjcmlw
dCB0eXBlcworLy8KKworLy8gUHJpbWl0aXZlIHZhbHVlczogVW5kZWZpbmVkLCBOdWxsLCBCb29s
ZWFuLCBOdW1iZXIsIEJpZ0ludCwgU3RyaW5nCitjb25zdCBib29sZWFucyA9IFtmYWxzZSwgdHJ1
ZV07Citjb25zdCBudW1iZXJzID0gWworICBOYU4sCisgIC1JbmZpbml0eSwKKyAgLU51bWJlci5N
QVhfVkFMVUUsCisgIC0weGZmZmZmZmZmLAorICAtMHg4MDAwMDAwMCwKKyAgLTB4N2ZmZmZmZmYs
CisgIC0xLAorICAtTnVtYmVyLk1JTl9WQUxVRSwKKyAgLTAsCisgIDAsCisgIDEsCisgIE51bWJl
ci5NSU5fVkFMVUUsCisgIDB4N2ZmZmZmZmYsCisgIDB4ODAwMDAwMDAsCisgIDB4ZmZmZmZmZmYs
CisgIE51bWJlci5NQVhfVkFMVUUsCisgIEluZmluaXR5LAorXTsKK2NvbnN0IGJpZ2ludHMgPSBb
CisgIC0xMjM0NTY3ODkwMTIzNDU2Nzg5MG4sCisgIC0xbiwKKyAgMG4sCisgIDFuLAorICAxMjM0
NTY3ODkwMTIzNDU2Nzg5MG4sCitdOworY29uc3Qgc3RyaW5ncyA9IFsKKyAgJycsCisgICd0aGlz
IGlzIGEgc2FtcGxlIHN0cmluZycsCisgICdudWxsKFwwKScsCitdOworCitbdW5kZWZpbmVkLCBu
dWxsXS5jb25jYXQoYm9vbGVhbnMsIG51bWJlcnMsIGJpZ2ludHMsIHN0cmluZ3MpCisgIC5mb3JF
YWNoKHZhbHVlID0+IGNsb25lVGVzdCh2YWx1ZSwgKG9yaWcsIGNsb25lKSA9PiB7CisgICAgYXNz
ZXJ0X2VxdWFscyhvcmlnLCBjbG9uZSk7CisgIH0pKTsKKworLy8gIlByaW1pdGl2ZSIgT2JqZWN0
cyAoQm9vbGVhbiwgTnVtYmVyLCBCaWdJbnQsIFN0cmluZykKK1tdLmNvbmNhdChib29sZWFucywg
bnVtYmVycywgc3RyaW5ncykKKyAgLmZvckVhY2godmFsdWUgPT4gY2xvbmVPYmplY3RUZXN0KE9i
amVjdCh2YWx1ZSksIChvcmlnLCBjbG9uZSkgPT4geworICAgIGFzc2VydF9lcXVhbHMob3JpZy52
YWx1ZU9mKCksIGNsb25lLnZhbHVlT2YoKSk7CisgIH0pKTsKKworLy8gRGF0ZXMKK1sKKyAgbmV3
IERhdGUoLTFlMTMpLAorICBuZXcgRGF0ZSgtMWUxMiksCisgIG5ldyBEYXRlKC0xZTkpLAorICBu
ZXcgRGF0ZSgtMWU2KSwKKyAgbmV3IERhdGUoLTFlMyksCisgIG5ldyBEYXRlKDApLAorICBuZXcg
RGF0ZSgxZTMpLAorICBuZXcgRGF0ZSgxZTYpLAorICBuZXcgRGF0ZSgxZTkpLAorICBuZXcgRGF0
ZSgxZTEyKSwKKyAgbmV3IERhdGUoMWUxMykKK10uZm9yRWFjaCh2YWx1ZSA9PiBjbG9uZVRlc3Qo
dmFsdWUsIChvcmlnLCBjbG9uZSkgPT4geworICAgIGFzc2VydF9ub3RfZXF1YWxzKG9yaWcsIGNs
b25lKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBjbG9uZSwgJ29iamVjdCcpOworICAgIGFz
c2VydF9lcXVhbHMob3JpZy5fX3Byb3RvX18sIGNsb25lLl9fcHJvdG9fXyk7CisgICAgYXNzZXJ0
X2VxdWFscyhvcmlnLnZhbHVlT2YoKSwgY2xvbmUudmFsdWVPZigpKTsKKyAgfSkpOworCisvLyBS
ZWd1bGFyIEV4cHJlc3Npb25zCitbCisgIG5ldyBSZWdFeHAoKSwKKyAgL2FiYy8sCisgIC9hYmMv
ZywKKyAgL2FiYy9pLAorICAvYWJjL2dpLAorICAvYWJjL20sCisgIC9hYmMvbWcsCisgIC9hYmMv
bWksCisgIC9hYmMvbWdpLAorICAvYWJjL2dpbXN1eSwKK10uZm9yRWFjaCh2YWx1ZSA9PiBjbG9u
ZU9iamVjdFRlc3QodmFsdWUsIChvcmlnLCBjbG9uZSkgPT4geworICBhc3NlcnRfZXF1YWxzKG9y
aWcudG9TdHJpbmcoKSwgY2xvbmUudG9TdHJpbmcoKSk7Cit9KSk7CisKKy8vIEFycmF5QnVmZmVy
CitjbG9uZU9iamVjdFRlc3QobmV3IFVpbnQ4QXJyYXkoWzAsIDEsIDI1NCwgMjU1XSkuYnVmZmVy
LCAob3JpZywgY2xvbmUpID0+IHsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhuZXcgVWludDhBcnJh
eShvcmlnKSwgbmV3IFVpbnQ4QXJyYXkoY2xvbmUpKTsKK30pOworCisvLyBUT0RPIFNoYXJlZEFy
cmF5QnVmZmVyCisKKy8vIEFycmF5IEJ1ZmZlciBWaWV3cworWworICBuZXcgVWludDhBcnJheShb
XSksCisgIG5ldyBVaW50OEFycmF5KFswLCAxLCAyNTQsIDI1NV0pLAorICBuZXcgVWludDE2QXJy
YXkoWzB4MDAwMCwgMHgwMDAxLCAweEZGRkUsIDB4RkZGRl0pLAorICBuZXcgVWludDMyQXJyYXko
WzB4MDAwMDAwMDAsIDB4MDAwMDAwMDEsIDB4RkZGRkZGRkUsIDB4RkZGRkZGRkZdKSwKKyAgbmV3
IEludDhBcnJheShbMCwgMSwgMjU0LCAyNTVdKSwKKyAgbmV3IEludDE2QXJyYXkoWzB4MDAwMCwg
MHgwMDAxLCAweEZGRkUsIDB4RkZGRl0pLAorICBuZXcgSW50MzJBcnJheShbMHgwMDAwMDAwMCwg
MHgwMDAwMDAwMSwgMHhGRkZGRkZGRSwgMHhGRkZGRkZGRl0pLAorICBuZXcgVWludDhDbGFtcGVk
QXJyYXkoWzAsIDEsIDI1NCwgMjU1XSksCisgIG5ldyBGbG9hdDMyQXJyYXkoWy1JbmZpbml0eSwg
LTEuNSwgLTEsIC0wLjUsIDAsIDAuNSwgMSwgMS41LCBJbmZpbml0eSwgTmFOXSksCisgIG5ldyBG
bG9hdDY0QXJyYXkoWy1JbmZpbml0eSwgLU51bWJlci5NQVhfVkFMVUUsIC1OdW1iZXIuTUlOX1ZB
TFVFLCAwLAorICAgICAgICAgICAgICAgICAgICBOdW1iZXIuTUlOX1ZBTFVFLCBOdW1iZXIuTUFY
X1ZBTFVFLCBJbmZpbml0eSwgTmFOXSkKK10uZm9yRWFjaCh2YWx1ZSA9PiBjbG9uZU9iamVjdFRl
c3QodmFsdWUsIChvcmlnLCBjbG9uZSkgPT4geworICBhc3NlcnRfYXJyYXlfZXF1YWxzKG9yaWcs
IGNsb25lKTsKK30pKTsKKworLy8gTWFwCitjbG9uZU9iamVjdFRlc3QobmV3IE1hcChbWzEsMl0s
WzMsNF1dKSwgKG9yaWcsIGNsb25lKSA9PiB7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoWy4uLm9y
aWcua2V5cygpXSwgWy4uLmNsb25lLmtleXMoKV0pOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsu
Li5vcmlnLnZhbHVlcygpXSwgWy4uLmNsb25lLnZhbHVlcygpXSk7Cit9KTsKKworLy8gU2V0Citj
bG9uZU9iamVjdFRlc3QobmV3IFNldChbMSwyLDMsNF0pLCAob3JpZywgY2xvbmUpID0+IHsKKyAg
YXNzZXJ0X2FycmF5X2VxdWFscyhbLi4ub3JpZy52YWx1ZXMoKV0sIFsuLi5jbG9uZS52YWx1ZXMo
KV0pOworfSk7CisKKy8vIEVycm9yCitbCisgIG5ldyBFcnJvcigpLAorICBuZXcgRXJyb3IoJ2Fi
YycsICdkZWYnKSwKKyAgbmV3IEV2YWxFcnJvcigpLAorICBuZXcgRXZhbEVycm9yKCdnaGknLCAn
amtsJyksCisgIG5ldyBSYW5nZUVycm9yKCksCisgIG5ldyBSYW5nZUVycm9yKCdnaGknLCAnamts
JyksCisgIG5ldyBSZWZlcmVuY2VFcnJvcigpLAorICBuZXcgUmVmZXJlbmNlRXJyb3IoJ2doaScs
ICdqa2wnKSwKKyAgbmV3IFN5bnRheEVycm9yKCksCisgIG5ldyBTeW50YXhFcnJvcignZ2hpJywg
J2prbCcpLAorICBuZXcgVHlwZUVycm9yKCksCisgIG5ldyBUeXBlRXJyb3IoJ2doaScsICdqa2wn
KSwKKyAgbmV3IFVSSUVycm9yKCksCisgIG5ldyBVUklFcnJvcignZ2hpJywgJ2prbCcpLAorXS5m
b3JFYWNoKHZhbHVlID0+IGNsb25lT2JqZWN0VGVzdCh2YWx1ZSwgKG9yaWcsIGNsb25lKSA9PiB7
CisgIGFzc2VydF9lcXVhbHMob3JpZy5uYW1lLCBjbG9uZS5uYW1lKTsKKyAgYXNzZXJ0X2VxdWFs
cyhvcmlnLm1lc3NhZ2UsIGNsb25lLm1lc3NhZ2UpOworfSkpOworCisvLyBBcnJheXMKK1sKKyAg
W10sCisgIFsxLDIsM10sCisgIE9iamVjdC5hc3NpZ24oCisgICAgWydmb28nLCAnYmFyJ10sCisg
ICAgezEwOiB0cnVlLCAxMTogZmFsc2UsIDIwOiAxMjMsIDIxOiA0NTYsIDMwOiBudWxsfSksCisg
IE9iamVjdC5hc3NpZ24oCisgICAgWydmb28nLCAnYmFyJ10sCisgICAge2E6IHRydWUsIGI6IGZh
bHNlLCBmb286IDEyMywgYmFyOiA0NTYsICcnOiBudWxsfSksCitdLmZvckVhY2godmFsdWUgPT4g
Y2xvbmVPYmplY3RUZXN0KHZhbHVlLCAob3JpZywgY2xvbmUpID0+IHsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscyhvcmlnLCBjbG9uZSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMo
b3JpZyksIE9iamVjdC5rZXlzKGNsb25lKSk7CisgIE9iamVjdC5rZXlzKG9yaWcpLmZvckVhY2go
a2V5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKG9yaWdba2V5XSwgY2xvbmVba2V5XSwgYFByb3Bl
cnR5ICR7a2V5fWApOworICB9KTsKK30pKTsKKworLy8gT2JqZWN0cworY2xvbmVPYmplY3RUZXN0
KHtmb286IHRydWUsIGJhcjogZmFsc2V9LCAob3JpZywgY2xvbmUpID0+IHsKKyAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhPYmplY3Qua2V5cyhvcmlnKSwgT2JqZWN0LmtleXMoY2xvbmUpKTsKKyAgT2Jq
ZWN0LmtleXMob3JpZykuZm9yRWFjaChrZXkgPT4geworICAgIGFzc2VydF9lcXVhbHMob3JpZ1tr
ZXldLCBjbG9uZVtrZXldLCBgUHJvcGVydHkgJHtrZXl9YCk7CisgIH0pOworfSk7CisKKy8vCisv
LyBbU2VyaWFsaXphYmxlXSBQbGF0Zm9ybSBvYmplY3RzCisvLworCisvLyBUT0RPOiBUZXN0IHRo
ZXNlIGFkZGl0aW9uYWwgaW50ZXJmYWNlczoKKy8vICogRE9NUXVhZAorLy8gKiBET01FeGNlcHRp
b24KKy8vICogRGV0ZWN0ZWRUZXh0LCBEZXRlY3RlZEZhY2UsIERldGVjdGVkQmFyY29kZQorLy8g
KiBSVENDZXJ0aWZpY2F0ZQorCisvLyBHZW9tZXRyeSB0eXBlcworWworICBuZXcgRE9NTWF0cml4
KCksCisgIG5ldyBET01NYXRyaXhSZWFkT25seSgpLAorICBuZXcgRE9NUG9pbnQoKSwKKyAgbmV3
IERPTVBvaW50UmVhZE9ubHkoKSwKKyAgbmV3IERPTVJlY3QsCisgIG5ldyBET01SZWN0UmVhZE9u
bHkoKSwKK10uZm9yRWFjaCh2YWx1ZSA9PiBjbG9uZU9iamVjdFRlc3QodmFsdWUsIChvcmlnLCBj
bG9uZSkgPT4geworICBPYmplY3Qua2V5cyhvcmlnLl9fcHJvdG9fXykuZm9yRWFjaChrZXkgPT4g
eworICAgIGFzc2VydF9lcXVhbHMob3JpZ1trZXldLCBjbG9uZVtrZXldLCBgUHJvcGVydHkgJHtr
ZXl9YCk7CisgIH0pOworfSkpOworCisvLyBJbWFnZURhdGEKK2NvbnN0IGltYWdlX2RhdGEgPSBu
ZXcgSW1hZ2VEYXRhKDgsIDgpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTY7ICsraSkgeworICBp
bWFnZV9kYXRhLmRhdGFbaV0gPSBpOworfQorY2xvbmVPYmplY3RUZXN0KGltYWdlX2RhdGEsIChv
cmlnLCBjbG9uZSkgPT4geworICBhc3NlcnRfZXF1YWxzKG9yaWcud2lkdGgsIGNsb25lLndpZHRo
KTsKKyAgYXNzZXJ0X2VxdWFscyhvcmlnLmhlaWdodCwgY2xvbmUuaGVpZ2h0KTsKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyhvcmlnLmRhdGEsIGNsb25lLmRhdGEpOworfSk7CisKKy8vIEJsb2IKK2Ns
b25lT2JqZWN0VGVzdCgKKyAgbmV3IEJsb2IoWydUaGlzIGlzIGEgdGVzdC4nXSwge3R5cGU6ICdh
L2InfSksCisgIGFzeW5jIChvcmlnLCBjbG9uZSkgPT4geworICAgIGFzc2VydF9lcXVhbHMob3Jp
Zy5zaXplLCBjbG9uZS5zaXplKTsKKyAgICBhc3NlcnRfZXF1YWxzKG9yaWcudHlwZSwgY2xvbmUu
dHlwZSk7CisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCBvcmlnLnRleHQoKSwgYXdhaXQgY2xvbmUu
dGV4dCgpKTsKKyAgfSk7CisKKy8vIEZpbGUKK2Nsb25lT2JqZWN0VGVzdCgKKyAgbmV3IEZpbGUo
WydUaGlzIGlzIGEgdGVzdC4nXSwgJ2Zvby50eHQnLCB7dHlwZTogJ2MvZCd9KSwKKyAgYXN5bmMg
KG9yaWcsIGNsb25lKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhvcmlnLnNpemUsIGNsb25lLnNp
emUpOworICAgIGFzc2VydF9lcXVhbHMob3JpZy50eXBlLCBjbG9uZS50eXBlKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKG9yaWcubmFtZSwgY2xvbmUubmFtZSk7CisgICAgYXNzZXJ0X2VxdWFscyhvcmln
Lmxhc3RNb2RpZmllZCwgY2xvbmUubGFzdE1vZGlmaWVkKTsKKyAgICBhc3NlcnRfZXF1YWxzKFN0
cmluZyhvcmlnLmxhc3RNb2RpZmllZERhdGUpLAorICAgICAgICAgICAgICAgICAgU3RyaW5nKGNs
b25lLmxhc3RNb2RpZmllZERhdGUpKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IG9yaWcudGV4
dCgpLCBhd2FpdCBjbG9uZS50ZXh0KCkpOworICB9KTsKKworCisvLyBGaWxlTGlzdCAtIGV4cG9z
ZWQgaW4gV29ya2VycywgYnV0IG5vdCBjb25zdHJ1Y3RhYmxlLgoraWYgKCdkb2N1bWVudCcgaW4g
c2VsZikgeworICAvLyBUT0RPOiBUZXN0IHdpdGggcG9wdWxhdGVkIGxpc3QuCisgIGNsb25lT2Jq
ZWN0VGVzdCgKKyAgICBPYmplY3QuYXNzaWduKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0
JyksCisgICAgICAgICAgICAgICAgICB7dHlwZTogJ2ZpbGUnLCBtdWx0aXBsZTogdHJ1ZX0pLmZp
bGVzLAorICAgIGFzeW5jIChvcmlnLCBjbG9uZSkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhv
cmlnLmxlbmd0aCwgY2xvbmUubGVuZ3RoKTsKKyAgICB9KTsKK30KKworLy8KKy8vIE5vbi1zZXJp
YWxpemFibGUgdHlwZXMKKy8vCitbCisgIC8vIEVDTUFTY3JpcHQgdHlwZXMKKyAgZnVuY3Rpb24o
KSB7fSwKKyAgU3ltYm9sKCdkZXNjJyksCisKKyAgLy8gTm9uLVtTZXJpYWxpemFibGVdIHBsYXRm
b3JtIG9iamVjdHMKKyAgc2VsZiwKKyAgbmV3IEV2ZW50KCcnKSwKKyAgbmV3IE1lc3NhZ2VDaGFu
bmVsKCkKK10uZm9yRWFjaChjbG9uZUZhaWx1cmVUZXN0KTsKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUu
YW55Lndvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55Lndvcmtlci5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N1cHBvcnQtcHJvbWlzZXMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvc3VwcG9ydC1wcm9taXNlcy5qcwkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3VwcG9ydC1wcm9t
aXNlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtNSwxMSArNSwzOSBAQCBmdW5jdGlvbiBkYXRhYmFz
ZU5hbWUodGVzdENhc2UpIHsKICAgcmV0dXJuICdkYicgKyBzZWxmLmxvY2F0aW9uLnBhdGhuYW1l
ICsgJy0nICsgdGVzdENhc2UubmFtZTsKIH0KIAotLy8gQ3JlYXRlcyBhbiBFdmVudFdhdGNoZXIg
Y292ZXJpbmcgYWxsIHRoZSBldmVudHMgdGhhdCBjYW4gYmUgaXNzdWVkIGJ5Ci0vLyBJbmRleGVk
REIgcmVxdWVzdHMgYW5kIHRyYW5zYWN0aW9ucy4KKy8vIEV2ZW50V2F0Y2hlciBjb3ZlcmluZyBh
bGwgdGhlIGV2ZW50cyBkZWZpbmVkIG9uIEluZGV4ZWREQiByZXF1ZXN0cy4KKy8vCisvLyBUaGUg
ZXZlbnRzIGNvdmVyIElEQlJlcXVlc3QgYW5kIElEQk9wZW5EQlJlcXVlc3QuCiBmdW5jdGlvbiBy
ZXF1ZXN0V2F0Y2hlcih0ZXN0Q2FzZSwgcmVxdWVzdCkgewogICByZXR1cm4gbmV3IEV2ZW50V2F0
Y2hlcih0ZXN0Q2FzZSwgcmVxdWVzdCwKLSAgICAgIFsnYWJvcnQnLCAnYmxvY2tlZCcsICdjb21w
bGV0ZScsICdlcnJvcicsICdzdWNjZXNzJywgJ3VwZ3JhZGVuZWVkZWQnXSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgIFsnYmxvY2tlZCcsICdlcnJvcicsICdzdWNjZXNzJywgJ3VwZ3JhZGVu
ZWVkZWQnXSk7Cit9CisKKy8vIEV2ZW50V2F0Y2hlciBjb3ZlcmluZyBhbGwgdGhlIGV2ZW50cyBk
ZWZpbmVkIG9uIEluZGV4ZWREQiB0cmFuc2FjdGlvbnMuCisvLworLy8gVGhlIGV2ZW50cyBjb3Zl
ciBJREJUcmFuc2FjdGlvbi4KK2Z1bmN0aW9uIHRyYW5zYWN0aW9uV2F0Y2hlcih0ZXN0Q2FzZSwg
cmVxdWVzdCkgeworICByZXR1cm4gbmV3IEV2ZW50V2F0Y2hlcih0ZXN0Q2FzZSwgcmVxdWVzdCwg
WydhYm9ydCcsICdjb21wbGV0ZScsICdlcnJvciddKTsKK30KKworLy8gUHJvbWlzZSB0aGF0IHJl
c29sdmVzIHdpdGggYW4gSURCUmVxdWVzdCdzIHJlc3VsdC4KKy8vCisvLyBUaGUgcHJvbWlzZSBv
bmx5IHJlc29sdmVzIGlmIElEQlJlcXVlc3QgcmVjZWl2ZXMgdGhlICJzdWNjZXNzIiBldmVudC4g
QW55CisvLyBvdGhlciBldmVudCBjYXVzZXMgdGhlIHByb21pc2UgdG8gcmVqZWN0IHdpdGggYW4g
ZXJyb3IuIFRoaXMgaXMgY29ycmVjdCBpbgorLy8gbW9zdCBjYXNlcywgYnV0IGluc3VmZmljaWVu
dCBmb3IgaW5kZXhlZERCLm9wZW4oKSwgd2hpY2ggaXNzdWVzCisvLyAidXBncmFkZW5lZGVkIiBl
dmVudHMgdW5kZXIgbm9ybWFsIG9wZXJhdGlvbi4KK2Z1bmN0aW9uIHByb21pc2VGb3JSZXF1ZXN0
KHRlc3RDYXNlLCByZXF1ZXN0KSB7CisgIGNvbnN0IGV2ZW50V2F0Y2hlciA9IHJlcXVlc3RXYXRj
aGVyKHRlc3RDYXNlLCByZXF1ZXN0KTsKKyAgcmV0dXJuIGV2ZW50V2F0Y2hlci53YWl0X2Zvcign
c3VjY2VzcycpLnRoZW4oZXZlbnQgPT4gZXZlbnQudGFyZ2V0LnJlc3VsdCk7Cit9CisKKy8vIFBy
b21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGFuIElEQlRyYW5zYWN0aW9uIGNvbXBsZXRlcy4KKy8v
CisvLyBUaGUgcHJvbWlzZSByZXNvbHZlcyB3aXRoIHVuZGVmaW5lZCBpZiBJREJUcmFuc2FjdGlv
biByZWNlaXZlcyB0aGUgImNvbXBsZXRlIgorLy8gZXZlbnQsIGFuZCByZWplY3RzIHdpdGggYW4g
ZXJyb3IgZm9yIGFueSBvdGhlciBldmVudC4KK2Z1bmN0aW9uIHByb21pc2VGb3JUcmFuc2FjdGlv
bih0ZXN0Q2FzZSwgcmVxdWVzdCkgeworICBjb25zdCBldmVudFdhdGNoZXIgPSB0cmFuc2FjdGlv
bldhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOworICByZXR1cm4gZXZlbnRXYXRjaGVyLndhaXRf
Zm9yKCdjb21wbGV0ZScpLnRoZW4oKCkgPT4ge30pOwogfQogCiAvLyBNaWdyYXRlcyBhbiBJbmRl
eGVkREIgZGF0YWJhc2Ugd2hvc2UgbmFtZSBpcyB1bmlxdWUgZm9yIHRoZSB0ZXN0IGNhc2UuCkBA
IC02NCw3ICs5Miw3IEBAIGZ1bmN0aW9uIG1pZ3JhdGVOYW1lZERhdGFiYXNlKAogICAgICAgICBy
ZXF1ZXN0RXZlbnRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewog
ICAgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IGV2ZW50ID0+IHsKICAgICAgICAgICAgIGV2ZW50
LnByZXZlbnREZWZhdWx0KCk7Ci0gICAgICAgICAgICByZXNvbHZlKGV2ZW50KTsKKyAgICAgICAg
ICAgIHJlc29sdmUoZXZlbnQudGFyZ2V0LmVycm9yKTsKICAgICAgICAgICB9OwogICAgICAgICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4gcmVqZWN0KG5ldyBFcnJvcigKICAgICAgICAgICAg
ICAgJ2luZGV4ZWREQi5vcGVuIHNob3VsZCBub3Qgc3VjY2VlZCBmb3IgYW4gYWJvcnRlZCAnICsK
QEAgLTc5LDggKzEwNyw3IEBAIGZ1bmN0aW9uIG1pZ3JhdGVOYW1lZERhdGFiYXNlKAogICAgICAg
aWYgKCFzaG91bGRCZUFib3J0ZWQpIHsKICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gbnVsbDsK
ICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBudWxsOwotICAgICAgICByZXF1ZXN0RXZlbnRQ
cm9taXNlID0KLSAgICAgICAgICAgIHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KS53
YWl0X2Zvcignc3VjY2VzcycpOworICAgICAgICByZXF1ZXN0RXZlbnRQcm9taXNlID0gcHJvbWlz
ZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpOwogICAgICAgfQogCiAgICAgICAvLyByZXF1
ZXN0RXZlbnRQcm9taXNlIG5lZWRzIHRvIGJlIHRoZSBsYXN0IHByb21pc2UgaW4gdGhlIGNoYWlu
LCBiZWNhdXNlCkBAIC05NSwxMiArMTIyLDEwIEBAIGZ1bmN0aW9uIG1pZ3JhdGVOYW1lZERhdGFi
YXNlKAogICAgICAgICAgICdpbmRleGVkREIub3BlbiBzaG91bGQgbm90IHN1Y2NlZWQgd2l0aG91
dCBjcmVhdGluZyBhICcgKwogICAgICAgICAgICd2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0aW9uJykp
OwogICAgIH07Ci0gIH0pLnRoZW4oZXZlbnQgPT4gewotICAgIGNvbnN0IGRhdGFiYXNlID0gZXZl
bnQudGFyZ2V0LnJlc3VsdDsKLSAgICBpZiAoZGF0YWJhc2UpIHsKLSAgICAgIHRlc3RDYXNlLmFk
ZF9jbGVhbnVwKCgpID0+IHsgZGF0YWJhc2UuY2xvc2UoKTsgfSk7Ci0gICAgfQotICAgIHJldHVy
biBkYXRhYmFzZSB8fCBldmVudC50YXJnZXQuZXJyb3I7CisgIH0pLnRoZW4oZGF0YWJhc2VPckVy
cm9yID0+IHsKKyAgICBpZiAoZGF0YWJhc2VPckVycm9yIGluc3RhbmNlb2YgSURCRGF0YWJhc2Up
CisgICAgICB0ZXN0Q2FzZS5hZGRfY2xlYW51cCgoKSA9PiB7IGRhdGFiYXNlT3JFcnJvci5jbG9z
ZSgpOyB9KTsKKyAgICByZXR1cm4gZGF0YWJhc2VPckVycm9yOwogICB9KTsKIH0KIApAQCAtMTI2
LDkgKzE1MSw3IEBAIGZ1bmN0aW9uIGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBzZXR1cEMKIC8v
IGNsb3NlIHRoZSBkYXRhYmFzZS4KIGZ1bmN0aW9uIGNyZWF0ZU5hbWVkRGF0YWJhc2UodGVzdENh
c2UsIGRhdGFiYXNlTmFtZSwgc2V0dXBDYWxsYmFjaykgewogICBjb25zdCByZXF1ZXN0ID0gaW5k
ZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRhdGFiYXNlTmFtZSk7Ci0gIGNvbnN0IGV2ZW50V2F0Y2hl
ciA9IHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KTsKLQotICByZXR1cm4gZXZlbnRX
YXRjaGVyLndhaXRfZm9yKCdzdWNjZXNzJykudGhlbihldmVudCA9PiB7CisgIHJldHVybiBwcm9t
aXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCkudGhlbigoKSA9PiB7CiAgICAgdGVzdENh
c2UuYWRkX2NsZWFudXAoKCkgPT4geyBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGF0YWJhc2VO
YW1lKTsgfSk7CiAgICAgcmV0dXJuIG1pZ3JhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCBkYXRh
YmFzZU5hbWUsIDEsIHNldHVwQ2FsbGJhY2spCiAgIH0pOwpAQCAtMTUyLDkgKzE3NSw3IEBAIGZ1
bmN0aW9uIG9wZW5EYXRhYmFzZSh0ZXN0Q2FzZSwgdmVyc2lvbikKIC8vIGNsb3NlIHRoZSBkYXRh
YmFzZS4KIGZ1bmN0aW9uIG9wZW5OYW1lZERhdGFiYXNlKHRlc3RDYXNlLCBkYXRhYmFzZU5hbWUs
IHZlcnNpb24pIHsKICAgY29uc3QgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRhdGFiYXNlTmFt
ZSwgdmVyc2lvbik7Ci0gIGNvbnN0IGV2ZW50V2F0Y2hlciA9IHJlcXVlc3RXYXRjaGVyKHRlc3RD
YXNlLCByZXF1ZXN0KTsKLSAgcmV0dXJuIGV2ZW50V2F0Y2hlci53YWl0X2Zvcignc3VjY2Vzcycp
LnRoZW4oKCkgPT4gewotICAgIGNvbnN0IGRhdGFiYXNlID0gcmVxdWVzdC5yZXN1bHQ7CisgIHJl
dHVybiBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCkudGhlbihkYXRhYmFzZSA9
PiB7CiAgICAgdGVzdENhc2UuYWRkX2NsZWFudXAoKCkgPT4geyBkYXRhYmFzZS5jbG9zZSgpOyB9
KTsKICAgICByZXR1cm4gZGF0YWJhc2U7CiAgIH0pOwpAQCAtMjE1LDkgKzIzNiw3IEBAIGZ1bmN0
aW9uIGNoZWNrU3RvcmVJbmRleGVzICh0ZXN0Q2FzZSwgc3QKIGZ1bmN0aW9uIGNoZWNrU3RvcmVH
ZW5lcmF0b3IodGVzdENhc2UsIHN0b3JlLCBleHBlY3RlZEtleSwgZXJyb3JNZXNzYWdlKSB7CiAg
IGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5wdXQoCiAgICAgICB7IHRpdGxlOiAnQmVkcm9jayBOaWdo
dHMgJyArIGV4cGVjdGVkS2V5LCBhdXRob3I6ICdCYXJuZXknIH0pOwotICBjb25zdCBldmVudFdh
dGNoZXIgPSByZXF1ZXN0V2F0Y2hlcih0ZXN0Q2FzZSwgcmVxdWVzdCk7Ci0gIHJldHVybiBldmVu
dFdhdGNoZXIud2FpdF9mb3IoJ3N1Y2Nlc3MnKS50aGVuKCgpID0+IHsKLSAgICBjb25zdCByZXN1
bHQgPSByZXF1ZXN0LnJlc3VsdDsKKyAgcmV0dXJuIHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNl
LCByZXF1ZXN0KS50aGVuKHJlc3VsdCA9PiB7CiAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsIGV4
cGVjdGVkS2V5LCBlcnJvck1lc3NhZ2UpOwogICB9KTsKIH0KQEAgLTIzMCw5ICsyNDksNyBAQCBm
dW5jdGlvbiBjaGVja1N0b3JlR2VuZXJhdG9yKHRlc3RDYXNlLCBzCiAvLyBpcyB1c2luZyBpdCBp
bmNvcnJlY3RseS4KIGZ1bmN0aW9uIGNoZWNrU3RvcmVDb250ZW50cyh0ZXN0Q2FzZSwgc3RvcmUs
IGVycm9yTWVzc2FnZSkgewogICBjb25zdCByZXF1ZXN0ID0gc3RvcmUuZ2V0KDEyMzQ1Nik7Ci0g
IGNvbnN0IGV2ZW50V2F0Y2hlciA9IHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KTsK
LSAgcmV0dXJuIGV2ZW50V2F0Y2hlci53YWl0X2Zvcignc3VjY2VzcycpLnRoZW4oKCkgPT4gewot
ICAgIGNvbnN0IHJlc3VsdCA9IHJlcXVlc3QucmVzdWx0OworICByZXR1cm4gcHJvbWlzZUZvclJl
cXVlc3QodGVzdENhc2UsIHJlcXVlc3QpLnRoZW4ocmVzdWx0ID0+IHsKICAgICBhc3NlcnRfZXF1
YWxzKHJlc3VsdC5pc2JuLCBCT09LU19SRUNPUkRfREFUQVswXS5pc2JuLCBlcnJvck1lc3NhZ2Up
OwogICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmF1dGhvciwgQk9PS1NfUkVDT1JEX0RBVEFbMF0u
YXV0aG9yLCBlcnJvck1lc3NhZ2UpOwogICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LnRpdGxlLCBC
T09LU19SRUNPUkRfREFUQVswXS50aXRsZSwgZXJyb3JNZXNzYWdlKTsKQEAgLTI0Nyw5ICsyNjQs
NyBAQCBmdW5jdGlvbiBjaGVja1N0b3JlQ29udGVudHModGVzdENhc2UsIHN0CiAvLyBpcyB1c2lu
ZyBpdCBpbmNvcnJlY3RseS4KIGZ1bmN0aW9uIGNoZWNrQXV0aG9ySW5kZXhDb250ZW50cyh0ZXN0
Q2FzZSwgaW5kZXgsIGVycm9yTWVzc2FnZSkgewogICBjb25zdCByZXF1ZXN0ID0gaW5kZXguZ2V0
KEJPT0tTX1JFQ09SRF9EQVRBWzJdLmF1dGhvcik7Ci0gIGNvbnN0IGV2ZW50V2F0Y2hlciA9IHJl
cXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KTsKLSAgcmV0dXJuIGV2ZW50V2F0Y2hlci53
YWl0X2Zvcignc3VjY2VzcycpLnRoZW4oKCkgPT4gewotICAgIGNvbnN0IHJlc3VsdCA9IHJlcXVl
c3QucmVzdWx0OworICByZXR1cm4gcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3Qp
LnRoZW4ocmVzdWx0ID0+IHsKICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5pc2JuLCBCT09LU19S
RUNPUkRfREFUQVsyXS5pc2JuLCBlcnJvck1lc3NhZ2UpOwogICAgIGFzc2VydF9lcXVhbHMocmVz
dWx0LnRpdGxlLCBCT09LU19SRUNPUkRfREFUQVsyXS50aXRsZSwgZXJyb3JNZXNzYWdlKTsKICAg
fSk7CkBAIC0yNjMsOSArMjc4LDcgQEAgZnVuY3Rpb24gY2hlY2tBdXRob3JJbmRleENvbnRlbnRz
KHRlc3RDYQogLy8gaXMgdXNpbmcgaXQgaW5jb3JyZWN0bHkuCiBmdW5jdGlvbiBjaGVja1RpdGxl
SW5kZXhDb250ZW50cyh0ZXN0Q2FzZSwgaW5kZXgsIGVycm9yTWVzc2FnZSkgewogICBjb25zdCBy
ZXF1ZXN0ID0gaW5kZXguZ2V0KEJPT0tTX1JFQ09SRF9EQVRBWzJdLnRpdGxlKTsKLSAgY29uc3Qg
ZXZlbnRXYXRjaGVyID0gcmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOwotICByZXR1
cm4gZXZlbnRXYXRjaGVyLndhaXRfZm9yKCdzdWNjZXNzJykudGhlbigoKSA9PiB7Ci0gICAgY29u
c3QgcmVzdWx0ID0gcmVxdWVzdC5yZXN1bHQ7CisgIHJldHVybiBwcm9taXNlRm9yUmVxdWVzdCh0
ZXN0Q2FzZSwgcmVxdWVzdCkudGhlbihyZXN1bHQgPT4gewogICAgIGFzc2VydF9lcXVhbHMocmVz
dWx0LmlzYm4sIEJPT0tTX1JFQ09SRF9EQVRBWzJdLmlzYm4sIGVycm9yTWVzc2FnZSk7CiAgICAg
YXNzZXJ0X2VxdWFscyhyZXN1bHQuYXV0aG9yLCBCT09LU19SRUNPUkRfREFUQVsyXS5hdXRob3Is
IGVycm9yTWVzc2FnZSk7CiAgIH0pOwpAQCAtMjkwLDMgKzMwMyw0MSBAQCBmdW5jdGlvbiBsYXJn
ZVZhbHVlKHNpemUsIHNlZWQpIHsKIAogICByZXR1cm4gYnVmZmVyOwogfQorCithc3luYyBmdW5j
dGlvbiBkZWxldGVBbGxEYXRhYmFzZXModGVzdENhc2UpIHsKKyAgY29uc3QgZGJzX3RvX2RlbGV0
ZSA9IGF3YWl0IGluZGV4ZWREQi5kYXRhYmFzZXMoKTsKKyAgZm9yKCBjb25zdCBkYl9pbmZvIG9m
IGRic190b19kZWxldGUpIHsKKyAgICBsZXQgcmVxdWVzdCA9IGluZGV4ZWREQi5kZWxldGVEYXRh
YmFzZShkYl9pbmZvLm5hbWUpOworICAgIGxldCBldmVudFdhdGNoZXIgPSByZXF1ZXN0V2F0Y2hl
cih0ZXN0Q2FzZSwgcmVxdWVzdCk7CisgICAgYXdhaXQgZXZlbnRXYXRjaGVyLndhaXRfZm9yKCdz
dWNjZXNzJyk7CisgIH0KK30KKworLy8gS2VlcHMgdGhlIHBhc3NlZCB0cmFuc2FjdGlvbiBhbGl2
ZSBpbmRlZmluaXRlbHkgKGJ5IG1ha2luZyByZXF1ZXN0cworLy8gYWdhaW5zdCB0aGUgbmFtZWQg
c3RvcmUpLiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBhc3NlcnRzIHRoYXQgdGhlCisvLyB0cmFu
c2FjdGlvbiBoYXMgbm90IGFscmVhZHkgY29tcGxldGVkIGFuZCB0aGVuIGVuZHMgdGhlIHJlcXVl
c3QgbG9vcCBzbyB0aGF0CisvLyB0aGUgdHJhbnNhY3Rpb24gbWF5IGF1dG9jb21taXQgYW5kIGNv
bXBsZXRlLgorZnVuY3Rpb24ga2VlcEFsaXZlKHRlc3RDYXNlLCB0cmFuc2FjdGlvbiwgc3RvcmVO
YW1lKSB7CisgIGxldCBjb21wbGV0ZWQgPSBmYWxzZTsKKyAgdHJhbnNhY3Rpb24uYWRkRXZlbnRM
aXN0ZW5lcignY29tcGxldGUnLCAoKSA9PiB7IGNvbXBsZXRlZCA9IHRydWU7IH0pOworCisgIGxl
dCBrZWVwU3Bpbm5pbmcgPSB0cnVlOworCisgIGZ1bmN0aW9uIHNwaW4oKSB7CisgICAgaWYgKCFr
ZWVwU3Bpbm5pbmcpCisgICAgICByZXR1cm47CisgICAgdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
c3RvcmVOYW1lKS5nZXQoMCkub25zdWNjZXNzID0gc3BpbjsKKyAgfQorICBzcGluKCk7CisKKyAg
cmV0dXJuIHRlc3RDYXNlLnN0ZXBfZnVuYygoKSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGNvbXBs
ZXRlZCwgJ1RyYW5zYWN0aW9uIGNvbXBsZXRlZCB3aGlsZSBrZXB0IGFsaXZlJyk7CisgICAga2Vl
cFNwaW5uaW5nID0gZmFsc2U7CisgIH0pOworfQorCisvLyBSZXR1cm4gYSBwcm9taXNlIHRoYXQg
cmVzb2x2ZXMgYWZ0ZXIgYSBzZXRUaW1lb3V0IGZpbmlzaGVzIHRvIGJyZWFrIHVwIHRoZQorLy8g
c2NvcGUgb2YgYSBmdW5jdGlvbidzIGV4ZWN1dGlvbi4KK2Z1bmN0aW9uIHRpbWVvdXRQcm9taXNl
KG1zKSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsgc2V0VGltZW91dChyZXNv
bHZlLCBtcyk7IH0pOworfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvc3VwcG9ydC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdXBwb3J0LmpzCShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9zdXBwb3J0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsMyBA
QAotdmFyIGRhdGFiYXNlTmFtZSA9ICJkYXRhYmFzZSI7Ci12YXIgZGF0YWJhc2VWZXJzaW9uID0g
MTsKLQogLyogRGVsZXRlIGNyZWF0ZWQgZGF0YWJhc2VzCiAgKgogICogR28gdGhyb3VnaCBlYWNo
IGZpbmlzaGVkIHRlc3QsIHNlZSBpZiBpdCBoYXMgYW4gYXNzb2NpYXRlZCBkYXRhYmFzZS4gQ2xv
c2UKQEAgLTE3MCwxOCArMTY3LDE4IEBAIGZ1bmN0aW9uIGlzX3RyYW5zYWN0aW9uX2FjdGl2ZSh0
eCwgc3RvcmUKICAgfQogfQogCi0vLyBLZWVwIHRoZSBwYXNzZWQgdHJhbnNhY3Rpb24gYWxpdmUg
aW5kZWZpbml0ZWx5IChieSBtYWtpbmcgcmVxdWVzdHMKLS8vIGFnYWluc3QgdGhlIG5hbWVkIHN0
b3JlKS4gUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHRvIGxldCB0aGUKLS8vIHRyYW5zYWN0aW9uIGZp
bmlzaCwgYW5kIGFzc2VydHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gaXMgbm90IHlldAotLy8gZmlu
aXNoZWQuCisvLyBLZWVwcyB0aGUgcGFzc2VkIHRyYW5zYWN0aW9uIGFsaXZlIGluZGVmaW5pdGVs
eSAoYnkgbWFraW5nIHJlcXVlc3RzCisvLyBhZ2FpbnN0IHRoZSBuYW1lZCBzdG9yZSkuIFJldHVy
bnMgYSBmdW5jdGlvbiB0aGF0IGFzc2VydHMgdGhhdCB0aGUKKy8vIHRyYW5zYWN0aW9uIGhhcyBu
b3QgYWxyZWFkeSBjb21wbGV0ZWQgYW5kIHRoZW4gZW5kcyB0aGUgcmVxdWVzdCBsb29wIHNvIHRo
YXQKKy8vIHRoZSB0cmFuc2FjdGlvbiBtYXkgYXV0b2NvbW1pdCBhbmQgY29tcGxldGUuCiBmdW5j
dGlvbiBrZWVwX2FsaXZlKHR4LCBzdG9yZV9uYW1lKSB7CiAgIGxldCBjb21wbGV0ZWQgPSBmYWxz
ZTsKICAgdHguYWRkRXZlbnRMaXN0ZW5lcignY29tcGxldGUnLCAoKSA9PiB7IGNvbXBsZXRlZCA9
IHRydWU7IH0pOwogCi0gIGxldCBwaW4gPSB0cnVlOworICBsZXQga2VlcFNwaW5uaW5nID0gdHJ1
ZTsKIAogICBmdW5jdGlvbiBzcGluKCkgewotICAgIGlmICghcGluKQorICAgIGlmICgha2VlcFNw
aW5uaW5nKQogICAgICAgcmV0dXJuOwogICAgIHR4Lm9iamVjdFN0b3JlKHN0b3JlX25hbWUpLmdl
dCgwKS5vbnN1Y2Nlc3MgPSBzcGluOwogICB9CkBAIC0xODksNiArMTg2LDYgQEAgZnVuY3Rpb24g
a2VlcF9hbGl2ZSh0eCwgc3RvcmVfbmFtZSkgewogCiAgIHJldHVybiAoKSA9PiB7CiAgICAgYXNz
ZXJ0X2ZhbHNlKGNvbXBsZXRlZCwgJ1RyYW5zYWN0aW9uIGNvbXBsZXRlZCB3aGlsZSBrZXB0IGFs
aXZlJyk7Ci0gICAgcGluID0gZmFsc2U7CisgICAga2VlcFNwaW5uaW5nID0gZmFsc2U7CiAgIH07
CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS1ibG9ja2VkLmh0bQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFu
c2FjdGlvbi1saWZldGltZS1ibG9ja2VkLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rp
b24tbGlmZXRpbWUtYmxvY2tlZC5odG0JKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAK
IAogICAgIHZhciBkYiwgZGJfZ290X3ZlcnNpb25jaGFuZ2UsIGRiMiwKICAgICAgICAgZXZlbnRz
ID0gW10sCi0gICAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDog
MTAwMDB9KTsKKyAgICAgICAgdCA9IGFzeW5jX3Rlc3QoKTsKIAogICAgIHQuc3RlcChmdW5jdGlv
bigpIHsKICAgICAgICAgdmFyIG9wZW5ycSA9IGluZGV4ZWREQi5vcGVuKCdkYicsIDMpOwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
dHJhbnNhY3Rpb24tbGlmZXRpbWUuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1l
Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tbGlmZXRpbWUuaHRtCSh3b3JraW5n
IGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBACiAKICAgICB2YXIgZGIsIGRiX2dvdF92ZXJzaW9uY2hh
bmdlLCBkYjIsCiAgICAgICAgIGV2ZW50cyA9IFtdLAotICAgICAgICB0ID0gYXN5bmNfdGVzdChk
b2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSk7CisgICAgICAgIHQgPSBhc3luY190ZXN0
KCk7CiAKICAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBvcGVucnEgPSBpbmRl
eGVkREIub3BlbignZGInLCAzKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50
ZW50YXRpdmUuYW55Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmls
aXR5LnRlbnRhdGl2ZS5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVk
LWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVj
dHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55
LmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRp
dmUuYW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKy8vIE1FVEE6IHNjcmlw
dD1zdXBwb3J0LXByb21pc2VzLmpzCisvLyBNRVRBOiB0aW1lb3V0PWxvbmcKKworLyoqCisgKiBU
aGlzIGZpbGUgY29udGFpbnMgdGhlIHdlYnBsYXRmb3JtIHNtb2tlIHRlc3RzIGZvciB0aGUgb3B0
aW9uYWwKKyAqIHJlbGF4ZWREdXJhYmlsaXR5IHBhcmFtZXRlciBvZiB0aGUgSW5kZXhlZERCIHRy
YW5zYWN0aW9uIEFQSS4KKyAqCisgKiBAYXV0aG9yIGVubmVAY2hyb21pdW0ub3JnCisgKi8KKwor
Ly8gU21va2UgdGVzdCBvcHRpb25hbCBwYXJhbWV0ZXIgb24gSW5kZXhlZERCLnRyYW5zYWN0aW9u
LgorbGV0IGNhc2VzID0gWworICB1bmRlZmluZWQsCisgIHt9LAorICB7ZHVyYWJpbGl0eTogImRl
ZmF1bHQifSwKKyAge2R1cmFiaWxpdHk6ICJyZWxheGVkIn0sCisgIHtkdXJhYmlsaXR5OiAic3Ry
aWN0In0sCitdOworCitmb3IgKGxldCBpID0gMDsgaSA8IGNhc2VzLmxlbmd0aDsgKytpKSB7Cisg
IHByb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgICAgY29uc3QgZGIgPSBhd2FpdCBj
cmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgZGIgPT4geworICAgICAgY3JlYXRlQm9va3NTdG9yZSh0
ZXN0Q2FzZSwgZGIpOworICAgIH0pOworICAgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsn
Ym9va3MnXSwgJ3JlYWR3cml0ZScsIGNhc2VzW2ldKTsKKyAgICBjb25zdCBvYmplY3RTdG9yZSA9
IHR4bi5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAgICBvYmplY3RTdG9yZS5wdXQoe2lzYm46ICdv
bmUnLCB0aXRsZTogJ3RpdGxlMSd9KTsKKyAgICBhd2FpdCBwcm9taXNlRm9yVHJhbnNhY3Rpb24o
dGVzdENhc2UsIHR4bik7CisKKyAgICBjb25zdCB0eG4yID0gZGIudHJhbnNhY3Rpb24oWydib29r
cyddLCAncmVhZG9ubHknKTsKKyAgICBjb25zdCBvYmplY3RTdG9yZTIgPSB0eG4yLm9iamVjdFN0
b3JlKCdib29rcycpOworICAgIGNvbnN0IGdldFRpdGxlMSA9IG9iamVjdFN0b3JlMi5nZXQoJ29u
ZScpOworICAgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhuMik7Cisg
ICAgYXNzZXJ0X2FycmF5X2VxdWFscygKKyAgICAgICAgW2dldFRpdGxlMS5yZXN1bHQudGl0bGVd
LAorICAgICAgICBbJ3RpdGxlMSddLAorICAgICAgICAnVGhlIHRpdGxlIHNob3VsZCBtYXRjaCB0
aGF0IHdoaWNoIHdhcyBwdXQuJyk7CisgICAgZGIuY2xvc2UoKTsKKyAgfSwgJ0NvbW1pdHRlZCBk
YXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0OiBjYXNlICcgKyBpKTsKK30KSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9u
LXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55Lndvcmtlci5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3RyYW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55Lndvcmtlci5odG1s
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUu
YW55Lndvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5z
YWN0aW9uLXJlcXVlc3RxdWV1ZS5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVxdWVzdHF1
ZXVlLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVxdWVzdHF1ZXVlLmh0bQko
d29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcgQEAKIAogPHNjcmlwdD4KIAotdmFyIGRiLCB0ID0g
YXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCit2YXIgZGIsIHQg
PSBhc3luY190ZXN0KCksCiAgICAga2V5cyA9IHsgdHhuOiBbXSwgdHhuMjogW10gfSwKICAgICBv
cGVuX3JxID0gY3JlYXRlZGIodCkKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb25fYnViYmxlLWFuZC1jYXB0dXJl
Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbl9idWJibGUtYW5kLWNhcHR1cmUuaHRtCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbl9idWJibGUtYW5kLWNhcHR1cmUuaHRtCSh3b3JraW5n
IGNvcHkpCkBAIC05LDcgKzksNyBAQAogPHNjcmlwdD4KICAgICB2YXIgZXZlbnRzID0gW107CiAK
LSAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0
aW1lb3V0OiAxMDAwMH0pKTsKKyAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3Qo
KSk7CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAg
IHZhciBkYiA9IGUudGFyZ2V0LnJlc3VsdDsKICAgICAgICAgdmFyIHR4biA9IGUudGFyZ2V0LnRy
YW5zYWN0aW9uOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdzNjLWltcG9ydC5sb2cJ
KHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcg
KzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAgLTE0LDEx
ICsxNCwxMyBAQCBQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlCiBOb25l
CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvT1dORVJTCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvTUVUQS55bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9SRUFETUUubWQK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9h
Ym9ydC1pbi1pbml0aWFsLXVwZ3JhZGVuZWVkZWQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpZ2ludF92YWx1ZS5odG0KLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9iaW5kaW5n
cy1pbmplY3Qta2V5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3Qta2V5cy1ieXBhc3Mtc2V0dGVycy5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
YmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBhc3MtY2hhaW4uaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12
YWx1ZXMtYnlwYXNzLXNldHRlcnMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Nsb25lLWJlZm9yZS1rZXlwYXRoLWV2YWwuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Ns
b3NlLWluLXVwZ3JhZGVuZWVkZWQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2N1cnNvci1vdmVybG9hZHMuaHRtCkBAIC0yOCwxMCAr
MzAsMTMgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLWVycm9yLWV2ZW50LWV4Y2VwdGlvbi5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmly
ZS1zdWNjZXNzLWV2ZW50LWV4Y2VwdGlvbi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS11cGdyYWRlbmVlZGVkLWV2ZW50LWV4
Y2VwdGlvbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvZ2V0LWRhdGFiYXNlcy5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nbG9iYWxzY29wZS1pbmRleGVkREItU2Ft
ZU9iamVjdC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaGlzdG9yaWNhbC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWJpbmFyeS1rZXktZGV0YWNoZWQuaHRtCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
LWJpbmFyeS1rZXktcm91bmR0cmlwLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lmpz
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJfYmluYXJ5X2tleV9jb252ZXJzaW9uLmh0bQog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Yl93ZWJ3b3JrZXJzLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1hZHZhbmNlLWNvbnRpbnVlLWFzeW5jLmh0bQpAQCAt
NTMsNiArNTgsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1rZXkuaHRtCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXBy
aW1hcnlrZXkuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yLXJlcXVlc3Qtc291cmNlLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVz
dC5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJjdXJzb3ItcmV1c2VkLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1zb3VyY2UuaHRtCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29y
LXVwZGF0ZS1leGNlcHRpb24tb3JkZXIuaHRtCkBAIC0xNDMsMTIgKzE0OSwxNCBAQCBMaXN0IG9m
IGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmRhdGFiYXNlX3RyYW5zYWN0aW9uMy5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV90cmFuc2FjdGlv
bjQuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiZGF0YWJhc2VfdHJhbnNhY3Rpb241Lmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3RvcnktZGF0YWJhc2VzLW9w
YXF1ZS1vcmlnaW4uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmZhY3RvcnktZGVsZXRlRGF0YWJhc2Utb3BhcXVlLW9yaWdpbi5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiZmFjdG9yeS1kZWxldGVEYXRhYmFzZS1yZXF1ZXN0LXN1Y2Nlc3MuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rv
cnktb3Blbi1lcnJvci1wcm9wZXJ0aWVzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5LW9wZW4tb3BhcXVlLW9yaWdp
bi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiZmFjdG9yeS1vcGVuLXJlcXVlc3QtZXJyb3IuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnktb3Blbi1y
ZXF1ZXN0LXN1Y2Nlc3MuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFj
dG9yeV9jbXAuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiZmFjdG9yeV9jbXAyLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3RvcnlfY21wMy5odG0KQEAgLTIw
Myw2ICsyMTEsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2dldEtleTcuaHRtCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhf
Z2V0S2V5OC5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJpbmRleF9pbmRleE5hbWVzLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55Lmpz
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiaW5kZXhfb3BlbkN1cnNvci5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9vcGVuQ3Vyc29yMi5odG0KIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9v
cGVuQ3Vyc29yMy5odG0KQEAgLTI4NSw2ICsyOTQsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlX2dldEFsbEtleXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2dldEtleS5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmVfaW5kZXguaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnkuanMKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9y
ZV9vcGVuQ3Vyc29yLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX29wZW5DdXJzb3JfaW52YWxpZC5odG0KIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJv
YmplY3RzdG9yZV9vcGVuS2V5Q3Vyc29yLmh0bQpAQCAtMzE2LDggKzMyNiw4IEBAIExpc3Qgb2Yg
ZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRidHJhbnNhY3Rpb25fb2JqZWN0U3RvcmVOYW1lcy5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidmVyc2lvbmNoYW5n
ZWV2ZW50Lmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW5kZXhfc29ydF9vcmRlci5o
dG0KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pbnRlcmZhY2VzLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2ludGVybGVhdmVkLWN1cnNvcnMtY29tbW9uLmpzCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJsZWF2
ZWQtY3Vyc29ycy1sYXJnZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJsZWF2ZWQtY3Vyc29ycy1zbWFsbC5odG1sCkBAIC0z
NDksNiArMzU5LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9yZXF1ZXN0LWV2ZW50LW9yZGVyaW5nLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9y
ZXF1ZXN0X2J1YmJsZS1hbmQtY2FwdHVyZS5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJpbmctbGlzdC1vcmRlcmluZy5odG0KKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1
Y3R1cmVkLWNsb25lLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3N1cHBvcnQtcHJvbWlzZXMuanMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdXBwb3J0LmpzCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rp
b24tYWJvcnQtZ2VuZXJhdG9yLXJldmVydC5odG1sCkBAIC0zNjEsNiArMzcyLDcgQEAgTGlzdCBv
ZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS1ibG9ja2VkLmh0bQogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0
aW1lLWVtcHR5Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS5odG0KKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVk
LWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlcXVlc3RxdWV1ZS5odG0K
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90
cmFuc2FjdGlvbl9idWJibGUtYW5kLWNhcHR1cmUuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdXBncmFkZS10cmFuc2FjdGlvbi1kZWFj
dGl2YXRpb24tdGltaW5nLmh0bWwKQEAgLTM2OSw1ICszODEsNCBAQCBMaXN0IG9mIGZpbGVzOgog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Vw
Z3JhZGUtdHJhbnNhY3Rpb24tbGlmZWN5Y2xlLXVzZXItYWJvcnRlZC5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdmFsdWUuaHRtCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdmFs
dWVfcmVjdXJzaXZlLmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3dhc20tbW9kdWxlLXZhbHVlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi93cml0ZXItc3RhcnZhdGlvbi5o
dG0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL3dhc20tbW9kdWxlLXZhbHVlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi93YXNtLW1v
ZHVsZS12YWx1ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dhc20tbW9kdWxlLXZh
bHVlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotCi1GQUlMIFdl
YkFzc2VtYmx5IG1vZHVsZSBhcyBhbiBJbmRleGVkREIgdmFsdWUgVGhlIG9iamVjdCBjYW4gbm90
IGJlIGNsb25lZC4KLUZBSUwgV2ViQXNzZW1ibHkgbW9kdWxlIGluIGEgSmF2YVNjcmlwdCBvYmpl
Y3QgSW5kZXhlZERCIHZhbHVlIFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCi1GQUlMIFdl
YkFzc2VtYmx5IG1vZHVsZSBpbiBhbiBJbmRleGVkREIgdmFsdWUgd2l0aCBhbiBpbmxpbmUga2V5
IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCi0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dhc20tbW9kdWxlLXZhbHVlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvd2FzbS1tb2R1bGUtdmFsdWUuaHRtbAkocmV2aXNpb24gMjUwMjYwKQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
d2FzbS1tb2R1bGUtdmFsdWUuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDEwOSArMCwwIEBACi08
IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPG1ldGEgbmFtZT0idGltZW91
dCIgY29udGVudD0ibG9uZyI+Ci08dGl0bGU+SW5kZXhlZERCOiBXZWJBc3NlbWJseSBtb2R1bGUg
dmFsdWVzPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL0luZGV4ZWREQi8iPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3dlYmFzc2Vt
Ymx5LmdpdGh1Yi5pby9zcGVjLyI+Ci08bGluayByZWw9ImF1dGhvciIgaHJlZj0icHduYWxsQGNo
cm9taXVtLm9yZyIgdGl0bGU9IlZpY3RvciBDb3N0YW4iPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InN1cHBvcnQtcHJvbWlz
ZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSd1c2Ugc3RyaWN0JzsKLQotLy8gQmluYXJ5IHJl
cHJlc2VudGF0aW9uIGZvciBhIFdBU00gbW9kdWxlIHRoYXQgZXhwb3J0cyBhbiAiaW5jIiBmdW5j
dGlvbi4KLS8vCi0vLyBUaGlzIHRlc3QgY292ZXJzIHN0b3JpbmcgV0FTTSBtb2R1bGVzIGluIElu
ZGV4ZWREQi4gSXRzIGZhaWx1cmUgc2hvdWxkIG9ubHkKLS8vIGJlIGRlYnVnZ2VkIGlmIFdBU00g
c3BlY2lmaWNhdGlvbiB0ZXN0cyBwYXNzLiBUbyB0aGlzIGVuZCwgdGhlIHRlc3QgZG9lcyBub3QK
LS8vIHVzZSB0aGUgV0FTTSBtb2R1bGUgYnVpbGRlciBoZWxwZXJzLCB0cmFkaW5nIG9mZiBXQVNN
IGRlYnVnZ2FiaWxpdHkgaW4gcmV0dXJuCi0vLyBmb3IgaGF2aW5nIHRoZSBXQVNNIHdpcmUgYnl0
ZXMgbGlzdGVkIGV4cGxpY2l0bHkgaW4gdGhlIHRlc3QgYm9keS4gSGF2aW5nIHRoZQotLy8gd2ly
ZSBieXRlcyBzcGVsbGVkIG91dCBjYW4gYmUgaGVscGZ1bCB3aGVuIGRlYnVnZ2luZyBJbmRleGVk
REIgZmFpbHVyZXMuCi1sZXQgd2FzbV9tb2R1bGVfYnl0ZXMgPSBuZXcgVWludDhBcnJheShbCi0g
IDB4MDAsIDB4NjEsIDB4NzMsIDB4NmQsICAvLyBNYWdpYy4KLSAgMHgwMSwgMHgwMCwgMHgwMCwg
MHgwMCwgIC8vIFZlcnNpb24uCi0gIDB4MDEsIDB4MDYsIDB4MDEsICAgICAgICAgICAgICAvLyBU
eXBlIHNlY3Rpb24gLSA2IGJ5dGVzLCAxIGVudHJ5Ci0gIDB4NjAsIDB4MDEsIDB4N2YsIDB4MDEs
IDB4N2YsICAvLyBUeXBlIDAuIEZ1bmN0aW9uOiAoaTMyKSAtPiAoaTMyKQotICAweDAzLCAweDAy
LCAweDAxLCAgIC8vIEZ1bmN0aW9uIHNlY3Rpb24gLSAyIGJ5dGVzLCAxIGVudHJ5Ci0gIDB4MDAs
ICAgICAgICAgICAgICAgLy8gRnVuY3Rpb24gMDogVHlwZSAwCi0gIDB4MDcsIDB4MDcsIDB4MDEs
ICAgICAgICAgICAgICAvLyBFeHBvcnQgc2VjdGlvbiAtIDcgYnl0ZXMsIDEgZW50cnkKLSAgMHgw
MywgMHg2OSwgMHg2ZSwgMHg2MywgICAgICAgIC8vIEV4cG9ydCAxLiB7IG5hbWU6ICJpbmMiCi0g
IDB4MDAsIDB4MDAsICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBkZXNjOiBmdW5j
dGlvbiAwIH0KLSAgMHgwYSwgMHgwOSwgMHgwMSwgIC8vIENvZGUgc2VjdGlvbjogOSBieXRlcywg
MSBlbnRyeQotICAweDA3LCAweDAwLCAgICAgICAgLy8gRnVuY3Rpb24gMTogNyBjb2RlIGJ5dGVz
LCAwIGxvY2FscwotICAweDIwLCAweDAwLCAgICAgICAgLy8gICBnZXRsb2NhbCAwCi0gIDB4NDEs
IDB4MDEsICAgICAgICAvLyAgIGkzMi5jb25zdCAxCi0gIDB4NmEsICAgICAgICAgICAgICAvLyAg
IGkzMi5hZGQKLSAgMHgwYiwgICAgICAgICAgICAgIC8vICAgZW5kCi1dKTsKLQotcHJvbWlzZV90
ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKLSAgY29uc3Qgd2FzbV9tb2R1bGUgPSBhd2FpdCBXZWJB
c3NlbWJseS5jb21waWxlKHdhc21fbW9kdWxlX2J5dGVzLmJ1ZmZlcik7Ci0KLSAgY29uc3QgZGF0
YWJhc2UgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgKGRhdGFiYXNlLCB0cmFuc2Fj
dGlvbikgPT4gewotICAgIGNvbnN0IHN0b3JlID0gZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUo
J3N0b3JlJyk7Ci0gICAgc3RvcmUucHV0KHdhc21fbW9kdWxlLCAna2V5MScpOwotICB9KTsKLQot
ICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7
Ci0gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50cmFuc2FjdGlvbihbJ3N0b3JlJ10s
ICdyZWFkb25seScpOwotICAgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlJyk7Ci0gICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldCgna2V5MScpOwotICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gKGV2ZW50KSA9PiByZXNvbHZlKGV2ZW50LnRhcmdldC5yZXN1bHQp
OwotICAgIHJlcXVlc3Qub25lcnJvciA9IChldmVudCkgPT4gcmVqZWN0KGV2ZW50LnRhcmdldC5l
cnJvcik7Ci0gIH0pOwotCi0gIGRhdGFiYXNlLmNsb3NlKCk7Ci0KLSAgY29uc3QgaW5zdGFuY2Ug
PSBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShyZXN1bHQpOwotICBhc3NlcnRfZXF1YWxz
KAotICAgICAgaW5zdGFuY2UuZXhwb3J0c1snaW5jJ10oNDIpLCA0MywgJ2luYyBzaG91bGQgaW5j
cmVtZW50IGl0cyBhcmd1bWVudCcpOwotfSwgJ1dlYkFzc2VtYmx5IG1vZHVsZSBhcyBhbiBJbmRl
eGVkREIgdmFsdWUnKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKLSAgY29u
c3Qgd2FzbV9tb2R1bGUgPSBhd2FpdCBXZWJBc3NlbWJseS5jb21waWxlKHdhc21fbW9kdWxlX2J5
dGVzLmJ1ZmZlcik7Ci0KLSAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0
ZXN0Q2FzZSwgKGRhdGFiYXNlLCB0cmFuc2FjdGlvbikgPT4gewotICAgIGNvbnN0IHN0b3JlID0g
ZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7Ci0gICAgc3RvcmUucHV0KHsgbW9k
dWxlOiB3YXNtX21vZHVsZSB9LCAna2V5MScpOwotICB9KTsKLQotICBjb25zdCByZXN1bHQgPSBh
d2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgY29uc3QgdHJhbnNh
Y3Rpb24gPSBkYXRhYmFzZS50cmFuc2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOwotICAg
IGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7Ci0gICAgY29u
c3QgcmVxdWVzdCA9IHN0b3JlLmdldCgna2V5MScpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
KGV2ZW50KSA9PiByZXNvbHZlKGV2ZW50LnRhcmdldC5yZXN1bHQpOwotICAgIHJlcXVlc3Qub25l
cnJvciA9IChldmVudCkgPT4gcmVqZWN0KGV2ZW50LnRhcmdldC5lcnJvcik7Ci0gIH0pOwotCi0g
IGRhdGFiYXNlLmNsb3NlKCk7Ci0KLSAgY29uc3QgaW5zdGFuY2UgPSBhd2FpdCBXZWJBc3NlbWJs
eS5pbnN0YW50aWF0ZShyZXN1bHQubW9kdWxlKTsKLSAgYXNzZXJ0X2VxdWFscygKLSAgICAgIGlu
c3RhbmNlLmV4cG9ydHNbJ2luYyddKDQyKSwgNDMsICdpbmMgc2hvdWxkIGluY3JlbWVudCBpdHMg
YXJndW1lbnQnKTsKLX0sICdXZWJBc3NlbWJseSBtb2R1bGUgaW4gYSBKYXZhU2NyaXB0IG9iamVj
dCBJbmRleGVkREIgdmFsdWUnKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsK
LSAgY29uc3Qgd2FzbV9tb2R1bGUgPSBhd2FpdCBXZWJBc3NlbWJseS5jb21waWxlKHdhc21fbW9k
dWxlX2J5dGVzLmJ1ZmZlcik7Ci0KLSAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBjcmVhdGVEYXRh
YmFzZSh0ZXN0Q2FzZSwgKGRhdGFiYXNlLCB0cmFuc2FjdGlvbikgPT4gewotICAgIGNvbnN0IHN0
b3JlID0gZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJywgeyBrZXlQYXRoOiAna2V5
JyB9KTsKLSAgICBzdG9yZS5wdXQoeyBrZXk6ICdrZXkxJywgbW9kdWxlOiB3YXNtX21vZHVsZSB9
KTsKLSAgfSk7Ci0KLSAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUs
IHJlamVjdCkgPT4gewotICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rp
b24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKLSAgICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZScpOwotICAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5nZXQoJ2tl
eTEnKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IChldmVudCkgPT4gcmVzb2x2ZShldmVudC50
YXJnZXQucmVzdWx0KTsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSAoZXZlbnQpID0+IHJlamVjdChl
dmVudC50YXJnZXQuZXJyb3IpOwotICB9KTsKLQotICBkYXRhYmFzZS5jbG9zZSgpOwotCi0gIGFz
c2VydF9lcXVhbHMoJ2tleTEnLCByZXN1bHQua2V5KTsKLSAgY29uc3QgaW5zdGFuY2UgPSBhd2Fp
dCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShyZXN1bHQubW9kdWxlKTsKLSAgYXNzZXJ0X2VxdWFs
cygKLSAgICAgIGluc3RhbmNlLmV4cG9ydHNbJ2luYyddKDQyKSwgNDMsICdpbmMgc2hvdWxkIGlu
Y3JlbWVudCBpdHMgYXJndW1lbnQnKTsKLX0sICdXZWJBc3NlbWJseSBtb2R1bGUgaW4gYW4gSW5k
ZXhlZERCIHZhbHVlIHdpdGggYW4gaW5saW5lIGtleScpOwotCi08L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRl
ci1zdGFydmF0aW9uLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi93cml0ZXItc3RhcnZhdGlvbi5odG0JKHJldmlz
aW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3dyaXRlci1zdGFydmF0aW9uLmh0bQkod29ya2luZyBjb3B5KQpAQCAtMTIs
NyArMTIsNyBAQAogICAgIHZhciB3cml0ZV9yZXF1ZXN0X2NvdW50ID0gMCwgd3JpdGVfc3VjY2Vz
c19jb3VudCA9IDA7CiAgICAgdmFyIFJRX0NPVU5UID0gMjU7CiAKLSAgICB2YXIgb3Blbl9ycSA9
IGNyZWF0ZWRiKGFzeW5jX3Rlc3QodW5kZWZpbmVkLCB7dGltZW91dDogMjAwMDB9KSk7CisgICAg
dmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KHVuZGVmaW5lZCkpOwogICAgIG9wZW5f
cnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAgICAgICBkYiA9IGUudGFyZ2V0
LnJlc3VsdDsKICAgICAgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoInMiKQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVy
YXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWNvbW1vbi5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtY29tbW9uLmpzCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tl
eS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1jb21tb24uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw5MyBAQAorLy8gUmV0dXJucyB0aGUgIm5hbWUiIHByb3BlcnR5IHdyaXR0
ZW4gdG8gdGhlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBJRC4KK2Z1bmN0aW9uIG5hbWVGb3JJZChp
ZCkgeworICByZXR1cm4gYE9iamVjdCAke2lkfWA7Cit9CisKKy8vIEluaXRpYWwgZGF0YWJhc2Ug
c2V0dXAgdXNlZCBieSBhbGwgdGhlIHJlYWRpbmctYXV0b2luY3JlbWVudCB0ZXN0cy4KK2FzeW5j
IGZ1bmN0aW9uIHNldHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNlKSB7CisgIGNvbnN0
IGRhdGFiYXNlID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodGVzdENhc2UsIGRhdGFiYXNlID0+IHsK
KyAgICBjb25zdCBzdG9yZSA9IGRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKAorICAgICAgICAn
c3RvcmUnLCB7IGF1dG9JbmNyZW1lbnQ6IHRydWUsIGtleVBhdGg6ICdpZCcgfSk7CisgICAgc3Rv
cmUuY3JlYXRlSW5kZXgoJ2J5X25hbWUnLCAnbmFtZScsIHsgdW5pcXVlOiB0cnVlIH0pOworICAg
IHN0b3JlLmNyZWF0ZUluZGV4KCdieV9pZCcsICdpZCcsIHsgdW5pcXVlOiB0cnVlIH0pOworCisg
ICAgLy8gQ292ZXIgd3JpdGluZyBmcm9tIHRoZSBpbml0aWFsIHVwZ3JhZGUgdHJhbnNhY3Rpb24u
CisgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMTY7ICsraSkgeworICAgICAgaWYgKGkgJSAyID09
IDApIHsKKyAgICAgICAgc3RvcmUucHV0KHtuYW1lOiBuYW1lRm9ySWQoaSksIGlkOiBpfSk7Cisg
ICAgICB9IGVsc2UgeworICAgICAgICBzdG9yZS5wdXQoe25hbWU6IG5hbWVGb3JJZChpKX0pOwor
ICAgICAgfQorICAgIH0KKyAgfSk7CisKKyAgLy8gQ292ZXIgd3JpdGluZyBmcm9tIGEgc3Vic2Vx
dWVudCB0cmFuc2FjdGlvbi4KKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50cmFuc2Fj
dGlvbihbJ3N0b3JlJ10sICdyZWFkd3JpdGUnKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgZm9yIChsZXQgaSA9IDE3OyBpIDw9IDMyOyArK2kp
IHsKKyAgICBpZiAoaSAlIDIgPT0gMCkgeworICAgICAgc3RvcmUucHV0KHtuYW1lOiBuYW1lRm9y
SWQoaSksIGlkOiBpfSk7CisgICAgfSBlbHNlIHsKKyAgICAgIHN0b3JlLnB1dCh7bmFtZTogbmFt
ZUZvcklkKGkpfSk7CisgICAgfQorICB9CisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0
ZXN0Q2FzZSwgdHJhbnNhY3Rpb24pOworCisgIHJldHVybiBkYXRhYmFzZTsKK30KKworLy8gUmV0
dXJucyB0aGUgSURzIHVzZWQgYnkgdGhlIG9iamVjdCBzdG9yZSwgc29ydGVkIGFzIHN0cmluZ3Mu
CisvLworLy8gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZSB0aGUgY29ycmVjdCBvcmRlciBvZiBy
ZWNvcmRzIHdoZW4gcmV0cmlldmVkIGZyb20gYW4KKy8vIGluZGV4IHRoYXQgdXNlcyBzdHJpbmdp
ZmllZCBJRHMuCitmdW5jdGlvbiBpZHNTb3J0ZWRCeVN0cmluZ0NvbXBhcmUoKSB7CisgIGNvbnN0
IHN0cmluZ0lkcyA9IFtdOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytpKQorICAgIHN0
cmluZ0lkcy5wdXNoKGkpOworICBzdHJpbmdJZHMuc29ydCgoYSwgYikgPT4gaW5kZXhlZERCLmNt
cChgJHthfWAsIGAke2J9YCkpOworICByZXR1cm4gc3RyaW5nSWRzOworfQorCithc3luYyBmdW5j
dGlvbiBpdGVyYXRlQ3Vyc29yKHRlc3RDYXNlLCBjdXJzb3JSZXF1ZXN0LCBjYWxsYmFjaykgewor
ICAvLyBUaGlzIHVzZXMgcmVxdWVzdFdhdGNoZXIoKSBkaXJlY3RseSBpbnN0ZWFkIG9mIHVzaW5n
IHByb21pc2VGb3JSZXF1ZXN0KCkKKyAgLy8gaW5zaWRlIHRoZSBsb29wIHRvIGF2b2lkIGNyZWF0
aW5nIG11bHRpcGxlIEV2ZW50V2F0Y2hlciBpbnN0YW5jZXMuIEluIHR1cm4sCisgIC8vIHRoaXMg
YXZvaWRzIGVuZGluZyB1cCB3aXRoIE8oTikgbGlzdGVuZXJzIGZvciB0aGUgcmVxdWVzdCBhbmQg
TyhOXjIpCisgIC8vIGRpc3BhdGNoZWQgZXZlbnRzLgorICBjb25zdCBldmVudFdhdGNoZXIgPSBy
ZXF1ZXN0V2F0Y2hlcih0ZXN0Q2FzZSwgY3Vyc29yUmVxdWVzdCk7CisgIHdoaWxlICh0cnVlKSB7
CisgICAgY29uc3QgZXZlbnQgPSBhd2FpdCBldmVudFdhdGNoZXIud2FpdF9mb3IoJ3N1Y2Nlc3Mn
KTsKKyAgICBjb25zdCBjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgIGlmIChjdXJz
b3IgPT09IG51bGwpCisgICAgICByZXR1cm47CisgICAgY2FsbGJhY2soY3Vyc29yKTsKKyAgICBj
dXJzb3IuY29udGludWUoKTsKKyAgfQorfQorCisvLyBSZXR1cm5zIGVxdWl2YWxlbnQgaW5mb3Jt
YXRpb24gdG8gZ2V0QWxsS2V5cygpIGJ5IGl0ZXJhdGluZyBhIGN1cnNvci4KKy8vCisvLyBSZXR1
cm5zIGFuIGFycmF5IHdpdGggb25lIGRpY3Rpb25hcnkgcGVyIGVudHJ5IGluIHRoZSBzb3VyY2Uu
IFRoZSBkaWN0aW9uYXJ5CisvLyBoYXMgdGhlIHByb3BlcnRpZXMgImtleSIgYW5kICJwcmltYXJ5
S2V5Ii4KK2FzeW5jIGZ1bmN0aW9uIGdldEFsbEtleXNWaWFDdXJzb3IodGVzdENhc2UsIGN1cnNv
clNvdXJjZSkgeworICBjb25zdCByZXN1bHRzID0gW107CisgIGF3YWl0IGl0ZXJhdGVDdXJzb3Io
dGVzdENhc2UsIGN1cnNvclNvdXJjZS5vcGVuS2V5Q3Vyc29yKCksIGN1cnNvciA9PiB7CisgICAg
cmVzdWx0cy5wdXNoKHsga2V5OiBjdXJzb3Iua2V5LCBwcmltYXJ5S2V5OiBjdXJzb3IucHJpbWFy
eUtleSB9KTsKKyAgfSk7CisgIHJldHVybiByZXN1bHRzOworfQorCisvLyBSZXR1cm5zIGVxdWl2
YWxlbnQgaW5mb3JtYXRpb24gdG8gZ2V0QWxsKCkgYnkgaXRlcmF0aW5nIGEgY3Vyc29yLgorLy8K
Ky8vIFJldHVybnMgYW4gYXJyYXkgd2l0aCBvbmUgZGljdGlvbmFyeSBwZXIgZW50cnkgaW4gdGhl
IHNvdXJjZS4gVGhlIGRpY3Rpb25hcnkKKy8vIGhhcyB0aGUgcHJvcGVydGllcyAia2V5IiwgInBy
aW1hcnlLZXkiIGFuZCAidmFsdWUiLgorYXN5bmMgZnVuY3Rpb24gZ2V0QWxsVmlhQ3Vyc29yKHRl
c3RDYXNlLCBjdXJzb3JTb3VyY2UpIHsKKyAgY29uc3QgcmVzdWx0cyA9IFtdOworICBhd2FpdCBp
dGVyYXRlQ3Vyc29yKHRlc3RDYXNlLCBjdXJzb3JTb3VyY2Uub3BlbkN1cnNvcigpLCBjdXJzb3Ig
PT4geworICAgIHJlc3VsdHMucHVzaCh7CisgICAgICBrZXk6IGN1cnNvci5rZXksCisgICAgICBw
cmltYXJ5S2V5OiBjdXJzb3IucHJpbWFyeUtleSwKKyAgICAgIHZhbHVlOiBjdXJzb3IudmFsdWUs
CisgICAgfSk7CisgIH0pOworICByZXR1cm4gcmVzdWx0czsKK30KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhl
cy1jdXJzb3JzLmFueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVh
ZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnktZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLWN1
cnNvcnMuYW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYgQEAKKwor
UEFTUyBJREJJbmRleC5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBvbiB0aGUg
YXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRl
cyBvdmVyIGFuIGluZGV4IG9uIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXgu
b3BlbkN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gaW5kZXggbm90IGNvdmVyaW5nIHRoZSBhdXRv
aW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXgub3BlbktleUN1cnNvcigpIGl0ZXJhdGVzIG92
ZXIgYW4gaW5kZXggbm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5
LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhl
cy1jdXJzb3JzLmFueS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmct
YXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGlu
ZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWlu
ZGV4ZXMtY3Vyc29ycy5hbnkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1h
dXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdl
bmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw4OCBAQAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRp
Y2F0ZWR3b3JrZXIsc2hhcmVkd29ya2VyLHNlcnZpY2V3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0u
Li9zdXBwb3J0LXByb21pc2VzLmpzCisvLyBNRVRBOiBzY3JpcHQ9Li9yZWFkaW5nLWF1dG9pbmNy
ZW1lbnQtY29tbW9uLmpzCisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNv
bnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2Up
OworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oWydzdG9yZSdd
LCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmUnKTsKKyAgY29uc3QgaW5kZXggPSBzdG9yZS5pbmRleCgnYnlfaWQnKTsKKworICBjb25z
dCByZXN1bHQgPSBhd2FpdCBnZXRBbGxWaWFDdXJzb3IodGVzdENhc2UsIGluZGV4KTsKKyAgYXNz
ZXJ0X2VxdWFscyhyZXN1bHQubGVuZ3RoLCAzMik7CisgIGZvciAobGV0IGkgPSAxOyBpIDw9IDMy
OyArK2kpIHsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0ua2V5LCBpLCAnQXV0b2lu
Y3JlbWVudCBpbmRleCBrZXknKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0ucHJp
bWFyeUtleSwgaSwgJ0F1dG9pbmNyZW1lbnQgcHJpbWFyeSBrZXknKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHJlc3VsdFtpIC0gMV0udmFsdWUuaWQsIGksICdBdXRvaW5jcmVtZW50IGtleSBpbiB2YWx1
ZScpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS52YWx1ZS5uYW1lLCBuYW1lRm9y
SWQoaSksCisgICAgICAgICAgICAgICAgICAnU3RyaW5nIHByb3BlcnR5IGluIHZhbHVlJyk7Cisg
IH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQkluZGV4Lm9wZW5DdXJzb3IoKSBpdGVy
YXRlcyBvdmVyIGFuIGluZGV4IG9uIHRoZSBhdXRvaW5jcmVtZW50IGtleScpOworCitwcm9taXNl
X3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVw
QXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9
IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgIGNvbnN0IGluZGV4ID0g
c3RvcmUuaW5kZXgoJ2J5X2lkJyk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0QWxsS2V5
c1ZpYUN1cnNvcih0ZXN0Q2FzZSwgaW5kZXgpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5n
dGgsIDMyKTsKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7ICsraSkgeworICAgIGFzc2VydF9l
cXVhbHMocmVzdWx0W2kgLSAxXS5rZXksIGksICdBdXRvaW5jcmVtZW50IGluZGV4IGtleScpOwor
ICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5wcmltYXJ5S2V5LCBpLCAnQXV0b2luY3Jl
bWVudCBwcmltYXJ5IGtleScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsKK30sICdJREJJ
bmRleC5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBvbiB0aGUgYXV0b2lu
Y3JlbWVudCBrZXknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29u
c3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNyZW1lbnREYXRhYmFzZSh0ZXN0Q2FzZSk7
CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50cmFuc2FjdGlvbihbJ3N0b3JlJ10s
ICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3JlLmluZGV4KCdieV9uYW1lJyk7CisKKyAgY29u
c3Qgc3RyaW5nU29ydGVkSWRzID0gaWRzU29ydGVkQnlTdHJpbmdDb21wYXJlKCk7CisKKyAgY29u
c3QgcmVzdWx0ID0gYXdhaXQgZ2V0QWxsVmlhQ3Vyc29yKHRlc3RDYXNlLCBpbmRleCk7CisgIGFz
c2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAz
MjsgKytpKSB7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLmtleSwgbmFtZUZvcklk
KHN0cmluZ1NvcnRlZElkc1tpIC0gMV0pLAorICAgICAgICAgICAgICAgICAgJ0luZGV4IGtleScp
OworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5wcmltYXJ5S2V5LCBzdHJpbmdTb3J0
ZWRJZHNbaSAtIDFdLAorICAgICAgICAgICAgICAgICAgJ0F1dG9pbmNyZW1lbnQgcHJpbWFyeSBr
ZXknKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0udmFsdWUuaWQsIHN0cmluZ1Nv
cnRlZElkc1tpIC0gMV0sCisgICAgICAgICAgICAgICAgICAnQXV0b2luY3JlbWVudCBrZXkgaW4g
dmFsdWUnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0udmFsdWUubmFtZSwgbmFt
ZUZvcklkKHN0cmluZ1NvcnRlZElkc1tpIC0gMV0pLAorICAgICAgICAgICAgICAgICAgJ1N0cmlu
ZyBwcm9wZXJ0eSBpbiB2YWx1ZScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsKK30sICdJ
REJJbmRleC5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBub3QgY292ZXJpbmcg
dGhlICcgKworICAgJ2F1dG9pbmNyZW1lbnQga2V5Jyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0
ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50
RGF0YWJhc2UodGVzdENhc2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJh
bnNhY3Rpb24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgY29uc3QgaW5kZXggPSBzdG9yZS5pbmRleCgn
YnlfbmFtZScpOworCisgIGNvbnN0IHN0cmluZ1NvcnRlZElkcyA9IGlkc1NvcnRlZEJ5U3RyaW5n
Q29tcGFyZSgpOworCisgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdldEFsbEtleXNWaWFDdXJzb3Io
dGVzdENhc2UsIGluZGV4KTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1bHQubGVuZ3RoLCAzMik7Cisg
IGZvciAobGV0IGkgPSAxOyBpIDw9IDMyOyArK2kpIHsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3Vs
dFtpIC0gMV0ua2V5LCBuYW1lRm9ySWQoc3RyaW5nU29ydGVkSWRzW2kgLSAxXSksCisgICAgICAg
ICAgICAgICAgICAnSW5kZXgga2V5Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFd
LnByaW1hcnlLZXksIHN0cmluZ1NvcnRlZElkc1tpIC0gMV0sCisgICAgICAgICAgICAgICAgICAn
QXV0b2luY3JlbWVudCBwcmltYXJ5IGtleScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsK
K30sICdJREJJbmRleC5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBub3Qg
Y292ZXJpbmcgdGhlICcgKworICAgJ2F1dG9pbmNyZW1lbnQga2V5Jyk7ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWlu
ZGV4ZXMtY3Vyc29ycy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
a2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnku
c2VydmljZXdvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMv
cmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkuc2VydmljZXdvcmtlci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACisKK1BBU1MgSURCSW5k
ZXgub3BlbkN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gaW5kZXggb24gdGhlIGF1dG9pbmNyZW1l
bnQga2V5IAorUEFTUyBJREJJbmRleC5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBp
bmRleCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4Lm9wZW5DdXJzb3Io
KSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBr
ZXkgCitQQVNTIElEQkluZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4
IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3Jz
L3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55LnNlcnZpY2V3b3JrZXIu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5k
ZXhlcy1jdXJzb3JzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdl
bmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkuc2Vydmlj
ZXdvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRl
bXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5l
cmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVt
ZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorCitQ
QVNTIElEQkluZGV4Lm9wZW5DdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG9uIHRoZSBh
dXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXgub3BlbktleUN1cnNvcigpIGl0ZXJhdGVz
IG92ZXIgYW4gaW5kZXggb24gdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5v
cGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9p
bmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3Zl
ciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXkt
Z2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS53b3Jr
ZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQt
aW5kZXhlcy1jdXJzb3JzLmFueS53b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJh
dG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS53b3JrZXIuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJl
ZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVz
dCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFk
aW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tl
eS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWlu
ZGV4ZXMuYW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKKwor
UEFTUyBJREJJbmRleC5nZXRBbGwoKSBmb3IgYW4gaW5kZXggb24gdGhlIGF1dG9pbmNyZW1lbnQg
a2V5IAorUEFTUyBJREJJbmRleC5nZXRBbGxLZXlzKCkgZm9yIGFuIGluZGV4IG9uIHRoZSBhdXRv
aW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0KCkgZm9yIGFuIGluZGV4IG9uIHRoZSBh
dXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0QWxsKCkgZm9yIGFuIGluZGV4IG5v
dCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldEFsbEtl
eXMoKSByZXR1cm5zIGNvcnJlY3QgcmVzdWx0IGZvciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhl
IGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXQoKSBmb3IgYW4gaW5kZXggbm90
IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVh
ZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVy
YXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55Lmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55Lmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGlu
Zy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3Jz
L3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS5qcwkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXkt
Z2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxMDggQEAKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csZGVkaWNhdGVk
d29ya2VyLHNoYXJlZHdvcmtlcixzZXJ2aWNld29ya2VyCisvLyBNRVRBOiBzY3JpcHQ9Li4vc3Vw
cG9ydC1wcm9taXNlcy5qcworLy8gTUVUQTogc2NyaXB0PS4vcmVhZGluZy1hdXRvaW5jcmVtZW50
LWNvbW1vbi5qcworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBk
YXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNlKTsKKwor
ICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3Jl
YWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3Jl
Jyk7CisgIGNvbnN0IGluZGV4ID0gc3RvcmUuaW5kZXgoJ2J5X2lkJyk7CisgIGNvbnN0IHJlcXVl
c3QgPSBpbmRleC5nZXRBbGwoKTsKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJl
cXVlc3QodGVzdENhc2UsIHJlcXVlc3QpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgs
IDMyKTsKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7ICsraSkgeworICAgIGFzc2VydF9lcXVh
bHMocmVzdWx0W2kgLSAxXS5pZCwgaSwgJ0F1dG9pbmNyZW1lbnQga2V5Jyk7CisgICAgYXNzZXJ0
X2VxdWFscyhyZXN1bHRbaSAtIDFdLm5hbWUsIG5hbWVGb3JJZChpKSwgJ1N0cmluZyBwcm9wZXJ0
eScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsKK30sICdJREJJbmRleC5nZXRBbGwoKSBm
b3IgYW4gaW5kZXggb24gdGhlIGF1dG9pbmNyZW1lbnQga2V5Jyk7CisKK3Byb21pc2VfdGVzdChh
c3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5j
cmVtZW50RGF0YWJhc2UodGVzdENhc2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJh
c2UudHJhbnNhY3Rpb24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgY29uc3QgaW5kZXggPSBzdG9yZS5p
bmRleCgnYnlfaWQnKTsKKyAgY29uc3QgcmVxdWVzdCA9IGluZGV4LmdldEFsbEtleXMoKTsKKyAg
Y29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3Qp
OworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsKKyAgZm9yIChsZXQgaSA9IDE7
IGkgPD0gMzI7ICsraSkKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0sIGksICdBdXRv
aW5jcmVtZW50IGtleScpOworCisgIGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCSW5kZXguZ2V0
QWxsS2V5cygpIGZvciBhbiBpbmRleCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXknKTsKKworcHJv
bWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBz
ZXR1cEF1dG9pbmNyZW1lbnREYXRhYmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3QgdHJhbnNhY3Rp
b24gPSBkYXRhYmFzZS50cmFuc2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBjb25z
dCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworICBjb25zdCBpbmRl
eCA9IHN0b3JlLmluZGV4KCdieV9pZCcpOworCisgIGZvciAobGV0IGkgPSAxOyBpIDw9IDMyOyAr
K2kpIHsKKyAgICBjb25zdCByZXF1ZXN0ID0gaW5kZXguZ2V0KGkpOworICAgIGNvbnN0IHJlc3Vs
dCA9IGF3YWl0IHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJlc3VsdC5pZCwgaSwgJ2F1dG9pbmNyZW1lbnQga2V5Jyk7CisgICAgYXNzZXJ0
X2VxdWFscyhyZXN1bHQubmFtZSwgbmFtZUZvcklkKGkpLCAnc3RyaW5nIHByb3BlcnR5Jyk7Cisg
IH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQkluZGV4LmdldCgpIGZvciBhbiBpbmRl
eCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RD
YXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNyZW1lbnREYXRh
YmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3Qgc3RyaW5nU29ydGVkSWRzID0gaWRzU29ydGVkQnlT
dHJpbmdDb21wYXJlKCk7CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50cmFuc2Fj
dGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3JlLmluZGV4KCdieV9u
YW1lJyk7CisgIGNvbnN0IHJlcXVlc3QgPSBpbmRleC5nZXRBbGwoKTsKKyAgY29uc3QgcmVzdWx0
ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpOworICBhc3NlcnRf
ZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7ICsr
aSkgeworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5pZCwgc3RyaW5nU29ydGVkSWRz
W2kgLSAxXSwKKyAgICAgICAgICAgICAgICAgICdhdXRvaW5jcmVtZW50IGtleScpOworICAgIGFz
c2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5uYW1lLCBuYW1lRm9ySWQoc3RyaW5nU29ydGVkSWRz
W2kgLSAxXSksCisgICAgICAgICAgICAgICAgICAnc3RyaW5nIHByb3BlcnR5Jyk7CisgIH0KKwor
ICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQkluZGV4LmdldEFsbCgpIGZvciBhbiBpbmRleCBu
b3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5Jyk7CisKK3Byb21pc2VfdGVzdChhc3lu
YyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVt
ZW50RGF0YWJhc2UodGVzdENhc2UpOworCisgIGNvbnN0IHN0cmluZ1NvcnRlZElkcyA9IGlkc1Nv
cnRlZEJ5U3RyaW5nQ29tcGFyZSgpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2Uu
dHJhbnNhY3Rpb24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFu
c2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgY29uc3QgaW5kZXggPSBzdG9yZS5pbmRl
eCgnYnlfbmFtZScpOworICBjb25zdCByZXF1ZXN0ID0gaW5kZXguZ2V0QWxsS2V5cygpOworICBj
b25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7
CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsg
aSA8PSAzMjsgKytpKQorICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXSwgc3RyaW5nU29y
dGVkSWRzW2kgLSAxXSwgJ1N0cmluZyBwcm9wZXJ0eScpOworCisgIGRhdGFiYXNlLmNsb3NlKCk7
Cit9LCAnSURCSW5kZXguZ2V0QWxsS2V5cygpIHJldHVybnMgY29ycmVjdCByZXN1bHQgZm9yIGFu
IGluZGV4IG5vdCBjb3ZlcmluZyAnICsKKyAgICd0aGUgYXV0b2luY3JlbWVudCBrZXknKTsKKwor
cHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2Fp
dCBzZXR1cEF1dG9pbmNyZW1lbnREYXRhYmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3QgdHJhbnNh
Y3Rpb24gPSBkYXRhYmFzZS50cmFuc2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBj
b25zdCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworICBjb25zdCBp
bmRleCA9IHN0b3JlLmluZGV4KCdieV9uYW1lJyk7CisKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0g
MzI7ICsraSkgeworICAgIGNvbnN0IHJlcXVlc3QgPSBpbmRleC5nZXQobmFtZUZvcklkKGkpKTsK
KyAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVx
dWVzdCk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuaWQsIGksICdBdXRvaW5jcmVtZW50IGtl
eScpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0Lm5hbWUsIG5hbWVGb3JJZChpKSwgJ1N0cmlu
ZyBwcm9wZXJ0eScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsKK30sICdJREJJbmRleC5n
ZXQoKSBmb3IgYW4gaW5kZXggbm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleScpOwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LnNlcnZp
Y2V3b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmct
YXV0b2luY3JlbWVudC1pbmRleGVzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5h
bnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4
IEBACisKK1BBU1MgSURCSW5kZXguZ2V0QWxsKCkgZm9yIGFuIGluZGV4IG9uIHRoZSBhdXRvaW5j
cmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0QWxsS2V5cygpIGZvciBhbiBpbmRleCBvbiB0
aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldCgpIGZvciBhbiBpbmRleCBv
biB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldEFsbCgpIGZvciBhbiBp
bmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5n
ZXRBbGxLZXlzKCkgcmV0dXJucyBjb3JyZWN0IHJlc3VsdCBmb3IgYW4gaW5kZXggbm90IGNvdmVy
aW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0KCkgZm9yIGFuIGlu
ZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0
b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMu
YW55LnNlcnZpY2V3b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFk
aW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuc2VydmljZXdvcmtlci5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJL
aXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2lu
Y3JlbWVudC1pbmRleGVzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1n
ZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVu
dC1pbmRleGVzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsOCBAQAorCitQQVNTIElEQkluZGV4LmdldEFsbCgpIGZvciBhbiBpbmRleCBvbiB0aGUgYXV0
b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldEFsbEtleXMoKSBmb3IgYW4gaW5kZXgg
b24gdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXQoKSBmb3IgYW4gaW5k
ZXggb24gdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXRBbGwoKSBmb3Ig
YW4gaW5kZXggbm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5k
ZXguZ2V0QWxsS2V5cygpIHJldHVybnMgY29ycmVjdCByZXN1bHQgZm9yIGFuIGluZGV4IG5vdCBj
b3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldCgpIGZvciBh
biBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkud29ya2VyLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55
Lndvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2lu
Y3JlbWVudC1pbmRleGVzLmFueS53b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
IEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1
Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vy
c29ycy5hbnktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmct
YXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworUEFTUyBJREJP
YmplY3RTdG9yZS5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5jcmVtZW50IHN0
b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBh
biBhdXRvaW5jcmVtZW50IHN0b3JlIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9p
bmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9y
cy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5h
bnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyBy
ZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0
ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9y
cy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
a2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55Lmpz
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9y
ZS1jdXJzb3JzLmFueS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4IEBACisvLyBNRVRB
OiBnbG9iYWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixzaGFyZWR3b3JrZXIsc2VydmljZXdvcmtl
cgorLy8gTUVUQTogc2NyaXB0PS4uL3N1cHBvcnQtcHJvbWlzZXMuanMKKy8vIE1FVEE6IHNjcmlw
dD0uL3JlYWRpbmctYXV0b2luY3JlbWVudC1jb21tb24uanMKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNyZW1l
bnREYXRhYmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50
cmFuc2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworCisgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdl
dEFsbFZpYUN1cnNvcih0ZXN0Q2FzZSwgc3RvcmUpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5s
ZW5ndGgsIDMyKTsKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7ICsraSkgeworICAgIGFzc2Vy
dF9lcXVhbHMocmVzdWx0W2kgLSAxXS5rZXksIGksICdBdXRvaW5jcmVtZW50IGtleScpOworICAg
IGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5wcmltYXJ5S2V5LCBpLCAnQXV0b2luY3JlbWVu
dCBwcmltYXJ5IGtleScpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS52YWx1ZS5p
ZCwgaSwgJ0F1dG9pbmNyZW1lbnQga2V5IGluIHZhbHVlJyk7CisgICAgYXNzZXJ0X2VxdWFscyhy
ZXN1bHRbaSAtIDFdLnZhbHVlLm5hbWUsIG5hbWVGb3JJZChpKSwKKyAgICAgICAgICAgICAgICAg
ICdzdHJpbmcgcHJvcGVydHkgaW4gdmFsdWUnKTsKKyAgfQorCisgIGRhdGFiYXNlLmNsb3NlKCk7
Cit9LCAnSURCT2JqZWN0U3RvcmUub3BlbkN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gYXV0b2lu
Y3JlbWVudCBzdG9yZScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBj
b25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNl
KTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUn
XSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlJyk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0QWxsS2V5c1ZpYUN1cnNvcih0
ZXN0Q2FzZSwgc3RvcmUpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsKKyAg
Zm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7ICsraSkgeworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0
W2kgLSAxXS5rZXksIGksICdJbmNvcnJlY3QgYXV0b2luY3JlbWVudCBrZXknKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0ucHJpbWFyeUtleSwgaSwgJ0luY29ycmVjdCBwcmltYXJ5
IGtleScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsKK30sICdJREJPYmplY3RTdG9yZS5v
cGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5jcmVtZW50IHN0b3JlJyk7Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRv
aW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJz
b3JzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuc2VydmljZXdv
cmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKK1BBU1Mg
SURCT2JqZWN0U3RvcmUub3BlbkN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gYXV0b2luY3JlbWVu
dCBzdG9yZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUub3BlbktleUN1cnNvcigpIGl0ZXJhdGVzIG92
ZXIgYW4gYXV0b2luY3JlbWVudCBzdG9yZSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1h
dXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5h
bnkuc2VydmljZXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRp
bmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9y
IFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1h
dXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMu
YW55Lndvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVh
ZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55Lndvcmtlci1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgSURCT2JqZWN0U3RvcmUub3Bl
bkN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gYXV0b2luY3JlbWVudCBzdG9yZSAKK1BBU1MgSURC
T2JqZWN0U3RvcmUub3BlbktleUN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gYXV0b2luY3JlbWVu
dCBzdG9yZSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3Jl
LWN1cnNvcnMuYW55Lndvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRp
bmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS53b3JrZXIuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5h
bnkud29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUg
dGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdl
bmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5j
cmVtZW50LXN0b3JlLmFueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
IEBACisKK1BBU1MgSURCT2JqZWN0U3RvcmUuZ2V0QWxsKCkgZm9yIGFuIGF1dG9pbmNyZW1lbnQg
c3RvcmUgCitQQVNTIElEQk9iamVjdFN0b3JlLmdldEFsbEtleXMoKSBmb3IgYW4gYXV0b2luY3Jl
bWVudCBzdG9yZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUuZ2V0KCkgZm9yIGFuIGF1dG9pbmNyZW1l
bnQgc3RvcmUgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9y
ZS5hbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1l
bnQtc3RvcmUuYW55Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1h
dXRvaW5jcmVtZW50LXN0b3JlLmFueS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAK
KzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVy
ZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnkuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFu
eS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQt
c3RvcmUuYW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8vIE1FVEE6IGds
b2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLHNoYXJlZHdvcmtlcixzZXJ2aWNld29ya2VyCisv
LyBNRVRBOiBzY3JpcHQ9Li4vc3VwcG9ydC1wcm9taXNlcy5qcworLy8gTUVUQTogc2NyaXB0PS4v
cmVhZGluZy1hdXRvaW5jcmVtZW50LWNvbW1vbi5qcworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVz
dENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3JlbWVudERh
dGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5z
YWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5nZXRBbGwo
KTsKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJl
cXVlc3QpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsKKyAgZm9yIChsZXQg
aSA9IDE7IGkgPD0gMzI7ICsraSkgeworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5p
ZCwgaSwgJ0F1dG9pbmNyZW1lbnQga2V5Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAt
IDFdLm5hbWUsIG5hbWVGb3JJZChpKSwgJ1N0cmluZyBwcm9wZXJ0eScpOworICB9CisKKyAgZGF0
YWJhc2UuY2xvc2UoKTsKK30sICdJREJPYmplY3RTdG9yZS5nZXRBbGwoKSBmb3IgYW4gYXV0b2lu
Y3JlbWVudCBzdG9yZScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBj
b25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNl
KTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUn
XSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlJyk7CisgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5nZXRBbGxLZXlzKCk7CisgIGNvbnN0
IHJlc3VsdCA9IGF3YWl0IHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KTsKKyAg
YXNzZXJ0X2VxdWFscyhyZXN1bHQubGVuZ3RoLCAzMik7CisgIGZvciAobGV0IGkgPSAxOyBpIDw9
IDMyOyArK2kpCisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLCBpLCAnQXV0b2luY3Jl
bWVudCBrZXknKTsKKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQk9iamVjdFN0b3JlLmdl
dEFsbEtleXMoKSBmb3IgYW4gYXV0b2luY3JlbWVudCBzdG9yZScpOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2lu
Y3JlbWVudERhdGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFi
YXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0g
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisKKyAgZm9yIChsZXQgaSA9IDE7IGkg
PD0gMzI7ICsraSkgeworICAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5nZXQoaSk7CisgICAgY29u
c3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpOwor
ICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmlkLCBpLCAnQXV0b2luY3JlbWVudCBrZXknKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5uYW1lLCBuYW1lRm9ySWQoaSksICdTdHJpbmcgcHJvcGVy
dHknKTsKKyAgfQorCisgIGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCT2JqZWN0U3RvcmUuZ2V0
KCkgZm9yIGFuIGF1dG9pbmNyZW1lbnQgc3RvcmUnKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55LnNl
cnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRp
bmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFu
eS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUg
QEAKKworUEFTUyBJREJPYmplY3RTdG9yZS5nZXRBbGwoKSBmb3IgYW4gYXV0b2luY3JlbWVudCBz
dG9yZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUuZ2V0QWxsS2V5cygpIGZvciBhbiBhdXRvaW5jcmVt
ZW50IHN0b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5nZXQoKSBmb3IgYW4gYXV0b2luY3JlbWVu
dCBzdG9yZSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3Jl
LmFueS5zZXJ2aWNld29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGlu
Zy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS5zZXJ2aWNld29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS5zZXJ2aWNl
d29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVy
YXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFk
aW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgSURCT2JqZWN0U3RvcmUuZ2V0QWxsKCkgZm9y
IGFuIGF1dG9pbmNyZW1lbnQgc3RvcmUgCitQQVNTIElEQk9iamVjdFN0b3JlLmdldEFsbEtleXMo
KSBmb3IgYW4gYXV0b2luY3JlbWVudCBzdG9yZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUuZ2V0KCkg
Zm9yIGFuIGF1dG9pbmNyZW1lbnQgc3RvcmUgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmct
YXV0b2luY3JlbWVudC1zdG9yZS5hbnkud29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVy
YXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS53b3JrZXIuaHRtbAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55Lndv
cmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBs
YXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0
b3JzL3czYy1pbXBvcnQubG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3czYy1pbXBvcnQu
bG9nCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3czYy1pbXBvcnQubG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0
cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgor
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0
b2luY3JlbWVudC1jb21tb24uanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQt
aW5kZXhlcy1jdXJzb3JzLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVu
dC1pbmRleGVzLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9y
ZS1jdXJzb3JzLmFueS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9y
ZS5hbnkuanMKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3Jlc291cmNlcy9pZGJmYWN0b3J5LW9yaWdpbi1pc29sYXRpb24taWZyYW1l
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvcmVzb3VyY2VzL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi1p
ZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9yZXNvdXJjZXMvaWRiZmFjdG9yeS1vcmlnaW4taXNv
bGF0aW9uLWlmcmFtZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPHRpdGxlPlRoaXMgaWZyYW1lIGtlZXBzIGEgdHJhbnNhY3Rpb24gb24gYSBk
YXRhYmFzZSBhbGl2ZSBpbmRlZmluaXRlbHkgdG8gdGVzdDwvdGl0bGU+Cis8c2NyaXB0PgorCisv
LyBLZWVwcyB0aGUgcGFzc2VkIHRyYW5zYWN0aW9uIGFsaXZlIGluZGVmaW5pdGVseSAoYnkgbWFr
aW5nIHJlcXVlc3RzCisvLyBhZ2FpbnN0IHRoZSBuYW1lZCBzdG9yZSkuIFJldHVybnMgYSBmdW5j
dGlvbiB0aGF0IGFzc2VydHMgdGhhdCB0aGUKKy8vIHRyYW5zYWN0aW9uIGhhcyBub3QgYWxyZWFk
eSBjb21wbGV0ZWQgYW5kIHRoZW4gZW5kcyB0aGUgcmVxdWVzdCBsb29wIHNvIHRoYXQKKy8vIHRo
ZSB0cmFuc2FjdGlvbiBtYXkgYXV0b2NvbW1pdCBhbmQgY29tcGxldGUuCitmdW5jdGlvbiBrZWVw
X2FsaXZlKHR4LCBzdG9yZV9uYW1lKSB7CisgIGxldCBjb21wbGV0ZWQgPSBmYWxzZTsKKyAgdHgu
YWRkRXZlbnRMaXN0ZW5lcignY29tcGxldGUnLCAoKSA9PiB7IGNvbXBsZXRlZCA9IHRydWU7IH0p
OworCisgIGxldCBrZWVwU3Bpbm5pbmcgPSB0cnVlOworCisgIGZ1bmN0aW9uIHNwaW4oKSB7Cisg
ICAgaWYgKCFrZWVwU3Bpbm5pbmcpCisgICAgICByZXR1cm47CisgICAgdHgub2JqZWN0U3RvcmUo
c3RvcmVfbmFtZSkuZ2V0KDApLm9uc3VjY2VzcyA9IHNwaW47CisgIH0KKyAgc3BpbigpOworCisg
IHJldHVybiAoKSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKGNvbXBsZXRlZCwgJ1RyYW5zYWN0aW9u
IGNvbXBsZXRlZCB3aGlsZSBrZXB0IGFsaXZlJyk7CisgICAga2VlcFNwaW5uaW5nID0gZmFsc2U7
CisgIH07Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHJ1bigpIHsKKyAgY29uc3QgZGJzX3RvX2RlbGV0
ZSA9IGF3YWl0IGluZGV4ZWREQi5kYXRhYmFzZXMoKTsKKyAgZm9yIChjb25zdCBkYl9pbmZvIG9m
IGRic190b19kZWxldGUpIHsKKyAgICBsZXQgcmVxdWVzdCA9IGluZGV4ZWREQi5kZWxldGVEYXRh
YmFzZShkYl9pbmZvLm5hbWUpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWpl
Y3QpID0+IHsKKyAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gcmVzb2x2ZTsKKyAgICAgIHJlcXVl
c3Qub25lcnJvciA9IHJlamVjdDsKKyAgICB9KTsKKyAgfQorCisgIHZhciBvcGVuUmVxdWVzdCA9
IGluZGV4ZWREQi5vcGVuKCdkYi1pc29sYXRpb24tdGVzdCcpOworICBvcGVuUmVxdWVzdC5vbnVw
Z3JhZGVuZWVkZWQgPSAoKSA9PiB7CisgICAgb3BlblJlcXVlc3QucmVzdWx0LmNyZWF0ZU9iamVj
dFN0b3JlKCdzJyk7CisgIH07CisgIG9wZW5SZXF1ZXN0Lm9uc3VjY2VzcyA9ICgpID0+IHsKKyAg
ICB2YXIgdHggPSBvcGVuUmVxdWVzdC5yZXN1bHQudHJhbnNhY3Rpb24oJ3MnKTsKKyAgICBrZWVw
X2FsaXZlKHR4LCAncycpOworICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoImtlZXBfYWxp
dmVfc3RhcnRlZCIsICIqIik7CisgIH07Cit9CisKK3J1bigpOworPC9zY3JpcHQ+CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9yZXNv
dXJjZXMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDE3IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRl
ZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGly
ZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBX
UFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisK
K1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRv
IHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQ
cm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9yZXNvdXJjZXMvaWRiZmFjdG9yeS1vcmlnaW4taXNvbGF0
aW9uLWlmcmFtZS5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379516</attachid>
            <date>2019-09-24 17:16:17 -0700</date>
            <delta_ts>2019-09-25 06:00:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202179-20190925031615.patch</filename>
            <type>text/plain</type>
            <size>266208</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA5LTI0ICBBbGV4ZXkgU2h2YXlrYSAg
PHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBSZS1zeW5jIHdlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMTc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
IGZyb20gdXBzdHJlYW0gYTBmNzgxZTRkNGU5LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiB0ZXN0cy1vcHRpb25zLmpzb246CisKIDIwMTktMDktMjMgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENhbnZh
czogc2hvdyBXZWJHUFUgc2hhZGVyIHBpcGVsaW5lcwpJbmRleDogTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDA2LDcgKzEwMDYsNiBAQCB3ZWJraXQub3JnL2IvMTkxNTA4IGZhc3QvY3Nz
LWdyaWQtbGF5b3V0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nv
cGluZy9jc3Mtc2NvcGluZy1zaGFkb3ctaG9zdC1uYW1lc3BhY2UuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYWJvcnQt
aW4taW5pdGlhbC11cGdyYWRlbmVlZGVkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvY2xvbmUtYmVmb3JlLWtleXBhdGgtZXZh
bC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXkuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKICMg
VGhvc2UgV1BUIHRlc3RzIGFyZSBmbGFreSB3aGVuIGZhaWxpbmcuCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1tZXRh
LWVsZW1lbnQvcHJhZ21hLWRpcmVjdGl2ZXMvYXR0ci1tZXRhLWh0dHAtZXF1aXYtcmVmcmVzaC9h
bGxvdy1zY3JpcHRzLWZsYWctY2hhbmdpbmctMS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KQEAgLTE5
NjIsNyArMTk2MSw3IEBAIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZWRhdGFiYXNlLWRlbGF5ZWQK
IHN0b3JhZ2UvaW5kZXhlZGRiL3Byb3BlcnRpZXMtZGlzYWJsZWQtYXQtcnVudGltZS5odG1sIFsg
RmFpbHVyZSBdCiAKICMgSW4gZGVidWcgYnVpbGRzLCBydW5zIHRvbyBzbG93bHkgZm9yIHRoZSB0
ZXN0IHRpbWVvdXQuCi1bIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRyeS1iaWcuaHRtIFsgRmFpbHVyZSBdCitbIERlYnVn
IF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVs
dGllbnRyeS1iaWcuaHRtIFsgUGFzcyBGYWlsdXJlIF0KIAogIyBUZXN0IGlzIGNyYXNoaW5nCiB3
ZWJraXQub3JnL2IvMTg0MDY1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2tleXBhdGgtZXhjZXB0aW9ucy5odG0gWyBTa2lwIF0KQEAgLTI2NTcsOCArMjY1Niw4IEBA
IHdlYmtpdC5vcmcvYi8xODQ4MDIgaHR0cC90ZXN0cy9zZWN1cml0eS8KIAogd2Via2l0Lm9yZy9i
LzE4MTEwMCBpbnNwZWN0b3Ivd29ya2VyL3dvcmtlci1yZWNvdmVyLWlmLWluc3BlY3Rvci1jbG9z
ZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVybGVhdmVkLWN1cnNvcnMtbGFyZ2UuaHRtbCBbIEZh
aWx1cmUgXQotWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2ludGVybGVhdmVkLWN1cnNvcnMtc21hbGwuaHRtbCBbIEZhaWx1cmUgXQorWyBEZWJ1ZyBd
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVybGVhdmVkLWN1
cnNvcnMtbGFyZ2UuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitbIERlYnVnIF0gaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJsZWF2ZWQtY3Vyc29ycy1zbWFsbC5o
dG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xODY1NzQgbWVkaWEvdmlkZW8tYnVm
ZmVyaW5nLWFsbG93ZWQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKICMjIyBXZWJMIENvbmZvcm1h
bmNlIFN1aXRlIDIuMC4wIHRlc3RzIHRoYXQgZG8gbm90IHlldCBoYXZlIHN1cHBvcnQgYXMgb2Yg
d2Via2l0Lm9yZy9iLzE4OTY4Ni4gRW5hYmxlIGFzIHN1cHBvcnQgaXMgaW1wbGVtZW50ZWQuICMj
IwpJbmRleDogTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0
VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMiArMjMsMTgg
QEAKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0
YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmU4LXBhcmFtZXRlcnMuaHRtIjogWwogICAgICAgICAic2xv
dyIKICAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJpbmRleC1tdWx0aWVudHJ5LWJpZy5odG0iOiBbCisgICAgICAgICJzbG93IgorICAgIF0s
CiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4
LXJlbmFtZS5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAogICAgICJpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1yZW5hbWUtc3Rv
cmUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgxNS1h
dXRvaW5jcmVtZW50Lmh0bSI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRl
SW5kZXgzLXVzYWJsZS1yaWdodC1hd2F5Lmh0bSI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjUwMzI0KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE5LTA5LTI0ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWls
LmNvbT4KKworICAgICAgICBSZS1zeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIgZnJv
bSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAyMTc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCIGZyb20gdXBzdHJlYW0gYTBm
NzgxZTRkNGU5LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi8qOiBV
cGRhdGVkLgorCiAyMDE5LTA5LTI0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+
CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBVbmZsYWtlIHdlYi1hbmltYXRpb25zL3RpbWlu
Zy1tb2RlbC9hbmltYXRpb25zL3VwZGF0aW5nLXRoZS1maW5pc2hlZC1zdGF0ZS5odG1sIFdQVCB0
ZXN0CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9NRVRBLnltbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9NRVRBLnltbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9NRVRB
LnltbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKK3NwZWM6IGh0dHBzOi8vdzNjLmdp
dGh1Yi5pby9JbmRleGVkREIvCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIG9kaW5obworICAt
IGluZXhvcmFibGV0YXNoCisgIC0genF6aGFuZwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvT1dORVJTCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL09XTkVS
UwkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvT1dORVJTCShub25leGlzdGVudCkKQEAgLTEsNyArMCwwIEBA
Ci1Ab2RpbmhvCi1AaW5leG9yYWJsZXRhc2gKLUBjaHVueXdhbmcKLUBkdW1ibWF0dGVyCi1AenF6
aGFuZwotQHl1bnhpYW94aWUKLUB6aGFvemloYW8KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXktZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3Qta2V5LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCkBAIC0xLDUgKzAsMCBAQAotCi1QQVNTIFJldHVybmluZyBrZXlzIHRvIHNjcmlwdCBz
aG91bGQgYnlwYXNzIHByb3RvdHlwZSBzZXR0ZXJzIAotUEFTUyBSZXR1cm5pbmcgdmFsdWVzIHRv
IHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBzZXR0ZXJzIAotUEFTUyBSZXR1cm5pbmcg
dmFsdWVzIHRvIHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBjaGFpbiAKLQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmlu
ZGluZ3MtaW5qZWN0LWtleS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXkuaHRt
bAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LWtleS5odG1sCShub25leGlzdGVu
dCkKQEAgLTEsMTA0ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD11dGYt
OD4KLTx0aXRsZT5JbmRleGVkREI6IEVTIGJpbmRpbmdzIC0gSW5qZWN0IGEga2V5IGludG8gYSB2
YWx1ZTwvdGl0bGU+Ci08bWV0YSBuYW1lPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vSW5kZXhlZERCLyNpbmplY3Qta2V5LWludG8tdmFsdWUiPgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InN1cHBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLQotaW5kZXhlZGRiX3Rlc3QoCi0gICh0LCBkYikgPT4gewot
ICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpOwotICB9LAotICAodCwgZGIpID0+IHsK
LSAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKLSAg
ICBjb25zdCByZXF1ZXN0ID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KAotICAgICAgICAn
dmFsdWUnLCBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgJ2tleSddKTsKLQotICAgIGNv
bnN0IHNldHRlcl9jYWxsZWQgPSBmYWxzZTsKLSAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2Jq
ZWN0LnByb3RvdHlwZSwgJzEwJywgewotICAgICAgY29uZmlndXJhYmxlOiB0cnVlLAotICAgICAg
c2V0OiB0LnN0ZXBfZnVuYygodmFsdWUpID0+IHsgc2V0dGVyX2NhbGxlZCA9IHRydWU7IH0pLAot
ICAgIH0pOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoJ3JlcXVlc3Qg
c2hvdWxkIG5vdCBmYWlsJyk7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYygo
KSA9PiB7Ci0gICAgICBjb25zdCByZXN1bHQgPSByZXF1ZXN0LnJlc3VsdDsKLSAgICAgIGFzc2Vy
dF9mYWxzZShzZXR0ZXJfY2FsbGVkLAotICAgICAgICAgICAgICAgICAgICdTZXR0ZXIgc2hvdWxk
IG5vdCBiZSBjYWxsZWQgZm9yIGtleSByZXN1bHQuJyk7Ci0gICAgICBhc3NlcnRfdHJ1ZSgKLSAg
ICAgICAgICByZXN1bHQuaGFzT3duUHJvcGVydHkoJzEwJyksCi0gICAgICAgICAgJ1Jlc3VsdCBz
aG91bGQgaGF2ZSBvd24tcHJvcGVydHkgb3ZlcnJpZGluZyBwcm90b3R5cGUgc2V0dGVyLicpOwot
ICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbMTBdLCAna2V5JywKLSAgICAgICAgICAgICAgICAg
ICAgJ1Jlc3VsdCBzaG91bGQgaGF2ZSBleHBlY3RlZCBwcm9wZXJ0eS4nKTsKLQotICAgICAgZGVs
ZXRlIE9iamVjdC5wcm90b3R5cGVbJzEwJ107Ci0gICAgICB0LmRvbmUoKTsKLSAgICB9KTsKLSAg
fSwKLSAgJ1JldHVybmluZyBrZXlzIHRvIHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBz
ZXR0ZXJzJwotKTsKLQotaW5kZXhlZGRiX3Rlc3QoCi0gICh0LCBkYikgPT4gewotICAgIGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScsIHthdXRvSW5jcmVtZW50OiB0cnVlLCBrZXlQYXRoOiAn
aWQnfSk7Ci0gIH0sCi0gICh0LCBkYikgPT4gewotICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOwotICAgIHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLnB1
dCh7fSk7Ci0gICAgY29uc3QgcmVxdWVzdCA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLmdldCgx
KTsKLQotICAgIGNvbnN0IHNldHRlcl9jYWxsZWQgPSBmYWxzZTsKLSAgICBPYmplY3QuZGVmaW5l
UHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgJ2lkJywgewotICAgICAgY29uZmlndXJhYmxlOiB0
cnVlLAotICAgICAgc2V0OiB0LnN0ZXBfZnVuYyhmdW5jdGlvbih2YWx1ZSkgeyBzZXR0ZXJfY2Fs
bGVkID0gdHJ1ZTsgfSksCi0gICAgfSk7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdC51bnJlYWNo
ZWRfZnVuYygncmVxdWVzdCBzaG91bGQgbm90IGZhaWwnKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgICAgICBjb25zdCByZXN1bHQgPSByZXF1
ZXN0LnJlc3VsdDsKLSAgICAgIGFzc2VydF9mYWxzZShzZXR0ZXJfY2FsbGVkLAotICAgICAgICAg
ICAgICAgICAgICdTZXR0ZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZm9yIGtleSByZXN1bHQuJyk7
Ci0gICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICByZXN1bHQuaGFzT3duUHJvcGVydHkoJ2lk
JyksCi0gICAgICAgICAgJ1Jlc3VsdCBzaG91bGQgaGF2ZSBvd24tcHJvcGVydHkgb3ZlcnJpZGlu
ZyBwcm90b3R5cGUgc2V0dGVyLicpOwotICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuaWQsIDEs
Ci0gICAgICAgICAgICAgICAgICAgICdPd24gcHJvcGVydHkgc2hvdWxkIG1hdGNoIHByaW1hcnkg
a2V5IGdlbmVyYXRvciB2YWx1ZScpOwotCi0gICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsn
aWQnXTsKLSAgICAgIHQuZG9uZSgpOwotICAgIH0pOwotICB9LAotICAnUmV0dXJuaW5nIHZhbHVl
cyB0byBzY3JpcHQgc2hvdWxkIGJ5cGFzcyBwcm90b3R5cGUgc2V0dGVycycKLSk7Ci0KLWluZGV4
ZWRkYl90ZXN0KAotICAodCwgZGIpID0+IHsKLSAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmUnLCB7YXV0b0luY3JlbWVudDogdHJ1ZSwga2V5UGF0aDogJ2EuYi5jJ30pOwotICB9LAotICAo
dCwgZGIpID0+IHsKLSAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFk
d3JpdGUnKTsKLSAgICB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5wdXQoe30pOwotICAgIGNvbnN0
IHJlcXVlc3QgPSB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5nZXQoMSk7Ci0KLSAgICBPYmplY3Qu
cHJvdG90eXBlLmEgPSB7Yjoge2M6ICdvbiBwcm90byd9fTsKLQotICAgIHJlcXVlc3Qub25lcnJv
ciA9IHQudW5yZWFjaGVkX2Z1bmMoJ3JlcXVlc3Qgc2hvdWxkIG5vdCBmYWlsJyk7Ci0gICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKLSAgICAgIGNvbnN0IHJl
c3VsdCA9IHJlcXVlc3QucmVzdWx0OwotICAgICAgYXNzZXJ0X3RydWUocmVzdWx0Lmhhc093blBy
b3BlcnR5KCdhJyksCi0gICAgICAgICAgICAgICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1w
cm9wZXJ0aWVzIG92ZXJyaWRpbmcgcHJvdG90eXBlLicpOwotICAgICAgYXNzZXJ0X3RydWUocmVz
dWx0LmEuaGFzT3duUHJvcGVydHkoJ2InKSwKLSAgICAgICAgICAgICAgICAgICdSZXN1bHQgc2hv
dWxkIGhhdmUgb3duLXByb3BlcnRpZXMgb3ZlcnJpZGluZyBwcm90b3R5cGUuJyk7Ci0gICAgICBh
c3NlcnRfdHJ1ZShyZXN1bHQuYS5iLmhhc093blByb3BlcnR5KCdjJyksCi0gICAgICAgICAgICAg
ICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1wcm9wZXJ0aWVzIG92ZXJyaWRpbmcgcHJvdG90
eXBlLicpOwotICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuYS5iLmMsIDEsCi0gICAgICAgICAg
ICAgICAgICAgICdPd24gcHJvcGVydHkgc2hvdWxkIG1hdGNoIHByaW1hcnkga2V5IGdlbmVyYXRv
ciB2YWx1ZScpOwotICAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3QucHJvdG90eXBlLmEuYi5jLCAn
b24gcHJvdG8nLAotICAgICAgICAgICAgICAgICAgJ1Byb3RvdHlwZSBzaG91bGQgbm90IGJlIG1v
ZGlmaWVkJyk7Ci0gICAgICB0LmRvbmUoKTsKLSAgICB9KTsKLSAgfSwKLSAgJ1JldHVybmluZyB2
YWx1ZXMgdG8gc2NyaXB0IHNob3VsZCBieXBhc3MgcHJvdG90eXBlIGNoYWluJwotKTsKLQotPC9z
Y3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3Qta2V5cy1ieXBhc3Mtc2V0dGVycy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LWtleXMtYnlwYXNzLXNldHRlcnMtZXhwZWN0
ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXlzLWJ5cGFzcy1zZXR0ZXJz
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBSZXR1
cm5pbmcga2V5cyB0byBzY3JpcHQgc2hvdWxkIGJ5cGFzcyBwcm90b3R5cGUgc2V0dGVycyAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvYmluZGluZ3MtaW5qZWN0LWtleXMtYnlwYXNzLXNldHRlcnMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9i
aW5kaW5ncy1pbmplY3Qta2V5cy1ieXBhc3Mtc2V0dGVycy5odG1sCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Jp
bmRpbmdzLWluamVjdC1rZXlzLWJ5cGFzcy1zZXR0ZXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRp
dGxlPkluZGV4ZWREQjogRVMgYmluZGluZ3MgLSBJbmplY3QgYSBrZXkgaW50byBhIHZhbHVlIC0g
S2V5cyBieXBhc3Mgc2V0dGVyczwvdGl0bGU+Cis8bWV0YSBuYW1lPSJoZWxwIgoraHJlZj0iaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL0luZGV4ZWREQi8jaW5qZWN0LWtleS1pbnRvLXZhbHVlLWtleXMt
YnlwYXNzLXNldHRlcnMiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InN1cHBvcnQtcHJvbWlzZXMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBkYiA9IGF3YWl0
IGNyZWF0ZURhdGFiYXNlKHQsIGRiID0+IHsKKyAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmUnKTsKKyAgfSk7CisKKyAgbGV0IHNldHRlcl9jYWxsZWQgPSBmYWxzZTsKKyAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICcxMCcsIHsKKyAgICBjb25maWd1cmFibGU6
IHRydWUsCisgICAgc2V0OiB2YWx1ZSA9PiB7IHNldHRlcl9jYWxsZWQgPSB0cnVlOyB9LAorICB9
KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWycxMCdd
OyB9KTsKKworICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUn
KTsKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodCwgdHgub2JqZWN0
U3RvcmUoJ3N0b3JlJykucHV0KAorICAgICAgJ3ZhbHVlJywgWzAsIDEsIDIsIDMsIDQsIDUsIDYs
IDcsIDgsIDksICdrZXknXSkpOworCisgIGFzc2VydF9mYWxzZShzZXR0ZXJfY2FsbGVkLAorICAg
ICAgICAgICAgICAgJ1NldHRlciBzaG91bGQgbm90IGJlIGNhbGxlZCBmb3Iga2V5IHJlc3VsdC4n
KTsKKyAgYXNzZXJ0X3RydWUocmVzdWx0Lmhhc093blByb3BlcnR5KCcxMCcpLAorICAgICAgICAg
ICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1wcm9wZXJ0eSBvdmVycmlkaW5nIHByb3RvdHlw
ZSBzZXR0ZXIuJyk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0WzEwXSwgJ2tleScsCisgICAgICAg
ICAgICAgICAgJ1Jlc3VsdCBzaG91bGQgaGF2ZSBleHBlY3RlZCBwcm9wZXJ0eS4nKTsKK30sICdS
ZXR1cm5pbmcga2V5cyB0byBzY3JpcHQgc2hvdWxkIGJ5cGFzcyBwcm90b3R5cGUgc2V0dGVycycp
OworCis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlwYXNzLWNoYWluLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1jaGFp
bi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBh
c3MtY2hhaW4tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQ
QVNTIFJldHVybmluZyB2YWx1ZXMgdG8gc2NyaXB0IHNob3VsZCBieXBhc3MgcHJvdG90eXBlIGNo
YWluIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1jaGFpbi5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlwYXNzLWNoYWluLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvYmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBhc3MtY2hhaW4uaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDM1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTg+Cis8dGl0bGU+SW5kZXhlZERCOiBFUyBiaW5kaW5ncyAtIEluamVjdCBhIGtleSBpbnRvIGEg
dmFsdWUgLSBWYWx1ZXMgYnlwYXNzIGNoYWluPC90aXRsZT4KKzxtZXRhIG5hbWU9ImhlbHAiCito
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vSW5kZXhlZERCLyNpbmplY3Qta2V5LWludG8tdmFs
dWUtdmFsdWVzLWJ5cGFzcy1jaGFpbiI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic3VwcG9ydC1wcm9taXNlcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IGRi
ID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodCwgZGIgPT4geworICAgIGRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdzdG9yZScsIHthdXRvSW5jcmVtZW50OiB0cnVlLCBrZXlQYXRoOiAnYS5iLmMnfSk7Cisg
IH0pOworCisgIE9iamVjdC5wcm90b3R5cGUuYSA9IHtiOiB7YzogJ29uIHByb3RvJ319OworICB0
LmFkZF9jbGVhbnVwKCgpID0+IHsgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuYTsgfSk7CisKKyAg
Y29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZHdyaXRlJyk7CisgIHR4Lm9i
amVjdFN0b3JlKCdzdG9yZScpLnB1dCh7fSk7CisgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21p
c2VGb3JSZXF1ZXN0KHQsIHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLmdldCgxKSk7CisKKyAgYXNz
ZXJ0X3RydWUocmVzdWx0Lmhhc093blByb3BlcnR5KCdhJyksCisgICAgICAgICAgICAgICdSZXN1
bHQgc2hvdWxkIGhhdmUgb3duLXByb3BlcnRpZXMgb3ZlcnJpZGluZyBwcm90b3R5cGUuJyk7Cisg
IGFzc2VydF90cnVlKHJlc3VsdC5hLmhhc093blByb3BlcnR5KCdiJyksCisgICAgICAgICAgICAg
ICdSZXN1bHQgc2hvdWxkIGhhdmUgb3duLXByb3BlcnRpZXMgb3ZlcnJpZGluZyBwcm90b3R5cGUu
Jyk7CisgIGFzc2VydF90cnVlKHJlc3VsdC5hLmIuaGFzT3duUHJvcGVydHkoJ2MnKSwKKyAgICAg
ICAgICAgICAgJ1Jlc3VsdCBzaG91bGQgaGF2ZSBvd24tcHJvcGVydGllcyBvdmVycmlkaW5nIHBy
b3RvdHlwZS4nKTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuYS5iLmMsIDEsCisgICAgICAgICAg
ICAgICAgJ093biBwcm9wZXJ0eSBzaG91bGQgbWF0Y2ggcHJpbWFyeSBrZXkgZ2VuZXJhdG9yIHZh
bHVlJyk7CisgIGFzc2VydF9lcXVhbHMoT2JqZWN0LnByb3RvdHlwZS5hLmIuYywgJ29uIHByb3Rv
JywKKyAgICAgICAgICAgICAgICAnUHJvdG90eXBlIHNob3VsZCBub3QgYmUgbW9kaWZpZWQnKTsK
K30sICdSZXR1cm5pbmcgdmFsdWVzIHRvIHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBj
aGFpbicpOworCis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlwYXNzLXNl
dHRlcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlw
YXNzLXNldHRlcnMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12
YWx1ZXMtYnlwYXNzLXNldHRlcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIFJldHVybmluZyB2YWx1ZXMgdG8gc2NyaXB0IHNob3VsZCBieXBhc3Mg
cHJvdG90eXBlIHNldHRlcnMgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlwYXNzLXNl
dHRlcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1zZXR0
ZXJzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBhc3Mtc2V0
dGVycy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzYgQEAKKzwhZG9jdHlwZSBodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5JbmRleGVkREI6IEVTIGJpbmRpbmdzIC0g
SW5qZWN0IGEga2V5IGludG8gYSB2YWx1ZSAtIFZhbHVlcyBieXBhc3MKKyAgc2V0dGVyczwvdGl0
bGU+Cis8bWV0YSBuYW1lPSJoZWxwIgoraHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL0luZGV4
ZWREQi8jaW5qZWN0LWtleS1pbnRvLXZhbHVlLXZhbHVlcy1ieXBhc3Mtc2V0dGVycyI+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0ic3VwcG9ydC1wcm9taXNlcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodCwgZGIg
PT4geworICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScsIHthdXRvSW5jcmVtZW50OiB0
cnVlLCBrZXlQYXRoOiAnaWQnfSk7CisgIH0pOworCisgIGxldCBzZXR0ZXJfY2FsbGVkID0gZmFs
c2U7CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAnaWQnLCB7Cisg
ICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgIHNldDogdmFsdWUgPT4geyBzZXR0ZXJfY2FsbGVk
ID0gdHJ1ZTsgfSwKKyAgfSk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBkZWxldGUgT2JqZWN0
LnByb3RvdHlwZVsnaWQnXTsgfSk7CisKKyAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignc3Rv
cmUnLCAncmVhZHdyaXRlJyk7CisgIHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLnB1dCh7fSk7Cisg
IGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VGb3JSZXF1ZXN0KHQsIHR4Lm9iamVjdFN0b3Jl
KCdzdG9yZScpLmdldCgxKSk7CisKKyAgYXNzZXJ0X2ZhbHNlKHNldHRlcl9jYWxsZWQsCisgICAg
ICAgICAgICAgICAnU2V0dGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIGZvciBrZXkgcmVzdWx0Licp
OworICBhc3NlcnRfdHJ1ZShyZXN1bHQuaGFzT3duUHJvcGVydHkoJ2lkJyksCisgICAgICAgICAg
ICAgICdSZXN1bHQgc2hvdWxkIGhhdmUgb3duLXByb3BlcnR5IG92ZXJyaWRpbmcgcHJvdG90eXBl
IHNldHRlci4nKTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuaWQsIDEsCisgICAgICAgICAgICAg
ICAgJ093biBwcm9wZXJ0eSBzaG91bGQgbWF0Y2ggcHJpbWFyeSBrZXkgZ2VuZXJhdG9yIHZhbHVl
Jyk7Cit9LCAnUmV0dXJuaW5nIHZhbHVlcyB0byBzY3JpcHQgc2hvdWxkIGJ5cGFzcyBwcm90b3R5
cGUgc2V0dGVycycpOworCis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtZXJyb3ItZXZlbnQtZXhjZXB0aW9u
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLWVycm9yLWV2ZW50LWV4Y2VwdGlvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtZXJyb3ItZXZlbnQtZXhjZXB0aW9uLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMiw2ICsyLDggQEAKIFBBU1MgRXhjZXB0aW9u
IGluIGVycm9yIGV2ZW50IGhhbmRsZXIgb24gcmVxdWVzdCAKIFBBU1MgRXhjZXB0aW9uIGluIGVy
cm9yIGV2ZW50IGhhbmRsZXIgb24gcmVxdWVzdCwgd2l0aCBwcmV2ZW50RGVmYXVsdCAKIFBBU1Mg
RXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGxpc3RlbmVyIG9uIHJlcXVlc3QgCitQQVNTIEV4Y2Vw
dGlvbiBpbiBlcnJvciBldmVudCBsaXN0ZW5lciAoImhhbmRsZUV2ZW50IiBsb29rdXApIG9uIHJl
cXVlc3QgCitGQUlMIEV4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBsaXN0ZW5lciAobm9uLWNhbGxh
YmxlICJoYW5kbGVFdmVudCIpIG9uIHJlcXVlc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkFi
b3J0RXJyb3IiIGJ1dCBnb3QgIkNvbnN0cmFpbnRFcnJvciIKIFBBU1MgRXhjZXB0aW9uIGluIHNl
Y29uZCBlcnJvciBldmVudCBsaXN0ZW5lciBvbiByZXF1ZXN0IAogUEFTUyBFeGNlcHRpb24gaW4g
Zmlyc3QgZXJyb3IgZXZlbnQgbGlzdGVuZXIgb24gcmVxdWVzdCwgdHJhbnNhY3Rpb24gYWN0aXZl
IGluIHNlY29uZCAKIFBBU1MgRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGhhbmRsZXIgb24gdHJh
bnNhY3Rpb24gCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9maXJlLWVycm9yLWV2ZW50LWV4Y2VwdGlvbi5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2ZpcmUtZXJyb3ItZXZlbnQtZXhjZXB0aW9uLmh0bWwJKHJldmlzaW9uIDI1MDI2MCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUt
ZXJyb3ItZXZlbnQtZXhjZXB0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIxLDYgKzIxLDkg
QEAgZnVuY3Rpb24gZmlyZV9lcnJvcl9ldmVudF90ZXN0KGZ1bmMsIGRlcwogICAgICAgY29uc3Qg
cmVxdWVzdCA9IHN0b3JlLmFkZCgwLCAwKTsKICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdC51
bnJlYWNoZWRfZnVuYygncmVxdWVzdCBzaG91bGQgZmFpbCcpOwogICAgICAgZnVuYyh0LCBkYiwg
dHgsIHJlcXVlc3QpOworICAgICAgdHguYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB0LnN0ZXBf
ZnVuY19kb25lKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAn
QWJvcnRFcnJvcicpOworICAgICAgfSkpOwogICAgIH0sCiAgICAgZGVzY3JpcHRpb24pOwogfQpA
QCAtMzEsOSArMzQsNiBAQCBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVz
CiAgIHJlcXVlc3Qub25lcnJvciA9ICgpID0+IHsKICAgICB0aHJvdyBFcnJvcigpOwogICB9Owot
ICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFs
cyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4g
ZXJyb3IgZXZlbnQgaGFuZGxlciBvbiByZXF1ZXN0Jyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVz
dCgodCwgZGIsIHR4LCByZXF1ZXN0KSA9PiB7CkBAIC00MSwzMCArNDEsMzMgQEAgZmlyZV9lcnJv
cl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlcwogICAgIGUucHJldmVudERlZmF1bHQoKTsK
ICAgICB0aHJvdyBFcnJvcigpOwogICB9OwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9u
ZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicp
OwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4gZXJyb3IgZXZlbnQgaGFuZGxlciBvbiByZXF1ZXN0
LCB3aXRoIHByZXZlbnREZWZhdWx0Jyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIs
IHR4LCByZXF1ZXN0KSA9PiB7CiAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAo
KSA9PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfSk7Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBf
ZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9y
dEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBsaXN0ZW5lciBv
biByZXF1ZXN0Jyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0
KSA9PiB7CisgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB7CisgICAgZ2V0IGhh
bmRsZUV2ZW50KCkgeworICAgICAgdGhyb3cgbmV3IEVycm9yKCk7CisgICAgfSwKKyAgfSk7Cit9
LCAnRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGxpc3RlbmVyICgiaGFuZGxlRXZlbnQiIGxvb2t1
cCkgb24gcmVxdWVzdCcpOworCitmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVx
dWVzdCkgPT4geworICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywge30pOworfSwg
J0V4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBsaXN0ZW5lciAobm9uLWNhbGxhYmxlICJoYW5kbGVF
dmVudCIpIG9uIHJlcXVlc3QnKTsKKworZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgs
IHJlcXVlc3QpID0+IHsKICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpID0+
IHsKICAgICAvLyBuby1vcAogICB9KTsKICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdlcnJv
cicsICgpID0+IHsKICAgICB0aHJvdyBFcnJvcigpOwogICB9KTsKLSAgdHgub25hYm9ydCA9IHQu
c3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwg
J0Fib3J0RXJyb3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIHNlY29uZCBlcnJvciBldmVu
dCBsaXN0ZW5lciBvbiByZXF1ZXN0Jyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIs
IHR4LCByZXF1ZXN0KSA9PiB7CkBAIC03NywxMCArODAsOSBAQCBmaXJlX2Vycm9yX2V2ZW50X3Rl
c3QoKHQsIGRiLCB0eCwgcmVxdWVzCiAgICAgYXNzZXJ0X3RydWUoaXNfdHJhbnNhY3Rpb25fYWN0
aXZlKHR4LCAncycpLAogICAgICAgICAgICAgICAgICdUcmFuc2FjdGlvbiBzaG91bGQgYmUgYWN0
aXZlIHVudGlsIGRpc3BhdGNoIGNvbXBsZXRlcycpOwogICB9KSk7Ci0gIHR4Lm9uYWJvcnQgPSB0
LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgdHguYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB0
LnN0ZXBfZnVuYygoKSA9PiB7CiAgICAgYXNzZXJ0X3RydWUoc2Vjb25kX2xpc3RlbmVyX2NhbGxl
ZCk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9
KTsKKyAgfSkpOwogfSwgJ0V4Y2VwdGlvbiBpbiBmaXJzdCBlcnJvciBldmVudCBsaXN0ZW5lciBv
biByZXF1ZXN0LCAnICsKICAgICd0cmFuc2FjdGlvbiBhY3RpdmUgaW4gc2Vjb25kJyk7CiAKQEAg
LTkwLDkgKzkyLDYgQEAgZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlcwog
ICB0eC5vbmVycm9yID0gKCkgPT4gewogICAgIHRocm93IEVycm9yKCk7CiAgIH07Ci0gIHR4Lm9u
YWJvcnQgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVy
cm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBl
dmVudCBoYW5kbGVyIG9uIHRyYW5zYWN0aW9uJyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgo
dCwgZGIsIHR4LCByZXF1ZXN0KSA9PiB7CkBAIC0xMDAsMTggKzk5LDEyIEBAIGZpcmVfZXJyb3Jf
ZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXMKICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAg
ICAgdGhyb3cgRXJyb3IoKTsKICAgfTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2RvbmUo
KCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsK
LSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGhhbmRsZXIgb24gdHJhbnNhY3Rp
b24sIHdpdGggcHJldmVudERlZmF1bHQnKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBk
YiwgdHgsIHJlcXVlc3QpID0+IHsKICAgdHguYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoKSA9
PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfSk7Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBfZnVu
Y19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVy
cm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBsaXN0ZW5lciBvbiB0
cmFuc2FjdGlvbicpOwogCiBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVz
dCkgPT4gewpAQCAtMTIxLDkgKzExNCw2IEBAIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIs
IHR4LCByZXF1ZXMKICAgdHguYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoKSA9PiB7CiAgICAg
dGhyb3cgRXJyb3IoKTsKICAgfSk7Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBfZnVuY19kb25lKCgp
ID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0g
IH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBzZWNvbmQgZXJyb3IgZXZlbnQgbGlzdGVuZXIgb24gdHJh
bnNhY3Rpb24nKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlc3Qp
ID0+IHsKQEAgLTEzNiwxMCArMTI2LDkgQEAgZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwg
dHgsIHJlcXVlcwogICAgIGFzc2VydF90cnVlKGlzX3RyYW5zYWN0aW9uX2FjdGl2ZSh0eCwgJ3Mn
KSwKICAgICAgICAgICAgICAgICAnVHJhbnNhY3Rpb24gc2hvdWxkIGJlIGFjdGl2ZSB1bnRpbCBk
aXNwYXRjaCBjb21wbGV0ZXMnKTsKICAgfSkpOwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNf
ZG9uZSgoKSA9PiB7CisgIHR4LmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgdC5zdGVwX2Z1bmMo
KCkgPT4gewogICAgIGFzc2VydF90cnVlKHNlY29uZF9saXN0ZW5lcl9jYWxsZWQpOwotICAgIGFz
c2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CisgIH0pKTsK
IH0sICdFeGNlcHRpb24gaW4gZmlyc3QgZXJyb3IgZXZlbnQgbGlzdGVuZXIgb24gdHJhbnNhY3Rp
b24sICcgKwogICAgJ3RyYW5zYWN0aW9uIGFjdGl2ZSBpbiBzZWNvbmQnKTsKIApAQCAtMTQ5LDkg
KzEzOCw2IEBAIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXMKICAgZGIu
b25lcnJvciA9ICgpID0+IHsKICAgICB0aHJvdyBFcnJvcigpOwogICB9OwotICB0eC5vbmFib3J0
ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5u
YW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4gZXJyb3IgZXZlbnQg
aGFuZGxlciBvbiBjb25uZWN0aW9uJyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIs
IHR4LCByZXF1ZXN0KSA9PiB7CkBAIC0xNTksMTggKzE0NSwxMiBAQCBmaXJlX2Vycm9yX2V2ZW50
X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzCiAgICAgZS5wcmV2ZW50RGVmYXVsdCgpCiAgICAgdGhy
b3cgRXJyb3IoKTsKICAgfTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4g
ewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7
CiB9LCAnRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGhhbmRsZXIgb24gY29ubmVjdGlvbiwgd2l0
aCBwcmV2ZW50RGVmYXVsdCcpOwogCiBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwg
cmVxdWVzdCkgPT4gewogICBkYi5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpID0+IHsKICAg
ICB0aHJvdyBFcnJvcigpOwogICB9KTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2RvbmUo
KCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsK
LSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGxpc3RlbmVyIG9uIGNvbm5lY3Rp
b24nKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlc3QpID0+IHsK
QEAgLTE4MCw5ICsxNjAsNiBAQCBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVx
dWVzCiAgIGRiLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4gewogICAgIHRocm93IEVy
cm9yKCk7CiAgIH0pOwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0g
ICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0s
ICdFeGNlcHRpb24gaW4gc2Vjb25kIGVycm9yIGV2ZW50IGxpc3RlbmVyIG9uIGNvbm5lY3Rpb24n
KTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlc3QpID0+IHsKQEAg
LTE5NSwxMCArMTcyLDkgQEAgZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVl
cwogICAgIGFzc2VydF90cnVlKGlzX3RyYW5zYWN0aW9uX2FjdGl2ZSh0eCwgJ3MnKSwKICAgICAg
ICAgICAgICAgICAnVHJhbnNhY3Rpb24gc2hvdWxkIGJlIGFjdGl2ZSB1bnRpbCBkaXNwYXRjaCBj
b21wbGV0ZXMnKTsKICAgfSkpOwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9
PiB7CisgIHR4LmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgdC5zdGVwX2Z1bmMoKCkgPT4gewog
ICAgIGFzc2VydF90cnVlKHNlY29uZF9saXN0ZW5lcl9jYWxsZWQpOwotICAgIGFzc2VydF9lcXVh
bHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CisgIH0pKTsKIH0sICdFeGNl
cHRpb24gaW4gZmlyc3QgZXJyb3IgZXZlbnQgbGlzdGVuZXIgb24gY29ubmVjdGlvbiwgJyArCiAg
ICAndHJhbnNhY3Rpb24gYWN0aXZlIGluIHNlY29uZCcpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLXN1Y2Nlc3MtZXZl
bnQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLXN1Y2Nlc3MtZXZlbnQt
ZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS1zdWNjZXNzLWV2
ZW50LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw4IEBA
CiAKIFBBU1MgRXhjZXB0aW9uIGluIHN1Y2Nlc3MgZXZlbnQgaGFuZGxlciBvbiByZXF1ZXN0IAog
UEFTUyBFeGNlcHRpb24gaW4gc3VjY2VzcyBldmVudCBsaXN0ZW5lciBvbiByZXF1ZXN0IAorUEFT
UyBFeGNlcHRpb24gaW4gc3VjY2VzcyBldmVudCBsaXN0ZW5lciAoImhhbmRsZUV2ZW50IiBsb29r
dXApIG9uIHJlcXVlc3QgCitGQUlMIEV4Y2VwdGlvbiBpbiBzdWNjZXNzIGV2ZW50IGxpc3RlbmVy
IChub24tY2FsbGFibGUgImhhbmRsZUV2ZW50Iikgb24gcmVxdWVzdCBhc3NlcnRfdW5yZWFjaGVk
OiB0cmFuc2FjdGlvbiBzaG91bGQgYWJvcnQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBQQVNT
IEV4Y2VwdGlvbiBpbiBzZWNvbmQgc3VjY2VzcyBldmVudCBsaXN0ZW5lciBvbiByZXF1ZXN0IAog
UEFTUyBFeGNlcHRpb24gaW4gZmlyc3Qgc3VjY2VzcyBldmVudCBsaXN0ZW5lciwgdHggYWN0aXZl
IGluIHNlY29uZCAKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvZmlyZS1zdWNjZXNzLWV2ZW50LWV4Y2VwdGlvbi5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2ZpcmUtc3VjY2Vzcy1ldmVudC1leGNlcHRpb24uaHRtbAkocmV2aXNpb24gMjUwMjYw
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvZmlyZS1zdWNjZXNzLWV2ZW50LWV4Y2VwdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
OSw2ICsxOSw5IEBAIGZ1bmN0aW9uIGZpcmVfc3VjY2Vzc19ldmVudF90ZXN0KGZ1bmMsIGQKICAg
ICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoJ3MnKTsKICAgICAgIGNvbnN0IHJlcXVl
c3QgPSBzdG9yZS5nZXQoMCk7CiAgICAgICBmdW5jKHQsIGRiLCB0eCwgcmVxdWVzdCk7CisgICAg
ICB0eC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9yJyk7CisgICAg
ICB9KSk7CiAgICAgfSwKICAgICBkZXNjcmlwdGlvbik7CiB9CkBAIC0yNywzMCArMzAsMzUgQEAg
ZmlyZV9zdWNjZXNzX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdQogICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9ICgpID0+IHsKICAgICB0aHJvdyBFcnJvcigpOwogICB9OwotICB0eC5vbmFib3J0ID0g
dC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1l
LCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4gc3VjY2VzcyBldmVudCBo
YW5kbGVyIG9uIHJlcXVlc3QnKTsKIAogZmlyZV9zdWNjZXNzX2V2ZW50X3Rlc3QoKHQsIGRiLCB0
eCwgcmVxdWVzdCkgPT4gewogICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ3N1Y2Nlc3MnLCAo
KSA9PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfSk7Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBf
ZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9y
dEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBzdWNjZXNzIGV2ZW50IGxpc3RlbmVy
IG9uIHJlcXVlc3QnKTsKIAogZmlyZV9zdWNjZXNzX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVx
dWVzdCkgPT4geworICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ3N1Y2Nlc3MnLCB7CisgICAg
Z2V0IGhhbmRsZUV2ZW50KCkgeworICAgICAgdGhyb3cgbmV3IEVycm9yKCk7CisgICAgfSwKKyAg
fSk7Cit9LCAnRXhjZXB0aW9uIGluIHN1Y2Nlc3MgZXZlbnQgbGlzdGVuZXIgKCJoYW5kbGVFdmVu
dCIgbG9va3VwKSBvbiByZXF1ZXN0Jyk7CisKK2ZpcmVfc3VjY2Vzc19ldmVudF90ZXN0KCh0LCBk
YiwgdHgsIHJlcXVlc3QpID0+IHsKKyAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdzdWNjZXNz
JywgeworICAgIGhhbmRsZUV2ZW50OiBudWxsLAorICB9KTsKK30sICdFeGNlcHRpb24gaW4gc3Vj
Y2VzcyBldmVudCBsaXN0ZW5lciAobm9uLWNhbGxhYmxlICJoYW5kbGVFdmVudCIpIG9uIHJlcXVl
c3QnKTsKKworZmlyZV9zdWNjZXNzX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzdCkgPT4g
ewogICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ3N1Y2Nlc3MnLCAoKSA9PiB7CiAgICAgLy8g
bm8tb3AKICAgfSk7CiAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcignc3VjY2VzcycsICgpID0+
IHsKICAgICB0aHJvdyBFcnJvcigpOwogICB9KTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5j
X2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJy
b3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIHNlY29uZCBzdWNjZXNzIGV2ZW50IGxpc3Rl
bmVyIG9uIHJlcXVlc3QnKTsKIAogZmlyZV9zdWNjZXNzX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwg
cmVxdWVzdCkgPT4gewpAQCAtNjMsMTAgKzcxLDkgQEAgZmlyZV9zdWNjZXNzX2V2ZW50X3Rlc3Qo
KHQsIGRiLCB0eCwgcmVxdQogICAgIGFzc2VydF90cnVlKGlzX3RyYW5zYWN0aW9uX2FjdGl2ZSh0
eCwgJ3MnKSwKICAgICAgICAgICAgICAgICAnVHJhbnNhY3Rpb24gc2hvdWxkIGJlIGFjdGl2ZSB1
bnRpbCBkaXNwYXRjaCBjb21wbGV0ZXMnKTsKICAgfSkpOwotICB0eC5vbmFib3J0ID0gdC5zdGVw
X2Z1bmNfZG9uZSgoKSA9PiB7CisgIHR4LmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgdC5zdGVw
X2Z1bmMoKCkgPT4gewogICAgIGFzc2VydF90cnVlKHNlY29uZF9saXN0ZW5lcl9jYWxsZWQpOwot
ICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7Cisg
IH0pKTsKIH0sICdFeGNlcHRpb24gaW4gZmlyc3Qgc3VjY2VzcyBldmVudCBsaXN0ZW5lciwgdHgg
YWN0aXZlIGluIHNlY29uZCcpOwogCiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtdXBncmFkZW5lZWRlZC1l
dmVudC1leGNlcHRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtdXBncmFkZW5lZWRl
ZC1ldmVudC1leGNlcHRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLXVw
Z3JhZGVuZWVkZWQtZXZlbnQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSwxMCArMSwxMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBFcnJvcgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDMxOiBFcnJvcgogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM3OiBFcnJv
cgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBFcnJvcgotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDYzOiBFcnJvcgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBFcnJvcgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDYyOiBFcnJvcgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDcwOiBFcnJvcgogCiBQ
QVNTIEV4Y2VwdGlvbiBpbiB1cGdyYWRlbmVlZGVkIGhhbmRsZXIgCiBQQVNTIEV4Y2VwdGlvbiBp
biB1cGdyYWRlbmVlZGVkIGxpc3RlbmVyIAorUEFTUyBFeGNlcHRpb24gaW4gdXBncmFkZW5lZWRl
ZCAiaGFuZGxlRXZlbnQiIGxvb2t1cCAKK0ZBSUwgRXhjZXB0aW9uIGluIHVwZ3JhZGVuZWVkZWQg
ZHVlIHRvIG5vbi1jYWxsYWJsZSAiaGFuZGxlRXZlbnQiIGFzc2VydF91bnJlYWNoZWQ6IG9wZW4g
c2hvdWxkIGZhaWwgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBQQVNTIEV4Y2VwdGlvbiBpbiBz
ZWNvbmQgdXBncmFkZW5lZWRlZCBsaXN0ZW5lciAKIFBBU1MgRXhjZXB0aW9uIGluIGZpcnN0IHVw
Z3JhZGVuZWVkZWQgbGlzdGVuZXIsIHR4IGFjdGl2ZSBpbiBzZWNvbmQgCiAKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtdXBn
cmFkZW5lZWRlZC1ldmVudC1leGNlcHRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLXVwZ3JhZGVu
ZWVkZWQtZXZlbnQtZXhjZXB0aW9uLmh0bWwJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtdXBncmFk
ZW5lZWRlZC1ldmVudC1leGNlcHRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTUsNDggKzE1
LDU1IEBAIGZ1bmN0aW9uIGZpcmVfdXBncmFkZW5lZWRlZF9ldmVudF90ZXN0KGYKICAgICBkZWwu
b25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoJ2RlbGV0ZURhdGFiYXNlIHNob3VsZCBzdWNjZWVk
Jyk7CiAgICAgY29uc3Qgb3BlbiA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMSk7CiAgICAgb3Bl
bi5vbnN1Y2Nlc3MgPSB0LnVucmVhY2hlZF9mdW5jKCdvcGVuIHNob3VsZCBmYWlsJyk7CisgICAg
bGV0IHR4OworICAgIG9wZW4uYWRkRXZlbnRMaXN0ZW5lcigndXBncmFkZW5lZWRlZCcsICgpID0+
IHsKKyAgICAgIHR4ID0gb3Blbi50cmFuc2FjdGlvbjsKKyAgICB9KTsKICAgICBmdW5jKHQsIG9w
ZW4pOworICAgIG9wZW4uYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB0LnN0ZXBfZnVuY19kb25l
KCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3In
KTsKKyAgICB9KSk7CiAgIH0sIGRlc2NyaXB0aW9uKTsKIH0KIAogZmlyZV91cGdyYWRlbmVlZGVk
X2V2ZW50X3Rlc3QoKHQsIG9wZW4pID0+IHsKLSAgbGV0IHR4OwogICBvcGVuLm9udXBncmFkZW5l
ZWRlZCA9ICgpID0+IHsKLSAgICB0eCA9IG9wZW4udHJhbnNhY3Rpb247CiAgICAgdGhyb3cgRXJy
b3IoKTsKICAgfTsKLSAgb3Blbi5vbmVycm9yID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0g
ICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0s
ICdFeGNlcHRpb24gaW4gdXBncmFkZW5lZWRlZCBoYW5kbGVyJyk7CiAKIGZpcmVfdXBncmFkZW5l
ZWRlZF9ldmVudF90ZXN0KCh0LCBvcGVuKSA9PiB7Ci0gIGxldCB0eDsKICAgb3Blbi5hZGRFdmVu
dExpc3RlbmVyKCd1cGdyYWRlbmVlZGVkJywgKCkgPT4gewotICAgIHR4ID0gb3Blbi50cmFuc2Fj
dGlvbjsKICAgICB0aHJvdyBFcnJvcigpOwogICB9KTsKLSAgb3Blbi5vbmVycm9yID0gdC5zdGVw
X2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJv
cnRFcnJvcicpOwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4gdXBncmFkZW5lZWRlZCBsaXN0ZW5l
cicpOwogCiBmaXJlX3VwZ3JhZGVuZWVkZWRfZXZlbnRfdGVzdCgodCwgb3BlbikgPT4gewotICBs
ZXQgdHg7CisgIG9wZW4uYWRkRXZlbnRMaXN0ZW5lcigndXBncmFkZW5lZWRlZCcsIHsKKyAgICBn
ZXQgaGFuZGxlRXZlbnQoKSB7CisgICAgICB0aHJvdyBuZXcgRXJyb3IoKTsKKyAgICB9LAorICB9
KTsKK30sICdFeGNlcHRpb24gaW4gdXBncmFkZW5lZWRlZCAiaGFuZGxlRXZlbnQiIGxvb2t1cCcp
OworCitmaXJlX3VwZ3JhZGVuZWVkZWRfZXZlbnRfdGVzdCgodCwgb3BlbikgPT4geworICBvcGVu
LmFkZEV2ZW50TGlzdGVuZXIoJ3VwZ3JhZGVuZWVkZWQnLCB7CisgICAgZ2V0IGhhbmRsZUV2ZW50
KCkgeworICAgICAgcmV0dXJuIDEwOworICAgIH0sCisgIH0pOworfSwgJ0V4Y2VwdGlvbiBpbiB1
cGdyYWRlbmVlZGVkIGR1ZSB0byBub24tY2FsbGFibGUgImhhbmRsZUV2ZW50IicpOworCitmaXJl
X3VwZ3JhZGVuZWVkZWRfZXZlbnRfdGVzdCgodCwgb3BlbikgPT4gewogICBvcGVuLmFkZEV2ZW50
TGlzdGVuZXIoJ3VwZ3JhZGVuZWVkZWQnLCAoKSA9PiB7CiAgICAgLy8gTm8tb3AuCiAgIH0pOwog
ICBvcGVuLmFkZEV2ZW50TGlzdGVuZXIoJ3VwZ3JhZGVuZWVkZWQnLCAoKSA9PiB7Ci0gICAgdHgg
PSBvcGVuLnRyYW5zYWN0aW9uOwogICAgIHRocm93IEVycm9yKCk7CiAgIH0pOwotICBvcGVuLm9u
ZXJyb3IgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVy
cm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBzZWNvbmQg
dXBncmFkZW5lZWRlZCBsaXN0ZW5lcicpOwogCiBmaXJlX3VwZ3JhZGVuZWVkZWRfZXZlbnRfdGVz
dCgodCwgb3BlbikgPT4gewotICBsZXQgdHg7CiAgIGxldCBzZWNvbmRfbGlzdGVuZXJfY2FsbGVk
ID0gZmFsc2U7CiAgIG9wZW4uYWRkRXZlbnRMaXN0ZW5lcigndXBncmFkZW5lZWRlZCcsICgpID0+
IHsKICAgICBvcGVuLnJlc3VsdC5jcmVhdGVPYmplY3RTdG9yZSgncycpOwpAQCAtNjQsMTQgKzcx
LDEyIEBAIGZpcmVfdXBncmFkZW5lZWRlZF9ldmVudF90ZXN0KCh0LCBvcGVuKSAKICAgfSk7CiAg
IG9wZW4uYWRkRXZlbnRMaXN0ZW5lcigndXBncmFkZW5lZWRlZCcsIHQuc3RlcF9mdW5jKCgpID0+
IHsKICAgICBzZWNvbmRfbGlzdGVuZXJfY2FsbGVkID0gdHJ1ZTsKLSAgICB0eCA9IG9wZW4udHJh
bnNhY3Rpb247Ci0gICAgYXNzZXJ0X3RydWUoaXNfdHJhbnNhY3Rpb25fYWN0aXZlKHR4LCAncycp
LAorICAgIGFzc2VydF90cnVlKGlzX3RyYW5zYWN0aW9uX2FjdGl2ZShvcGVuLnRyYW5zYWN0aW9u
LCAncycpLAogICAgICAgICAgICAgICAgICdUcmFuc2FjdGlvbiBzaG91bGQgYmUgYWN0aXZlIHVu
dGlsIGRpc3BhdGNoIGNvbXBsZXRlcycpOwogICB9KSk7Ci0gIG9wZW4ub25lcnJvciA9IHQuc3Rl
cF9mdW5jX2RvbmUoKCkgPT4geworICBvcGVuLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdC5z
dGVwX2Z1bmMoKCkgPT4gewogICAgIGFzc2VydF90cnVlKHNlY29uZF9saXN0ZW5lcl9jYWxsZWQp
OwotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7
CisgIH0pKTsKIH0sICdFeGNlcHRpb24gaW4gZmlyc3QgdXBncmFkZW5lZWRlZCBsaXN0ZW5lciwg
dHggYWN0aXZlIGluIHNlY29uZCcpOwogCiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvZ2V0LWRhdGFiYXNlcy5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNyBAQAorCitGQUlMIEVuc3VyZSB0aGF0IGRhdGFiYXNlcygpIHJldHVy
bnMgYSBwcm9taXNlLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGluZGV4ZWREQi5kYXRhYmFzZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnaW5kZXhlZERCLmRhdGFiYXNlcygpJywgJ2luZGV4ZWREQi5kYXRhYmFzZXMnIGlz
IHVuZGVmaW5lZCkiCitGQUlMIEVudW1lcmF0ZSBvbmUgZGF0YWJhc2UuIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogaW5kZXhl
ZERCLmRhdGFiYXNlcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdpbmRleGVkREIuZGF0YWJhc2Vz
KCknLCAnaW5kZXhlZERCLmRhdGFiYXNlcycgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgRW51bWVyYXRl
IG11bHRpcGxlIGRhdGFiYXNlcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBpbmRleGVkREIuZGF0YWJhc2VzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ2luZGV4ZWREQi5kYXRhYmFzZXMoKScsICdpbmRleGVkREIuZGF0YWJh
c2VzJyBpcyB1bmRlZmluZWQpIgorRkFJTCBNYWtlIHN1cmUgYW4gZW1wdHkgbGlzdCBpcyByZXR1
cm5lZCBmb3IgdGhlIGNhc2Ugb2Ygbm8gZGF0YWJhc2VzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGluZGV4ZWREQi5kYXRh
YmFzZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnaW5kZXhlZERCLmRhdGFiYXNlcygpJywgJ2lu
ZGV4ZWREQi5kYXRhYmFzZXMnIGlzIHVuZGVmaW5lZCkiCitGQUlMIEVuc3VyZSB0aGF0IGRhdGFi
YXNlcygpIGRvZXNuJ3QgcGljayB1cCBjaGFuZ2VzIHRoYXQgaGF2ZW4ndCBjb21taXRlZC4gcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBpbmRleGVkREIuZGF0YWJhc2VzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2luZGV4ZWRE
Qi5kYXRhYmFzZXMoKScsICdpbmRleGVkREIuZGF0YWJhc2VzJyBpcyB1bmRlZmluZWQpIgorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9nZXQtZGF0YWJhc2VzLmFueS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55Lmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvZ2V0LWRhdGFiYXNlcy5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3Qg
aW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nZXQt
ZGF0YWJhc2VzLmFueS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDExNyBAQAorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQtcHJv
bWlzZXMuanMKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgYXNzZXJ0X3Ry
dWUoaW5kZXhlZERCLmRhdGFiYXNlcygpIGluc3RhbmNlb2YgUHJvbWlzZSwKKyAgICAgICJkYXRh
YmFzZXMoKSBzaG91bGQgcmV0dXJuIGEgcHJvbWlzZS4iKTsKK30sICJFbnN1cmUgdGhhdCBkYXRh
YmFzZXMoKSByZXR1cm5zIGEgcHJvbWlzZS4iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RD
YXNlID0+IHsKKyAgLy8gRGVsZXRlIGFueSBkYXRhYmFzZXMgdGhhdCBtYXkgbm90IGhhdmUgYmVl
biBjbGVhbmVkIHVwIGFmdGVyIHByZXZpb3VzIHRlc3QKKyAgLy8gcnVucy4KKyAgYXdhaXQgZGVs
ZXRlQWxsRGF0YWJhc2VzKHRlc3RDYXNlKTsKKworICBjb25zdCBkYl9uYW1lID0gIlRlc3REYXRh
YmFzZSI7CisgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlTmFtZWREYXRhYmFzZSh0ZXN0Q2FzZSwg
ZGJfbmFtZSwgKCk9Pnt9KTsKKyAgY29uc3QgZGF0YWJhc2VzX3Jlc3VsdCA9IGF3YWl0IGluZGV4
ZWREQi5kYXRhYmFzZXMoKTsKKyAgZGIuY2xvc2UoKTsKKyAgY29uc3QgZXhwZWN0ZWRfcmVzdWx0
ID0geyJuYW1lIjogZGJfbmFtZSwgInZlcnNpb24iOiAxfTsKKyAgYXNzZXJ0X2VxdWFscygKKyAg
ICAgIGRhdGFiYXNlc19yZXN1bHQubGVuZ3RoLAorICAgICAgMSwKKyAgICAgICJUaGUgcmVzdWx0
IG9mIGRhdGFiYXNlcygpIHNob3VsZCBjb250YWluIG9uZSByZXN1bHQgcGVyIGRhdGFiYXNlLiIp
OworICBhc3NlcnRfdHJ1ZSgKKyAgICAgIGRhdGFiYXNlc19yZXN1bHRbMF0ubmFtZSA9PT0gZXhw
ZWN0ZWRfcmVzdWx0Lm5hbWUKKyAgICAgICAgICAmJiBkYXRhYmFzZXNfcmVzdWx0WzBdLnZlcnNp
b24gPT09IGV4cGVjdGVkX3Jlc3VsdC52ZXJzaW9uLAorICAgICAgIlRoZSByZXN1bHQgb2YgZGF0
YWJhc2VzKCkgc2hvdWxkIGJlIGEgc2VxdWVuY2Ugb2YgdGhlIGNvcnJlY3QgbmFtZXMgIgorICAg
ICAgKyAiYW5kIHZlcnNpb25zIG9mIGFsbCBkYXRhYmFzZXMgZm9yIHRoZSBvcmlnaW4uIik7Cit9
LCAiRW51bWVyYXRlIG9uZSBkYXRhYmFzZS4iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RD
YXNlID0+IHsKKyAgLy8gRGVsZXRlIGFueSBkYXRhYmFzZXMgdGhhdCBtYXkgbm90IGhhdmUgYmVl
biBjbGVhbmVkIHVwIGFmdGVyIHByZXZpb3VzIHRlc3QKKyAgLy8gcnVucy4KKyAgYXdhaXQgZGVs
ZXRlQWxsRGF0YWJhc2VzKHRlc3RDYXNlKTsKKworICBjb25zdCBkYl9uYW1lMSA9ICJUZXN0RGF0
YWJhc2UxIjsKKyAgY29uc3QgZGJfbmFtZTIgPSAiVGVzdERhdGFiYXNlMiI7CisgIGNvbnN0IGRi
X25hbWUzID0gIlRlc3REYXRhYmFzZTMiOworICBjb25zdCBkYjEgPSBhd2FpdCBjcmVhdGVOYW1l
ZERhdGFiYXNlKHRlc3RDYXNlLCBkYl9uYW1lMSwgKCk9Pnt9KTsKKyAgY29uc3QgZGIyID0gYXdh
aXQgY3JlYXRlTmFtZWREYXRhYmFzZSh0ZXN0Q2FzZSwgZGJfbmFtZTIsICgpPT57fSk7CisgIGNv
bnN0IGRiMyA9IGF3YWl0IGNyZWF0ZU5hbWVkRGF0YWJhc2UodGVzdENhc2UsIGRiX25hbWUzLCAo
KT0+e30pOworICBkYjEuY2xvc2UoKTsKKyAgZGIyLmNsb3NlKCk7CisgIGRiMy5jbG9zZSgpOwor
ICBjb25zdCB2ZXJzaW9uX3Byb21pc2UgPQorICAgICAgYXdhaXQgbWlncmF0ZU5hbWVkRGF0YWJh
c2UodGVzdENhc2UsIGRiX25hbWUyLCAyLCAoKSA9PiB7fSk7CisgIGNvbnN0IGRhdGFiYXNlc19y
ZXN1bHQgPSBhd2FpdCBpbmRleGVkREIuZGF0YWJhc2VzKCk7CisgIGNvbnN0IGV4cGVjdGVkX3Jl
c3VsdCA9IFsKKyAgICB7Im5hbWUiOiBkYl9uYW1lMSwgInZlcnNpb24iOiAxfSwKKyAgICB7Im5h
bWUiOiBkYl9uYW1lMiwgInZlcnNpb24iOiAyfSwKKyAgICB7Im5hbWUiOiBkYl9uYW1lMywgInZl
cnNpb24iOiAxfSwKKyAgXTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICAgIGRhdGFiYXNlc19yZXN1
bHQubGVuZ3RoLAorICAgICAgZXhwZWN0ZWRfcmVzdWx0Lmxlbmd0aCwKKyAgICAgICJUaGUgcmVz
dWx0IG9mIGRhdGFiYXNlcygpIHNob3VsZCBjb250YWluIG9uZSByZXN1bHQgcGVyIGRhdGFiYXNl
LiIpOworICBmb3IgKCBsZXQgaSA9IDA7IGkgPCBleHBlY3RlZF9yZXN1bHQubGVuZ3RoOyBpICs9
IDEgKSB7CisgICAgcmVzdWx0ID0gZXhwZWN0ZWRfcmVzdWx0W2ldOworICAgIGFzc2VydF90cnVl
KAorICAgICAgICBkYXRhYmFzZXNfcmVzdWx0LnNvbWUoCisgICAgICAgICAgICBlID0+IGUubmFt
ZSA9PT0gcmVzdWx0Lm5hbWUgJiYgZS52ZXJzaW9uID09PSByZXN1bHQudmVyc2lvbiksCisgICAg
ICAgICJUaGUgcmVzdWx0IG9mIGRhdGFiYXNlcygpIHNob3VsZCBiZSBhIHNlcXVlbmNlIG9mIHRo
ZSBjb3JyZWN0IG5hbWVzICIKKyAgICAgICAgKyAiYW5kIHZlcnNpb25zIG9mIGFsbCBkYXRhYmFz
ZXMgZm9yIHRoZSBvcmlnaW4uIik7CisgIH0KK30sICJFbnVtZXJhdGUgbXVsdGlwbGUgZGF0YWJh
c2VzLiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICAvLyBBZGQgc29t
ZSBkYXRhYmFzZXMgYW5kIGNsb3NlIHRoZWlyIGNvbm5lY3Rpb25zLgorICBjb25zdCBkYjEgPSBh
d2FpdCBjcmVhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCAiREIxIiwgKCkgPT4ge30pOworICBj
b25zdCBkYjIgPSBhd2FpdCBjcmVhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCAiREIyIiwgKCkg
PT4ge30pOworICBkYjEuY2xvc2UoKTsKKyAgZGIyLmNsb3NlKCk7CisKKyAgLy8gRGVsZXRlIGFu
eSBkYXRhYmFzZXMgdGhhdCBtYXkgbm90IGhhdmUgYmVlbiBjbGVhbmVkIHVwIGFmdGVyIHByZXZp
b3VzIHRlc3QKKyAgLy8gcnVucyBhcyB3ZWxsIGFzIHRoZSB0d28gZGF0YWJhc2VzIG1hZGUgYWJv
dmUuCisgIGF3YWl0IGRlbGV0ZUFsbERhdGFiYXNlcyh0ZXN0Q2FzZSk7CisKKyAgLy8gTWFrZSBz
dXJlIHRoZSBkYXRhYmFzZXMgYXJlIG5vIGxvbmdlciByZXR1cm5lZC4KKyAgY29uc3QgZGF0YWJh
c2VzX3Jlc3VsdCA9IGF3YWl0IGluZGV4ZWREQi5kYXRhYmFzZXMoKTsKKyAgYXNzZXJ0X2VxdWFs
cygKKyAgICAgIGRhdGFiYXNlc19yZXN1bHQubGVuZ3RoLAorICAgICAgMCwKKyAgICAgICJUaGUg
cmVzdWx0IG9mIGRhdGFiYXNlcygpIHNob3VsZCBiZSBhbiBlbXB0eSBzZXF1ZW5jZSBmb3IgdGhl
IGNhc2Ugb2YgIgorICAgICAgKyAibm8gZGF0YWJhc2VzIGZvciB0aGUgb3JpZ2luLiIpOworfSwg
Ik1ha2Ugc3VyZSBhbiBlbXB0eSBsaXN0IGlzIHJldHVybmVkIGZvciB0aGUgY2FzZSBvZiBubyBk
YXRhYmFzZXMuIik7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIC8vIERl
bGV0ZSBhbnkgZGF0YWJhc2VzIHRoYXQgbWF5IG5vdCBoYXZlIGJlZW4gY2xlYW5lZCB1cCBhZnRl
ciBwcmV2aW91cyB0ZXN0CisgIC8vIHJ1bnMgYXMgd2VsbCBhcyB0aGUgdHdvIGRhdGFiYXNlcyBt
YWRlIGFib3ZlLgorICBhd2FpdCBkZWxldGVBbGxEYXRhYmFzZXModGVzdENhc2UpOworCisgIGNv
bnN0IGRiMSA9IGF3YWl0IGNyZWF0ZU5hbWVkRGF0YWJhc2UodGVzdENhc2UsICJEQjEiLCAoKT0+
e30pOworICBjb25zdCBkYjIgPSBhd2FpdCBjcmVhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCAi
REIyIiwgYXN5bmMgKCkgPT4geworICAgIGNvbnN0IGRhdGFiYXNlc19yZXN1bHQxID0gYXdhaXQg
aW5kZXhlZERCLmRhdGFiYXNlcygpOworICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgIGRhdGFi
YXNlc19yZXN1bHQxLmxlbmd0aCwKKyAgICAgICAgMSwKKyAgICAgICAgIlRoZSByZXN1bHQgb2Yg
ZGF0YWJhc2VzKCkgc2hvdWxkIGJlIG9ubHkgdGhvc2UgZGF0YWJhc2VzIHdoaWNoIGhhdmUgIgor
ICAgICAgICArICJiZWVuIGNyZWF0ZWQgYXQgdGhlIHRpbWUgb2YgY2FsbGluZywgcmVnYXJkbGVz
cyBvZiB2ZXJzaW9uY2hhbmdlICIKKyAgICAgICAgKyAidHJhbnNhY3Rpb25zIGN1cnJlbnRseSBy
dW5uaW5nLiIpOworICB9KTsKKyAgZGIxLmNsb3NlKCk7CisgIGRiMi5jbG9zZSgpOworICBjb25z
dCBkYXRhYmFzZXNfcmVzdWx0MiA9IGF3YWl0IGluZGV4ZWREQi5kYXRhYmFzZXMoKTsKKyAgYXNz
ZXJ0X2VxdWFscygKKyAgICAgIGRhdGFiYXNlc19yZXN1bHQyLmxlbmd0aCwKKyAgICAgIDIsCisg
ICAgICAiVGhlIHJlc3VsdCBvZiBkYXRhYmFzZXMoKSBzaG91bGQgaW5jbHVkZSBhbGwgZGF0YWJh
c2VzIHdoaWNoIGhhdmUgIgorICAgICAgKyAiYmVlbiBjcmVhdGVkIGF0IHRoZSB0aW1lIG9mIGNh
bGxpbmcuIik7CisgIGF3YWl0IG1pZ3JhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCAiREIyIiwg
MiwgYXN5bmMgKCkgPT4geworICAgIGNvbnN0IGRhdGFiYXNlc19yZXN1bHQzID0gYXdhaXQgaW5k
ZXhlZERCLmRhdGFiYXNlcygpOworICAgIGFzc2VydF90cnVlKAorICAgICAgICBkYXRhYmFzZXNf
cmVzdWx0M1swXS52ZXJzaW9uID09PSAxCisgICAgICAgICYmIGRhdGFiYXNlc19yZXN1bHQzWzFd
LnZlcnNpb24gPT09IDEsCisgICAgICAgICJUaGUgcmVzdWx0IG9mIGRhdGFiYXNlcygpIHNob3Vs
ZCBjb250YWluIHRoZSB2ZXJzaW9ucyBvZiBkYXRhYmFzZXMgIgorICAgICAgICArICJhdCB0aGUg
dGltZSBvZiBjYWxsaW5nLCByZWdhcmRsZXNzIG9mIHZlcnNpb25jaGFuZ2UgdHJhbnNhY3Rpb25z
ICIKKyAgICAgICAgKyAiY3VycmVudGx5IHJ1bm5pbmcuIik7CisgIH0pOworfSwgIkVuc3VyZSB0
aGF0IGRhdGFiYXNlcygpIGRvZXNuJ3QgcGljayB1cCBjaGFuZ2VzIHRoYXQgaGF2ZW4ndCBjb21t
aXRlZC4iKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvZ2V0LWRhdGFiYXNlcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9nZXQtZGF0YWJhc2VzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNyBAQAorCitGQUlMIEVuc3VyZSB0aGF0IGRhdGFiYXNlcygpIHJldHVybnMgYSBw
cm9taXNlLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IGluZGV4ZWREQi5kYXRhYmFzZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnaW5kZXhlZERCLmRhdGFiYXNlcygpJywgJ2luZGV4ZWREQi5kYXRhYmFzZXMnIGlzIHVuZGVm
aW5lZCkiCitGQUlMIEVudW1lcmF0ZSBvbmUgZGF0YWJhc2UuIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogaW5kZXhlZERCLmRh
dGFiYXNlcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdpbmRleGVkREIuZGF0YWJhc2VzKCknLCAn
aW5kZXhlZERCLmRhdGFiYXNlcycgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgRW51bWVyYXRlIG11bHRp
cGxlIGRhdGFiYXNlcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBpbmRleGVkREIuZGF0YWJhc2VzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2luZGV4ZWREQi5kYXRhYmFzZXMoKScsICdpbmRleGVkREIuZGF0YWJhc2VzJyBp
cyB1bmRlZmluZWQpIgorRkFJTCBNYWtlIHN1cmUgYW4gZW1wdHkgbGlzdCBpcyByZXR1cm5lZCBm
b3IgdGhlIGNhc2Ugb2Ygbm8gZGF0YWJhc2VzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGluZGV4ZWREQi5kYXRhYmFzZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnaW5kZXhlZERCLmRhdGFiYXNlcygpJywgJ2luZGV4ZWRE
Qi5kYXRhYmFzZXMnIGlzIHVuZGVmaW5lZCkiCitGQUlMIEVuc3VyZSB0aGF0IGRhdGFiYXNlcygp
IGRvZXNuJ3QgcGljayB1cCBjaGFuZ2VzIHRoYXQgaGF2ZW4ndCBjb21taXRlZC4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBp
bmRleGVkREIuZGF0YWJhc2VzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2luZGV4ZWREQi5kYXRh
YmFzZXMoKScsICdpbmRleGVkREIuZGF0YWJhc2VzJyBpcyB1bmRlZmluZWQpIgorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nZXQt
ZGF0YWJhc2VzLmFueS53b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS53
b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS53b3JrZXIuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRo
cm93LmFueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJv
dy5hbnktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhy
b3cuYW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworRkFJ
TCBBbnkgZXJyb3JzIGluIGNhbGxiYWNrcyB0aGF0IHJ1biBhZnRlciBhbiBleHBsaWNpdCBjb21t
aXQgd2lsbCBub3Qgc3RvcCB0aGUgY29tbWl0IGZyb20gYmVpbmcgcHJvY2Vzc2VkLiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5j
b21taXQnIGlzIHVuZGVmaW5lZCkiCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQg
dGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55LmpzCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDUgQEAKKy8vIE1FVEE6IHNjcmlwdD1zdXBwb3J0LXByb21pc2VzLmpzCisKKy8qKgor
ICogVGhpcyBmaWxlIGNvbnRhaW5zIGEgdGVzdCB0aGF0IHdhcyBzZXBhcmF0ZWQgb3V0IGZyb20g
dGhlIHJlc3Qgb2YgdGhlIGlkYgorICogZXhwbGljdCBjb21taXQgdGVzdHMgYmVjYXVzZSBpdCBy
ZXF1aXJlcyB0aGUgZmxhZyAnYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uJywKKyAqIHdoaWNoIHBy
ZXZlbnRzIHVuaW50ZW50aW9uYWxseSB0aHJvd24gZXJyb3JzIGZyb20gZmFpbGluZyB0ZXN0cy4K
KyAqCisgKiBAYXV0aG9yIGFuZHJlYXNidXRsZXJAZ29vZ2xlLmNvbQorICovCisKK3NldHVwKHth
bGxvd191bmNhdWdodF9leGNlcHRpb246dHJ1ZX0pOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVz
dENhc2UgPT4geworICAvLyBSZWdpc3RlciBhbiBldmVudCBsaXN0ZW5lciB0aGF0IHdpbGwgcHJl
dmVudCB0aGUgaW50ZW50aW9uYWxseSB0aHJvd24KKyAgLy8gZXJyb3IgZnJvbSBidWJibGluZyB1
cCB0byB0aGUgd2luZG93IGFuZCBmYWlsaW5nIHRoZSB0ZXN0aGFybmVzcy4gVGhpcworICAvLyBp
cyBuZWNlc3NhcnkgYmVjYXVzZSBjdXJyZW50bHkgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uIGRv
ZXMgbm90IGJlaGF2ZQorICAvLyBhcyBleHBlY3RlZCBmb3IgcHJvbWlzZV90ZXN0LgorICAvLwor
ICAvLyBHaXQgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
L2lzc3Vlcy8xNDA0MQorICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGV2ZW50KSA9
PiB7IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IH0pOworCisgIGNvbnN0IGRiID0gYXdhaXQgY3Jl
YXRlRGF0YWJhc2UodGVzdENhc2UsIGFzeW5jIGRiID0+IHsKKyAgICBhd2FpdCBjcmVhdGVCb29r
c1N0b3JlKHRlc3RDYXNlLCBkYik7CisgIH0pOworCisgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0
aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScpOworICBjb25zdCBvYmplY3RTdG9yZSA9IHR4bi5v
YmplY3RTdG9yZSgnYm9va3MnKTsKKyAgY29uc3QgcHV0UmVxdWVzdCA9IG9iamVjdFN0b3JlLnB1
dCh7aXNibjonb25lJywgdGl0bGU6J3RpdGxlJ30pOworICB0eG4uY29tbWl0KCk7CisgIHB1dFJl
cXVlc3Qub25zdWNjZXNzID0gKCkgPT4geworICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBlcnJv
ciB0aHJvd24gYWZ0ZXIgYW4gZXhwbGljaXQgY29tbWl0IHNob3VsZCBub3QgJyArCisgICAgICAg
ICdwcmV2ZW50IHRoZSB0cmFuc2FjdGlvbiBmcm9tIGNvbW1pdHRpbmcuJyk7CisgIH0KKyAgYXdh
aXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4pOworCisgIC8vIEVuc3VyZSB0
aGF0IGRlc3BpdGUgdGhlIHVuY2F1Z2h0IGVycm9yIGFmdGVyIHRoZSBwdXQgcmVxdWVzdCwgdGhl
IGV4cGxpY2l0CisgIC8vIGNvbW1pdCBzdGlsbCBjYXVzZXMgdGhlIHJlcXVlc3QgdG8gYmUgY29t
bWl0dGVkLgorICBjb25zdCB0eG4yID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdy
aXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIub2JqZWN0U3RvcmUoJ2Jvb2tzJyk7
CisgIGNvbnN0IGdldFJlcXVlc3QgPSBvYmplY3RTdG9yZTIuZ2V0KCdvbmUnKTsKKyAgYXdhaXQg
cHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4yKTsKKworICBhc3NlcnRfZXF1YWxz
KGdldFJlcXVlc3QucmVzdWx0LnRpdGxlLCAndGl0bGUnKTsKK30sICdBbnkgZXJyb3JzIGluIGNh
bGxiYWNrcyB0aGF0IHJ1biBhZnRlciBhbiBleHBsaWNpdCBjb21taXQgd2lsbCBub3Qgc3RvcCAn
CisgICArICd0aGUgY29tbWl0IGZyb20gYmVpbmcgcHJvY2Vzc2VkLicpOwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxp
Y2l0LWNvbW1pdC10aHJvdy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGIt
ZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgQW55IGVycm9ycyBpbiBjYWxsYmFj
a3MgdGhhdCBydW4gYWZ0ZXIgYW4gZXhwbGljaXQgY29tbWl0IHdpbGwgbm90IHN0b3AgdGhlIGNv
bW1pdCBmcm9tIGJlaW5nIHByb2Nlc3NlZC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS53b3JrZXIuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnktZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDE0IEBACisKK0ZBSUwgRXhwbGljaXRseSBjb21taXR0ZWQgZGF0YSBj
YW4gYmUgcmVhZCBiYWNrIG91dC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBj
b21taXQoKSBvbiBhIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIGRvZXMgbm90IGNhdXNlIGVy
cm9ycy4gdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAn
dHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKQorRkFJTCBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBi
ZWNvbWVzIGluYWN0aXZlIGltbWVkaWF0ZWx5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCki
CitGQUlMIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIGluIGZ1dHVyZSByZXF1
ZXN0IGNhbGxiYWNrcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBQdXRzIGlz
c3VlZCBhZnRlciBjb21taXQgYXJlIG5vdCBmdWxmaWxsZWQuIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5k
ZWZpbmVkKSIKK0ZBSUwgQ2FsbGluZyBjb21taXQgb24gYW4gYWJvcnRlZCB0cmFuc2FjdGlvbiB0
aHJvd3MuIGFzc2VydF90aHJvd3M6IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgaGF2ZSBiZWVuIGFi
b3J0ZWQuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcgb2JqZWN0ICJU
eXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgp
JywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9u
IEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVk
LCBleHBlY3RlZCAxMQorRkFJTCBDYWxsaW5nIGNvbW1pdCBvbiBhIGNvbW1pdHRlZCB0cmFuc2Fj
dGlvbiB0aHJvd3MuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0
eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgQ2FsbGluZyBh
Ym9ydCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MgYW5kIGRvZXMgbm90IHByZXZl
bnQgcGVyc2lzdGluZyB0aGUgZGF0YS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJ
TCBDYWxsaW5nIHR4bi5jb21taXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2ZSBzaG91bGQgdGhyb3cu
IGFzc2VydF90aHJvd3M6IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgYmUgaW5hY3RpdmUgc28gY2Fs
bGluZyBjb21taXQgc2hvdWxkIHRocm93LiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29tbWl0KCk7
IH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0aGF0IGlz
IG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlz
IGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTEKK0ZBSUwgVHJhbnNhY3Rpb25zIHdpdGgg
c2FtZSBzY29wZSBzaG91bGQgc3RheSBpbiBwcm9ncmFtIG9yZGVyLCBldmVuIGlmIG9uZSBjYWxs
cyBjb21taXQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdHhuMi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhu
Mi5jb21taXQoKScsICd0eG4yLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgVHJhbnNhY3Rp
b25zIHRoYXQgZXhwbGljaXRseSBjb21taXQgYW5kIGhhdmUgZXJyb3JzIHNob3VsZCBhYm9ydC4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB0eG4xLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgp
JywgJ3R4bjEuY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBo
YW5kbGUgYWxsIGVycm9ycyBwcm9wZXJseSBzaG91bGQgYmUgYmVoYXZlIGFzIGV4cGVjdGVkIHdo
ZW4gYW4gZXhwbGljaXQgY29tbWl0IGlzIGNhbGxlZCBpbiBhbiBvbmVycm9yIGhhbmRsZXIuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdHhuMS5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuMS5jb21taXQoKScs
ICd0eG4xLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5h
bnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJh
c3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
LWV4cGxpY2l0LWNvbW1pdC5hbnkuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1p
dC5hbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOTIgQEAKKy8vIE1FVEE6IHNjcmlw
dD1zdXBwb3J0LXByb21pc2VzLmpzCisKKy8qKgorICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSB3
ZWJwbGF0Zm9ybSB0ZXN0cyBmb3IgdGhlIGV4cGxpY2l0IGNvbW1pdCgpIG1ldGhvZAorICogb2Yg
dGhlIEluZGV4ZWREQiB0cmFuc2FjdGlvbiBBUEkuCisgKgorICogQGF1dGhvciBhbmRyZWFzYnV0
bGVyQGdvb2dsZS5jb20KKyAqLworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewor
ICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAg
Y3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2FzZSwgZGIpOworICB9KTsKKyAgY29uc3QgdHhuID0gZGIu
dHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3Jl
ID0gdHhuLm9iamVjdFN0b3JlKCdib29rcycpOworICBvYmplY3RTdG9yZS5wdXQoe2lzYm46ICdv
bmUnLCB0aXRsZTogJ3RpdGxlMSd9KTsKKyAgb2JqZWN0U3RvcmUucHV0KHtpc2JuOiAndHdvJywg
dGl0bGU6ICd0aXRsZTInfSk7CisgIG9iamVjdFN0b3JlLnB1dCh7aXNibjogJ3RocmVlJywgdGl0
bGU6ICd0aXRsZTMnfSk7CisgIHR4bi5jb21taXQoKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5z
YWN0aW9uKHRlc3RDYXNlLCB0eG4pOworCisgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihb
J2Jvb2tzJ10sICdyZWFkb25seScpOworICBjb25zdCBvYmplY3RTdG9yZTIgPSB0eG4yLm9iamVj
dFN0b3JlKCdib29rcycpOworICBjb25zdCBnZXRSZXF1ZXN0aXRsZTEgPSBvYmplY3RTdG9yZTIu
Z2V0KCdvbmUnKTsKKyAgY29uc3QgZ2V0UmVxdWVzdGl0bGUyID0gb2JqZWN0U3RvcmUyLmdldCgn
dHdvJyk7CisgIGNvbnN0IGdldFJlcXVlc3RpdGxlMyA9IG9iamVjdFN0b3JlMi5nZXQoJ3RocmVl
Jyk7CisgIHR4bjIuY29tbWl0KCk7CisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0
Q2FzZSwgdHhuMik7CisgIGFzc2VydF9hcnJheV9lcXVhbHMoCisgICAgICBbZ2V0UmVxdWVzdGl0
bGUxLnJlc3VsdC50aXRsZSwKKyAgICAgICAgICBnZXRSZXF1ZXN0aXRsZTIucmVzdWx0LnRpdGxl
LAorICAgICAgICAgIGdldFJlcXVlc3RpdGxlMy5yZXN1bHQudGl0bGVdLAorICAgICAgWyd0aXRs
ZTEnLCAndGl0bGUyJywgJ3RpdGxlMyddLAorICAgICAgJ0FsbCB0aHJlZSByZXRyaWV2ZWQgdGl0
bGVzIHNob3VsZCBtYXRjaCB0aG9zZSB0aGF0IHdlcmUgcHV0LicpOworICBkYi5jbG9zZSgpOwor
fSwgJ0V4cGxpY2l0bHkgY29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQuJyk7CisK
KworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgbGV0IGRiID0gYXdhaXQgY3Jl
YXRlRGF0YWJhc2UodGVzdENhc2UsICgpID0+IHt9KTsKKyAgYXNzZXJ0X2VxdWFscygxLCBkYi52
ZXJzaW9uLCAnQSBkYXRhYmFzZSBzaG91bGQgYmUgY3JlYXRlZCBhcyB2ZXJzaW9uIDEnKTsKKyAg
ZGIuY2xvc2UoKTsKKworICAvLyBVcGdyYWRlIHRoZSB2ZXJzaW9uREIgZGF0YWJhc2UgYW5kIGV4
cGxpY2l0bHkgY29tbWl0IGl0cyB2ZXJzaW9uY2hhbmdlCisgIC8vIHRyYW5zYWN0aW9uLgorICBk
YiA9IGF3YWl0IG1pZ3JhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgMiwgKGRiLCB0eG4pID0+IHsKKyAg
ICB0eG4uY29tbWl0KCk7CisgIH0pOworICBhc3NlcnRfZXF1YWxzKDIsIGRiLnZlcnNpb24sCisg
ICAgICAnVGhlIGRhdGFiYXNlIHZlcnNpb24gc2hvdWxkIGhhdmUgYmVlbiBpbmNyZW1lbnRlZCBy
ZWdhcmRsZXNzIG9mICcKKyAgICAgICsgJ3doZXRoZXIgdGhlIHZlcnNpb25jaGFuZ2UgdHJhbnNh
Y3Rpb24gd2FzIGV4cGxpY2l0bHkgb3IgaW1wbGljaXRseSAnCisgICAgICArICdjb21taXR0ZWQu
Jyk7CisgIGRiLmNsb3NlKCk7Cit9LCAnY29tbWl0KCkgb24gYSB2ZXJzaW9uIGNoYW5nZSB0cmFu
c2FjdGlvbiBkb2VzIG5vdCBjYXVzZSBlcnJvcnMuJyk7CisKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2Fz
ZSwgZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENhc2UsIGRiKTsKKyAgfSk7Cisg
IGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScpOworICBj
b25zdCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAgdHhuLmNvbW1p
dCgpOworICBhc3NlcnRfdGhyb3dzKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLAorICAgICAg
KCkgPT4geyBvYmplY3RTdG9yZS5wdXQoe2lzYm46ICdvbmUnLCB0aXRsZTogJ3RpdGxlMSd9KTsg
fSwKKyAgICAgICdBZnRlciBjb21taXQgaXMgY2FsbGVkLCB0aGUgdHJhbnNhY3Rpb24gc2hvdWxk
IGJlIGluYWN0aXZlLicpOworICBkYi5jbG9zZSgpOworfSwgJ0EgY29tbWl0dGVkIHRyYW5zYWN0
aW9uIGJlY29tZXMgaW5hY3RpdmUgaW1tZWRpYXRlbHkuJyk7CisKKworcHJvbWlzZV90ZXN0KGFz
eW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0
Q2FzZSwgZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENhc2UsIGRiKTsKKyAgfSk7
CisgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScpOwor
ICBjb25zdCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAgY29uc3Qg
cHV0UmVxdWVzdCA9IG9iamVjdFN0b3JlLnB1dCh7aXNibjogJ29uZScsIHRpdGxlOiAndGl0bGUx
J30pOworICBwdXRSZXF1ZXN0Lm9uc3VjY2VzcyA9IHRlc3RDYXNlLnN0ZXBfZnVuYygoKSA9PiB7
CisgICAgYXNzZXJ0X3Rocm93cygnVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yJywKKyAgICAgICgp
ID0+IHsgb2JqZWN0U3RvcmUucHV0KHtpc2JuOid0d28nLCB0aXRsZTondGl0bGUyJ30pOyB9LAor
ICAgICAgJ1RoZSB0cmFuc2FjdGlvbiBzaG91bGQgbm90IGJlIGFjdGl2ZSBpbiB0aGUgY2FsbGJh
Y2sgb2YgYSByZXF1ZXN0IGFmdGVyICcKKyAgICAgICsgJ2NvbW1pdCgpIGlzIGNhbGxlZC4nKTsK
KyAgfSk7CisgIHR4bi5jb21taXQoKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRl
c3RDYXNlLCB0eG4pOworICBkYi5jbG9zZSgpOworfSwgJ0EgY29tbWl0dGVkIHRyYW5zYWN0aW9u
IGlzIGluYWN0aXZlIGluIGZ1dHVyZSByZXF1ZXN0IGNhbGxiYWNrcy4nKTsKKworCitwcm9taXNl
X3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFi
YXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2FzZSwgZGIp
OworICB9KTsKKyAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdy
aXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3JlKCdib29rcycpOwor
ICB0eG4uY29tbWl0KCk7CisKKyAgYXNzZXJ0X3Rocm93cygnVHJhbnNhY3Rpb25JbmFjdGl2ZUVy
cm9yJywKKyAgICAgICgpID0+IHsgb2JqZWN0U3RvcmUucHV0KHtpc2JuOidvbmUnLCB0aXRsZTon
dGl0bGUxJ30pOyB9LAorICAgICAgJ0FmdGVyIGNvbW1pdCBpcyBjYWxsZWQsIHRoZSB0cmFuc2Fj
dGlvbiBzaG91bGQgYmUgaW5hY3RpdmUuJyk7CisKKyAgY29uc3QgdHhuMiA9IGRiLnRyYW5zYWN0
aW9uKFsnYm9va3MnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIu
b2JqZWN0U3RvcmUoJ2Jvb2tzJyk7CisgIGNvbnN0IGdldFJlcXVlc3QgPSBvYmplY3RTdG9yZTIu
Z2V0KCdvbmUnKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4y
KTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRSZXF1ZXN0LnJlc3VsdCwgdW5kZWZpbmVkKTsKKworICBk
Yi5jbG9zZSgpOworfSwgJ1B1dHMgaXNzdWVkIGFmdGVyIGNvbW1pdCBhcmUgbm90IGZ1bGZpbGxl
ZC4nKTsKKworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9
IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NT
dG9yZSh0ZXN0Q2FzZSwgZGIpOworICB9KTsKKyAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24o
Wydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVj
dFN0b3JlKCdib29rcycpOworICB0eG4uYWJvcnQoKTsKKyAgYXNzZXJ0X3Rocm93cygnSW52YWxp
ZFN0YXRlRXJyb3InLAorICAgICAgKCkgPT4geyB0eG4uY29tbWl0KCk7IH0sCisgICAgICAnVGhl
IHRyYW5zYWN0aW9uIHNob3VsZCBoYXZlIGJlZW4gYWJvcnRlZC4nKTsKKyAgZGIuY2xvc2UoKTsK
K30sICdDYWxsaW5nIGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRyYW5zYWN0aW9uIHRocm93cy4nKTsK
KworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0
IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0
ZXN0Q2FzZSwgZGIpOworICB9KTsKKyAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydib29r
cyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3Jl
KCdib29rcycpOworICB0eG4uY29tbWl0KCk7CisgIGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0
ZUVycm9yJywKKyAgICAgICgpID0+IHsgdHhuLmNvbW1pdCgpOyB9LAorICAgICAgJ1RoZSB0cmFu
c2FjdGlvbiBzaG91bGQgaGF2ZSBhbHJlYWR5IGNvbW1pdHRlZC4nKTsKKyAgZGIuY2xvc2UoKTsK
K30sICdDYWxsaW5nIGNvbW1pdCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuJyk7
CisKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2Fp
dCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUo
dGVzdENhc2UsIGRiKTsKKyAgfSk7CisgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9v
a3MnXSwgJ3JlYWR3cml0ZScpOworICBjb25zdCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9y
ZSgnYm9va3MnKTsKKyAgY29uc3QgcHV0UmVxdWVzdCA9IG9iamVjdFN0b3JlLnB1dCh7aXNibjon
b25lJywgdGl0bGU6J3RpdGxlMSd9KTsKKyAgdHhuLmNvbW1pdCgpOworICBhc3NlcnRfdGhyb3dz
KCdJbnZhbGlkU3RhdGVFcnJvcicsCisgICAgICAoKSA9PiB7IHR4bi5hYm9ydCgpOyB9LAorICAg
ICAgJ1RoZSB0cmFuc2FjdGlvbiBzaG91bGQgYWxyZWFkeSBoYXZlIGNvbW1pdHRlZC4nKTsKKyAg
Y29uc3QgdHhuMiA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScpOworICBj
b25zdCBvYmplY3RTdG9yZTIgPSB0eG4yLm9iamVjdFN0b3JlKCdib29rcycpOworICBjb25zdCBn
ZXRSZXF1ZXN0ID0gb2JqZWN0U3RvcmUyLmdldCgnb25lJyk7CisgIGF3YWl0IHByb21pc2VGb3JU
cmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhuMik7CisgIGFzc2VydF9lcXVhbHMoCisgICAgICBnZXRS
ZXF1ZXN0LnJlc3VsdC50aXRsZSwKKyAgICAgICd0aXRsZTEnLAorICAgICAgJ0V4cGxpY2l0bHkg
Y29tbWl0dGVkIGRhdGEgc2hvdWxkIGJlIGdldHRhYmxlLicpOworICBkYi5jbG9zZSgpOworfSwg
J0NhbGxpbmcgYWJvcnQgb24gYSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzIGFuZCBkb2Vz
IG5vdCBwcmV2ZW50ICcKKyAgICsgJ3BlcnNpc3RpbmcgdGhlIGRhdGEuJyk7CisKKworcHJvbWlz
ZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRh
YmFzZSh0ZXN0Q2FzZSwgZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENhc2UsIGRi
KTsKKyAgfSk7CisgIGNvbnN0IHR4biA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3
cml0ZScpOworICBjb25zdCBvYmplY3RTdG9yZSA9IHR4bi5vYmplY3RTdG9yZSgnYm9va3MnKTsK
KyAgY29uc3QgcmVsZWFzZVR4bkZ1bmN0aW9uID0ga2VlcEFsaXZlKHRlc3RDYXNlLCB0eG4sICdi
b29rcycpOworCisgIC8vIEJyZWFrIHVwIHRoZSBzY29wZSBvZiBleGVjdXRpb24gdG8gZm9yY2Ug
dGhlIHRyYW5zYWN0aW9uIGludG8gYW4gaW5hY3RpdmUKKyAgLy8gc3RhdGUuCisgIGF3YWl0IHRp
bWVvdXRQcm9taXNlKDApOworCisgIGFzc2VydF90aHJvd3MoJ0ludmFsaWRTdGF0ZUVycm9yJywK
KyAgICAgICgpID0+IHsgdHhuLmNvbW1pdCgpOyB9LAorICAgICAgJ1RoZSB0cmFuc2FjdGlvbiBz
aG91bGQgYmUgaW5hY3RpdmUgc28gY2FsbGluZyBjb21taXQgc2hvdWxkIHRocm93LicpOworICBy
ZWxlYXNlVHhuRnVuY3Rpb24oKTsKKyAgZGIuY2xvc2UoKTsKK30sICdDYWxsaW5nIHR4bi5jb21t
aXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2ZSBzaG91bGQgdGhyb3cuJyk7CisKKworcHJvbWlzZV90
ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFz
ZSh0ZXN0Q2FzZSwgZGIgPT4geworICAgIGNyZWF0ZUJvb2tzU3RvcmUodGVzdENhc2UsIGRiKTsK
KyAgICBjcmVhdGVOb3RCb29rc1N0b3JlKHRlc3RDYXNlLCBkYik7CisgIH0pOworICAvLyBUeG4x
IHNob3VsZCBjb21taXQgYmVmb3JlIHR4bjIsIGV2ZW4gdGhvdWdoIHR4bjIgdXNlcyBjb21taXQo
KS4KKyAgY29uc3QgdHhuMSA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWR3cml0ZScp
OworICB0eG4xLm9iamVjdFN0b3JlKCdib29rcycpLnB1dCh7aXNibjogJ29uZScsIHRpdGxlOiAn
dGl0bGUxJ30pOworICBjb25zdCByZWxlYXNlVHhuRnVuY3Rpb24gPSBrZWVwQWxpdmUodGVzdENh
c2UsIHR4bjEsICdib29rcycpOworCisgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihbJ2Jv
b2tzJ10sICdyZWFkd3JpdGUnKTsKKyAgdHhuMi5vYmplY3RTdG9yZSgnYm9va3MnKS5wdXQoe2lz
Ym46J29uZScsIHRpdGxlOid0aXRsZTInfSk7CisgIHR4bjIuY29tbWl0KCk7CisKKyAgLy8gRXhl
cmNpc2UgdGhlIEluZGV4ZWREQiB0cmFuc2FjdGlvbiBvcmRlcmluZyBieSBleGVjdXRpbmcgb25l
IHdpdGggYQorICAvLyBkaWZmZXJlbnQgc2NvcGUuCisgIGNvbnN0IHR4bjMgPSBkYi50cmFuc2Fj
dGlvbihbJ25vdF9ib29rcyddLCAncmVhZHdyaXRlJyk7CisgIHR4bjMub2JqZWN0U3RvcmUoJ25v
dF9ib29rcycpLnB1dCh7J3RpdGxlJzogJ25vdF90aXRsZSd9LCAna2V5Jyk7CisgIHR4bjMub25j
b21wbGV0ZSA9IGZ1bmN0aW9uKCkgeworICAgIHJlbGVhc2VUeG5GdW5jdGlvbigpOworICB9Cisg
IGF3YWl0IFByb21pc2UuYWxsKFtwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bjEp
LAorICAgICAgICAgICAgICAgICAgICAgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0
eG4yKV0pOworCisgIC8vIFJlYWQgdGhlIGRhdGEgYmFjayB0byB2ZXJpZnkgdGhhdCB0eG4yIGV4
ZWN1dGVkIGxhc3QuCisgIGNvbnN0IHR4bjQgPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10sICdy
ZWFkb25seScpOworICBjb25zdCBnZXRSZXF1ZXN0NCA9IHR4bjQub2JqZWN0U3RvcmUoJ2Jvb2tz
JykuZ2V0KCdvbmUnKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0
eG40KTsKKyAgYXNzZXJ0X2VxdWFscyhnZXRSZXF1ZXN0NC5yZXN1bHQudGl0bGUsICd0aXRsZTIn
KTsKKyAgZGIuY2xvc2UoKTsKK30sICdUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNjb3BlIHNob3Vs
ZCBzdGF5IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25lICcKKyAgICsgJ2NhbGxzIGNvbW1p
dC4nKTsKKworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9
IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NT
dG9yZSh0ZXN0Q2FzZSwgZGIpOworICB9KTsKKyAgLy8gVHhuMSBjcmVhdGVzIHRoZSBib29rICdv
bmUnIHNvIHRoZSAnYWRkKCknIGJlbG93IGZhaWxzLgorICBjb25zdCB0eG4xID0gZGIudHJhbnNh
Y3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIHR4bjEub2JqZWN0U3RvcmUoJ2Jvb2tz
JykuYWRkKHtpc2JuOidvbmUnLCB0aXRsZTondGl0bGUxJ30pOworICB0eG4xLmNvbW1pdCgpOwor
ICBhd2FpdCBwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bjEpOworCisgIC8vIFR4
bjIgc2hvdWxkIGFib3J0LCBiZWNhdXNlIHRoZSAnYWRkJyBjYWxsIGlzIGludmFsaWQsIGFuZCBj
b21taXQoKSB3YXMKKyAgLy8gY2FsbGVkLgorICBjb25zdCB0eG4yID0gZGIudHJhbnNhY3Rpb24o
Wydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIub2Jq
ZWN0U3RvcmUoJ2Jvb2tzJyk7CisgIG9iamVjdFN0b3JlMi5wdXQoe2lzYm46J3R3bycsIHRpdGxl
Oid0aXRsZTInfSk7CisgIGNvbnN0IGFkZFJlcXVlc3QgPSBvYmplY3RTdG9yZTIuYWRkKHtpc2Ju
OidvbmUnLCB0aXRsZTondGl0bGUyJ30pOworICB0eG4yLmNvbW1pdCgpOworICB0eG4yLm9uY29t
cGxldGUgPSAoKSA9PiB7IGFzc2VydF91bnJlYWNoZWQoCisgICAgJ1RyYW5zYWN0aW9uIHdpdGgg
aW52YWxpZCAiYWRkIiBjYWxsIHNob3VsZCBub3QgYmUgY29tcGxldGVkLicpOyB9OworCisgIC8v
IFdhaXQgZm9yIHRoZSB0cmFuc2FjdGlvbiB0byBjb21wbGV0ZS4gV2UgaGF2ZSB0byBleHBsaWNp
dGx5IHdhaXQgZm9yIHRoZQorICAvLyBlcnJvciBzaWduYWwgb24gdGhlIHRyYW5zYWN0aW9uIGJl
Y2F1c2Ugb2YgdGhlIG5hdHVyZSBvZiB0aGUgdGVzdCB0b29saW5nLgorICBhd2FpdCBQcm9taXNl
LmFsbChbCisgICAgICByZXF1ZXN0V2F0Y2hlcih0ZXN0Q2FzZSwgYWRkUmVxdWVzdCkud2FpdF9m
b3IoJ2Vycm9yJyksCisgICAgICB0cmFuc2FjdGlvbldhdGNoZXIodGVzdENhc2UsIHR4bjIpLndh
aXRfZm9yKFsnZXJyb3InLCAnYWJvcnQnXSkKKyAgXSk7CisKKyAgLy8gUmVhZCB0aGUgZGF0YSBi
YWNrIHRvIHZlcmlmeSB0aGF0IHR4bjIgd2FzIGFib3J0ZWQuCisgIGNvbnN0IHR4bjMgPSBkYi50
cmFuc2FjdGlvbihbJ2Jvb2tzJ10sICdyZWFkb25seScpOworICBjb25zdCBvYmplY3RTdG9yZTMg
PSB0eG4zLm9iamVjdFN0b3JlKCdib29rcycpOworICBjb25zdCBnZXRSZXF1ZXN0MSA9IG9iamVj
dFN0b3JlMy5nZXQoJ29uZScpOworICBjb25zdCBnZXRSZXF1ZXN0MiA9IG9iamVjdFN0b3JlMy5j
b3VudCgndHdvJyk7CisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhu
Myk7CisgIGFzc2VydF9lcXVhbHMoZ2V0UmVxdWVzdDEucmVzdWx0LnRpdGxlLCAndGl0bGUxJyk7
CisgIGFzc2VydF9lcXVhbHMoZ2V0UmVxdWVzdDIucmVzdWx0LCAwKTsKKyAgZGIuY2xvc2UoKTsK
K30sICdUcmFuc2FjdGlvbnMgdGhhdCBleHBsaWNpdGx5IGNvbW1pdCBhbmQgaGF2ZSBlcnJvcnMg
c2hvdWxkIGFib3J0LicpOworCisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7Cisg
IGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodGVzdENhc2UsIGRiID0+IHsKKyAgICBj
cmVhdGVCb29rc1N0b3JlKHRlc3RDYXNlLCBkYik7CisgIH0pOworICBjb25zdCB0eG4xID0gZGIu
dHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIHR4bjEub2JqZWN0U3RvcmUo
J2Jvb2tzJykuYWRkKHtpc2JuOiAnb25lJywgdGl0bGU6ICd0aXRsZTEnfSk7CisgIHR4bjEuY29t
bWl0KCk7CisgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhuMSk7CisK
KyAgLy8gVGhlIHNlY29uZCBhZGQgcmVxdWVzdCB3aWxsIHRocm93IGFuIGVycm9yLCBidXQgdGhl
IG9uZXJyb3IgaGFuZGxlciB3aWxsCisgIC8vIGFwcHJvcHJpYXRlbHkgY2F0Y2ggdGhlIGVycm9y
IGFsbG93aW5nIHRoZSB2YWxpZCBwdXQgcmVxdWVzdCBvbiB0aGUKKyAgLy8gdHJhbnNhY3Rpb24g
dG8gY29tbWl0LgorICBjb25zdCB0eG4yID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVh
ZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIub2JqZWN0U3RvcmUoJ2Jvb2tz
Jyk7CisgIG9iamVjdFN0b3JlMi5wdXQoe2lzYm46ICd0d28nLCB0aXRsZTondGl0bGUyJ30pOwor
ICBjb25zdCBhZGRSZXF1ZXN0ID0gb2JqZWN0U3RvcmUyLmFkZCh7aXNibjogJ29uZScsIHRpdGxl
Oid1bnJlYWNoZWRfdGl0bGUnfSk7CisgIGFkZFJlcXVlc3Qub25lcnJvciA9IChldmVudCkgPT4g
eworICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgYWRkUmVxdWVzdC50cmFuc2FjdGlv
bi5jb21taXQoKTsKKyAgfTsKKworICAvLyBXYWl0IGZvciB0aGUgdHJhbnNhY3Rpb24gdG8gY29t
cGxldGUuIFdlIGhhdmUgdG8gZXhwbGljaXRseSB3YWl0IGZvciB0aGUKKyAgLy8gZXJyb3Igc2ln
bmFsIG9uIHRoZSB0cmFuc2FjdGlvbiBiZWNhdXNlIG9mIHRoZSBuYXR1cmUgb2YgdGhlIHRlc3Qg
dG9vbGluZy4KKyAgYXdhaXQgdHJhbnNhY3Rpb25XYXRjaGVyKHRlc3RDYXNlLHR4bjIpLndhaXRf
Zm9yKFsnZXJyb3InLCAnY29tcGxldGUnXSkKKworICAvLyBSZWFkIHRoZSBkYXRhIGJhY2sgdG8g
dmVyaWZ5IHRoYXQgdHhuMiB3YXMgY29tbWl0dGVkLgorICBjb25zdCB0eG4zID0gZGIudHJhbnNh
Y3Rpb24oWydib29rcyddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgb2JqZWN0U3RvcmUzID0gdHhu
My5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAgY29uc3QgZ2V0UmVxdWVzdDEgPSBvYmplY3RTdG9y
ZTMuZ2V0KCdvbmUnKTsKKyAgY29uc3QgZ2V0UmVxdWVzdDIgPSBvYmplY3RTdG9yZTMuZ2V0KCd0
d28nKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4zKTsKKyAg
YXNzZXJ0X2VxdWFscyhnZXRSZXF1ZXN0MS5yZXN1bHQudGl0bGUsICd0aXRsZTEnKTsKKyAgYXNz
ZXJ0X2VxdWFscyhnZXRSZXF1ZXN0Mi5yZXN1bHQudGl0bGUsICd0aXRsZTInKTsKKyAgZGIuY2xv
c2UoKTsKK30sICdUcmFuc2FjdGlvbnMgdGhhdCBoYW5kbGUgYWxsIGVycm9ycyBwcm9wZXJseSBz
aG91bGQgYmUgYmVoYXZlIGFzICcgKworICAgJ2V4cGVjdGVkIHdoZW4gYW4gZXhwbGljaXQgY29t
bWl0IGlzIGNhbGxlZCBpbiBhbiBvbmVycm9yIGhhbmRsZXIuJyk7CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQt
Y29tbWl0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1j
b21taXQuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0
LWNvbW1pdC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDE0IEBACisKK0ZBSUwgRXhwbGljaXRseSBjb21taXR0ZWQgZGF0YSBjYW4gYmUgcmVhZCBiYWNr
IG91dC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21t
aXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBjb21taXQoKSBvbiBhIHZl
cnNpb24gY2hhbmdlIHRyYW5zYWN0aW9uIGRvZXMgbm90IGNhdXNlIGVycm9ycy4gdHhuLmNvbW1p
dCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMg
dW5kZWZpbmVkKQorRkFJTCBBIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiBiZWNvbWVzIGluYWN0aXZl
IGltbWVkaWF0ZWx5LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitGQUlMIEEgY29tbWl0
dGVkIHRyYW5zYWN0aW9uIGlzIGluYWN0aXZlIGluIGZ1dHVyZSByZXF1ZXN0IGNhbGxiYWNrcy4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScs
ICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBQdXRzIGlzc3VlZCBhZnRlciBjb21t
aXQgYXJlIG5vdCBmdWxmaWxsZWQuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0ZBSUwg
Q2FsbGluZyBjb21taXQgb24gYW4gYWJvcnRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuIGFzc2VydF90
aHJvd3M6IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgaGF2ZSBiZWVuIGFib3J0ZWQuIGZ1bmN0aW9u
ICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5j
b21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQn
IGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVy
cm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxMQor
RkFJTCBDYWxsaW5nIGNvbW1pdCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAn
dHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgQ2FsbGluZyBhYm9ydCBvbiBhIGNvbW1p
dHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MgYW5kIGRvZXMgbm90IHByZXZlbnQgcGVyc2lzdGluZyB0
aGUgZGF0YS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5j
b21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBDYWxsaW5nIHR4bi5j
b21taXQoKSB3aGVuIHR4biBpcyBpbmFjdGl2ZSBzaG91bGQgdGhyb3cuIGFzc2VydF90aHJvd3M6
IFRoZSB0cmFuc2FjdGlvbiBzaG91bGQgYmUgaW5hY3RpdmUgc28gY2FsbGluZyBjb21taXQgc2hv
dWxkIHRocm93LiBmdW5jdGlvbiAiKCkgPT4geyB0eG4uY29tbWl0KCk7IH0iIHRocmV3IG9iamVj
dCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21t
aXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2Vw
dGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVm
aW5lZCwgZXhwZWN0ZWQgMTEKK0ZBSUwgVHJhbnNhY3Rpb25zIHdpdGggc2FtZSBzY29wZSBzaG91
bGQgc3RheSBpbiBwcm9ncmFtIG9yZGVyLCBldmVuIGlmIG9uZSBjYWxscyBjb21taXQuIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdHhuMi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuMi5jb21taXQoKScsICd0
eG4yLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgVHJhbnNhY3Rpb25zIHRoYXQgZXhwbGlj
aXRseSBjb21taXQgYW5kIGhhdmUgZXJyb3JzIHNob3VsZCBhYm9ydC4gcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4xLmNv
bW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgpJywgJ3R4bjEuY29tbWl0
JyBpcyB1bmRlZmluZWQpIgorRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBoYW5kbGUgYWxsIGVycm9y
cyBwcm9wZXJseSBzaG91bGQgYmUgYmVoYXZlIGFzIGV4cGVjdGVkIHdoZW4gYW4gZXhwbGljaXQg
Y29tbWl0IGlzIGNhbGxlZCBpbiBhbiBvbmVycm9yIGhhbmRsZXIuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuMS5jb21t
aXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuMS5jb21taXQoKScsICd0eG4xLmNvbW1pdCcg
aXMgdW5kZWZpbmVkKSIKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkud29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXJlcXVlc3QuYW55LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5hbnktZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmN1cnNvci1yZXF1ZXN0LmFueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2IEBACisKK0ZBSUwgY3Vyc29yLnJlcXVlc3QgZnJvbSBJREJPYmplY3RTdG9yZS5v
cGVuQ3Vyc29yIGFzc2VydF9lcXVhbHM6IGN1cnNvci5yZXF1ZXN0IGV4cGVjdGVkIChvYmplY3Qp
IG9iamVjdCAiW29iamVjdCBJREJSZXF1ZXN0XSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmlu
ZWQKK0ZBSUwgY3Vyc29yLnJlcXVlc3QgZnJvbSBJREJPYmplY3RTdG9yZS5vcGVuS2V5Q3Vyc29y
IGFzc2VydF9lcXVhbHM6IGN1cnNvci5yZXF1ZXN0IGV4cGVjdGVkIChvYmplY3QpIG9iamVjdCAi
W29iamVjdCBJREJSZXF1ZXN0XSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwg
Y3Vyc29yLnJlcXVlc3QgZnJvbSBJREJJbmRleC5vcGVuQ3Vyc29yIGFzc2VydF9lcXVhbHM6IGN1
cnNvci5yZXF1ZXN0IGV4cGVjdGVkIChvYmplY3QpIG9iamVjdCAiW29iamVjdCBJREJSZXF1ZXN0
XSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgY3Vyc29yLnJlcXVlc3QgZnJv
bSBJREJJbmRleC5vcGVuS2V5Q3Vyc29yIGFzc2VydF9lcXVhbHM6IGN1cnNvci5yZXF1ZXN0IGV4
cGVjdGVkIChvYmplY3QpIG9iamVjdCAiW29iamVjdCBJREJSZXF1ZXN0XSIgYnV0IGdvdCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXJlcXVlc3QuYW55Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiY3Vyc29yLXJlcXVlc3QuYW55Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29y
LXJlcXVlc3QuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0
aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
Y3Vyc29yLXJlcXVlc3QuYW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1yZXF1ZXN0LmFueS5q
cwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5hbnkuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0MSBAQAorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQuanMKKworZnVuY3Rpb24g
Y3Vyc29yUmVxdWVzdFRlc3QoeyB1c2VJbmRleCwgdXNlS2V5Q3Vyc29yIH0pIHsKKyAgaW5kZXhl
ZGRiX3Rlc3QoCisgICAgKHQsIGRiKSA9PiB7CisgICAgICBjb25zdCBvYmpTdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCJteV9vYmplY3RzdG9yZSIpOworICAgICAgb2JqU3RvcmUuYWRkKCJk
YXRhIiwgIDEpOworICAgICAgb2JqU3RvcmUuY3JlYXRlSW5kZXgoIm15X2luZGV4IiwgIiIpOwor
ICAgIH0sCisgICAgKHQsIGRiKSA9PiB7CisgICAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9u
KCJteV9vYmplY3RzdG9yZSIpOworICAgICAgbGV0IHNvdXJjZSA9IHR4Lm9iamVjdFN0b3JlKCJt
eV9vYmplY3RzdG9yZSIpOworICAgICAgaWYgKHVzZUluZGV4KSBzb3VyY2UgPSBzb3VyY2UuaW5k
ZXgoJ215X2luZGV4Jyk7CisgICAgICBjb25zdCByZXEgPSB1c2VLZXlDdXJzb3IgPyBzb3VyY2Uu
b3BlbktleUN1cnNvcigpIDogc291cmNlLm9wZW5DdXJzb3IoKTsKKyAgICAgIGxldCBjdXJzb3I7
CisKKyAgICAgIHJlcS5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgIGN1
cnNvciA9IHJlcS5yZXN1bHQ7CisgICAgICAgIGFzc2VydF9lcXVhbHMoY3Vyc29yLnJlcXVlc3Qs
IHJlcSwgJ2N1cnNvci5yZXF1ZXN0Jyk7CisgICAgICAgIGFzc2VydF9yZWFkb25seShjdXJzb3Is
ICdyZXF1ZXN0Jyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoY3Vyc29yLnJlcXVlc3QsIGN1cnNv
ci5yZXF1ZXN0LCAnY3Vyc29yLnJlcXVlc3QgZG9lcyBub3QgY2hhbmdlJyk7CisgICAgICB9KTsK
KworICAgICAgcmVxLnRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSB0LnN0ZXBfZnVuYygoKSA9PiB7
CisgICAgICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoY3Vyc29yLnJlcXVlc3QsIHJlcSwgJ2N1cnNvci5yZXF1ZXN0IGFmdGVyIHRyYW5z
YWN0aW9uIGNvbXBsZXRlJyk7CisgICAgICAgICAgdC5kb25lKCk7CisgICAgICAgIH0pLCAwKTsK
KyAgICAgIH0pOworCisgICAgICByZXEudHJhbnNhY3Rpb24ub25lcnJvciA9IHQudW5yZWFjaGVk
X2Z1bmMoJ1RyYW5zYWN0aW9uIGVycm9yJyk7CisgICAgfSwKKyAgICBgY3Vyc29yLnJlcXVlc3Qg
ZnJvbSAke3VzZUluZGV4ID8gJ0lEQkluZGV4JyA6ICdJREJPYmplY3RTdG9yZSd9LiR7dXNlS2V5
Q3Vyc29yID8gJ29wZW5LZXlDdXJzb3InIDogJ29wZW5DdXJzb3InfWAKKyAgKTsKK30KKworZm9y
IChjb25zdCB1c2VJbmRleCBvZiBbZmFsc2UsIHRydWVdKSB7CisgIGZvciAoY29uc3QgdXNlS2V5
Q3Vyc29yIG9mIFtmYWxzZSwgdHJ1ZV0pIHsKKyAgICBjdXJzb3JSZXF1ZXN0VGVzdCh7IHVzZUlu
ZGV4LCB1c2VLZXlDdXJzb3IgfSk7CisgIH0KK30KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1yZXF1ZXN0LmFueS53
b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1yZXF1ZXN0LmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1yZXF1ZXN0LmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIGN1
cnNvci5yZXF1ZXN0IGZyb20gSURCT2JqZWN0U3RvcmUub3BlbkN1cnNvciBhc3NlcnRfZXF1YWxz
OiBjdXJzb3IucmVxdWVzdCBleHBlY3RlZCAob2JqZWN0KSBvYmplY3QgIltvYmplY3QgSURCUmVx
dWVzdF0iIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIGN1cnNvci5yZXF1ZXN0
IGZyb20gSURCT2JqZWN0U3RvcmUub3BlbktleUN1cnNvciBhc3NlcnRfZXF1YWxzOiBjdXJzb3Iu
cmVxdWVzdCBleHBlY3RlZCAob2JqZWN0KSBvYmplY3QgIltvYmplY3QgSURCUmVxdWVzdF0iIGJ1
dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIGN1cnNvci5yZXF1ZXN0IGZyb20gSURC
SW5kZXgub3BlbkN1cnNvciBhc3NlcnRfZXF1YWxzOiBjdXJzb3IucmVxdWVzdCBleHBlY3RlZCAo
b2JqZWN0KSBvYmplY3QgIltvYmplY3QgSURCUmVxdWVzdF0iIGJ1dCBnb3QgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkCitGQUlMIGN1cnNvci5yZXF1ZXN0IGZyb20gSURCSW5kZXgub3BlbktleUN1cnNv
ciBhc3NlcnRfZXF1YWxzOiBjdXJzb3IucmVxdWVzdCBleHBlY3RlZCAob2JqZWN0KSBvYmplY3Qg
IltvYmplY3QgSURCUmVxdWVzdF0iIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCisKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmN1cnNvci1yZXF1ZXN0LmFueS53b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3It
cmVxdWVzdC5hbnkud29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXJlcXVlc3Qu
YW55Lndvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1
cnNvcl9hZHZhbmNlX2luZGV4Mi5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5k
ZXgyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXgyLmh0bQko
d29ya2luZyBjb3B5KQpAQCAtMTAsNyArMTAsNyBAQAogPHNjcmlwdD4KIAogICAgIHZhciBkYiwK
LSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwK
KyAgICAgIHQgPSBhc3luY190ZXN0KCksCiAgICAgICByZWNvcmRzID0gWyB7IHBLZXk6ICJwcmlt
YXJ5S2V5XzAiLCBpS2V5OiAiaW5kZXhLZXlfMCIgfSwKICAgICAgICAgICAgICAgICAgIHsgcEtl
eTogInByaW1hcnlLZXlfMSIsIGlLZXk6ICJpbmRleEtleV8xIiB9IF07CiAKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNv
cl9hZHZhbmNlX2luZGV4My5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXgz
Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXgzLmh0bQkod29y
a2luZyBjb3B5KQpAQCAtMTAsNyArMTAsNyBAQAogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgogCiAgICAgdmFyIGRiLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUs
IHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rlc3QoKSwKICAgICAgIHJlY29y
ZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIsIGlLZXk6ICJpbmRleEtleV8wIiB9LAogICAg
ICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFyeUtleV8xIiwgaUtleTogImluZGV4S2V5XzEi
IH0gXTsKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFuY2VfaW5kZXg1Lmh0bQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJj
dXJzb3JfYWR2YW5jZV9pbmRleDUuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2
YW5jZV9pbmRleDUuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBACiA8c2NyaXB0
PgogICAgIHZhciBkYiwKICAgICAgIGNvdW50ID0gMCwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRv
Y3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwKKyAgICAgIHQgPSBhc3luY190ZXN0KCks
CiAgICAgICByZWNvcmRzID0gWyB7IHBLZXk6ICJwcmltYXJ5S2V5XzAiLCAgIGlLZXk6ICJpbmRl
eEtleV8wIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFyeUtleV8xIiwgICBp
S2V5OiAiaW5kZXhLZXlfMSIgfSwKICAgICAgICAgICAgICAgICAgIHsgcEtleTogInByaW1hcnlL
ZXlfMS0yIiwgaUtleTogImluZGV4S2V5XzEiIH0gXSwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9p
bmRleDUuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDUuaHRtCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfaW5kZXg1Lmh0bQkod29ya2luZyBjb3B5
KQpAQCAtMTEsNyArMTEsNyBAQAogPHNjcmlwdD4KIAogICAgIHZhciBkYiwKLSAgICAgIHQgPSBh
c3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwKKyAgICAgIHQgPSBh
c3luY190ZXN0KCksCiAgICAgICByZWNvcmRzID0gWyB7IHBLZXk6ICJwcmltYXJ5S2V5XzAiLCAg
IGlLZXk6ICJpbmRleEtleV8wIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFy
eUtleV8xIiwgICBpS2V5OiAiaW5kZXhLZXlfMSIgfSwKICAgICAgICAgICAgICAgICAgIHsgcEtl
eTogInByaW1hcnlLZXlfMS0yIiwgaUtleTogImluZGV4S2V5XzEiIH0sCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3Jf
Y29udGludWVfaW5kZXg2Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfaW5kZXg2
Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4Ni5odG0JKHdv
cmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAKIDxzY3JpcHQ+CiAKICAgICB2YXIgZGIsCi0g
ICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCisg
ICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgcmVjb3JkcyA9IFsgeyBwS2V5OiAicHJpbWFy
eUtleV8wIiwgICBpS2V5OiAiaW5kZXhLZXlfMCIgfSwKICAgICAgICAgICAgICAgICAgIHsgcEtl
eTogInByaW1hcnlLZXlfMSIsICAgaUtleTogImluZGV4S2V5XzEiIH0sCiAgICAgICAgICAgICAg
ICAgICB7IHBLZXk6ICJwcmltYXJ5S2V5XzEtMiIsIGlLZXk6ICJpbmRleEtleV8xIiB9LApJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiY3Vyc29yX2NvbnRpbnVlX2ludmFsaWQuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250
aW51ZV9pbnZhbGlkLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2lu
dmFsaWQuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogPHNjcmlwdD4KIAogICAg
IHZhciBkYiwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDog
MTAwMDB9KTsKKyAgICAgIHQgPSBhc3luY190ZXN0KCk7CiAKICAgICB2YXIgb3Blbl9ycSA9IGNy
ZWF0ZWRiKHQpOwogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiY3Vyc29yX2l0ZXJhdGluZy5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJhdGlu
Zy5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRpbmcuaHRtCSh3b3JraW5n
IGNvcHkpCkBAIC04LDcgKzgsNyBAQAogPHNjcmlwdD4KICAgICB2YXIgZGIsCiAgICAgICBjb3Vu
dCA9IDAsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEw
MDAwfSk7CisgICAgICB0ID0gYXN5bmNfdGVzdCgpOwogCiAgICAgdmFyIG9wZW5fcnEgPSBjcmVh
dGVkYih0KTsKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXgyLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfaXRl
cmF0aW5nX2luZGV4Mi5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRpbmdf
aW5kZXgyLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcgQEAKIDxzY3JpcHQ+CiAgICAg
dmFyIGRiLAogICAgICAgY291bnQgPSAwLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQu
dGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rlc3QoKSwKICAgICAg
IHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIsIG9iajogeyBpS2V5OiAiaUtleV8w
IiB9fSwKICAgICAgICAgICAgICAgICAgIHsgcEtleTogInByaW1hcnlLZXlfMiIsIG9iajogeyBp
S2V5OiAiaUtleV8yIiB9fSBdLAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfaXRlcmF0aW5nX2luZGV4Lmh0bQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3JfaXRlcmF0aW5nX2luZGV4Lmh0bQkocmV2aXNpb24gMjUwMjYw
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiY3Vyc29yX2l0ZXJhdGluZ19pbmRleC5odG0JKHdvcmtpbmcgY29weSkKQEAgLTgsNyAr
OCw3IEBACiA8c2NyaXB0PgogICAgIHZhciBkYiwKICAgICAgIGNvdW50ID0gMCwKLSAgICAgIHQg
PSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwKKyAgICAgIHQg
PSBhc3luY190ZXN0KCksCiAgICAgICByZWNvcmRzID0gWyB7IHBLZXk6ICJwcmltYXJ5S2V5XzAi
LCBvYmo6IHsgaUtleTogImlLZXlfMCIgfX0sCiAgICAgICAgICAgICAgICAgICB7IHBLZXk6ICJw
cmltYXJ5S2V5XzEiLCBvYmo6IHsgaUtleTogImlLZXlfMSIgfX0sCiAgICAgICAgICAgICAgICAg
ICB7IHBLZXk6ICJwcmltYXJ5S2V5XzIiLCBvYmo6IHsgaUtleTogImlLZXlfMiIgfX0gXSwKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmN1cnNvcl9pdGVyYXRpbmdfb2JqZWN0c3RvcmUyLmh0bQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJz
b3JfaXRlcmF0aW5nX29iamVjdHN0b3JlMi5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNv
cl9pdGVyYXRpbmdfb2JqZWN0c3RvcmUyLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcg
QEAKIDxzY3JpcHQ+CiAgICAgdmFyIGRiLAogICAgICAgY291bnQgPSAwLAotICAgICAgdCA9IGFz
eW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFz
eW5jX3Rlc3QoKSwKICAgICAgIHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIgfSwK
ICAgICAgICAgICAgICAgICAgIHsgcEtleTogInByaW1hcnlLZXlfMiIgfSBdLAogICAgICAgZXhw
ZWN0ZWRfcmVjb3JkcyA9IFsgeyBwS2V5OiAicHJpbWFyeUtleV8wIiB9LApJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29y
X2l0ZXJhdGluZ19vYmplY3RzdG9yZS5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJhdGlu
Z19vYmplY3RzdG9yZS5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRpbmdf
b2JqZWN0c3RvcmUuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogPHNjcmlwdD4K
ICAgICB2YXIgZGIsCiAgICAgICBjb3VudCA9IDAsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1
bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAog
ICAgICAgcmVjb3JkcyA9IFsgeyBwS2V5OiAicHJpbWFyeUtleV8wIiB9LAogICAgICAgICAgICAg
ICAgICAgeyBwS2V5OiAicHJpbWFyeUtleV8xIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5
OiAicHJpbWFyeUtleV8yIiB9IF0sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlNC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3RzdG9yZTQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3Jl
NC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgSURC
Q3Vyc29yLnVwZGF0ZSgpIC0gaW5kZXggLSBtb2RpZnkgYSByZWNvcmQgaW4gdGhlIG9iamVjdCBz
dG9yZSAKK1BBU1MgSURCQ3Vyc29yLnVwZGF0ZSgpIC0gaW5kZXggLSBtb2RpZnkgYSByZWNvcmQg
aW4gdGhlIG9iamVjdCBzdG9yZSAgCiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU0
Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlNC5odG0JKHJldmlz
aW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU0Lmh0bQkod29ya2luZyBj
b3B5KQpAQCAtOCw3ICs4LDcgQEAKIDxzY3JpcHQ+CiAKICAgICB2YXIgZGIsCi0gICAgICB0ID0g
YXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSkKKyAgICAgIHQgPSBh
c3luY190ZXN0KCkKIAogICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIodCk7CiAgICAgb3Blbl9y
cS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZS1jcmVhdGVP
YmplY3RTdG9yZS1leGNlcHRpb24tb3JkZXIuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlLWNy
ZWF0ZU9iamVjdFN0b3JlLWV4Y2VwdGlvbi1vcmRlci5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmRhdGFiYXNlLWNyZWF0ZU9iamVjdFN0b3JlLWV4Y2VwdGlvbi1vcmRlci5odG0JKHdvcmtpbmcg
Y29weSkKQEAgLTgsOSArOCwxMyBAQAogPHNjcmlwdD4KIAogaW5kZXhlZGRiX3Rlc3QoCi0gICh0
LCBkYiwgdHhuKSA9PiB7CisgICh0LCBkYiwgdHhuLCBycSkgPT4gewogICAgIGRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdzJyk7CiAKKyAgICAvLyBBY2tub3dsZWRnZSB0aGUgZXJyb3IsIHRvIHByZXZl
bnQgd2luZG93LmVycm9yIGZyb20gZmlyaW5nIGluCisgICAgLy8gYnJvd3NlcnMgdGhhdCBpbXBs
ZW1lbnQgdGhhdC4KKyAgICBycS5vbmVycm9yID0gZSA9PiB7IGUucHJldmVudERlZmF1bHQoKTsg
fTsKKwogICAgIHR4bi5vbmFib3J0ID0gKCkgPT4gewogICAgICAgc2V0VGltZW91dCh0LnN0ZXBf
ZnVuYygoKSA9PiB7CiAgICAgICAgIGFzc2VydF90aHJvd3MoCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9jcmVh
dGVPYmplY3RTdG9yZTctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0
ZU9iamVjdFN0b3JlNy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNl
X2NyZWF0ZU9iamVjdFN0b3JlNy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwzIEBACiAKLVBBU1MgSURCRGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoKSAtIGNyZWF0ZSBh
biBvYmplY3Qgc3RvcmUgd2l0aCBhbiB1bmtub3duIG9wdGlvbmFsIHBhcmFtZXRlciAKK1BBU1Mg
SURCRGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoKSAtIGNyZWF0ZSBhbiBvYmplY3Qgc3RvcmUg
d2l0aCBhbiB1bmtub3duIG9wdGlvbmFsIHBhcmFtZXRlciAgCiAKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2Ny
ZWF0ZU9iamVjdFN0b3JlNy5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0
U3RvcmU3Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3Rv
cmU3Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIAogPHNjcmlwdD4KIAotdmFy
IHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwKK3ZhciB0
ID0gYXN5bmNfdGVzdCgpLAogICAgIG9wZW5fcnEgPSBjcmVhdGVkYih0KQogCiBvcGVuX3JxLm9u
dXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVj
dFN0b3JlMTAtMTAwMGVuZHMuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVj
dFN0b3JlMTAtMTAwMGVuZHMuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9jcmVh
dGVPYmplY3RTdG9yZTEwLTEwMDBlbmRzLmh0bQkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcg
QEAKIAogPHNjcmlwdD4KIHZhciBkYiwKLSAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRs
ZSwge3RpbWVvdXQ6IDYwMDAwMH0pLAorICAgIHQgPSBhc3luY190ZXN0KCksCiAgICAgb3Blbl9y
cSA9IGNyZWF0ZWRiKHQpCiAKIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkg
ewpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiZGF0YWJhc2VfZGVsZXRlT2JqZWN0U3RvcmU0LW5vdF9yZXVzZWQuaHRtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmRhdGFiYXNlX2RlbGV0ZU9iamVjdFN0b3JlNC1ub3RfcmV1c2VkLmh0bQkocmV2
aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfZGVsZXRlT2JqZWN0U3RvcmU0LW5vdF9yZXVzZWQu
aHRtCSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogCiA8c2NyaXB0PgogCi12YXIgdCA9
IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAordmFyIHQgPSBh
c3luY190ZXN0KCksCiAgICAga2V5cyA9IFtdLAogICAgIG9wZW5fcnEgPSBjcmVhdGVkYih0KQog
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJkYXRhYmFzZV90cmFuc2FjdGlvbjQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmRhdGFiYXNlX3RyYW5zYWN0aW9uNC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MDI2MCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmRhdGFiYXNlX3RyYW5zYWN0aW9uNC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzIEBACiAKLVBBU1MgSURCRGF0YWJhc2UudHJhbnNhY3Rpb24oKSAtIGF0dGVtcHQgdG8g
b3BlbiBhIHRyYW5zYWN0aW9uIHdpdGggaW52YWxpZCBtb2RlIAorUEFTUyBJREJEYXRhYmFzZS50
cmFuc2FjdGlvbigpIC0gYXR0ZW1wdCB0byBvcGVuIGEgdHJhbnNhY3Rpb24gd2l0aCBpbnZhbGlk
IG1vZGUgIAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV90cmFuc2FjdGlvbjQuaHRtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmRhdGFiYXNlX3RyYW5zYWN0aW9uNC5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNl
X3RyYW5zYWN0aW9uNC5odG0JKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3IEBACiAKIDxzY3Jp
cHQ+CiAgICAgdmFyIGRiLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0
aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rlc3QoKSwKICAgICAgIG9wZW5fcnEg
PSBjcmVhdGVkYih0KTsKIAogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24o
ZSkgewpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiZmFjdG9yeS1kYXRhYmFzZXMtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiZmFjdG9yeS1kYXRhYmFzZXMtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1kYXRhYmFzZXMtb3BhcXVlLW9yaWdpbi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACisKK0ZBSUwgSURCRmFjdG9y
eS5kYXRhYmFzZXMoKSBpbiBub24tc2FuZGJveGVkIGlmcmFtZSBzaG91bGQgbm90IHJlamVjdCBh
c3NlcnRfZXF1YWxzOiBJREJGYWN0b3J5LmRhdGFiYXNlcygpIHNob3VsZCBub3QgcmVqZWN0IGV4
cGVjdGVkICJubyBleGNlcHRpb24iIGJ1dCBnb3QgImluZGV4ZWREQi5kYXRhYmFzZXMgdW5kZWZp
bmVkIgorRkFJTCBJREJGYWN0b3J5LmRhdGFiYXNlcygpIGluIHNhbmRib3hlZCBpZnJhbWUgc2hv
dWxkIHJlamVjdCBhc3NlcnRfZXF1YWxzOiBQcm9taXNlIHNob3VsZCBiZSByZWplY3RlZCB3aXRo
IFNlY3VyaXR5RXJyb3IgZXhwZWN0ZWQgIlNlY3VyaXR5RXJyb3IiIGJ1dCBnb3QgImluZGV4ZWRE
Qi5kYXRhYmFzZXMgdW5kZWZpbmVkIgorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5LWRhdGFiYXNlcy1vcGFxdWUt
b3JpZ2luLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1kYXRhYmFzZXMtb3BhcXVlLW9yaWdp
bi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3RvcnktZGF0YWJhc2VzLW9wYXF1ZS1vcmlnaW4u
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+SURCRmFjdG9yeS5kYXRhYmFzZXMoKSBhbmQgb3Bh
cXVlIG9yaWdpbnM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gbG9hZF9pZnJhbWUoc3JjLCBzYW5k
Ym94KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBpZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBpZnJhbWUub25sb2Fk
ID0gKCkgPT4geyByZXNvbHZlKGlmcmFtZSk7IH07CisgICAgaWYgKHNhbmRib3gpCisgICAgICBp
ZnJhbWUuc2FuZGJveCA9IHNhbmRib3g7CisgICAgaWZyYW1lLnNyY2RvYyA9IHNyYzsKKyAgICBp
ZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1l
bnQuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHdhaXRfZm9yX21l
c3NhZ2UoaWZyYW1lKSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBz
ZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbiBsaXN0ZW5lcihlKSB7Cisg
ICAgICBpZiAoZS5zb3VyY2UgPT09IGlmcmFtZS5jb250ZW50V2luZG93KSB7CisgICAgICAgIHJl
c29sdmUoZS5kYXRhKTsKKyAgICAgICAgc2VsZi5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdl
JywgbGlzdGVuZXIpOworICAgICAgfQorICAgIH0pOworICB9KTsKK30KKworY29uc3Qgc2NyaXB0
ID0KKyAgJzxzY3JpcHQ+JyArCisgICcgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoKSA9PiB7JyArCisg
ICcgICAgdHJ5IHsgJyArCisgICcgICAgICBpZiAoIWluZGV4ZWREQiB8fCAhaW5kZXhlZERCLmRh
dGFiYXNlcykgeycgKworICAnICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHtyZXN1
bHQ6ICJpbmRleGVkREIuZGF0YWJhc2VzIHVuZGVmaW5lZCJ9LCAiKiIpJyArCisgICcgICAgICB9
JyArCisgICcgICAgICBpbmRleGVkREIuZGF0YWJhc2VzKCkudGhlbignICsKKyAgJyAgICAgICAg
KCkgPT4gd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7cmVzdWx0OiAibm8gZXhjZXB0aW9uIn0s
ICIqIiksJyArCisgICcgICAgICAgIGV4ID0+IHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe3Jl
c3VsdDogZXgubmFtZX0sICIqIikpOycgKworICAnICAgIH0gY2F0Y2goZSkgeyAnICsKKyAgJyAg
ICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe3Jlc3VsdDogZS5uYW1lICsgIiB0aHJvd24s
IG5vdCByZWplY3RlZCJ9LCAiKiIpJyArCisgICcgICAgfScrCisgICcgIH07JyArCisgICc8XC9z
Y3JpcHQ+JzsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBpZnJhbWUgPSBh
d2FpdCBsb2FkX2lmcmFtZShzY3JpcHQpOworICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVz
c2FnZSh7fSwgJyonKTsKKyAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IHdhaXRfZm9yX21lc3NhZ2Uo
aWZyYW1lKTsKKyAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLnJlc3VsdCwgJ25vIGV4Y2VwdGlvbics
CisgICAgICAgICAgICAgICAgJ0lEQkZhY3RvcnkuZGF0YWJhc2VzKCkgc2hvdWxkIG5vdCByZWpl
Y3QnKTsKK30sICdJREJGYWN0b3J5LmRhdGFiYXNlcygpIGluIG5vbi1zYW5kYm94ZWQgaWZyYW1l
IHNob3VsZCBub3QgcmVqZWN0Jyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29u
c3QgaWZyYW1lID0gYXdhaXQgbG9hZF9pZnJhbWUoc2NyaXB0LCAnYWxsb3ctc2NyaXB0cycpOwor
ICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7fSwgJyonKTsKKyAgY29uc3QgbWVz
c2FnZSA9IGF3YWl0IHdhaXRfZm9yX21lc3NhZ2UoaWZyYW1lKTsKKyAgYXNzZXJ0X2VxdWFscyht
ZXNzYWdlLnJlc3VsdCwgJ1NlY3VyaXR5RXJyb3InLAorICAgICAgICAgICAgICAgICdQcm9taXNl
IHNob3VsZCBiZSByZWplY3RlZCB3aXRoIFNlY3VyaXR5RXJyb3InKTsKK30sICdJREJGYWN0b3J5
LmRhdGFiYXNlcygpIGluIHNhbmRib3hlZCBpZnJhbWUgc2hvdWxkIHJlamVjdCcpOworPC9zY3Jp
cHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJmYWN0b3J5LW9yaWdpbi1pc29sYXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiZmFjdG9yeS1vcmlnaW4taXNvbGF0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDMgQEAKKworRkFJTCBUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IG9yaWdpbnMg
aGF2ZSBzZXBhcmF0ZSBsb2NraW5nIHNjaGVtZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBpbmRleGVkREIuZGF0YWJhc2Vz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2luZGV4ZWREQi5kYXRhYmFzZXMoKScsICdpbmRleGVk
REIuZGF0YWJhc2VzJyBpcyB1bmRlZmluZWQpIgorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5LW9yaWdpbi1pc29s
YXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5LW9yaWdpbi1pc29sYXRpb24uaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5LW9yaWdpbi1pc29sYXRpb24uaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5EYXRhYmFzZXMg
b24gZGlmZmVyZW50IG9yaWdpbnMgdXNlIHNlcGFyYXRlIGxvY2tpbmc8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InN1
cHBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InN1cHBvcnQtcHJvbWlzZXMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKwordmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKwor
cHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgYXdhaXQgZGVsZXRlQWxsRGF0YWJh
c2VzKHRlc3RDYXNlKTsKKworICAvLyBDcmVhdGUgYW4gaWZyYW1lIHRvIG9wZW4gYW5kIGhvbGQg
YSBkYXRhYmFzZSBvbiBhIGRpZmZlcmVudCBvcmlnaW4uCisgIHZhciBpZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgdmFyIG5ld0xvY2F0aW9uID0gd2luZG93Lmxv
Y2F0aW9uLmhyZWYucmVwbGFjZSgnd3d3JywgJ3d3dzInKTsKKworICBjb25zdCBrZWVwYWxpdmVf
d2F0Y2hlciA9IG5ldyBFdmVudFdhdGNoZXIodGVzdENhc2UsIHdpbmRvdywgJ21lc3NhZ2UnKTsK
KyAgaWZyYW1lLnNyYyA9IGhvc3RfaW5mby5IVFRQX1JFTU9URV9PUklHSU4gKworICAgICAgJy9J
bmRleGVkREIvcmVzb3VyY2VzL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi1pZnJhbWUuaHRt
bCc7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKworICAvLyBXYWl0IHVu
dGlsIHRoZSBpZnJhbWUgc3RhcnRzIGl0cyB0cmFuc2FjdGlvbi4KKyAgdmFyIGV2ZW50ID0gYXdh
aXQga2VlcGFsaXZlX3dhdGNoZXIud2FpdF9mb3IoJ21lc3NhZ2UnKTsKKyAgYXNzZXJ0X2VxdWFs
cygia2VlcF9hbGl2ZV9zdGFydGVkIiwgZXZlbnQuZGF0YSk7CisKKyAgLy8gQ3JlYXRlIG91ciBv
d24gZGF0YWJhc2Ugd2l0aCB0aGUgc2FtZSBuYW1lLCBhbmQgcGVyZm9ybSBhIHNpbXBsZSBnZXQu
CisgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlTmFtZWREYXRhYmFzZSgKKyAgICAgIHRlc3RDYXNl
LCAnZGItaXNvbGF0aW9uLXRlc3QnLCBkYXRhYmFzZSA9PiB7CisgICAgICAgIGRhdGFiYXNlLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzJyk7CisgICAgICB9KTsKKyAgY29uc3QgdHggPSBkYi50cmFuc2Fj
dGlvbigncycpOworICB2YXIgcmVxdWVzdCA9IHR4Lm9iamVjdFN0b3JlKCdzJykuZ2V0KDApOwor
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHRlc3RDYXNlLnN0ZXBfZnVuY19kb25lKCk7CisgIHJlcXVl
c3Qub25lcnJvciA9IHRlc3RDYXNlLnVucmVhY2hlZF9mdW5jKCJUaGVyZSBzaG91bGQgYmUgbm8g
ZXJyb3JzLiIpOworfSwgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgb3JpZ2lucyBoYXZlIHNlcGFy
YXRlIGxvY2tpbmcgc2NoZW1lcyIpOworCis8L3NjcmlwdD4KKworPGRpdiBpZD0ibG9nIj48L2Rp
dj4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmZhY3RvcnlfZGVsZXRlRGF0YWJhc2UzLmh0bQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0
b3J5X2RlbGV0ZURhdGFiYXNlMy5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3RvcnlfZGVs
ZXRlRGF0YWJhc2UzLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAKIAogPHNjcmlw
dD4KICAgICB2YXIgZGIKLSAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoZG9j
dW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLCB1bmRlZmluZWQsIDkpCisgICAgdmFyIG9w
ZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCksIHVuZGVmaW5lZCwgOSkKIAogICAgIG9wZW5f
cnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAgICAgICBkYiA9IGUudGFyZ2V0
LnJlc3VsdApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMi5odG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9v
cGVuMi5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3BlbjIuaHRtCSh3b3JraW5n
IGNvcHkpCkBAIC02LDEyICs2LDEzIEBACiA8c2NyaXB0IHNyYz1zdXBwb3J0LmpzPjwvc2NyaXB0
PgogCiA8c2NyaXB0PgotICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdCgpLCAn
ZGF0YWJhc2VfbmFtZScsIDEzKTsKKyAgICB2YXIgZGF0YWJhc2VfbmFtZSA9IGRvY3VtZW50Lmxv
Y2F0aW9uICsgJy1kYXRhYmFzZV9uYW1lJzsKKyAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFz
eW5jX3Rlc3QoKSwgZGF0YWJhc2VfbmFtZSwgMTMpOwogCiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVu
ZWVkZWQgPSBmdW5jdGlvbihlKSB7fTsKICAgICBvcGVuX3JxLm9uc3VjY2VzcyA9IGZ1bmN0aW9u
KGUpIHsKICAgICAgICAgdmFyIGRiID0gZS50YXJnZXQucmVzdWx0OwotICAgICAgICBhc3NlcnRf
ZXF1YWxzKGRiLm5hbWUsICdkYXRhYmFzZV9uYW1lJywgJ2RiLm5hbWUnKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhkYi5uYW1lLCBkYXRhYmFzZV9uYW1lLCAnZGIubmFtZScpOwogICAgICAgICBh
c3NlcnRfZXF1YWxzKGRiLnZlcnNpb24sIDEzLCAnZGIudmVyc2lvbicpOwogICAgICAgICB0aGlz
LmRvbmUoKTsKICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW40Lmh0bQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJm
YWN0b3J5X29wZW40Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuNC5odG0J
KHdvcmtpbmcgY29weSkKQEAgLTYsNyArNiw3IEBACiA8c2NyaXB0IHNyYz1zdXBwb3J0LmpzPjwv
c2NyaXB0PgogCiA8c2NyaXB0PgotICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVz
dCgpLCAnZGF0YWJhc2VfbmFtZScpOworICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNf
dGVzdCgpLCBkb2N1bWVudC5sb2NhdGlvbiArICctZGF0YWJhc2VfbmFtZScpOwogCiAgICAgb3Bl
bl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIGFzc2VydF9lcXVh
bHMoZS50YXJnZXQucmVzdWx0LnZlcnNpb24sIDEsICJkYi52ZXJzaW9uIik7CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0
b3J5X29wZW41Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW41Lmh0bQkocmV2aXNpb24g
MjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiZmFjdG9yeV9vcGVuNS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTYsNyArNiw3
IEBACiA8c2NyaXB0IHNyYz1zdXBwb3J0LmpzPjwvc2NyaXB0PgogCiA8c2NyaXB0PgotICAgIHZh
ciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdCgpLCAnZGF0YWJhc2VfbmFtZScpOworICAg
IHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdCgpLCBkb2N1bWVudC5sb2NhdGlvbiAr
ICctZGF0YWJhc2VfbmFtZScpOwogCiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5j
dGlvbigpIHt9OwogICAgIG9wZW5fcnEub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
ZmFjdG9yeV9vcGVuMTAuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3BlbjEwLmh0bQkocmV2
aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTAuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC03
LDcgKzcsNyBAQAogCiA8c2NyaXB0PgogICAgIHZhciBkYiwgZGIyOwotICAgIHZhciBvcGVuX3Jx
ID0gY3JlYXRlZGIoYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSks
IHVuZGVmaW5lZCwgOSk7CisgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCks
IHVuZGVmaW5lZCwgOSk7CiAKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9u
KGUpIHsKICAgICAgICAgZGIgPSBlLnRhcmdldC5yZXN1bHQ7CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4x
MS5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTEuaHRtCShyZXZpc2lvbiAyNTAyNjAp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJmYWN0b3J5X29wZW4xMS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBACiA8
c2NyaXB0PgogICAgIHZhciBkYjsKICAgICB2YXIgY291bnRfZG9uZSA9IDA7Ci0gICAgdmFyIG9w
ZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAw
MDB9KSk7CisgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCkpOwogCiAgICAg
b3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIGRiID0gZS50
YXJnZXQucmVzdWx0OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTIuaHRtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZh
Y3Rvcnlfb3BlbjEyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTIuaHRt
CSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogCiA8c2NyaXB0PgogICAgIHZhciBkYjsK
LSAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0
aW1lb3V0OiAxMDAwMH0pLCB1bmRlZmluZWQsIDkpOworICAgIHZhciBvcGVuX3JxID0gY3JlYXRl
ZGIoYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSksIHVuZGVmaW5lZCwgOSk7CiAgICAgdmFyIG9w
ZW4yX3QgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlICsgIiAtIHNlY29uZCB1cGdyYWRlIik7
CiAKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmlu
ZGV4LW11bHRpZW50cnktYXJyYXlrZXlwYXRoLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1tdWx0
aWVudHJ5LWFycmF5a2V5cGF0aC5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LW11bHRp
ZW50cnktYXJyYXlrZXlwYXRoLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAKIDxz
Y3JpcHQgc3JjPSJzdXBwb3J0LmpzIj48L3NjcmlwdD4KIAogPHNjcmlwdD4KLSAgICBjcmVhdGVk
Yihhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSkub251cGdyYWRl
bmVlZGVkID0gZnVuY3Rpb24oZSkgeworICAgIGNyZWF0ZWRiKGFzeW5jX3Rlc3QoKSkub251cGdy
YWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAgICAgICB2YXIgc3RvcmUgPSBlLnRhcmdldC5y
ZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoInN0b3JlIik7CiAKICAgICAgICAgYXNzZXJ0X3Rocm93
cygnSW52YWxpZEFjY2Vzc0Vycm9yJywgZnVuY3Rpb24oKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1tdWx0aWVu
dHJ5LWJpZy5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRyeS1iaWcuaHRtCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJpbmRleC1tdWx0aWVudHJ5LWJpZy5odG0JKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
IDx0aXRsZT5JREJJbmRleC5tdWx0aUVudHJ5IC0gYSAxMDAwIGVudHJ5IG11bHRpRW50cnkgYXJy
YXk8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8bGluayBy
ZWw9ImF1dGhvciIgaHJlZj0ibWFpbHRvOm9kaW5ob0BvcGVyYS5jb20iIHRpdGxlPSJPZGluIEjD
uHJ0aGUgT21kYWwiPgogPGxpbmsgcmVsPWhlbHAgaHJlZj0iaHR0cDovL2R2Y3MudzMub3JnL2hn
L0luZGV4ZWREQi9yYXctZmlsZS90aXAvT3ZlcnZpZXcuaHRtbCNrZXktY29uc3RydWN0Ij4KIDxs
aW5rIHJlbD1hc3NlcnQgdGl0bGU9IlhYWCI+CkBAIC0xMCw4ICsxMSw4IEBACiAKIDxzY3JpcHQ+
CiAgICAgdmFyIGRiLAotICAgICAgICB0X2FkZCA9IGFzeW5jX3Rlc3QoIkFkZGluZyBvbmUgaXRl
bSB3aXRoIDEwMDAgbXVsdGlFbnRyeSBrZXlzIiwgeyB0aW1lb3V0OiAxMDAwMCB9KSwKLSAgICAg
ICAgdF9nZXQgPSBhc3luY190ZXN0KCJHZXR0aW5nIHRoZSBvbmUgaXRlbSBieSAxMDAwIGluZGVj
ZWQga2V5cyAiLCB7IHRpbWVvdXQ6IDEwMDAwIH0pOworICAgICAgICB0X2FkZCA9IGFzeW5jX3Rl
c3QoIkFkZGluZyBvbmUgaXRlbSB3aXRoIDEwMDAgbXVsdGlFbnRyeSBrZXlzIiksCisgICAgICAg
IHRfZ2V0ID0gYXN5bmNfdGVzdCgiR2V0dGluZyB0aGUgb25lIGl0ZW0gYnkgMTAwMCBpbmRlY2Vk
IGtleXMgIik7CiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHRfYWRkKTsKICAgICB2YXIg
b2JqID0geyB0ZXN0OiAneW8nLCBpZHhrZXlzOiBbXSB9OwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRy
eS5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRyeS5odG0JKHJldmlzaW9uIDI1MDI2
MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmluZGV4LW11bHRpZW50cnkuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3ICsxMiw3
IEBACiAgICAgdmFyIGRiLAogICAgICAgICBleHBlY3RlZF9rZXlzID0gWzEsIDIsIDIsIDMsIDNd
OwogCi0gICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KGRvY3VtZW50LnRpdGxl
LCB7dGltZW91dDogMTAwMDB9KSkKKyAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rl
c3QoKSkKIAogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewogICAg
ICAgICBkYiA9IGUudGFyZ2V0LnJlc3VsdDsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LXJlbmFtZS1hYm9ydC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmluZGV4LXJlbmFtZS1hYm9ydC5odG1sCShyZXZpc2lvbiAyNTAyNjAp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJpbmRleC1yZW5hbWUtYWJvcnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzksOSArMzks
OCBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICAgICAgJ3ZlcnNpb25jaGFu
Z2UgdHJhbnNhY3Rpb24gaXMgYWJvcnRlZCcpOwogCiAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihkYk5hbWUsIDEpOwotICAgICAgICByZXR1cm4gcmVxdWVzdFdhdGNoZXIo
dGVzdENhc2UsIHJlcXVlc3QpLndhaXRfZm9yKCdzdWNjZXNzJyk7Ci0gICAgfSkudGhlbihldmVu
dCA9PiB7Ci0gICAgICAgIGNvbnN0IGRhdGFiYXNlID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAg
ICAgICAgcmV0dXJuIHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KTsKKyAgICB9
KS50aGVuKGRhdGFiYXNlID0+IHsKICAgICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFz
ZS50cmFuc2FjdGlvbignYm9va3MnLCAncmVhZG9ubHknKTsKICAgICAgICAgY29uc3Qgc3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnYm9va3MnKTsKICAgICAgICAgYXNzZXJ0X2FycmF5
X2VxdWFscygKQEAgLTk1LDkgKzk0LDggQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsKICAg
ICAgICAgICAgICd2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0aW9uIGlzIGFib3J0ZWQnKTsKIAogICAg
ICAgICBjb25zdCByZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lLCAxKTsKLSAgICAgICAg
cmV0dXJuIHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KS53YWl0X2Zvcignc3VjY2Vz
cycpOwotICAgIH0pLnRoZW4oZXZlbnQgPT4gewotICAgICAgICBjb25zdCBkYXRhYmFzZSA9IGV2
ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgICAgIHJldHVybiBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0
Q2FzZSwgcmVxdWVzdCk7CisgICAgfSkudGhlbihkYXRhYmFzZSA9PiB7CiAgICAgICAgIGNvbnN0
IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oJ25vdF9ib29rcycsICdyZWFkb25s
eScpOwogICAgICAgICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdub3Rf
Ym9va3MnKTsKICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscygKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2luZGV4
TmFtZXMuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2luZGV4TmFtZXMuaHRtCShyZXZpc2lvbiAy
NTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJpbmRleF9pbmRleE5hbWVzLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4
LDcgQEAKIAogPHNjcmlwdD4KICAgICB2YXIgZGIsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1
bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSk7CisgICAgICB0ID0gYXN5bmNfdGVzdCgpOwog
CiAgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKICAgICBvcGVuX3JxLm9udXBncmFkZW5l
ZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJpbmRleF9rZXlQYXRoLmFueS1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiaW5kZXhfa2V5UGF0aC5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMyBAQAorCitGQUlMIElEQkluZGV4J3Mga2V5UGF0aCBhdHRyaWJ1dGUgcmV0dXJu
cyB0aGUgc2FtZSBvYmplY3QuIGFzc2VydF9lcXVhbHM6IFNhbWUgb2JqZWN0IGluc3RhbmNlIGlz
IHJldHVybmVkIGVhY2ggdGltZSBrZXlQYXRoIGlzIGluc3BlY3RlZCBleHBlY3RlZCBbImEiLCAi
YiJdIGJ1dCBnb3QgWyJhIiwgImIiXQorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9rZXlQYXRoLmFueS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5k
ZXhfa2V5UGF0aC5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRo
aXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVu
IHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJpbmRleF9rZXlQYXRoLmFueS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9rZXlQYXRoLmFueS5q
cwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9rZXlQYXRoLmFueS5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMwIEBACisvLyBNRVRBOiB0aXRsZT1JbmRleGVkREI6IElEQkluZGV4IGtleVBh
dGggYXR0cmlidXRlIC0gc2FtZSBvYmplY3QKKy8vIE1FVEE6IHNjcmlwdD1zdXBwb3J0LmpzCisK
K2luZGV4ZWRkYl90ZXN0KAorICAodCwgZGIpID0+IHsKKyAgICBjb25zdCBzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScsIHtrZXlQYXRoOiBbJ2EnLCAnYiddfSk7CisgICAgc3Rv
cmUuY3JlYXRlSW5kZXgoJ2luZGV4JywgWydhJywgJ2InXSk7CisgIH0sCisgICh0LCBkYikgPT4g
eworICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJyk7CisgICAgY29uc3Qgc3Rv
cmUgPSB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBjb25zdCBpbmRleCA9IHN0b3JlLmlu
ZGV4KCdpbmRleCcpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGluZGV4LmtleVBhdGgsICdv
YmplY3QnLCAna2V5UGF0aCBpcyBhbiBvYmplY3QnKTsKKyAgICBhc3NlcnRfdHJ1ZShBcnJheS5p
c0FycmF5KGluZGV4LmtleVBhdGgpLCAna2V5UGF0aCBpcyBhbiBhcnJheScpOworCisgICAgYXNz
ZXJ0X2VxdWFscygKKyAgICAgIGluZGV4LmtleVBhdGgsIGluZGV4LmtleVBhdGgsCisgICAgICAn
U2FtZSBvYmplY3QgaW5zdGFuY2UgaXMgcmV0dXJuZWQgZWFjaCB0aW1lIGtleVBhdGggaXMgaW5z
cGVjdGVkJyk7CisKKyAgICBjb25zdCB0eDIgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnKTsKKyAg
ICBjb25zdCBzdG9yZTIgPSB0eDIub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAgY29uc3QgaW5k
ZXgyID0gc3RvcmUyLmluZGV4KCdpbmRleCcpOworCisgICAgYXNzZXJ0X25vdF9lcXVhbHMoCisg
ICAgICBpbmRleC5rZXlQYXRoLCBpbmRleDIua2V5UGF0aCwKKyAgICAgICdEaWZmZXJlbnQgaW5z
dGFuY2VzIGFyZSByZXR1cm5lZCBmcm9tIGRpZmZlcmVudCBpbmRleCBpbnN0YW5jZXMuJyk7CisK
KyAgICB0LmRvbmUoKTsKKyAgfSwKKyAgYElEQkluZGV4J3Mga2V5UGF0aCBhdHRyaWJ1dGUgcmV0
dXJucyB0aGUgc2FtZSBvYmplY3QuYCk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9rZXlQYXRoLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55Lndvcmtlci1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfa2V5UGF0aC5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworRkFJTCBJREJJbmRleCdz
IGtleVBhdGggYXR0cmlidXRlIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0LiBhc3NlcnRfZXF1YWxz
OiBTYW1lIG9iamVjdCBpbnN0YW5jZSBpcyByZXR1cm5lZCBlYWNoIHRpbWUga2V5UGF0aCBpcyBp
bnNwZWN0ZWQgZXhwZWN0ZWQgWyJhIiwgImIiXSBidXQgZ290IFsiYSIsICJiIl0KKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
aW5kZXhfa2V5UGF0aC5hbnkud29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfa2V5UGF0
aC5hbnkud29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfa2V5UGF0aC5hbnkud29y
a2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
cmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxh
dGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3Rv
cmUtcmVuYW1lLWFib3J0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtcmVuYW1lLWFi
b3J0Lmh0bWwJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlLXJlbmFtZS1hYm9ydC5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC00MCw5ICs0MCw4IEBAIHByb21pc2VfdGVzdCh0ZXN0Q2Fz
ZSA9PiB7CiAgICAgICAgICAgICAgICAgJ0lEQk9iamVjdFN0b3JlLm5hbWUgc2hvdWxkIG5vdCBy
ZWZsZWN0IHRoZSByZW5hbWUgYW55IG1vcmUgJyArCiAgICAgICAgICAgICAgICAgJ2FmdGVyIHRo
ZSB2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0aW9uIGlzIGFib3J0ZWQnKTsKICAgICAgICAgY29uc3Qg
cmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFtZSwgMSk7Ci0gICAgICAgIHJldHVybiByZXF1
ZXN0V2F0Y2hlcih0ZXN0Q2FzZSwgcmVxdWVzdCkud2FpdF9mb3IoJ3N1Y2Nlc3MnKTsKLSAgICB9
KS50aGVuKGV2ZW50ID0+IHsKLSAgICAgICAgY29uc3QgZGF0YWJhc2UgPSBldmVudC50YXJnZXQu
cmVzdWx0OworICAgICAgICByZXR1cm4gcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVl
c3QpOworICAgIH0pLnRoZW4oZGF0YWJhc2UgPT4gewogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKAogICAgICAgICAgICAgZGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcywgWydib29rcyddLAog
ICAgICAgICAgICAgJ0lEQkRhdGFiYXNlLm9iamVjdFN0b3JlTmFtZXMgc2hvdWxkIG5vdCByZWZs
ZWN0IHRoZSByZW5hbWUgJyArCkBAIC0xMDcsOSArMTA2LDggQEAgcHJvbWlzZV90ZXN0KHRlc3RD
YXNlID0+IHsKICAgICAgICAgICAgICdzaG91bGQgYmUgZW1wdHkgYWZ0ZXIgdGhlIHZlcnNpb25j
aGFuZ2UgdHJhbnNhY3Rpb24gaXMgYWJvcnRlZCAnICsKICAgICAgICAgICAgICdyZXR1cm5zJyk7
CiAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUsIDEpOwotICAg
ICAgICByZXR1cm4gcmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpLndhaXRfZm9yKCdz
dWNjZXNzJyk7Ci0gICAgfSkudGhlbihldmVudCA9PiB7Ci0gICAgICAgIGNvbnN0IGRhdGFiYXNl
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAgICAgICAgcmV0dXJuIHByb21pc2VGb3JSZXF1ZXN0
KHRlc3RDYXNlLCByZXF1ZXN0KTsKKyAgICB9KS50aGVuKGRhdGFiYXNlID0+IHsKICAgICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscygKICAgICAgICAgICAgIGRhdGFiYXNlLm9iamVjdFN0b3JlTmFt
ZXMsIFtdLAogICAgICAgICAgICAgJ0lEQkRhdGFiYXNlLm9iamVjdFN0b3JlTmFtZXMgc2hvdWxk
IG5vdCByZWZsZWN0IHRoZSBjcmVhdGlvbiBvciAnICsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0
ZUluZGV4My11c2FibGUtcmlnaHQtYXdheS5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVf
Y3JlYXRlSW5kZXgzLXVzYWJsZS1yaWdodC1hd2F5Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
b2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgzLXVzYWJsZS1yaWdodC1hd2F5Lmh0bQkod29ya2luZyBj
b3B5KQpAQCAtOSw3ICs5LDcgQEAKIAogPHNjcmlwdD4KICAgICB2YXIgZGIsIGFib3J0ZWQsCi0g
ICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6MTkwMDB9KQorICAg
ICAgdCA9IGFzeW5jX3Rlc3QoKQogCiAgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKICAg
ICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX2NyZWF0ZUluZGV4NC1kZWxldGVJbmRleC1ldmVudF9vcmRlci5odG0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg0LWRlbGV0ZUluZGV4LWV2ZW50X29yZGVyLmh0bQko
cmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg0LWRlbGV0ZUluZGV4
LWV2ZW50X29yZGVyLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAKIDxzY3JpcHQ+
CiAgICAgdmFyIGRiLAogICAgICAgZXZlbnRzID0gW10sCi0gICAgICB0ID0gYXN5bmNfdGVzdChk
b2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSkKKyAgICAgIHQgPSBhc3luY190ZXN0KCkK
IAogICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIodCk7CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVu
ZWVkZWQgPSBmdW5jdGlvbihlKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDUtZW1w
dHlrZXlwYXRoLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDUtZW1w
dHlrZXlwYXRoLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5k
ZXg1LWVtcHR5a2V5cGF0aC5odG0JKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBACiAKIDxz
Y3JpcHQ+CiAgICAgdmFyIGRiLCBhYm9ydGVkLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1l
bnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pCisgICAgICB0ID0gYXN5bmNfdGVzdCgpCiAKICAg
ICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOwogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVk
ID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg2LWV2ZW50X29y
ZGVyLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDYtZXZlbnRfb3Jk
ZXIuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDYtZXZl
bnRfb3JkZXIuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBACiAKICAgICB2YXIg
ZGIsCiAgICAgICBldmVudHMgPSBbXSwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRp
dGxlLCB7dGltZW91dDogMTAwMDB9KQorICAgICAgdCA9IGFzeW5jX3Rlc3QoKQogCiAgICAgdmFy
IG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1
bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4Ny1ldmVudF9vcmRlci5o
dG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg3LWV2ZW50X29yZGVyLmh0
bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg3LWV2ZW50X29y
ZGVyLmh0bQkod29ya2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNyBAQAogCiAgICAgdmFyIGRiLAog
ICAgICAgZXZlbnRzID0gW10sCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwg
e3RpbWVvdXQ6IDEwMDAwfSkKKyAgICAgIHQgPSBhc3luY190ZXN0KCkKIAogICAgIHZhciBvcGVu
X3JxID0gY3JlYXRlZGIodCk7CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlv
bihlKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDgtdmFsaWRfa2V5cy5odG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg4LXZhbGlkX2tleXMuaHRtCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDgtdmFsaWRfa2V5cy5odG0J
KHdvcmtpbmcgY29weSkKQEAgLTksNyArOSw3IEBACiAKIDxzY3JpcHQ+CiAgICAgdmFyIGRiLAot
ICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OjE5MDAwfSksCisg
ICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgbm93ID0gbmV3IERhdGUoKSwKICAgICAgIG1h
cjE4ID0gbmV3IERhdGUoMTExMTExMTExMTExMSksCiAgICAgICBhciA9IFsiWWF5IiwgMiwgLUlu
ZmluaXR5XSwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4MTUtYXV0b2luY3JlbWVudC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgxNS1hdXRv
aW5jcmVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVf
Y3JlYXRlSW5kZXgxNS1hdXRvaW5jcmVtZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMSw0ICsxLDUgQEAKIAogUEFTUyBFeHBsaWNpdCBQcmltYXJ5IEtleSAKIFBBU1MgQXV0by1J
bmNyZW1lbnQgUHJpbWFyeSBLZXkgCitQQVNTIEF1dG8tSW5jcmVtZW50IFByaW1hcnkgS2V5IC0g
aW52YWxpZCBrZXkgdmFsdWVzIGVsc2V3aGVyZSAKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRl
SW5kZXgxNS1hdXRvaW5jcmVtZW50Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVh
dGVJbmRleDE1LWF1dG9pbmNyZW1lbnQuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZV9jcmVhdGVJbmRleDE1LWF1dG9pbmNyZW1lbnQuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDYgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04PgogPHRpdGxl
PklEQk9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCkgLSBBdXRvSW5jcmVtZW50IGluIENvbXBvdW5k
IEluZGV4PC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9InN1cHBvcnQuanMiPjwvc2NyaXB0PgpAQCAtNDksNCArNTAsNTcgQEAKICAgICB9LAogICAg
ICJBdXRvLUluY3JlbWVudCBQcmltYXJ5IEtleSIKICAgKTsKKworICBpbmRleGVkZGJfdGVzdCgK
KyAgICBmdW5jdGlvbih0LCBkYiwgdHhuKSB7CisgICAgICAvLyBBdXRvLWluY3JlbWVudAorICAg
ICAgdmFyIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoIlN0b3JlMyIsIHtrZXlQYXRoOiAi
aWQiLCBhdXRvSW5jcmVtZW50OiB0cnVlfSk7CisgICAgICBzdG9yZS5jcmVhdGVJbmRleCgiQ29t
cG91bmRLZXkiLCBbIm51bSIsICJpZCIsICJvdGhlciJdKTsKKworICAgICAgdmFyIG51bSA9IDEw
MDsKKworICAgICAgLy8gQWRkIGRhdGEgdG8gU3RvcmUzIC0gdmFsaWQga2V5cworICAgICAgLy8g
T2JqZWN0cyB3aWxsIGJlIHN0b3JlZCBpbiBTdG9yZTMgYW5kIGtleXMgd2lsbCBnZXQgYWRkZWQK
KyAgICAgIC8vIHRvIHRoZSBDb21wb3VuZEtleXMgaW5kZXguCisgICAgICBzdG9yZS5wdXQoe251
bTogbnVtKyssIG90aGVyOiAwfSk7CisgICAgICBzdG9yZS5wdXQoe251bTogbnVtKyssIG90aGVy
OiBbMF19KTsKKworICAgICAgLy8gQWRkIGRhdGEgLSBtaXNzaW5nIGtleQorICAgICAgLy8gT2Jq
ZWN0cyB3aWxsIGJlIHN0b3JlZCBpbiBTdG9yZTMgYnV0IGtleXMgd29uJ3QgZ2V0IGFkZGVkIHRv
CisgICAgICAvLyB0aGUgQ29tcG91bmRLZXlzIGluZGV4IGJlY2F1c2UgdGhlICdvdGhlcicga2V5
cGF0aCBkb2Vzbid0CisgICAgICAvLyByZXNvbHZlIHRvIGEgdmFsdWUuCisgICAgICBzdG9yZS5w
dXQoe251bTogbnVtKyt9KTsKKworICAgICAgLy8gQWRkIGRhdGEgdG8gU3RvcmUzIC0gaW52YWxp
ZCBrZXlzCisgICAgICAvLyBPYmplY3RzIHdpbGwgYmUgc3RvcmVkIGluIFN0b3JlMyBidXQga2V5
cyB3b24ndCBnZXQgYWRkZWQgdG8KKyAgICAgIC8vIHRoZSBDb21wb3VuZEtleXMgaW5kZXggYmVj
YXVzZSB0aGUgJ290aGVyJyBwcm9wZXJ0eSB2YWx1ZXMKKyAgICAgIC8vIGFyZW4ndCB2YWxpZCBr
ZXlzLgorICAgICAgc3RvcmUucHV0KHtudW06IG51bSsrLCBvdGhlcjogbnVsbH0pOworICAgICAg
c3RvcmUucHV0KHtudW06IG51bSsrLCBvdGhlcjoge319KTsKKyAgICAgIHN0b3JlLnB1dCh7bnVt
OiBudW0rKywgb3RoZXI6IFtudWxsXX0pOworICAgICAgc3RvcmUucHV0KHtudW06IG51bSsrLCBv
dGhlcjogW3t9XX0pOworICAgIH0sCisgICAgZnVuY3Rpb24odCwgZGIpIHsKKyAgICAgIHZhciBz
dG9yZSA9IGRiLnRyYW5zYWN0aW9uKCJTdG9yZTMiLCAicmVhZHdyaXRlIikub2JqZWN0U3RvcmUo
IlN0b3JlMyIpOworICAgICAgY29uc3Qga2V5cyA9IFtdOworICAgICAgbGV0IGNvdW50OworICAg
ICAgc3RvcmUuY291bnQoKS5vbnN1Y2Nlc3MgPSB0LnN0ZXBfZnVuYyhlID0+IHsgY291bnQgPSBl
LnRhcmdldC5yZXN1bHQ7IH0pOworICAgICAgc3RvcmUuaW5kZXgoIkNvbXBvdW5kS2V5Iikub3Bl
bkN1cnNvcigpLm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAg
Y29uc3QgY3Vyc29yID0gZS50YXJnZXQucmVzdWx0OworICAgICAgICBpZiAoY3Vyc29yICE9PSBu
dWxsKSB7CisgICAgICAgICAga2V5cy5wdXNoKGN1cnNvci5rZXkpOworICAgICAgICAgIGN1cnNv
ci5jb250aW51ZSgpOworICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIC8v
IERvbmUgaXRlcmF0aW9uLCBjaGVjayByZXN1bHRzLgorICAgICAgICBhc3NlcnRfZXF1YWxzKGNv
dW50LCA3LCAnRXhwZWN0ZWQgYWxsIDcgcmVjb3JkcyB0byBiZSBzdG9yZWQuJyk7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoa2V5cy5sZW5ndGgsIDIsICdFeHBlY3RlZCBleGFjdGx5IHR3byBpbmRl
eCBlbnRyaWVzLicpOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGtleXNbMF0sIFsxMDAs
IDEsIDBdKTsKKyAgICAgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMoa2V5c1sxXSwgWzEwMSwgMiwg
WzBdXSk7CisgICAgICAgIHQuZG9uZSgpOworICAgICAgfSk7CisgICAgfSwKKyAgICAiQXV0by1J
bmNyZW1lbnQgUHJpbWFyeSBLZXkgLSBpbnZhbGlkIGtleSB2YWx1ZXMgZWxzZXdoZXJlIgorICAp
OwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9kZWxldGVkLmh0bQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJvYmplY3RzdG9yZV9kZWxldGVkLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3Rv
cmVfZGVsZXRlZC5odG0JKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAKIDxzY3JpcHQ+
CiAgICAgdmFyIGRiLAogICAgICAgYWRkX3N1Y2Nlc3MgPSBmYWxzZSwKLSAgICAgIHQgPSBhc3lu
Y190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KQorICAgICAgdCA9IGFzeW5j
X3Rlc3QoKQogCiAgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKICAgICBvcGVuX3JxLm9u
dXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2tleVBhdGgu
YW55LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnktZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIElEQk9iamVj
dFN0b3JlJ3Mga2V5UGF0aCBhdHRyaWJ1dGUgcmV0dXJucyB0aGUgc2FtZSBvYmplY3QuIGFzc2Vy
dF9lcXVhbHM6IFNhbWUgb2JqZWN0IGluc3RhbmNlIGlzIHJldHVybmVkIGVhY2ggdGltZSBrZXlQ
YXRoIGlzIGluc3BlY3RlZCBleHBlY3RlZCBbImEiLCAiYiJdIGJ1dCBnb3QgWyJhIiwgImIiXQor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlX2tleVBhdGguYW55Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5
UGF0aC5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmls
ZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0
ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmpl
Y3RzdG9yZV9rZXlQYXRoLmFueS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRo
LmFueS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACisvLyBNRVRBOiB0aXRsZT1JbmRleGVkREI6IElE
Qk9iamVjdFN0b3JlIGtleVBhdGggYXR0cmlidXRlIC0gc2FtZSBvYmplY3QKKy8vIE1FVEE6IHNj
cmlwdD1zdXBwb3J0LmpzCisKK2luZGV4ZWRkYl90ZXN0KAorICAodCwgZGIpID0+IHsKKyAgICBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnLCB7a2V5UGF0aDogWydhJywgJ2InXX0pOworICB9
LAorICAodCwgZGIpID0+IHsKKyAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScp
OworICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2Ygc3RvcmUua2V5UGF0aCwgJ29iamVjdCcsICdrZXlQYXRoIGlzIGFuIG9i
amVjdCcpOworICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXkoc3RvcmUua2V5UGF0aCksICdr
ZXlQYXRoIGlzIGFuIGFycmF5Jyk7CisKKyAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgc3RvcmUu
a2V5UGF0aCwgc3RvcmUua2V5UGF0aCwKKyAgICAgICdTYW1lIG9iamVjdCBpbnN0YW5jZSBpcyBy
ZXR1cm5lZCBlYWNoIHRpbWUga2V5UGF0aCBpcyBpbnNwZWN0ZWQnKTsKKworICAgIGNvbnN0IHR4
MiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScpOworICAgIGNvbnN0IHN0b3JlMiA9IHR4Mi5vYmpl
Y3RTdG9yZSgnc3RvcmUnKTsKKworICAgIGFzc2VydF9ub3RfZXF1YWxzKAorICAgICAgc3RvcmUu
a2V5UGF0aCwgc3RvcmUyLmtleVBhdGgsCisgICAgICAnRGlmZmVyZW50IGluc3RhbmNlcyBhcmUg
cmV0dXJuZWQgZnJvbSBkaWZmZXJlbnQgc3RvcmUgaW5zdGFuY2VzLicpOworCisgICAgdC5kb25l
KCk7CisgIH0sCisgIGBJREJPYmplY3RTdG9yZSdzIGtleVBhdGggYXR0cmlidXRlIHJldHVybnMg
dGhlIHNhbWUgb2JqZWN0LmApOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2tleVBhdGguYW55
Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK0ZB
SUwgSURCT2JqZWN0U3RvcmUncyBrZXlQYXRoIGF0dHJpYnV0ZSByZXR1cm5zIHRoZSBzYW1lIG9i
amVjdC4gYXNzZXJ0X2VxdWFsczogU2FtZSBvYmplY3QgaW5zdGFuY2UgaXMgcmV0dXJuZWQgZWFj
aCB0aW1lIGtleVBhdGggaXMgaW5zcGVjdGVkIGV4cGVjdGVkIFsiYSIsICJiIl0gYnV0IGdvdCBb
ImEiLCAiYiJdCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2tleVBhdGguYW55Lndvcmtlci5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2tleVBhdGguYW55Lndvcmtlci5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYm9iamVjdHN0b3JlX2tleVBhdGguYW55Lndvcmtlci5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQg
dGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uLW9uY29tcGxldGUuaHRtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uLW9uY29tcGxldGUuaHRtCShyZXZpc2lvbiAyNTAyNjAp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJ0cmFuc2FjdGlvbi1vbmNvbXBsZXRlLmh0bQkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3
LDcgQEAKIAogPHNjcmlwdD4KICAgICB2YXIgZGIsIHN0b3JlLAotICAgICAgdCA9IGFzeW5jX3Rl
c3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rl
c3QoKSwKICAgICAgIG9wZW5fcnEgPSBjcmVhdGVkYih0KSwKICAgICAgIHN0YWdlcyA9IFtdOwog
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJ0cmFuc2FjdGlvbl9hYm9ydC5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidHJhbnNhY3Rpb25f
YWJvcnQuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ0cmFuc2FjdGlvbl9hYm9ydC5odG0JKHdv
cmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBACiAKIDxzY3JpcHQ+CiAgICAgdmFyIGRiLCBhYm9y
dGVkLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAw
MH0pLAorICAgICAgdCA9IGFzeW5jX3Rlc3QoKSwKICAgICAgIHJlY29yZCA9IHsgaW5kZXhlZFBy
b3BlcnR5OiAiYmFyIiB9OwogCiAgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YnZlcnNpb25jaGFuZ2VldmVudC5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidmVyc2lvbmNoYW5nZWV2ZW50
Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidmVyc2lvbmNoYW5nZWV2ZW50Lmh0bQkod29ya2lu
ZyBjb3B5KQpAQCAtMTMsNyArMTMsNyBAQAogPHNjcmlwdD4KIAogICAgIHZhciBkYiwKLSAgICAg
ICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pOworICAg
ICAgICB0ID0gYXN5bmNfdGVzdCgpOwogCiAgICAgdC5zdGVwKGZ1bmN0aW9uKCkgewogICAgICAg
ICB2YXIgb3BlbnJxID0gaW5kZXhlZERCLm9wZW4oJ2RiJywgMyk7CkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFu
eS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDE4OCBAQAorCitQQVNTIGlkbF90ZXN0IHNldHVwIAorUEFTUyBQYXJ0aWFsIGlu
dGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlOiBvcmlnaW5hbCBpbnRlcmZh
Y2UgbWl4aW4gZGVmaW5lZCAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJSZXF1ZXN0IGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZSBvYmplY3QgbmFt
ZSAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRl
IHJlc3VsdCAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBlcnJvciAKK1BB
U1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzb3VyY2UgCitQQVNTIElEQlJlcXVl
c3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdHJhbnNhY3Rpb24gCitQQVNTIElEQlJlcXVlc3QgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgcmVhZHlTdGF0ZSAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbnN1Y2Nlc3MgCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25lcnJvciAKK1BBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJPcGVuREJSZXF1ZXN0
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFj
ZSBvYmplY3QgbmFtZSAKK1BBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgSURC
T3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIElE
Qk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBJ
REJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmxvY2tlZCAKK1BBU1MgSURC
T3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnVwZ3JhZGVuZWVkZWQgCitQQVNT
IElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggCitQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCitQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1Mg
SURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAK
K1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKK1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9s
ZFZlcnNpb24gCitQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBuZXdWZXJzaW9uIAorUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50KCJ0eXBlIikgCitQQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50KCJ0eXBlIikgCitQQVNT
IElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZl
bnQoInR5cGUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9sZFZlcnNpb24iIHdpdGggdGhlIHBy
b3BlciB0eXBlIAorUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcgSURC
VmVyc2lvbkNoYW5nZUV2ZW50KCJ0eXBlIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJuZXdWZXJz
aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJGYWN0
b3J5IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZSBv
YmplY3QgbmFtZSAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgSURCRmFjdG9yeSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIElEQkZhY3RvcnkgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTog
b3BlcmF0aW9uIG9wZW4oRE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmcpIAorUEFTUyBJREJG
YWN0b3J5IGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZURhdGFiYXNlKERPTVN0cmluZykgCitG
QUlMIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGF0YWJhc2VzKCkgYXNzZXJ0X293
bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGlj
IG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiZGF0YWJhc2VzIiBtaXNzaW5nCitQQVNTIElE
QkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gY21wKGFueSwgYW55KSAKK1BBU1MgSURCRmFj
dG9yeSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIFtvYmplY3QgSURCRmFjdG9yeV0gCitQ
QVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBbb2JqZWN0IElEQkZhY3RvcnldIAorUEFTUyBJREJGYWN0
b3J5IGludGVyZmFjZTogW29iamVjdCBJREJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9wZW4oRE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcgb3BlbihET01TdHJpbmcsIHVu
c2lnbmVkIGxvbmcgbG9uZykgb24gW29iamVjdCBJREJGYWN0b3J5XSB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTog
W29iamVjdCBJREJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlbGV0ZURhdGFiYXNl
KERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJGYWN0b3J5IGludGVy
ZmFjZTogY2FsbGluZyBkZWxldGVEYXRhYmFzZShET01TdHJpbmcpIG9uIFtvYmplY3QgSURCRmFj
dG9yeV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK0ZBSUwg
SURCRmFjdG9yeSBpbnRlcmZhY2U6IFtvYmplY3QgSURCRmFjdG9yeV0gbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJkYXRhYmFzZXMoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRz
OiBwcm9wZXJ0eSAiZGF0YWJhc2VzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNT
IElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiY21wKGFueSwgYW55KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQkZh
Y3RvcnkgaW50ZXJmYWNlOiBjYWxsaW5nIGNtcChhbnksIGFueSkgb24gW29iamVjdCBJREJGYWN0
b3J5XSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBJ
REJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BB
U1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBJREJEYXRhYmFzZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
CitQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCitQQVNTIElEQkRh
dGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRlIHZlcnNpb24gCitQQVNTIElEQkRhdGFiYXNlIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9iamVjdFN0b3JlTmFtZXMgCitQQVNTIElEQkRhdGFiYXNlIGlu
dGVyZmFjZTogb3BlcmF0aW9uIHRyYW5zYWN0aW9uKFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9i
amVjdF0sIElEQlRyYW5zYWN0aW9uTW9kZSkgCitQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTog
b3BlcmF0aW9uIGNsb3NlKCkgCitQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogb3BlcmF0aW9u
IGNyZWF0ZU9iamVjdFN0b3JlKERPTVN0cmluZywgSURCT2JqZWN0U3RvcmVQYXJhbWV0ZXJzKSAK
K1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlT2JqZWN0U3RvcmUo
RE9NU3RyaW5nKSAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9y
dCAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jbG9zZSAKK1BBU1Mg
SURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKK1BBU1MgSURCRGF0YWJh
c2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252ZXJzaW9uY2hhbmdlIAorUEFTUyBJREJPYmplY3RT
dG9yZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0IAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1Mg
SURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMg
cHJvcGVydHkgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUg
CitQQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGtleVBhdGggCitQQVNT
IElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGluZGV4TmFtZXMgCitQQVNTIElE
Qk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIHRyYW5zYWN0aW9uIAorUEFTUyBJREJP
YmplY3RTdG9yZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBhdXRvSW5jcmVtZW50IAorUEFTUyBJREJP
YmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwdXQoYW55LCBhbnkpIAorUEFTUyBJREJP
YmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGQoYW55LCBhbnkpIAorUEFTUyBJREJP
YmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGUoYW55KSAKK1BBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xlYXIoKSAKK1BBU1MgSURCT2JqZWN0U3Rv
cmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0KGFueSkgCitQQVNTIElEQk9iamVjdFN0b3JlIGlu
dGVyZmFjZTogb3BlcmF0aW9uIGdldEtleShhbnkpIAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBnZXRBbGwoYW55LCB1bnNpZ25lZCBsb25nKSAKK1BBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsS2V5cyhhbnksIHVuc2lnbmVkIGxv
bmcpIAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb3VudChhbnkp
IAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuQ3Vyc29yKGFu
eSwgSURCQ3Vyc29yRGlyZWN0aW9uKSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBv
cGVyYXRpb24gb3BlbktleUN1cnNvcihhbnksIElEQkN1cnNvckRpcmVjdGlvbikgCitQQVNTIElE
Qk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGluZGV4KERPTVN0cmluZykgCitQQVNT
IElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZUluZGV4KERPTVN0cmlu
ZywgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSwgSURCSW5kZXhQYXJhbWV0ZXJzKSAK
K1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlSW5kZXgoRE9N
U3RyaW5nKSAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGggCitQQVNTIElEQkluZGV4IGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgSURCSW5k
ZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QgCitQQVNTIElEQkluZGV4IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAor
UEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAorUEFTUyBJREJJbmRleCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvYmplY3RTdG9yZSAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNl
OiBhdHRyaWJ1dGUga2V5UGF0aCAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
bXVsdGlFbnRyeSAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdW5pcXVlIAor
UEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXQoYW55KSAKK1BBU1MgSURCSW5k
ZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0S2V5KGFueSkgCitQQVNTIElEQkluZGV4IGludGVy
ZmFjZTogb3BlcmF0aW9uIGdldEFsbChhbnksIHVuc2lnbmVkIGxvbmcpIAorUEFTUyBJREJJbmRl
eCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRBbGxLZXlzKGFueSwgdW5zaWduZWQgbG9uZykgCitQ
QVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGNvdW50KGFueSkgCitQQVNTIElEQklu
ZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5DdXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rp
b24pIAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuS2V5Q3Vyc29yKGFu
eSwgSURCQ3Vyc29yRGlyZWN0aW9uKSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgSURCS2V5UmFu
Z2UgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZSBv
YmplY3QgbmFtZSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIElEQktleVJhbmdl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBsb3dlciAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgdXBwZXIgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogYXR0cmlidXRlIGxvd2VyT3Bl
biAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdXBwZXJPcGVuIAorUEFT
UyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvbmx5KGFueSkgCitQQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGxvd2VyQm91bmQoYW55LCBib29sZWFuKSAKK1BB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdXBwZXJCb3VuZChhbnksIGJvb2xl
YW4pIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBib3VuZChhbnksIGFu
eSwgYm9vbGVhbiwgYm9vbGVhbikgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0
aW9uIGluY2x1ZGVzKGFueSkgCitQQVNTIElEQktleVJhbmdlIG11c3QgYmUgcHJpbWFyeSBpbnRl
cmZhY2Ugb2YgW29iamVjdCBJREJLZXlSYW5nZV0gCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBb
b2JqZWN0IElEQktleVJhbmdlXSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0
IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd2VyIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdl
XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwcGVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImxvd2VyT3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJ1cHBlck9wZW4iIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJLZXlSYW5nZSBp
bnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25s
eShhbnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNl
OiBjYWxsaW5nIG9ubHkoYW55KSBvbiBbb2JqZWN0IElEQktleVJhbmdlXSB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXJCb3Vu
ZChhbnksIGJvb2xlYW4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCS2V5UmFuZ2Ug
aW50ZXJmYWNlOiBjYWxsaW5nIGxvd2VyQm91bmQoYW55LCBib29sZWFuKSBvbiBbb2JqZWN0IElE
QktleVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAor
UEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAidXBwZXJCb3VuZChhbnksIGJvb2xlYW4pIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIHVwcGVyQm91bmQoYW55
LCBib29sZWFuKSBvbiBbb2JqZWN0IElEQktleVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmpl
Y3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYm91bmQoYW55LCBhbnksIGJv
b2xlYW4sIGJvb2xlYW4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCS2V5UmFuZ2Ug
aW50ZXJmYWNlOiBjYWxsaW5nIGJvdW5kKGFueSwgYW55LCBib29sZWFuLCBib29sZWFuKSBvbiBb
b2JqZWN0IElEQktleVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2Vd
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaW5jbHVkZXMoYW55KSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogY2FsbGluZyBpbmNsdWRlcyhhbnkpIG9u
IFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGggCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElE
QkN1cnNvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIHNvdXJjZSAKK1BBU1Mg
SURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIGRpcmVjdGlvbiAKK1BBU1MgSURCQ3Vyc29y
IGludGVyZmFjZTogYXR0cmlidXRlIGtleSAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0
cmlidXRlIHByaW1hcnlLZXkgCitGQUlMIElEQkN1cnNvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBy
ZXF1ZXN0IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9w
ZXJ0eSAicmVxdWVzdCIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgSURCQ3Vyc29yIGlu
dGVyZmFjZTogb3BlcmF0aW9uIGFkdmFuY2UodW5zaWduZWQgbG9uZykgCitQQVNTIElEQkN1cnNv
ciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb250aW51ZShhbnkpIAorUEFTUyBJREJDdXJzb3IgaW50
ZXJmYWNlOiBvcGVyYXRpb24gY29udGludWVQcmltYXJ5S2V5KGFueSwgYW55KSAKK1BBU1MgSURC
Q3Vyc29yIGludGVyZmFjZTogb3BlcmF0aW9uIHVwZGF0ZShhbnkpIAorUEFTUyBJREJDdXJzb3Ig
aW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlKCkgCitQQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAor
UEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIElE
QkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElEQkN1cnNvcldp
dGhWYWx1ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCAKK1BBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNv
bnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFj
ZTogYXR0cmlidXRlIHZhbHVlIAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJUcmFuc2Fj
dGlvbiBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJm
YWNlIG9iamVjdCBuYW1lIAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgSURC
VHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBJREJU
cmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElEQlRy
YW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9iamVjdFN0b3JlTmFtZXMgCitQQVNTIElE
QlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG1vZGUgCitQQVNTIElEQlRyYW5zYWN0
aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGRiIAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBlcnJvciAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVy
YXRpb24gb2JqZWN0U3RvcmUoRE9NU3RyaW5nKSAKK0ZBSUwgSURCVHJhbnNhY3Rpb24gaW50ZXJm
YWNlOiBvcGVyYXRpb24gY29tbWl0KCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9w
ZXJ0eSAiY29tbWl0IiBtaXNzaW5nCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3Bl
cmF0aW9uIGFib3J0KCkgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRl
IG9uYWJvcnQgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uY29t
cGxldGUgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uZXJyb3Ig
CitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBpbmRleGVkREIgCitQQVNTIFdvcmtl
ckdsb2JhbFNjb3BlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFy
bmVzcy5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJL
aXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkbGhhcm5lc3MuYW55LmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQgQEAKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csd29ya2Vy
CisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNj
cmlwdD0vcmVzb3VyY2VzL2lkbGhhcm5lc3MuanMKKworaWRsX3Rlc3QoCisgIFsnSW5kZXhlZERC
J10sCisgIFsnaHRtbCcsICdkb20nXSwKKyAgaWRsX2FycmF5ID0+IHsKKyAgICBpZGxfYXJyYXku
YWRkX29iamVjdHMoeworICAgICAgSURCQ3Vyc29yOiBbXSwKKyAgICAgIElEQkN1cnNvcldpdGhW
YWx1ZTogW10sCisgICAgICBJREJEYXRhYmFzZTogW10sCisgICAgICBJREJGYWN0b3J5OiBbc2Vs
Zi5pbmRleGVkREJdLAorICAgICAgSURCSW5kZXg6IFtdLAorICAgICAgSURCS2V5UmFuZ2U6IFtJ
REJLZXlSYW5nZS5vbmx5KDApXSwKKyAgICAgIElEQk9iamVjdFN0b3JlOiBbXSwKKyAgICAgIElE
Qk9wZW5EQlJlcXVlc3Q6IFtdLAorICAgICAgSURCUmVxdWVzdDogW10sCisgICAgICBJREJUcmFu
c2FjdGlvbjogW10sCisgICAgICBJREJWZXJzaW9uQ2hhbmdlRXZlbnQ6IFsnbmV3IElEQlZlcnNp
b25DaGFuZ2VFdmVudCgidHlwZSIpJ10sCisgICAgICBET01TdHJpbmdMaXN0OiBbXSwKKyAgICB9
KTsKKyAgfQorKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTg4IEBACisKK1BBU1MgaWRsX3Rlc3Qgc2V0dXAgCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNl
IG1peGluIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGU6IG9yaWdpbmFsIGludGVyZmFjZSBtaXhp
biBkZWZpbmVkIAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFT
UyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJs
ZXMgcHJvcGVydHkgCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVzdWx0
IAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAorUEFTUyBJREJS
ZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIHNvdXJjZSAKK1BBU1MgSURCUmVxdWVzdCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSB0cmFuc2FjdGlvbiAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSByZWFkeVN0YXRlIAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmli
dXRlIG9uc3VjY2VzcyAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVy
cm9yIAorUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggCitQQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIAorUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJPcGVuREJS
ZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURCT3BlbkRC
UmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElEQk9wZW5E
QlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25ibG9ja2VkIAorUEFTUyBJREJPcGVuREJS
ZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9udXBncmFkZW5lZWRlZCAKK1BBU1MgSURCVmVy
c2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCitQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCAKK1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3Qg
bmFtZSAKK1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJWZXJz
aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBJ
REJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAor
UEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2xkVmVyc2lv
biAKK1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG5ld1Zl
cnNpb24gCitQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJm
YWNlIG9mIG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoInR5cGUiKSAKK1BBU1MgU3RyaW5naWZp
Y2F0aW9uIG9mIG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoInR5cGUiKSAKK1BBU1MgSURCVmVy
c2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgidHlw
ZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib2xkVmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBJREJWZXJzaW9u
Q2hhbmdlRXZlbnQoInR5cGUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5ld1ZlcnNpb24iIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQkZhY3RvcnkgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlIG9iamVjdCBu
YW1lIAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBA
dW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRp
b24gb3BlbihET01TdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykgCitQQVNTIElEQkZhY3Rvcnkg
aW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlRGF0YWJhc2UoRE9NU3RyaW5nKSAKK0ZBSUwgSURC
RmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkYXRhYmFzZXMoKSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0
aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJkYXRhYmFzZXMiIG1pc3NpbmcKK1BBU1MgSURCRmFjdG9y
eSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbXAoYW55LCBhbnkpIAorUEFTUyBJREJGYWN0b3J5IG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgW29iamVjdCBJREJGYWN0b3J5XSAKK1BBU1MgU3Ry
aW5naWZpY2F0aW9uIG9mIFtvYmplY3QgSURCRmFjdG9yeV0gCitQQVNTIElEQkZhY3RvcnkgaW50
ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3BlbihE
T01TdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFT
UyBJREJGYWN0b3J5IGludGVyZmFjZTogY2FsbGluZyBvcGVuKERPTVN0cmluZywgdW5zaWduZWQg
bG9uZyBsb25nKSBvbiBbb2JqZWN0IElEQkZhY3RvcnldIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0
IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVsZXRlRGF0YWJhc2UoRE9NU3Ry
aW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBj
YWxsaW5nIGRlbGV0ZURhdGFiYXNlKERPTVN0cmluZykgb24gW29iamVjdCBJREJGYWN0b3J5XSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorRkFJTCBJREJGYWN0
b3J5IGludGVyZmFjZTogW29iamVjdCBJREJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImRhdGFiYXNlcygpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3Bl
cnR5ICJkYXRhYmFzZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgSURCRmFj
dG9yeSBpbnRlcmZhY2U6IFtvYmplY3QgSURCRmFjdG9yeV0gbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJjbXAoYW55LCBhbnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCRmFjdG9yeSBp
bnRlcmZhY2U6IGNhbGxpbmcgY21wKGFueSwgYW55KSBvbiBbb2JqZWN0IElEQkZhY3RvcnldIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIElEQkRhdGFi
YXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCitQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJE
YXRhYmFzZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElEQkRhdGFiYXNlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQ
QVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1Mg
SURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKK1BBU1MgSURCRGF0YWJhc2Ug
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmVyc2lvbiAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1lcyAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNl
OiBvcGVyYXRpb24gdHJhbnNhY3Rpb24oW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSwg
SURCVHJhbnNhY3Rpb25Nb2RlKSAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRp
b24gY2xvc2UoKSAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRl
T2JqZWN0U3RvcmUoRE9NU3RyaW5nLCBJREJPYmplY3RTdG9yZVBhcmFtZXRlcnMpIAorUEFTUyBJ
REJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVPYmplY3RTdG9yZShET01TdHJp
bmcpIAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0IAorUEFT
UyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNsb3NlIAorUEFTUyBJREJEYXRh
YmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAorUEFTUyBJREJEYXRhYmFzZSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbnZlcnNpb25jaGFuZ2UgCitQQVNTIElEQk9iamVjdFN0b3JlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQ
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJPYmpl
Y3RTdG9yZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0
eSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKK1BBU1Mg
SURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5UGF0aCAKK1BBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5kZXhOYW1lcyAKK1BBU1MgSURCT2JqZWN0
U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdHJhbnNhY3Rpb24gCitQQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGF1dG9JbmNyZW1lbnQgCitQQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIHB1dChhbnksIGFueSkgCitQQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGFkZChhbnksIGFueSkgCitQQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZShhbnkpIAorUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbGVhcigpIAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBnZXQoYW55KSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNl
OiBvcGVyYXRpb24gZ2V0S2V5KGFueSkgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTog
b3BlcmF0aW9uIGdldEFsbChhbnksIHVuc2lnbmVkIGxvbmcpIAorUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRBbGxLZXlzKGFueSwgdW5zaWduZWQgbG9uZykgCitQ
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGNvdW50KGFueSkgCitQQVNT
IElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5DdXJzb3IoYW55LCBJREJD
dXJzb3JEaXJlY3Rpb24pIAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBvcGVuS2V5Q3Vyc29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9uKSAKK1BBU1MgSURCT2JqZWN0
U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5kZXgoRE9NU3RyaW5nKSAKK1BBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlSW5kZXgoRE9NU3RyaW5nLCBbb2Jq
ZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdLCBJREJJbmRleFBhcmFtZXRlcnMpIAorUEFTUyBJ
REJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVJbmRleChET01TdHJpbmcp
IAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
K1BBU1MgSURCSW5kZXggaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBJREJJbmRleCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAor
UEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElE
QkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCitQQVNTIElEQkluZGV4IGludGVyZmFj
ZTogYXR0cmlidXRlIG9iamVjdFN0b3JlIAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBrZXlQYXRoIAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtdWx0aUVu
dHJ5IAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1bmlxdWUgCitQQVNTIElE
QkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGdldChhbnkpIAorUEFTUyBJREJJbmRleCBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBnZXRLZXkoYW55KSAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBv
cGVyYXRpb24gZ2V0QWxsKGFueSwgdW5zaWduZWQgbG9uZykgCitQQVNTIElEQkluZGV4IGludGVy
ZmFjZTogb3BlcmF0aW9uIGdldEFsbEtleXMoYW55LCB1bnNpZ25lZCBsb25nKSAKK1BBU1MgSURC
SW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gY291bnQoYW55KSAKK1BBU1MgSURCSW5kZXggaW50
ZXJmYWNlOiBvcGVyYXRpb24gb3BlbkN1cnNvcihhbnksIElEQkN1cnNvckRpcmVjdGlvbikgCitQ
QVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5LZXlDdXJzb3IoYW55LCBJREJD
dXJzb3JEaXJlY3Rpb24pIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJLZXlSYW5nZSBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlIG9iamVjdCBu
YW1lIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogYXR0
cmlidXRlIGxvd2VyIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1cHBl
ciAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG93ZXJPcGVuIAorUEFT
UyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1cHBlck9wZW4gCitQQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIG9ubHkoYW55KSAKK1BBU1MgSURCS2V5UmFuZ2Ug
aW50ZXJmYWNlOiBvcGVyYXRpb24gbG93ZXJCb3VuZChhbnksIGJvb2xlYW4pIAorUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1cHBlckJvdW5kKGFueSwgYm9vbGVhbikgCitQ
QVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGJvdW5kKGFueSwgYW55LCBib29s
ZWFuLCBib29sZWFuKSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5j
bHVkZXMoYW55KSAKK1BBU1MgSURCS2V5UmFuZ2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBv
ZiBbb2JqZWN0IElEQktleVJhbmdlXSAKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3Qg
SURCS2V5UmFuZ2VdIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5
UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXIiIHdpdGggdGhlIHByb3BlciB0eXBl
IAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAidXBwZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAibG93ZXJPcGVuIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCS2V5UmFuZ2Ug
aW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVw
cGVyT3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmx5KGFueSki
IHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxp
bmcgb25seShhbnkpIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVu
dHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29i
amVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dlckJvdW5kKGFueSwg
Ym9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IGNhbGxpbmcgbG93ZXJCb3VuZChhbnksIGJvb2xlYW4pIG9uIFtvYmplY3QgSURCS2V5UmFu
Z2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIElE
QktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJ1cHBlckJvdW5kKGFueSwgYm9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAor
UEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgdXBwZXJCb3VuZChhbnksIGJvb2xl
YW4pIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJL
ZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJib3VuZChhbnksIGFueSwgYm9vbGVhbiwg
Ym9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IGNhbGxpbmcgYm91bmQoYW55LCBhbnksIGJvb2xlYW4sIGJvb2xlYW4pIG9uIFtvYmplY3Qg
SURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJpbmNsdWRlcyhhbnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIGluY2x1ZGVzKGFueSkgb24gW29iamVj
dCBJREJLZXlSYW5nZV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgSURCQ3Vyc29y
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IAorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IAorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAor
UEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc291cmNlIAorUEFTUyBJREJDdXJz
b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGlyZWN0aW9uIAorUEFTUyBJREJDdXJzb3IgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUga2V5IAorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
cHJpbWFyeUtleSAKK0ZBSUwgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIHJlcXVlc3Qg
YXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJy
ZXF1ZXN0IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNl
OiBvcGVyYXRpb24gYWR2YW5jZSh1bnNpZ25lZCBsb25nKSAKK1BBU1MgSURCQ3Vyc29yIGludGVy
ZmFjZTogb3BlcmF0aW9uIGNvbnRpbnVlKGFueSkgCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBjb250aW51ZVByaW1hcnlLZXkoYW55LCBhbnkpIAorUEFTUyBJREJDdXJzb3Ig
aW50ZXJmYWNlOiBvcGVyYXRpb24gdXBkYXRlKGFueSkgCitQQVNTIElEQkN1cnNvciBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBkZWxldGUoKSAKK1BBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElE
QkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgSURCQ3Vyc29y
V2l0aFZhbHVlIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgSURCQ3Vyc29yV2l0aFZhbHVl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IAorUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5IAorUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IAorUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgdmFsdWUgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQlRyYW5zYWN0aW9uIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJUcmFuc2Fj
dGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIElEQlRyYW5zYWN0
aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgSURCVHJhbnNhY3Rp
b24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1lcyAKK1BBU1MgSURCVHJhbnNh
Y3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbW9kZSAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgZGIgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIGVycm9yIAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBv
YmplY3RTdG9yZShET01TdHJpbmcpIAorRkFJTCBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBjb21taXQoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJj
b21taXQiIG1pc3NpbmcKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24g
YWJvcnQoKSAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9y
dCAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb21wbGV0ZSAK
K1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogYXR0cmlidXRlIGluZGV4
ZWREQiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFy
bmVzcy5hbnkud29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2Vy
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVx
dWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVk
IHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnkt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMuYW55LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDE4NiArMSwxOCBAQAotCi1QQVNTIFRlc3QgZHJpdmVyIAotUEFTUyBQYXJ0aWFsIGlu
dGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlOiBvcmlnaW5hbCBpbnRlcmZh
Y2UgbWl4aW4gZGVmaW5lZCAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJSZXF1ZXN0IGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZSBvYmplY3QgbmFt
ZSAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRl
IHJlc3VsdCAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBlcnJvciAKLVBB
U1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzb3VyY2UgCi1QQVNTIElEQlJlcXVl
c3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdHJhbnNhY3Rpb24gCi1QQVNTIElEQlJlcXVlc3QgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgcmVhZHlTdGF0ZSAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbnN1Y2Nlc3MgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25lcnJvciAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJPcGVuREJSZXF1ZXN0
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFj
ZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURC
T3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElE
Qk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJ
REJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmxvY2tlZCAKLVBBU1MgSURC
T3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnVwZ3JhZGVuZWVkZWQgCi1QQVNT
IElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1Mg
SURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAK
LVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9s
ZFZlcnNpb24gCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBuZXdWZXJzaW9uIAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VFdmVudF0gCi1QQVNTIFN0cmlu
Z2lmaWNhdGlvbiBvZiBbb2JqZWN0IElEQlZlcnNpb25DaGFuZ2VFdmVudF0gCi1QQVNTIElEQlZl
cnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IFtvYmplY3QgSURCVmVyc2lvbkNoYW5nZUV2ZW50
XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9sZFZlcnNpb24iIHdpdGggdGhlIHByb3BlciB0eXBl
IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBbb2JqZWN0IElEQlZlcnNp
b25DaGFuZ2VFdmVudF0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJuZXdWZXJzaW9uIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZSBvYmplY3QgbmFtZSAK
LVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogb3BlcmF0aW9uIG9w
ZW4oRE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmcpIAotUEFTUyBJREJGYWN0b3J5IGludGVy
ZmFjZTogb3BlcmF0aW9uIGRlbGV0ZURhdGFiYXNlKERPTVN0cmluZykgCi1GQUlMIElEQkZhY3Rv
cnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGF0YWJhc2VzKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBl
eHBlY3RlZCBwcm9wZXJ0eSAiZGF0YWJhc2VzIiBtaXNzaW5nCi1QQVNTIElEQkZhY3RvcnkgaW50
ZXJmYWNlOiBvcGVyYXRpb24gY21wKGFueSwgYW55KSAKLVBBU1MgSURCRmFjdG9yeSBtdXN0IGJl
IHByaW1hcnkgaW50ZXJmYWNlIG9mIFtvYmplY3QgSURCRmFjdG9yeV0gCi1QQVNTIFN0cmluZ2lm
aWNhdGlvbiBvZiBbb2JqZWN0IElEQkZhY3RvcnldIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFj
ZTogW29iamVjdCBJREJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9wZW4oRE9NU3Ry
aW5nLCB1bnNpZ25lZCBsb25nIGxvbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURC
RmFjdG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcgb3BlbihET01TdHJpbmcsIHVuc2lnbmVkIGxvbmcg
bG9uZykgb24gW29iamVjdCBJREJGYWN0b3J5XSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3Qg
dGhyb3cgVHlwZUVycm9yIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogW29iamVjdCBJREJG
YWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlbGV0ZURhdGFiYXNlKERPTVN0cmluZyki
IHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogY2FsbGlu
ZyBkZWxldGVEYXRhYmFzZShET01TdHJpbmcpIG9uIFtvYmplY3QgSURCRmFjdG9yeV0gd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLUZBSUwgSURCRmFjdG9yeSBp
bnRlcmZhY2U6IFtvYmplY3QgSURCRmFjdG9yeV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkYXRh
YmFzZXMoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAi
ZGF0YWJhc2VzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1QQVNTIElEQkZhY3Rvcnkg
aW50ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY21w
KGFueSwgYW55KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJm
YWNlOiBjYWxsaW5nIGNtcChhbnksIGFueSkgb24gW29iamVjdCBJREJGYWN0b3J5XSB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBJREJEYXRhYmFzZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAot
UEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCRGF0YWJh
c2UgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBB
U1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJ
REJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQkRh
dGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCi1QQVNTIElEQkRhdGFiYXNlIGludGVy
ZmFjZTogYXR0cmlidXRlIHZlcnNpb24gCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogYXR0
cmlidXRlIG9iamVjdFN0b3JlTmFtZXMgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogb3Bl
cmF0aW9uIHRyYW5zYWN0aW9uKFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0sIElEQlRy
YW5zYWN0aW9uTW9kZSkgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogb3BlcmF0aW9uIGNs
b3NlKCkgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZU9iamVj
dFN0b3JlKERPTVN0cmluZywgSURCT2JqZWN0U3RvcmVQYXJhbWV0ZXJzKSAKLVBBU1MgSURCRGF0
YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlT2JqZWN0U3RvcmUoRE9NU3RyaW5nKSAK
LVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydCAKLVBBU1MgSURC
RGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jbG9zZSAKLVBBU1MgSURCRGF0YWJhc2Ug
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb252ZXJzaW9uY2hhbmdlIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJ
REJPYmplY3RTdG9yZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCT2JqZWN0U3Rv
cmUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAK
LVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAot
UEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1Q
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCi1QQVNTIElEQk9i
amVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGtleVBhdGggCi1QQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGluZGV4TmFtZXMgCi1QQVNTIElEQk9iamVjdFN0b3Jl
IGludGVyZmFjZTogYXR0cmlidXRlIHRyYW5zYWN0aW9uIAotUEFTUyBJREJPYmplY3RTdG9yZSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBhdXRvSW5jcmVtZW50IAotUEFTUyBJREJPYmplY3RTdG9yZSBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBwdXQoYW55LCBhbnkpIAotUEFTUyBJREJPYmplY3RTdG9yZSBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBhZGQoYW55LCBhbnkpIAotUEFTUyBJREJPYmplY3RTdG9yZSBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGUoYW55KSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50
ZXJmYWNlOiBvcGVyYXRpb24gY2xlYXIoKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNl
OiBvcGVyYXRpb24gZ2V0KGFueSkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3Bl
cmF0aW9uIGdldEtleShhbnkpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBnZXRBbGwoYW55LCB1bnNpZ25lZCBsb25nKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50
ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsS2V5cyhhbnksIHVuc2lnbmVkIGxvbmcpIAotUEFTUyBJ
REJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb3VudChhbnkpIAotUEFTUyBJREJP
YmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuQ3Vyc29yKGFueSwgSURCQ3Vyc29y
RGlyZWN0aW9uKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gb3Bl
bktleUN1cnNvcihhbnksIElEQkN1cnNvckRpcmVjdGlvbikgCi1QQVNTIElEQk9iamVjdFN0b3Jl
IGludGVyZmFjZTogb3BlcmF0aW9uIGluZGV4KERPTVN0cmluZykgCi1QQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZUluZGV4KERPTVN0cmluZywgW29iamVjdCBP
YmplY3RdLFtvYmplY3QgT2JqZWN0XSwgSURCSW5kZXhQYXJhbWV0ZXJzKSAKLVBBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlSW5kZXgoRE9NU3RyaW5nKSAKLVBB
U1MgSURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNT
IElEQkluZGV4IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
Ci1QQVNTIElEQkluZGV4IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1Mg
SURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJJbmRl
eCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvYmplY3RTdG9yZSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
a2V5UGF0aCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbXVsdGlFbnRyeSAK
LVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdW5pcXVlIAotUEFTUyBJREJJbmRl
eCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXQoYW55KSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNl
OiBvcGVyYXRpb24gZ2V0S2V5KGFueSkgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0
aW9uIGdldEFsbChhbnksIHVuc2lnbmVkIGxvbmcpIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBnZXRBbGxLZXlzKGFueSwgdW5zaWduZWQgbG9uZykgCi1QQVNTIElEQkluZGV4
IGludGVyZmFjZTogb3BlcmF0aW9uIGNvdW50KGFueSkgCi1QQVNTIElEQkluZGV4IGludGVyZmFj
ZTogb3BlcmF0aW9uIG9wZW5DdXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rpb24pIAotUEFTUyBJ
REJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuS2V5Q3Vyc29yKGFueSwgSURCQ3Vyc29y
RGlyZWN0aW9uKSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGggCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZSBvYmplY3QgbmFtZSAK
LVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBsb3dlciAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdXBwZXIgCi1Q
QVNTIElEQktleVJhbmdlIGludGVyZmFjZTogYXR0cmlidXRlIGxvd2VyT3BlbiAKLVBBU1MgSURC
S2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdXBwZXJPcGVuIAotUEFTUyBJREJLZXlSYW5n
ZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvbmx5KGFueSkgCi1QQVNTIElEQktleVJhbmdlIGludGVy
ZmFjZTogb3BlcmF0aW9uIGxvd2VyQm91bmQoYW55LCBib29sZWFuKSAKLVBBU1MgSURCS2V5UmFu
Z2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdXBwZXJCb3VuZChhbnksIGJvb2xlYW4pIAotUEFTUyBJ
REJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBib3VuZChhbnksIGFueSwgYm9vbGVhbiwg
Ym9vbGVhbikgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGluY2x1ZGVz
KGFueSkgCi1QQVNTIElEQktleVJhbmdlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgW29i
amVjdCBJREJLZXlSYW5nZV0gCi1QQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBbb2JqZWN0IElEQktl
eVJhbmdlXSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdl
XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd2VyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInVwcGVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFu
Z2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Imxvd2VyT3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVy
ZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cHBlck9w
ZW4iIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtv
YmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25seShhbnkpIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIG9u
bHkoYW55KSBvbiBbb2JqZWN0IElEQktleVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11
c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3Qg
SURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXJCb3VuZChhbnksIGJvb2xl
YW4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBj
YWxsaW5nIGxvd2VyQm91bmQoYW55LCBib29sZWFuKSBvbiBbb2JqZWN0IElEQktleVJhbmdlXSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBJREJLZXlS
YW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAidXBwZXJCb3VuZChhbnksIGJvb2xlYW4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1Mg
SURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIHVwcGVyQm91bmQoYW55LCBib29sZWFuKSBv
biBbb2JqZWN0IElEQktleVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cg
VHlwZUVycm9yIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFu
Z2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYm91bmQoYW55LCBhbnksIGJvb2xlYW4sIGJvb2xl
YW4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBj
YWxsaW5nIGJvdW5kKGFueSwgYW55LCBib29sZWFuLCBib29sZWFuKSBvbiBbb2JqZWN0IElEQktl
eVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFT
UyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiaW5jbHVkZXMoYW55KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElE
QktleVJhbmdlIGludGVyZmFjZTogY2FsbGluZyBpbmNsdWRlcyhhbnkpIG9uIFtvYmplY3QgSURC
S2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1Q
QVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2Ugb2JqZWN0IAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1Q
QVNTIElEQkN1cnNvciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQkN1cnNvciBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAK
LVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1Mg
SURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIHNvdXJjZSAKLVBBU1MgSURCQ3Vyc29yIGlu
dGVyZmFjZTogYXR0cmlidXRlIGRpcmVjdGlvbiAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTog
YXR0cmlidXRlIGtleSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIHByaW1h
cnlLZXkgCi1GQUlMIElEQkN1cnNvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZXF1ZXN0IGFzc2Vy
dF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAicmVxdWVz
dCIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogb3Bl
cmF0aW9uIGFkdmFuY2UodW5zaWduZWQgbG9uZykgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBjb250aW51ZShhbnkpIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBvcGVy
YXRpb24gY29udGludWVQcmltYXJ5S2V5KGFueSwgYW55KSAKLVBBU1MgSURCQ3Vyc29yIGludGVy
ZmFjZTogb3BlcmF0aW9uIHVwZGF0ZShhbnkpIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBv
cGVyYXRpb24gZGVsZXRlKCkgCi1QQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJDdXJz
b3JXaXRoVmFsdWUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQkN1cnNvcldpdGhW
YWx1ZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogYXR0cmlidXRl
IHZhbHVlIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlIG9iamVjdCBu
YW1lIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCVHJhbnNhY3Rpb24g
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJUcmFuc2FjdGlvbiBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9iamVjdFN0b3JlTmFtZXMgCi1QQVNTIElEQlRyYW5zYWN0aW9u
IGludGVyZmFjZTogYXR0cmlidXRlIG1vZGUgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFj
ZTogYXR0cmlidXRlIGRiIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBlcnJvciAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gb2JqZWN0
U3RvcmUoRE9NU3RyaW5nKSAKLUZBSUwgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRp
b24gY29tbWl0KCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiY29tbWl0
IiBtaXNzaW5nCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGFib3J0
KCkgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uYWJvcnQgCi1Q
QVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uY29tcGxldGUgCi1QQVNT
IElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uZXJyb3IgCi0KK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
NzkKKyAgICAgIFJlbmRlckJsb2NrIHtQUkV9IGF0ICgwLDApIHNpemUgNzg0eDE2NQorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NzN4MTY1CisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggNTA4OiAie1wiZXJyb3JcIjoge1wibWVzc2FnZVwiOiBcIlRy
YWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcXG4gIEZpbGUiCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMTUpIHdpZHRoIDQ2OTogIlxcXCIvVXNlcnMvYWRtaW4vV2ViS2l0L0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tIgorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDMwKSB3aWR0aCA3NDI6ICJ0ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9oYW5kbGVy
cy5weVxcXCIsIGxpbmUgMzEyLCBpbiBfX2NhbGxfX1xcbiAgICBydiA9IHNlbGYuZnVuYyhyZXF1
ZXN0LCIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0NSkgd2lkdGggNjA5OiAicmVzcG9uc2Up
XFxuICBGaWxlIFxcXCIvVXNlcnMvYWRtaW4vV2ViS2l0L0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYwKSB3aWR0aCA3NjU6
ICJ0ZXN0cy90b29scy9zZXJ2ZS9zZXJ2ZS5weVxcXCIsIGxpbmUgNjEsIGluIGhhbmRsZV9yZXF1
ZXN0XFxuICAgIHNlbGYuY2hlY2tfZXhwb3N1cmUocmVxdWVzdClcXG4gIEZpbGUiCisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsNzUpIHdpZHRoIDc3MzogIlxcXCIvVXNlcnMvYWRtaW4vV2ViS2l0
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2VydmUv
c2VydmUucHlcXFwiLCBsaW5lIDE2MiwiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsOTApIHdp
ZHRoIDYxNzogImluIGNoZWNrX2V4cG9zdXJlXFxuICAgIGZvciAoa2V5LCB2YWx1ZSkgaW4gc2Vs
Zi5fZ2V0X21ldGFkYXRhKHJlcXVlc3QpOlxcbiAgRmlsZSIKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwxMDUpIHdpZHRoIDc3MzogIlxcXCIvVXNlcnMvYWRtaW4vV2ViS2l0L0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2VydmUvc2VydmUucHlcXFwi
LCBsaW5lIDEwMywiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTIwKSB3aWR0aCA3NjU6ICJp
biBfZ2V0X21ldGFkYXRhXFxuICAgIHdpdGggb3BlbihwYXRoLCBcXFwicmJcXFwiKSBhcyBmOlxc
bklPRXJyb3I6IFtFcnJubyAyXSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5OiIKKyAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwxMzUpIHdpZHRoIDc1NzogIicvVXNlcnMvYWRtaW4vV2ViS2l0L0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVy
ZmFjZXMuYW55LmpzJ1xcblwiLCIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNTApIHdpZHRo
IDEwMjogIlwiY29kZVwiOiA1MDB9fSIKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMuYW55LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2ludGVyZmFjZXMuYW55LmpzCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2VzLmFueS5qcwko
bm9uZXhpc3RlbnQpCkBAIC0xLDMxICswLDAgQEAKLS8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2Vz
L1dlYklETFBhcnNlci5qcwotLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvaWRsaGFybmVzcy5q
cwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gIGNvbnN0IFtodG1sLCBkb20sIGluZGV4
ZWRkYl0gPSBhd2FpdCBQcm9taXNlLmFsbChbCi0gICAgJy9pbnRlcmZhY2VzL2h0bWwuaWRsJywK
LSAgICAnL2ludGVyZmFjZXMvZG9tLmlkbCcsCi0gICAgJy9pbnRlcmZhY2VzL0luZGV4ZWREQi5p
ZGwnLAotICBdLm1hcCh1cmwgPT4gZmV0Y2godXJsKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNl
LnRleHQoKSkpKTsKLQotICBjb25zdCBpZGxfYXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLSAgaWRs
X2FycmF5LmFkZF91bnRlc3RlZF9pZGxzKGh0bWwsIHsgb25seTogWydXaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlJ10gfSk7Ci0gIGlkbF9hcnJheS5hZGRfdW50ZXN0ZWRfaWRscyhkb20pOwotICBp
ZGxfYXJyYXkuYWRkX2lkbHMoaW5kZXhlZGRiKTsKLSAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsK
LSAgICBJREJDdXJzb3I6IFtdLAotICAgIElEQkN1cnNvcldpdGhWYWx1ZTogW10sCi0gICAgSURC
RGF0YWJhc2U6IFtdLAotICAgIElEQkZhY3Rvcnk6IFtzZWxmLmluZGV4ZWREQl0sCi0gICAgSURC
SW5kZXg6IFtdLAotICAgIElEQktleVJhbmdlOiBbSURCS2V5UmFuZ2Uub25seSgwKV0sCi0gICAg
SURCT2JqZWN0U3RvcmU6IFtdLAotICAgIElEQk9wZW5EQlJlcXVlc3Q6IFtdLAotICAgIElEQlJl
cXVlc3Q6IFtdLAotICAgIElEQlRyYW5zYWN0aW9uOiBbXSwKLSAgICBJREJWZXJzaW9uQ2hhbmdl
RXZlbnQ6IFtuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50KCcnKV0sCi0gICAgRE9NU3RyaW5nTGlz
dDogW10sCi0gIH0pOwotCi0gIGlkbF9hcnJheS50ZXN0KCk7Ci19LCAnVGVzdCBkcml2ZXInKTsK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2ludGVyZmFjZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJm
YWNlcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNl
cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyMTcgKzEsMTgg
QEAKLQotUEFTUyBUZXN0IGRyaXZlciAKLVBBU1MgUGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZTogb3JpZ2luYWwgaW50ZXJmYWNlIG1peGluIGRlZmluZWQg
Ci1QQVNTIEV2ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgTm9kZUxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSFRNTENvbGxlY3Rpb24g
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
LVBBU1MgTXV0YXRpb25PYnNlcnZlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBNdXRhdGlvblJlY29yZCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBOb2RlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1Q
QVNTIERvY3VtZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCi1QQVNTIFhNTERvY3VtZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIERPTUltcGxlbWVudGF0aW9uIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1Q
QVNTIERvY3VtZW50VHlwZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFNoYWRvd1Jvb3Qg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
LVBBU1MgRWxlbWVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2Ugb2JqZWN0IAotUEFTUyBOYW1lZE5vZGVNYXAgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgQXR0ciBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBDaGFyYWN0
ZXJEYXRhIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgCi1QQVNTIFRleHQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgQ0RBVEFTZWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFByb2Nlc3NpbmdJbnN0
cnVjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAotUEFTUyBDb21tZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIEFic3RyYWN0UmFuZ2UgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgU3RhdGljUmFu
Z2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKLVBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdCAKLVBBU1MgTm9kZUl0ZXJhdG9yIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFRyZWVXYWxrZXIgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1Mg
Tm9kZUZpbHRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAotUEFTUyBET01Ub2tlbkxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgWFBhdGhSZXN1bHQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgWFBh
dGhFeHByZXNzaW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCi1QQVNTIFhQYXRoTlNSZXNvbHZlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBYUGF0aEV2YWx1YXRvciBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAot
UEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
Ci1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJSZXF1ZXN0
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
Ci1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVzdWx0IAotUEFTUyBJREJS
ZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAotUEFTUyBJREJSZXF1ZXN0IGludGVy
ZmFjZTogYXR0cmlidXRlIHNvdXJjZSAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSB0cmFuc2FjdGlvbiAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBy
ZWFkeVN0YXRlIAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3VjY2Vz
cyAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAotUEFTUyBJ
REJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGggCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFT
UyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25ibG9ja2VkIAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVy
ZmFjZTogYXR0cmlidXRlIG9udXBncmFkZW5lZWRlZCAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2
ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
LVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1Mg
SURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZl
bnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJWZXJzaW9uQ2hh
bmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJWZXJz
aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2xkVmVyc2lvbiAKLVBBU1MgSURC
VmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG5ld1ZlcnNpb24gCi1QQVNT
IElEQlZlcnNpb25DaGFuZ2VFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIFtvYmpl
Y3QgSURCVmVyc2lvbkNoYW5nZUV2ZW50XSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmpl
Y3QgSURCVmVyc2lvbkNoYW5nZUV2ZW50XSAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGlu
dGVyZmFjZTogW29iamVjdCBJREJWZXJzaW9uQ2hhbmdlRXZlbnRdIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib2xkVmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQlZlcnNpb25D
aGFuZ2VFdmVudCBpbnRlcmZhY2U6IFtvYmplY3QgSURCVmVyc2lvbkNoYW5nZUV2ZW50XSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm5ld1ZlcnNpb24iIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFT
UyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1Q
QVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJGYWN0b3J5IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1Q
QVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbihET01TdHJpbmcsIHVuc2ln
bmVkIGxvbmcgbG9uZykgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVs
ZXRlRGF0YWJhc2UoRE9NU3RyaW5nKSAKLUZBSUwgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBkYXRhYmFzZXMoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJk
YXRhYmFzZXMiIG1pc3NpbmcKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBj
bXAoYW55LCBhbnkpIAotUEFTUyBJREJGYWN0b3J5IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ug
b2YgW29iamVjdCBJREJGYWN0b3J5XSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3Qg
SURCRmFjdG9yeV0gCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3Rv
cnldIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3BlbihET01TdHJpbmcsIHVuc2lnbmVkIGxvbmcg
bG9uZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTog
Y2FsbGluZyBvcGVuKERPTVN0cmluZywgdW5zaWduZWQgbG9uZyBsb25nKSBvbiBbb2JqZWN0IElE
QkZhY3RvcnldIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1Q
QVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiZGVsZXRlRGF0YWJhc2UoRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBjYWxsaW5nIGRlbGV0ZURhdGFiYXNlKERP
TVN0cmluZykgb24gW29iamVjdCBJREJGYWN0b3J5XSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11
c3QgdGhyb3cgVHlwZUVycm9yIAotRkFJTCBJREJGYWN0b3J5IGludGVyZmFjZTogW29iamVjdCBJ
REJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRhdGFiYXNlcygpIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJkYXRhYmFzZXMiIG5vdCBmb3Vu
ZCBpbiBwcm90b3R5cGUgY2hhaW4KLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IFtvYmplY3Qg
SURCRmFjdG9yeV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjbXAoYW55LCBhbnkpIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcgY21wKGFu
eSwgYW55KSBvbiBbb2JqZWN0IElEQkZhY3RvcnldIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQkRhdGFiYXNlIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2Ugb2JqZWN0
IG5hbWUgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJEYXRhYmFzZSBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgbmFtZSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmVy
c2lvbiAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVO
YW1lcyAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdHJhbnNhY3Rpb24o
W29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSwgSURCVHJhbnNhY3Rpb25Nb2RlKSAKLVBB
U1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xvc2UoKSAKLVBBU1MgSURCRGF0
YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlT2JqZWN0U3RvcmUoRE9NU3RyaW5nLCBJ
REJPYmplY3RTdG9yZVBhcmFtZXRlcnMpIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBkZWxldGVPYmplY3RTdG9yZShET01TdHJpbmcpIAotUEFTUyBJREJEYXRhYmFzZSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbmNsb3NlIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmVycm9yIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZlcnNp
b25jaGFuZ2UgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2Ugb2JqZWN0
IG5hbWUgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQk9iamVjdFN0b3Jl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCT2JqZWN0U3RvcmUg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUga2V5UGF0aCAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgaW5kZXhOYW1lcyAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgdHJhbnNhY3Rpb24gCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRl
IGF1dG9JbmNyZW1lbnQgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9u
IHB1dChhbnksIGFueSkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9u
IGFkZChhbnksIGFueSkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9u
IGRlbGV0ZShhbnkpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBj
bGVhcigpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXQoYW55
KSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0S2V5KGFueSkg
Ci1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbChhbnksIHVu
c2lnbmVkIGxvbmcpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBn
ZXRBbGxLZXlzKGFueSwgdW5zaWduZWQgbG9uZykgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVy
ZmFjZTogb3BlcmF0aW9uIGNvdW50KGFueSkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFj
ZTogb3BlcmF0aW9uIG9wZW5DdXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rpb24pIAotUEFTUyBJ
REJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuS2V5Q3Vyc29yKGFueSwgSURC
Q3Vyc29yRGlyZWN0aW9uKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRp
b24gaW5kZXgoRE9NU3RyaW5nKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVy
YXRpb24gY3JlYXRlSW5kZXgoRE9NU3RyaW5nLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmpl
Y3RdLCBJREJJbmRleFBhcmFtZXRlcnMpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBkZWxldGVJbmRleChET01TdHJpbmcpIAotUEFTUyBJREJJbmRleCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJ
REJJbmRleCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNl
IG9iamVjdCBuYW1lIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCSW5kZXggaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogYXR0cmli
dXRlIG5hbWUgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIG9iamVjdFN0b3Jl
IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBrZXlQYXRoIAotUEFTUyBJREJJ
bmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtdWx0aUVudHJ5IAotUEFTUyBJREJJbmRleCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSB1bmlxdWUgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0
aW9uIGdldChhbnkpIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRLZXko
YW55KSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsKGFueSwgdW5z
aWduZWQgbG9uZykgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbEtl
eXMoYW55LCB1bnNpZ25lZCBsb25nKSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRp
b24gY291bnQoYW55KSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbkN1
cnNvcihhbnksIElEQkN1cnNvckRpcmVjdGlvbikgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTog
b3BlcmF0aW9uIG9wZW5LZXlDdXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rpb24pIAotUEFTUyBJ
REJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJLZXlSYW5nZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
Ci1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogYXR0cmlidXRlIGxvd2VyIAotUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1cHBlciAKLVBBU1MgSURCS2V5UmFuZ2UgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgbG93ZXJPcGVuIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSB1cHBlck9wZW4gCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0
aW9uIG9ubHkoYW55KSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gbG93
ZXJCb3VuZChhbnksIGJvb2xlYW4pIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiB1cHBlckJvdW5kKGFueSwgYm9vbGVhbikgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogb3BlcmF0aW9uIGJvdW5kKGFueSwgYW55LCBib29sZWFuLCBib29sZWFuKSAKLVBBU1MgSURC
S2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5jbHVkZXMoYW55KSAKLVBBU1MgSURCS2V5
UmFuZ2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBbb2JqZWN0IElEQktleVJhbmdlXSAK
LVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3QgSURCS2V5UmFuZ2VdIAotUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAibG93ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRl
cmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBwZXIi
IHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmpl
Y3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXJPcGVuIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktl
eVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwcGVyT3BlbiIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0g
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmx5KGFueSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAot
UEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgb25seShhbnkpIG9uIFtvYmplY3Qg
SURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
Ci1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJsb3dlckJvdW5kKGFueSwgYm9vbGVhbikiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgbG93ZXJCb3VuZChh
bnksIGJvb2xlYW4pIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVu
dHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29i
amVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cHBlckJvdW5kKGFueSwg
Ym9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IGNhbGxpbmcgdXBwZXJCb3VuZChhbnksIGJvb2xlYW4pIG9uIFtvYmplY3QgSURCS2V5UmFu
Z2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElE
QktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJib3VuZChhbnksIGFueSwgYm9vbGVhbiwgYm9vbGVhbikiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgYm91bmQoYW55LCBh
bnksIGJvb2xlYW4sIGJvb2xlYW4pIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQktleVJhbmdlIGludGVy
ZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbmNsdWRl
cyhhbnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNl
OiBjYWxsaW5nIGluY2x1ZGVzKGFueSkgb24gW29iamVjdCBJREJLZXlSYW5nZV0gd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgSURCQ3Vyc29yIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNT
IElEQkN1cnNvciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCQ3Vyc29yIGludGVy
ZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJDdXJz
b3IgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJDdXJzb3IgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgc291cmNlIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
ZGlyZWN0aW9uIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5IAotUEFT
UyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHJpbWFyeUtleSAKLUZBSUwgSURCQ3Vy
c29yIGludGVyZmFjZTogYXR0cmlidXRlIHJlcXVlc3QgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5
cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJyZXF1ZXN0IiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWR2YW5jZSh1bnNp
Z25lZCBsb25nKSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbnRpbnVl
KGFueSkgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb250aW51ZVByaW1h
cnlLZXkoYW55LCBhbnkpIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gdXBk
YXRlKGFueSkgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGUoKSAK
LVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJDdXJz
b3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJD
dXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJ
REJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmFsdWUgCi1QQVNTIElEQlRy
YW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAot
UEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQlRyYW5z
YWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1
Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3Bh
YmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b2JqZWN0U3RvcmVOYW1lcyAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgbW9kZSAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGIgCi1Q
QVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAotUEFTUyBJREJU
cmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvYmplY3RTdG9yZShET01TdHJpbmcpIAot
RkFJTCBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb21taXQoKSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0
aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJjb21taXQiIG1pc3NpbmcKLVBBU1MgSURC
VHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gYWJvcnQoKSAKLVBBU1MgSURCVHJhbnNh
Y3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydCAKLVBBU1MgSURCVHJhbnNhY3Rpb24g
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb21wbGV0ZSAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKLQorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU3OQorICAgICAgUmVuZGVyQmxv
Y2sge1BSRX0gYXQgKDAsMCkgc2l6ZSA3ODR4MTY1CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDc3M3gxNjUKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA1MDg6ICJ7XCJlcnJvclwiOiB7XCJtZXNzYWdlXCI6IFwiVHJhY2ViYWNrIChtb3N0IHJlY2Vu
dCBjYWxsIGxhc3QpOlxcbiAgRmlsZSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNSkgd2lk
dGggNDY5OiAiXFxcIi9Vc2Vycy9hZG1pbi9XZWJLaXQvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzApIHdpZHRoIDc0Mjog
InRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL2hhbmRsZXJzLnB5XFxcIiwgbGluZSAzMTIs
IGluIF9fY2FsbF9fXFxuICAgIHJ2ID0gc2VsZi5mdW5jKHJlcXVlc3QsIgorICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDQ1KSB3aWR0aCA2MDk6ICJyZXNwb25zZSlcXG4gIEZpbGUgXFxcIi9Vc2Vy
cy9hZG1pbi9XZWJLaXQvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS0iCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsNjApIHdpZHRoIDc2NTogInRlc3RzL3Rvb2xzL3NlcnZl
L3NlcnZlLnB5XFxcIiwgbGluZSA2MSwgaW4gaGFuZGxlX3JlcXVlc3RcXG4gICAgc2VsZi5jaGVj
a19leHBvc3VyZShyZXF1ZXN0KVxcbiAgRmlsZSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3
NSkgd2lkdGggNzczOiAiXFxcIi9Vc2Vycy9hZG1pbi9XZWJLaXQvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS9zZXJ2ZS5weVxcXCIsIGxpbmUg
MTYyLCIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw5MCkgd2lkdGggNjE3OiAiaW4gY2hlY2tf
ZXhwb3N1cmVcXG4gICAgZm9yIChrZXksIHZhbHVlKSBpbiBzZWxmLl9nZXRfbWV0YWRhdGEocmVx
dWVzdCk6XFxuICBGaWxlIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEwNSkgd2lkdGggNzcz
OiAiXFxcIi9Vc2Vycy9hZG1pbi9XZWJLaXQvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS9zZXJ2ZS5weVxcXCIsIGxpbmUgMTAzLCIKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxMjApIHdpZHRoIDc2NTogImluIF9nZXRfbWV0YWRhdGFcXG4g
ICAgd2l0aCBvcGVuKHBhdGgsIFxcXCJyYlxcXCIpIGFzIGY6XFxuSU9FcnJvcjogW0Vycm5vIDJd
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnk6IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEz
NSkgd2lkdGggNzU3OiAiJy9Vc2Vycy9hZG1pbi9XZWJLaXQvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnkuanMnXFxuXCIs
IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE1MCkgd2lkdGggMTAyOiAiXCJjb2RlXCI6IDUw
MH19IgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIva2V5Z2VuZXJhdG9yLWNvbnN0cmFpbnRlcnJvci5odG0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5
Z2VuZXJhdG9yLWNvbnN0cmFpbnRlcnJvci5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleWdlbmVy
YXRvci1jb25zdHJhaW50ZXJyb3IuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQAog
PHNjcmlwdD4KIAogICAgIHZhciBkYiwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRp
dGxlLCB7dGltZW91dDogMTAwMDB9KSwKKyAgICAgIHQgPSBhc3luY190ZXN0KCksCiAgICAgICBv
YmplY3RzID0gWzEsIG51bGwsIHtpZDogMn0sIG51bGwsIDIuMDAwMDEsIDUsIG51bGwsIHtpZDog
Nn0gXSwKICAgICAgIGV4cGVjdGVkID0gWzEsIDIsIDIuMDAwMDEsIDMsIDUsIDZdLAogICAgICAg
ZXJyb3JzID0gMDsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleWdlbmVyYXRvci1vdmVyZmxvdy5odG0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5
Z2VuZXJhdG9yLW92ZXJmbG93Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5Z2VuZXJhdG9yLW92
ZXJmbG93Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQAogPHNjcmlwdD4KIAog
ICAgIHZhciBkYiwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91
dDogMTAwMDB9KSwKKyAgICAgIHQgPSBhc3luY190ZXN0KCksCiAgICAgICBvdmVyZmxvd19lcnJv
cl9maXJlZCA9IGZhbHNlLAogICAgICAgb2JqZWN0cyA9ICBbOTAwNzE5OTI1NDc0MDk5MSwgbnVs
bCwgImVycm9yIiwgMiwgImVycm9yIiBdLAogICAgICAgZXhwZWN0ZWRfa2V5cyA9IFsyLCA5MDA3
MTk5MjU0NzQwOTkxLCA5MDA3MTk5MjU0NzQwOTkyXTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleW9yZGVyLmh0bQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9rZXlvcmRlci5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleW9yZGVyLmh0bQkod29ya2lu
ZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBAQAogCiAgICAgZnVuY3Rpb24ga2V5c29ydChkZXNjLCB1
bnNvcnRlZCwgZXhwZWN0ZWQpIHsKICAgICAgICAgdmFyIGRiLAotICAgICAgICAgICAgdCA9IGFz
eW5jX3Rlc3QoIkRhdGFiYXNlIHJlYWRiYWNrIHNvcnQgLSAiICsgZGVzYywgeyB0aW1lb3V0OiAx
MDAwMCB9KSwKKyAgICAgICAgICAgIHQgPSBhc3luY190ZXN0KCJEYXRhYmFzZSByZWFkYmFjayBz
b3J0IC0gIiArIGRlc2MpLAogICAgICAgICAgICAgc3RvcmVfbmFtZSA9ICdzdG9yZS0nICsgRGF0
ZS5ub3coKSArIE1hdGgucmFuZG9tKCk7CiAKICAgICAgICAgLy8gVGhlIGRhdGFiYXNlIHRlc3QK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2tleXBhdGgtc3BlY2lhbC1pZGVudGlmaWVycy5odG0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aC1z
cGVjaWFsLWlkZW50aWZpZXJzLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aC1zcGVjaWFs
LWlkZW50aWZpZXJzLmh0bQkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsOCBAQAogICAgICAg
ICBjb25zdCByZXN1bHQgPSByZXF1ZXN0LnJlc3VsdDsKICAgICAgICAgYXNzZXJ0X2tleV9lcXVh
bHMocmVzdWx0W3Rlc3RjYXNlLnByb3BlcnR5XSwga2V5LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAnUHJvcGVydHkgc2hvdWxkIGJlIHVzZWQgYXMga2V5Jyk7CisgICAgICB9KTsKKyAgICAg
IHR4Lm9uY29tcGxldGUgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKICAgICAgICAgdC5kb25l
KCk7CiAgICAgICB9KTsKICAgICB9LApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aF9tYXhzaXplLmh0bQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9rZXlwYXRoX21heHNpemUuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlwYXRoX21heHNpemUu
aHRtCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBACiA8c2NyaXB0PgogICAgIGZ1bmN0
aW9uIGtleXBhdGgoa2V5cGF0aCwgb2JqZWN0cywgZXhwZWN0ZWRfa2V5cywgZGVzYykgewogICAg
ICAgICB2YXIgZGIsCi0gICAgICAgICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSAr
ICIgLSAiICsgKGRlc2MgPyBkZXNjIDoga2V5cGF0aCksIHsgdGltZW91dDogMTAwMDAgfSksCisg
ICAgICAgICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSArICIgLSAiICsgKGRlc2Mg
PyBkZXNjIDoga2V5cGF0aCkpLAogICAgICAgICAgICAgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOwog
CiAgICAgICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvcmVx
dWVzdF9idWJibGUtYW5kLWNhcHR1cmUuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3JlcXVlc3RfYnViYmxlLWFu
ZC1jYXB0dXJlLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvcmVxdWVzdF9idWJibGUtYW5kLWNhcHR1
cmUuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQAogPHNjcmlwdD4KICAgICB2YXIg
ZXZlbnRzID0gW107CiAKLSAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoZG9j
dW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pKTsKKyAgICB2YXIgb3Blbl9ycSA9IGNyZWF0
ZWRiKGFzeW5jX3Rlc3QoKSk7CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlv
bihlKSB7CiAgICAgICAgIHZhciBkYiA9IGUudGFyZ2V0LnJlc3VsdDsKICAgICAgICAgdmFyIHR4
biA9IGUudGFyZ2V0LnRyYW5zYWN0aW9uOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9uZS5hbnktZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55LWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25lLmFueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTg6IFN5bnRheEVycm9y
OiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbAor
CitGQUlMIEluZGV4ZWQgREIgYW5kIFN0cnVjdHVyZWQgU2VyaWFsaXppbmcvRGVzZXJpYWxpemlu
ZyBTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1l
cmljIGxpdGVyYWwKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9uZS5hbnkuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9z
dHJ1Y3R1cmVkLWNsb25lLmFueS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUu
YW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
cmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxh
dGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1j
bG9uZS5hbnkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9uZS5hbnkuanMJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvc3RydWN0dXJlZC1jbG9uZS5hbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
MjAgQEAKKy8vIE1FVEE6IHNjcmlwdD1zdXBwb3J0LXByb21pc2VzLmpzCisvLyBNRVRBOiB0aXRs
ZT1JbmRleGVkIERCIGFuZCBTdHJ1Y3R1cmVkIFNlcmlhbGl6aW5nL0Rlc2VyaWFsaXppbmcKKy8v
IE1FVEE6IHRpbWVvdXQ9bG9uZworCisvLyBUZXN0cyBJbmRleGVkIERCIGNvdmVyYWdlIG9mIEhU
TUwncyBTYWZlICJwYXNzaW5nIG9mIHN0cnVjdHVyZWQgZGF0YSIKKy8vIGh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N0cnVjdHVyZWQtZGF0YS5odG1sCisKK2Z1bmN0aW9u
IGRlc2NyaWJlKHZhbHVlKSB7CisgIGxldCB0eXBlLCBzdHI7CisgIGlmICh0eXBlb2YgdmFsdWUg
PT09ICdvYmplY3QnICYmIHZhbHVlKSB7CisgICAgdHlwZSA9IHZhbHVlLl9fcHJvdG9fXy5jb25z
dHJ1Y3Rvci5uYW1lOworICAgIC8vIEhhbmRsZSBOdW1iZXIoLTApLCBldGMuCisgICAgc3RyID0g
T2JqZWN0LmlzKHZhbHVlLnZhbHVlT2YoKSwgLTApID8gJy0wJyA6IFN0cmluZyh2YWx1ZSk7Cisg
IH0gZWxzZSB7CisgICAgdHlwZSA9IHR5cGVvZiB2YWx1ZTsKKyAgICAvLyBIYW5kbGUgcHJpbWl0
aXZlIC0wLgorICAgIHN0ciA9IE9iamVjdC5pcyh2YWx1ZSwgLTApID8gJy0wJyA6IFN0cmluZyh2
YWx1ZSk7CisgIH0KKyAgcmV0dXJuIGAke3R5cGV9OiAke3N0cn1gOworfQorCitmdW5jdGlvbiBj
bG9uZVRlc3QodmFsdWUsIHZlcmlmeUZ1bmMpIHsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICAgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodCwgZGIgPT4geworICAgICAg
Y29uc3Qgc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICAgIC8vIFRo
aXMgaW5kZXggaXMgbm90IHVzZWQsIGJ1dCBldmFsdWF0aW5nIGtleSBwYXRoIG9uIGVhY2ggcHV0
KCkKKyAgICAgIC8vIGNhbGwgd2lsbCBleGVyY2lzZSAoZGUpc2VyaWFsaXphdGlvbi4KKyAgICAg
IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleCcsICdkdW1teUtleVBhdGgnKTsKKyAgICB9KTsKKyAg
ICB0LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICAgIGlmIChkYikgeworICAgICAgICBkYi5jbG9z
ZSgpOworICAgICAgICBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGIubmFtZSk7CisgICAgICB9
CisgICAgfSk7CisgICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZHdy
aXRlJyk7CisgICAgY29uc3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBh
d2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0LCBzdG9yZS5wdXQodmFsdWUsICdrZXknKSk7CisgICAg
Y29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodCwgc3RvcmUuZ2V0KCdrZXkn
KSk7CisgICAgYXdhaXQgdmVyaWZ5RnVuYyh2YWx1ZSwgcmVzdWx0KTsKKyAgICBhd2FpdCBwcm9t
aXNlRm9yVHJhbnNhY3Rpb24odCwgdHgpOworICB9LCBkZXNjcmliZSh2YWx1ZSkpOworfQorCisv
LyBTcGVjaWFsaXphdGlvbiBvZiBjbG9uZVRlc3QoKSBmb3Igb2JqZWN0cywgd2l0aCBjb21tb24g
YXNzZXJ0cy4KK2Z1bmN0aW9uIGNsb25lT2JqZWN0VGVzdCh2YWx1ZSwgdmVyaWZ5RnVuYykgewor
ICBjbG9uZVRlc3QodmFsdWUsIGFzeW5jIChvcmlnLCBjbG9uZSkgPT4geworICAgIGFzc2VydF9u
b3RfZXF1YWxzKG9yaWcsIGNsb25lKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBjbG9uZSwg
J29iamVjdCcpOworICAgIGFzc2VydF9lcXVhbHMob3JpZy5fX3Byb3RvX18sIGNsb25lLl9fcHJv
dG9fXyk7CisgICAgYXdhaXQgdmVyaWZ5RnVuYyhvcmlnLCBjbG9uZSk7CisgIH0pOworfQorCitm
dW5jdGlvbiBjbG9uZUZhaWx1cmVUZXN0KHZhbHVlKSB7CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHQsIGRiID0+IHsKKyAg
ICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpOworICAgIH0pOworICAgIHQuYWRkX2Ns
ZWFudXAoKCkgPT4geworICAgICAgaWYgKGRiKSB7CisgICAgICAgIGRiLmNsb3NlKCk7CisgICAg
ICAgIGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYi5uYW1lKTsKKyAgICAgIH0KKyAgICB9KTsK
KyAgICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKKyAg
ICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpOworICAgIGFzc2VydF90aHJv
d3MoJ0RhdGFDbG9uZUVycm9yJywgKCkgPT4gc3RvcmUucHV0KHZhbHVlLCAna2V5JykpOworICB9
LCAnTm90IHNlcmlhbGl6YWJsZTogJyArIGRlc2NyaWJlKHZhbHVlKSk7Cit9CisKKy8vCisvLyBF
Q01BU2NyaXB0IHR5cGVzCisvLworCisvLyBQcmltaXRpdmUgdmFsdWVzOiBVbmRlZmluZWQsIE51
bGwsIEJvb2xlYW4sIE51bWJlciwgQmlnSW50LCBTdHJpbmcKK2NvbnN0IGJvb2xlYW5zID0gW2Zh
bHNlLCB0cnVlXTsKK2NvbnN0IG51bWJlcnMgPSBbCisgIE5hTiwKKyAgLUluZmluaXR5LAorICAt
TnVtYmVyLk1BWF9WQUxVRSwKKyAgLTB4ZmZmZmZmZmYsCisgIC0weDgwMDAwMDAwLAorICAtMHg3
ZmZmZmZmZiwKKyAgLTEsCisgIC1OdW1iZXIuTUlOX1ZBTFVFLAorICAtMCwKKyAgMCwKKyAgMSwK
KyAgTnVtYmVyLk1JTl9WQUxVRSwKKyAgMHg3ZmZmZmZmZiwKKyAgMHg4MDAwMDAwMCwKKyAgMHhm
ZmZmZmZmZiwKKyAgTnVtYmVyLk1BWF9WQUxVRSwKKyAgSW5maW5pdHksCitdOworY29uc3QgYmln
aW50cyA9IFsKKyAgLTEyMzQ1Njc4OTAxMjM0NTY3ODkwbiwKKyAgLTFuLAorICAwbiwKKyAgMW4s
CisgIDEyMzQ1Njc4OTAxMjM0NTY3ODkwbiwKK107Citjb25zdCBzdHJpbmdzID0gWworICAnJywK
KyAgJ3RoaXMgaXMgYSBzYW1wbGUgc3RyaW5nJywKKyAgJ251bGwoXDApJywKK107CisKK1t1bmRl
ZmluZWQsIG51bGxdLmNvbmNhdChib29sZWFucywgbnVtYmVycywgYmlnaW50cywgc3RyaW5ncykK
KyAgLmZvckVhY2godmFsdWUgPT4gY2xvbmVUZXN0KHZhbHVlLCAob3JpZywgY2xvbmUpID0+IHsK
KyAgICBhc3NlcnRfZXF1YWxzKG9yaWcsIGNsb25lKTsKKyAgfSkpOworCisvLyAiUHJpbWl0aXZl
IiBPYmplY3RzIChCb29sZWFuLCBOdW1iZXIsIEJpZ0ludCwgU3RyaW5nKQorW10uY29uY2F0KGJv
b2xlYW5zLCBudW1iZXJzLCBzdHJpbmdzKQorICAuZm9yRWFjaCh2YWx1ZSA9PiBjbG9uZU9iamVj
dFRlc3QoT2JqZWN0KHZhbHVlKSwgKG9yaWcsIGNsb25lKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyhvcmlnLnZhbHVlT2YoKSwgY2xvbmUudmFsdWVPZigpKTsKKyAgfSkpOworCisvLyBEYXRlcwor
WworICBuZXcgRGF0ZSgtMWUxMyksCisgIG5ldyBEYXRlKC0xZTEyKSwKKyAgbmV3IERhdGUoLTFl
OSksCisgIG5ldyBEYXRlKC0xZTYpLAorICBuZXcgRGF0ZSgtMWUzKSwKKyAgbmV3IERhdGUoMCks
CisgIG5ldyBEYXRlKDFlMyksCisgIG5ldyBEYXRlKDFlNiksCisgIG5ldyBEYXRlKDFlOSksCisg
IG5ldyBEYXRlKDFlMTIpLAorICBuZXcgRGF0ZSgxZTEzKQorXS5mb3JFYWNoKHZhbHVlID0+IGNs
b25lVGVzdCh2YWx1ZSwgKG9yaWcsIGNsb25lKSA9PiB7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMo
b3JpZywgY2xvbmUpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGNsb25lLCAnb2JqZWN0Jyk7
CisgICAgYXNzZXJ0X2VxdWFscyhvcmlnLl9fcHJvdG9fXywgY2xvbmUuX19wcm90b19fKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKG9yaWcudmFsdWVPZigpLCBjbG9uZS52YWx1ZU9mKCkpOworICB9KSk7
CisKKy8vIFJlZ3VsYXIgRXhwcmVzc2lvbnMKK1sKKyAgbmV3IFJlZ0V4cCgpLAorICAvYWJjLywK
KyAgL2FiYy9nLAorICAvYWJjL2ksCisgIC9hYmMvZ2ksCisgIC9hYmMvbSwKKyAgL2FiYy9tZywK
KyAgL2FiYy9taSwKKyAgL2FiYy9tZ2ksCisgIC9hYmMvZ2ltc3V5LAorXS5mb3JFYWNoKHZhbHVl
ID0+IGNsb25lT2JqZWN0VGVzdCh2YWx1ZSwgKG9yaWcsIGNsb25lKSA9PiB7CisgIGFzc2VydF9l
cXVhbHMob3JpZy50b1N0cmluZygpLCBjbG9uZS50b1N0cmluZygpKTsKK30pKTsKKworLy8gQXJy
YXlCdWZmZXIKK2Nsb25lT2JqZWN0VGVzdChuZXcgVWludDhBcnJheShbMCwgMSwgMjU0LCAyNTVd
KS5idWZmZXIsIChvcmlnLCBjbG9uZSkgPT4geworICBhc3NlcnRfYXJyYXlfZXF1YWxzKG5ldyBV
aW50OEFycmF5KG9yaWcpLCBuZXcgVWludDhBcnJheShjbG9uZSkpOworfSk7CisKKy8vIFRPRE8g
U2hhcmVkQXJyYXlCdWZmZXIKKworLy8gQXJyYXkgQnVmZmVyIFZpZXdzCitbCisgIG5ldyBVaW50
OEFycmF5KFtdKSwKKyAgbmV3IFVpbnQ4QXJyYXkoWzAsIDEsIDI1NCwgMjU1XSksCisgIG5ldyBV
aW50MTZBcnJheShbMHgwMDAwLCAweDAwMDEsIDB4RkZGRSwgMHhGRkZGXSksCisgIG5ldyBVaW50
MzJBcnJheShbMHgwMDAwMDAwMCwgMHgwMDAwMDAwMSwgMHhGRkZGRkZGRSwgMHhGRkZGRkZGRl0p
LAorICBuZXcgSW50OEFycmF5KFswLCAxLCAyNTQsIDI1NV0pLAorICBuZXcgSW50MTZBcnJheShb
MHgwMDAwLCAweDAwMDEsIDB4RkZGRSwgMHhGRkZGXSksCisgIG5ldyBJbnQzMkFycmF5KFsweDAw
MDAwMDAwLCAweDAwMDAwMDAxLCAweEZGRkZGRkZFLCAweEZGRkZGRkZGXSksCisgIG5ldyBVaW50
OENsYW1wZWRBcnJheShbMCwgMSwgMjU0LCAyNTVdKSwKKyAgbmV3IEZsb2F0MzJBcnJheShbLUlu
ZmluaXR5LCAtMS41LCAtMSwgLTAuNSwgMCwgMC41LCAxLCAxLjUsIEluZmluaXR5LCBOYU5dKSwK
KyAgbmV3IEZsb2F0NjRBcnJheShbLUluZmluaXR5LCAtTnVtYmVyLk1BWF9WQUxVRSwgLU51bWJl
ci5NSU5fVkFMVUUsIDAsCisgICAgICAgICAgICAgICAgICAgIE51bWJlci5NSU5fVkFMVUUsIE51
bWJlci5NQVhfVkFMVUUsIEluZmluaXR5LCBOYU5dKQorXS5mb3JFYWNoKHZhbHVlID0+IGNsb25l
T2JqZWN0VGVzdCh2YWx1ZSwgKG9yaWcsIGNsb25lKSA9PiB7CisgIGFzc2VydF9hcnJheV9lcXVh
bHMob3JpZywgY2xvbmUpOworfSkpOworCisvLyBNYXAKK2Nsb25lT2JqZWN0VGVzdChuZXcgTWFw
KFtbMSwyXSxbMyw0XV0pLCAob3JpZywgY2xvbmUpID0+IHsKKyAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhbLi4ub3JpZy5rZXlzKCldLCBbLi4uY2xvbmUua2V5cygpXSk7CisgIGFzc2VydF9hcnJheV9l
cXVhbHMoWy4uLm9yaWcudmFsdWVzKCldLCBbLi4uY2xvbmUudmFsdWVzKCldKTsKK30pOworCisv
LyBTZXQKK2Nsb25lT2JqZWN0VGVzdChuZXcgU2V0KFsxLDIsMyw0XSksIChvcmlnLCBjbG9uZSkg
PT4geworICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsuLi5vcmlnLnZhbHVlcygpXSwgWy4uLmNsb25l
LnZhbHVlcygpXSk7Cit9KTsKKworLy8gRXJyb3IKK1sKKyAgbmV3IEVycm9yKCksCisgIG5ldyBF
cnJvcignYWJjJywgJ2RlZicpLAorICBuZXcgRXZhbEVycm9yKCksCisgIG5ldyBFdmFsRXJyb3Io
J2doaScsICdqa2wnKSwKKyAgbmV3IFJhbmdlRXJyb3IoKSwKKyAgbmV3IFJhbmdlRXJyb3IoJ2do
aScsICdqa2wnKSwKKyAgbmV3IFJlZmVyZW5jZUVycm9yKCksCisgIG5ldyBSZWZlcmVuY2VFcnJv
cignZ2hpJywgJ2prbCcpLAorICBuZXcgU3ludGF4RXJyb3IoKSwKKyAgbmV3IFN5bnRheEVycm9y
KCdnaGknLCAnamtsJyksCisgIG5ldyBUeXBlRXJyb3IoKSwKKyAgbmV3IFR5cGVFcnJvcignZ2hp
JywgJ2prbCcpLAorICBuZXcgVVJJRXJyb3IoKSwKKyAgbmV3IFVSSUVycm9yKCdnaGknLCAnamts
JyksCitdLmZvckVhY2godmFsdWUgPT4gY2xvbmVPYmplY3RUZXN0KHZhbHVlLCAob3JpZywgY2xv
bmUpID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhvcmlnLm5hbWUsIGNsb25lLm5hbWUpOworICBhc3Nl
cnRfZXF1YWxzKG9yaWcubWVzc2FnZSwgY2xvbmUubWVzc2FnZSk7Cit9KSk7CisKKy8vIEFycmF5
cworWworICBbXSwKKyAgWzEsMiwzXSwKKyAgT2JqZWN0LmFzc2lnbigKKyAgICBbJ2ZvbycsICdi
YXInXSwKKyAgICB7MTA6IHRydWUsIDExOiBmYWxzZSwgMjA6IDEyMywgMjE6IDQ1NiwgMzA6IG51
bGx9KSwKKyAgT2JqZWN0LmFzc2lnbigKKyAgICBbJ2ZvbycsICdiYXInXSwKKyAgICB7YTogdHJ1
ZSwgYjogZmFsc2UsIGZvbzogMTIzLCBiYXI6IDQ1NiwgJyc6IG51bGx9KSwKK10uZm9yRWFjaCh2
YWx1ZSA9PiBjbG9uZU9iamVjdFRlc3QodmFsdWUsIChvcmlnLCBjbG9uZSkgPT4geworICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKG9yaWcsIGNsb25lKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmpl
Y3Qua2V5cyhvcmlnKSwgT2JqZWN0LmtleXMoY2xvbmUpKTsKKyAgT2JqZWN0LmtleXMob3JpZyku
Zm9yRWFjaChrZXkgPT4geworICAgIGFzc2VydF9lcXVhbHMob3JpZ1trZXldLCBjbG9uZVtrZXld
LCBgUHJvcGVydHkgJHtrZXl9YCk7CisgIH0pOworfSkpOworCisvLyBPYmplY3RzCitjbG9uZU9i
amVjdFRlc3Qoe2ZvbzogdHJ1ZSwgYmFyOiBmYWxzZX0sIChvcmlnLCBjbG9uZSkgPT4geworICBh
c3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5rZXlzKG9yaWcpLCBPYmplY3Qua2V5cyhjbG9uZSkp
OworICBPYmplY3Qua2V5cyhvcmlnKS5mb3JFYWNoKGtleSA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyhvcmlnW2tleV0sIGNsb25lW2tleV0sIGBQcm9wZXJ0eSAke2tleX1gKTsKKyAgfSk7Cit9KTsK
KworLy8KKy8vIFtTZXJpYWxpemFibGVdIFBsYXRmb3JtIG9iamVjdHMKKy8vCisKKy8vIFRPRE86
IFRlc3QgdGhlc2UgYWRkaXRpb25hbCBpbnRlcmZhY2VzOgorLy8gKiBET01RdWFkCisvLyAqIERP
TUV4Y2VwdGlvbgorLy8gKiBEZXRlY3RlZFRleHQsIERldGVjdGVkRmFjZSwgRGV0ZWN0ZWRCYXJj
b2RlCisvLyAqIFJUQ0NlcnRpZmljYXRlCisKKy8vIEdlb21ldHJ5IHR5cGVzCitbCisgIG5ldyBE
T01NYXRyaXgoKSwKKyAgbmV3IERPTU1hdHJpeFJlYWRPbmx5KCksCisgIG5ldyBET01Qb2ludCgp
LAorICBuZXcgRE9NUG9pbnRSZWFkT25seSgpLAorICBuZXcgRE9NUmVjdCwKKyAgbmV3IERPTVJl
Y3RSZWFkT25seSgpLAorXS5mb3JFYWNoKHZhbHVlID0+IGNsb25lT2JqZWN0VGVzdCh2YWx1ZSwg
KG9yaWcsIGNsb25lKSA9PiB7CisgIE9iamVjdC5rZXlzKG9yaWcuX19wcm90b19fKS5mb3JFYWNo
KGtleSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhvcmlnW2tleV0sIGNsb25lW2tleV0sIGBQcm9w
ZXJ0eSAke2tleX1gKTsKKyAgfSk7Cit9KSk7CisKKy8vIEltYWdlRGF0YQorY29uc3QgaW1hZ2Vf
ZGF0YSA9IG5ldyBJbWFnZURhdGEoOCwgOCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDI1NjsgKytp
KSB7CisgIGltYWdlX2RhdGEuZGF0YVtpXSA9IGk7Cit9CitjbG9uZU9iamVjdFRlc3QoaW1hZ2Vf
ZGF0YSwgKG9yaWcsIGNsb25lKSA9PiB7CisgIGFzc2VydF9lcXVhbHMob3JpZy53aWR0aCwgY2xv
bmUud2lkdGgpOworICBhc3NlcnRfZXF1YWxzKG9yaWcuaGVpZ2h0LCBjbG9uZS5oZWlnaHQpOwor
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKG9yaWcuZGF0YSwgY2xvbmUuZGF0YSk7Cit9KTsKKworLy8g
QmxvYgorY2xvbmVPYmplY3RUZXN0KAorICBuZXcgQmxvYihbJ1RoaXMgaXMgYSB0ZXN0LiddLCB7
dHlwZTogJ2EvYid9KSwKKyAgYXN5bmMgKG9yaWcsIGNsb25lKSA9PiB7CisgICAgYXNzZXJ0X2Vx
dWFscyhvcmlnLnNpemUsIGNsb25lLnNpemUpOworICAgIGFzc2VydF9lcXVhbHMob3JpZy50eXBl
LCBjbG9uZS50eXBlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IG9yaWcudGV4dCgpLCBhd2Fp
dCBjbG9uZS50ZXh0KCkpOworICB9KTsKKworLy8gRmlsZQorY2xvbmVPYmplY3RUZXN0KAorICBu
ZXcgRmlsZShbJ1RoaXMgaXMgYSB0ZXN0LiddLCAnZm9vLnR4dCcsIHt0eXBlOiAnYy9kJ30pLAor
ICBhc3luYyAob3JpZywgY2xvbmUpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKG9yaWcuc2l6ZSwg
Y2xvbmUuc2l6ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhvcmlnLnR5cGUsIGNsb25lLnR5cGUpOwor
ICAgIGFzc2VydF9lcXVhbHMob3JpZy5uYW1lLCBjbG9uZS5uYW1lKTsKKyAgICBhc3NlcnRfZXF1
YWxzKG9yaWcubGFzdE1vZGlmaWVkLCBjbG9uZS5sYXN0TW9kaWZpZWQpOworICAgIGFzc2VydF9l
cXVhbHMoU3RyaW5nKG9yaWcubGFzdE1vZGlmaWVkRGF0ZSksCisgICAgICAgICAgICAgICAgICBT
dHJpbmcoY2xvbmUubGFzdE1vZGlmaWVkRGF0ZSkpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQg
b3JpZy50ZXh0KCksIGF3YWl0IGNsb25lLnRleHQoKSk7CisgIH0pOworCisKKy8vIEZpbGVMaXN0
IC0gZXhwb3NlZCBpbiBXb3JrZXJzLCBidXQgbm90IGNvbnN0cnVjdGFibGUuCitpZiAoJ2RvY3Vt
ZW50JyBpbiBzZWxmKSB7CisgIC8vIFRPRE86IFRlc3Qgd2l0aCBwb3B1bGF0ZWQgbGlzdC4KKyAg
Y2xvbmVPYmplY3RUZXN0KAorICAgIE9iamVjdC5hc3NpZ24oZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaW5wdXQnKSwKKyAgICAgICAgICAgICAgICAgIHt0eXBlOiAnZmlsZScsIG11bHRpcGxlOiB0
cnVlfSkuZmlsZXMsCisgICAgYXN5bmMgKG9yaWcsIGNsb25lKSA9PiB7CisgICAgICBhc3NlcnRf
ZXF1YWxzKG9yaWcubGVuZ3RoLCBjbG9uZS5sZW5ndGgpOworICAgIH0pOworfQorCisvLworLy8g
Tm9uLXNlcmlhbGl6YWJsZSB0eXBlcworLy8KK1sKKyAgLy8gRUNNQVNjcmlwdCB0eXBlcworICBm
dW5jdGlvbigpIHt9LAorICBTeW1ib2woJ2Rlc2MnKSwKKworICAvLyBOb24tW1NlcmlhbGl6YWJs
ZV0gcGxhdGZvcm0gb2JqZWN0cworICBzZWxmLAorICBuZXcgRXZlbnQoJycpLAorICBuZXcgTWVz
c2FnZUNoYW5uZWwoKQorXS5mb3JFYWNoKGNsb25lRmFpbHVyZVRlc3QpOwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJl
ZC1jbG9uZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNs
b25lLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xv
bmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTg6IFN5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBh
bGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbAorCitGQUlMIEluZGV4ZWQgREIg
YW5kIFN0cnVjdHVyZWQgU2VyaWFsaXppbmcvRGVzZXJpYWxpemluZyBTeW50YXhFcnJvcjogTm8g
aWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
c3RydWN0dXJlZC1jbG9uZS5hbnkud29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1j
bG9uZS5hbnkud29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9uZS5hbnku
d29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3VwcG9ydC1w
cm9taXNlcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdXBwb3J0LXByb21pc2VzLmpzCShyZXZpc2lvbiAyNTAy
NjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9zdXBwb3J0LXByb21pc2VzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01LDExICs1LDM5IEBA
IGZ1bmN0aW9uIGRhdGFiYXNlTmFtZSh0ZXN0Q2FzZSkgewogICByZXR1cm4gJ2RiJyArIHNlbGYu
bG9jYXRpb24ucGF0aG5hbWUgKyAnLScgKyB0ZXN0Q2FzZS5uYW1lOwogfQogCi0vLyBDcmVhdGVz
IGFuIEV2ZW50V2F0Y2hlciBjb3ZlcmluZyBhbGwgdGhlIGV2ZW50cyB0aGF0IGNhbiBiZSBpc3N1
ZWQgYnkKLS8vIEluZGV4ZWREQiByZXF1ZXN0cyBhbmQgdHJhbnNhY3Rpb25zLgorLy8gRXZlbnRX
YXRjaGVyIGNvdmVyaW5nIGFsbCB0aGUgZXZlbnRzIGRlZmluZWQgb24gSW5kZXhlZERCIHJlcXVl
c3RzLgorLy8KKy8vIFRoZSBldmVudHMgY292ZXIgSURCUmVxdWVzdCBhbmQgSURCT3BlbkRCUmVx
dWVzdC4KIGZ1bmN0aW9uIHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KSB7CiAgIHJl
dHVybiBuZXcgRXZlbnRXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0LAotICAgICAgWydhYm9ydCcs
ICdibG9ja2VkJywgJ2NvbXBsZXRlJywgJ2Vycm9yJywgJ3N1Y2Nlc3MnLCAndXBncmFkZW5lZWRl
ZCddKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWydibG9ja2VkJywgJ2Vycm9yJywgJ3N1
Y2Nlc3MnLCAndXBncmFkZW5lZWRlZCddKTsKK30KKworLy8gRXZlbnRXYXRjaGVyIGNvdmVyaW5n
IGFsbCB0aGUgZXZlbnRzIGRlZmluZWQgb24gSW5kZXhlZERCIHRyYW5zYWN0aW9ucy4KKy8vCisv
LyBUaGUgZXZlbnRzIGNvdmVyIElEQlRyYW5zYWN0aW9uLgorZnVuY3Rpb24gdHJhbnNhY3Rpb25X
YXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KSB7CisgIHJldHVybiBuZXcgRXZlbnRXYXRjaGVyKHRl
c3RDYXNlLCByZXF1ZXN0LCBbJ2Fib3J0JywgJ2NvbXBsZXRlJywgJ2Vycm9yJ10pOworfQorCisv
LyBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBJREJSZXF1ZXN0J3MgcmVzdWx0LgorLy8K
Ky8vIFRoZSBwcm9taXNlIG9ubHkgcmVzb2x2ZXMgaWYgSURCUmVxdWVzdCByZWNlaXZlcyB0aGUg
InN1Y2Nlc3MiIGV2ZW50LiBBbnkKKy8vIG90aGVyIGV2ZW50IGNhdXNlcyB0aGUgcHJvbWlzZSB0
byByZWplY3Qgd2l0aCBhbiBlcnJvci4gVGhpcyBpcyBjb3JyZWN0IGluCisvLyBtb3N0IGNhc2Vz
LCBidXQgaW5zdWZmaWNpZW50IGZvciBpbmRleGVkREIub3BlbigpLCB3aGljaCBpc3N1ZXMKKy8v
ICJ1cGdyYWRlbmVkZWQiIGV2ZW50cyB1bmRlciBub3JtYWwgb3BlcmF0aW9uLgorZnVuY3Rpb24g
cHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpIHsKKyAgY29uc3QgZXZlbnRXYXRj
aGVyID0gcmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOworICByZXR1cm4gZXZlbnRX
YXRjaGVyLndhaXRfZm9yKCdzdWNjZXNzJykudGhlbihldmVudCA9PiBldmVudC50YXJnZXQucmVz
dWx0KTsKK30KKworLy8gUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gYW4gSURCVHJhbnNhY3Rp
b24gY29tcGxldGVzLgorLy8KKy8vIFRoZSBwcm9taXNlIHJlc29sdmVzIHdpdGggdW5kZWZpbmVk
IGlmIElEQlRyYW5zYWN0aW9uIHJlY2VpdmVzIHRoZSAiY29tcGxldGUiCisvLyBldmVudCwgYW5k
IHJlamVjdHMgd2l0aCBhbiBlcnJvciBmb3IgYW55IG90aGVyIGV2ZW50LgorZnVuY3Rpb24gcHJv
bWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCByZXF1ZXN0KSB7CisgIGNvbnN0IGV2ZW50V2F0
Y2hlciA9IHRyYW5zYWN0aW9uV2F0Y2hlcih0ZXN0Q2FzZSwgcmVxdWVzdCk7CisgIHJldHVybiBl
dmVudFdhdGNoZXIud2FpdF9mb3IoJ2NvbXBsZXRlJykudGhlbigoKSA9PiB7fSk7CiB9CiAKIC8v
IE1pZ3JhdGVzIGFuIEluZGV4ZWREQiBkYXRhYmFzZSB3aG9zZSBuYW1lIGlzIHVuaXF1ZSBmb3Ig
dGhlIHRlc3QgY2FzZS4KQEAgLTY0LDcgKzkyLDcgQEAgZnVuY3Rpb24gbWlncmF0ZU5hbWVkRGF0
YWJhc2UoCiAgICAgICAgIHJlcXVlc3RFdmVudFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7CiAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZXZlbnQgPT4gewog
ICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgICAgIHJlc29sdmUo
ZXZlbnQpOworICAgICAgICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQuZXJyb3IpOwogICAgICAg
ICAgIH07CiAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAoKSA9PiByZWplY3QobmV3IEVy
cm9yKAogICAgICAgICAgICAgICAnaW5kZXhlZERCLm9wZW4gc2hvdWxkIG5vdCBzdWNjZWVkIGZv
ciBhbiBhYm9ydGVkICcgKwpAQCAtNzksOCArMTA3LDcgQEAgZnVuY3Rpb24gbWlncmF0ZU5hbWVk
RGF0YWJhc2UoCiAgICAgICBpZiAoIXNob3VsZEJlQWJvcnRlZCkgewogICAgICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSBudWxsOwogICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG51bGw7Ci0gICAg
ICAgIHJlcXVlc3RFdmVudFByb21pc2UgPQotICAgICAgICAgICAgcmVxdWVzdFdhdGNoZXIodGVz
dENhc2UsIHJlcXVlc3QpLndhaXRfZm9yKCdzdWNjZXNzJyk7CisgICAgICAgIHJlcXVlc3RFdmVu
dFByb21pc2UgPSBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7CiAgICAgICB9
CiAKICAgICAgIC8vIHJlcXVlc3RFdmVudFByb21pc2UgbmVlZHMgdG8gYmUgdGhlIGxhc3QgcHJv
bWlzZSBpbiB0aGUgY2hhaW4sIGJlY2F1c2UKQEAgLTk1LDEyICsxMjIsMTAgQEAgZnVuY3Rpb24g
bWlncmF0ZU5hbWVkRGF0YWJhc2UoCiAgICAgICAgICAgJ2luZGV4ZWREQi5vcGVuIHNob3VsZCBu
b3Qgc3VjY2VlZCB3aXRob3V0IGNyZWF0aW5nIGEgJyArCiAgICAgICAgICAgJ3ZlcnNpb25jaGFu
Z2UgdHJhbnNhY3Rpb24nKSk7CiAgICAgfTsKLSAgfSkudGhlbihldmVudCA9PiB7Ci0gICAgY29u
c3QgZGF0YWJhc2UgPSBldmVudC50YXJnZXQucmVzdWx0OwotICAgIGlmIChkYXRhYmFzZSkgewot
ICAgICAgdGVzdENhc2UuYWRkX2NsZWFudXAoKCkgPT4geyBkYXRhYmFzZS5jbG9zZSgpOyB9KTsK
LSAgICB9Ci0gICAgcmV0dXJuIGRhdGFiYXNlIHx8IGV2ZW50LnRhcmdldC5lcnJvcjsKKyAgfSku
dGhlbihkYXRhYmFzZU9yRXJyb3IgPT4geworICAgIGlmIChkYXRhYmFzZU9yRXJyb3IgaW5zdGFu
Y2VvZiBJREJEYXRhYmFzZSkKKyAgICAgIHRlc3RDYXNlLmFkZF9jbGVhbnVwKCgpID0+IHsgZGF0
YWJhc2VPckVycm9yLmNsb3NlKCk7IH0pOworICAgIHJldHVybiBkYXRhYmFzZU9yRXJyb3I7CiAg
IH0pOwogfQogCkBAIC0xMjYsOSArMTUxLDcgQEAgZnVuY3Rpb24gY3JlYXRlRGF0YWJhc2UodGVz
dENhc2UsIHNldHVwQwogLy8gY2xvc2UgdGhlIGRhdGFiYXNlLgogZnVuY3Rpb24gY3JlYXRlTmFt
ZWREYXRhYmFzZSh0ZXN0Q2FzZSwgZGF0YWJhc2VOYW1lLCBzZXR1cENhbGxiYWNrKSB7CiAgIGNv
bnN0IHJlcXVlc3QgPSBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGF0YWJhc2VOYW1lKTsKLSAg
Y29uc3QgZXZlbnRXYXRjaGVyID0gcmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOwot
Ci0gIHJldHVybiBldmVudFdhdGNoZXIud2FpdF9mb3IoJ3N1Y2Nlc3MnKS50aGVuKGV2ZW50ID0+
IHsKKyAgcmV0dXJuIHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KS50aGVuKCgp
ID0+IHsKICAgICB0ZXN0Q2FzZS5hZGRfY2xlYW51cCgoKSA9PiB7IGluZGV4ZWREQi5kZWxldGVE
YXRhYmFzZShkYXRhYmFzZU5hbWUpOyB9KTsKICAgICByZXR1cm4gbWlncmF0ZU5hbWVkRGF0YWJh
c2UodGVzdENhc2UsIGRhdGFiYXNlTmFtZSwgMSwgc2V0dXBDYWxsYmFjaykKICAgfSk7CkBAIC0x
NTIsOSArMTc1LDcgQEAgZnVuY3Rpb24gb3BlbkRhdGFiYXNlKHRlc3RDYXNlLCB2ZXJzaW9uKQog
Ly8gY2xvc2UgdGhlIGRhdGFiYXNlLgogZnVuY3Rpb24gb3Blbk5hbWVkRGF0YWJhc2UodGVzdENh
c2UsIGRhdGFiYXNlTmFtZSwgdmVyc2lvbikgewogICBjb25zdCByZXF1ZXN0ID0gaW5kZXhlZERC
Lm9wZW4oZGF0YWJhc2VOYW1lLCB2ZXJzaW9uKTsKLSAgY29uc3QgZXZlbnRXYXRjaGVyID0gcmVx
dWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOwotICByZXR1cm4gZXZlbnRXYXRjaGVyLndh
aXRfZm9yKCdzdWNjZXNzJykudGhlbigoKSA9PiB7Ci0gICAgY29uc3QgZGF0YWJhc2UgPSByZXF1
ZXN0LnJlc3VsdDsKKyAgcmV0dXJuIHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0
KS50aGVuKGRhdGFiYXNlID0+IHsKICAgICB0ZXN0Q2FzZS5hZGRfY2xlYW51cCgoKSA9PiB7IGRh
dGFiYXNlLmNsb3NlKCk7IH0pOwogICAgIHJldHVybiBkYXRhYmFzZTsKICAgfSk7CkBAIC0yMTUs
OSArMjM2LDcgQEAgZnVuY3Rpb24gY2hlY2tTdG9yZUluZGV4ZXMgKHRlc3RDYXNlLCBzdAogZnVu
Y3Rpb24gY2hlY2tTdG9yZUdlbmVyYXRvcih0ZXN0Q2FzZSwgc3RvcmUsIGV4cGVjdGVkS2V5LCBl
cnJvck1lc3NhZ2UpIHsKICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLnB1dCgKICAgICAgIHsgdGl0
bGU6ICdCZWRyb2NrIE5pZ2h0cyAnICsgZXhwZWN0ZWRLZXksIGF1dGhvcjogJ0Jhcm5leScgfSk7
Ci0gIGNvbnN0IGV2ZW50V2F0Y2hlciA9IHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0
KTsKLSAgcmV0dXJuIGV2ZW50V2F0Y2hlci53YWl0X2Zvcignc3VjY2VzcycpLnRoZW4oKCkgPT4g
ewotICAgIGNvbnN0IHJlc3VsdCA9IHJlcXVlc3QucmVzdWx0OworICByZXR1cm4gcHJvbWlzZUZv
clJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpLnRoZW4ocmVzdWx0ID0+IHsKICAgICBhc3NlcnRf
ZXF1YWxzKHJlc3VsdCwgZXhwZWN0ZWRLZXksIGVycm9yTWVzc2FnZSk7CiAgIH0pOwogfQpAQCAt
MjMwLDkgKzI0OSw3IEBAIGZ1bmN0aW9uIGNoZWNrU3RvcmVHZW5lcmF0b3IodGVzdENhc2UsIHMK
IC8vIGlzIHVzaW5nIGl0IGluY29ycmVjdGx5LgogZnVuY3Rpb24gY2hlY2tTdG9yZUNvbnRlbnRz
KHRlc3RDYXNlLCBzdG9yZSwgZXJyb3JNZXNzYWdlKSB7CiAgIGNvbnN0IHJlcXVlc3QgPSBzdG9y
ZS5nZXQoMTIzNDU2KTsKLSAgY29uc3QgZXZlbnRXYXRjaGVyID0gcmVxdWVzdFdhdGNoZXIodGVz
dENhc2UsIHJlcXVlc3QpOwotICByZXR1cm4gZXZlbnRXYXRjaGVyLndhaXRfZm9yKCdzdWNjZXNz
JykudGhlbigoKSA9PiB7Ci0gICAgY29uc3QgcmVzdWx0ID0gcmVxdWVzdC5yZXN1bHQ7CisgIHJl
dHVybiBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCkudGhlbihyZXN1bHQgPT4g
ewogICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmlzYm4sIEJPT0tTX1JFQ09SRF9EQVRBWzBdLmlz
Ym4sIGVycm9yTWVzc2FnZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuYXV0aG9yLCBCT09L
U19SRUNPUkRfREFUQVswXS5hdXRob3IsIGVycm9yTWVzc2FnZSk7CiAgICAgYXNzZXJ0X2VxdWFs
cyhyZXN1bHQudGl0bGUsIEJPT0tTX1JFQ09SRF9EQVRBWzBdLnRpdGxlLCBlcnJvck1lc3NhZ2Up
OwpAQCAtMjQ3LDkgKzI2NCw3IEBAIGZ1bmN0aW9uIGNoZWNrU3RvcmVDb250ZW50cyh0ZXN0Q2Fz
ZSwgc3QKIC8vIGlzIHVzaW5nIGl0IGluY29ycmVjdGx5LgogZnVuY3Rpb24gY2hlY2tBdXRob3JJ
bmRleENvbnRlbnRzKHRlc3RDYXNlLCBpbmRleCwgZXJyb3JNZXNzYWdlKSB7CiAgIGNvbnN0IHJl
cXVlc3QgPSBpbmRleC5nZXQoQk9PS1NfUkVDT1JEX0RBVEFbMl0uYXV0aG9yKTsKLSAgY29uc3Qg
ZXZlbnRXYXRjaGVyID0gcmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOwotICByZXR1
cm4gZXZlbnRXYXRjaGVyLndhaXRfZm9yKCdzdWNjZXNzJykudGhlbigoKSA9PiB7Ci0gICAgY29u
c3QgcmVzdWx0ID0gcmVxdWVzdC5yZXN1bHQ7CisgIHJldHVybiBwcm9taXNlRm9yUmVxdWVzdCh0
ZXN0Q2FzZSwgcmVxdWVzdCkudGhlbihyZXN1bHQgPT4gewogICAgIGFzc2VydF9lcXVhbHMocmVz
dWx0LmlzYm4sIEJPT0tTX1JFQ09SRF9EQVRBWzJdLmlzYm4sIGVycm9yTWVzc2FnZSk7CiAgICAg
YXNzZXJ0X2VxdWFscyhyZXN1bHQudGl0bGUsIEJPT0tTX1JFQ09SRF9EQVRBWzJdLnRpdGxlLCBl
cnJvck1lc3NhZ2UpOwogICB9KTsKQEAgLTI2Myw5ICsyNzgsNyBAQCBmdW5jdGlvbiBjaGVja0F1
dGhvckluZGV4Q29udGVudHModGVzdENhCiAvLyBpcyB1c2luZyBpdCBpbmNvcnJlY3RseS4KIGZ1
bmN0aW9uIGNoZWNrVGl0bGVJbmRleENvbnRlbnRzKHRlc3RDYXNlLCBpbmRleCwgZXJyb3JNZXNz
YWdlKSB7CiAgIGNvbnN0IHJlcXVlc3QgPSBpbmRleC5nZXQoQk9PS1NfUkVDT1JEX0RBVEFbMl0u
dGl0bGUpOwotICBjb25zdCBldmVudFdhdGNoZXIgPSByZXF1ZXN0V2F0Y2hlcih0ZXN0Q2FzZSwg
cmVxdWVzdCk7Ci0gIHJldHVybiBldmVudFdhdGNoZXIud2FpdF9mb3IoJ3N1Y2Nlc3MnKS50aGVu
KCgpID0+IHsKLSAgICBjb25zdCByZXN1bHQgPSByZXF1ZXN0LnJlc3VsdDsKKyAgcmV0dXJuIHBy
b21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KS50aGVuKHJlc3VsdCA9PiB7CiAgICAg
YXNzZXJ0X2VxdWFscyhyZXN1bHQuaXNibiwgQk9PS1NfUkVDT1JEX0RBVEFbMl0uaXNibiwgZXJy
b3JNZXNzYWdlKTsKICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5hdXRob3IsIEJPT0tTX1JFQ09S
RF9EQVRBWzJdLmF1dGhvciwgZXJyb3JNZXNzYWdlKTsKICAgfSk7CkBAIC0yOTAsMyArMzAzLDQx
IEBAIGZ1bmN0aW9uIGxhcmdlVmFsdWUoc2l6ZSwgc2VlZCkgewogCiAgIHJldHVybiBidWZmZXI7
CiB9CisKK2FzeW5jIGZ1bmN0aW9uIGRlbGV0ZUFsbERhdGFiYXNlcyh0ZXN0Q2FzZSkgeworICBj
b25zdCBkYnNfdG9fZGVsZXRlID0gYXdhaXQgaW5kZXhlZERCLmRhdGFiYXNlcygpOworICBmb3Io
IGNvbnN0IGRiX2luZm8gb2YgZGJzX3RvX2RlbGV0ZSkgeworICAgIGxldCByZXF1ZXN0ID0gaW5k
ZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRiX2luZm8ubmFtZSk7CisgICAgbGV0IGV2ZW50V2F0Y2hl
ciA9IHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KTsKKyAgICBhd2FpdCBldmVudFdh
dGNoZXIud2FpdF9mb3IoJ3N1Y2Nlc3MnKTsKKyAgfQorfQorCisvLyBLZWVwcyB0aGUgcGFzc2Vk
IHRyYW5zYWN0aW9uIGFsaXZlIGluZGVmaW5pdGVseSAoYnkgbWFraW5nIHJlcXVlc3RzCisvLyBh
Z2FpbnN0IHRoZSBuYW1lZCBzdG9yZSkuIFJldHVybnMgYSBmdW5jdGlvbiB0aGF0IGFzc2VydHMg
dGhhdCB0aGUKKy8vIHRyYW5zYWN0aW9uIGhhcyBub3QgYWxyZWFkeSBjb21wbGV0ZWQgYW5kIHRo
ZW4gZW5kcyB0aGUgcmVxdWVzdCBsb29wIHNvIHRoYXQKKy8vIHRoZSB0cmFuc2FjdGlvbiBtYXkg
YXV0b2NvbW1pdCBhbmQgY29tcGxldGUuCitmdW5jdGlvbiBrZWVwQWxpdmUodGVzdENhc2UsIHRy
YW5zYWN0aW9uLCBzdG9yZU5hbWUpIHsKKyAgbGV0IGNvbXBsZXRlZCA9IGZhbHNlOworICB0cmFu
c2FjdGlvbi5hZGRFdmVudExpc3RlbmVyKCdjb21wbGV0ZScsICgpID0+IHsgY29tcGxldGVkID0g
dHJ1ZTsgfSk7CisKKyAgbGV0IGtlZXBTcGlubmluZyA9IHRydWU7CisKKyAgZnVuY3Rpb24gc3Bp
bigpIHsKKyAgICBpZiAoIWtlZXBTcGlubmluZykKKyAgICAgIHJldHVybjsKKyAgICB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZShzdG9yZU5hbWUpLmdldCgwKS5vbnN1Y2Nlc3MgPSBzcGluOworICB9
CisgIHNwaW4oKTsKKworICByZXR1cm4gdGVzdENhc2Uuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBh
c3NlcnRfZmFsc2UoY29tcGxldGVkLCAnVHJhbnNhY3Rpb24gY29tcGxldGVkIHdoaWxlIGtlcHQg
YWxpdmUnKTsKKyAgICBrZWVwU3Bpbm5pbmcgPSBmYWxzZTsKKyAgfSk7Cit9CisKKy8vIFJldHVy
biBhIHByb21pc2UgdGhhdCByZXNvbHZlcyBhZnRlciBhIHNldFRpbWVvdXQgZmluaXNoZXMgdG8g
YnJlYWsgdXAgdGhlCisvLyBzY29wZSBvZiBhIGZ1bmN0aW9uJ3MgZXhlY3V0aW9uLgorZnVuY3Rp
b24gdGltZW91dFByb21pc2UobXMpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
eyBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKTsgfSk7Cit9CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdXBwb3J0LmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL3N1cHBvcnQuanMJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N1cHBvcnQuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSwzIEBACi12YXIgZGF0YWJhc2VOYW1lID0gImRhdGFiYXNlIjsKLXZhciBk
YXRhYmFzZVZlcnNpb24gPSAxOwotCiAvKiBEZWxldGUgY3JlYXRlZCBkYXRhYmFzZXMKICAqCiAg
KiBHbyB0aHJvdWdoIGVhY2ggZmluaXNoZWQgdGVzdCwgc2VlIGlmIGl0IGhhcyBhbiBhc3NvY2lh
dGVkIGRhdGFiYXNlLiBDbG9zZQpAQCAtMTcwLDE4ICsxNjcsMTggQEAgZnVuY3Rpb24gaXNfdHJh
bnNhY3Rpb25fYWN0aXZlKHR4LCBzdG9yZQogICB9CiB9CiAKLS8vIEtlZXAgdGhlIHBhc3NlZCB0
cmFuc2FjdGlvbiBhbGl2ZSBpbmRlZmluaXRlbHkgKGJ5IG1ha2luZyByZXF1ZXN0cwotLy8gYWdh
aW5zdCB0aGUgbmFtZWQgc3RvcmUpLiBSZXR1cm5zIGEgZnVuY3Rpb24gdG8gdG8gbGV0IHRoZQot
Ly8gdHJhbnNhY3Rpb24gZmluaXNoLCBhbmQgYXNzZXJ0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBp
cyBub3QgeWV0Ci0vLyBmaW5pc2hlZC4KKy8vIEtlZXBzIHRoZSBwYXNzZWQgdHJhbnNhY3Rpb24g
YWxpdmUgaW5kZWZpbml0ZWx5IChieSBtYWtpbmcgcmVxdWVzdHMKKy8vIGFnYWluc3QgdGhlIG5h
bWVkIHN0b3JlKS4gUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgYXNzZXJ0cyB0aGF0IHRoZQorLy8g
dHJhbnNhY3Rpb24gaGFzIG5vdCBhbHJlYWR5IGNvbXBsZXRlZCBhbmQgdGhlbiBlbmRzIHRoZSBy
ZXF1ZXN0IGxvb3Agc28gdGhhdAorLy8gdGhlIHRyYW5zYWN0aW9uIG1heSBhdXRvY29tbWl0IGFu
ZCBjb21wbGV0ZS4KIGZ1bmN0aW9uIGtlZXBfYWxpdmUodHgsIHN0b3JlX25hbWUpIHsKICAgbGV0
IGNvbXBsZXRlZCA9IGZhbHNlOwogICB0eC5hZGRFdmVudExpc3RlbmVyKCdjb21wbGV0ZScsICgp
ID0+IHsgY29tcGxldGVkID0gdHJ1ZTsgfSk7CiAKLSAgbGV0IHBpbiA9IHRydWU7CisgIGxldCBr
ZWVwU3Bpbm5pbmcgPSB0cnVlOwogCiAgIGZ1bmN0aW9uIHNwaW4oKSB7Ci0gICAgaWYgKCFwaW4p
CisgICAgaWYgKCFrZWVwU3Bpbm5pbmcpCiAgICAgICByZXR1cm47CiAgICAgdHgub2JqZWN0U3Rv
cmUoc3RvcmVfbmFtZSkuZ2V0KDApLm9uc3VjY2VzcyA9IHNwaW47CiAgIH0KQEAgLTE4OSw2ICsx
ODYsNiBAQCBmdW5jdGlvbiBrZWVwX2FsaXZlKHR4LCBzdG9yZV9uYW1lKSB7CiAKICAgcmV0dXJu
ICgpID0+IHsKICAgICBhc3NlcnRfZmFsc2UoY29tcGxldGVkLCAnVHJhbnNhY3Rpb24gY29tcGxl
dGVkIHdoaWxlIGtlcHQgYWxpdmUnKTsKLSAgICBwaW4gPSBmYWxzZTsKKyAgICBrZWVwU3Bpbm5p
bmcgPSBmYWxzZTsKICAgfTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1lLWJsb2NrZWQuaHRt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1lLWJsb2NrZWQuaHRtCShyZXZpc2lvbiAy
NTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS1ibG9ja2VkLmh0bQkod29ya2luZyBjb3B5KQpA
QCAtMTEsNyArMTEsNyBAQAogCiAgICAgdmFyIGRiLCBkYl9nb3RfdmVyc2lvbmNoYW5nZSwgZGIy
LAogICAgICAgICBldmVudHMgPSBbXSwKLSAgICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQu
dGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pOworICAgICAgICB0ID0gYXN5bmNfdGVzdCgpOwogCiAg
ICAgdC5zdGVwKGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgb3BlbnJxID0gaW5kZXhlZERCLm9w
ZW4oJ2RiJywgMyk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS5odG0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJh
bnNhY3Rpb24tbGlmZXRpbWUuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1saWZl
dGltZS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAKIAogICAgIHZhciBkYiwg
ZGJfZ290X3ZlcnNpb25jaGFuZ2UsIGRiMiwKICAgICAgICAgZXZlbnRzID0gW10sCi0gICAgICAg
IHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KTsKKyAgICAg
ICAgdCA9IGFzeW5jX3Rlc3QoKTsKIAogICAgIHQuc3RlcChmdW5jdGlvbigpIHsKICAgICAgICAg
dmFyIG9wZW5ycSA9IGluZGV4ZWREQi5vcGVuKCdkYicsIDMpOwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVs
YXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Ry
YW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55LWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxpdHkudGVudGF0aXZlLmFu
eS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgQ29t
bWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMCAKK1BBU1MgQ29tbWl0dGVk
IGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMSAKK1BBU1MgQ29tbWl0dGVkIGRhdGEg
Y2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMiAKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJl
IHJlYWQgYmFjayBvdXQ6IGNhc2UgMyAKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQg
YmFjayBvdXQ6IGNhc2UgNCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRl
bnRhdGl2ZS5hbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxp
dHkudGVudGF0aXZlLmFueS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQt
ZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0
dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnku
anMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2
ZS5hbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorLy8gTUVUQTogc2NyaXB0
PXN1cHBvcnQtcHJvbWlzZXMuanMKKy8vIE1FVEE6IHRpbWVvdXQ9bG9uZworCisvKioKKyAqIFRo
aXMgZmlsZSBjb250YWlucyB0aGUgd2VicGxhdGZvcm0gc21va2UgdGVzdHMgZm9yIHRoZSBvcHRp
b25hbAorICogcmVsYXhlZER1cmFiaWxpdHkgcGFyYW1ldGVyIG9mIHRoZSBJbmRleGVkREIgdHJh
bnNhY3Rpb24gQVBJLgorICoKKyAqIEBhdXRob3IgZW5uZUBjaHJvbWl1bS5vcmcKKyAqLworCisv
LyBTbW9rZSB0ZXN0IG9wdGlvbmFsIHBhcmFtZXRlciBvbiBJbmRleGVkREIudHJhbnNhY3Rpb24u
CitsZXQgY2FzZXMgPSBbCisgIHVuZGVmaW5lZCwKKyAge30sCisgIHtkdXJhYmlsaXR5OiAiZGVm
YXVsdCJ9LAorICB7ZHVyYWJpbGl0eTogInJlbGF4ZWQifSwKKyAge2R1cmFiaWxpdHk6ICJzdHJp
Y3QifSwKK107CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgY2FzZXMubGVuZ3RoOyArK2kpIHsKKyAg
cHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgICBjb25zdCBkYiA9IGF3YWl0IGNy
ZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgICBjcmVhdGVCb29rc1N0b3JlKHRl
c3RDYXNlLCBkYik7CisgICAgfSk7CisgICAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydi
b29rcyddLCAncmVhZHdyaXRlJywgY2FzZXNbaV0pOworICAgIGNvbnN0IG9iamVjdFN0b3JlID0g
dHhuLm9iamVjdFN0b3JlKCdib29rcycpOworICAgIG9iamVjdFN0b3JlLnB1dCh7aXNibjogJ29u
ZScsIHRpdGxlOiAndGl0bGUxJ30pOworICAgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0
ZXN0Q2FzZSwgdHhuKTsKKworICAgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tz
J10sICdyZWFkb25seScpOworICAgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIub2JqZWN0U3Rv
cmUoJ2Jvb2tzJyk7CisgICAgY29uc3QgZ2V0VGl0bGUxID0gb2JqZWN0U3RvcmUyLmdldCgnb25l
Jyk7CisgICAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4yKTsKKyAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKAorICAgICAgICBbZ2V0VGl0bGUxLnJlc3VsdC50aXRsZV0s
CisgICAgICAgIFsndGl0bGUxJ10sCisgICAgICAgICdUaGUgdGl0bGUgc2hvdWxkIG1hdGNoIHRo
YXQgd2hpY2ggd2FzIHB1dC4nKTsKKyAgICBkYi5jbG9zZSgpOworICB9LCAnQ29tbWl0dGVkIGRh
dGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgJyArIGkpOworfQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24t
cmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJp
bGl0eS50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw3IEBACisKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6
IGNhc2UgMCAKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2Ug
MSAKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMiAKK1BB
U1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMyAKK1BBU1MgQ29t
bWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgNCAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rp
b24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkud29ya2VyLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkud29ya2VyLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2
ZS5hbnkud29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0
aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJh
bnNhY3Rpb24tcmVxdWVzdHF1ZXVlLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZXF1ZXN0
cXVldWUuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZXF1ZXN0cXVldWUuaHRt
CSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogCiA8c2NyaXB0PgogCi12YXIgZGIsIHQg
PSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwKK3ZhciBkYiwg
dCA9IGFzeW5jX3Rlc3QoKSwKICAgICBrZXlzID0geyB0eG46IFtdLCB0eG4yOiBbXSB9LAogICAg
IG9wZW5fcnEgPSBjcmVhdGVkYih0KQogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbl9idWJibGUtYW5kLWNhcHR1
cmUuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uX2J1YmJsZS1hbmQtY2FwdHVyZS5odG0JKHJl
dmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uX2J1YmJsZS1hbmQtY2FwdHVyZS5odG0JKHdvcmtp
bmcgY29weSkKQEAgLTksNyArOSw3IEBACiA8c2NyaXB0PgogICAgIHZhciBldmVudHMgPSBbXTsK
IAotICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwg
e3RpbWVvdXQ6IDEwMDAwfSkpOworICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVz
dCgpKTsKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKICAgICAg
ICAgdmFyIGRiID0gZS50YXJnZXQucmVzdWx0OwogICAgICAgICB2YXIgdHhuID0gZS50YXJnZXQu
dHJhbnNhY3Rpb247CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi93M2MtaW1wb3J0Lmxv
ZwkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
NyArMSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApAQCAtMTQs
MTEgKzE0LDEzIEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGUKIE5v
bmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9PV05FUlMKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9NRVRBLnltbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL1JFQURNRS5t
ZAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2Fib3J0LWluLWluaXRpYWwtdXBncmFkZW5lZWRlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmlnaW50X3ZhbHVlLmh0bQotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRp
bmdzLWluamVjdC1rZXkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXlzLWJ5cGFzcy1zZXR0ZXJzLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9iaW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1jaGFpbi5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0
LXZhbHVlcy1ieXBhc3Mtc2V0dGVycy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvY2xvbmUtYmVmb3JlLWtleXBhdGgtZXZhbC5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
Y2xvc2UtaW4tdXBncmFkZW5lZWRlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvY3Vyc29yLW92ZXJsb2Fkcy5odG0KQEAgLTI4LDEw
ICszMCwxMyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtZXJyb3ItZXZlbnQtZXhjZXB0aW9uLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9m
aXJlLXN1Y2Nlc3MtZXZlbnQtZXhjZXB0aW9uLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLXVwZ3JhZGVuZWVkZWQtZXZlbnQt
ZXhjZXB0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dsb2JhbHNjb3BlLWluZGV4ZWREQi1T
YW1lT2JqZWN0Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9oaXN0b3JpY2FsLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItYmluYXJ5LWtleS1kZXRhY2hlZC5odG0K
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGItYmluYXJ5LWtleS1yb3VuZHRyaXAuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnku
anMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGItZXhwbGljaXQtY29tbWl0LmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYl9iaW5hcnlfa2V5X2NvbnZlcnNpb24uaHRt
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiX3dlYndvcmtlcnMuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWFkdmFuY2UtY29udGludWUtYXN5bmMuaHRtCkBA
IC01Myw2ICs1OCw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWtleS5odG0KIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3It
cHJpbWFyeWtleS5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC1zb3VyY2UuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1yZXF1
ZXN0LmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmN1cnNvci1yZXVzZWQuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXNvdXJjZS5odG0KIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJz
b3ItdXBkYXRlLWV4Y2VwdGlvbi1vcmRlci5odG0KQEAgLTE0MywxMiArMTQ5LDE0IEBAIExpc3Qg
b2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRiZGF0YWJhc2VfdHJhbnNhY3Rpb24zLmh0bQogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX3RyYW5zYWN0
aW9uNC5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJkYXRhYmFzZV90cmFuc2FjdGlvbjUuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1kYXRhYmFzZXMt
b3BhcXVlLW9yaWdpbi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1kZWxldGVEYXRhYmFzZS1vcGFxdWUtb3JpZ2lu
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJmYWN0b3J5LWRlbGV0ZURhdGFiYXNlLXJlcXVlc3Qtc3VjY2Vzcy5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFj
dG9yeS1vcGVuLWVycm9yLXByb3BlcnRpZXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnktb3Blbi1vcGFxdWUtb3Jp
Z2luLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJmYWN0b3J5LW9wZW4tcmVxdWVzdC1lcnJvci5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1vcGVu
LXJlcXVlc3Qtc3VjY2Vzcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1vcmlnaW4taXNvbGF0aW9uLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJm
YWN0b3J5X2NtcC5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X2NtcDIuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9jbXAzLmh0bQpAQCAt
MjAzLDYgKzIxMSw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfZ2V0S2V5Ny5odG0KIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRl
eF9nZXRLZXk4Lmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmluZGV4X2luZGV4TmFtZXMuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfa2V5UGF0aC5hbnku
anMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJpbmRleF9vcGVuQ3Vyc29yLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29wZW5DdXJzb3IyLmh0bQogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4
X29wZW5DdXJzb3IzLmh0bQpAQCAtMjg1LDYgKzI5NCw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2Jq
ZWN0c3RvcmVfZ2V0QWxsS2V5cy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZ2V0S2V5Lmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmpl
Y3RzdG9yZV9pbmRleC5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS5qcwogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX29wZW5DdXJzb3IuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfb3BlbkN1cnNvcl9pbnZhbGlkLmh0bQog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Ym9iamVjdHN0b3JlX29wZW5LZXlDdXJzb3IuaHRtCkBAIC0zMTYsOCArMzI2LDggQEAgTGlzdCBv
ZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJ0cmFuc2FjdGlvbl9vYmplY3RTdG9yZU5hbWVzLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ2ZXJzaW9uY2hh
bmdlZXZlbnQuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRid29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkuanMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbmRleF9zb3J0X29yZGVy
Lmh0bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2ludGVyZmFjZXMuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJsZWF2ZWQtY3Vyc29ycy1jb21tb24uanMKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmxl
YXZlZC1jdXJzb3JzLWxhcmdlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmxlYXZlZC1jdXJzb3JzLXNtYWxsLmh0bWwKQEAg
LTM0OSw2ICszNTksNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3JlcXVlc3QtZXZlbnQtb3JkZXJpbmcuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3JlcXVlc3RfYnViYmxlLWFuZC1jYXB0dXJlLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cmluZy1saXN0LW9yZGVyaW5nLmh0bQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0
cnVjdHVyZWQtY2xvbmUuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvc3VwcG9ydC1wcm9taXNlcy5qcwogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N1cHBvcnQuanMKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2Fj
dGlvbi1hYm9ydC1nZW5lcmF0b3ItcmV2ZXJ0Lmh0bWwKQEAgLTM2MSw2ICszNzIsNyBAQCBMaXN0
IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1lLWJsb2NrZWQuaHRtCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tbGlm
ZXRpbWUtZW1wdHkuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1lLmh0bQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4
ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVxdWVzdHF1ZXVlLmh0
bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3RyYW5zYWN0aW9uX2J1YmJsZS1hbmQtY2FwdHVyZS5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi91cGdyYWRlLXRyYW5zYWN0aW9uLWRl
YWN0aXZhdGlvbi10aW1pbmcuaHRtbApAQCAtMzY5LDUgKzM4MSw0IEBAIExpc3Qgb2YgZmlsZXM6
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
dXBncmFkZS10cmFuc2FjdGlvbi1saWZlY3ljbGUtdXNlci1hYm9ydGVkLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi92YWx1ZS5odG0K
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi92
YWx1ZV9yZWN1cnNpdmUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvd2FzbS1tb2R1bGUtdmFsdWUuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRlci1zdGFydmF0aW9u
Lmh0bQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvd2FzbS1tb2R1bGUtdmFsdWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dhc20t
bW9kdWxlLXZhbHVlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvd2FzbS1tb2R1bGUt
dmFsdWUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi0KLUZBSUwg
V2ViQXNzZW1ibHkgbW9kdWxlIGFzIGFuIEluZGV4ZWREQiB2YWx1ZSBUaGUgb2JqZWN0IGNhbiBu
b3QgYmUgY2xvbmVkLgotRkFJTCBXZWJBc3NlbWJseSBtb2R1bGUgaW4gYSBKYXZhU2NyaXB0IG9i
amVjdCBJbmRleGVkREIgdmFsdWUgVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4KLUZBSUwg
V2ViQXNzZW1ibHkgbW9kdWxlIGluIGFuIEluZGV4ZWREQiB2YWx1ZSB3aXRoIGFuIGlubGluZSBr
ZXkgVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4KLQpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvd2FzbS1tb2R1bGUtdmFsdWUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi93YXNtLW1vZHVsZS12YWx1ZS5odG1sCShyZXZpc2lvbiAyNTAyNjAp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi93YXNtLW1vZHVsZS12YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTA5ICswLDAgQEAK
LTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bWV0YSBuYW1lPSJ0aW1l
b3V0IiBjb250ZW50PSJsb25nIj4KLTx0aXRsZT5JbmRleGVkREI6IFdlYkFzc2VtYmx5IG1vZHVs
ZSB2YWx1ZXM8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRo
dWIuaW8vSW5kZXhlZERCLyI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd2ViYXNz
ZW1ibHkuZ2l0aHViLmlvL3NwZWMvIj4KLTxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJwd25hbGxA
Y2hyb21pdW0ub3JnIiB0aXRsZT0iVmljdG9yIENvc3RhbiI+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ic3VwcG9ydC1wcm9t
aXNlcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotJ3VzZSBzdHJpY3QnOwotCi0vLyBCaW5hcnkg
cmVwcmVzZW50YXRpb24gZm9yIGEgV0FTTSBtb2R1bGUgdGhhdCBleHBvcnRzIGFuICJpbmMiIGZ1
bmN0aW9uLgotLy8KLS8vIFRoaXMgdGVzdCBjb3ZlcnMgc3RvcmluZyBXQVNNIG1vZHVsZXMgaW4g
SW5kZXhlZERCLiBJdHMgZmFpbHVyZSBzaG91bGQgb25seQotLy8gYmUgZGVidWdnZWQgaWYgV0FT
TSBzcGVjaWZpY2F0aW9uIHRlc3RzIHBhc3MuIFRvIHRoaXMgZW5kLCB0aGUgdGVzdCBkb2VzIG5v
dAotLy8gdXNlIHRoZSBXQVNNIG1vZHVsZSBidWlsZGVyIGhlbHBlcnMsIHRyYWRpbmcgb2ZmIFdB
U00gZGVidWdnYWJpbGl0eSBpbiByZXR1cm4KLS8vIGZvciBoYXZpbmcgdGhlIFdBU00gd2lyZSBi
eXRlcyBsaXN0ZWQgZXhwbGljaXRseSBpbiB0aGUgdGVzdCBib2R5LiBIYXZpbmcgdGhlCi0vLyB3
aXJlIGJ5dGVzIHNwZWxsZWQgb3V0IGNhbiBiZSBoZWxwZnVsIHdoZW4gZGVidWdnaW5nIEluZGV4
ZWREQiBmYWlsdXJlcy4KLWxldCB3YXNtX21vZHVsZV9ieXRlcyA9IG5ldyBVaW50OEFycmF5KFsK
LSAgMHgwMCwgMHg2MSwgMHg3MywgMHg2ZCwgIC8vIE1hZ2ljLgotICAweDAxLCAweDAwLCAweDAw
LCAweDAwLCAgLy8gVmVyc2lvbi4KLSAgMHgwMSwgMHgwNiwgMHgwMSwgICAgICAgICAgICAgIC8v
IFR5cGUgc2VjdGlvbiAtIDYgYnl0ZXMsIDEgZW50cnkKLSAgMHg2MCwgMHgwMSwgMHg3ZiwgMHgw
MSwgMHg3ZiwgIC8vIFR5cGUgMC4gRnVuY3Rpb246IChpMzIpIC0+IChpMzIpCi0gIDB4MDMsIDB4
MDIsIDB4MDEsICAgLy8gRnVuY3Rpb24gc2VjdGlvbiAtIDIgYnl0ZXMsIDEgZW50cnkKLSAgMHgw
MCwgICAgICAgICAgICAgICAvLyBGdW5jdGlvbiAwOiBUeXBlIDAKLSAgMHgwNywgMHgwNywgMHgw
MSwgICAgICAgICAgICAgIC8vIEV4cG9ydCBzZWN0aW9uIC0gNyBieXRlcywgMSBlbnRyeQotICAw
eDAzLCAweDY5LCAweDZlLCAweDYzLCAgICAgICAgLy8gRXhwb3J0IDEuIHsgbmFtZTogImluYyIK
LSAgMHgwMCwgMHgwMCwgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGRlc2M6IGZ1
bmN0aW9uIDAgfQotICAweDBhLCAweDA5LCAweDAxLCAgLy8gQ29kZSBzZWN0aW9uOiA5IGJ5dGVz
LCAxIGVudHJ5Ci0gIDB4MDcsIDB4MDAsICAgICAgICAvLyBGdW5jdGlvbiAxOiA3IGNvZGUgYnl0
ZXMsIDAgbG9jYWxzCi0gIDB4MjAsIDB4MDAsICAgICAgICAvLyAgIGdldGxvY2FsIDAKLSAgMHg0
MSwgMHgwMSwgICAgICAgIC8vICAgaTMyLmNvbnN0IDEKLSAgMHg2YSwgICAgICAgICAgICAgIC8v
ICAgaTMyLmFkZAotICAweDBiLCAgICAgICAgICAgICAgLy8gICBlbmQKLV0pOwotCi1wcm9taXNl
X3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewotICBjb25zdCB3YXNtX21vZHVsZSA9IGF3YWl0IFdl
YkFzc2VtYmx5LmNvbXBpbGUod2FzbV9tb2R1bGVfYnl0ZXMuYnVmZmVyKTsKLQotICBjb25zdCBk
YXRhYmFzZSA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCAoZGF0YWJhc2UsIHRyYW5z
YWN0aW9uKSA9PiB7Ci0gICAgY29uc3Qgc3RvcmUgPSBkYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9y
ZSgnc3RvcmUnKTsKLSAgICBzdG9yZS5wdXQod2FzbV9tb2R1bGUsICdrZXkxJyk7Ci0gIH0pOwot
Ci0gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+
IHsKLSAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUn
XSwgJ3JlYWRvbmx5Jyk7Ci0gICAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmUnKTsKLSAgICBjb25zdCByZXF1ZXN0ID0gc3RvcmUuZ2V0KCdrZXkxJyk7Ci0gICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSAoZXZlbnQpID0+IHJlc29sdmUoZXZlbnQudGFyZ2V0LnJlc3Vs
dCk7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gKGV2ZW50KSA9PiByZWplY3QoZXZlbnQudGFyZ2V0
LmVycm9yKTsKLSAgfSk7Ci0KLSAgZGF0YWJhc2UuY2xvc2UoKTsKLQotICBjb25zdCBpbnN0YW5j
ZSA9IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKHJlc3VsdCk7Ci0gIGFzc2VydF9lcXVh
bHMoCi0gICAgICBpbnN0YW5jZS5leHBvcnRzWydpbmMnXSg0MiksIDQzLCAnaW5jIHNob3VsZCBp
bmNyZW1lbnQgaXRzIGFyZ3VtZW50Jyk7Ci19LCAnV2ViQXNzZW1ibHkgbW9kdWxlIGFzIGFuIElu
ZGV4ZWREQiB2YWx1ZScpOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewotICBj
b25zdCB3YXNtX21vZHVsZSA9IGF3YWl0IFdlYkFzc2VtYmx5LmNvbXBpbGUod2FzbV9tb2R1bGVf
Ynl0ZXMuYnVmZmVyKTsKLQotICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IGNyZWF0ZURhdGFiYXNl
KHRlc3RDYXNlLCAoZGF0YWJhc2UsIHRyYW5zYWN0aW9uKSA9PiB7Ci0gICAgY29uc3Qgc3RvcmUg
PSBkYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKLSAgICBzdG9yZS5wdXQoeyBt
b2R1bGU6IHdhc21fbW9kdWxlIH0sICdrZXkxJyk7Ci0gIH0pOwotCi0gIGNvbnN0IHJlc3VsdCA9
IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICBjb25zdCB0cmFu
c2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7Ci0g
ICAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKLSAgICBj
b25zdCByZXF1ZXN0ID0gc3RvcmUuZ2V0KCdrZXkxJyk7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSAoZXZlbnQpID0+IHJlc29sdmUoZXZlbnQudGFyZ2V0LnJlc3VsdCk7Ci0gICAgcmVxdWVzdC5v
bmVycm9yID0gKGV2ZW50KSA9PiByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTsKLSAgfSk7Ci0K
LSAgZGF0YWJhc2UuY2xvc2UoKTsKLQotICBjb25zdCBpbnN0YW5jZSA9IGF3YWl0IFdlYkFzc2Vt
Ymx5Lmluc3RhbnRpYXRlKHJlc3VsdC5tb2R1bGUpOwotICBhc3NlcnRfZXF1YWxzKAotICAgICAg
aW5zdGFuY2UuZXhwb3J0c1snaW5jJ10oNDIpLCA0MywgJ2luYyBzaG91bGQgaW5jcmVtZW50IGl0
cyBhcmd1bWVudCcpOwotfSwgJ1dlYkFzc2VtYmx5IG1vZHVsZSBpbiBhIEphdmFTY3JpcHQgb2Jq
ZWN0IEluZGV4ZWREQiB2YWx1ZScpOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4g
ewotICBjb25zdCB3YXNtX21vZHVsZSA9IGF3YWl0IFdlYkFzc2VtYmx5LmNvbXBpbGUod2FzbV9t
b2R1bGVfYnl0ZXMuYnVmZmVyKTsKLQotICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IGNyZWF0ZURh
dGFiYXNlKHRlc3RDYXNlLCAoZGF0YWJhc2UsIHRyYW5zYWN0aW9uKSA9PiB7Ci0gICAgY29uc3Qg
c3RvcmUgPSBkYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnLCB7IGtleVBhdGg6ICdr
ZXknIH0pOwotICAgIHN0b3JlLnB1dCh7IGtleTogJ2tleTEnLCBtb2R1bGU6IHdhc21fbW9kdWxl
IH0pOwotICB9KTsKLQotICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7Ci0gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50cmFuc2Fj
dGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOwotICAgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7Ci0gICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldCgn
a2V5MScpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gKGV2ZW50KSA9PiByZXNvbHZlKGV2ZW50
LnRhcmdldC5yZXN1bHQpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IChldmVudCkgPT4gcmVqZWN0
KGV2ZW50LnRhcmdldC5lcnJvcik7Ci0gIH0pOwotCi0gIGRhdGFiYXNlLmNsb3NlKCk7Ci0KLSAg
YXNzZXJ0X2VxdWFscygna2V5MScsIHJlc3VsdC5rZXkpOwotICBjb25zdCBpbnN0YW5jZSA9IGF3
YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKHJlc3VsdC5tb2R1bGUpOwotICBhc3NlcnRfZXF1
YWxzKAotICAgICAgaW5zdGFuY2UuZXhwb3J0c1snaW5jJ10oNDIpLCA0MywgJ2luYyBzaG91bGQg
aW5jcmVtZW50IGl0cyBhcmd1bWVudCcpOwotfSwgJ1dlYkFzc2VtYmx5IG1vZHVsZSBpbiBhbiBJ
bmRleGVkREIgdmFsdWUgd2l0aCBhbiBpbmxpbmUga2V5Jyk7Ci0KLTwvc2NyaXB0PgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvd3Jp
dGVyLXN0YXJ2YXRpb24uaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRlci1zdGFydmF0aW9uLmh0bQkocmV2
aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvd3JpdGVyLXN0YXJ2YXRpb24uaHRtCSh3b3JraW5nIGNvcHkpCkBAIC0x
Miw3ICsxMiw3IEBACiAgICAgdmFyIHdyaXRlX3JlcXVlc3RfY291bnQgPSAwLCB3cml0ZV9zdWNj
ZXNzX2NvdW50ID0gMDsKICAgICB2YXIgUlFfQ09VTlQgPSAyNTsKIAotICAgIHZhciBvcGVuX3Jx
ID0gY3JlYXRlZGIoYXN5bmNfdGVzdCh1bmRlZmluZWQsIHt0aW1lb3V0OiAyMDAwMH0pKTsKKyAg
ICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QodW5kZWZpbmVkKSk7CiAgICAgb3Bl
bl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIGRiID0gZS50YXJn
ZXQucmVzdWx0OwogICAgICAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgicyIpCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtY29tbW9uLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1n
ZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1jb21tb24uanMJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
a2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWNvbW1vbi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDkzIEBACisvLyBSZXR1cm5zIHRoZSAibmFtZSIgcHJvcGVydHkgd3Jp
dHRlbiB0byB0aGUgb2JqZWN0IHdpdGggdGhlIGdpdmVuIElELgorZnVuY3Rpb24gbmFtZUZvcklk
KGlkKSB7CisgIHJldHVybiBgT2JqZWN0ICR7aWR9YDsKK30KKworLy8gSW5pdGlhbCBkYXRhYmFz
ZSBzZXR1cCB1c2VkIGJ5IGFsbCB0aGUgcmVhZGluZy1hdXRvaW5jcmVtZW50IHRlc3RzLgorYXN5
bmMgZnVuY3Rpb24gc2V0dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2UpIHsKKyAgY29u
c3QgZGF0YWJhc2UgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgZGF0YWJhc2UgPT4g
eworICAgIGNvbnN0IHN0b3JlID0gZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoCisgICAgICAg
ICdzdG9yZScsIHsgYXV0b0luY3JlbWVudDogdHJ1ZSwga2V5UGF0aDogJ2lkJyB9KTsKKyAgICBz
dG9yZS5jcmVhdGVJbmRleCgnYnlfbmFtZScsICduYW1lJywgeyB1bmlxdWU6IHRydWUgfSk7Cisg
ICAgc3RvcmUuY3JlYXRlSW5kZXgoJ2J5X2lkJywgJ2lkJywgeyB1bmlxdWU6IHRydWUgfSk7CisK
KyAgICAvLyBDb3ZlciB3cml0aW5nIGZyb20gdGhlIGluaXRpYWwgdXBncmFkZSB0cmFuc2FjdGlv
bi4KKyAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxNjsgKytpKSB7CisgICAgICBpZiAoaSAlIDIg
PT0gMCkgeworICAgICAgICBzdG9yZS5wdXQoe25hbWU6IG5hbWVGb3JJZChpKSwgaWQ6IGl9KTsK
KyAgICAgIH0gZWxzZSB7CisgICAgICAgIHN0b3JlLnB1dCh7bmFtZTogbmFtZUZvcklkKGkpfSk7
CisgICAgICB9CisgICAgfQorICB9KTsKKworICAvLyBDb3ZlciB3cml0aW5nIGZyb20gYSBzdWJz
ZXF1ZW50IHRyYW5zYWN0aW9uLgorICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5z
YWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWR3cml0ZScpOworICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworICBmb3IgKGxldCBpID0gMTc7IGkgPD0gMzI7ICsr
aSkgeworICAgIGlmIChpICUgMiA9PSAwKSB7CisgICAgICBzdG9yZS5wdXQoe25hbWU6IG5hbWVG
b3JJZChpKSwgaWQ6IGl9KTsKKyAgICB9IGVsc2UgeworICAgICAgc3RvcmUucHV0KHtuYW1lOiBu
YW1lRm9ySWQoaSl9KTsKKyAgICB9CisgIH0KKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9u
KHRlc3RDYXNlLCB0cmFuc2FjdGlvbik7CisKKyAgcmV0dXJuIGRhdGFiYXNlOworfQorCisvLyBS
ZXR1cm5zIHRoZSBJRHMgdXNlZCBieSB0aGUgb2JqZWN0IHN0b3JlLCBzb3J0ZWQgYXMgc3RyaW5n
cy4KKy8vCisvLyBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBjb3JyZWN0IG9yZGVyIG9m
IHJlY29yZHMgd2hlbiByZXRyaWV2ZWQgZnJvbSBhbgorLy8gaW5kZXggdGhhdCB1c2VzIHN0cmlu
Z2lmaWVkIElEcy4KK2Z1bmN0aW9uIGlkc1NvcnRlZEJ5U3RyaW5nQ29tcGFyZSgpIHsKKyAgY29u
c3Qgc3RyaW5nSWRzID0gW107CisgIGZvciAobGV0IGkgPSAxOyBpIDw9IDMyOyArK2kpCisgICAg
c3RyaW5nSWRzLnB1c2goaSk7CisgIHN0cmluZ0lkcy5zb3J0KChhLCBiKSA9PiBpbmRleGVkREIu
Y21wKGAke2F9YCwgYCR7Yn1gKSk7CisgIHJldHVybiBzdHJpbmdJZHM7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIGl0ZXJhdGVDdXJzb3IodGVzdENhc2UsIGN1cnNvclJlcXVlc3QsIGNhbGxiYWNrKSB7
CisgIC8vIFRoaXMgdXNlcyByZXF1ZXN0V2F0Y2hlcigpIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNp
bmcgcHJvbWlzZUZvclJlcXVlc3QoKQorICAvLyBpbnNpZGUgdGhlIGxvb3AgdG8gYXZvaWQgY3Jl
YXRpbmcgbXVsdGlwbGUgRXZlbnRXYXRjaGVyIGluc3RhbmNlcy4gSW4gdHVybiwKKyAgLy8gdGhp
cyBhdm9pZHMgZW5kaW5nIHVwIHdpdGggTyhOKSBsaXN0ZW5lcnMgZm9yIHRoZSByZXF1ZXN0IGFu
ZCBPKE5eMikKKyAgLy8gZGlzcGF0Y2hlZCBldmVudHMuCisgIGNvbnN0IGV2ZW50V2F0Y2hlciA9
IHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCBjdXJzb3JSZXF1ZXN0KTsKKyAgd2hpbGUgKHRydWUp
IHsKKyAgICBjb25zdCBldmVudCA9IGF3YWl0IGV2ZW50V2F0Y2hlci53YWl0X2Zvcignc3VjY2Vz
cycpOworICAgIGNvbnN0IGN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgaWYgKGN1
cnNvciA9PT0gbnVsbCkKKyAgICAgIHJldHVybjsKKyAgICBjYWxsYmFjayhjdXJzb3IpOworICAg
IGN1cnNvci5jb250aW51ZSgpOworICB9Cit9CisKKy8vIFJldHVybnMgZXF1aXZhbGVudCBpbmZv
cm1hdGlvbiB0byBnZXRBbGxLZXlzKCkgYnkgaXRlcmF0aW5nIGEgY3Vyc29yLgorLy8KKy8vIFJl
dHVybnMgYW4gYXJyYXkgd2l0aCBvbmUgZGljdGlvbmFyeSBwZXIgZW50cnkgaW4gdGhlIHNvdXJj
ZS4gVGhlIGRpY3Rpb25hcnkKKy8vIGhhcyB0aGUgcHJvcGVydGllcyAia2V5IiBhbmQgInByaW1h
cnlLZXkiLgorYXN5bmMgZnVuY3Rpb24gZ2V0QWxsS2V5c1ZpYUN1cnNvcih0ZXN0Q2FzZSwgY3Vy
c29yU291cmNlKSB7CisgIGNvbnN0IHJlc3VsdHMgPSBbXTsKKyAgYXdhaXQgaXRlcmF0ZUN1cnNv
cih0ZXN0Q2FzZSwgY3Vyc29yU291cmNlLm9wZW5LZXlDdXJzb3IoKSwgY3Vyc29yID0+IHsKKyAg
ICByZXN1bHRzLnB1c2goeyBrZXk6IGN1cnNvci5rZXksIHByaW1hcnlLZXk6IGN1cnNvci5wcmlt
YXJ5S2V5IH0pOworICB9KTsKKyAgcmV0dXJuIHJlc3VsdHM7Cit9CisKKy8vIFJldHVybnMgZXF1
aXZhbGVudCBpbmZvcm1hdGlvbiB0byBnZXRBbGwoKSBieSBpdGVyYXRpbmcgYSBjdXJzb3IuCisv
LworLy8gUmV0dXJucyBhbiBhcnJheSB3aXRoIG9uZSBkaWN0aW9uYXJ5IHBlciBlbnRyeSBpbiB0
aGUgc291cmNlLiBUaGUgZGljdGlvbmFyeQorLy8gaGFzIHRoZSBwcm9wZXJ0aWVzICJrZXkiLCAi
cHJpbWFyeUtleSIgYW5kICJ2YWx1ZSIuCithc3luYyBmdW5jdGlvbiBnZXRBbGxWaWFDdXJzb3Io
dGVzdENhc2UsIGN1cnNvclNvdXJjZSkgeworICBjb25zdCByZXN1bHRzID0gW107CisgIGF3YWl0
IGl0ZXJhdGVDdXJzb3IodGVzdENhc2UsIGN1cnNvclNvdXJjZS5vcGVuQ3Vyc29yKCksIGN1cnNv
ciA9PiB7CisgICAgcmVzdWx0cy5wdXNoKHsKKyAgICAgIGtleTogY3Vyc29yLmtleSwKKyAgICAg
IHByaW1hcnlLZXk6IGN1cnNvci5wcmltYXJ5S2V5LAorICAgICAgdmFsdWU6IGN1cnNvci52YWx1
ZSwKKyAgICB9KTsKKyAgfSk7CisgIHJldHVybiByZXN1bHRzOworfQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRl
eGVzLWN1cnNvcnMuYW55LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9y
ZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS1leHBlY3RlZC50eHQJKG5v
bmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMt
Y3Vyc29ycy5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAor
CitQQVNTIElEQkluZGV4Lm9wZW5DdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG9uIHRo
ZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXgub3BlbktleUN1cnNvcigpIGl0ZXJh
dGVzIG92ZXIgYW4gaW5kZXggb24gdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRl
eC5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1
dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMg
b3ZlciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9r
ZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRl
eGVzLWN1cnNvcnMuYW55Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGlu
Zy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3Qg
aW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQt
aW5kZXhlcy1jdXJzb3JzLmFueS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5n
LWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5qcwkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXkt
Z2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDg4IEBACisvLyBNRVRBOiBnbG9iYWw9d2luZG93LGRl
ZGljYXRlZHdvcmtlcixzaGFyZWR3b3JrZXIsc2VydmljZXdvcmtlcgorLy8gTUVUQTogc2NyaXB0
PS4uL3N1cHBvcnQtcHJvbWlzZXMuanMKKy8vIE1FVEE6IHNjcmlwdD0uL3JlYWRpbmctYXV0b2lu
Y3JlbWVudC1jb21tb24uanMKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAg
Y29uc3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNyZW1lbnREYXRhYmFzZSh0ZXN0Q2Fz
ZSk7CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50cmFuc2FjdGlvbihbJ3N0b3Jl
J10sICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3Jl
KCdzdG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3JlLmluZGV4KCdieV9pZCcpOworCisgIGNv
bnN0IHJlc3VsdCA9IGF3YWl0IGdldEFsbFZpYUN1cnNvcih0ZXN0Q2FzZSwgaW5kZXgpOworICBh
c3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0g
MzI7ICsraSkgeworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5rZXksIGksICdBdXRv
aW5jcmVtZW50IGluZGV4IGtleScpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5w
cmltYXJ5S2V5LCBpLCAnQXV0b2luY3JlbWVudCBwcmltYXJ5IGtleScpOworICAgIGFzc2VydF9l
cXVhbHMocmVzdWx0W2kgLSAxXS52YWx1ZS5pZCwgaSwgJ0F1dG9pbmNyZW1lbnQga2V5IGluIHZh
bHVlJyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnZhbHVlLm5hbWUsIG5hbWVG
b3JJZChpKSwKKyAgICAgICAgICAgICAgICAgICdTdHJpbmcgcHJvcGVydHkgaW4gdmFsdWUnKTsK
KyAgfQorCisgIGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCSW5kZXgub3BlbkN1cnNvcigpIGl0
ZXJhdGVzIG92ZXIgYW4gaW5kZXggb24gdGhlIGF1dG9pbmNyZW1lbnQga2V5Jyk7CisKK3Byb21p
c2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0
dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9u
ID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qg
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgY29uc3QgaW5kZXgg
PSBzdG9yZS5pbmRleCgnYnlfaWQnKTsKKworICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRBbGxL
ZXlzVmlhQ3Vyc29yKHRlc3RDYXNlLCBpbmRleCk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxl
bmd0aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNzZXJ0
X2VxdWFscyhyZXN1bHRbaSAtIDFdLmtleSwgaSwgJ0F1dG9pbmNyZW1lbnQgaW5kZXgga2V5Jyk7
CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnByaW1hcnlLZXksIGksICdBdXRvaW5j
cmVtZW50IHByaW1hcnkga2V5Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lE
QkluZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG9uIHRoZSBhdXRv
aW5jcmVtZW50IGtleScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBj
b25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNl
KTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUn
XSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlJyk7CisgIGNvbnN0IGluZGV4ID0gc3RvcmUuaW5kZXgoJ2J5X25hbWUnKTsKKworICBj
b25zdCBzdHJpbmdTb3J0ZWRJZHMgPSBpZHNTb3J0ZWRCeVN0cmluZ0NvbXBhcmUoKTsKKworICBj
b25zdCByZXN1bHQgPSBhd2FpdCBnZXRBbGxWaWFDdXJzb3IodGVzdENhc2UsIGluZGV4KTsKKyAg
YXNzZXJ0X2VxdWFscyhyZXN1bHQubGVuZ3RoLCAzMik7CisgIGZvciAobGV0IGkgPSAxOyBpIDw9
IDMyOyArK2kpIHsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0ua2V5LCBuYW1lRm9y
SWQoc3RyaW5nU29ydGVkSWRzW2kgLSAxXSksCisgICAgICAgICAgICAgICAgICAnSW5kZXgga2V5
Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnByaW1hcnlLZXksIHN0cmluZ1Nv
cnRlZElkc1tpIC0gMV0sCisgICAgICAgICAgICAgICAgICAnQXV0b2luY3JlbWVudCBwcmltYXJ5
IGtleScpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS52YWx1ZS5pZCwgc3RyaW5n
U29ydGVkSWRzW2kgLSAxXSwKKyAgICAgICAgICAgICAgICAgICdBdXRvaW5jcmVtZW50IGtleSBp
biB2YWx1ZScpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS52YWx1ZS5uYW1lLCBu
YW1lRm9ySWQoc3RyaW5nU29ydGVkSWRzW2kgLSAxXSksCisgICAgICAgICAgICAgICAgICAnU3Ry
aW5nIHByb3BlcnR5IGluIHZhbHVlJyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwg
J0lEQkluZGV4Lm9wZW5DdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG5vdCBjb3Zlcmlu
ZyB0aGUgJyArCisgICAnYXV0b2luY3JlbWVudCBrZXknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNyZW1l
bnREYXRhYmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50
cmFuc2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3JlLmluZGV4
KCdieV9uYW1lJyk7CisKKyAgY29uc3Qgc3RyaW5nU29ydGVkSWRzID0gaWRzU29ydGVkQnlTdHJp
bmdDb21wYXJlKCk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0QWxsS2V5c1ZpYUN1cnNv
cih0ZXN0Q2FzZSwgaW5kZXgpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsK
KyAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7ICsraSkgeworICAgIGFzc2VydF9lcXVhbHMocmVz
dWx0W2kgLSAxXS5rZXksIG5hbWVGb3JJZChzdHJpbmdTb3J0ZWRJZHNbaSAtIDFdKSwKKyAgICAg
ICAgICAgICAgICAgICdJbmRleCBrZXknKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0g
MV0ucHJpbWFyeUtleSwgc3RyaW5nU29ydGVkSWRzW2kgLSAxXSwKKyAgICAgICAgICAgICAgICAg
ICdBdXRvaW5jcmVtZW50IHByaW1hcnkga2V5Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgp
OworfSwgJ0lEQkluZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG5v
dCBjb3ZlcmluZyB0aGUgJyArCisgICAnYXV0b2luY3JlbWVudCBrZXknKTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQt
aW5kZXhlcy1jdXJzb3JzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFu
eS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9y
cy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5zZXJ2aWNld29ya2Vy
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYgQEAKKworUEFTUyBJREJJ
bmRleC5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBvbiB0aGUgYXV0b2luY3Jl
bWVudCBrZXkgCitQQVNTIElEQkluZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFu
IGluZGV4IG9uIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXgub3BlbkN1cnNv
cigpIGl0ZXJhdGVzIG92ZXIgYW4gaW5kZXggbm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50
IGtleSAKK1BBU1MgSURCSW5kZXgub3BlbktleUN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gaW5k
ZXggbm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRv
cnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkuc2VydmljZXdvcmtl
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1p
bmRleGVzLWN1cnNvcnMuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXkt
Z2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5zZXJ2
aWNld29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUg
dGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdl
bmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNy
ZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMu
YW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACisK
K1BBU1MgSURCSW5kZXgub3BlbkN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gaW5kZXggb24gdGhl
IGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0
ZXMgb3ZlciBhbiBpbmRleCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4
Lm9wZW5DdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0
b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBv
dmVyIGFuIGluZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tl
eS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55Lndv
cmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVu
dC1pbmRleGVzLWN1cnNvcnMuYW55Lndvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5l
cmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55Lndvcmtlci5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3Jl
YWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
a2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQt
aW5kZXhlcy5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAor
CitQQVNTIElEQkluZGV4LmdldEFsbCgpIGZvciBhbiBpbmRleCBvbiB0aGUgYXV0b2luY3JlbWVu
dCBrZXkgCitQQVNTIElEQkluZGV4LmdldEFsbEtleXMoKSBmb3IgYW4gaW5kZXggb24gdGhlIGF1
dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXQoKSBmb3IgYW4gaW5kZXggb24gdGhl
IGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXRBbGwoKSBmb3IgYW4gaW5kZXgg
bm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0QWxs
S2V5cygpIHJldHVybnMgY29ycmVjdCByZXN1bHQgZm9yIGFuIGluZGV4IG5vdCBjb3ZlcmluZyB0
aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldCgpIGZvciBhbiBpbmRleCBu
b3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9y
ZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJl
ZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVz
dCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFk
aW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRv
cnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LmpzCShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tl
eS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEwOCBAQAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRpY2F0
ZWR3b3JrZXIsc2hhcmVkd29ya2VyLHNlcnZpY2V3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0uLi9z
dXBwb3J0LXByb21pc2VzLmpzCisvLyBNRVRBOiBzY3JpcHQ9Li9yZWFkaW5nLWF1dG9pbmNyZW1l
bnQtY29tbW9uLmpzCisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0
IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2UpOwor
CisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oWydzdG9yZSddLCAn
cmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmUnKTsKKyAgY29uc3QgaW5kZXggPSBzdG9yZS5pbmRleCgnYnlfaWQnKTsKKyAgY29uc3QgcmVx
dWVzdCA9IGluZGV4LmdldEFsbCgpOworICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9y
UmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0
aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNzZXJ0X2Vx
dWFscyhyZXN1bHRbaSAtIDFdLmlkLCBpLCAnQXV0b2luY3JlbWVudCBrZXknKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0ubmFtZSwgbmFtZUZvcklkKGkpLCAnU3RyaW5nIHByb3Bl
cnR5Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQkluZGV4LmdldEFsbCgp
IGZvciBhbiBpbmRleCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXknKTsKKworcHJvbWlzZV90ZXN0
KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9p
bmNyZW1lbnREYXRhYmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRh
YmFzZS50cmFuc2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3Jl
LmluZGV4KCdieV9pZCcpOworICBjb25zdCByZXF1ZXN0ID0gaW5kZXguZ2V0QWxsS2V5cygpOwor
ICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVz
dCk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOworICBmb3IgKGxldCBpID0g
MTsgaSA8PSAzMjsgKytpKQorICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXSwgaSwgJ0F1
dG9pbmNyZW1lbnQga2V5Jyk7CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsKK30sICdJREJJbmRleC5n
ZXRBbGxLZXlzKCkgZm9yIGFuIGluZGV4IG9uIHRoZSBhdXRvaW5jcmVtZW50IGtleScpOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0
IHNldHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCB0cmFuc2Fj
dGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNv
bnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgIGNvbnN0IGlu
ZGV4ID0gc3RvcmUuaW5kZXgoJ2J5X2lkJyk7CisKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7
ICsraSkgeworICAgIGNvbnN0IHJlcXVlc3QgPSBpbmRleC5nZXQoaSk7CisgICAgY29uc3QgcmVz
dWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpOworICAgIGFz
c2VydF9lcXVhbHMocmVzdWx0LmlkLCBpLCAnYXV0b2luY3JlbWVudCBrZXknKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKHJlc3VsdC5uYW1lLCBuYW1lRm9ySWQoaSksICdzdHJpbmcgcHJvcGVydHknKTsK
KyAgfQorCisgIGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCSW5kZXguZ2V0KCkgZm9yIGFuIGlu
ZGV4IG9uIHRoZSBhdXRvaW5jcmVtZW50IGtleScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVz
dENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3JlbWVudERh
dGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCBzdHJpbmdTb3J0ZWRJZHMgPSBpZHNTb3J0ZWRC
eVN0cmluZ0NvbXBhcmUoKTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5z
YWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rp
b24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgIGNvbnN0IGluZGV4ID0gc3RvcmUuaW5kZXgoJ2J5
X25hbWUnKTsKKyAgY29uc3QgcmVxdWVzdCA9IGluZGV4LmdldEFsbCgpOworICBjb25zdCByZXN1
bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7CisgIGFzc2Vy
dF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsg
KytpKSB7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLmlkLCBzdHJpbmdTb3J0ZWRJ
ZHNbaSAtIDFdLAorICAgICAgICAgICAgICAgICAgJ2F1dG9pbmNyZW1lbnQga2V5Jyk7CisgICAg
YXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLm5hbWUsIG5hbWVGb3JJZChzdHJpbmdTb3J0ZWRJ
ZHNbaSAtIDFdKSwKKyAgICAgICAgICAgICAgICAgICdzdHJpbmcgcHJvcGVydHknKTsKKyAgfQor
CisgIGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCSW5kZXguZ2V0QWxsKCkgZm9yIGFuIGluZGV4
IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXknKTsKKworcHJvbWlzZV90ZXN0KGFz
eW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNy
ZW1lbnREYXRhYmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3Qgc3RyaW5nU29ydGVkSWRzID0gaWRz
U29ydGVkQnlTdHJpbmdDb21wYXJlKCk7CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFz
ZS50cmFuc2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3JlLmlu
ZGV4KCdieV9uYW1lJyk7CisgIGNvbnN0IHJlcXVlc3QgPSBpbmRleC5nZXRBbGxLZXlzKCk7Cisg
IGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0
KTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1bHQubGVuZ3RoLCAzMik7CisgIGZvciAobGV0IGkgPSAx
OyBpIDw9IDMyOyArK2kpCisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLCBzdHJpbmdT
b3J0ZWRJZHNbaSAtIDFdLCAnU3RyaW5nIHByb3BlcnR5Jyk7CisKKyAgZGF0YWJhc2UuY2xvc2Uo
KTsKK30sICdJREJJbmRleC5nZXRBbGxLZXlzKCkgcmV0dXJucyBjb3JyZWN0IHJlc3VsdCBmb3Ig
YW4gaW5kZXggbm90IGNvdmVyaW5nICcgKworICAgJ3RoZSBhdXRvaW5jcmVtZW50IGtleScpOwor
Citwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3
YWl0IHNldHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCB0cmFu
c2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7Cisg
IGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgIGNvbnN0
IGluZGV4ID0gc3RvcmUuaW5kZXgoJ2J5X25hbWUnKTsKKworICBmb3IgKGxldCBpID0gMTsgaSA8
PSAzMjsgKytpKSB7CisgICAgY29uc3QgcmVxdWVzdCA9IGluZGV4LmdldChuYW1lRm9ySWQoaSkp
OworICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCBy
ZXF1ZXN0KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5pZCwgaSwgJ0F1dG9pbmNyZW1lbnQg
a2V5Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQubmFtZSwgbmFtZUZvcklkKGkpLCAnU3Ry
aW5nIHByb3BlcnR5Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQkluZGV4
LmdldCgpIGZvciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5Jyk7
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuc2Vy
dmljZXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGlu
Zy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVz
LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDggQEAKKworUEFTUyBJREJJbmRleC5nZXRBbGwoKSBmb3IgYW4gaW5kZXggb24gdGhlIGF1dG9p
bmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXRBbGxLZXlzKCkgZm9yIGFuIGluZGV4IG9u
IHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0KCkgZm9yIGFuIGluZGV4
IG9uIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0QWxsKCkgZm9yIGFu
IGluZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4
LmdldEFsbEtleXMoKSByZXR1cm5zIGNvcnJlY3QgcmVzdWx0IGZvciBhbiBpbmRleCBub3QgY292
ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXQoKSBmb3IgYW4g
aW5kZXggbm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKKwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVy
YXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LnNlcnZpY2V3b3JrZXIuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhl
cy5hbnkuc2VydmljZXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3Jl
YWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdl
YktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRv
aW5jcmVtZW50LWluZGV4ZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5
LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVt
ZW50LWluZGV4ZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw4IEBACisKK1BBU1MgSURCSW5kZXguZ2V0QWxsKCkgZm9yIGFuIGluZGV4IG9uIHRoZSBh
dXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0QWxsS2V5cygpIGZvciBhbiBpbmRl
eCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldCgpIGZvciBhbiBp
bmRleCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldEFsbCgpIGZv
ciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJ
bmRleC5nZXRBbGxLZXlzKCkgcmV0dXJucyBjb3JyZWN0IHJlc3VsdCBmb3IgYW4gaW5kZXggbm90
IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0KCkgZm9y
IGFuIGluZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1n
ZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS53b3JrZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5h
bnkud29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRv
aW5jcmVtZW50LWluZGV4ZXMuYW55Lndvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1j
dXJzb3JzLmFueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGlu
Zy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55LWV4cGVjdGVkLnR4dAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5h
bnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIElE
Qk9iamVjdFN0b3JlLm9wZW5DdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGF1dG9pbmNyZW1lbnQg
c3RvcmUgCitQQVNTIElEQk9iamVjdFN0b3JlLm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVy
IGFuIGF1dG9pbmNyZW1lbnQgc3RvcmUgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0
b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0
b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3Jz
LmFueS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBs
YXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0
b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnku
anMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0
b3JlLWN1cnNvcnMuYW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKy8vIE1F
VEE6IGdsb2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLHNoYXJlZHdvcmtlcixzZXJ2aWNld29y
a2VyCisvLyBNRVRBOiBzY3JpcHQ9Li4vc3VwcG9ydC1wcm9taXNlcy5qcworLy8gTUVUQTogc2Ny
aXB0PS4vcmVhZGluZy1hdXRvaW5jcmVtZW50LWNvbW1vbi5qcworCitwcm9taXNlX3Rlc3QoYXN5
bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3Jl
bWVudERhdGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNl
LnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQg
Z2V0QWxsVmlhQ3Vyc29yKHRlc3RDYXNlLCBzdG9yZSk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0
Lmxlbmd0aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNz
ZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLmtleSwgaSwgJ0F1dG9pbmNyZW1lbnQga2V5Jyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnByaW1hcnlLZXksIGksICdBdXRvaW5jcmVt
ZW50IHByaW1hcnkga2V5Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnZhbHVl
LmlkLCBpLCAnQXV0b2luY3JlbWVudCBrZXkgaW4gdmFsdWUnKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJlc3VsdFtpIC0gMV0udmFsdWUubmFtZSwgbmFtZUZvcklkKGkpLAorICAgICAgICAgICAgICAg
ICAgJ3N0cmluZyBwcm9wZXJ0eSBpbiB2YWx1ZScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2Uo
KTsKK30sICdJREJPYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRv
aW5jcmVtZW50IHN0b3JlJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7Cisg
IGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENh
c2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oWydzdG9y
ZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmUnKTsKKworICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRBbGxLZXlzVmlhQ3Vyc29y
KHRlc3RDYXNlLCBzdG9yZSk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOwor
ICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1
bHRbaSAtIDFdLmtleSwgaSwgJ0luY29ycmVjdCBhdXRvaW5jcmVtZW50IGtleScpOworICAgIGFz
c2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5wcmltYXJ5S2V5LCBpLCAnSW5jb3JyZWN0IHByaW1h
cnkga2V5Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQk9iamVjdFN0b3Jl
Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGF1dG9pbmNyZW1lbnQgc3RvcmUnKTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1
dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1
cnNvcnMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1n
ZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5zZXJ2aWNl
d29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworUEFT
UyBJREJPYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5jcmVt
ZW50IHN0b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMg
b3ZlciBhbiBhdXRvaW5jcmVtZW50IHN0b3JlIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5n
LWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuc2VydmljZXdvcmtlci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3Jz
LmFueS5zZXJ2aWNld29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVh
ZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5n
LWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29y
cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9y
ZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworUEFTUyBJREJPYmplY3RTdG9yZS5v
cGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5jcmVtZW50IHN0b3JlIAorUEFTUyBJ
REJPYmplY3RTdG9yZS5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5jcmVt
ZW50IHN0b3JlIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3Rv
cmUtY3Vyc29ycy5hbnkud29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVh
ZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55Lndvcmtlci5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3Jz
LmFueS53b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMg
ZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRo
ZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXkt
Z2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9p
bmNyZW1lbnQtc3RvcmUuYW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUgQEAKKworUEFTUyBJREJPYmplY3RTdG9yZS5nZXRBbGwoKSBmb3IgYW4gYXV0b2luY3JlbWVu
dCBzdG9yZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUuZ2V0QWxsS2V5cygpIGZvciBhbiBhdXRvaW5j
cmVtZW50IHN0b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5nZXQoKSBmb3IgYW4gYXV0b2luY3Jl
bWVudCBzdG9yZSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0
b3JlLmFueS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3Jl
bWVudC1zdG9yZS5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5n
LWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0
dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUu
YW55LmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVu
dC1zdG9yZS5hbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorLy8gTUVUQTog
Z2xvYmFsPXdpbmRvdyxkZWRpY2F0ZWR3b3JrZXIsc2hhcmVkd29ya2VyLHNlcnZpY2V3b3JrZXIK
Ky8vIE1FVEE6IHNjcmlwdD0uLi9zdXBwb3J0LXByb21pc2VzLmpzCisvLyBNRVRBOiBzY3JpcHQ9
Li9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtY29tbW9uLmpzCisKK3Byb21pc2VfdGVzdChhc3luYyB0
ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50
RGF0YWJhc2UodGVzdENhc2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJh
bnNhY3Rpb24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldEFs
bCgpOworICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwg
cmVxdWVzdCk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOworICBmb3IgKGxl
dCBpID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFd
LmlkLCBpLCAnQXV0b2luY3JlbWVudCBrZXknKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtp
IC0gMV0ubmFtZSwgbmFtZUZvcklkKGkpLCAnU3RyaW5nIHByb3BlcnR5Jyk7CisgIH0KKworICBk
YXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQk9iamVjdFN0b3JlLmdldEFsbCgpIGZvciBhbiBhdXRv
aW5jcmVtZW50IHN0b3JlJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7Cisg
IGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENh
c2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oWydzdG9y
ZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmUnKTsKKyAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldEFsbEtleXMoKTsKKyAgY29u
c3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpOwor
ICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsKKyAgZm9yIChsZXQgaSA9IDE7IGkg
PD0gMzI7ICsraSkKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0sIGksICdBdXRvaW5j
cmVtZW50IGtleScpOworCisgIGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCT2JqZWN0U3RvcmUu
Z2V0QWxsS2V5cygpIGZvciBhbiBhdXRvaW5jcmVtZW50IHN0b3JlJyk7CisKK3Byb21pc2VfdGVz
dChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRv
aW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0
YWJhc2UudHJhbnNhY3Rpb24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKworICBmb3IgKGxldCBpID0gMTsg
aSA8PSAzMjsgKytpKSB7CisgICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldChpKTsKKyAgICBj
b25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7
CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuaWQsIGksICdBdXRvaW5jcmVtZW50IGtleScpOwor
ICAgIGFzc2VydF9lcXVhbHMocmVzdWx0Lm5hbWUsIG5hbWVGb3JJZChpKSwgJ1N0cmluZyBwcm9w
ZXJ0eScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsKK30sICdJREJPYmplY3RTdG9yZS5n
ZXQoKSBmb3IgYW4gYXV0b2luY3JlbWVudCBzdG9yZScpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnku
c2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVh
ZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUu
YW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NSBAQAorCitQQVNTIElEQk9iamVjdFN0b3JlLmdldEFsbCgpIGZvciBhbiBhdXRvaW5jcmVtZW50
IHN0b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5nZXRBbGxLZXlzKCkgZm9yIGFuIGF1dG9pbmNy
ZW1lbnQgc3RvcmUgCitQQVNTIElEQk9iamVjdFN0b3JlLmdldCgpIGZvciBhbiBhdXRvaW5jcmVt
ZW50IHN0b3JlIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3Rv
cmUuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFk
aW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55LnNlcnZp
Y2V3b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmls
ZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0
ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55Lndvcmtlci1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3Jl
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3Jl
YWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKKworUEFTUyBJREJPYmplY3RTdG9yZS5nZXRBbGwoKSBm
b3IgYW4gYXV0b2luY3JlbWVudCBzdG9yZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUuZ2V0QWxsS2V5
cygpIGZvciBhbiBhdXRvaW5jcmVtZW50IHN0b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5nZXQo
KSBmb3IgYW4gYXV0b2luY3JlbWVudCBzdG9yZSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGlu
Zy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS53b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55Lndvcmtlci5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnku
d29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVy
YXRvcnMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvdzNjLWltcG9y
dC5sb2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvdzNjLWltcG9ydC5sb2cJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1h
dXRvaW5jcmVtZW50LWNvbW1vbi5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVu
dC1pbmRleGVzLWN1cnNvcnMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVt
ZW50LWluZGV4ZXMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0
b3JlLWN1cnNvcnMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0
b3JlLmFueS5qcwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvcmVzb3VyY2VzL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi1pZnJh
bWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9yZXNvdXJjZXMvaWRiZmFjdG9yeS1vcmlnaW4taXNvbGF0aW9u
LWlmcmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Jlc291cmNlcy9pZGJmYWN0b3J5LW9yaWdpbi1p
c29sYXRpb24taWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8dGl0bGU+VGhpcyBpZnJhbWUga2VlcHMgYSB0cmFuc2FjdGlvbiBvbiBh
IGRhdGFiYXNlIGFsaXZlIGluZGVmaW5pdGVseSB0byB0ZXN0PC90aXRsZT4KKzxzY3JpcHQ+CisK
Ky8vIEtlZXBzIHRoZSBwYXNzZWQgdHJhbnNhY3Rpb24gYWxpdmUgaW5kZWZpbml0ZWx5IChieSBt
YWtpbmcgcmVxdWVzdHMKKy8vIGFnYWluc3QgdGhlIG5hbWVkIHN0b3JlKS4gUmV0dXJucyBhIGZ1
bmN0aW9uIHRoYXQgYXNzZXJ0cyB0aGF0IHRoZQorLy8gdHJhbnNhY3Rpb24gaGFzIG5vdCBhbHJl
YWR5IGNvbXBsZXRlZCBhbmQgdGhlbiBlbmRzIHRoZSByZXF1ZXN0IGxvb3Agc28gdGhhdAorLy8g
dGhlIHRyYW5zYWN0aW9uIG1heSBhdXRvY29tbWl0IGFuZCBjb21wbGV0ZS4KK2Z1bmN0aW9uIGtl
ZXBfYWxpdmUodHgsIHN0b3JlX25hbWUpIHsKKyAgbGV0IGNvbXBsZXRlZCA9IGZhbHNlOworICB0
eC5hZGRFdmVudExpc3RlbmVyKCdjb21wbGV0ZScsICgpID0+IHsgY29tcGxldGVkID0gdHJ1ZTsg
fSk7CisKKyAgbGV0IGtlZXBTcGlubmluZyA9IHRydWU7CisKKyAgZnVuY3Rpb24gc3BpbigpIHsK
KyAgICBpZiAoIWtlZXBTcGlubmluZykKKyAgICAgIHJldHVybjsKKyAgICB0eC5vYmplY3RTdG9y
ZShzdG9yZV9uYW1lKS5nZXQoMCkub25zdWNjZXNzID0gc3BpbjsKKyAgfQorICBzcGluKCk7CisK
KyAgcmV0dXJuICgpID0+IHsKKyAgICBhc3NlcnRfZmFsc2UoY29tcGxldGVkLCAnVHJhbnNhY3Rp
b24gY29tcGxldGVkIHdoaWxlIGtlcHQgYWxpdmUnKTsKKyAgICBrZWVwU3Bpbm5pbmcgPSBmYWxz
ZTsKKyAgfTsKK30KKworYXN5bmMgZnVuY3Rpb24gcnVuKCkgeworICBjb25zdCBkYnNfdG9fZGVs
ZXRlID0gYXdhaXQgaW5kZXhlZERCLmRhdGFiYXNlcygpOworICBmb3IgKGNvbnN0IGRiX2luZm8g
b2YgZGJzX3RvX2RlbGV0ZSkgeworICAgIGxldCByZXF1ZXN0ID0gaW5kZXhlZERCLmRlbGV0ZURh
dGFiYXNlKGRiX2luZm8ubmFtZSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJl
amVjdCkgPT4geworICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSByZXNvbHZlOworICAgICAgcmVx
dWVzdC5vbmVycm9yID0gcmVqZWN0OworICAgIH0pOworICB9CisKKyAgdmFyIG9wZW5SZXF1ZXN0
ID0gaW5kZXhlZERCLm9wZW4oJ2RiLWlzb2xhdGlvbi10ZXN0Jyk7CisgIG9wZW5SZXF1ZXN0Lm9u
dXBncmFkZW5lZWRlZCA9ICgpID0+IHsKKyAgICBvcGVuUmVxdWVzdC5yZXN1bHQuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3MnKTsKKyAgfTsKKyAgb3BlblJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4gewor
ICAgIHZhciB0eCA9IG9wZW5SZXF1ZXN0LnJlc3VsdC50cmFuc2FjdGlvbigncycpOworICAgIGtl
ZXBfYWxpdmUodHgsICdzJyk7CisgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgia2VlcF9h
bGl2ZV9zdGFydGVkIiwgIioiKTsKKyAgfTsKK30KKworcnVuKCk7Cis8L3NjcmlwdD4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Jl
c291cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9yZXNvdXJjZXMvdzNjLWltcG9ydC5s
b2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQK
KworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
K1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Jlc291cmNlcy9pZGJmYWN0b3J5LW9yaWdpbi1pc29s
YXRpb24taWZyYW1lLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379539</attachid>
            <date>2019-09-25 06:00:39 -0700</date>
            <delta_ts>2019-09-25 09:48:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202179-20190925160037.patch</filename>
            <type>text/plain</type>
            <size>287102</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA5LTI1ICBBbGV4ZXkgU2h2YXlrYSAg
PHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBSZS1zeW5jIHdlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyMTc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
IGZyb20gdXBzdHJlYW0gYTBmNzgxZTRkNGU5LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgorCiAyMDE5
LTA5LTIzICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBDYW52YXM6IHNob3cgV2ViR1BVIHNoYWRlciBwaXBlbGluZXMKSW5kZXg6IExh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMTAwNiw3ICsxMDA2LDYgQEAgd2Via2l0Lm9yZy9i
LzE5MTUwOCBmYXN0L2Nzcy1ncmlkLWxheW91dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXNjb3BpbmcvY3NzLXNjb3Bpbmctc2hhZG93LWhvc3QtbmFtZXNwYWNlLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2Fib3J0LWluLWluaXRpYWwtdXBncmFkZW5lZWRlZC5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Nsb25lLWJl
Zm9yZS1rZXlwYXRoLWV2YWwuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3Qta2V5Lmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQogCiAjIFRob3NlIFdQVCB0ZXN0cyBhcmUgZmxha3kgd2hlbiBmYWlsaW5nLgog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1t
ZXRhZGF0YS90aGUtbWV0YS1lbGVtZW50L3ByYWdtYS1kaXJlY3RpdmVzL2F0dHItbWV0YS1odHRw
LWVxdWl2LXJlZnJlc2gvYWxsb3ctc2NyaXB0cy1mbGFnLWNoYW5naW5nLTEuaHRtbCBbIFBhc3Mg
RmFpbHVyZSBdCkBAIC0xOTYyLDcgKzE5NjEsNyBAQCBzdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVk
YXRhYmFzZS1kZWxheWVkCiBzdG9yYWdlL2luZGV4ZWRkYi9wcm9wZXJ0aWVzLWRpc2FibGVkLWF0
LXJ1bnRpbWUuaHRtbCBbIEZhaWx1cmUgXQogCiAjIEluIGRlYnVnIGJ1aWxkcywgcnVucyB0b28g
c2xvd2x5IGZvciB0aGUgdGVzdCB0aW1lb3V0LgotWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LW11bHRpZW50cnktYmlnLmh0bSBbIEZh
aWx1cmUgXQorWyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmluZGV4LW11bHRpZW50cnktYmlnLmh0bSBbIFBhc3MgRmFpbHVyZSBdCiAKICMgVGVz
dCBpcyBjcmFzaGluZwogd2Via2l0Lm9yZy9iLzE4NDA2NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9rZXlwYXRoLWV4Y2VwdGlvbnMuaHRtIFsgU2tpcCBdCkBAIC0y
NjU3LDggKzI2NTYsOCBAQCB3ZWJraXQub3JnL2IvMTg0ODAyIGh0dHAvdGVzdHMvc2VjdXJpdHkv
CiAKIHdlYmtpdC5vcmcvYi8xODExMDAgaW5zcGVjdG9yL3dvcmtlci93b3JrZXItcmVjb3Zlci1p
Zi1pbnNwZWN0b3ItY2xvc2UuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLVsgRGVidWcgXSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmxlYXZlZC1jdXJzb3Jz
LWxhcmdlLmh0bWwgWyBGYWlsdXJlIF0KLVsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmxlYXZlZC1jdXJzb3JzLXNtYWxsLmh0bWwgWyBGYWls
dXJlIF0KK1sgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pbnRlcmxlYXZlZC1jdXJzb3JzLWxhcmdlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQorWyBEZWJ1
ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVybGVhdmVk
LWN1cnNvcnMtc21hbGwuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTg2NTc0
IG1lZGlhL3ZpZGVvLWJ1ZmZlcmluZy1hbGxvd2VkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiAj
IyMgV2ViTCBDb25mb3JtYW5jZSBTdWl0ZSAyLjAuMCB0ZXN0cyB0aGF0IGRvIG5vdCB5ZXQgaGF2
ZSBzdXBwb3J0IGFzIG9mIHdlYmtpdC5vcmcvYi8xODk2ODYuIEVuYWJsZSBhcyBzdXBwb3J0IGlz
IGltcGxlbWVudGVkLiAjIyMKSW5kZXg6IExheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24JKHJldmlzaW9uIDI1
MDI2MCkKKysrIExheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgkod29ya2luZyBjb3B5KQpA
QCAtMjMsMTIgKzIzLDE4IEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVjdFN0b3JlOC1wYXJhbWV0ZXJzLmh0bSI6
IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRyeS1iaWcuaHRtIjogWworICAgICAg
ICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJpbmRleC1yZW5hbWUuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
ICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmUtcmVuYW1lLXN0b3JlLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCisgICAg
ImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3Jl
X2NyZWF0ZUluZGV4MTUtYXV0b2luY3JlbWVudC5odG0iOiBbCisgICAgICAgICJzbG93IgorICAg
IF0sCiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9i
amVjdHN0b3JlX2NyZWF0ZUluZGV4My11c2FibGUtcmlnaHQtYXdheS5odG0iOiBbCiAgICAgICAg
ICJzbG93IgogICAgIF0sCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI1MDM0MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wOS0yNSAgQWxleGV5IFNodmF5a2EgIDxz
aHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMjE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQiBm
cm9tIHVwc3RyZWFtIGEwZjc4MWU0ZDRlOS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvKjogVXBkYXRlZC4KKwogMjAxOS0wOS0yNCAgQW50b2luZSBRdWludCAgPGdy
YW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gUmVtb3ZpbmcgYW4g
ZWxlbWVudCBzaG91bGQgb25seSBjYW5jZWwgaXRzIGRlY2xhcmF0aXZlIGFuaW1hdGlvbnMKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L01FVEEueW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL01FVEEueW1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL01FVEEueW1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorc3BlYzogaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L0luZGV4ZWREQi8KK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gb2RpbmhvCisgIC0gaW5leG9y
YWJsZXRhc2gKKyAgLSB6cXpoYW5nCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9PV05FUlMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvT1dORVJTCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9PV05FUlMJKG5vbmV4aXN0ZW50KQpAQCAtMSw3ICswLDAgQEAKLUBvZGlu
aG8KLUBpbmV4b3JhYmxldGFzaAotQGNodW55d2FuZwotQGR1bWJtYXR0ZXIKLUB6cXpoYW5nCi1A
eXVueGlhb3hpZQotQHpoYW96aWhhbwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LWtleS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LWtleS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
QEAgLTEsNSArMCwwIEBACi0KLVBBU1MgUmV0dXJuaW5nIGtleXMgdG8gc2NyaXB0IHNob3VsZCBi
eXBhc3MgcHJvdG90eXBlIHNldHRlcnMgCi1QQVNTIFJldHVybmluZyB2YWx1ZXMgdG8gc2NyaXB0
IHNob3VsZCBieXBhc3MgcHJvdG90eXBlIHNldHRlcnMgCi1QQVNTIFJldHVybmluZyB2YWx1ZXMg
dG8gc2NyaXB0IHNob3VsZCBieXBhc3MgcHJvdG90eXBlIGNoYWluIAotCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1p
bmplY3Qta2V5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LWtleS5odG1sCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3Qta2V5Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAt
MSwxMDQgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPHRp
dGxlPkluZGV4ZWREQjogRVMgYmluZGluZ3MgLSBJbmplY3QgYSBrZXkgaW50byBhIHZhbHVlPC90
aXRsZT4KLTxtZXRhIG5hbWU9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9JbmRl
eGVkREIvI2luamVjdC1rZXktaW50by12YWx1ZSI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ic3VwcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0PgotCi1pbmRleGVkZGJfdGVzdCgKLSAgKHQsIGRiKSA9PiB7Ci0gICAgZGIu
Y3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7Ci0gIH0sCi0gICh0LCBkYikgPT4gewotICAgIGNv
bnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOwotICAgIGNvbnN0
IHJlcXVlc3QgPSB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKS5wdXQoCi0gICAgICAgICd2YWx1ZScs
IFswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAna2V5J10pOwotCi0gICAgY29uc3Qgc2V0
dGVyX2NhbGxlZCA9IGZhbHNlOwotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJv
dG90eXBlLCAnMTAnLCB7Ci0gICAgICBjb25maWd1cmFibGU6IHRydWUsCi0gICAgICBzZXQ6IHQu
c3RlcF9mdW5jKCh2YWx1ZSkgPT4geyBzZXR0ZXJfY2FsbGVkID0gdHJ1ZTsgfSksCi0gICAgfSk7
Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdC51bnJlYWNoZWRfZnVuYygncmVxdWVzdCBzaG91bGQg
bm90IGZhaWwnKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKCgpID0+IHsK
LSAgICAgIGNvbnN0IHJlc3VsdCA9IHJlcXVlc3QucmVzdWx0OwotICAgICAgYXNzZXJ0X2ZhbHNl
KHNldHRlcl9jYWxsZWQsCi0gICAgICAgICAgICAgICAgICAgJ1NldHRlciBzaG91bGQgbm90IGJl
IGNhbGxlZCBmb3Iga2V5IHJlc3VsdC4nKTsKLSAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAg
IHJlc3VsdC5oYXNPd25Qcm9wZXJ0eSgnMTAnKSwKLSAgICAgICAgICAnUmVzdWx0IHNob3VsZCBo
YXZlIG93bi1wcm9wZXJ0eSBvdmVycmlkaW5nIHByb3RvdHlwZSBzZXR0ZXIuJyk7Ci0gICAgICBh
c3NlcnRfZXF1YWxzKHJlc3VsdFsxMF0sICdrZXknLAotICAgICAgICAgICAgICAgICAgICAnUmVz
dWx0IHNob3VsZCBoYXZlIGV4cGVjdGVkIHByb3BlcnR5LicpOwotCi0gICAgICBkZWxldGUgT2Jq
ZWN0LnByb3RvdHlwZVsnMTAnXTsKLSAgICAgIHQuZG9uZSgpOwotICAgIH0pOwotICB9LAotICAn
UmV0dXJuaW5nIGtleXMgdG8gc2NyaXB0IHNob3VsZCBieXBhc3MgcHJvdG90eXBlIHNldHRlcnMn
Ci0pOwotCi1pbmRleGVkZGJfdGVzdCgKLSAgKHQsIGRiKSA9PiB7Ci0gICAgZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlJywge2F1dG9JbmNyZW1lbnQ6IHRydWUsIGtleVBhdGg6ICdpZCd9KTsK
LSAgfSwKLSAgKHQsIGRiKSA9PiB7Ci0gICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignc3Rv
cmUnLCAncmVhZHdyaXRlJyk7Ci0gICAgdHgub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt9KTsK
LSAgICBjb25zdCByZXF1ZXN0ID0gdHgub2JqZWN0U3RvcmUoJ3N0b3JlJykuZ2V0KDEpOwotCi0g
ICAgY29uc3Qgc2V0dGVyX2NhbGxlZCA9IGZhbHNlOwotICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShPYmplY3QucHJvdG90eXBlLCAnaWQnLCB7Ci0gICAgICBjb25maWd1cmFibGU6IHRydWUsCi0g
ICAgICBzZXQ6IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHZhbHVlKSB7IHNldHRlcl9jYWxsZWQgPSB0
cnVlOyB9KSwKLSAgICB9KTsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB0LnVucmVhY2hlZF9mdW5j
KCdyZXF1ZXN0IHNob3VsZCBub3QgZmFpbCcpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlcXVlc3QucmVz
dWx0OwotICAgICAgYXNzZXJ0X2ZhbHNlKHNldHRlcl9jYWxsZWQsCi0gICAgICAgICAgICAgICAg
ICAgJ1NldHRlciBzaG91bGQgbm90IGJlIGNhbGxlZCBmb3Iga2V5IHJlc3VsdC4nKTsKLSAgICAg
IGFzc2VydF90cnVlKAotICAgICAgICAgIHJlc3VsdC5oYXNPd25Qcm9wZXJ0eSgnaWQnKSwKLSAg
ICAgICAgICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1wcm9wZXJ0eSBvdmVycmlkaW5nIHByb3Rv
dHlwZSBzZXR0ZXIuJyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5pZCwgMSwKLSAgICAg
ICAgICAgICAgICAgICAgJ093biBwcm9wZXJ0eSBzaG91bGQgbWF0Y2ggcHJpbWFyeSBrZXkgZ2Vu
ZXJhdG9yIHZhbHVlJyk7Ci0KLSAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWydpZCddOwot
ICAgICAgdC5kb25lKCk7Ci0gICAgfSk7Ci0gIH0sCi0gICdSZXR1cm5pbmcgdmFsdWVzIHRvIHNj
cmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBzZXR0ZXJzJwotKTsKLQotaW5kZXhlZGRiX3Rl
c3QoCi0gICh0LCBkYikgPT4gewotICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScsIHth
dXRvSW5jcmVtZW50OiB0cnVlLCBrZXlQYXRoOiAnYS5iLmMnfSk7Ci0gIH0sCi0gICh0LCBkYikg
PT4gewotICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScp
OwotICAgIHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLnB1dCh7fSk7Ci0gICAgY29uc3QgcmVxdWVz
dCA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpLmdldCgxKTsKLQotICAgIE9iamVjdC5wcm90b3R5
cGUuYSA9IHtiOiB7YzogJ29uIHByb3RvJ319OwotCi0gICAgcmVxdWVzdC5vbmVycm9yID0gdC51
bnJlYWNoZWRfZnVuYygncmVxdWVzdCBzaG91bGQgbm90IGZhaWwnKTsKLSAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgICAgY29uc3QgcmVzdWx0ID0g
cmVxdWVzdC5yZXN1bHQ7Ci0gICAgICBhc3NlcnRfdHJ1ZShyZXN1bHQuaGFzT3duUHJvcGVydHko
J2EnKSwKLSAgICAgICAgICAgICAgICAgICdSZXN1bHQgc2hvdWxkIGhhdmUgb3duLXByb3BlcnRp
ZXMgb3ZlcnJpZGluZyBwcm90b3R5cGUuJyk7Ci0gICAgICBhc3NlcnRfdHJ1ZShyZXN1bHQuYS5o
YXNPd25Qcm9wZXJ0eSgnYicpLAotICAgICAgICAgICAgICAgICAgJ1Jlc3VsdCBzaG91bGQgaGF2
ZSBvd24tcHJvcGVydGllcyBvdmVycmlkaW5nIHByb3RvdHlwZS4nKTsKLSAgICAgIGFzc2VydF90
cnVlKHJlc3VsdC5hLmIuaGFzT3duUHJvcGVydHkoJ2MnKSwKLSAgICAgICAgICAgICAgICAgICdS
ZXN1bHQgc2hvdWxkIGhhdmUgb3duLXByb3BlcnRpZXMgb3ZlcnJpZGluZyBwcm90b3R5cGUuJyk7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5hLmIuYywgMSwKLSAgICAgICAgICAgICAgICAg
ICAgJ093biBwcm9wZXJ0eSBzaG91bGQgbWF0Y2ggcHJpbWFyeSBrZXkgZ2VuZXJhdG9yIHZhbHVl
Jyk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5wcm90b3R5cGUuYS5iLmMsICdvbiBwcm90
bycsCi0gICAgICAgICAgICAgICAgICAnUHJvdG90eXBlIHNob3VsZCBub3QgYmUgbW9kaWZpZWQn
KTsKLSAgICAgIHQuZG9uZSgpOwotICAgIH0pOwotICB9LAotICAnUmV0dXJuaW5nIHZhbHVlcyB0
byBzY3JpcHQgc2hvdWxkIGJ5cGFzcyBwcm90b3R5cGUgY2hhaW4nCi0pOwotCi08L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2JpbmRpbmdzLWluamVjdC1rZXlzLWJ5cGFzcy1zZXR0ZXJzLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9iaW5kaW5ncy1pbmplY3Qta2V5cy1ieXBhc3Mtc2V0dGVycy1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LWtleXMtYnlwYXNzLXNldHRlcnMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFJldHVybmluZyBr
ZXlzIHRvIHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBzZXR0ZXJzIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9iaW5k
aW5ncy1pbmplY3Qta2V5cy1ieXBhc3Mtc2V0dGVycy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdz
LWluamVjdC1rZXlzLWJ5cGFzcy1zZXR0ZXJzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3Mt
aW5qZWN0LWtleXMtYnlwYXNzLXNldHRlcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDM1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+SW5k
ZXhlZERCOiBFUyBiaW5kaW5ncyAtIEluamVjdCBhIGtleSBpbnRvIGEgdmFsdWUgLSBLZXlzIGJ5
cGFzcyBzZXR0ZXJzPC90aXRsZT4KKzxtZXRhIG5hbWU9ImhlbHAiCitocmVmPSJodHRwczovL3cz
Yy5naXRodWIuaW8vSW5kZXhlZERCLyNpbmplY3Qta2V5LWludG8tdmFsdWUta2V5cy1ieXBhc3Mt
c2V0dGVycyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0ic3VwcG9ydC1wcm9taXNlcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRl
RGF0YWJhc2UodCwgZGIgPT4geworICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpOwor
ICB9KTsKKworICBsZXQgc2V0dGVyX2NhbGxlZCA9IGZhbHNlOworICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoT2JqZWN0LnByb3RvdHlwZSwgJzEwJywgeworICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwK
KyAgICBzZXQ6IHZhbHVlID0+IHsgc2V0dGVyX2NhbGxlZCA9IHRydWU7IH0sCisgIH0pOworICB0
LmFkZF9jbGVhbnVwKCgpID0+IHsgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbJzEwJ107IH0pOwor
CisgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpOworICBj
b25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0LCB0eC5vYmplY3RTdG9yZSgn
c3RvcmUnKS5wdXQoCisgICAgICAndmFsdWUnLCBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwg
OSwgJ2tleSddKSk7CisKKyAgYXNzZXJ0X2ZhbHNlKHNldHRlcl9jYWxsZWQsCisgICAgICAgICAg
ICAgICAnU2V0dGVyIHNob3VsZCBub3QgYmUgY2FsbGVkIGZvciBrZXkgcmVzdWx0LicpOworICBh
c3NlcnRfdHJ1ZShyZXN1bHQuaGFzT3duUHJvcGVydHkoJzEwJyksCisgICAgICAgICAgICAgICdS
ZXN1bHQgc2hvdWxkIGhhdmUgb3duLXByb3BlcnR5IG92ZXJyaWRpbmcgcHJvdG90eXBlIHNldHRl
ci4nKTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbMTBdLCAna2V5JywKKyAgICAgICAgICAgICAg
ICAnUmVzdWx0IHNob3VsZCBoYXZlIGV4cGVjdGVkIHByb3BlcnR5LicpOworfSwgJ1JldHVybmlu
ZyBrZXlzIHRvIHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBzZXR0ZXJzJyk7CisKKzwv
c2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBhc3MtY2hhaW4tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlwYXNzLWNoYWluLWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1jaGFp
bi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgUmV0
dXJuaW5nIHZhbHVlcyB0byBzY3JpcHQgc2hvdWxkIGJ5cGFzcyBwcm90b3R5cGUgY2hhaW4gCisK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlwYXNzLWNoYWluLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
YmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBhc3MtY2hhaW4uaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9i
aW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1jaGFpbi5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzUgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0
aXRsZT5JbmRleGVkREI6IEVTIGJpbmRpbmdzIC0gSW5qZWN0IGEga2V5IGludG8gYSB2YWx1ZSAt
IFZhbHVlcyBieXBhc3MgY2hhaW48L3RpdGxlPgorPG1ldGEgbmFtZT0iaGVscCIKK2hyZWY9Imh0
dHBzOi8vdzNjLmdpdGh1Yi5pby9JbmRleGVkREIvI2luamVjdC1rZXktaW50by12YWx1ZS12YWx1
ZXMtYnlwYXNzLWNoYWluIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzdXBwb3J0LXByb21pc2VzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgZGIgPSBhd2Fp
dCBjcmVhdGVEYXRhYmFzZSh0LCBkYiA9PiB7CisgICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0
b3JlJywge2F1dG9JbmNyZW1lbnQ6IHRydWUsIGtleVBhdGg6ICdhLmIuYyd9KTsKKyAgfSk7CisK
KyAgT2JqZWN0LnByb3RvdHlwZS5hID0ge2I6IHtjOiAnb24gcHJvdG8nfX07CisgIHQuYWRkX2Ns
ZWFudXAoKCkgPT4geyBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5hOyB9KTsKKworICBjb25zdCB0
eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKKyAgdHgub2JqZWN0U3Rv
cmUoJ3N0b3JlJykucHV0KHt9KTsKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJl
cXVlc3QodCwgdHgub2JqZWN0U3RvcmUoJ3N0b3JlJykuZ2V0KDEpKTsKKworICBhc3NlcnRfdHJ1
ZShyZXN1bHQuaGFzT3duUHJvcGVydHkoJ2EnKSwKKyAgICAgICAgICAgICAgJ1Jlc3VsdCBzaG91
bGQgaGF2ZSBvd24tcHJvcGVydGllcyBvdmVycmlkaW5nIHByb3RvdHlwZS4nKTsKKyAgYXNzZXJ0
X3RydWUocmVzdWx0LmEuaGFzT3duUHJvcGVydHkoJ2InKSwKKyAgICAgICAgICAgICAgJ1Jlc3Vs
dCBzaG91bGQgaGF2ZSBvd24tcHJvcGVydGllcyBvdmVycmlkaW5nIHByb3RvdHlwZS4nKTsKKyAg
YXNzZXJ0X3RydWUocmVzdWx0LmEuYi5oYXNPd25Qcm9wZXJ0eSgnYycpLAorICAgICAgICAgICAg
ICAnUmVzdWx0IHNob3VsZCBoYXZlIG93bi1wcm9wZXJ0aWVzIG92ZXJyaWRpbmcgcHJvdG90eXBl
LicpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5hLmIuYywgMSwKKyAgICAgICAgICAgICAgICAn
T3duIHByb3BlcnR5IHNob3VsZCBtYXRjaCBwcmltYXJ5IGtleSBnZW5lcmF0b3IgdmFsdWUnKTsK
KyAgYXNzZXJ0X2VxdWFscyhPYmplY3QucHJvdG90eXBlLmEuYi5jLCAnb24gcHJvdG8nLAorICAg
ICAgICAgICAgICAgICdQcm90b3R5cGUgc2hvdWxkIG5vdCBiZSBtb2RpZmllZCcpOworfSwgJ1Jl
dHVybmluZyB2YWx1ZXMgdG8gc2NyaXB0IHNob3VsZCBieXBhc3MgcHJvdG90eXBlIGNoYWluJyk7
CisKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBhc3Mtc2V0dGVycy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBhc3Mtc2V0
dGVycy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZhbHVlcy1i
eXBhc3Mtc2V0dGVycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgUmV0dXJuaW5nIHZhbHVlcyB0byBzY3JpcHQgc2hvdWxkIGJ5cGFzcyBwcm90b3R5
cGUgc2V0dGVycyAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZhbHVlcy1ieXBhc3Mtc2V0dGVycy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC12YWx1ZXMtYnlwYXNzLXNldHRlcnMuaHRt
bAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9iaW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1zZXR0ZXJzLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkluZGV4ZWREQjogRVMgYmluZGluZ3MgLSBJbmplY3Qg
YSBrZXkgaW50byBhIHZhbHVlIC0gVmFsdWVzIGJ5cGFzcworICBzZXR0ZXJzPC90aXRsZT4KKzxt
ZXRhIG5hbWU9ImhlbHAiCitocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vSW5kZXhlZERCLyNp
bmplY3Qta2V5LWludG8tdmFsdWUtdmFsdWVzLWJ5cGFzcy1zZXR0ZXJzIj4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzdXBw
b3J0LXByb21pc2VzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3Byb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0LCBkYiA9PiB7Cisg
ICAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJywge2F1dG9JbmNyZW1lbnQ6IHRydWUsIGtl
eVBhdGg6ICdpZCd9KTsKKyAgfSk7CisKKyAgbGV0IHNldHRlcl9jYWxsZWQgPSBmYWxzZTsKKyAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICdpZCcsIHsKKyAgICBjb25m
aWd1cmFibGU6IHRydWUsCisgICAgc2V0OiB2YWx1ZSA9PiB7IHNldHRlcl9jYWxsZWQgPSB0cnVl
OyB9LAorICB9KTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGRlbGV0ZSBPYmplY3QucHJvdG90
eXBlWydpZCddOyB9KTsKKworICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdy
ZWFkd3JpdGUnKTsKKyAgdHgub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt9KTsKKyAgY29uc3Qg
cmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodCwgdHgub2JqZWN0U3RvcmUoJ3N0b3Jl
JykuZ2V0KDEpKTsKKworICBhc3NlcnRfZmFsc2Uoc2V0dGVyX2NhbGxlZCwKKyAgICAgICAgICAg
ICAgICdTZXR0ZXIgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZm9yIGtleSByZXN1bHQuJyk7CisgIGFz
c2VydF90cnVlKHJlc3VsdC5oYXNPd25Qcm9wZXJ0eSgnaWQnKSwKKyAgICAgICAgICAgICAgJ1Jl
c3VsdCBzaG91bGQgaGF2ZSBvd24tcHJvcGVydHkgb3ZlcnJpZGluZyBwcm90b3R5cGUgc2V0dGVy
LicpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5pZCwgMSwKKyAgICAgICAgICAgICAgICAnT3du
IHByb3BlcnR5IHNob3VsZCBtYXRjaCBwcmltYXJ5IGtleSBnZW5lcmF0b3IgdmFsdWUnKTsKK30s
ICdSZXR1cm5pbmcgdmFsdWVzIHRvIHNjcmlwdCBzaG91bGQgYnlwYXNzIHByb3RvdHlwZSBzZXR0
ZXJzJyk7CisKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS1lcnJvci1ldmVudC1leGNlcHRpb24tZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtZXJyb3ItZXZlbnQtZXhjZXB0aW9uLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS1lcnJvci1ldmVudC1leGNlcHRpb24tZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsOCBAQAogUEFTUyBFeGNlcHRpb24gaW4gZXJy
b3IgZXZlbnQgaGFuZGxlciBvbiByZXF1ZXN0IAogUEFTUyBFeGNlcHRpb24gaW4gZXJyb3IgZXZl
bnQgaGFuZGxlciBvbiByZXF1ZXN0LCB3aXRoIHByZXZlbnREZWZhdWx0IAogUEFTUyBFeGNlcHRp
b24gaW4gZXJyb3IgZXZlbnQgbGlzdGVuZXIgb24gcmVxdWVzdCAKK1BBU1MgRXhjZXB0aW9uIGlu
IGVycm9yIGV2ZW50IGxpc3RlbmVyICgiaGFuZGxlRXZlbnQiIGxvb2t1cCkgb24gcmVxdWVzdCAK
K0ZBSUwgRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGxpc3RlbmVyIChub24tY2FsbGFibGUgImhh
bmRsZUV2ZW50Iikgb24gcmVxdWVzdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiQWJvcnRFcnJv
ciIgYnV0IGdvdCAiQ29uc3RyYWludEVycm9yIgogUEFTUyBFeGNlcHRpb24gaW4gc2Vjb25kIGVy
cm9yIGV2ZW50IGxpc3RlbmVyIG9uIHJlcXVlc3QgCiBQQVNTIEV4Y2VwdGlvbiBpbiBmaXJzdCBl
cnJvciBldmVudCBsaXN0ZW5lciBvbiByZXF1ZXN0LCB0cmFuc2FjdGlvbiBhY3RpdmUgaW4gc2Vj
b25kIAogUEFTUyBFeGNlcHRpb24gaW4gZXJyb3IgZXZlbnQgaGFuZGxlciBvbiB0cmFuc2FjdGlv
biAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2ZpcmUtZXJyb3ItZXZlbnQtZXhjZXB0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS1l
cnJvci1ldmVudC1leGNlcHRpb24uaHRtbAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS1lcnJvci1l
dmVudC1leGNlcHRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjEsNiArMjEsOSBAQCBmdW5j
dGlvbiBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoZnVuYywgZGVzCiAgICAgICBjb25zdCByZXF1ZXN0
ID0gc3RvcmUuYWRkKDAsIDApOwogICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0LnVucmVhY2hl
ZF9mdW5jKCdyZXF1ZXN0IHNob3VsZCBmYWlsJyk7CiAgICAgICBmdW5jKHQsIGRiLCB0eCwgcmVx
dWVzdCk7CisgICAgICB0eC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHQuc3RlcF9mdW5jX2Rv
bmUoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVy
cm9yJyk7CisgICAgICB9KSk7CiAgICAgfSwKICAgICBkZXNjcmlwdGlvbik7CiB9CkBAIC0zMSw5
ICszNCw2IEBAIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXMKICAgcmVx
dWVzdC5vbmVycm9yID0gKCkgPT4gewogICAgIHRocm93IEVycm9yKCk7CiAgIH07Ci0gIHR4Lm9u
YWJvcnQgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVy
cm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBl
dmVudCBoYW5kbGVyIG9uIHJlcXVlc3QnKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBk
YiwgdHgsIHJlcXVlc3QpID0+IHsKQEAgLTQxLDMwICs0MSwzMyBAQCBmaXJlX2Vycm9yX2V2ZW50
X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzCiAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgIHRo
cm93IEVycm9yKCk7CiAgIH07Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+
IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0p
OwogfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBoYW5kbGVyIG9uIHJlcXVlc3QsIHdpdGgg
cHJldmVudERlZmF1bHQnKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJl
cXVlc3QpID0+IHsKICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpID0+IHsK
ICAgICB0aHJvdyBFcnJvcigpOwogICB9KTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2Rv
bmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3In
KTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGxpc3RlbmVyIG9uIHJlcXVl
c3QnKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlc3QpID0+IHsK
KyAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHsKKyAgICBnZXQgaGFuZGxlRXZl
bnQoKSB7CisgICAgICB0aHJvdyBuZXcgRXJyb3IoKTsKKyAgICB9LAorICB9KTsKK30sICdFeGNl
cHRpb24gaW4gZXJyb3IgZXZlbnQgbGlzdGVuZXIgKCJoYW5kbGVFdmVudCIgbG9va3VwKSBvbiBy
ZXF1ZXN0Jyk7CisKK2ZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0KSA9
PiB7CisgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB7fSk7Cit9LCAnRXhjZXB0
aW9uIGluIGVycm9yIGV2ZW50IGxpc3RlbmVyIChub24tY2FsbGFibGUgImhhbmRsZUV2ZW50Iikg
b24gcmVxdWVzdCcpOworCitmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVz
dCkgPT4gewogICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4gewogICAg
IC8vIG5vLW9wCiAgIH0pOwogICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkg
PT4gewogICAgIHRocm93IEVycm9yKCk7CiAgIH0pOwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1
bmNfZG9uZSgoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRF
cnJvcicpOwotICB9KTsKIH0sICdFeGNlcHRpb24gaW4gc2Vjb25kIGVycm9yIGV2ZW50IGxpc3Rl
bmVyIG9uIHJlcXVlc3QnKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJl
cXVlc3QpID0+IHsKQEAgLTc3LDEwICs4MCw5IEBAIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwg
ZGIsIHR4LCByZXF1ZXMKICAgICBhc3NlcnRfdHJ1ZShpc190cmFuc2FjdGlvbl9hY3RpdmUodHgs
ICdzJyksCiAgICAgICAgICAgICAgICAgJ1RyYW5zYWN0aW9uIHNob3VsZCBiZSBhY3RpdmUgdW50
aWwgZGlzcGF0Y2ggY29tcGxldGVzJyk7CiAgIH0pKTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9m
dW5jX2RvbmUoKCkgPT4geworICB0eC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHQuc3RlcF9m
dW5jKCgpID0+IHsKICAgICBhc3NlcnRfdHJ1ZShzZWNvbmRfbGlzdGVuZXJfY2FsbGVkKTsKLSAg
ICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0pOworICB9
KSk7CiB9LCAnRXhjZXB0aW9uIGluIGZpcnN0IGVycm9yIGV2ZW50IGxpc3RlbmVyIG9uIHJlcXVl
c3QsICcgKwogICAgJ3RyYW5zYWN0aW9uIGFjdGl2ZSBpbiBzZWNvbmQnKTsKIApAQCAtOTAsOSAr
OTIsNiBAQCBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzCiAgIHR4Lm9u
ZXJyb3IgPSAoKSA9PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfTsKLSAgdHgub25hYm9ydCA9
IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFt
ZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGhh
bmRsZXIgb24gdHJhbnNhY3Rpb24nKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwg
dHgsIHJlcXVlc3QpID0+IHsKQEAgLTEwMCwxOCArOTksMTIgQEAgZmlyZV9lcnJvcl9ldmVudF90
ZXN0KCh0LCBkYiwgdHgsIHJlcXVlcwogICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICB0aHJv
dyBFcnJvcigpOwogICB9OwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7
Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsK
IH0sICdFeGNlcHRpb24gaW4gZXJyb3IgZXZlbnQgaGFuZGxlciBvbiB0cmFuc2FjdGlvbiwgd2l0
aCBwcmV2ZW50RGVmYXVsdCcpOwogCiBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwg
cmVxdWVzdCkgPT4gewogICB0eC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpID0+IHsKICAg
ICB0aHJvdyBFcnJvcigpOwogICB9KTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2RvbmUo
KCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsK
LSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIGVycm9yIGV2ZW50IGxpc3RlbmVyIG9uIHRyYW5zYWN0
aW9uJyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0KSA9PiB7
CkBAIC0xMjEsOSArMTE0LDYgQEAgZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJl
cXVlcwogICB0eC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpID0+IHsKICAgICB0aHJvdyBF
cnJvcigpOwogICB9KTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewot
ICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CiB9
LCAnRXhjZXB0aW9uIGluIHNlY29uZCBlcnJvciBldmVudCBsaXN0ZW5lciBvbiB0cmFuc2FjdGlv
bicpOwogCiBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzdCkgPT4gewpA
QCAtMTM2LDEwICsxMjYsOSBAQCBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVx
dWVzCiAgICAgYXNzZXJ0X3RydWUoaXNfdHJhbnNhY3Rpb25fYWN0aXZlKHR4LCAncycpLAogICAg
ICAgICAgICAgICAgICdUcmFuc2FjdGlvbiBzaG91bGQgYmUgYWN0aXZlIHVudGlsIGRpc3BhdGNo
IGNvbXBsZXRlcycpOwogICB9KSk7Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBfZnVuY19kb25lKCgp
ID0+IHsKKyAgdHguYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB0LnN0ZXBfZnVuYygoKSA9PiB7
CiAgICAgYXNzZXJ0X3RydWUoc2Vjb25kX2xpc3RlbmVyX2NhbGxlZCk7Ci0gICAgYXNzZXJ0X2Vx
dWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKKyAgfSkpOwogfSwgJ0V4
Y2VwdGlvbiBpbiBmaXJzdCBlcnJvciBldmVudCBsaXN0ZW5lciBvbiB0cmFuc2FjdGlvbiwgJyAr
CiAgICAndHJhbnNhY3Rpb24gYWN0aXZlIGluIHNlY29uZCcpOwogCkBAIC0xNDksOSArMTM4LDYg
QEAgZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJlcXVlcwogICBkYi5vbmVycm9y
ID0gKCkgPT4gewogICAgIHRocm93IEVycm9yKCk7CiAgIH07Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0
ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdB
Ym9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBlcnJvciBldmVudCBoYW5kbGVy
IG9uIGNvbm5lY3Rpb24nKTsKIAogZmlyZV9lcnJvcl9ldmVudF90ZXN0KCh0LCBkYiwgdHgsIHJl
cXVlc3QpID0+IHsKQEAgLTE1OSwxOCArMTQ1LDEyIEBAIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgo
dCwgZGIsIHR4LCByZXF1ZXMKICAgICBlLnByZXZlbnREZWZhdWx0KCkKICAgICB0aHJvdyBFcnJv
cigpOwogICB9OwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Ci0gICAg
YXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKIH0sICdF
eGNlcHRpb24gaW4gZXJyb3IgZXZlbnQgaGFuZGxlciBvbiBjb25uZWN0aW9uLCB3aXRoIHByZXZl
bnREZWZhdWx0Jyk7CiAKIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0
KSA9PiB7CiAgIGRiLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4gewogICAgIHRocm93
IEVycm9yKCk7CiAgIH0pOwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7
Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsK
IH0sICdFeGNlcHRpb24gaW4gZXJyb3IgZXZlbnQgbGlzdGVuZXIgb24gY29ubmVjdGlvbicpOwog
CiBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzdCkgPT4gewpAQCAtMTgw
LDkgKzE2MCw2IEBAIGZpcmVfZXJyb3JfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXMKICAg
ZGIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoKSA9PiB7CiAgICAgdGhyb3cgRXJyb3IoKTsK
ICAgfSk7Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3Nl
cnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2Vw
dGlvbiBpbiBzZWNvbmQgZXJyb3IgZXZlbnQgbGlzdGVuZXIgb24gY29ubmVjdGlvbicpOwogCiBm
aXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzdCkgPT4gewpAQCAtMTk1LDEw
ICsxNzIsOSBAQCBmaXJlX2Vycm9yX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwgcmVxdWVzCiAgICAg
YXNzZXJ0X3RydWUoaXNfdHJhbnNhY3Rpb25fYWN0aXZlKHR4LCAncycpLAogICAgICAgICAgICAg
ICAgICdUcmFuc2FjdGlvbiBzaG91bGQgYmUgYWN0aXZlIHVudGlsIGRpc3BhdGNoIGNvbXBsZXRl
cycpOwogICB9KSk7Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAg
dHguYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB0LnN0ZXBfZnVuYygoKSA9PiB7CiAgICAgYXNz
ZXJ0X3RydWUoc2Vjb25kX2xpc3RlbmVyX2NhbGxlZCk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5l
cnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKKyAgfSkpOwogfSwgJ0V4Y2VwdGlvbiBp
biBmaXJzdCBlcnJvciBldmVudCBsaXN0ZW5lciBvbiBjb25uZWN0aW9uLCAnICsKICAgICd0cmFu
c2FjdGlvbiBhY3RpdmUgaW4gc2Vjb25kJyk7CiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtc3VjY2Vzcy1ldmVudC1leGNl
cHRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtc3VjY2Vzcy1ldmVudC1leGNlcHRp
b24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLXN1Y2Nlc3MtZXZlbnQtZXhj
ZXB0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDggQEAKIAogUEFT
UyBFeGNlcHRpb24gaW4gc3VjY2VzcyBldmVudCBoYW5kbGVyIG9uIHJlcXVlc3QgCiBQQVNTIEV4
Y2VwdGlvbiBpbiBzdWNjZXNzIGV2ZW50IGxpc3RlbmVyIG9uIHJlcXVlc3QgCitQQVNTIEV4Y2Vw
dGlvbiBpbiBzdWNjZXNzIGV2ZW50IGxpc3RlbmVyICgiaGFuZGxlRXZlbnQiIGxvb2t1cCkgb24g
cmVxdWVzdCAKK0ZBSUwgRXhjZXB0aW9uIGluIHN1Y2Nlc3MgZXZlbnQgbGlzdGVuZXIgKG5vbi1j
YWxsYWJsZSAiaGFuZGxlRXZlbnQiKSBvbiByZXF1ZXN0IGFzc2VydF91bnJlYWNoZWQ6IHRyYW5z
YWN0aW9uIHNob3VsZCBhYm9ydCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBBU1MgRXhjZXB0
aW9uIGluIHNlY29uZCBzdWNjZXNzIGV2ZW50IGxpc3RlbmVyIG9uIHJlcXVlc3QgCiBQQVNTIEV4
Y2VwdGlvbiBpbiBmaXJzdCBzdWNjZXNzIGV2ZW50IGxpc3RlbmVyLCB0eCBhY3RpdmUgaW4gc2Vj
b25kIAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9maXJlLXN1Y2Nlc3MtZXZlbnQtZXhjZXB0aW9uLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
ZmlyZS1zdWNjZXNzLWV2ZW50LWV4Y2VwdGlvbi5odG1sCShyZXZpc2lvbiAyNTAyNjApCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJl
LXN1Y2Nlc3MtZXZlbnQtZXhjZXB0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDYgKzE5
LDkgQEAgZnVuY3Rpb24gZmlyZV9zdWNjZXNzX2V2ZW50X3Rlc3QoZnVuYywgZAogICAgICAgY29u
c3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgncycpOwogICAgICAgY29uc3QgcmVxdWVzdCA9IHN0
b3JlLmdldCgwKTsKICAgICAgIGZ1bmModCwgZGIsIHR4LCByZXF1ZXN0KTsKKyAgICAgIHR4LmFk
ZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7CisgICAgICAg
IGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3InKTsKKyAgICAgIH0pKTsK
ICAgICB9LAogICAgIGRlc2NyaXB0aW9uKTsKIH0KQEAgLTI3LDMwICszMCwzNSBAQCBmaXJlX3N1
Y2Nlc3NfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1CiAgIHJlcXVlc3Qub25zdWNjZXNzID0g
KCkgPT4gewogICAgIHRocm93IEVycm9yKCk7CiAgIH07Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBf
ZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9y
dEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiBzdWNjZXNzIGV2ZW50IGhhbmRsZXIg
b24gcmVxdWVzdCcpOwogCiBmaXJlX3N1Y2Nlc3NfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1
ZXN0KSA9PiB7CiAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcignc3VjY2VzcycsICgpID0+IHsK
ICAgICB0aHJvdyBFcnJvcigpOwogICB9KTsKLSAgdHgub25hYm9ydCA9IHQuc3RlcF9mdW5jX2Rv
bmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFtZSwgJ0Fib3J0RXJyb3In
KTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIHN1Y2Nlc3MgZXZlbnQgbGlzdGVuZXIgb24gcmVx
dWVzdCcpOwogCiBmaXJlX3N1Y2Nlc3NfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0KSA9
PiB7CisgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcignc3VjY2VzcycsIHsKKyAgICBnZXQgaGFu
ZGxlRXZlbnQoKSB7CisgICAgICB0aHJvdyBuZXcgRXJyb3IoKTsKKyAgICB9LAorICB9KTsKK30s
ICdFeGNlcHRpb24gaW4gc3VjY2VzcyBldmVudCBsaXN0ZW5lciAoImhhbmRsZUV2ZW50IiBsb29r
dXApIG9uIHJlcXVlc3QnKTsKKworZmlyZV9zdWNjZXNzX2V2ZW50X3Rlc3QoKHQsIGRiLCB0eCwg
cmVxdWVzdCkgPT4geworICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ3N1Y2Nlc3MnLCB7Cisg
ICAgaGFuZGxlRXZlbnQ6IG51bGwsCisgIH0pOworfSwgJ0V4Y2VwdGlvbiBpbiBzdWNjZXNzIGV2
ZW50IGxpc3RlbmVyIChub24tY2FsbGFibGUgImhhbmRsZUV2ZW50Iikgb24gcmVxdWVzdCcpOwor
CitmaXJlX3N1Y2Nlc3NfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0KSA9PiB7CiAgIHJl
cXVlc3QuYWRkRXZlbnRMaXN0ZW5lcignc3VjY2VzcycsICgpID0+IHsKICAgICAvLyBuby1vcAog
ICB9KTsKICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdzdWNjZXNzJywgKCkgPT4gewogICAg
IHRocm93IEVycm9yKCk7CiAgIH0pOwotICB0eC5vbmFib3J0ID0gdC5zdGVwX2Z1bmNfZG9uZSgo
KSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwot
ICB9KTsKIH0sICdFeGNlcHRpb24gaW4gc2Vjb25kIHN1Y2Nlc3MgZXZlbnQgbGlzdGVuZXIgb24g
cmVxdWVzdCcpOwogCiBmaXJlX3N1Y2Nlc3NfZXZlbnRfdGVzdCgodCwgZGIsIHR4LCByZXF1ZXN0
KSA9PiB7CkBAIC02MywxMCArNzEsOSBAQCBmaXJlX3N1Y2Nlc3NfZXZlbnRfdGVzdCgodCwgZGIs
IHR4LCByZXF1CiAgICAgYXNzZXJ0X3RydWUoaXNfdHJhbnNhY3Rpb25fYWN0aXZlKHR4LCAncycp
LAogICAgICAgICAgICAgICAgICdUcmFuc2FjdGlvbiBzaG91bGQgYmUgYWN0aXZlIHVudGlsIGRp
c3BhdGNoIGNvbXBsZXRlcycpOwogICB9KSk7Ci0gIHR4Lm9uYWJvcnQgPSB0LnN0ZXBfZnVuY19k
b25lKCgpID0+IHsKKyAgdHguYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB0LnN0ZXBfZnVuYygo
KSA9PiB7CiAgICAgYXNzZXJ0X3RydWUoc2Vjb25kX2xpc3RlbmVyX2NhbGxlZCk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKKyAgfSkpOwog
fSwgJ0V4Y2VwdGlvbiBpbiBmaXJzdCBzdWNjZXNzIGV2ZW50IGxpc3RlbmVyLCB0eCBhY3RpdmUg
aW4gc2Vjb25kJyk7CiAKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS11cGdyYWRlbmVlZGVkLWV2ZW50LWV4
Y2VwdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS11cGdyYWRlbmVlZGVkLWV2ZW50
LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtdXBncmFkZW5l
ZWRlZC1ldmVudC1leGNlcHRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEw
ICsxLDEzIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjY6IEVycm9yCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzE6IEVycm9yCiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzc6IEVycm9yCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgNTE6IEVycm9yCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IEVy
cm9yCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNDQ6IEVycm9yCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNjI6IEVycm9yCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNzA6IEVycm9yCiAKIFBBU1MgRXhj
ZXB0aW9uIGluIHVwZ3JhZGVuZWVkZWQgaGFuZGxlciAKIFBBU1MgRXhjZXB0aW9uIGluIHVwZ3Jh
ZGVuZWVkZWQgbGlzdGVuZXIgCitQQVNTIEV4Y2VwdGlvbiBpbiB1cGdyYWRlbmVlZGVkICJoYW5k
bGVFdmVudCIgbG9va3VwIAorRkFJTCBFeGNlcHRpb24gaW4gdXBncmFkZW5lZWRlZCBkdWUgdG8g
bm9uLWNhbGxhYmxlICJoYW5kbGVFdmVudCIgYXNzZXJ0X3VucmVhY2hlZDogb3BlbiBzaG91bGQg
ZmFpbCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBBU1MgRXhjZXB0aW9uIGluIHNlY29uZCB1
cGdyYWRlbmVlZGVkIGxpc3RlbmVyIAogUEFTUyBFeGNlcHRpb24gaW4gZmlyc3QgdXBncmFkZW5l
ZWRlZCBsaXN0ZW5lciwgdHggYWN0aXZlIGluIHNlY29uZCAKIApJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS11cGdyYWRlbmVl
ZGVkLWV2ZW50LWV4Y2VwdGlvbi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtdXBncmFkZW5lZWRlZC1l
dmVudC1leGNlcHRpb24uaHRtbAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZmlyZS11cGdyYWRlbmVlZGVk
LWV2ZW50LWV4Y2VwdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNSw0OCArMTUsNTUgQEAg
ZnVuY3Rpb24gZmlyZV91cGdyYWRlbmVlZGVkX2V2ZW50X3Rlc3QoZgogICAgIGRlbC5vbmVycm9y
ID0gdC51bnJlYWNoZWRfZnVuYygnZGVsZXRlRGF0YWJhc2Ugc2hvdWxkIHN1Y2NlZWQnKTsKICAg
ICBjb25zdCBvcGVuID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAxKTsKICAgICBvcGVuLm9uc3Vj
Y2VzcyA9IHQudW5yZWFjaGVkX2Z1bmMoJ29wZW4gc2hvdWxkIGZhaWwnKTsKKyAgICBsZXQgdHg7
CisgICAgb3Blbi5hZGRFdmVudExpc3RlbmVyKCd1cGdyYWRlbmVlZGVkJywgKCkgPT4geworICAg
ICAgdHggPSBvcGVuLnRyYW5zYWN0aW9uOworICAgIH0pOwogICAgIGZ1bmModCwgb3Blbik7Cisg
ICAgb3Blbi5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4g
eworICAgICAgYXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOworICAg
IH0pKTsKICAgfSwgZGVzY3JpcHRpb24pOwogfQogCiBmaXJlX3VwZ3JhZGVuZWVkZWRfZXZlbnRf
dGVzdCgodCwgb3BlbikgPT4gewotICBsZXQgdHg7CiAgIG9wZW4ub251cGdyYWRlbmVlZGVkID0g
KCkgPT4gewotICAgIHR4ID0gb3Blbi50cmFuc2FjdGlvbjsKICAgICB0aHJvdyBFcnJvcigpOwog
ICB9OwotICBvcGVuLm9uZXJyb3IgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKLSAgICBhc3Nl
cnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9yJyk7Ci0gIH0pOwogfSwgJ0V4Y2Vw
dGlvbiBpbiB1cGdyYWRlbmVlZGVkIGhhbmRsZXInKTsKIAogZmlyZV91cGdyYWRlbmVlZGVkX2V2
ZW50X3Rlc3QoKHQsIG9wZW4pID0+IHsKLSAgbGV0IHR4OwogICBvcGVuLmFkZEV2ZW50TGlzdGVu
ZXIoJ3VwZ3JhZGVuZWVkZWQnLCAoKSA9PiB7Ci0gICAgdHggPSBvcGVuLnRyYW5zYWN0aW9uOwog
ICAgIHRocm93IEVycm9yKCk7CiAgIH0pOwotICBvcGVuLm9uZXJyb3IgPSB0LnN0ZXBfZnVuY19k
b25lKCgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHR4LmVycm9yLm5hbWUsICdBYm9ydEVycm9y
Jyk7Ci0gIH0pOwogfSwgJ0V4Y2VwdGlvbiBpbiB1cGdyYWRlbmVlZGVkIGxpc3RlbmVyJyk7CiAK
IGZpcmVfdXBncmFkZW5lZWRlZF9ldmVudF90ZXN0KCh0LCBvcGVuKSA9PiB7Ci0gIGxldCB0eDsK
KyAgb3Blbi5hZGRFdmVudExpc3RlbmVyKCd1cGdyYWRlbmVlZGVkJywgeworICAgIGdldCBoYW5k
bGVFdmVudCgpIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcigpOworICAgIH0sCisgIH0pOworfSwg
J0V4Y2VwdGlvbiBpbiB1cGdyYWRlbmVlZGVkICJoYW5kbGVFdmVudCIgbG9va3VwJyk7CisKK2Zp
cmVfdXBncmFkZW5lZWRlZF9ldmVudF90ZXN0KCh0LCBvcGVuKSA9PiB7CisgIG9wZW4uYWRkRXZl
bnRMaXN0ZW5lcigndXBncmFkZW5lZWRlZCcsIHsKKyAgICBnZXQgaGFuZGxlRXZlbnQoKSB7Cisg
ICAgICByZXR1cm4gMTA7CisgICAgfSwKKyAgfSk7Cit9LCAnRXhjZXB0aW9uIGluIHVwZ3JhZGVu
ZWVkZWQgZHVlIHRvIG5vbi1jYWxsYWJsZSAiaGFuZGxlRXZlbnQiJyk7CisKK2ZpcmVfdXBncmFk
ZW5lZWRlZF9ldmVudF90ZXN0KCh0LCBvcGVuKSA9PiB7CiAgIG9wZW4uYWRkRXZlbnRMaXN0ZW5l
cigndXBncmFkZW5lZWRlZCcsICgpID0+IHsKICAgICAvLyBOby1vcC4KICAgfSk7CiAgIG9wZW4u
YWRkRXZlbnRMaXN0ZW5lcigndXBncmFkZW5lZWRlZCcsICgpID0+IHsKLSAgICB0eCA9IG9wZW4u
dHJhbnNhY3Rpb247CiAgICAgdGhyb3cgRXJyb3IoKTsKICAgfSk7Ci0gIG9wZW4ub25lcnJvciA9
IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHModHguZXJyb3IubmFt
ZSwgJ0Fib3J0RXJyb3InKTsKLSAgfSk7CiB9LCAnRXhjZXB0aW9uIGluIHNlY29uZCB1cGdyYWRl
bmVlZGVkIGxpc3RlbmVyJyk7CiAKIGZpcmVfdXBncmFkZW5lZWRlZF9ldmVudF90ZXN0KCh0LCBv
cGVuKSA9PiB7Ci0gIGxldCB0eDsKICAgbGV0IHNlY29uZF9saXN0ZW5lcl9jYWxsZWQgPSBmYWxz
ZTsKICAgb3Blbi5hZGRFdmVudExpc3RlbmVyKCd1cGdyYWRlbmVlZGVkJywgKCkgPT4gewogICAg
IG9wZW4ucmVzdWx0LmNyZWF0ZU9iamVjdFN0b3JlKCdzJyk7CkBAIC02NCwxNCArNzEsMTIgQEAg
ZmlyZV91cGdyYWRlbmVlZGVkX2V2ZW50X3Rlc3QoKHQsIG9wZW4pIAogICB9KTsKICAgb3Blbi5h
ZGRFdmVudExpc3RlbmVyKCd1cGdyYWRlbmVlZGVkJywgdC5zdGVwX2Z1bmMoKCkgPT4gewogICAg
IHNlY29uZF9saXN0ZW5lcl9jYWxsZWQgPSB0cnVlOwotICAgIHR4ID0gb3Blbi50cmFuc2FjdGlv
bjsKLSAgICBhc3NlcnRfdHJ1ZShpc190cmFuc2FjdGlvbl9hY3RpdmUodHgsICdzJyksCisgICAg
YXNzZXJ0X3RydWUoaXNfdHJhbnNhY3Rpb25fYWN0aXZlKG9wZW4udHJhbnNhY3Rpb24sICdzJyks
CiAgICAgICAgICAgICAgICAgJ1RyYW5zYWN0aW9uIHNob3VsZCBiZSBhY3RpdmUgdW50aWwgZGlz
cGF0Y2ggY29tcGxldGVzJyk7CiAgIH0pKTsKLSAgb3Blbi5vbmVycm9yID0gdC5zdGVwX2Z1bmNf
ZG9uZSgoKSA9PiB7CisgIG9wZW4uYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB0LnN0ZXBfZnVu
YygoKSA9PiB7CiAgICAgYXNzZXJ0X3RydWUoc2Vjb25kX2xpc3RlbmVyX2NhbGxlZCk7Ci0gICAg
YXNzZXJ0X2VxdWFscyh0eC5lcnJvci5uYW1lLCAnQWJvcnRFcnJvcicpOwotICB9KTsKKyAgfSkp
OwogfSwgJ0V4Y2VwdGlvbiBpbiBmaXJzdCB1cGdyYWRlbmVlZGVkIGxpc3RlbmVyLCB0eCBhY3Rp
dmUgaW4gc2Vjb25kJyk7CiAKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZ2V0LWRhdGFiYXNlcy5hbnktZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw3IEBACisKK0ZBSUwgRW5zdXJlIHRoYXQgZGF0YWJhc2VzKCkgcmV0dXJucyBhIHBy
b21pc2UuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogaW5kZXhlZERCLmRhdGFiYXNlcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdpbmRleGVkREIuZGF0YWJhc2VzKCknLCAnaW5kZXhlZERCLmRhdGFiYXNlcycgaXMgdW5kZWZp
bmVkKSIKK0ZBSUwgRW51bWVyYXRlIG9uZSBkYXRhYmFzZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBpbmRleGVkREIuZGF0
YWJhc2VzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2luZGV4ZWREQi5kYXRhYmFzZXMoKScsICdp
bmRleGVkREIuZGF0YWJhc2VzJyBpcyB1bmRlZmluZWQpIgorRkFJTCBFbnVtZXJhdGUgbXVsdGlw
bGUgZGF0YWJhc2VzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGluZGV4ZWREQi5kYXRhYmFzZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnaW5kZXhlZERCLmRhdGFiYXNlcygpJywgJ2luZGV4ZWREQi5kYXRhYmFzZXMnIGlz
IHVuZGVmaW5lZCkiCitGQUlMIE1ha2Ugc3VyZSBhbiBlbXB0eSBsaXN0IGlzIHJldHVybmVkIGZv
ciB0aGUgY2FzZSBvZiBubyBkYXRhYmFzZXMuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogaW5kZXhlZERCLmRhdGFiYXNlcyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdpbmRleGVkREIuZGF0YWJhc2VzKCknLCAnaW5kZXhlZERC
LmRhdGFiYXNlcycgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgRW5zdXJlIHRoYXQgZGF0YWJhc2VzKCkg
ZG9lc24ndCBwaWNrIHVwIGNoYW5nZXMgdGhhdCBoYXZlbid0IGNvbW1pdGVkLiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGlu
ZGV4ZWREQi5kYXRhYmFzZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnaW5kZXhlZERCLmRhdGFi
YXNlcygpJywgJ2luZGV4ZWREQi5kYXRhYmFzZXMnIGlzIHVuZGVmaW5lZCkiCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1k
YXRhYmFzZXMuYW55Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvZ2V0LWRhdGFiYXNlcy5hbnkuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFz
ZXMuYW55LmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTE3IEBACisvLyBNRVRBOiBzY3JpcHQ9c3VwcG9ydC1wcm9taXNlcy5q
cworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBhc3NlcnRfdHJ1ZShpbmRl
eGVkREIuZGF0YWJhc2VzKCkgaW5zdGFuY2VvZiBQcm9taXNlLAorICAgICAgImRhdGFiYXNlcygp
IHNob3VsZCByZXR1cm4gYSBwcm9taXNlLiIpOworfSwgIkVuc3VyZSB0aGF0IGRhdGFiYXNlcygp
IHJldHVybnMgYSBwcm9taXNlLiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4g
eworICAvLyBEZWxldGUgYW55IGRhdGFiYXNlcyB0aGF0IG1heSBub3QgaGF2ZSBiZWVuIGNsZWFu
ZWQgdXAgYWZ0ZXIgcHJldmlvdXMgdGVzdAorICAvLyBydW5zLgorICBhd2FpdCBkZWxldGVBbGxE
YXRhYmFzZXModGVzdENhc2UpOworCisgIGNvbnN0IGRiX25hbWUgPSAiVGVzdERhdGFiYXNlIjsK
KyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCBkYl9uYW1l
LCAoKT0+e30pOworICBjb25zdCBkYXRhYmFzZXNfcmVzdWx0ID0gYXdhaXQgaW5kZXhlZERCLmRh
dGFiYXNlcygpOworICBkYi5jbG9zZSgpOworICBjb25zdCBleHBlY3RlZF9yZXN1bHQgPSB7Im5h
bWUiOiBkYl9uYW1lLCAidmVyc2lvbiI6IDF9OworICBhc3NlcnRfZXF1YWxzKAorICAgICAgZGF0
YWJhc2VzX3Jlc3VsdC5sZW5ndGgsCisgICAgICAxLAorICAgICAgIlRoZSByZXN1bHQgb2YgZGF0
YWJhc2VzKCkgc2hvdWxkIGNvbnRhaW4gb25lIHJlc3VsdCBwZXIgZGF0YWJhc2UuIik7CisgIGFz
c2VydF90cnVlKAorICAgICAgZGF0YWJhc2VzX3Jlc3VsdFswXS5uYW1lID09PSBleHBlY3RlZF9y
ZXN1bHQubmFtZQorICAgICAgICAgICYmIGRhdGFiYXNlc19yZXN1bHRbMF0udmVyc2lvbiA9PT0g
ZXhwZWN0ZWRfcmVzdWx0LnZlcnNpb24sCisgICAgICAiVGhlIHJlc3VsdCBvZiBkYXRhYmFzZXMo
KSBzaG91bGQgYmUgYSBzZXF1ZW5jZSBvZiB0aGUgY29ycmVjdCBuYW1lcyAiCisgICAgICArICJh
bmQgdmVyc2lvbnMgb2YgYWxsIGRhdGFiYXNlcyBmb3IgdGhlIG9yaWdpbi4iKTsKK30sICJFbnVt
ZXJhdGUgb25lIGRhdGFiYXNlLiIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4g
eworICAvLyBEZWxldGUgYW55IGRhdGFiYXNlcyB0aGF0IG1heSBub3QgaGF2ZSBiZWVuIGNsZWFu
ZWQgdXAgYWZ0ZXIgcHJldmlvdXMgdGVzdAorICAvLyBydW5zLgorICBhd2FpdCBkZWxldGVBbGxE
YXRhYmFzZXModGVzdENhc2UpOworCisgIGNvbnN0IGRiX25hbWUxID0gIlRlc3REYXRhYmFzZTEi
OworICBjb25zdCBkYl9uYW1lMiA9ICJUZXN0RGF0YWJhc2UyIjsKKyAgY29uc3QgZGJfbmFtZTMg
PSAiVGVzdERhdGFiYXNlMyI7CisgIGNvbnN0IGRiMSA9IGF3YWl0IGNyZWF0ZU5hbWVkRGF0YWJh
c2UodGVzdENhc2UsIGRiX25hbWUxLCAoKT0+e30pOworICBjb25zdCBkYjIgPSBhd2FpdCBjcmVh
dGVOYW1lZERhdGFiYXNlKHRlc3RDYXNlLCBkYl9uYW1lMiwgKCk9Pnt9KTsKKyAgY29uc3QgZGIz
ID0gYXdhaXQgY3JlYXRlTmFtZWREYXRhYmFzZSh0ZXN0Q2FzZSwgZGJfbmFtZTMsICgpPT57fSk7
CisgIGRiMS5jbG9zZSgpOworICBkYjIuY2xvc2UoKTsKKyAgZGIzLmNsb3NlKCk7CisgIGNvbnN0
IHZlcnNpb25fcHJvbWlzZSA9CisgICAgICBhd2FpdCBtaWdyYXRlTmFtZWREYXRhYmFzZSh0ZXN0
Q2FzZSwgZGJfbmFtZTIsIDIsICgpID0+IHt9KTsKKyAgY29uc3QgZGF0YWJhc2VzX3Jlc3VsdCA9
IGF3YWl0IGluZGV4ZWREQi5kYXRhYmFzZXMoKTsKKyAgY29uc3QgZXhwZWN0ZWRfcmVzdWx0ID0g
WworICAgIHsibmFtZSI6IGRiX25hbWUxLCAidmVyc2lvbiI6IDF9LAorICAgIHsibmFtZSI6IGRi
X25hbWUyLCAidmVyc2lvbiI6IDJ9LAorICAgIHsibmFtZSI6IGRiX25hbWUzLCAidmVyc2lvbiI6
IDF9LAorICBdOworICBhc3NlcnRfZXF1YWxzKAorICAgICAgZGF0YWJhc2VzX3Jlc3VsdC5sZW5n
dGgsCisgICAgICBleHBlY3RlZF9yZXN1bHQubGVuZ3RoLAorICAgICAgIlRoZSByZXN1bHQgb2Yg
ZGF0YWJhc2VzKCkgc2hvdWxkIGNvbnRhaW4gb25lIHJlc3VsdCBwZXIgZGF0YWJhc2UuIik7Cisg
IGZvciAoIGxldCBpID0gMDsgaSA8IGV4cGVjdGVkX3Jlc3VsdC5sZW5ndGg7IGkgKz0gMSApIHsK
KyAgICByZXN1bHQgPSBleHBlY3RlZF9yZXN1bHRbaV07CisgICAgYXNzZXJ0X3RydWUoCisgICAg
ICAgIGRhdGFiYXNlc19yZXN1bHQuc29tZSgKKyAgICAgICAgICAgIGUgPT4gZS5uYW1lID09PSBy
ZXN1bHQubmFtZSAmJiBlLnZlcnNpb24gPT09IHJlc3VsdC52ZXJzaW9uKSwKKyAgICAgICAgIlRo
ZSByZXN1bHQgb2YgZGF0YWJhc2VzKCkgc2hvdWxkIGJlIGEgc2VxdWVuY2Ugb2YgdGhlIGNvcnJl
Y3QgbmFtZXMgIgorICAgICAgICArICJhbmQgdmVyc2lvbnMgb2YgYWxsIGRhdGFiYXNlcyBmb3Ig
dGhlIG9yaWdpbi4iKTsKKyAgfQorfSwgIkVudW1lcmF0ZSBtdWx0aXBsZSBkYXRhYmFzZXMuIik7
CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIC8vIEFkZCBzb21lIGRhdGFi
YXNlcyBhbmQgY2xvc2UgdGhlaXIgY29ubmVjdGlvbnMuCisgIGNvbnN0IGRiMSA9IGF3YWl0IGNy
ZWF0ZU5hbWVkRGF0YWJhc2UodGVzdENhc2UsICJEQjEiLCAoKSA9PiB7fSk7CisgIGNvbnN0IGRi
MiA9IGF3YWl0IGNyZWF0ZU5hbWVkRGF0YWJhc2UodGVzdENhc2UsICJEQjIiLCAoKSA9PiB7fSk7
CisgIGRiMS5jbG9zZSgpOworICBkYjIuY2xvc2UoKTsKKworICAvLyBEZWxldGUgYW55IGRhdGFi
YXNlcyB0aGF0IG1heSBub3QgaGF2ZSBiZWVuIGNsZWFuZWQgdXAgYWZ0ZXIgcHJldmlvdXMgdGVz
dAorICAvLyBydW5zIGFzIHdlbGwgYXMgdGhlIHR3byBkYXRhYmFzZXMgbWFkZSBhYm92ZS4KKyAg
YXdhaXQgZGVsZXRlQWxsRGF0YWJhc2VzKHRlc3RDYXNlKTsKKworICAvLyBNYWtlIHN1cmUgdGhl
IGRhdGFiYXNlcyBhcmUgbm8gbG9uZ2VyIHJldHVybmVkLgorICBjb25zdCBkYXRhYmFzZXNfcmVz
dWx0ID0gYXdhaXQgaW5kZXhlZERCLmRhdGFiYXNlcygpOworICBhc3NlcnRfZXF1YWxzKAorICAg
ICAgZGF0YWJhc2VzX3Jlc3VsdC5sZW5ndGgsCisgICAgICAwLAorICAgICAgIlRoZSByZXN1bHQg
b2YgZGF0YWJhc2VzKCkgc2hvdWxkIGJlIGFuIGVtcHR5IHNlcXVlbmNlIGZvciB0aGUgY2FzZSBv
ZiAiCisgICAgICArICJubyBkYXRhYmFzZXMgZm9yIHRoZSBvcmlnaW4uIik7Cit9LCAiTWFrZSBz
dXJlIGFuIGVtcHR5IGxpc3QgaXMgcmV0dXJuZWQgZm9yIHRoZSBjYXNlIG9mIG5vIGRhdGFiYXNl
cy4iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgLy8gRGVsZXRlIGFu
eSBkYXRhYmFzZXMgdGhhdCBtYXkgbm90IGhhdmUgYmVlbiBjbGVhbmVkIHVwIGFmdGVyIHByZXZp
b3VzIHRlc3QKKyAgLy8gcnVucyBhcyB3ZWxsIGFzIHRoZSB0d28gZGF0YWJhc2VzIG1hZGUgYWJv
dmUuCisgIGF3YWl0IGRlbGV0ZUFsbERhdGFiYXNlcyh0ZXN0Q2FzZSk7CisKKyAgY29uc3QgZGIx
ID0gYXdhaXQgY3JlYXRlTmFtZWREYXRhYmFzZSh0ZXN0Q2FzZSwgIkRCMSIsICgpPT57fSk7Cisg
IGNvbnN0IGRiMiA9IGF3YWl0IGNyZWF0ZU5hbWVkRGF0YWJhc2UodGVzdENhc2UsICJEQjIiLCBh
c3luYyAoKSA9PiB7CisgICAgY29uc3QgZGF0YWJhc2VzX3Jlc3VsdDEgPSBhd2FpdCBpbmRleGVk
REIuZGF0YWJhc2VzKCk7CisgICAgYXNzZXJ0X2VxdWFscygKKyAgICAgICAgZGF0YWJhc2VzX3Jl
c3VsdDEubGVuZ3RoLAorICAgICAgICAxLAorICAgICAgICAiVGhlIHJlc3VsdCBvZiBkYXRhYmFz
ZXMoKSBzaG91bGQgYmUgb25seSB0aG9zZSBkYXRhYmFzZXMgd2hpY2ggaGF2ZSAiCisgICAgICAg
ICsgImJlZW4gY3JlYXRlZCBhdCB0aGUgdGltZSBvZiBjYWxsaW5nLCByZWdhcmRsZXNzIG9mIHZl
cnNpb25jaGFuZ2UgIgorICAgICAgICArICJ0cmFuc2FjdGlvbnMgY3VycmVudGx5IHJ1bm5pbmcu
Iik7CisgIH0pOworICBkYjEuY2xvc2UoKTsKKyAgZGIyLmNsb3NlKCk7CisgIGNvbnN0IGRhdGFi
YXNlc19yZXN1bHQyID0gYXdhaXQgaW5kZXhlZERCLmRhdGFiYXNlcygpOworICBhc3NlcnRfZXF1
YWxzKAorICAgICAgZGF0YWJhc2VzX3Jlc3VsdDIubGVuZ3RoLAorICAgICAgMiwKKyAgICAgICJU
aGUgcmVzdWx0IG9mIGRhdGFiYXNlcygpIHNob3VsZCBpbmNsdWRlIGFsbCBkYXRhYmFzZXMgd2hp
Y2ggaGF2ZSAiCisgICAgICArICJiZWVuIGNyZWF0ZWQgYXQgdGhlIHRpbWUgb2YgY2FsbGluZy4i
KTsKKyAgYXdhaXQgbWlncmF0ZU5hbWVkRGF0YWJhc2UodGVzdENhc2UsICJEQjIiLCAyLCBhc3lu
YyAoKSA9PiB7CisgICAgY29uc3QgZGF0YWJhc2VzX3Jlc3VsdDMgPSBhd2FpdCBpbmRleGVkREIu
ZGF0YWJhc2VzKCk7CisgICAgYXNzZXJ0X3RydWUoCisgICAgICAgIGRhdGFiYXNlc19yZXN1bHQz
WzBdLnZlcnNpb24gPT09IDEKKyAgICAgICAgJiYgZGF0YWJhc2VzX3Jlc3VsdDNbMV0udmVyc2lv
biA9PT0gMSwKKyAgICAgICAgIlRoZSByZXN1bHQgb2YgZGF0YWJhc2VzKCkgc2hvdWxkIGNvbnRh
aW4gdGhlIHZlcnNpb25zIG9mIGRhdGFiYXNlcyAiCisgICAgICAgICsgImF0IHRoZSB0aW1lIG9m
IGNhbGxpbmcsIHJlZ2FyZGxlc3Mgb2YgdmVyc2lvbmNoYW5nZSB0cmFuc2FjdGlvbnMgIgorICAg
ICAgICArICJjdXJyZW50bHkgcnVubmluZy4iKTsKKyAgfSk7Cit9LCAiRW5zdXJlIHRoYXQgZGF0
YWJhc2VzKCkgZG9lc24ndCBwaWNrIHVwIGNoYW5nZXMgdGhhdCBoYXZlbid0IGNvbW1pdGVkLiIp
OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvZ2V0LWRhdGFiYXNlcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9n
ZXQtZGF0YWJhc2VzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1k
YXRhYmFzZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw3IEBACisKK0ZBSUwgRW5zdXJlIHRoYXQgZGF0YWJhc2VzKCkgcmV0dXJucyBhIHByb21pc2Uu
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogaW5kZXhlZERCLmRhdGFiYXNlcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdpbmRl
eGVkREIuZGF0YWJhc2VzKCknLCAnaW5kZXhlZERCLmRhdGFiYXNlcycgaXMgdW5kZWZpbmVkKSIK
K0ZBSUwgRW51bWVyYXRlIG9uZSBkYXRhYmFzZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBpbmRleGVkREIuZGF0YWJhc2Vz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2luZGV4ZWREQi5kYXRhYmFzZXMoKScsICdpbmRleGVk
REIuZGF0YWJhc2VzJyBpcyB1bmRlZmluZWQpIgorRkFJTCBFbnVtZXJhdGUgbXVsdGlwbGUgZGF0
YWJhc2VzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IGluZGV4ZWREQi5kYXRhYmFzZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnaW5kZXhlZERCLmRhdGFiYXNlcygpJywgJ2luZGV4ZWREQi5kYXRhYmFzZXMnIGlzIHVuZGVm
aW5lZCkiCitGQUlMIE1ha2Ugc3VyZSBhbiBlbXB0eSBsaXN0IGlzIHJldHVybmVkIGZvciB0aGUg
Y2FzZSBvZiBubyBkYXRhYmFzZXMuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogaW5kZXhlZERCLmRhdGFiYXNlcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdpbmRleGVkREIuZGF0YWJhc2VzKCknLCAnaW5kZXhlZERCLmRhdGFi
YXNlcycgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgRW5zdXJlIHRoYXQgZGF0YWJhc2VzKCkgZG9lc24n
dCBwaWNrIHVwIGNoYW5nZXMgdGhhdCBoYXZlbid0IGNvbW1pdGVkLiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGluZGV4ZWRE
Qi5kYXRhYmFzZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnaW5kZXhlZERCLmRhdGFiYXNlcygp
JywgJ2luZGV4ZWREQi5kYXRhYmFzZXMnIGlzIHVuZGVmaW5lZCkiCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFz
ZXMuYW55Lndvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55Lndvcmtlci5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2dldC1kYXRhYmFzZXMuYW55Lndvcmtlci5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJL
aXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS1l
eHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIEFueSBl
cnJvcnMgaW4gY2FsbGJhY2tzIHRoYXQgcnVuIGFmdGVyIGFuIGV4cGxpY2l0IGNvbW1pdCB3aWxs
IG5vdCBzdG9wIHRoZSBjb21taXQgZnJvbSBiZWluZyBwcm9jZXNzZWQuIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNv
bW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcg
aXMgdW5kZWZpbmVkKSIKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LXRocm93LmFueS5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGlu
ZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkuanMJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
LWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
NSBAQAorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQtcHJvbWlzZXMuanMKKworLyoqCisgKiBUaGlz
IGZpbGUgY29udGFpbnMgYSB0ZXN0IHRoYXQgd2FzIHNlcGFyYXRlZCBvdXQgZnJvbSB0aGUgcmVz
dCBvZiB0aGUgaWRiCisgKiBleHBsaWN0IGNvbW1pdCB0ZXN0cyBiZWNhdXNlIGl0IHJlcXVpcmVz
IHRoZSBmbGFnICdhbGxvd191bmNhdWdodF9leGNlcHRpb24nLAorICogd2hpY2ggcHJldmVudHMg
dW5pbnRlbnRpb25hbGx5IHRocm93biBlcnJvcnMgZnJvbSBmYWlsaW5nIHRlc3RzLgorICoKKyAq
IEBhdXRob3IgYW5kcmVhc2J1dGxlckBnb29nbGUuY29tCisgKi8KKworc2V0dXAoe2FsbG93X3Vu
Y2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9
PiB7CisgIC8vIFJlZ2lzdGVyIGFuIGV2ZW50IGxpc3RlbmVyIHRoYXQgd2lsbCBwcmV2ZW50IHRo
ZSBpbnRlbnRpb25hbGx5IHRocm93bgorICAvLyBlcnJvciBmcm9tIGJ1YmJsaW5nIHVwIHRvIHRo
ZSB3aW5kb3cgYW5kIGZhaWxpbmcgdGhlIHRlc3RoYXJuZXNzLiBUaGlzCisgIC8vIGlzIG5lY2Vz
c2FyeSBiZWNhdXNlIGN1cnJlbnRseSBhbGxvd191bmNhdWdodF9leGNlcHRpb24gZG9lcyBub3Qg
YmVoYXZlCisgIC8vIGFzIGV4cGVjdGVkIGZvciBwcm9taXNlX3Rlc3QuCisgIC8vCisgIC8vIEdp
dCBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVz
LzE0MDQxCisgIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoZXZlbnQpID0+IHsgZXZl
bnQucHJldmVudERlZmF1bHQoKTsgfSk7CisKKyAgY29uc3QgZGIgPSBhd2FpdCBjcmVhdGVEYXRh
YmFzZSh0ZXN0Q2FzZSwgYXN5bmMgZGIgPT4geworICAgIGF3YWl0IGNyZWF0ZUJvb2tzU3RvcmUo
dGVzdENhc2UsIGRiKTsKKyAgfSk7CisKKyAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydi
b29rcyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0
b3JlKCdib29rcycpOworICBjb25zdCBwdXRSZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KHtpc2Ju
OidvbmUnLCB0aXRsZTondGl0bGUnfSk7CisgIHR4bi5jb21taXQoKTsKKyAgcHV0UmVxdWVzdC5v
bnN1Y2Nlc3MgPSAoKSA9PiB7CisgICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIGVycm9yIHRocm93
biBhZnRlciBhbiBleHBsaWNpdCBjb21taXQgc2hvdWxkIG5vdCAnICsKKyAgICAgICAgJ3ByZXZl
bnQgdGhlIHRyYW5zYWN0aW9uIGZyb20gY29tbWl0dGluZy4nKTsKKyAgfQorICBhd2FpdCBwcm9t
aXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bik7CisKKyAgLy8gRW5zdXJlIHRoYXQgZGVz
cGl0ZSB0aGUgdW5jYXVnaHQgZXJyb3IgYWZ0ZXIgdGhlIHB1dCByZXF1ZXN0LCB0aGUgZXhwbGlj
aXQKKyAgLy8gY29tbWl0IHN0aWxsIGNhdXNlcyB0aGUgcmVxdWVzdCB0byBiZSBjb21taXR0ZWQu
CisgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10sICdyZWFkd3JpdGUnKTsK
KyAgY29uc3Qgb2JqZWN0U3RvcmUyID0gdHhuMi5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAgY29u
c3QgZ2V0UmVxdWVzdCA9IG9iamVjdFN0b3JlMi5nZXQoJ29uZScpOworICBhd2FpdCBwcm9taXNl
Rm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bjIpOworCisgIGFzc2VydF9lcXVhbHMoZ2V0UmVx
dWVzdC5yZXN1bHQudGl0bGUsICd0aXRsZScpOworfSwgJ0FueSBlcnJvcnMgaW4gY2FsbGJhY2tz
IHRoYXQgcnVuIGFmdGVyIGFuIGV4cGxpY2l0IGNvbW1pdCB3aWxsIG5vdCBzdG9wICcKKyAgICsg
J3RoZSBjb21taXQgZnJvbSBiZWluZyBwcm9jZXNzZWQuJyk7CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29t
bWl0LXRocm93LmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNp
dC1jb21taXQtdGhyb3cuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
LWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDMgQEAKKworRkFJTCBBbnkgZXJyb3JzIGluIGNhbGxiYWNrcyB0aGF0
IHJ1biBhZnRlciBhbiBleHBsaWNpdCBjb21taXQgd2lsbCBub3Qgc3RvcCB0aGUgY29tbWl0IGZy
b20gYmVpbmcgcHJvY2Vzc2VkLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Yi1leHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lndvcmtlci5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1l
eHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lndvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1l
eHBsaWNpdC1jb21taXQtdGhyb3cuYW55Lndvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiLWV4cGxpY2l0LWNvbW1pdC5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTQgQEAKKworRkFJTCBFeHBsaWNpdGx5IGNvbW1pdHRlZCBkYXRhIGNhbiBiZSBy
ZWFkIGJhY2sgb3V0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitGQUlMIGNvbW1pdCgp
IG9uIGEgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24gZG9lcyBub3QgY2F1c2UgZXJyb3JzLiB0
eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29t
bWl0JyBpcyB1bmRlZmluZWQpCitGQUlMIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGJlY29tZXMg
aW5hY3RpdmUgaW1tZWRpYXRlbHkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0ZBSUwg
QSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgaW4gZnV0dXJlIHJlcXVlc3QgY2Fs
bGJhY2tzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNv
bW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitGQUlMIFB1dHMgaXNzdWVkIGFm
dGVyIGNvbW1pdCBhcmUgbm90IGZ1bGZpbGxlZC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQp
IgorRkFJTCBDYWxsaW5nIGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRyYW5zYWN0aW9uIHRocm93cy4g
YXNzZXJ0X3Rocm93czogVGhlIHRyYW5zYWN0aW9uIHNob3VsZCBoYXZlIGJlZW4gYWJvcnRlZC4g
ZnVuY3Rpb24gIigpID0+IHsgdHhuLmNvbW1pdCgpOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJv
cjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhu
LmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxp
ZFN0YXRlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVj
dGVkIDExCitGQUlMIENhbGxpbmcgY29tbWl0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRo
cm93cy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21t
aXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBDYWxsaW5nIGFib3J0IG9u
IGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cyBhbmQgZG9lcyBub3QgcHJldmVudCBwZXJz
aXN0aW5nIHRoZSBkYXRhLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitGQUlMIENhbGxp
bmcgdHhuLmNvbW1pdCgpIHdoZW4gdHhuIGlzIGluYWN0aXZlIHNob3VsZCB0aHJvdy4gYXNzZXJ0
X3Rocm93czogVGhlIHRyYW5zYWN0aW9uIHNob3VsZCBiZSBpbmFjdGl2ZSBzbyBjYWxsaW5nIGNv
bW1pdCBzaG91bGQgdGhyb3cuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhy
ZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dHhuLmNvbW1pdCgpJywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEg
RE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwg
dG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxMQorRkFJTCBUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNj
b3BlIHNob3VsZCBzdGF5IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25lIGNhbGxzIGNvbW1p
dC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiB0eG4yLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4yLmNvbW1p
dCgpJywgJ3R4bjIuY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBUcmFuc2FjdGlvbnMgdGhh
dCBleHBsaWNpdGx5IGNvbW1pdCBhbmQgaGF2ZSBlcnJvcnMgc2hvdWxkIGFib3J0LiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IHR4bjEuY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjEuY29tbWl0KCknLCAndHhu
MS5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitGQUlMIFRyYW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBh
bGwgZXJyb3JzIHByb3Blcmx5IHNob3VsZCBiZSBiZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBhbiBl
eHBsaWNpdCBjb21taXQgaXMgY2FsbGVkIGluIGFuIG9uZXJyb3IgaGFuZGxlci4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0
eG4xLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgpJywgJ3R4bjEu
Y29tbWl0JyBpcyB1bmRlZmluZWQpIgorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQuYW55Lmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiLWV4cGxpY2l0LWNvbW1pdC5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBA
Cis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1
cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGlj
aXQtY29tbWl0LmFueS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5MiBAQAorLy8gTUVUQTogc2NyaXB0PXN1cHBv
cnQtcHJvbWlzZXMuanMKKworLyoqCisgKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHdlYnBsYXRm
b3JtIHRlc3RzIGZvciB0aGUgZXhwbGljaXQgY29tbWl0KCkgbWV0aG9kCisgKiBvZiB0aGUgSW5k
ZXhlZERCIHRyYW5zYWN0aW9uIEFQSS4KKyAqCisgKiBAYXV0aG9yIGFuZHJlYXNidXRsZXJAZ29v
Z2xlLmNvbQorICovCisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0
IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodGVzdENhc2UsIGRiID0+IHsKKyAgICBjcmVhdGVC
b29rc1N0b3JlKHRlc3RDYXNlLCBkYik7CisgIH0pOworICBjb25zdCB0eG4gPSBkYi50cmFuc2Fj
dGlvbihbJ2Jvb2tzJ10sICdyZWFkd3JpdGUnKTsKKyAgY29uc3Qgb2JqZWN0U3RvcmUgPSB0eG4u
b2JqZWN0U3RvcmUoJ2Jvb2tzJyk7CisgIG9iamVjdFN0b3JlLnB1dCh7aXNibjogJ29uZScsIHRp
dGxlOiAndGl0bGUxJ30pOworICBvYmplY3RTdG9yZS5wdXQoe2lzYm46ICd0d28nLCB0aXRsZTog
J3RpdGxlMid9KTsKKyAgb2JqZWN0U3RvcmUucHV0KHtpc2JuOiAndGhyZWUnLCB0aXRsZTogJ3Rp
dGxlMyd9KTsKKyAgdHhuLmNvbW1pdCgpOworICBhd2FpdCBwcm9taXNlRm9yVHJhbnNhY3Rpb24o
dGVzdENhc2UsIHR4bik7CisKKyAgY29uc3QgdHhuMiA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3Mn
XSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIub2JqZWN0U3RvcmUo
J2Jvb2tzJyk7CisgIGNvbnN0IGdldFJlcXVlc3RpdGxlMSA9IG9iamVjdFN0b3JlMi5nZXQoJ29u
ZScpOworICBjb25zdCBnZXRSZXF1ZXN0aXRsZTIgPSBvYmplY3RTdG9yZTIuZ2V0KCd0d28nKTsK
KyAgY29uc3QgZ2V0UmVxdWVzdGl0bGUzID0gb2JqZWN0U3RvcmUyLmdldCgndGhyZWUnKTsKKyAg
dHhuMi5jb21taXQoKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0
eG4yKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscygKKyAgICAgIFtnZXRSZXF1ZXN0aXRsZTEucmVz
dWx0LnRpdGxlLAorICAgICAgICAgIGdldFJlcXVlc3RpdGxlMi5yZXN1bHQudGl0bGUsCisgICAg
ICAgICAgZ2V0UmVxdWVzdGl0bGUzLnJlc3VsdC50aXRsZV0sCisgICAgICBbJ3RpdGxlMScsICd0
aXRsZTInLCAndGl0bGUzJ10sCisgICAgICAnQWxsIHRocmVlIHJldHJpZXZlZCB0aXRsZXMgc2hv
dWxkIG1hdGNoIHRob3NlIHRoYXQgd2VyZSBwdXQuJyk7CisgIGRiLmNsb3NlKCk7Cit9LCAnRXhw
bGljaXRseSBjb21taXR0ZWQgZGF0YSBjYW4gYmUgcmVhZCBiYWNrIG91dC4nKTsKKworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBsZXQgZGIgPSBhd2FpdCBjcmVhdGVEYXRh
YmFzZSh0ZXN0Q2FzZSwgKCkgPT4ge30pOworICBhc3NlcnRfZXF1YWxzKDEsIGRiLnZlcnNpb24s
ICdBIGRhdGFiYXNlIHNob3VsZCBiZSBjcmVhdGVkIGFzIHZlcnNpb24gMScpOworICBkYi5jbG9z
ZSgpOworCisgIC8vIFVwZ3JhZGUgdGhlIHZlcnNpb25EQiBkYXRhYmFzZSBhbmQgZXhwbGljaXRs
eSBjb21taXQgaXRzIHZlcnNpb25jaGFuZ2UKKyAgLy8gdHJhbnNhY3Rpb24uCisgIGRiID0gYXdh
aXQgbWlncmF0ZURhdGFiYXNlKHRlc3RDYXNlLCAyLCAoZGIsIHR4bikgPT4geworICAgIHR4bi5j
b21taXQoKTsKKyAgfSk7CisgIGFzc2VydF9lcXVhbHMoMiwgZGIudmVyc2lvbiwKKyAgICAgICdU
aGUgZGF0YWJhc2UgdmVyc2lvbiBzaG91bGQgaGF2ZSBiZWVuIGluY3JlbWVudGVkIHJlZ2FyZGxl
c3Mgb2YgJworICAgICAgKyAnd2hldGhlciB0aGUgdmVyc2lvbmNoYW5nZSB0cmFuc2FjdGlvbiB3
YXMgZXhwbGljaXRseSBvciBpbXBsaWNpdGx5ICcKKyAgICAgICsgJ2NvbW1pdHRlZC4nKTsKKyAg
ZGIuY2xvc2UoKTsKK30sICdjb21taXQoKSBvbiBhIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9u
IGRvZXMgbm90IGNhdXNlIGVycm9ycy4nKTsKKworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENh
c2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9
PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2FzZSwgZGIpOworICB9KTsKKyAgY29uc3Qg
dHhuID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9i
amVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3JlKCdib29rcycpOworICB0eG4uY29tbWl0KCk7Cisg
IGFzc2VydF90aHJvd3MoJ1RyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcicsCisgICAgICAoKSA9PiB7
IG9iamVjdFN0b3JlLnB1dCh7aXNibjogJ29uZScsIHRpdGxlOiAndGl0bGUxJ30pOyB9LAorICAg
ICAgJ0FmdGVyIGNvbW1pdCBpcyBjYWxsZWQsIHRoZSB0cmFuc2FjdGlvbiBzaG91bGQgYmUgaW5h
Y3RpdmUuJyk7CisgIGRiLmNsb3NlKCk7Cit9LCAnQSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gYmVj
b21lcyBpbmFjdGl2ZSBpbW1lZGlhdGVseS4nKTsKKworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVz
dENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCBk
YiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2FzZSwgZGIpOworICB9KTsKKyAgY29u
c3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0
IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3JlKCdib29rcycpOworICBjb25zdCBwdXRSZXF1
ZXN0ID0gb2JqZWN0U3RvcmUucHV0KHtpc2JuOiAnb25lJywgdGl0bGU6ICd0aXRsZTEnfSk7Cisg
IHB1dFJlcXVlc3Qub25zdWNjZXNzID0gdGVzdENhc2Uuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBh
c3NlcnRfdGhyb3dzKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLAorICAgICAgKCkgPT4geyBv
YmplY3RTdG9yZS5wdXQoe2lzYm46J3R3bycsIHRpdGxlOid0aXRsZTInfSk7IH0sCisgICAgICAn
VGhlIHRyYW5zYWN0aW9uIHNob3VsZCBub3QgYmUgYWN0aXZlIGluIHRoZSBjYWxsYmFjayBvZiBh
IHJlcXVlc3QgYWZ0ZXIgJworICAgICAgKyAnY29tbWl0KCkgaXMgY2FsbGVkLicpOworICB9KTsK
KyAgdHhuLmNvbW1pdCgpOworICBhd2FpdCBwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2Us
IHR4bik7CisgIGRiLmNsb3NlKCk7Cit9LCAnQSBjb21taXR0ZWQgdHJhbnNhY3Rpb24gaXMgaW5h
Y3RpdmUgaW4gZnV0dXJlIHJlcXVlc3QgY2FsbGJhY2tzLicpOworCisKK3Byb21pc2VfdGVzdChh
c3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodGVz
dENhc2UsIGRiID0+IHsKKyAgICBjcmVhdGVCb29rc1N0b3JlKHRlc3RDYXNlLCBkYik7CisgIH0p
OworICBjb25zdCB0eG4gPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10sICdyZWFkd3JpdGUnKTsK
KyAgY29uc3Qgb2JqZWN0U3RvcmUgPSB0eG4ub2JqZWN0U3RvcmUoJ2Jvb2tzJyk7CisgIHR4bi5j
b21taXQoKTsKKworICBhc3NlcnRfdGhyb3dzKCdUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3InLAor
ICAgICAgKCkgPT4geyBvYmplY3RTdG9yZS5wdXQoe2lzYm46J29uZScsIHRpdGxlOid0aXRsZTEn
fSk7IH0sCisgICAgICAnQWZ0ZXIgY29tbWl0IGlzIGNhbGxlZCwgdGhlIHRyYW5zYWN0aW9uIHNo
b3VsZCBiZSBpbmFjdGl2ZS4nKTsKKworICBjb25zdCB0eG4yID0gZGIudHJhbnNhY3Rpb24oWydi
b29rcyddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgb2JqZWN0U3RvcmUyID0gdHhuMi5vYmplY3RT
dG9yZSgnYm9va3MnKTsKKyAgY29uc3QgZ2V0UmVxdWVzdCA9IG9iamVjdFN0b3JlMi5nZXQoJ29u
ZScpOworICBhd2FpdCBwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bjIpOworICBh
c3NlcnRfZXF1YWxzKGdldFJlcXVlc3QucmVzdWx0LCB1bmRlZmluZWQpOworCisgIGRiLmNsb3Nl
KCk7Cit9LCAnUHV0cyBpc3N1ZWQgYWZ0ZXIgY29tbWl0IGFyZSBub3QgZnVsZmlsbGVkLicpOwor
CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRiID0gYXdhaXQg
Y3JlYXRlRGF0YWJhc2UodGVzdENhc2UsIGRiID0+IHsKKyAgICBjcmVhdGVCb29rc1N0b3JlKHRl
c3RDYXNlLCBkYik7CisgIH0pOworICBjb25zdCB0eG4gPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tz
J10sICdyZWFkd3JpdGUnKTsKKyAgY29uc3Qgb2JqZWN0U3RvcmUgPSB0eG4ub2JqZWN0U3RvcmUo
J2Jvb2tzJyk7CisgIHR4bi5hYm9ydCgpOworICBhc3NlcnRfdGhyb3dzKCdJbnZhbGlkU3RhdGVF
cnJvcicsCisgICAgICAoKSA9PiB7IHR4bi5jb21taXQoKTsgfSwKKyAgICAgICdUaGUgdHJhbnNh
Y3Rpb24gc2hvdWxkIGhhdmUgYmVlbiBhYm9ydGVkLicpOworICBkYi5jbG9zZSgpOworfSwgJ0Nh
bGxpbmcgY29tbWl0IG9uIGFuIGFib3J0ZWQgdHJhbnNhY3Rpb24gdGhyb3dzLicpOworCisKK3By
b21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRl
RGF0YWJhc2UodGVzdENhc2UsIGRiID0+IHsKKyAgICBjcmVhdGVCb29rc1N0b3JlKHRlc3RDYXNl
LCBkYik7CisgIH0pOworICBjb25zdCB0eG4gPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10sICdy
ZWFkd3JpdGUnKTsKKyAgY29uc3Qgb2JqZWN0U3RvcmUgPSB0eG4ub2JqZWN0U3RvcmUoJ2Jvb2tz
Jyk7CisgIHR4bi5jb21taXQoKTsKKyAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJyb3In
LAorICAgICAgKCkgPT4geyB0eG4uY29tbWl0KCk7IH0sCisgICAgICAnVGhlIHRyYW5zYWN0aW9u
IHNob3VsZCBoYXZlIGFscmVhZHkgY29tbWl0dGVkLicpOworICBkYi5jbG9zZSgpOworfSwgJ0Nh
bGxpbmcgY29tbWl0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cy4nKTsKKworCitw
cm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0
ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2Fz
ZSwgZGIpOworICB9KTsKKyAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAn
cmVhZHdyaXRlJyk7CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3JlKCdib29r
cycpOworICBjb25zdCBwdXRSZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KHtpc2JuOidvbmUnLCB0
aXRsZTondGl0bGUxJ30pOworICB0eG4uY29tbWl0KCk7CisgIGFzc2VydF90aHJvd3MoJ0ludmFs
aWRTdGF0ZUVycm9yJywKKyAgICAgICgpID0+IHsgdHhuLmFib3J0KCk7IH0sCisgICAgICAnVGhl
IHRyYW5zYWN0aW9uIHNob3VsZCBhbHJlYWR5IGhhdmUgY29tbWl0dGVkLicpOworICBjb25zdCB0
eG4yID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIGNvbnN0IG9i
amVjdFN0b3JlMiA9IHR4bjIub2JqZWN0U3RvcmUoJ2Jvb2tzJyk7CisgIGNvbnN0IGdldFJlcXVl
c3QgPSBvYmplY3RTdG9yZTIuZ2V0KCdvbmUnKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0
aW9uKHRlc3RDYXNlLCB0eG4yKTsKKyAgYXNzZXJ0X2VxdWFscygKKyAgICAgIGdldFJlcXVlc3Qu
cmVzdWx0LnRpdGxlLAorICAgICAgJ3RpdGxlMScsCisgICAgICAnRXhwbGljaXRseSBjb21taXR0
ZWQgZGF0YSBzaG91bGQgYmUgZ2V0dGFibGUuJyk7CisgIGRiLmNsb3NlKCk7Cit9LCAnQ2FsbGlu
ZyBhYm9ydCBvbiBhIGNvbW1pdHRlZCB0cmFuc2FjdGlvbiB0aHJvd3MgYW5kIGRvZXMgbm90IHBy
ZXZlbnQgJworICAgKyAncGVyc2lzdGluZyB0aGUgZGF0YS4nKTsKKworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRl
c3RDYXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2FzZSwgZGIpOworICB9
KTsKKyAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7
CisgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhuLm9iamVjdFN0b3JlKCdib29rcycpOworICBjb25z
dCByZWxlYXNlVHhuRnVuY3Rpb24gPSBrZWVwQWxpdmUodGVzdENhc2UsIHR4biwgJ2Jvb2tzJyk7
CisKKyAgLy8gQnJlYWsgdXAgdGhlIHNjb3BlIG9mIGV4ZWN1dGlvbiB0byBmb3JjZSB0aGUgdHJh
bnNhY3Rpb24gaW50byBhbiBpbmFjdGl2ZQorICAvLyBzdGF0ZS4KKyAgYXdhaXQgdGltZW91dFBy
b21pc2UoMCk7CisKKyAgYXNzZXJ0X3Rocm93cygnSW52YWxpZFN0YXRlRXJyb3InLAorICAgICAg
KCkgPT4geyB0eG4uY29tbWl0KCk7IH0sCisgICAgICAnVGhlIHRyYW5zYWN0aW9uIHNob3VsZCBi
ZSBpbmFjdGl2ZSBzbyBjYWxsaW5nIGNvbW1pdCBzaG91bGQgdGhyb3cuJyk7CisgIHJlbGVhc2VU
eG5GdW5jdGlvbigpOworICBkYi5jbG9zZSgpOworfSwgJ0NhbGxpbmcgdHhuLmNvbW1pdCgpIHdo
ZW4gdHhuIGlzIGluYWN0aXZlIHNob3VsZCB0aHJvdy4nKTsKKworCitwcm9taXNlX3Rlc3QoYXN5
bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RD
YXNlLCBkYiA9PiB7CisgICAgY3JlYXRlQm9va3NTdG9yZSh0ZXN0Q2FzZSwgZGIpOworICAgIGNy
ZWF0ZU5vdEJvb2tzU3RvcmUodGVzdENhc2UsIGRiKTsKKyAgfSk7CisgIC8vIFR4bjEgc2hvdWxk
IGNvbW1pdCBiZWZvcmUgdHhuMiwgZXZlbiB0aG91Z2ggdHhuMiB1c2VzIGNvbW1pdCgpLgorICBj
b25zdCB0eG4xID0gZGIudHJhbnNhY3Rpb24oWydib29rcyddLCAncmVhZHdyaXRlJyk7CisgIHR4
bjEub2JqZWN0U3RvcmUoJ2Jvb2tzJykucHV0KHtpc2JuOiAnb25lJywgdGl0bGU6ICd0aXRsZTEn
fSk7CisgIGNvbnN0IHJlbGVhc2VUeG5GdW5jdGlvbiA9IGtlZXBBbGl2ZSh0ZXN0Q2FzZSwgdHhu
MSwgJ2Jvb2tzJyk7CisKKyAgY29uc3QgdHhuMiA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwg
J3JlYWR3cml0ZScpOworICB0eG4yLm9iamVjdFN0b3JlKCdib29rcycpLnB1dCh7aXNibjonb25l
JywgdGl0bGU6J3RpdGxlMid9KTsKKyAgdHhuMi5jb21taXQoKTsKKworICAvLyBFeGVyY2lzZSB0
aGUgSW5kZXhlZERCIHRyYW5zYWN0aW9uIG9yZGVyaW5nIGJ5IGV4ZWN1dGluZyBvbmUgd2l0aCBh
CisgIC8vIGRpZmZlcmVudCBzY29wZS4KKyAgY29uc3QgdHhuMyA9IGRiLnRyYW5zYWN0aW9uKFsn
bm90X2Jvb2tzJ10sICdyZWFkd3JpdGUnKTsKKyAgdHhuMy5vYmplY3RTdG9yZSgnbm90X2Jvb2tz
JykucHV0KHsndGl0bGUnOiAnbm90X3RpdGxlJ30sICdrZXknKTsKKyAgdHhuMy5vbmNvbXBsZXRl
ID0gZnVuY3Rpb24oKSB7CisgICAgcmVsZWFzZVR4bkZ1bmN0aW9uKCk7CisgIH0KKyAgYXdhaXQg
UHJvbWlzZS5hbGwoW3Byb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhuMSksCisgICAg
ICAgICAgICAgICAgICAgICBwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bjIpXSk7
CisKKyAgLy8gUmVhZCB0aGUgZGF0YSBiYWNrIHRvIHZlcmlmeSB0aGF0IHR4bjIgZXhlY3V0ZWQg
bGFzdC4KKyAgY29uc3QgdHhuNCA9IGRiLnRyYW5zYWN0aW9uKFsnYm9va3MnXSwgJ3JlYWRvbmx5
Jyk7CisgIGNvbnN0IGdldFJlcXVlc3Q0ID0gdHhuNC5vYmplY3RTdG9yZSgnYm9va3MnKS5nZXQo
J29uZScpOworICBhd2FpdCBwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bjQpOwor
ICBhc3NlcnRfZXF1YWxzKGdldFJlcXVlc3Q0LnJlc3VsdC50aXRsZSwgJ3RpdGxlMicpOworICBk
Yi5jbG9zZSgpOworfSwgJ1RyYW5zYWN0aW9ucyB3aXRoIHNhbWUgc2NvcGUgc2hvdWxkIHN0YXkg
aW4gcHJvZ3JhbSBvcmRlciwgZXZlbiBpZiBvbmUgJworICAgKyAnY2FsbHMgY29tbWl0LicpOwor
CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRiID0gYXdhaXQg
Y3JlYXRlRGF0YWJhc2UodGVzdENhc2UsIGRiID0+IHsKKyAgICBjcmVhdGVCb29rc1N0b3JlKHRl
c3RDYXNlLCBkYik7CisgIH0pOworICAvLyBUeG4xIGNyZWF0ZXMgdGhlIGJvb2sgJ29uZScgc28g
dGhlICdhZGQoKScgYmVsb3cgZmFpbHMuCisgIGNvbnN0IHR4bjEgPSBkYi50cmFuc2FjdGlvbihb
J2Jvb2tzJ10sICdyZWFkd3JpdGUnKTsKKyAgdHhuMS5vYmplY3RTdG9yZSgnYm9va3MnKS5hZGQo
e2lzYm46J29uZScsIHRpdGxlOid0aXRsZTEnfSk7CisgIHR4bjEuY29tbWl0KCk7CisgIGF3YWl0
IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0Q2FzZSwgdHhuMSk7CisKKyAgLy8gVHhuMiBzaG91
bGQgYWJvcnQsIGJlY2F1c2UgdGhlICdhZGQnIGNhbGwgaXMgaW52YWxpZCwgYW5kIGNvbW1pdCgp
IHdhcworICAvLyBjYWxsZWQuCisgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tz
J10sICdyZWFkd3JpdGUnKTsKKyAgY29uc3Qgb2JqZWN0U3RvcmUyID0gdHhuMi5vYmplY3RTdG9y
ZSgnYm9va3MnKTsKKyAgb2JqZWN0U3RvcmUyLnB1dCh7aXNibjondHdvJywgdGl0bGU6J3RpdGxl
Mid9KTsKKyAgY29uc3QgYWRkUmVxdWVzdCA9IG9iamVjdFN0b3JlMi5hZGQoe2lzYm46J29uZScs
IHRpdGxlOid0aXRsZTInfSk7CisgIHR4bjIuY29tbWl0KCk7CisgIHR4bjIub25jb21wbGV0ZSA9
ICgpID0+IHsgYXNzZXJ0X3VucmVhY2hlZCgKKyAgICAnVHJhbnNhY3Rpb24gd2l0aCBpbnZhbGlk
ICJhZGQiIGNhbGwgc2hvdWxkIG5vdCBiZSBjb21wbGV0ZWQuJyk7IH07CisKKyAgLy8gV2FpdCBm
b3IgdGhlIHRyYW5zYWN0aW9uIHRvIGNvbXBsZXRlLiBXZSBoYXZlIHRvIGV4cGxpY2l0bHkgd2Fp
dCBmb3IgdGhlCisgIC8vIGVycm9yIHNpZ25hbCBvbiB0aGUgdHJhbnNhY3Rpb24gYmVjYXVzZSBv
ZiB0aGUgbmF0dXJlIG9mIHRoZSB0ZXN0IHRvb2xpbmcuCisgIGF3YWl0IFByb21pc2UuYWxsKFsK
KyAgICAgIHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCBhZGRSZXF1ZXN0KS53YWl0X2ZvcignZXJy
b3InKSwKKyAgICAgIHRyYW5zYWN0aW9uV2F0Y2hlcih0ZXN0Q2FzZSwgdHhuMikud2FpdF9mb3Io
WydlcnJvcicsICdhYm9ydCddKQorICBdKTsKKworICAvLyBSZWFkIHRoZSBkYXRhIGJhY2sgdG8g
dmVyaWZ5IHRoYXQgdHhuMiB3YXMgYWJvcnRlZC4KKyAgY29uc3QgdHhuMyA9IGRiLnRyYW5zYWN0
aW9uKFsnYm9va3MnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IG9iamVjdFN0b3JlMyA9IHR4bjMu
b2JqZWN0U3RvcmUoJ2Jvb2tzJyk7CisgIGNvbnN0IGdldFJlcXVlc3QxID0gb2JqZWN0U3RvcmUz
LmdldCgnb25lJyk7CisgIGNvbnN0IGdldFJlcXVlc3QyID0gb2JqZWN0U3RvcmUzLmNvdW50KCd0
d28nKTsKKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4zKTsKKyAg
YXNzZXJ0X2VxdWFscyhnZXRSZXF1ZXN0MS5yZXN1bHQudGl0bGUsICd0aXRsZTEnKTsKKyAgYXNz
ZXJ0X2VxdWFscyhnZXRSZXF1ZXN0Mi5yZXN1bHQsIDApOworICBkYi5jbG9zZSgpOworfSwgJ1Ry
YW5zYWN0aW9ucyB0aGF0IGV4cGxpY2l0bHkgY29tbWl0IGFuZCBoYXZlIGVycm9ycyBzaG91bGQg
YWJvcnQuJyk7CisKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3Qg
ZGIgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgZGIgPT4geworICAgIGNyZWF0ZUJv
b2tzU3RvcmUodGVzdENhc2UsIGRiKTsKKyAgfSk7CisgIGNvbnN0IHR4bjEgPSBkYi50cmFuc2Fj
dGlvbihbJ2Jvb2tzJ10sICdyZWFkd3JpdGUnKTsKKyAgdHhuMS5vYmplY3RTdG9yZSgnYm9va3Mn
KS5hZGQoe2lzYm46ICdvbmUnLCB0aXRsZTogJ3RpdGxlMSd9KTsKKyAgdHhuMS5jb21taXQoKTsK
KyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4xKTsKKworICAvLyBU
aGUgc2Vjb25kIGFkZCByZXF1ZXN0IHdpbGwgdGhyb3cgYW4gZXJyb3IsIGJ1dCB0aGUgb25lcnJv
ciBoYW5kbGVyIHdpbGwKKyAgLy8gYXBwcm9wcmlhdGVseSBjYXRjaCB0aGUgZXJyb3IgYWxsb3dp
bmcgdGhlIHZhbGlkIHB1dCByZXF1ZXN0IG9uIHRoZQorICAvLyB0cmFuc2FjdGlvbiB0byBjb21t
aXQuCisgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10sICdyZWFkd3JpdGUn
KTsKKyAgY29uc3Qgb2JqZWN0U3RvcmUyID0gdHhuMi5vYmplY3RTdG9yZSgnYm9va3MnKTsKKyAg
b2JqZWN0U3RvcmUyLnB1dCh7aXNibjogJ3R3bycsIHRpdGxlOid0aXRsZTInfSk7CisgIGNvbnN0
IGFkZFJlcXVlc3QgPSBvYmplY3RTdG9yZTIuYWRkKHtpc2JuOiAnb25lJywgdGl0bGU6J3VucmVh
Y2hlZF90aXRsZSd9KTsKKyAgYWRkUmVxdWVzdC5vbmVycm9yID0gKGV2ZW50KSA9PiB7CisgICAg
ZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICBhZGRSZXF1ZXN0LnRyYW5zYWN0aW9uLmNvbW1p
dCgpOworICB9OworCisgIC8vIFdhaXQgZm9yIHRoZSB0cmFuc2FjdGlvbiB0byBjb21wbGV0ZS4g
V2UgaGF2ZSB0byBleHBsaWNpdGx5IHdhaXQgZm9yIHRoZQorICAvLyBlcnJvciBzaWduYWwgb24g
dGhlIHRyYW5zYWN0aW9uIGJlY2F1c2Ugb2YgdGhlIG5hdHVyZSBvZiB0aGUgdGVzdCB0b29saW5n
LgorICBhd2FpdCB0cmFuc2FjdGlvbldhdGNoZXIodGVzdENhc2UsdHhuMikud2FpdF9mb3IoWydl
cnJvcicsICdjb21wbGV0ZSddKQorCisgIC8vIFJlYWQgdGhlIGRhdGEgYmFjayB0byB2ZXJpZnkg
dGhhdCB0eG4yIHdhcyBjb21taXR0ZWQuCisgIGNvbnN0IHR4bjMgPSBkYi50cmFuc2FjdGlvbihb
J2Jvb2tzJ10sICdyZWFkb25seScpOworICBjb25zdCBvYmplY3RTdG9yZTMgPSB0eG4zLm9iamVj
dFN0b3JlKCdib29rcycpOworICBjb25zdCBnZXRSZXF1ZXN0MSA9IG9iamVjdFN0b3JlMy5nZXQo
J29uZScpOworICBjb25zdCBnZXRSZXF1ZXN0MiA9IG9iamVjdFN0b3JlMy5nZXQoJ3R3bycpOwor
ICBhd2FpdCBwcm9taXNlRm9yVHJhbnNhY3Rpb24odGVzdENhc2UsIHR4bjMpOworICBhc3NlcnRf
ZXF1YWxzKGdldFJlcXVlc3QxLnJlc3VsdC50aXRsZSwgJ3RpdGxlMScpOworICBhc3NlcnRfZXF1
YWxzKGdldFJlcXVlc3QyLnJlc3VsdC50aXRsZSwgJ3RpdGxlMicpOworICBkYi5jbG9zZSgpOwor
fSwgJ1RyYW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBhbGwgZXJyb3JzIHByb3Blcmx5IHNob3VsZCBi
ZSBiZWhhdmUgYXMgJyArCisgICAnZXhwZWN0ZWQgd2hlbiBhbiBleHBsaWNpdCBjb21taXQgaXMg
Y2FsbGVkIGluIGFuIG9uZXJyb3IgaGFuZGxlci4nKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYi1leHBsaWNpdC1jb21taXQu
YW55Lndvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAK
KworRkFJTCBFeHBsaWNpdGx5IGNvbW1pdHRlZCBkYXRhIGNhbiBiZSByZWFkIGJhY2sgb3V0LiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywg
J3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitGQUlMIGNvbW1pdCgpIG9uIGEgdmVyc2lvbiBj
aGFuZ2UgdHJhbnNhY3Rpb24gZG9lcyBub3QgY2F1c2UgZXJyb3JzLiB0eG4uY29tbWl0IGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmlu
ZWQpCitGQUlMIEEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIGJlY29tZXMgaW5hY3RpdmUgaW1tZWRp
YXRlbHkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29t
bWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgQSBjb21taXR0ZWQgdHJh
bnNhY3Rpb24gaXMgaW5hY3RpdmUgaW4gZnV0dXJlIHJlcXVlc3QgY2FsbGJhY2tzLiBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywgJ3R4bi5j
b21taXQnIGlzIHVuZGVmaW5lZCkiCitGQUlMIFB1dHMgaXNzdWVkIGFmdGVyIGNvbW1pdCBhcmUg
bm90IGZ1bGZpbGxlZC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3R4bi5jb21taXQoKScsICd0eG4uY29tbWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBDYWxsaW5n
IGNvbW1pdCBvbiBhbiBhYm9ydGVkIHRyYW5zYWN0aW9uIHRocm93cy4gYXNzZXJ0X3Rocm93czog
VGhlIHRyYW5zYWN0aW9uIHNob3VsZCBoYXZlIGJlZW4gYWJvcnRlZC4gZnVuY3Rpb24gIigpID0+
IHsgdHhuLmNvbW1pdCgpOyB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdHhuLmNvbW1pdCBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4uY29tbWl0KCknLCAndHhuLmNvbW1pdCcgaXMgdW5k
ZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHBy
b3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDExCitGQUlMIENh
bGxpbmcgY29tbWl0IG9uIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uIHRocm93cy4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0
eG4uY29tbWl0IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bi5jb21taXQoKScsICd0eG4uY29t
bWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBDYWxsaW5nIGFib3J0IG9uIGEgY29tbWl0dGVkIHRy
YW5zYWN0aW9uIHRocm93cyBhbmQgZG9lcyBub3QgcHJldmVudCBwZXJzaXN0aW5nIHRoZSBkYXRh
LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgp
JywgJ3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiCitGQUlMIENhbGxpbmcgdHhuLmNvbW1pdCgp
IHdoZW4gdHhuIGlzIGluYWN0aXZlIHNob3VsZCB0aHJvdy4gYXNzZXJ0X3Rocm93czogVGhlIHRy
YW5zYWN0aW9uIHNob3VsZCBiZSBpbmFjdGl2ZSBzbyBjYWxsaW5nIGNvbW1pdCBzaG91bGQgdGhy
b3cuIGZ1bmN0aW9uICIoKSA9PiB7IHR4bi5jb21taXQoKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBl
RXJyb3I6IHR4bi5jb21taXQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHhuLmNvbW1pdCgpJywg
J3R4bi5jb21taXQnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIElu
dmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBl
eHBlY3RlZCAxMQorRkFJTCBUcmFuc2FjdGlvbnMgd2l0aCBzYW1lIHNjb3BlIHNob3VsZCBzdGF5
IGluIHByb2dyYW0gb3JkZXIsIGV2ZW4gaWYgb25lIGNhbGxzIGNvbW1pdC4gcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4y
LmNvbW1pdCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0eG4yLmNvbW1pdCgpJywgJ3R4bjIuY29t
bWl0JyBpcyB1bmRlZmluZWQpIgorRkFJTCBUcmFuc2FjdGlvbnMgdGhhdCBleHBsaWNpdGx5IGNv
bW1pdCBhbmQgaGF2ZSBlcnJvcnMgc2hvdWxkIGFib3J0LiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHR4bjEuY29tbWl0IGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3R4bjEuY29tbWl0KCknLCAndHhuMS5jb21taXQnIGlzIHVu
ZGVmaW5lZCkiCitGQUlMIFRyYW5zYWN0aW9ucyB0aGF0IGhhbmRsZSBhbGwgZXJyb3JzIHByb3Bl
cmx5IHNob3VsZCBiZSBiZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBhbiBleHBsaWNpdCBjb21taXQg
aXMgY2FsbGVkIGluIGFuIG9uZXJyb3IgaGFuZGxlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0eG4xLmNvbW1pdCBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0eG4xLmNvbW1pdCgpJywgJ3R4bjEuY29tbWl0JyBpcyB1bmRl
ZmluZWQpIgorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGItZXhwbGljaXQtY29tbWl0LmFueS53b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFz
dHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5hbnktZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmN1cnNvci1yZXF1ZXN0LmFueS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
Y3Vyc29yLXJlcXVlc3QuYW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDYgQEAKKworRkFJTCBjdXJzb3IucmVxdWVzdCBmcm9tIElEQk9iamVjdFN0b3JlLm9wZW5DdXJz
b3IgYXNzZXJ0X2VxdWFsczogY3Vyc29yLnJlcXVlc3QgZXhwZWN0ZWQgKG9iamVjdCkgb2JqZWN0
ICJbb2JqZWN0IElEQlJlcXVlc3RdIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJ
TCBjdXJzb3IucmVxdWVzdCBmcm9tIElEQk9iamVjdFN0b3JlLm9wZW5LZXlDdXJzb3IgYXNzZXJ0
X2VxdWFsczogY3Vyc29yLnJlcXVlc3QgZXhwZWN0ZWQgKG9iamVjdCkgb2JqZWN0ICJbb2JqZWN0
IElEQlJlcXVlc3RdIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBjdXJzb3Iu
cmVxdWVzdCBmcm9tIElEQkluZGV4Lm9wZW5DdXJzb3IgYXNzZXJ0X2VxdWFsczogY3Vyc29yLnJl
cXVlc3QgZXhwZWN0ZWQgKG9iamVjdCkgb2JqZWN0ICJbb2JqZWN0IElEQlJlcXVlc3RdIiBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBjdXJzb3IucmVxdWVzdCBmcm9tIElEQklu
ZGV4Lm9wZW5LZXlDdXJzb3IgYXNzZXJ0X2VxdWFsczogY3Vyc29yLnJlcXVlc3QgZXhwZWN0ZWQg
KG9iamVjdCkgb2JqZWN0ICJbb2JqZWN0IElEQlJlcXVlc3RdIiBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5hbnkuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJjdXJzb3ItcmVxdWVzdC5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVz
dC5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBp
cyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1w
bGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3It
cmVxdWVzdC5hbnkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXJlcXVlc3QuYW55LmpzCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmN1cnNvci1yZXF1ZXN0LmFueS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQxIEBACisvLyBNRVRBOiBzY3JpcHQ9c3VwcG9ydC5qcworCitmdW5jdGlvbiBjdXJzb3JS
ZXF1ZXN0VGVzdCh7IHVzZUluZGV4LCB1c2VLZXlDdXJzb3IgfSkgeworICBpbmRleGVkZGJfdGVz
dCgKKyAgICAodCwgZGIpID0+IHsKKyAgICAgIGNvbnN0IG9ialN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoIm15X29iamVjdHN0b3JlIik7CisgICAgICBvYmpTdG9yZS5hZGQoImRhdGEiLCAg
MSk7CisgICAgICBvYmpTdG9yZS5jcmVhdGVJbmRleCgibXlfaW5kZXgiLCAiIik7CisgICAgfSwK
KyAgICAodCwgZGIpID0+IHsKKyAgICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oIm15X29i
amVjdHN0b3JlIik7CisgICAgICBsZXQgc291cmNlID0gdHgub2JqZWN0U3RvcmUoIm15X29iamVj
dHN0b3JlIik7CisgICAgICBpZiAodXNlSW5kZXgpIHNvdXJjZSA9IHNvdXJjZS5pbmRleCgnbXlf
aW5kZXgnKTsKKyAgICAgIGNvbnN0IHJlcSA9IHVzZUtleUN1cnNvciA/IHNvdXJjZS5vcGVuS2V5
Q3Vyc29yKCkgOiBzb3VyY2Uub3BlbkN1cnNvcigpOworICAgICAgbGV0IGN1cnNvcjsKKworICAg
ICAgcmVxLm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgICAgY3Vyc29yID0g
cmVxLnJlc3VsdDsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhjdXJzb3IucmVxdWVzdCwgcmVxLCAn
Y3Vyc29yLnJlcXVlc3QnKTsKKyAgICAgICAgYXNzZXJ0X3JlYWRvbmx5KGN1cnNvciwgJ3JlcXVl
c3QnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhjdXJzb3IucmVxdWVzdCwgY3Vyc29yLnJlcXVl
c3QsICdjdXJzb3IucmVxdWVzdCBkb2VzIG5vdCBjaGFuZ2UnKTsKKyAgICAgIH0pOworCisgICAg
ICByZXEudHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAg
ICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhjdXJzb3IucmVxdWVzdCwgcmVxLCAnY3Vyc29yLnJlcXVlc3QgYWZ0ZXIgdHJhbnNhY3Rpb24g
Y29tcGxldGUnKTsKKyAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgfSksIDApOworICAgICAg
fSk7CisKKyAgICAgIHJlcS50cmFuc2FjdGlvbi5vbmVycm9yID0gdC51bnJlYWNoZWRfZnVuYygn
VHJhbnNhY3Rpb24gZXJyb3InKTsKKyAgICB9LAorICAgIGBjdXJzb3IucmVxdWVzdCBmcm9tICR7
dXNlSW5kZXggPyAnSURCSW5kZXgnIDogJ0lEQk9iamVjdFN0b3JlJ30uJHt1c2VLZXlDdXJzb3Ig
PyAnb3BlbktleUN1cnNvcicgOiAnb3BlbkN1cnNvcid9YAorICApOworfQorCitmb3IgKGNvbnN0
IHVzZUluZGV4IG9mIFtmYWxzZSwgdHJ1ZV0pIHsKKyAgZm9yIChjb25zdCB1c2VLZXlDdXJzb3Ig
b2YgW2ZhbHNlLCB0cnVlXSkgeworICAgIGN1cnNvclJlcXVlc3RUZXN0KHsgdXNlSW5kZXgsIHVz
ZUtleUN1cnNvciB9KTsKKyAgfQorfQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXJlcXVlc3QuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXJlcXVlc3QuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXJlcXVlc3QuYW55Lndvcmtlci1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwgY3Vyc29yLnJl
cXVlc3QgZnJvbSBJREJPYmplY3RTdG9yZS5vcGVuQ3Vyc29yIGFzc2VydF9lcXVhbHM6IGN1cnNv
ci5yZXF1ZXN0IGV4cGVjdGVkIChvYmplY3QpIG9iamVjdCAiW29iamVjdCBJREJSZXF1ZXN0XSIg
YnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgY3Vyc29yLnJlcXVlc3QgZnJvbSBJ
REJPYmplY3RTdG9yZS5vcGVuS2V5Q3Vyc29yIGFzc2VydF9lcXVhbHM6IGN1cnNvci5yZXF1ZXN0
IGV4cGVjdGVkIChvYmplY3QpIG9iamVjdCAiW29iamVjdCBJREJSZXF1ZXN0XSIgYnV0IGdvdCAo
dW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgY3Vyc29yLnJlcXVlc3QgZnJvbSBJREJJbmRleC5v
cGVuQ3Vyc29yIGFzc2VydF9lcXVhbHM6IGN1cnNvci5yZXF1ZXN0IGV4cGVjdGVkIChvYmplY3Qp
IG9iamVjdCAiW29iamVjdCBJREJSZXF1ZXN0XSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmlu
ZWQKK0ZBSUwgY3Vyc29yLnJlcXVlc3QgZnJvbSBJREJJbmRleC5vcGVuS2V5Q3Vyc29yIGFzc2Vy
dF9lcXVhbHM6IGN1cnNvci5yZXF1ZXN0IGV4cGVjdGVkIChvYmplY3QpIG9iamVjdCAiW29iamVj
dCBJREJSZXF1ZXN0XSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKKwpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yLXJlcXVlc3QuYW55Lndvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1yZXF1ZXN0
LmFueS53b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC5hbnkud29y
a2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
cmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxh
dGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2Fk
dmFuY2VfaW5kZXgyLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDIuaHRt
CShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDIuaHRtCSh3b3JraW5n
IGNvcHkpCkBAIC0xMCw3ICsxMCw3IEBACiA8c2NyaXB0PgogCiAgICAgdmFyIGRiLAotICAgICAg
dCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAg
dCA9IGFzeW5jX3Rlc3QoKSwKICAgICAgIHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlf
MCIsIGlLZXk6ICJpbmRleEtleV8wIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJp
bWFyeUtleV8xIiwgaUtleTogImluZGV4S2V5XzEiIH0gXTsKIApJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2FkdmFu
Y2VfaW5kZXgzLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDMuaHRtCShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDMuaHRtCSh3b3JraW5nIGNv
cHkpCkBAIC0xMCw3ICsxMCw3IEBACiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAK
ICAgICB2YXIgZGIsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVv
dXQ6IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgcmVjb3JkcyA9IFsg
eyBwS2V5OiAicHJpbWFyeUtleV8wIiwgaUtleTogImluZGV4S2V5XzAiIH0sCiAgICAgICAgICAg
ICAgICAgICB7IHBLZXk6ICJwcmltYXJ5S2V5XzEiLCBpS2V5OiAiaW5kZXhLZXlfMSIgfSBdOwog
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJjdXJzb3JfYWR2YW5jZV9pbmRleDUuaHRtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9h
ZHZhbmNlX2luZGV4NS5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9hZHZhbmNlX2lu
ZGV4NS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAKIDxzY3JpcHQ+CiAgICAg
dmFyIGRiLAogICAgICAgY291bnQgPSAwLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQu
dGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rlc3QoKSwKICAgICAg
IHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIsICAgaUtleTogImluZGV4S2V5XzAi
IH0sCiAgICAgICAgICAgICAgICAgICB7IHBLZXk6ICJwcmltYXJ5S2V5XzEiLCAgIGlLZXk6ICJp
bmRleEtleV8xIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFyeUtleV8xLTIi
LCBpS2V5OiAiaW5kZXhLZXlfMSIgfSBdLApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4NS5o
dG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2luZGV4NS5odG0JKHJldmlzaW9uIDI1
MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDUuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC0x
MSw3ICsxMSw3IEBACiA8c2NyaXB0PgogCiAgICAgdmFyIGRiLAotICAgICAgdCA9IGFzeW5jX3Rl
c3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5jX3Rl
c3QoKSwKICAgICAgIHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIsICAgaUtleTog
ImluZGV4S2V5XzAiIH0sCiAgICAgICAgICAgICAgICAgICB7IHBLZXk6ICJwcmltYXJ5S2V5XzEi
LCAgIGlLZXk6ICJpbmRleEtleV8xIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJp
bWFyeUtleV8xLTIiLCBpS2V5OiAiaW5kZXhLZXlfMSIgfSwKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51
ZV9pbmRleDYuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9jb250aW51ZV9pbmRleDYuaHRtCShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfaW5kZXg2Lmh0bQkod29ya2luZyBj
b3B5KQpAQCAtMTEsNyArMTEsNyBAQAogPHNjcmlwdD4KIAogICAgIHZhciBkYiwKLSAgICAgIHQg
PSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwKKyAgICAgIHQg
PSBhc3luY190ZXN0KCksCiAgICAgICByZWNvcmRzID0gWyB7IHBLZXk6ICJwcmltYXJ5S2V5XzAi
LCAgIGlLZXk6ICJpbmRleEtleV8wIiB9LAogICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJp
bWFyeUtleV8xIiwgICBpS2V5OiAiaW5kZXhLZXlfMSIgfSwKICAgICAgICAgICAgICAgICAgIHsg
cEtleTogInByaW1hcnlLZXlfMS0yIiwgaUtleTogImluZGV4S2V5XzEiIH0sCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJz
b3JfY29udGludWVfaW52YWxpZC5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2NvbnRpbnVlX2lu
dmFsaWQuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfY29udGludWVfaW52YWxpZC5o
dG0JKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBACiA8c2NyaXB0PgogCiAgICAgdmFyIGRi
LAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0p
OworICAgICAgdCA9IGFzeW5jX3Rlc3QoKTsKIAogICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIo
dCk7CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJj
dXJzb3JfaXRlcmF0aW5nLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfaXRlcmF0aW5nLmh0bQko
cmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJhdGluZy5odG0JKHdvcmtpbmcgY29weSkK
QEAgLTgsNyArOCw3IEBACiA8c2NyaXB0PgogICAgIHZhciBkYiwKICAgICAgIGNvdW50ID0gMCwK
LSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KTsK
KyAgICAgIHQgPSBhc3luY190ZXN0KCk7CiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQp
OwogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yX2l0ZXJhdGluZ19pbmRleDIuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRpbmdf
aW5kZXgyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJhdGluZ19pbmRleDIu
aHRtCSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogPHNjcmlwdD4KICAgICB2YXIgZGIs
CiAgICAgICBjb3VudCA9IDAsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwg
e3RpbWVvdXQ6IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgcmVjb3Jk
cyA9IFsgeyBwS2V5OiAicHJpbWFyeUtleV8wIiwgb2JqOiB7IGlLZXk6ICJpS2V5XzAiIH19LAog
ICAgICAgICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFyeUtleV8yIiwgb2JqOiB7IGlLZXk6ICJp
S2V5XzIiIH19IF0sCiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXguaHRtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXguaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJj
dXJzb3JfaXRlcmF0aW5nX2luZGV4Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcgQEAK
IDxzY3JpcHQ+CiAgICAgdmFyIGRiLAogICAgICAgY291bnQgPSAwLAotICAgICAgdCA9IGFzeW5j
X3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAorICAgICAgdCA9IGFzeW5j
X3Rlc3QoKSwKICAgICAgIHJlY29yZHMgPSBbIHsgcEtleTogInByaW1hcnlLZXlfMCIsIG9iajog
eyBpS2V5OiAiaUtleV8wIiB9fSwKICAgICAgICAgICAgICAgICAgIHsgcEtleTogInByaW1hcnlL
ZXlfMSIsIG9iajogeyBpS2V5OiAiaUtleV8xIiB9fSwKICAgICAgICAgICAgICAgICAgIHsgcEtl
eTogInByaW1hcnlLZXlfMiIsIG9iajogeyBpS2V5OiAiaUtleV8yIiB9fSBdLApJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vy
c29yX2l0ZXJhdGluZ19vYmplY3RzdG9yZTIuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVy
YXRpbmdfb2JqZWN0c3RvcmUyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJh
dGluZ19vYmplY3RzdG9yZTIuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogPHNj
cmlwdD4KICAgICB2YXIgZGIsCiAgICAgICBjb3VudCA9IDAsCi0gICAgICB0ID0gYXN5bmNfdGVz
dChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVz
dCgpLAogICAgICAgcmVjb3JkcyA9IFsgeyBwS2V5OiAicHJpbWFyeUtleV8wIiB9LAogICAgICAg
ICAgICAgICAgICAgeyBwS2V5OiAicHJpbWFyeUtleV8yIiB9IF0sCiAgICAgICBleHBlY3RlZF9y
ZWNvcmRzID0gWyB7IHBLZXk6ICJwcmltYXJ5S2V5XzAiIH0sCkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfaXRlcmF0
aW5nX29iamVjdHN0b3JlLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfaXRlcmF0aW5nX29iamVj
dHN0b3JlLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX2l0ZXJhdGluZ19vYmplY3Rz
dG9yZS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBACiA8c2NyaXB0PgogICAgIHZh
ciBkYiwKICAgICAgIGNvdW50ID0gMCwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRp
dGxlLCB7dGltZW91dDogMTAwMDB9KSwKKyAgICAgIHQgPSBhc3luY190ZXN0KCksCiAgICAgICBy
ZWNvcmRzID0gWyB7IHBLZXk6ICJwcmltYXJ5S2V5XzAiIH0sCiAgICAgICAgICAgICAgICAgICB7
IHBLZXk6ICJwcmltYXJ5S2V5XzEiIH0sCiAgICAgICAgICAgICAgICAgICB7IHBLZXk6ICJwcmlt
YXJ5S2V5XzIiIH0gXSwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU0LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3JfdXBkYXRlX29iamVjdHN0b3JlNC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU0LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBJREJDdXJzb3Iu
dXBkYXRlKCkgLSBpbmRleCAtIG1vZGlmeSBhIHJlY29yZCBpbiB0aGUgb2JqZWN0IHN0b3JlIAor
UEFTUyBJREJDdXJzb3IudXBkYXRlKCkgLSBpbmRleCAtIG1vZGlmeSBhIHJlY29yZCBpbiB0aGUg
b2JqZWN0IHN0b3JlICAKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3RzdG9yZTQuaHRtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmN1cnNvcl91cGRhdGVfb2JqZWN0c3RvcmU0Lmh0bQkocmV2aXNpb24gMjUw
MjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiY3Vyc29yX3VwZGF0ZV9vYmplY3RzdG9yZTQuaHRtCSh3b3JraW5nIGNvcHkpCkBA
IC04LDcgKzgsNyBAQAogPHNjcmlwdD4KIAogICAgIHZhciBkYiwKLSAgICAgIHQgPSBhc3luY190
ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KQorICAgICAgdCA9IGFzeW5jX3Rl
c3QoKQogCiAgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKICAgICBvcGVuX3JxLm9udXBn
cmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlLWNyZWF0ZU9iamVjdFN0
b3JlLWV4Y2VwdGlvbi1vcmRlci5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2UtY3JlYXRlT2Jq
ZWN0U3RvcmUtZXhjZXB0aW9uLW9yZGVyLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJh
c2UtY3JlYXRlT2JqZWN0U3RvcmUtZXhjZXB0aW9uLW9yZGVyLmh0bQkod29ya2luZyBjb3B5KQpA
QCAtOCw5ICs4LDEzIEBACiA8c2NyaXB0PgogCiBpbmRleGVkZGJfdGVzdCgKLSAgKHQsIGRiLCB0
eG4pID0+IHsKKyAgKHQsIGRiLCB0eG4sIHJxKSA9PiB7CiAgICAgZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ3MnKTsKIAorICAgIC8vIEFja25vd2xlZGdlIHRoZSBlcnJvciwgdG8gcHJldmVudCB3aW5k
b3cuZXJyb3IgZnJvbSBmaXJpbmcgaW4KKyAgICAvLyBicm93c2VycyB0aGF0IGltcGxlbWVudCB0
aGF0LgorICAgIHJxLm9uZXJyb3IgPSBlID0+IHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9OworCiAg
ICAgdHhuLm9uYWJvcnQgPSAoKSA9PiB7CiAgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jKCgp
ID0+IHsKICAgICAgICAgYXNzZXJ0X3Rocm93cygKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVj
dFN0b3JlNy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0
U3RvcmU3LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRl
T2JqZWN0U3RvcmU3LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMgQEAK
IAotUEFTUyBJREJEYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgpIC0gY3JlYXRlIGFuIG9iamVj
dCBzdG9yZSB3aXRoIGFuIHVua25vd24gb3B0aW9uYWwgcGFyYW1ldGVyIAorUEFTUyBJREJEYXRh
YmFzZS5jcmVhdGVPYmplY3RTdG9yZSgpIC0gY3JlYXRlIGFuIG9iamVjdCBzdG9yZSB3aXRoIGFu
IHVua25vd24gb3B0aW9uYWwgcGFyYW1ldGVyICAKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2Jq
ZWN0U3RvcmU3Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9jcmVhdGVPYmplY3RTdG9yZTcu
aHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJkYXRhYmFzZV9jcmVhdGVPYmplY3RTdG9yZTcuaHRt
CSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogCiA8c2NyaXB0PgogCi12YXIgdCA9IGFz
eW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pLAordmFyIHQgPSBhc3lu
Y190ZXN0KCksCiAgICAgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpCiAKIG9wZW5fcnEub251cGdyYWRl
bmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmUx
MC0xMDAwZW5kcy5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfY3JlYXRlT2JqZWN0U3RvcmUx
MC0xMDAwZW5kcy5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX2NyZWF0ZU9iamVj
dFN0b3JlMTAtMTAwMGVuZHMuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAogCiA8
c2NyaXB0PgogdmFyIGRiLAotICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGlt
ZW91dDogNjAwMDAwfSksCisgICAgdCA9IGFzeW5jX3Rlc3QoKSwKICAgICBvcGVuX3JxID0gY3Jl
YXRlZGIodCkKIAogb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJkYXRhYmFzZV9kZWxldGVPYmplY3RTdG9yZTQtbm90X3JldXNlZC5odG0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiZGF0YWJhc2VfZGVsZXRlT2JqZWN0U3RvcmU0LW5vdF9yZXVzZWQuaHRtCShyZXZpc2lvbiAy
NTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJkYXRhYmFzZV9kZWxldGVPYmplY3RTdG9yZTQtbm90X3JldXNlZC5odG0JKHdv
cmtpbmcgY29weSkKQEAgLTgsNyArOCw3IEBACiAKIDxzY3JpcHQ+CiAKLXZhciB0ID0gYXN5bmNf
dGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCit2YXIgdCA9IGFzeW5jX3Rl
c3QoKSwKICAgICBrZXlzID0gW10sCiAgICAgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpCiAKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmRhdGFiYXNlX3RyYW5zYWN0aW9uNC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJh
c2VfdHJhbnNhY3Rpb240LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJh
c2VfdHJhbnNhY3Rpb240LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMg
QEAKIAotUEFTUyBJREJEYXRhYmFzZS50cmFuc2FjdGlvbigpIC0gYXR0ZW1wdCB0byBvcGVuIGEg
dHJhbnNhY3Rpb24gd2l0aCBpbnZhbGlkIG1vZGUgCitQQVNTIElEQkRhdGFiYXNlLnRyYW5zYWN0
aW9uKCkgLSBhdHRlbXB0IHRvIG9wZW4gYSB0cmFuc2FjdGlvbiB3aXRoIGludmFsaWQgbW9kZSAg
CiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmRhdGFiYXNlX3RyYW5zYWN0aW9uNC5odG0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJh
c2VfdHJhbnNhY3Rpb240Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZGF0YWJhc2VfdHJhbnNh
Y3Rpb240Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtNyw3ICs3LDcgQEAKIAogPHNjcmlwdD4KICAg
ICB2YXIgZGIsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6
IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgb3Blbl9ycSA9IGNyZWF0
ZWRiKHQpOwogCiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJmYWN0b3J5LWRhdGFiYXNlcy1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJmYWN0b3J5LWRhdGFiYXNlcy1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJmYWN0b3J5LWRhdGFiYXNlcy1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworRkFJTCBJREJGYWN0b3J5LmRhdGFi
YXNlcygpIGluIG5vbi1zYW5kYm94ZWQgaWZyYW1lIHNob3VsZCBub3QgcmVqZWN0IGFzc2VydF9l
cXVhbHM6IElEQkZhY3RvcnkuZGF0YWJhc2VzKCkgc2hvdWxkIG5vdCByZWplY3QgZXhwZWN0ZWQg
Im5vIGV4Y2VwdGlvbiIgYnV0IGdvdCAiaW5kZXhlZERCLmRhdGFiYXNlcyB1bmRlZmluZWQiCitG
QUlMIElEQkZhY3RvcnkuZGF0YWJhc2VzKCkgaW4gc2FuZGJveGVkIGlmcmFtZSBzaG91bGQgcmVq
ZWN0IGFzc2VydF9lcXVhbHM6IFByb21pc2Ugc2hvdWxkIGJlIHJlamVjdGVkIHdpdGggU2VjdXJp
dHlFcnJvciBleHBlY3RlZCAiU2VjdXJpdHlFcnJvciIgYnV0IGdvdCAiaW5kZXhlZERCLmRhdGFi
YXNlcyB1bmRlZmluZWQiCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3RvcnktZGF0YWJhc2VzLW9wYXF1ZS1vcmlnaW4u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5LWRhdGFiYXNlcy1vcGFxdWUtb3JpZ2luLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1kYXRhYmFzZXMtb3BhcXVlLW9yaWdpbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hh
cnNldD11dGYtOD4KKzx0aXRsZT5JREJGYWN0b3J5LmRhdGFiYXNlcygpIGFuZCBvcGFxdWUgb3Jp
Z2luczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2FkX2lmcmFtZShzcmMsIHNhbmRib3gpIHsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgIGlmcmFtZS5vbmxvYWQgPSAoKSA9
PiB7IHJlc29sdmUoaWZyYW1lKTsgfTsKKyAgICBpZiAoc2FuZGJveCkKKyAgICAgIGlmcmFtZS5z
YW5kYm94ID0gc2FuZGJveDsKKyAgICBpZnJhbWUuc3JjZG9jID0gc3JjOworICAgIGlmcmFtZS5z
dHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBl
bmRDaGlsZChpZnJhbWUpOworICB9KTsKK30KKworZnVuY3Rpb24gd2FpdF9mb3JfbWVzc2FnZShp
ZnJhbWUpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHNlbGYuYWRk
RXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uIGxpc3RlbmVyKGUpIHsKKyAgICAgIGlm
IChlLnNvdXJjZSA9PT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHsKKyAgICAgICAgcmVzb2x2ZShl
LmRhdGEpOworICAgICAgICBzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBsaXN0
ZW5lcik7CisgICAgICB9CisgICAgfSk7CisgIH0pOworfQorCitjb25zdCBzY3JpcHQgPQorICAn
PHNjcmlwdD4nICsKKyAgJyAgd2luZG93Lm9ubWVzc2FnZSA9ICgpID0+IHsnICsKKyAgJyAgICB0
cnkgeyAnICsKKyAgJyAgICAgIGlmICghaW5kZXhlZERCIHx8ICFpbmRleGVkREIuZGF0YWJhc2Vz
KSB7JyArCisgICcgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe3Jlc3VsdDogImlu
ZGV4ZWREQi5kYXRhYmFzZXMgdW5kZWZpbmVkIn0sICIqIiknICsKKyAgJyAgICAgIH0nICsKKyAg
JyAgICAgIGluZGV4ZWREQi5kYXRhYmFzZXMoKS50aGVuKCcgKworICAnICAgICAgICAoKSA9PiB3
aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHtyZXN1bHQ6ICJubyBleGNlcHRpb24ifSwgIioiKSwn
ICsKKyAgJyAgICAgICAgZXggPT4gd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7cmVzdWx0OiBl
eC5uYW1lfSwgIioiKSk7JyArCisgICcgICAgfSBjYXRjaChlKSB7ICcgKworICAnICAgICAgd2lu
ZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7cmVzdWx0OiBlLm5hbWUgKyAiIHRocm93biwgbm90IHJl
amVjdGVkIn0sICIqIiknICsKKyAgJyAgICB9JysKKyAgJyAgfTsnICsKKyAgJzxcL3NjcmlwdD4n
OworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IGlmcmFtZSA9IGF3YWl0IGxv
YWRfaWZyYW1lKHNjcmlwdCk7CisgIGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHt9
LCAnKicpOworICBjb25zdCBtZXNzYWdlID0gYXdhaXQgd2FpdF9mb3JfbWVzc2FnZShpZnJhbWUp
OworICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UucmVzdWx0LCAnbm8gZXhjZXB0aW9uJywKKyAgICAg
ICAgICAgICAgICAnSURCRmFjdG9yeS5kYXRhYmFzZXMoKSBzaG91bGQgbm90IHJlamVjdCcpOwor
fSwgJ0lEQkZhY3RvcnkuZGF0YWJhc2VzKCkgaW4gbm9uLXNhbmRib3hlZCBpZnJhbWUgc2hvdWxk
IG5vdCByZWplY3QnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBpZnJh
bWUgPSBhd2FpdCBsb2FkX2lmcmFtZShzY3JpcHQsICdhbGxvdy1zY3JpcHRzJyk7CisgIGlmcmFt
ZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHt9LCAnKicpOworICBjb25zdCBtZXNzYWdlID0g
YXdhaXQgd2FpdF9mb3JfbWVzc2FnZShpZnJhbWUpOworICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2Uu
cmVzdWx0LCAnU2VjdXJpdHlFcnJvcicsCisgICAgICAgICAgICAgICAgJ1Byb21pc2Ugc2hvdWxk
IGJlIHJlamVjdGVkIHdpdGggU2VjdXJpdHlFcnJvcicpOworfSwgJ0lEQkZhY3RvcnkuZGF0YWJh
c2VzKCkgaW4gc2FuZGJveGVkIGlmcmFtZSBzaG91bGQgcmVqZWN0Jyk7Cis8L3NjcmlwdD4KSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
ZmFjdG9yeS1vcmlnaW4taXNvbGF0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJm
YWN0b3J5LW9yaWdpbi1pc29sYXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMyBAQAorCitGQUlMIFRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgb3JpZ2lucyBoYXZlIHNl
cGFyYXRlIGxvY2tpbmcgc2NoZW1lcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IGluZGV4ZWREQi5kYXRhYmFzZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnaW5kZXhlZERCLmRhdGFiYXNlcygpJywgJ2luZGV4ZWREQi5kYXRh
YmFzZXMnIGlzIHVuZGVmaW5lZCkiCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPkRhdGFiYXNlcyBvbiBkaWZm
ZXJlbnQgb3JpZ2lucyB1c2Ugc2VwYXJhdGUgbG9ja2luZzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1v
bi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic3VwcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic3VwcG9ydC1wcm9taXNlcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorCit2YXIgaG9zdF9pbmZvID0gZ2V0X2hvc3RfaW5mbygpOworCitwcm9taXNl
X3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBhd2FpdCBkZWxldGVBbGxEYXRhYmFzZXModGVz
dENhc2UpOworCisgIC8vIENyZWF0ZSBhbiBpZnJhbWUgdG8gb3BlbiBhbmQgaG9sZCBhIGRhdGFi
YXNlIG9uIGEgZGlmZmVyZW50IG9yaWdpbi4KKyAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lmcmFtZScpOworICB2YXIgbmV3TG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb24u
aHJlZi5yZXBsYWNlKCd3d3cnLCAnd3d3MicpOworCisgIGNvbnN0IGtlZXBhbGl2ZV93YXRjaGVy
ID0gbmV3IEV2ZW50V2F0Y2hlcih0ZXN0Q2FzZSwgd2luZG93LCAnbWVzc2FnZScpOworICBpZnJh
bWUuc3JjID0gaG9zdF9pbmZvLkhUVFBfUkVNT1RFX09SSUdJTiArCisgICAgICAnL0luZGV4ZWRE
Qi9yZXNvdXJjZXMvaWRiZmFjdG9yeS1vcmlnaW4taXNvbGF0aW9uLWlmcmFtZS5odG1sJzsKKyAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworCisgIC8vIFdhaXQgdW50aWwgdGhl
IGlmcmFtZSBzdGFydHMgaXRzIHRyYW5zYWN0aW9uLgorICB2YXIgZXZlbnQgPSBhd2FpdCBrZWVw
YWxpdmVfd2F0Y2hlci53YWl0X2ZvcignbWVzc2FnZScpOworICBhc3NlcnRfZXF1YWxzKCJrZWVw
X2FsaXZlX3N0YXJ0ZWQiLCBldmVudC5kYXRhKTsKKworICAvLyBDcmVhdGUgb3VyIG93biBkYXRh
YmFzZSB3aXRoIHRoZSBzYW1lIG5hbWUsIGFuZCBwZXJmb3JtIGEgc2ltcGxlIGdldC4KKyAgY29u
c3QgZGIgPSBhd2FpdCBjcmVhdGVOYW1lZERhdGFiYXNlKAorICAgICAgdGVzdENhc2UsICdkYi1p
c29sYXRpb24tdGVzdCcsIGRhdGFiYXNlID0+IHsKKyAgICAgICAgZGF0YWJhc2UuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3MnKTsKKyAgICAgIH0pOworICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdz
Jyk7CisgIHZhciByZXF1ZXN0ID0gdHgub2JqZWN0U3RvcmUoJ3MnKS5nZXQoMCk7CisgIHJlcXVl
c3Qub25zdWNjZXNzID0gdGVzdENhc2Uuc3RlcF9mdW5jX2RvbmUoKTsKKyAgcmVxdWVzdC5vbmVy
cm9yID0gdGVzdENhc2UudW5yZWFjaGVkX2Z1bmMoIlRoZXJlIHNob3VsZCBiZSBubyBlcnJvcnMu
Iik7Cit9LCAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBvcmlnaW5zIGhhdmUgc2VwYXJhdGUgbG9j
a2luZyBzY2hlbWVzIik7CisKKzwvc2NyaXB0PgorCis8ZGl2IGlkPSJsb2ciPjwvZGl2PgpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiZmFjdG9yeV9kZWxldGVEYXRhYmFzZTMuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3RvcnlfZGVs
ZXRlRGF0YWJhc2UzLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9kZWxldGVEYXRh
YmFzZTMuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQAogCiA8c2NyaXB0PgogICAg
IHZhciBkYgotICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdChkb2N1bWVudC50
aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksIHVuZGVmaW5lZCwgOSkKKyAgICB2YXIgb3Blbl9ycSA9
IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoKSwgdW5kZWZpbmVkLCA5KQogCiAgICAgb3Blbl9ycS5vbnVw
Z3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIGRiID0gZS50YXJnZXQucmVzdWx0
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJmYWN0b3J5X29wZW4yLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4yLmh0
bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMi5odG0JKHdvcmtpbmcgY29weSkK
QEAgLTYsMTIgKzYsMTMgQEAKIDxzY3JpcHQgc3JjPXN1cHBvcnQuanM+PC9zY3JpcHQ+CiAKIDxz
Y3JpcHQ+Ci0gICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCksICdkYXRhYmFz
ZV9uYW1lJywgMTMpOworICAgIHZhciBkYXRhYmFzZV9uYW1lID0gZG9jdW1lbnQubG9jYXRpb24g
KyAnLWRhdGFiYXNlX25hbWUnOworICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVz
dCgpLCBkYXRhYmFzZV9uYW1lLCAxMyk7CiAKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9
IGZ1bmN0aW9uKGUpIHt9OwogICAgIG9wZW5fcnEub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewog
ICAgICAgICB2YXIgZGIgPSBlLnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMo
ZGIubmFtZSwgJ2RhdGFiYXNlX25hbWUnLCAnZGIubmFtZScpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGRiLm5hbWUsIGRhdGFiYXNlX25hbWUsICdkYi5uYW1lJyk7CiAgICAgICAgIGFzc2VydF9l
cXVhbHMoZGIudmVyc2lvbiwgMTMsICdkYi52ZXJzaW9uJyk7CiAgICAgICAgIHRoaXMuZG9uZSgp
OwogICAgIH0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3BlbjQuaHRtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlf
b3BlbjQuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW40Lmh0bQkod29ya2lu
ZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAKIDxzY3JpcHQgc3JjPXN1cHBvcnQuanM+PC9zY3JpcHQ+
CiAKIDxzY3JpcHQ+Ci0gICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCksICdk
YXRhYmFzZV9uYW1lJyk7CisgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCks
IGRvY3VtZW50LmxvY2F0aW9uICsgJy1kYXRhYmFzZV9uYW1lJyk7CiAKICAgICBvcGVuX3JxLm9u
dXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLnRh
cmdldC5yZXN1bHQudmVyc2lvbiwgMSwgImRiLnZlcnNpb24iKTsKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3Bl
bjUuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3BlbjUuaHRtCShyZXZpc2lvbiAyNTAyNjAp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJmYWN0b3J5X29wZW41Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAKIDxz
Y3JpcHQgc3JjPXN1cHBvcnQuanM+PC9zY3JpcHQ+CiAKIDxzY3JpcHQ+Ci0gICAgdmFyIG9wZW5f
cnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCksICdkYXRhYmFzZV9uYW1lJyk7CisgICAgdmFyIG9w
ZW5fcnEgPSBjcmVhdGVkYihhc3luY190ZXN0KCksIGRvY3VtZW50LmxvY2F0aW9uICsgJy1kYXRh
YmFzZV9uYW1lJyk7CiAKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKCkg
e307CiAgICAgb3Blbl9ycS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5
X29wZW4xMC5odG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTAuaHRtCShyZXZpc2lvbiAy
NTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4xMC5odG0JKHdvcmtpbmcgY29weSkKQEAgLTcsNyArNyw3
IEBACiAKIDxzY3JpcHQ+CiAgICAgdmFyIGRiLCBkYjI7Ci0gICAgdmFyIG9wZW5fcnEgPSBjcmVh
dGVkYihhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwgdW5kZWZp
bmVkLCA5KTsKKyAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoKSwgdW5kZWZp
bmVkLCA5KTsKIAogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewog
ICAgICAgICBkYiA9IGUudGFyZ2V0LnJlc3VsdDsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnlfb3BlbjExLmh0bQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4xMS5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZh
Y3Rvcnlfb3BlbjExLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcgQEAKIDxzY3JpcHQ+
CiAgICAgdmFyIGRiOwogICAgIHZhciBjb3VudF9kb25lID0gMDsKLSAgICB2YXIgb3Blbl9ycSA9
IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pKTsK
KyAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoKSk7CiAKICAgICBvcGVuX3Jx
Lm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgZGIgPSBlLnRhcmdldC5y
ZXN1bHQ7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4xMi5odG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9v
cGVuMTIuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4xMi5odG0JKHdvcmtp
bmcgY29weSkKQEAgLTcsNyArNyw3IEBACiAKIDxzY3JpcHQ+CiAgICAgdmFyIGRiOwotICAgIHZh
ciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6
IDEwMDAwfSksIHVuZGVmaW5lZCwgOSk7CisgICAgdmFyIG9wZW5fcnEgPSBjcmVhdGVkYihhc3lu
Y190ZXN0KGRvY3VtZW50LnRpdGxlKSwgdW5kZWZpbmVkLCA5KTsKICAgICB2YXIgb3BlbjJfdCA9
IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUgKyAiIC0gc2Vjb25kIHVwZ3JhZGUiKTsKIAogICAg
IG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVs
dGllbnRyeS1hcnJheWtleXBhdGguaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LW11bHRpZW50cnkt
YXJyYXlrZXlwYXRoLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtbXVsdGllbnRyeS1h
cnJheWtleXBhdGguaHRtCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQAogPHNjcmlwdCBz
cmM9InN1cHBvcnQuanMiPjwvc2NyaXB0PgogCiA8c2NyaXB0PgotICAgIGNyZWF0ZWRiKGFzeW5j
X3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pKS5vbnVwZ3JhZGVuZWVkZWQg
PSBmdW5jdGlvbihlKSB7CisgICAgY3JlYXRlZGIoYXN5bmNfdGVzdCgpKS5vbnVwZ3JhZGVuZWVk
ZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIHZhciBzdG9yZSA9IGUudGFyZ2V0LnJlc3VsdC5j
cmVhdGVPYmplY3RTdG9yZSgic3RvcmUiKTsKIAogICAgICAgICBhc3NlcnRfdGhyb3dzKCdJbnZh
bGlkQWNjZXNzRXJyb3InLCBmdW5jdGlvbigpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4LW11bHRpZW50cnktYmln
Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1tdWx0aWVudHJ5LWJpZy5odG0JKHJldmlzaW9uIDI1
MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmluZGV4LW11bHRpZW50cnktYmlnLmh0bQkod29ya2luZyBjb3B5KQpAQCAtMSw2
ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPG1ldGEgY2hhcnNldD0idXRmLTgiPgogPHRpdGxl
PklEQkluZGV4Lm11bHRpRW50cnkgLSBhIDEwMDAgZW50cnkgbXVsdGlFbnRyeSBhcnJheTwvdGl0
bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxsaW5rIHJlbD0iYXV0
aG9yIiBocmVmPSJtYWlsdG86b2RpbmhvQG9wZXJhLmNvbSIgdGl0bGU9Ik9kaW4gSMO4cnRoZSBP
bWRhbCI+CiA8bGluayByZWw9aGVscCBocmVmPSJodHRwOi8vZHZjcy53My5vcmcvaGcvSW5kZXhl
ZERCL3Jhdy1maWxlL3RpcC9PdmVydmlldy5odG1sI2tleS1jb25zdHJ1Y3QiPgogPGxpbmsgcmVs
PWFzc2VydCB0aXRsZT0iWFhYIj4KQEAgLTEwLDggKzExLDggQEAKIAogPHNjcmlwdD4KICAgICB2
YXIgZGIsCi0gICAgICAgIHRfYWRkID0gYXN5bmNfdGVzdCgiQWRkaW5nIG9uZSBpdGVtIHdpdGgg
MTAwMCBtdWx0aUVudHJ5IGtleXMiLCB7IHRpbWVvdXQ6IDEwMDAwIH0pLAotICAgICAgICB0X2dl
dCA9IGFzeW5jX3Rlc3QoIkdldHRpbmcgdGhlIG9uZSBpdGVtIGJ5IDEwMDAgaW5kZWNlZCBrZXlz
ICIsIHsgdGltZW91dDogMTAwMDAgfSk7CisgICAgICAgIHRfYWRkID0gYXN5bmNfdGVzdCgiQWRk
aW5nIG9uZSBpdGVtIHdpdGggMTAwMCBtdWx0aUVudHJ5IGtleXMiKSwKKyAgICAgICAgdF9nZXQg
PSBhc3luY190ZXN0KCJHZXR0aW5nIHRoZSBvbmUgaXRlbSBieSAxMDAwIGluZGVjZWQga2V5cyAi
KTsKIAogICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIodF9hZGQpOwogICAgIHZhciBvYmogPSB7
IHRlc3Q6ICd5bycsIGlkeGtleXM6IFtdIH07CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleC1tdWx0aWVudHJ5Lmh0bQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJpbmRleC1tdWx0aWVudHJ5Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
aW5kZXgtbXVsdGllbnRyeS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAKICAg
ICB2YXIgZGIsCiAgICAgICAgIGV4cGVjdGVkX2tleXMgPSBbMSwgMiwgMiwgMywgM107CiAKLSAg
ICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0aW1l
b3V0OiAxMDAwMH0pKQorICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdCgpKQog
CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIGRi
ID0gZS50YXJnZXQucmVzdWx0OwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXgtcmVuYW1lLWFib3J0Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiaW5kZXgtcmVuYW1lLWFib3J0Lmh0bWwJKHJldmlzaW9uIDI1MDI2MCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmlu
ZGV4LXJlbmFtZS1hYm9ydC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw5ICszOSw4IEBAIHBy
b21pc2VfdGVzdCh0ZXN0Q2FzZSA9PiB7CiAgICAgICAgICAgICAndmVyc2lvbmNoYW5nZSB0cmFu
c2FjdGlvbiBpcyBhYm9ydGVkJyk7CiAKICAgICAgICAgY29uc3QgcmVxdWVzdCA9IGluZGV4ZWRE
Qi5vcGVuKGRiTmFtZSwgMSk7Ci0gICAgICAgIHJldHVybiByZXF1ZXN0V2F0Y2hlcih0ZXN0Q2Fz
ZSwgcmVxdWVzdCkud2FpdF9mb3IoJ3N1Y2Nlc3MnKTsKLSAgICB9KS50aGVuKGV2ZW50ID0+IHsK
LSAgICAgICAgY29uc3QgZGF0YWJhc2UgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgICAgICBy
ZXR1cm4gcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpOworICAgIH0pLnRoZW4o
ZGF0YWJhc2UgPT4gewogICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5z
YWN0aW9uKCdib29rcycsICdyZWFkb25seScpOwogICAgICAgICBjb25zdCBzdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdib29rcycpOwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KApAQCAtOTUsOSArOTQsOCBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4gewogICAgICAgICAg
ICAgJ3ZlcnNpb25jaGFuZ2UgdHJhbnNhY3Rpb24gaXMgYWJvcnRlZCcpOwogCiAgICAgICAgIGNv
bnN0IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYk5hbWUsIDEpOwotICAgICAgICByZXR1cm4g
cmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpLndhaXRfZm9yKCdzdWNjZXNzJyk7Ci0g
ICAgfSkudGhlbihldmVudCA9PiB7Ci0gICAgICAgIGNvbnN0IGRhdGFiYXNlID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKKyAgICAgICAgcmV0dXJuIHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCBy
ZXF1ZXN0KTsKKyAgICB9KS50aGVuKGRhdGFiYXNlID0+IHsKICAgICAgICAgY29uc3QgdHJhbnNh
Y3Rpb24gPSBkYXRhYmFzZS50cmFuc2FjdGlvbignbm90X2Jvb2tzJywgJ3JlYWRvbmx5Jyk7CiAg
ICAgICAgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ25vdF9ib29rcycp
OwogICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfaW5kZXhOYW1lcy5o
dG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfaW5kZXhOYW1lcy5odG0JKHJldmlzaW9uIDI1MDI2MCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2lkYmluZGV4X2luZGV4TmFtZXMuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAog
CiA8c2NyaXB0PgogICAgIHZhciBkYiwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRp
dGxlLCB7dGltZW91dDogMTAwMDB9KTsKKyAgICAgIHQgPSBhc3luY190ZXN0KCk7CiAKICAgICB2
YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOwogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0g
ZnVuY3Rpb24oZSkgewpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfa2V5UGF0aC5hbnktZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJpbmRleF9rZXlQYXRoLmFueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzIEBACisKK0ZBSUwgSURCSW5kZXgncyBrZXlQYXRoIGF0dHJpYnV0ZSByZXR1cm5zIHRoZSBz
YW1lIG9iamVjdC4gYXNzZXJ0X2VxdWFsczogU2FtZSBvYmplY3QgaW5zdGFuY2UgaXMgcmV0dXJu
ZWQgZWFjaCB0aW1lIGtleVBhdGggaXMgaW5zcGVjdGVkIGV4cGVjdGVkIFsiYSIsICJiIl0gYnV0
IGdvdCBbImEiLCAiYiJdCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiaW5kZXhfa2V5UGF0aC5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9rZXlQ
YXRoLmFueS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxl
IGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRl
bXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4
X2tleVBhdGguYW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55LmpzCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMzAgQEAKKy8vIE1FVEE6IHRpdGxlPUluZGV4ZWREQjogSURCSW5kZXgga2V5UGF0aCBhdHRy
aWJ1dGUgLSBzYW1lIG9iamVjdAorLy8gTUVUQTogc2NyaXB0PXN1cHBvcnQuanMKKworaW5kZXhl
ZGRiX3Rlc3QoCisgICh0LCBkYikgPT4geworICAgIGNvbnN0IHN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlJywge2tleVBhdGg6IFsnYScsICdiJ119KTsKKyAgICBzdG9yZS5jcmVh
dGVJbmRleCgnaW5kZXgnLCBbJ2EnLCAnYiddKTsKKyAgfSwKKyAgKHQsIGRiKSA9PiB7CisgICAg
Y29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignc3RvcmUnKTsKKyAgICBjb25zdCBzdG9yZSA9IHR4
Lm9iamVjdFN0b3JlKCdzdG9yZScpOworICAgIGNvbnN0IGluZGV4ID0gc3RvcmUuaW5kZXgoJ2lu
ZGV4Jyk7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgaW5kZXgua2V5UGF0aCwgJ29iamVjdCcs
ICdrZXlQYXRoIGlzIGFuIG9iamVjdCcpOworICAgIGFzc2VydF90cnVlKEFycmF5LmlzQXJyYXko
aW5kZXgua2V5UGF0aCksICdrZXlQYXRoIGlzIGFuIGFycmF5Jyk7CisKKyAgICBhc3NlcnRfZXF1
YWxzKAorICAgICAgaW5kZXgua2V5UGF0aCwgaW5kZXgua2V5UGF0aCwKKyAgICAgICdTYW1lIG9i
amVjdCBpbnN0YW5jZSBpcyByZXR1cm5lZCBlYWNoIHRpbWUga2V5UGF0aCBpcyBpbnNwZWN0ZWQn
KTsKKworICAgIGNvbnN0IHR4MiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScpOworICAgIGNvbnN0
IHN0b3JlMiA9IHR4Mi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBjb25zdCBpbmRleDIgPSBz
dG9yZTIuaW5kZXgoJ2luZGV4Jyk7CisKKyAgICBhc3NlcnRfbm90X2VxdWFscygKKyAgICAgIGlu
ZGV4LmtleVBhdGgsIGluZGV4Mi5rZXlQYXRoLAorICAgICAgJ0RpZmZlcmVudCBpbnN0YW5jZXMg
YXJlIHJldHVybmVkIGZyb20gZGlmZmVyZW50IGluZGV4IGluc3RhbmNlcy4nKTsKKworICAgIHQu
ZG9uZSgpOworICB9LAorICBgSURCSW5kZXgncyBrZXlQYXRoIGF0dHJpYnV0ZSByZXR1cm5zIHRo
ZSBzYW1lIG9iamVjdC5gKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2tleVBhdGguYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfa2V5UGF0aC5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9rZXlQYXRoLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIElEQkluZGV4J3Mga2V5UGF0
aCBhdHRyaWJ1dGUgcmV0dXJucyB0aGUgc2FtZSBvYmplY3QuIGFzc2VydF9lcXVhbHM6IFNhbWUg
b2JqZWN0IGluc3RhbmNlIGlzIHJldHVybmVkIGVhY2ggdGltZSBrZXlQYXRoIGlzIGluc3BlY3Rl
ZCBleHBlY3RlZCBbImEiLCAiYiJdIGJ1dCBnb3QgWyJhIiwgImIiXQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9r
ZXlQYXRoLmFueS53b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9rZXlQYXRoLmFueS53
b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9rZXlQYXRoLmFueS53b3JrZXIuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJl
ZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVz
dCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1yZW5h
bWUtYWJvcnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZS1yZW5hbWUtYWJvcnQuaHRt
bAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmUtcmVuYW1lLWFib3J0Lmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDkgKzQwLDggQEAgcHJvbWlzZV90ZXN0KHRlc3RDYXNlID0+IHsK
ICAgICAgICAgICAgICAgICAnSURCT2JqZWN0U3RvcmUubmFtZSBzaG91bGQgbm90IHJlZmxlY3Qg
dGhlIHJlbmFtZSBhbnkgbW9yZSAnICsKICAgICAgICAgICAgICAgICAnYWZ0ZXIgdGhlIHZlcnNp
b25jaGFuZ2UgdHJhbnNhY3Rpb24gaXMgYWJvcnRlZCcpOwogICAgICAgICBjb25zdCByZXF1ZXN0
ID0gaW5kZXhlZERCLm9wZW4oZGJOYW1lLCAxKTsKLSAgICAgICAgcmV0dXJuIHJlcXVlc3RXYXRj
aGVyKHRlc3RDYXNlLCByZXF1ZXN0KS53YWl0X2Zvcignc3VjY2VzcycpOwotICAgIH0pLnRoZW4o
ZXZlbnQgPT4gewotICAgICAgICBjb25zdCBkYXRhYmFzZSA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7
CisgICAgICAgIHJldHVybiBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7Cisg
ICAgfSkudGhlbihkYXRhYmFzZSA9PiB7CiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoCiAg
ICAgICAgICAgICBkYXRhYmFzZS5vYmplY3RTdG9yZU5hbWVzLCBbJ2Jvb2tzJ10sCiAgICAgICAg
ICAgICAnSURCRGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcyBzaG91bGQgbm90IHJlZmxlY3QgdGhl
IHJlbmFtZSAnICsKQEAgLTEwNyw5ICsxMDYsOCBAQCBwcm9taXNlX3Rlc3QodGVzdENhc2UgPT4g
ewogICAgICAgICAgICAgJ3Nob3VsZCBiZSBlbXB0eSBhZnRlciB0aGUgdmVyc2lvbmNoYW5nZSB0
cmFuc2FjdGlvbiBpcyBhYm9ydGVkICcgKwogICAgICAgICAgICAgJ3JldHVybnMnKTsKICAgICAg
ICAgY29uc3QgcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRiTmFtZSwgMSk7Ci0gICAgICAgIHJl
dHVybiByZXF1ZXN0V2F0Y2hlcih0ZXN0Q2FzZSwgcmVxdWVzdCkud2FpdF9mb3IoJ3N1Y2Nlc3Mn
KTsKLSAgICB9KS50aGVuKGV2ZW50ID0+IHsKLSAgICAgICAgY29uc3QgZGF0YWJhc2UgPSBldmVu
dC50YXJnZXQucmVzdWx0OworICAgICAgICByZXR1cm4gcHJvbWlzZUZvclJlcXVlc3QodGVzdENh
c2UsIHJlcXVlc3QpOworICAgIH0pLnRoZW4oZGF0YWJhc2UgPT4gewogICAgICAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKAogICAgICAgICAgICAgZGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcywgW10s
CiAgICAgICAgICAgICAnSURCRGF0YWJhc2Uub2JqZWN0U3RvcmVOYW1lcyBzaG91bGQgbm90IHJl
ZmxlY3QgdGhlIGNyZWF0aW9uIG9yICcgKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgz
LXVzYWJsZS1yaWdodC1hd2F5Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJ
bmRleDMtdXNhYmxlLXJpZ2h0LWF3YXkuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZV9jcmVhdGVJbmRleDMtdXNhYmxlLXJpZ2h0LWF3YXkuaHRtCSh3b3JraW5nIGNvcHkpCkBA
IC05LDcgKzksNyBAQAogCiA8c2NyaXB0PgogICAgIHZhciBkYiwgYWJvcnRlZCwKLSAgICAgIHQg
PSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDoxOTAwMH0pCisgICAgICB0ID0g
YXN5bmNfdGVzdCgpCiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOwogICAgIG9wZW5f
cnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3Jl
YXRlSW5kZXg0LWRlbGV0ZUluZGV4LWV2ZW50X29yZGVyLmh0bQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmpl
Y3RzdG9yZV9jcmVhdGVJbmRleDQtZGVsZXRlSW5kZXgtZXZlbnRfb3JkZXIuaHRtCShyZXZpc2lv
biAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDQtZGVsZXRlSW5kZXgtZXZlbnRf
b3JkZXIuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQAogPHNjcmlwdD4KICAgICB2
YXIgZGIsCiAgICAgICBldmVudHMgPSBbXSwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50
LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KQorICAgICAgdCA9IGFzeW5jX3Rlc3QoKQogCiAgICAg
dmFyIG9wZW5fcnEgPSBjcmVhdGVkYih0KTsKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9
IGZ1bmN0aW9uKGUpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4NS1lbXB0eWtleXBh
dGguaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4NS1lbXB0eWtleXBh
dGguaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDUtZW1w
dHlrZXlwYXRoLmh0bQkod29ya2luZyBjb3B5KQpAQCAtOCw3ICs4LDcgQEAKIAogPHNjcmlwdD4K
ICAgICB2YXIgZGIsIGFib3J0ZWQsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRs
ZSwge3RpbWVvdXQ6IDEwMDAwfSkKKyAgICAgIHQgPSBhc3luY190ZXN0KCkKIAogICAgIHZhciBv
cGVuX3JxID0gY3JlYXRlZGIodCk7CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5j
dGlvbihlKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDYtZXZlbnRfb3JkZXIuaHRt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4Ni1ldmVudF9vcmRlci5odG0J
KHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4Ni1ldmVudF9vcmRl
ci5odG0JKHdvcmtpbmcgY29weSkKQEAgLTE2LDcgKzE2LDcgQEAKIAogICAgIHZhciBkYiwKICAg
ICAgIGV2ZW50cyA9IFtdLAotICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0bGUsIHt0
aW1lb3V0OiAxMDAwMH0pCisgICAgICB0ID0gYXN5bmNfdGVzdCgpCiAKICAgICB2YXIgb3Blbl9y
cSA9IGNyZWF0ZWRiKHQpOwogICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24o
ZSkgewpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXg3LWV2ZW50X29yZGVyLmh0bQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDctZXZlbnRfb3JkZXIuaHRtCShyZXZp
c2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDctZXZlbnRfb3JkZXIuaHRt
CSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBACiAKICAgICB2YXIgZGIsCiAgICAgICBl
dmVudHMgPSBbXSwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91
dDogMTAwMDB9KQorICAgICAgdCA9IGFzeW5jX3Rlc3QoKQogCiAgICAgdmFyIG9wZW5fcnEgPSBj
cmVhdGVkYih0KTsKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4OC12YWxpZF9rZXlzLmh0bQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDgtdmFsaWRfa2V5cy5odG0JKHJldmlzaW9uIDI1
MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4OC12YWxpZF9rZXlzLmh0bQkod29ya2lu
ZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAKIAogPHNjcmlwdD4KICAgICB2YXIgZGIsCi0gICAgICB0
ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6MTkwMDB9KSwKKyAgICAgIHQg
PSBhc3luY190ZXN0KCksCiAgICAgICBub3cgPSBuZXcgRGF0ZSgpLAogICAgICAgbWFyMTggPSBu
ZXcgRGF0ZSgxMTExMTExMTExMTExKSwKICAgICAgIGFyID0gWyJZYXkiLCAyLCAtSW5maW5pdHld
LApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRib2JqZWN0c3RvcmVfY3JlYXRlSW5kZXgxNS1hdXRvaW5jcmVtZW50LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDE1LWF1dG9pbmNyZW1l
bnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJ
bmRleDE1LWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQg
KzEsNSBAQAogCiBQQVNTIEV4cGxpY2l0IFByaW1hcnkgS2V5IAogUEFTUyBBdXRvLUluY3JlbWVu
dCBQcmltYXJ5IEtleSAKK1BBU1MgQXV0by1JbmNyZW1lbnQgUHJpbWFyeSBLZXkgLSBpbnZhbGlk
IGtleSB2YWx1ZXMgZWxzZXdoZXJlIAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jcmVhdGVJbmRleDE1
LWF1dG9pbmNyZW1lbnQuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NyZWF0ZUluZGV4
MTUtYXV0b2luY3JlbWVudC5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2Ny
ZWF0ZUluZGV4MTUtYXV0b2luY3JlbWVudC5odG0JKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw3
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxtZXRhIGNoYXJzZXQ9dXRmLTg+CiA8dGl0bGU+SURCT2Jq
ZWN0U3RvcmUuY3JlYXRlSW5kZXgoKSAtIEF1dG9JbmNyZW1lbnQgaW4gQ29tcG91bmQgSW5kZXg8
L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0ic3Vw
cG9ydC5qcyI+PC9zY3JpcHQ+CkBAIC00OSw0ICs1MCw1NyBAQAogICAgIH0sCiAgICAgIkF1dG8t
SW5jcmVtZW50IFByaW1hcnkgS2V5IgogICApOworCisgIGluZGV4ZWRkYl90ZXN0KAorICAgIGZ1
bmN0aW9uKHQsIGRiLCB0eG4pIHsKKyAgICAgIC8vIEF1dG8taW5jcmVtZW50CisgICAgICB2YXIg
c3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgiU3RvcmUzIiwge2tleVBhdGg6ICJpZCIsIGF1
dG9JbmNyZW1lbnQ6IHRydWV9KTsKKyAgICAgIHN0b3JlLmNyZWF0ZUluZGV4KCJDb21wb3VuZEtl
eSIsIFsibnVtIiwgImlkIiwgIm90aGVyIl0pOworCisgICAgICB2YXIgbnVtID0gMTAwOworCisg
ICAgICAvLyBBZGQgZGF0YSB0byBTdG9yZTMgLSB2YWxpZCBrZXlzCisgICAgICAvLyBPYmplY3Rz
IHdpbGwgYmUgc3RvcmVkIGluIFN0b3JlMyBhbmQga2V5cyB3aWxsIGdldCBhZGRlZAorICAgICAg
Ly8gdG8gdGhlIENvbXBvdW5kS2V5cyBpbmRleC4KKyAgICAgIHN0b3JlLnB1dCh7bnVtOiBudW0r
Kywgb3RoZXI6IDB9KTsKKyAgICAgIHN0b3JlLnB1dCh7bnVtOiBudW0rKywgb3RoZXI6IFswXX0p
OworCisgICAgICAvLyBBZGQgZGF0YSAtIG1pc3Npbmcga2V5CisgICAgICAvLyBPYmplY3RzIHdp
bGwgYmUgc3RvcmVkIGluIFN0b3JlMyBidXQga2V5cyB3b24ndCBnZXQgYWRkZWQgdG8KKyAgICAg
IC8vIHRoZSBDb21wb3VuZEtleXMgaW5kZXggYmVjYXVzZSB0aGUgJ290aGVyJyBrZXlwYXRoIGRv
ZXNuJ3QKKyAgICAgIC8vIHJlc29sdmUgdG8gYSB2YWx1ZS4KKyAgICAgIHN0b3JlLnB1dCh7bnVt
OiBudW0rK30pOworCisgICAgICAvLyBBZGQgZGF0YSB0byBTdG9yZTMgLSBpbnZhbGlkIGtleXMK
KyAgICAgIC8vIE9iamVjdHMgd2lsbCBiZSBzdG9yZWQgaW4gU3RvcmUzIGJ1dCBrZXlzIHdvbid0
IGdldCBhZGRlZCB0bworICAgICAgLy8gdGhlIENvbXBvdW5kS2V5cyBpbmRleCBiZWNhdXNlIHRo
ZSAnb3RoZXInIHByb3BlcnR5IHZhbHVlcworICAgICAgLy8gYXJlbid0IHZhbGlkIGtleXMuCisg
ICAgICBzdG9yZS5wdXQoe251bTogbnVtKyssIG90aGVyOiBudWxsfSk7CisgICAgICBzdG9yZS5w
dXQoe251bTogbnVtKyssIG90aGVyOiB7fX0pOworICAgICAgc3RvcmUucHV0KHtudW06IG51bSsr
LCBvdGhlcjogW251bGxdfSk7CisgICAgICBzdG9yZS5wdXQoe251bTogbnVtKyssIG90aGVyOiBb
e31dfSk7CisgICAgfSwKKyAgICBmdW5jdGlvbih0LCBkYikgeworICAgICAgdmFyIHN0b3JlID0g
ZGIudHJhbnNhY3Rpb24oIlN0b3JlMyIsICJyZWFkd3JpdGUiKS5vYmplY3RTdG9yZSgiU3RvcmUz
Iik7CisgICAgICBjb25zdCBrZXlzID0gW107CisgICAgICBsZXQgY291bnQ7CisgICAgICBzdG9y
ZS5jb3VudCgpLm9uc3VjY2VzcyA9IHQuc3RlcF9mdW5jKGUgPT4geyBjb3VudCA9IGUudGFyZ2V0
LnJlc3VsdDsgfSk7CisgICAgICBzdG9yZS5pbmRleCgiQ29tcG91bmRLZXkiKS5vcGVuQ3Vyc29y
KCkub25zdWNjZXNzID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgICAgICBjb25zdCBj
dXJzb3IgPSBlLnRhcmdldC5yZXN1bHQ7CisgICAgICAgIGlmIChjdXJzb3IgIT09IG51bGwpIHsK
KyAgICAgICAgICBrZXlzLnB1c2goY3Vyc29yLmtleSk7CisgICAgICAgICAgY3Vyc29yLmNvbnRp
bnVlKCk7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gRG9uZSBp
dGVyYXRpb24sIGNoZWNrIHJlc3VsdHMuCisgICAgICAgIGFzc2VydF9lcXVhbHMoY291bnQsIDcs
ICdFeHBlY3RlZCBhbGwgNyByZWNvcmRzIHRvIGJlIHN0b3JlZC4nKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhrZXlzLmxlbmd0aCwgMiwgJ0V4cGVjdGVkIGV4YWN0bHkgdHdvIGluZGV4IGVudHJp
ZXMuJyk7CisgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoa2V5c1swXSwgWzEwMCwgMSwgMF0p
OworICAgICAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhrZXlzWzFdLCBbMTAxLCAyLCBbMF1dKTsK
KyAgICAgICAgdC5kb25lKCk7CisgICAgICB9KTsKKyAgICB9LAorICAgICJBdXRvLUluY3JlbWVu
dCBQcmltYXJ5IEtleSAtIGludmFsaWQga2V5IHZhbHVlcyBlbHNld2hlcmUiCisgICk7CiA8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2RlbGV0ZWQuaHRtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVj
dHN0b3JlX2RlbGV0ZWQuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9kZWxl
dGVkLmh0bQkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQAogPHNjcmlwdD4KICAgICB2
YXIgZGIsCiAgICAgICBhZGRfc3VjY2VzcyA9IGZhbHNlLAotICAgICAgdCA9IGFzeW5jX3Rlc3Qo
ZG9jdW1lbnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pCisgICAgICB0ID0gYXN5bmNfdGVzdCgp
CiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOwogICAgIG9wZW5fcnEub251cGdyYWRl
bmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnktZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2tleVBhdGguYW55LWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgSURCT2JqZWN0U3RvcmUn
cyBrZXlQYXRoIGF0dHJpYnV0ZSByZXR1cm5zIHRoZSBzYW1lIG9iamVjdC4gYXNzZXJ0X2VxdWFs
czogU2FtZSBvYmplY3QgaW5zdGFuY2UgaXMgcmV0dXJuZWQgZWFjaCB0aW1lIGtleVBhdGggaXMg
aW5zcGVjdGVkIGV4cGVjdGVkIFsiYSIsICJiIl0gYnV0IGdvdCBbImEiLCAiYiJdCisKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
Ym9iamVjdHN0b3JlX2tleVBhdGguYW55Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVf
a2V5UGF0aC5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFu
eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJl
cXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRl
ZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3Jl
X2tleVBhdGguYW55LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2tleVBhdGguYW55Lmpz
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2tleVBhdGguYW55LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjcgQEAKKy8vIE1FVEE6IHRpdGxlPUluZGV4ZWREQjogSURCT2JqZWN0
U3RvcmUga2V5UGF0aCBhdHRyaWJ1dGUgLSBzYW1lIG9iamVjdAorLy8gTUVUQTogc2NyaXB0PXN1
cHBvcnQuanMKKworaW5kZXhlZGRiX3Rlc3QoCisgICh0LCBkYikgPT4geworICAgIGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzdG9yZScsIHtrZXlQYXRoOiBbJ2EnLCAnYiddfSk7CisgIH0sCisgICh0
LCBkYikgPT4geworICAgIGNvbnN0IHR4ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJyk7CisgICAg
Y29uc3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHR5cGVvZiBzdG9yZS5rZXlQYXRoLCAnb2JqZWN0JywgJ2tleVBhdGggaXMgYW4gb2JqZWN0Jyk7
CisgICAgYXNzZXJ0X3RydWUoQXJyYXkuaXNBcnJheShzdG9yZS5rZXlQYXRoKSwgJ2tleVBhdGgg
aXMgYW4gYXJyYXknKTsKKworICAgIGFzc2VydF9lcXVhbHMoCisgICAgICBzdG9yZS5rZXlQYXRo
LCBzdG9yZS5rZXlQYXRoLAorICAgICAgJ1NhbWUgb2JqZWN0IGluc3RhbmNlIGlzIHJldHVybmVk
IGVhY2ggdGltZSBrZXlQYXRoIGlzIGluc3BlY3RlZCcpOworCisgICAgY29uc3QgdHgyID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlJyk7CisgICAgY29uc3Qgc3RvcmUyID0gdHgyLm9iamVjdFN0b3Jl
KCdzdG9yZScpOworCisgICAgYXNzZXJ0X25vdF9lcXVhbHMoCisgICAgICBzdG9yZS5rZXlQYXRo
LCBzdG9yZTIua2V5UGF0aCwKKyAgICAgICdEaWZmZXJlbnQgaW5zdGFuY2VzIGFyZSByZXR1cm5l
ZCBmcm9tIGRpZmZlcmVudCBzdG9yZSBpbnN0YW5jZXMuJyk7CisKKyAgICB0LmRvbmUoKTsKKyAg
fSwKKyAgYElEQk9iamVjdFN0b3JlJ3Mga2V5UGF0aCBhdHRyaWJ1dGUgcmV0dXJucyB0aGUgc2Ft
ZSBvYmplY3QuYCk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS53b3JrZXItZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2tleVBhdGguYW55Lndvcmtlci1leHBl
Y3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworRkFJTCBJREJP
YmplY3RTdG9yZSdzIGtleVBhdGggYXR0cmlidXRlIHJldHVybnMgdGhlIHNhbWUgb2JqZWN0LiBh
c3NlcnRfZXF1YWxzOiBTYW1lIG9iamVjdCBpbnN0YW5jZSBpcyByZXR1cm5lZCBlYWNoIHRpbWUg
a2V5UGF0aCBpcyBpbnNwZWN0ZWQgZXhwZWN0ZWQgWyJhIiwgImIiXSBidXQgZ290IFsiYSIsICJi
Il0KKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnkud29ya2VyLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnkud29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRib2JqZWN0c3RvcmVfa2V5UGF0aC5hbnkud29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGlu
ZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRidHJhbnNhY3Rpb24tb25jb21wbGV0ZS5odG0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRidHJhbnNhY3Rpb24tb25jb21wbGV0ZS5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRy
YW5zYWN0aW9uLW9uY29tcGxldGUuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC03LDcgKzcsNyBAQAog
CiA8c2NyaXB0PgogICAgIHZhciBkYiwgc3RvcmUsCi0gICAgICB0ID0gYXN5bmNfdGVzdChkb2N1
bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCisgICAgICB0ID0gYXN5bmNfdGVzdCgpLAog
ICAgICAgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpLAogICAgICAgc3RhZ2VzID0gW107CiAKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YnRyYW5zYWN0aW9uX2Fib3J0Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ0cmFuc2FjdGlvbl9hYm9ydC5o
dG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uX2Fib3J0Lmh0bQkod29ya2luZyBj
b3B5KQpAQCAtOCw3ICs4LDcgQEAKIAogPHNjcmlwdD4KICAgICB2YXIgZGIsIGFib3J0ZWQsCi0g
ICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSksCisg
ICAgICB0ID0gYXN5bmNfdGVzdCgpLAogICAgICAgcmVjb3JkID0geyBpbmRleGVkUHJvcGVydHk6
ICJiYXIiIH07CiAKICAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOwpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidmVyc2lv
bmNoYW5nZWV2ZW50Lmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ2ZXJzaW9uY2hhbmdlZXZlbnQuaHRtCShy
ZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9pZGJ2ZXJzaW9uY2hhbmdlZXZlbnQuaHRtCSh3b3JraW5nIGNvcHkp
CkBAIC0xMyw3ICsxMyw3IEBACiA8c2NyaXB0PgogCiAgICAgdmFyIGRiLAotICAgICAgICB0ID0g
YXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3RpbWVvdXQ6IDEwMDAwfSk7CisgICAgICAgIHQg
PSBhc3luY190ZXN0KCk7CiAKICAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBv
cGVucnEgPSBpbmRleGVkREIub3BlbignZGInLCAzKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTg4IEBACisKK1BBU1MgaWRsX3Rlc3Qgc2V0dXAgCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNl
IG1peGluIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGU6IG9yaWdpbmFsIGludGVyZmFjZSBtaXhp
biBkZWZpbmVkIAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFT
UyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJs
ZXMgcHJvcGVydHkgCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVzdWx0
IAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAorUEFTUyBJREJS
ZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIHNvdXJjZSAKK1BBU1MgSURCUmVxdWVzdCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSB0cmFuc2FjdGlvbiAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSByZWFkeVN0YXRlIAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmli
dXRlIG9uc3VjY2VzcyAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVy
cm9yIAorUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggCitQQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIAorUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJPcGVuREJS
ZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURCT3BlbkRC
UmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElEQk9wZW5E
QlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25ibG9ja2VkIAorUEFTUyBJREJPcGVuREJS
ZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9udXBncmFkZW5lZWRlZCAKK1BBU1MgSURCVmVy
c2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCitQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCAKK1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3Qg
bmFtZSAKK1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJWZXJz
aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBJ
REJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAor
UEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2xkVmVyc2lv
biAKK1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG5ld1Zl
cnNpb24gCitQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJm
YWNlIG9mIG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoInR5cGUiKSAKK1BBU1MgU3RyaW5naWZp
Y2F0aW9uIG9mIG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoInR5cGUiKSAKK1BBU1MgSURCVmVy
c2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgidHlw
ZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib2xkVmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBJREJWZXJzaW9u
Q2hhbmdlRXZlbnQoInR5cGUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5ld1ZlcnNpb24iIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQkZhY3RvcnkgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlIG9iamVjdCBu
YW1lIAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBA
dW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRp
b24gb3BlbihET01TdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykgCitQQVNTIElEQkZhY3Rvcnkg
aW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlRGF0YWJhc2UoRE9NU3RyaW5nKSAKK0ZBSUwgSURC
RmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkYXRhYmFzZXMoKSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0
aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJkYXRhYmFzZXMiIG1pc3NpbmcKK1BBU1MgSURCRmFjdG9y
eSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbXAoYW55LCBhbnkpIAorUEFTUyBJREJGYWN0b3J5IG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgW29iamVjdCBJREJGYWN0b3J5XSAKK1BBU1MgU3Ry
aW5naWZpY2F0aW9uIG9mIFtvYmplY3QgSURCRmFjdG9yeV0gCitQQVNTIElEQkZhY3RvcnkgaW50
ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3BlbihE
T01TdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFT
UyBJREJGYWN0b3J5IGludGVyZmFjZTogY2FsbGluZyBvcGVuKERPTVN0cmluZywgdW5zaWduZWQg
bG9uZyBsb25nKSBvbiBbb2JqZWN0IElEQkZhY3RvcnldIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0
IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVsZXRlRGF0YWJhc2UoRE9NU3Ry
aW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBj
YWxsaW5nIGRlbGV0ZURhdGFiYXNlKERPTVN0cmluZykgb24gW29iamVjdCBJREJGYWN0b3J5XSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorRkFJTCBJREJGYWN0
b3J5IGludGVyZmFjZTogW29iamVjdCBJREJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImRhdGFiYXNlcygpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3Bl
cnR5ICJkYXRhYmFzZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgSURCRmFj
dG9yeSBpbnRlcmZhY2U6IFtvYmplY3QgSURCRmFjdG9yeV0gbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJjbXAoYW55LCBhbnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCRmFjdG9yeSBp
bnRlcmZhY2U6IGNhbGxpbmcgY21wKGFueSwgYW55KSBvbiBbb2JqZWN0IElEQkZhY3RvcnldIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIElEQkRhdGFi
YXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCitQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJE
YXRhYmFzZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElEQkRhdGFiYXNlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQ
QVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1Mg
SURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKK1BBU1MgSURCRGF0YWJhc2Ug
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmVyc2lvbiAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1lcyAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNl
OiBvcGVyYXRpb24gdHJhbnNhY3Rpb24oW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSwg
SURCVHJhbnNhY3Rpb25Nb2RlKSAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRp
b24gY2xvc2UoKSAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRl
T2JqZWN0U3RvcmUoRE9NU3RyaW5nLCBJREJPYmplY3RTdG9yZVBhcmFtZXRlcnMpIAorUEFTUyBJ
REJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVPYmplY3RTdG9yZShET01TdHJp
bmcpIAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0IAorUEFT
UyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNsb3NlIAorUEFTUyBJREJEYXRh
YmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAorUEFTUyBJREJEYXRhYmFzZSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbnZlcnNpb25jaGFuZ2UgCitQQVNTIElEQk9iamVjdFN0b3JlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQ
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJPYmpl
Y3RTdG9yZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0
eSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKK1BBU1Mg
SURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5UGF0aCAKK1BBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5kZXhOYW1lcyAKK1BBU1MgSURCT2JqZWN0
U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdHJhbnNhY3Rpb24gCitQQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGF1dG9JbmNyZW1lbnQgCitQQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIHB1dChhbnksIGFueSkgCitQQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGFkZChhbnksIGFueSkgCitQQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZShhbnkpIAorUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbGVhcigpIAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBnZXQoYW55KSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNl
OiBvcGVyYXRpb24gZ2V0S2V5KGFueSkgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTog
b3BlcmF0aW9uIGdldEFsbChhbnksIHVuc2lnbmVkIGxvbmcpIAorUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRBbGxLZXlzKGFueSwgdW5zaWduZWQgbG9uZykgCitQ
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGNvdW50KGFueSkgCitQQVNT
IElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5DdXJzb3IoYW55LCBJREJD
dXJzb3JEaXJlY3Rpb24pIAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBvcGVuS2V5Q3Vyc29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9uKSAKK1BBU1MgSURCT2JqZWN0
U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5kZXgoRE9NU3RyaW5nKSAKK1BBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlSW5kZXgoRE9NU3RyaW5nLCBbb2Jq
ZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdLCBJREJJbmRleFBhcmFtZXRlcnMpIAorUEFTUyBJ
REJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVJbmRleChET01TdHJpbmcp
IAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
K1BBU1MgSURCSW5kZXggaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBJREJJbmRleCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAor
UEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElE
QkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCitQQVNTIElEQkluZGV4IGludGVyZmFj
ZTogYXR0cmlidXRlIG9iamVjdFN0b3JlIAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBrZXlQYXRoIAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtdWx0aUVu
dHJ5IAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1bmlxdWUgCitQQVNTIElE
QkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGdldChhbnkpIAorUEFTUyBJREJJbmRleCBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBnZXRLZXkoYW55KSAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBv
cGVyYXRpb24gZ2V0QWxsKGFueSwgdW5zaWduZWQgbG9uZykgCitQQVNTIElEQkluZGV4IGludGVy
ZmFjZTogb3BlcmF0aW9uIGdldEFsbEtleXMoYW55LCB1bnNpZ25lZCBsb25nKSAKK1BBU1MgSURC
SW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gY291bnQoYW55KSAKK1BBU1MgSURCSW5kZXggaW50
ZXJmYWNlOiBvcGVyYXRpb24gb3BlbkN1cnNvcihhbnksIElEQkN1cnNvckRpcmVjdGlvbikgCitQ
QVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5LZXlDdXJzb3IoYW55LCBJREJD
dXJzb3JEaXJlY3Rpb24pIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBJREJLZXlSYW5nZSBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlIG9iamVjdCBu
YW1lIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogYXR0
cmlidXRlIGxvd2VyIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1cHBl
ciAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG93ZXJPcGVuIAorUEFT
UyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1cHBlck9wZW4gCitQQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIG9ubHkoYW55KSAKK1BBU1MgSURCS2V5UmFuZ2Ug
aW50ZXJmYWNlOiBvcGVyYXRpb24gbG93ZXJCb3VuZChhbnksIGJvb2xlYW4pIAorUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1cHBlckJvdW5kKGFueSwgYm9vbGVhbikgCitQ
QVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGJvdW5kKGFueSwgYW55LCBib29s
ZWFuLCBib29sZWFuKSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5j
bHVkZXMoYW55KSAKK1BBU1MgSURCS2V5UmFuZ2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBv
ZiBbb2JqZWN0IElEQktleVJhbmdlXSAKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3Qg
SURCS2V5UmFuZ2VdIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5
UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXIiIHdpdGggdGhlIHByb3BlciB0eXBl
IAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAidXBwZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAibG93ZXJPcGVuIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCS2V5UmFuZ2Ug
aW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVw
cGVyT3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmx5KGFueSki
IHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxp
bmcgb25seShhbnkpIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVu
dHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29i
amVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dlckJvdW5kKGFueSwg
Ym9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IGNhbGxpbmcgbG93ZXJCb3VuZChhbnksIGJvb2xlYW4pIG9uIFtvYmplY3QgSURCS2V5UmFu
Z2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIElE
QktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJ1cHBlckJvdW5kKGFueSwgYm9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAor
UEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgdXBwZXJCb3VuZChhbnksIGJvb2xl
YW4pIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJL
ZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJib3VuZChhbnksIGFueSwgYm9vbGVhbiwg
Ym9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IGNhbGxpbmcgYm91bmQoYW55LCBhbnksIGJvb2xlYW4sIGJvb2xlYW4pIG9uIFtvYmplY3Qg
SURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJpbmNsdWRlcyhhbnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIGluY2x1ZGVzKGFueSkgb24gW29iamVj
dCBJREJLZXlSYW5nZV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgSURCQ3Vyc29y
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IAorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IAorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAor
UEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc291cmNlIAorUEFTUyBJREJDdXJz
b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGlyZWN0aW9uIAorUEFTUyBJREJDdXJzb3IgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUga2V5IAorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
cHJpbWFyeUtleSAKK0ZBSUwgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIHJlcXVlc3Qg
YXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJy
ZXF1ZXN0IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNl
OiBvcGVyYXRpb24gYWR2YW5jZSh1bnNpZ25lZCBsb25nKSAKK1BBU1MgSURCQ3Vyc29yIGludGVy
ZmFjZTogb3BlcmF0aW9uIGNvbnRpbnVlKGFueSkgCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBjb250aW51ZVByaW1hcnlLZXkoYW55LCBhbnkpIAorUEFTUyBJREJDdXJzb3Ig
aW50ZXJmYWNlOiBvcGVyYXRpb24gdXBkYXRlKGFueSkgCitQQVNTIElEQkN1cnNvciBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBkZWxldGUoKSAKK1BBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElE
QkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgSURCQ3Vyc29y
V2l0aFZhbHVlIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgSURCQ3Vyc29yV2l0aFZhbHVl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IAorUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5IAorUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IAorUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgdmFsdWUgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQlRyYW5zYWN0aW9uIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJUcmFuc2Fj
dGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIElEQlRyYW5zYWN0
aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgSURCVHJhbnNhY3Rp
b24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1lcyAKK1BBU1MgSURCVHJhbnNh
Y3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbW9kZSAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgZGIgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIGVycm9yIAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBv
YmplY3RTdG9yZShET01TdHJpbmcpIAorRkFJTCBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBjb21taXQoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJj
b21taXQiIG1pc3NpbmcKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24g
YWJvcnQoKSAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9y
dCAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb21wbGV0ZSAK
K1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGluZGV4ZWREQiAKK1BBU1MgV29ya2VyR2xvYmFs
U2NvcGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFu
eS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFy
bmVzcy5hbnkuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyNCBAQAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1F
VEE6IHNjcmlwdD0vcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcworLy8gTUVUQTogc2NyaXB0PS9y
ZXNvdXJjZXMvaWRsaGFybmVzcy5qcworCitpZGxfdGVzdCgKKyAgWydJbmRleGVkREInXSwKKyAg
WydodG1sJywgJ2RvbSddLAorICBpZGxfYXJyYXkgPT4geworICAgIGlkbF9hcnJheS5hZGRfb2Jq
ZWN0cyh7CisgICAgICBJREJDdXJzb3I6IFtdLAorICAgICAgSURCQ3Vyc29yV2l0aFZhbHVlOiBb
XSwKKyAgICAgIElEQkRhdGFiYXNlOiBbXSwKKyAgICAgIElEQkZhY3Rvcnk6IFtzZWxmLmluZGV4
ZWREQl0sCisgICAgICBJREJJbmRleDogW10sCisgICAgICBJREJLZXlSYW5nZTogW0lEQktleVJh
bmdlLm9ubHkoMCldLAorICAgICAgSURCT2JqZWN0U3RvcmU6IFtdLAorICAgICAgSURCT3BlbkRC
UmVxdWVzdDogW10sCisgICAgICBJREJSZXF1ZXN0OiBbXSwKKyAgICAgIElEQlRyYW5zYWN0aW9u
OiBbXSwKKyAgICAgIElEQlZlcnNpb25DaGFuZ2VFdmVudDogWyduZXcgSURCVmVyc2lvbkNoYW5n
ZUV2ZW50KCJ0eXBlIiknXSwKKyAgICAgIERPTVN0cmluZ0xpc3Q6IFtdLAorICAgIH0pOworICB9
CispOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5l
c3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxODgg
QEAKKworUEFTUyBpZGxfdGVzdCBzZXR1cCAKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgbWl4aW4g
V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTogb3JpZ2luYWwgaW50ZXJmYWNlIG1peGluIGRlZmlu
ZWQgCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElEQlJl
cXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKK1BBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZXN1bHQgCitQQVNT
IElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXJyb3IgCitQQVNTIElEQlJlcXVlc3Qg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgc291cmNlIAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTog
YXR0cmlidXRlIHRyYW5zYWN0aW9uIAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmli
dXRlIHJlYWR5U3RhdGUgCitQQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25z
dWNjZXNzIAorUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9uZXJyb3IgCitQ
QVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCAKK1BBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
CitQQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIElEQk9wZW5EQlJlcXVlc3Qg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBJREJPcGVuREJSZXF1ZXN0
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgSURCT3BlbkRCUmVxdWVz
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJsb2NrZWQgCitQQVNTIElEQk9wZW5EQlJlcXVlc3Qg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb251cGdyYWRlbmVlZGVkIAorUEFTUyBJREJWZXJzaW9uQ2hh
bmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCAKK1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVu
Z3RoIAorUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAor
UEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIElEQlZlcnNpb25DaGFu
Z2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIElEQlZlcnNp
b25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElE
QlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbGRWZXJzaW9uIAorUEFT
UyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmV3VmVyc2lvbiAK
K1BBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
bmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgidHlwZSIpIAorUEFTUyBTdHJpbmdpZmljYXRpb24g
b2YgbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgidHlwZSIpIAorUEFTUyBJREJWZXJzaW9uQ2hh
bmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcgSURCVmVyc2lvbkNoYW5nZUV2ZW50KCJ0eXBlIikgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbGRWZXJzaW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BB
U1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3IElEQlZlcnNpb25DaGFuZ2VF
dmVudCgidHlwZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmV3VmVyc2lvbiIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQ
QVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29u
c3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3Bh
YmxlcyBwcm9wZXJ0eSAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVu
KERPTVN0cmluZywgdW5zaWduZWQgbG9uZyBsb25nKSAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBkZWxldGVEYXRhYmFzZShET01TdHJpbmcpIAorRkFJTCBJREJGYWN0b3J5
IGludGVyZmFjZTogb3BlcmF0aW9uIGRhdGFiYXNlcygpIGFzc2VydF9vd25fcHJvcGVydHk6IGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhw
ZWN0ZWQgcHJvcGVydHkgImRhdGFiYXNlcyIgbWlzc2luZworUEFTUyBJREJGYWN0b3J5IGludGVy
ZmFjZTogb3BlcmF0aW9uIGNtcChhbnksIGFueSkgCitQQVNTIElEQkZhY3RvcnkgbXVzdCBiZSBw
cmltYXJ5IGludGVyZmFjZSBvZiBbb2JqZWN0IElEQkZhY3RvcnldIAorUEFTUyBTdHJpbmdpZmlj
YXRpb24gb2YgW29iamVjdCBJREJGYWN0b3J5XSAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6
IFtvYmplY3QgSURCRmFjdG9yeV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvcGVuKERPTVN0cmlu
ZywgdW5zaWduZWQgbG9uZyBsb25nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQkZh
Y3RvcnkgaW50ZXJmYWNlOiBjYWxsaW5nIG9wZW4oRE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxv
bmcpIG9uIFtvYmplY3QgSURCRmFjdG9yeV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRo
cm93IFR5cGVFcnJvciAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IFtvYmplY3QgSURCRmFj
dG9yeV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWxldGVEYXRhYmFzZShET01TdHJpbmcpIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcg
ZGVsZXRlRGF0YWJhc2UoRE9NU3RyaW5nKSBvbiBbb2JqZWN0IElEQkZhY3RvcnldIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitGQUlMIElEQkZhY3RvcnkgaW50
ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGF0YWJh
c2VzKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImRh
dGFiYXNlcyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBJREJGYWN0b3J5IGlu
dGVyZmFjZTogW29iamVjdCBJREJGYWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNtcChh
bnksIGFueSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJGYWN0b3J5IGludGVyZmFj
ZTogY2FsbGluZyBjbXAoYW55LCBhbnkpIG9uIFtvYmplY3QgSURCRmFjdG9yeV0gd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgSURCRGF0YWJhc2UgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BB
U1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIElEQkRhdGFiYXNl
IGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNT
IElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURC
RGF0YWJhc2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBJREJEYXRh
YmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSB2ZXJzaW9uIAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvYmplY3RTdG9yZU5hbWVzIAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiB0cmFuc2FjdGlvbihbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdLCBJREJUcmFu
c2FjdGlvbk1vZGUpIAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9z
ZSgpIAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVPYmplY3RT
dG9yZShET01TdHJpbmcsIElEQk9iamVjdFN0b3JlUGFyYW1ldGVycykgCitQQVNTIElEQkRhdGFi
YXNlIGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZU9iamVjdFN0b3JlKERPTVN0cmluZykgCitQ
QVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRlIG9uYWJvcnQgCitQQVNTIElEQkRh
dGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRlIG9uY2xvc2UgCitQQVNTIElEQkRhdGFiYXNlIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uZXJyb3IgCitQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTog
YXR0cmlidXRlIG9udmVyc2lvbmNoYW5nZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgSURC
T2JqZWN0U3RvcmUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIElEQk9iamVjdFN0b3Jl
IGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQ
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BB
U1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFT
UyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAorUEFTUyBJREJPYmpl
Y3RTdG9yZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBrZXlQYXRoIAorUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBpbmRleE5hbWVzIAorUEFTUyBJREJPYmplY3RTdG9yZSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSB0cmFuc2FjdGlvbiAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgYXV0b0luY3JlbWVudCAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50
ZXJmYWNlOiBvcGVyYXRpb24gcHV0KGFueSwgYW55KSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50
ZXJmYWNlOiBvcGVyYXRpb24gYWRkKGFueSwgYW55KSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50
ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlKGFueSkgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVy
ZmFjZTogb3BlcmF0aW9uIGNsZWFyKCkgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTog
b3BlcmF0aW9uIGdldChhbnkpIAorUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBnZXRLZXkoYW55KSAKK1BBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRp
b24gZ2V0QWxsKGFueSwgdW5zaWduZWQgbG9uZykgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVy
ZmFjZTogb3BlcmF0aW9uIGdldEFsbEtleXMoYW55LCB1bnNpZ25lZCBsb25nKSAKK1BBU1MgSURC
T2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gY291bnQoYW55KSAKK1BBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbkN1cnNvcihhbnksIElEQkN1cnNvckRp
cmVjdGlvbikgCitQQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5L
ZXlDdXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rpb24pIAorUEFTUyBJREJPYmplY3RTdG9yZSBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBpbmRleChET01TdHJpbmcpIAorUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVJbmRleChET01TdHJpbmcsIFtvYmplY3QgT2Jq
ZWN0XSxbb2JqZWN0IE9iamVjdF0sIElEQkluZGV4UGFyYW1ldGVycykgCitQQVNTIElEQk9iamVj
dFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZUluZGV4KERPTVN0cmluZykgCitQQVNT
IElEQkluZGV4IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCitQQVNTIElEQkluZGV4IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJ
REJJbmRleCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIElEQkluZGV4IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAor
UEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIElE
QkluZGV4IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgSURCSW5kZXgg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb2JqZWN0U3RvcmUgCitQQVNTIElEQkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIGtl
eVBhdGggCitQQVNTIElEQkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIG11bHRpRW50cnkgCitQ
QVNTIElEQkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIHVuaXF1ZSAKK1BBU1MgSURCSW5kZXgg
aW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0KGFueSkgCitQQVNTIElEQkluZGV4IGludGVyZmFjZTog
b3BlcmF0aW9uIGdldEtleShhbnkpIAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlv
biBnZXRBbGwoYW55LCB1bnNpZ25lZCBsb25nKSAKK1BBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBv
cGVyYXRpb24gZ2V0QWxsS2V5cyhhbnksIHVuc2lnbmVkIGxvbmcpIAorUEFTUyBJREJJbmRleCBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBjb3VudChhbnkpIAorUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBvcGVuQ3Vyc29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9uKSAKK1BBU1MgSURC
SW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbktleUN1cnNvcihhbnksIElEQkN1cnNvckRp
cmVjdGlvbikgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQ
QVNTIElEQktleVJhbmdlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNj
b3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
bG93ZXIgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogYXR0cmlidXRlIHVwcGVyIAorUEFT
UyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsb3dlck9wZW4gCitQQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogYXR0cmlidXRlIHVwcGVyT3BlbiAKK1BBU1MgSURCS2V5UmFuZ2Ug
aW50ZXJmYWNlOiBvcGVyYXRpb24gb25seShhbnkpIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBsb3dlckJvdW5kKGFueSwgYm9vbGVhbikgCitQQVNTIElEQktleVJhbmdl
IGludGVyZmFjZTogb3BlcmF0aW9uIHVwcGVyQm91bmQoYW55LCBib29sZWFuKSAKK1BBU1MgSURC
S2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gYm91bmQoYW55LCBhbnksIGJvb2xlYW4sIGJv
b2xlYW4pIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBpbmNsdWRlcyhh
bnkpIAorUEFTUyBJREJLZXlSYW5nZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIFtvYmpl
Y3QgSURCS2V5UmFuZ2VdIAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgW29iamVjdCBJREJLZXlS
YW5nZV0gCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0g
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNT
IElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJ1cHBlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQktleVJhbmdl
IGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJs
b3dlck9wZW4iIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBwZXJPcGVu
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2Jq
ZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubHkoYW55KSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogY2FsbGluZyBvbmx5
KGFueSkgb24gW29iamVjdCBJREJLZXlSYW5nZV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0
IHRocm93IFR5cGVFcnJvciAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElE
QktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd2VyQm91bmQoYW55LCBib29sZWFu
KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogY2Fs
bGluZyBsb3dlckJvdW5kKGFueSwgYm9vbGVhbikgb24gW29iamVjdCBJREJLZXlSYW5nZV0gd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgSURCS2V5UmFu
Z2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
InVwcGVyQm91bmQoYW55LCBib29sZWFuKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElE
QktleVJhbmdlIGludGVyZmFjZTogY2FsbGluZyB1cHBlckJvdW5kKGFueSwgYm9vbGVhbikgb24g
W29iamVjdCBJREJLZXlSYW5nZV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5
cGVFcnJvciAKK1BBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdl
XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImJvdW5kKGFueSwgYW55LCBib29sZWFuLCBib29sZWFu
KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogY2Fs
bGluZyBib3VuZChhbnksIGFueSwgYm9vbGVhbiwgYm9vbGVhbikgb24gW29iamVjdCBJREJLZXlS
YW5nZV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1Mg
SURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImluY2x1ZGVzKGFueSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgaW5jbHVkZXMoYW55KSBvbiBbb2JqZWN0IElEQktl
eVJhbmdlXSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFT
UyBJREJDdXJzb3IgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFT
UyBJREJDdXJzb3IgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBJREJDdXJzb3IgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQ
QVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIElE
QkN1cnNvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzb3VyY2UgCitQQVNTIElEQkN1cnNvciBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBkaXJlY3Rpb24gCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBrZXkgCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwcmltYXJ5
S2V5IAorRkFJTCBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVxdWVzdCBhc3NlcnRf
dHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgInJlcXVlc3Qi
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBhZHZhbmNlKHVuc2lnbmVkIGxvbmcpIAorUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBv
cGVyYXRpb24gY29udGludWUoYW55KSAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogb3BlcmF0
aW9uIGNvbnRpbnVlUHJpbWFyeUtleShhbnksIGFueSkgCitQQVNTIElEQkN1cnNvciBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiB1cGRhdGUoYW55KSAKK1BBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogb3Bl
cmF0aW9uIGRlbGV0ZSgpIAorUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgSURCQ3Vyc29y
V2l0aFZhbHVlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBJREJDdXJzb3JXaXRoVmFs
dWUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgCitQQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJv
cGVydHkgCitQQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMg
cHJvcGVydHkgCitQQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2
YWx1ZSAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGggCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZSBvYmplY3QgbmFt
ZSAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIElEQlRyYW5zYWN0aW9uIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvYmplY3RTdG9yZU5hbWVzIAorUEFTUyBJREJUcmFuc2FjdGlvbiBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBtb2RlIAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBkYiAKK1BBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
ZXJyb3IgCitQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIG9iamVjdFN0
b3JlKERPTVN0cmluZykgCitGQUlMIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9u
IGNvbW1pdCgpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImNvbW1pdCIg
bWlzc2luZworUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhYm9ydCgp
IAorUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0IAorUEFT
UyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvbXBsZXRlIAorUEFTUyBJ
REJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAorUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
K1BBU1MgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5kZXhlZERCIAor
CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFu
eS53b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQor
KysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aW50ZXJmYWNlcy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNjkgKzAsMCBAQAot
SW5kZXhlZERCIElETCB0ZXN0cwotCi0KLVBBU1MgSW5kZXhlZERCIElETCB0ZXN0cyAKLUZBSUwg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIGluZGV4ZWREQiBhc3NlcnRfdHJ1ZTogVGhlIHBy
b3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgImluZGV4ZWREQiIgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgaW5k
ZXhlZERCIHByb3BlcnR5IG9uIFdpbmRvdyAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJSZXF1
ZXN0IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZSBv
YmplY3QgbmFtZSAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCUmVxdWVzdCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTog
YXR0cmlidXRlIHJlc3VsdCAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Ig
cmVzdWx0IHByb3BlcnR5IG9uIElEQlJlcXVlc3QgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgZXJyb3IgCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9y
IGVycm9yIHByb3BlcnR5IG9uIElEQlJlcXVlc3QgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgc291cmNlIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZv
ciBzb3VyY2UgcHJvcGVydHkgb24gSURCUmVxdWVzdCAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSB0cmFuc2FjdGlvbiAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJl
Y3RseSBmb3IgdHJhbnNhY3Rpb24gcHJvcGVydHkgb24gSURCUmVxdWVzdCAKLVBBU1MgSURCUmVx
dWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZWFkeVN0YXRlIAotUEFTUyBVbnNjb3BhYmxlIGhh
bmRsZWQgY29ycmVjdGx5IGZvciByZWFkeVN0YXRlIHByb3BlcnR5IG9uIElEQlJlcXVlc3QgCi1Q
QVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdWNjZXNzIAotUEFTUyBVbnNj
b3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBvbnN1Y2Nlc3MgcHJvcGVydHkgb24gSURCUmVx
dWVzdCAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAotUEFT
UyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBvbmVycm9yIHByb3BlcnR5IG9uIElE
QlJlcXVlc3QgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBp
bnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQk9w
ZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJP
cGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURC
T3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJsb2NrZWQgCi1QQVNTIFVuc2Nv
cGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIG9uYmxvY2tlZCBwcm9wZXJ0eSBvbiBJREJPcGVu
REJSZXF1ZXN0IAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9u
dXBncmFkZW5lZWRlZCAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Igb251
cGdyYWRlbmVlZGVkIHByb3BlcnR5IG9uIElEQk9wZW5EQlJlcXVlc3QgCi1QQVNTIElEQlZlcnNp
b25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2Ugb2JqZWN0IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGggCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUgCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCVmVyc2lv
bkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURC
VmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBB
U1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9sZFZlcnNpb24g
Ci1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIG9sZFZlcnNpb24gcHJvcGVy
dHkgb24gSURCVmVyc2lvbkNoYW5nZUV2ZW50IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmV3VmVyc2lvbiAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVk
IGNvcnJlY3RseSBmb3IgbmV3VmVyc2lvbiBwcm9wZXJ0eSBvbiBJREJWZXJzaW9uQ2hhbmdlRXZl
bnQgCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNl
IG9mIG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoJ2ZvbycpIAotUEFTUyBTdHJpbmdpZmljYXRp
b24gb2YgbmV3IElEQlZlcnNpb25DaGFuZ2VFdmVudCgnZm9vJykgCi1QQVNTIElEQlZlcnNpb25D
aGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoJ2ZvbycpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib2xkVmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1Q
QVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBJREJWZXJzaW9uQ2hhbmdl
RXZlbnQoJ2ZvbycpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmV3VmVyc2lvbiIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1Q
QVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29u
c3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3Bh
YmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVu
KERPTVN0cmluZywgdW5zaWduZWQgbG9uZyBsb25nKSAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVk
IGNvcnJlY3RseSBmb3Igb3BlbihET01TdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykgb24gSURC
RmFjdG9yeSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVEYXRh
YmFzZShET01TdHJpbmcpIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBk
ZWxldGVEYXRhYmFzZShET01TdHJpbmcpIG9uIElEQkZhY3RvcnkgCi1QQVNTIElEQkZhY3Rvcnkg
aW50ZXJmYWNlOiBvcGVyYXRpb24gY21wKGFueSwgYW55KSAKLVBBU1MgVW5zY29wYWJsZSBoYW5k
bGVkIGNvcnJlY3RseSBmb3IgY21wKGFueSwgYW55KSBvbiBJREJGYWN0b3J5IAotUEFTUyBJREJG
YWN0b3J5IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygd2luZG93LmluZGV4ZWREQiAKLVBB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIHdpbmRvdy5pbmRleGVkREIgCi1QQVNTIElEQkZhY3Rvcnkg
aW50ZXJmYWNlOiB3aW5kb3cuaW5kZXhlZERCIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3BlbihE
T01TdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFT
UyBJREJGYWN0b3J5IGludGVyZmFjZTogY2FsbGluZyBvcGVuKERPTVN0cmluZywgdW5zaWduZWQg
bG9uZyBsb25nKSBvbiB3aW5kb3cuaW5kZXhlZERCIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiB3aW5kb3cuaW5k
ZXhlZERCIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVsZXRlRGF0YWJhc2UoRE9NU3RyaW5nKSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBjYWxsaW5n
IGRlbGV0ZURhdGFiYXNlKERPTVN0cmluZykgb24gd2luZG93LmluZGV4ZWREQiB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBJREJGYWN0b3J5IGludGVy
ZmFjZTogd2luZG93LmluZGV4ZWREQiBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNtcChhbnksIGFu
eSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogY2Fs
bGluZyBjbXAoYW55LCBhbnkpIG9uIHdpbmRvdy5pbmRleGVkREIgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSURCRGF0
YWJhc2UgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFj
ZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIElEQkRhdGFi
YXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCRGF0YWJhc2Ug
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJEYXRhYmFzZSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5
IGZvciBuYW1lIHByb3BlcnR5IG9uIElEQkRhdGFiYXNlIAotUEFTUyBJREJEYXRhYmFzZSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSB2ZXJzaW9uIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVj
dGx5IGZvciB2ZXJzaW9uIHByb3BlcnR5IG9uIElEQkRhdGFiYXNlIAotUEFTUyBJREJEYXRhYmFz
ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvYmplY3RTdG9yZU5hbWVzIAotUEFTUyBVbnNjb3BhYmxl
IGhhbmRsZWQgY29ycmVjdGx5IGZvciBvYmplY3RTdG9yZU5hbWVzIHByb3BlcnR5IG9uIElEQkRh
dGFiYXNlIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0cmFuc2FjdGlv
bihbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdLCBJREJUcmFuc2FjdGlvbk1vZGUpIAot
UEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciB0cmFuc2FjdGlvbihbb2JqZWN0
IE9iamVjdF0sW29iamVjdCBPYmplY3RdLCBJREJUcmFuc2FjdGlvbk1vZGUpIG9uIElEQkRhdGFi
YXNlIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9zZSgpIAotUEFT
UyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBjbG9zZSgpIG9uIElEQkRhdGFiYXNl
IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVPYmplY3RTdG9y
ZShET01TdHJpbmcsIElEQk9iamVjdFN0b3JlUGFyYW1ldGVycykgCi1QQVNTIFVuc2NvcGFibGUg
aGFuZGxlZCBjb3JyZWN0bHkgZm9yIGNyZWF0ZU9iamVjdFN0b3JlKERPTVN0cmluZywgSURCT2Jq
ZWN0U3RvcmVQYXJhbWV0ZXJzKSBvbiBJREJEYXRhYmFzZSAKLVBBU1MgSURCRGF0YWJhc2UgaW50
ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlT2JqZWN0U3RvcmUoRE9NU3RyaW5nKSAKLVBBU1MgVW5z
Y29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgZGVsZXRlT2JqZWN0U3RvcmUoRE9NU3RyaW5n
KSBvbiBJREJEYXRhYmFzZSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25hYm9ydCAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Igb25hYm9ydCBw
cm9wZXJ0eSBvbiBJREJEYXRhYmFzZSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25jbG9zZSAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Igb25j
bG9zZSBwcm9wZXJ0eSBvbiBJREJEYXRhYmFzZSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25lcnJvciAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBm
b3Igb25lcnJvciBwcm9wZXJ0eSBvbiBJREJEYXRhYmFzZSAKLVBBU1MgSURCRGF0YWJhc2UgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb252ZXJzaW9uY2hhbmdlIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRs
ZWQgY29ycmVjdGx5IGZvciBvbnZlcnNpb25jaGFuZ2UgcHJvcGVydHkgb24gSURCRGF0YWJhc2Ug
Ci1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1Q
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgbmFtZSAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Ig
bmFtZSBwcm9wZXJ0eSBvbiBJREJPYmplY3RTdG9yZSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUga2V5UGF0aCAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJl
Y3RseSBmb3Iga2V5UGF0aCBwcm9wZXJ0eSBvbiBJREJPYmplY3RTdG9yZSAKLVBBU1MgSURCT2Jq
ZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5kZXhOYW1lcyAKLVBBU1MgVW5zY29wYWJs
ZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgaW5kZXhOYW1lcyBwcm9wZXJ0eSBvbiBJREJPYmplY3RT
dG9yZSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdHJhbnNhY3Rp
b24gCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIHRyYW5zYWN0aW9uIHBy
b3BlcnR5IG9uIElEQk9iamVjdFN0b3JlIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBhdXRvSW5jcmVtZW50IAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVj
dGx5IGZvciBhdXRvSW5jcmVtZW50IHByb3BlcnR5IG9uIElEQk9iamVjdFN0b3JlIAotUEFTUyBJ
REJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwdXQoYW55LCBhbnkpIAotUEFTUyBV
bnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBwdXQoYW55LCBhbnkpIG9uIElEQk9iamVj
dFN0b3JlIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGQoYW55
LCBhbnkpIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBhZGQoYW55LCBh
bnkpIG9uIElEQk9iamVjdFN0b3JlIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBkZWxldGUoYW55KSAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBm
b3IgZGVsZXRlKGFueSkgb24gSURCT2JqZWN0U3RvcmUgCi1QQVNTIElEQk9iamVjdFN0b3JlIGlu
dGVyZmFjZTogb3BlcmF0aW9uIGNsZWFyKCkgCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3Jy
ZWN0bHkgZm9yIGNsZWFyKCkgb24gSURCT2JqZWN0U3RvcmUgCi1QQVNTIElEQk9iamVjdFN0b3Jl
IGludGVyZmFjZTogb3BlcmF0aW9uIGdldChhbnkpIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQg
Y29ycmVjdGx5IGZvciBnZXQoYW55KSBvbiBJREJPYmplY3RTdG9yZSAKLVBBU1MgSURCT2JqZWN0
U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0S2V5KGFueSkgCi1QQVNTIFVuc2NvcGFibGUg
aGFuZGxlZCBjb3JyZWN0bHkgZm9yIGdldEtleShhbnkpIG9uIElEQk9iamVjdFN0b3JlIAotUEFT
UyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRBbGwoYW55LCB1bnNpZ25l
ZCBsb25nKSAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgZ2V0QWxsKGFu
eSwgdW5zaWduZWQgbG9uZykgb24gSURCT2JqZWN0U3RvcmUgCi1QQVNTIElEQk9iamVjdFN0b3Jl
IGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbEtleXMoYW55LCB1bnNpZ25lZCBsb25nKSAKLVBB
U1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgZ2V0QWxsS2V5cyhhbnksIHVuc2ln
bmVkIGxvbmcpIG9uIElEQk9iamVjdFN0b3JlIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBjb3VudChhbnkpIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVj
dGx5IGZvciBjb3VudChhbnkpIG9uIElEQk9iamVjdFN0b3JlIAotUEFTUyBJREJPYmplY3RTdG9y
ZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuQ3Vyc29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9u
KSAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Igb3BlbkN1cnNvcihhbnks
IElEQkN1cnNvckRpcmVjdGlvbikgb24gSURCT2JqZWN0U3RvcmUgCi1QQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5LZXlDdXJzb3IoYW55LCBJREJDdXJzb3JEaXJl
Y3Rpb24pIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBvcGVuS2V5Q3Vy
c29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9uKSBvbiBJREJPYmplY3RTdG9yZSAKLVBBU1MgSURC
T2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5kZXgoRE9NU3RyaW5nKSAKLVBBU1Mg
VW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgaW5kZXgoRE9NU3RyaW5nKSBvbiBJREJP
YmplY3RTdG9yZSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3Jl
YXRlSW5kZXgoRE9NU3RyaW5nLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdLCBJREJJ
bmRleFBhcmFtZXRlcnMpIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBj
cmVhdGVJbmRleChET01TdHJpbmcsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0sIElE
QkluZGV4UGFyYW1ldGVycykgb24gSURCT2JqZWN0U3RvcmUgCi1QQVNTIElEQk9iamVjdFN0b3Jl
IGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZUluZGV4KERPTVN0cmluZykgCi1QQVNTIFVuc2Nv
cGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIGRlbGV0ZUluZGV4KERPTVN0cmluZykgb24gSURC
T2JqZWN0U3RvcmUgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElE
QkluZGV4IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIg
cHJvcGVydHkgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0
eSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKLVBBU1MgVW5zY29w
YWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgbmFtZSBwcm9wZXJ0eSBvbiBJREJJbmRleCAKLVBB
U1MgSURCSW5kZXggaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmUgCi1QQVNTIFVuc2Nv
cGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIG9iamVjdFN0b3JlIHByb3BlcnR5IG9uIElEQklu
ZGV4IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBrZXlQYXRoIAotUEFTUyBV
bnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBrZXlQYXRoIHByb3BlcnR5IG9uIElEQklu
ZGV4IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtdWx0aUVudHJ5IAotUEFT
UyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBtdWx0aUVudHJ5IHByb3BlcnR5IG9u
IElEQkluZGV4IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1bmlxdWUgCi1Q
QVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIHVuaXF1ZSBwcm9wZXJ0eSBvbiBJ
REJJbmRleCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0KGFueSkgCi1Q
QVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIGdldChhbnkpIG9uIElEQkluZGV4
IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRLZXkoYW55KSAKLVBBU1Mg
VW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgZ2V0S2V5KGFueSkgb24gSURCSW5kZXgg
Ci1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbChhbnksIHVuc2lnbmVk
IGxvbmcpIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBnZXRBbGwoYW55
LCB1bnNpZ25lZCBsb25nKSBvbiBJREJJbmRleCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBv
cGVyYXRpb24gZ2V0QWxsS2V5cyhhbnksIHVuc2lnbmVkIGxvbmcpIAotUEFTUyBVbnNjb3BhYmxl
IGhhbmRsZWQgY29ycmVjdGx5IGZvciBnZXRBbGxLZXlzKGFueSwgdW5zaWduZWQgbG9uZykgb24g
SURCSW5kZXggCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGNvdW50KGFueSkg
Ci1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIGNvdW50KGFueSkgb24gSURC
SW5kZXggCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5DdXJzb3IoYW55
LCBJREJDdXJzb3JEaXJlY3Rpb24pIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5
IGZvciBvcGVuQ3Vyc29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9uKSBvbiBJREJJbmRleCAKLVBB
U1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbktleUN1cnNvcihhbnksIElEQkN1
cnNvckRpcmVjdGlvbikgCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIG9w
ZW5LZXlDdXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rpb24pIG9uIElEQkluZGV4IAotUEFTUyBJ
REJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJLZXlSYW5nZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
Ci1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogYXR0cmlidXRlIGxvd2VyIAotUEFTUyBVbnNj
b3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBsb3dlciBwcm9wZXJ0eSBvbiBJREJLZXlSYW5n
ZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdXBwZXIgCi1QQVNTIFVu
c2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIHVwcGVyIHByb3BlcnR5IG9uIElEQktleVJh
bmdlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsb3dlck9wZW4gCi1Q
QVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIGxvd2VyT3BlbiBwcm9wZXJ0eSBv
biBJREJLZXlSYW5nZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdXBw
ZXJPcGVuIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciB1cHBlck9wZW4g
cHJvcGVydHkgb24gSURCS2V5UmFuZ2UgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3Bl
cmF0aW9uIG9ubHkoYW55KSAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Ig
b25seShhbnkpIG9uIElEQktleVJhbmdlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBsb3dlckJvdW5kKGFueSwgYm9vbGVhbikgCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxl
ZCBjb3JyZWN0bHkgZm9yIGxvd2VyQm91bmQoYW55LCBib29sZWFuKSBvbiBJREJLZXlSYW5nZSAK
LVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdXBwZXJCb3VuZChhbnksIGJv
b2xlYW4pIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciB1cHBlckJvdW5k
KGFueSwgYm9vbGVhbikgb24gSURCS2V5UmFuZ2UgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogb3BlcmF0aW9uIGJvdW5kKGFueSwgYW55LCBib29sZWFuLCBib29sZWFuKSAKLVBBU1MgVW5z
Y29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgYm91bmQoYW55LCBhbnksIGJvb2xlYW4sIGJv
b2xlYW4pIG9uIElEQktleVJhbmdlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBpbmNsdWRlcyhhbnkpIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZv
ciBpbmNsdWRlcyhhbnkpIG9uIElEQktleVJhbmdlIAotUEFTUyBJREJLZXlSYW5nZSBtdXN0IGJl
IHByaW1hcnkgaW50ZXJmYWNlIG9mIElEQktleVJhbmdlLm9ubHkoMCkgCi1QQVNTIFN0cmluZ2lm
aWNhdGlvbiBvZiBJREJLZXlSYW5nZS5vbmx5KDApIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IElEQktleVJhbmdlLm9ubHkoMCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dlciIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogSURCS2V5UmFu
Z2Uub25seSgwKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwcGVyIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBJREJLZXlSYW5nZS5vbmx5KDApIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXJPcGVuIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBJREJLZXlSYW5nZS5vbmx5KDApIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAidXBwZXJPcGVuIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5
UmFuZ2UgaW50ZXJmYWNlOiBJREJLZXlSYW5nZS5vbmx5KDApIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib25seShhbnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50
ZXJmYWNlOiBjYWxsaW5nIG9ubHkoYW55KSBvbiBJREJLZXlSYW5nZS5vbmx5KDApIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQktleVJhbmdlIGlu
dGVyZmFjZTogSURCS2V5UmFuZ2Uub25seSgwKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd2Vy
Qm91bmQoYW55LCBib29sZWFuKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQktleVJh
bmdlIGludGVyZmFjZTogY2FsbGluZyBsb3dlckJvdW5kKGFueSwgYm9vbGVhbikgb24gSURCS2V5
UmFuZ2Uub25seSgwKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IElEQktleVJhbmdlLm9ubHkoMCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJ1cHBlckJvdW5kKGFueSwgYm9vbGVhbikiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgdXBwZXJCb3VuZChh
bnksIGJvb2xlYW4pIG9uIElEQktleVJhbmdlLm9ubHkoMCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50
cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBJREJL
ZXlSYW5nZS5vbmx5KDApIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYm91bmQoYW55LCBhbnksIGJv
b2xlYW4sIGJvb2xlYW4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2Ug
aW50ZXJmYWNlOiBjYWxsaW5nIGJvdW5kKGFueSwgYW55LCBib29sZWFuLCBib29sZWFuKSBvbiBJ
REJLZXlSYW5nZS5vbmx5KDApIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogSURCS2V5UmFuZ2Uub25seSgwKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImluY2x1ZGVzKGFueSkiIHdpdGggdGhlIHByb3BlciB0eXBl
IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgaW5jbHVkZXMoYW55KSBvbiBJ
REJLZXlSYW5nZS5vbmx5KDApIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGggCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQkN1
cnNvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0
eSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIHNvdXJjZSAKLVBBU1MgVW5z
Y29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Igc291cmNlIHByb3BlcnR5IG9uIElEQkN1cnNv
ciAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIGRpcmVjdGlvbiAKLVBBU1Mg
VW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgZGlyZWN0aW9uIHByb3BlcnR5IG9uIElE
QkN1cnNvciAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIGtleSAKLVBBU1Mg
VW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Iga2V5IHByb3BlcnR5IG9uIElEQkN1cnNv
ciAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0cmlidXRlIHByaW1hcnlLZXkgCi1QQVNT
IFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIHByaW1hcnlLZXkgcHJvcGVydHkgb24g
SURCQ3Vyc29yIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWR2YW5jZSh1
bnNpZ25lZCBsb25nKSAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgYWR2
YW5jZSh1bnNpZ25lZCBsb25nKSBvbiBJREJDdXJzb3IgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBjb250aW51ZShhbnkpIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29y
cmVjdGx5IGZvciBjb250aW51ZShhbnkpIG9uIElEQkN1cnNvciAKLVBBU1MgSURCQ3Vyc29yIGlu
dGVyZmFjZTogb3BlcmF0aW9uIGNvbnRpbnVlUHJpbWFyeUtleShhbnksIGFueSkgCi1QQVNTIFVu
c2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIGNvbnRpbnVlUHJpbWFyeUtleShhbnksIGFu
eSkgb24gSURCQ3Vyc29yIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gdXBk
YXRlKGFueSkgCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIHVwZGF0ZShh
bnkpIG9uIElEQkN1cnNvciAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogb3BlcmF0aW9uIGRl
bGV0ZSgpIAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciBkZWxldGUoKSBv
biBJREJDdXJzb3IgCi1QQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJDdXJzb3JXaXRo
VmFsdWUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAK
LVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogYXR0cmlidXRlIHZhbHVl
IAotUEFTUyBVbnNjb3BhYmxlIGhhbmRsZWQgY29ycmVjdGx5IGZvciB2YWx1ZSBwcm9wZXJ0eSBv
biBJREJDdXJzb3JXaXRoVmFsdWUgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQlRyYW5z
YWN0aW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJ
REJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElE
QlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURC
VHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1lcyAKLVBBU1Mg
VW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3Igb2JqZWN0U3RvcmVOYW1lcyBwcm9wZXJ0
eSBvbiBJREJUcmFuc2FjdGlvbiAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgbW9kZSAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBmb3IgbW9kZSBw
cm9wZXJ0eSBvbiBJREJUcmFuc2FjdGlvbiAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgZGIgCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIGRi
IHByb3BlcnR5IG9uIElEQlRyYW5zYWN0aW9uIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBlcnJvciAKLVBBU1MgVW5zY29wYWJsZSBoYW5kbGVkIGNvcnJlY3RseSBm
b3IgZXJyb3IgcHJvcGVydHkgb24gSURCVHJhbnNhY3Rpb24gCi1QQVNTIElEQlRyYW5zYWN0aW9u
IGludGVyZmFjZTogb3BlcmF0aW9uIG9iamVjdFN0b3JlKERPTVN0cmluZykgCi1QQVNTIFVuc2Nv
cGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIG9iamVjdFN0b3JlKERPTVN0cmluZykgb24gSURC
VHJhbnNhY3Rpb24gCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGFi
b3J0KCkgCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIGFib3J0KCkgb24g
SURCVHJhbnNhY3Rpb24gCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRl
IG9uYWJvcnQgCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0bHkgZm9yIG9uYWJvcnQg
cHJvcGVydHkgb24gSURCVHJhbnNhY3Rpb24gCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFj
ZTogYXR0cmlidXRlIG9uY29tcGxldGUgCi1QQVNTIFVuc2NvcGFibGUgaGFuZGxlZCBjb3JyZWN0
bHkgZm9yIG9uY29tcGxldGUgcHJvcGVydHkgb24gSURCVHJhbnNhY3Rpb24gCi1QQVNTIElEQlRy
YW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uZXJyb3IgCi1QQVNTIFVuc2NvcGFibGUg
aGFuZGxlZCBjb3JyZWN0bHkgZm9yIG9uZXJyb3IgcHJvcGVydHkgb24gSURCVHJhbnNhY3Rpb24g
Ci0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2ludGVyZmFjZXMuYW55LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2Vz
LmFueS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMuYW55LWV4cGVj
dGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDE4NiArMCwwIEBACi0KLVBBU1MgVGVzdCBkcml2
ZXIgCi1QQVNTIFBhcnRpYWwgaW50ZXJmYWNlIG1peGluIFdpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGU6IG9yaWdpbmFsIGludGVyZmFjZSBtaXhpbiBkZWZpbmVkIAotUEFTUyBJREJSZXF1ZXN0IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1Q
QVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQlJlcXVlc3Qg
aW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJ
REJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCUmVx
dWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQlJlcXVlc3Qg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVzdWx0IAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTog
YXR0cmlidXRlIGVycm9yIAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIHNv
dXJjZSAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB0cmFuc2FjdGlvbiAK
LVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZWFkeVN0YXRlIAotUEFTUyBJ
REJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3VjY2VzcyAKLVBBU1MgSURCUmVxdWVz
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1Q
QVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQk9w
ZW5EQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJPcGVuREJSZXF1ZXN0
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJs
ZXMgcHJvcGVydHkgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25ibG9ja2VkIAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9u
dXBncmFkZW5lZWRlZCAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQlZlcnNp
b25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCVmVyc2lvbkNo
YW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2
ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29u
c3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb2xkVmVyc2lvbiAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG5ld1ZlcnNpb24gCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VF
dmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIFtvYmplY3QgSURCVmVyc2lvbkNoYW5n
ZUV2ZW50XSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3QgSURCVmVyc2lvbkNoYW5n
ZUV2ZW50XSAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogW29iamVjdCBJ
REJWZXJzaW9uQ2hhbmdlRXZlbnRdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib2xkVmVyc2lvbiIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZh
Y2U6IFtvYmplY3QgSURCVmVyc2lvbkNoYW5nZUV2ZW50XSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im5ld1ZlcnNpb24iIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJGYWN0b3J5IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNT
IElEQkZhY3RvcnkgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIElEQkZhY3RvcnkgaW50
ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJG
YWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCRmFjdG9y
eSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQkZhY3RvcnkgaW50
ZXJmYWNlOiBvcGVyYXRpb24gb3BlbihET01TdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykgCi1Q
QVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlRGF0YWJhc2UoRE9NU3Ry
aW5nKSAKLUZBSUwgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkYXRhYmFzZXMoKSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5v
bi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJkYXRhYmFzZXMiIG1pc3NpbmcK
LVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbXAoYW55LCBhbnkpIAotUEFT
UyBJREJGYWN0b3J5IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgW29iamVjdCBJREJGYWN0
b3J5XSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3QgSURCRmFjdG9yeV0gCi1QQVNT
IElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib3BlbihET01TdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9uZykiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogY2FsbGluZyBvcGVuKERPTVN0
cmluZywgdW5zaWduZWQgbG9uZyBsb25nKSBvbiBbb2JqZWN0IElEQkZhY3RvcnldIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQkZhY3RvcnkgaW50
ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVsZXRl
RGF0YWJhc2UoRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQkZhY3Rv
cnkgaW50ZXJmYWNlOiBjYWxsaW5nIGRlbGV0ZURhdGFiYXNlKERPTVN0cmluZykgb24gW29iamVj
dCBJREJGYWN0b3J5XSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAotRkFJTCBJREJGYWN0b3J5IGludGVyZmFjZTogW29iamVjdCBJREJGYWN0b3J5XSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImRhdGFiYXNlcygpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRf
aW5oZXJpdHM6IHByb3BlcnR5ICJkYXRhYmFzZXMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hh
aW4KLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IFtvYmplY3QgSURCRmFjdG9yeV0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJjbXAoYW55LCBhbnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBB
U1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcgY21wKGFueSwgYW55KSBvbiBbb2JqZWN0
IElEQkZhY3RvcnldIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
Ci1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZSBvYmplY3QgbGVu
Z3RoIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQkRh
dGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3Rv
ciIgcHJvcGVydHkgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKLVBB
U1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmVyc2lvbiAKLVBBU1MgSURCRGF0
YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1lcyAKLVBBU1MgSURCRGF0
YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdHJhbnNhY3Rpb24oW29iamVjdCBPYmplY3RdLFtv
YmplY3QgT2JqZWN0XSwgSURCVHJhbnNhY3Rpb25Nb2RlKSAKLVBBU1MgSURCRGF0YWJhc2UgaW50
ZXJmYWNlOiBvcGVyYXRpb24gY2xvc2UoKSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBv
cGVyYXRpb24gY3JlYXRlT2JqZWN0U3RvcmUoRE9NU3RyaW5nLCBJREJPYmplY3RTdG9yZVBhcmFt
ZXRlcnMpIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVPYmpl
Y3RTdG9yZShET01TdHJpbmcpIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmFib3J0IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNsb3Nl
IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAotUEFTUyBJ
REJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZlcnNpb25jaGFuZ2UgCi1QQVNTIElE
Qk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZSBvYmplY3QgbGVuZ3Ro
IAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQk9i
amVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNj
b3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgbmFtZSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5UGF0
aCAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5kZXhOYW1lcyAK
LVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdHJhbnNhY3Rpb24gCi1Q
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGF1dG9JbmNyZW1lbnQgCi1Q
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIHB1dChhbnksIGFueSkgCi1Q
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGFkZChhbnksIGFueSkgCi1Q
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZShhbnkpIAotUEFT
UyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbGVhcigpIAotUEFTUyBJREJP
YmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXQoYW55KSAKLVBBU1MgSURCT2JqZWN0
U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0S2V5KGFueSkgCi1QQVNTIElEQk9iamVjdFN0
b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbChhbnksIHVuc2lnbmVkIGxvbmcpIAotUEFT
UyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRBbGxLZXlzKGFueSwgdW5z
aWduZWQgbG9uZykgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGNv
dW50KGFueSkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5D
dXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rpb24pIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBvcGVuS2V5Q3Vyc29yKGFueSwgSURCQ3Vyc29yRGlyZWN0aW9uKSAK
LVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5kZXgoRE9NU3RyaW5n
KSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlSW5kZXgo
RE9NU3RyaW5nLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdLCBJREJJbmRleFBhcmFt
ZXRlcnMpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVJ
bmRleChET01TdHJpbmcpIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFT
UyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCi1QQVNTIElE
QkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIG9iamVjdFN0b3JlIAotUEFTUyBJREJJbmRleCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBrZXlQYXRoIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBtdWx0aUVudHJ5IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1
bmlxdWUgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGdldChhbnkpIAotUEFT
UyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRLZXkoYW55KSAKLVBBU1MgSURCSW5k
ZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsKGFueSwgdW5zaWduZWQgbG9uZykgCi1QQVNT
IElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbEtleXMoYW55LCB1bnNpZ25lZCBs
b25nKSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gY291bnQoYW55KSAKLVBB
U1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbkN1cnNvcihhbnksIElEQkN1cnNv
ckRpcmVjdGlvbikgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIG9wZW5LZXlD
dXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rpb24pIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJ
REJLZXlSYW5nZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCS2V5UmFuZ2UgaW50
ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURC
S2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJLZXlS
YW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQktleVJhbmdl
IGludGVyZmFjZTogYXR0cmlidXRlIGxvd2VyIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSB1cHBlciAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
bG93ZXJPcGVuIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1cHBlck9w
ZW4gCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIG9ubHkoYW55KSAKLVBB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gbG93ZXJCb3VuZChhbnksIGJvb2xl
YW4pIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1cHBlckJvdW5kKGFu
eSwgYm9vbGVhbikgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9uIGJvdW5k
KGFueSwgYW55LCBib29sZWFuLCBib29sZWFuKSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNl
OiBvcGVyYXRpb24gaW5jbHVkZXMoYW55KSAKLVBBU1MgSURCS2V5UmFuZ2UgbXVzdCBiZSBwcmlt
YXJ5IGludGVyZmFjZSBvZiBbb2JqZWN0IElEQktleVJhbmdlXSAKLVBBU1MgU3RyaW5naWZpY2F0
aW9uIG9mIFtvYmplY3QgSURCS2V5UmFuZ2VdIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6
IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXIiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURC
S2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBwZXIiIHdpdGggdGhlIHByb3BlciB0
eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXJPcGVuIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBB
U1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJhbmdlXSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgInVwcGVyT3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbmx5KGFueSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBp
bnRlcmZhY2U6IGNhbGxpbmcgb25seShhbnkpIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQktleVJhbmdl
IGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJs
b3dlckJvdW5kKGFueSwgYm9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgbG93ZXJCb3VuZChhbnksIGJvb2xlYW4pIG9uIFtv
YmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0g
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cHBlckJvdW5kKGFueSwgYm9vbGVhbikiIHdpdGggdGhl
IHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgdXBwZXJC
b3VuZChhbnksIGJvb2xlYW4pIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJib3VuZChhbnks
IGFueSwgYm9vbGVhbiwgYm9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgYm91bmQoYW55LCBhbnksIGJvb2xlYW4sIGJvb2xl
YW4pIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJL
ZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbmNsdWRlcyhhbnkpIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIGluY2x1ZGVz
KGFueSkgb24gW29iamVjdCBJREJLZXlSYW5nZV0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0
IHRocm93IFR5cGVFcnJvciAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZSBvYmplY3QgbmFtZSAK
LVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29u
c3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc291cmNl
IAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGlyZWN0aW9uIAotUEFTUyBJ
REJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5IAotUEFTUyBJREJDdXJzb3IgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgcHJpbWFyeUtleSAKLUZBSUwgSURCQ3Vyc29yIGludGVyZmFjZTogYXR0
cmlidXRlIHJlcXVlc3QgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2
ZSBhIHByb3BlcnR5ICJyZXF1ZXN0IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotUEFTUyBJREJD
dXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWR2YW5jZSh1bnNpZ25lZCBsb25nKSAKLVBBU1Mg
SURCQ3Vyc29yIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbnRpbnVlKGFueSkgCi1QQVNTIElEQkN1
cnNvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb250aW51ZVByaW1hcnlLZXkoYW55LCBhbnkpIAot
UEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gdXBkYXRlKGFueSkgCi1QQVNTIElE
QkN1cnNvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGUoKSAKLVBBU1MgSURCQ3Vyc29yV2l0
aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgCi1QQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
LVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURC
Q3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJDdXJzb3JXaXRoVmFsdWUg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmFsdWUgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElE
QlRyYW5zYWN0aW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJUcmFuc2FjdGlv
biBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAot
UEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1Q
QVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBB
U1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1lcyAK
LVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbW9kZSAKLVBBU1MgSURC
VHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGIgCi1QQVNTIElEQlRyYW5zYWN0aW9u
IGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBvYmplY3RTdG9yZShET01TdHJpbmcpIAotRkFJTCBJREJUcmFuc2FjdGlv
biBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb21taXQoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVj
dGVkIHByb3BlcnR5ICJjb21taXQiIG1pc3NpbmcKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJm
YWNlOiBvcGVyYXRpb24gYWJvcnQoKSAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25hYm9ydCAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25jb21wbGV0ZSAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25lcnJvciAKLQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2Vz
LmFueS5odG1sCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2VzLmFueS5odG1sCShub25leGlz
dGVudCkKQEAgLTEgKzAsMCBAQAotPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktp
dCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnkuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aW50ZXJmYWNlcy5hbnkuanMJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMuYW55LmpzCShu
b25leGlzdGVudCkKQEAgLTEsMzEgKzAsMCBAQAotLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMv
V2ViSURMUGFyc2VyLmpzCi0vLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpz
Ci0KLXByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgY29uc3QgW2h0bWwsIGRvbSwgaW5kZXhl
ZGRiXSA9IGF3YWl0IFByb21pc2UuYWxsKFsKLSAgICAnL2ludGVyZmFjZXMvaHRtbC5pZGwnLAot
ICAgICcvaW50ZXJmYWNlcy9kb20uaWRsJywKLSAgICAnL2ludGVyZmFjZXMvSW5kZXhlZERCLmlk
bCcsCi0gIF0ubWFwKHVybCA9PiBmZXRjaCh1cmwpLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2Uu
dGV4dCgpKSkpOwotCi0gIGNvbnN0IGlkbF9hcnJheSA9IG5ldyBJZGxBcnJheSgpOwotICBpZGxf
YXJyYXkuYWRkX3VudGVzdGVkX2lkbHMoaHRtbCwgeyBvbmx5OiBbJ1dpbmRvd09yV29ya2VyR2xv
YmFsU2NvcGUnXSB9KTsKLSAgaWRsX2FycmF5LmFkZF91bnRlc3RlZF9pZGxzKGRvbSk7Ci0gIGlk
bF9hcnJheS5hZGRfaWRscyhpbmRleGVkZGIpOwotICBpZGxfYXJyYXkuYWRkX29iamVjdHMoewot
ICAgIElEQkN1cnNvcjogW10sCi0gICAgSURCQ3Vyc29yV2l0aFZhbHVlOiBbXSwKLSAgICBJREJE
YXRhYmFzZTogW10sCi0gICAgSURCRmFjdG9yeTogW3NlbGYuaW5kZXhlZERCXSwKLSAgICBJREJJ
bmRleDogW10sCi0gICAgSURCS2V5UmFuZ2U6IFtJREJLZXlSYW5nZS5vbmx5KDApXSwKLSAgICBJ
REJPYmplY3RTdG9yZTogW10sCi0gICAgSURCT3BlbkRCUmVxdWVzdDogW10sCi0gICAgSURCUmVx
dWVzdDogW10sCi0gICAgSURCVHJhbnNhY3Rpb246IFtdLAotICAgIElEQlZlcnNpb25DaGFuZ2VF
dmVudDogW25ldyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQoJycpXSwKLSAgICBET01TdHJpbmdMaXN0
OiBbXSwKLSAgfSk7Ci0KLSAgaWRsX2FycmF5LnRlc3QoKTsKLX0sICdUZXN0IGRyaXZlcicpOwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaW50ZXJmYWNlcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZh
Y2VzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmZhY2Vz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMjE3ICswLDAgQEAK
LQotUEFTUyBUZXN0IGRyaXZlciAKLVBBU1MgUGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gV2luZG93
T3JXb3JrZXJHbG9iYWxTY29wZTogb3JpZ2luYWwgaW50ZXJmYWNlIG1peGluIGRlZmluZWQgCi1Q
QVNTIEV2ZW50TGlzdGVuZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgTm9kZUxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgSFRNTENvbGxlY3Rpb24gaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBB
U1MgTXV0YXRpb25PYnNlcnZlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBNdXRhdGlvblJlY29yZCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBOb2RlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNT
IERvY3VtZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCi1QQVNTIFhNTERvY3VtZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIERPTUltcGxlbWVudGF0aW9uIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNT
IERvY3VtZW50VHlwZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2Ugb2JqZWN0IAotUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFNoYWRvd1Jvb3QgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBB
U1MgRWxlbWVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAotUEFTUyBOYW1lZE5vZGVNYXAgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgQXR0ciBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBDaGFyYWN0ZXJE
YXRhIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCi1QQVNTIFRleHQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdCAKLVBBU1MgQ0RBVEFTZWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFByb2Nlc3NpbmdJbnN0cnVj
dGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0IAotUEFTUyBDb21tZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCi1QQVNTIEFic3RyYWN0UmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgU3RhdGljUmFuZ2Ug
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
LVBBU1MgUmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKLVBBU1MgTm9kZUl0ZXJhdG9yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFRyZWVXYWxrZXIgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgTm9k
ZUZpbHRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAotUEFTUyBET01Ub2tlbkxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgWFBhdGhSZXN1bHQgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgWFBhdGhF
eHByZXNzaW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCi1QQVNTIFhQYXRoTlNSZXNvbHZlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBYUGF0aEV2YWx1YXRvciBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFT
UyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCi1QQVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1Q
QVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJSZXF1ZXN0IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1Q
QVNTIElEQlJlcXVlc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVzdWx0IAotUEFTUyBJREJSZXF1
ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFj
ZTogYXR0cmlidXRlIHNvdXJjZSAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSB0cmFuc2FjdGlvbiAKLVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZWFk
eVN0YXRlIAotUEFTUyBJREJSZXF1ZXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9uc3VjY2VzcyAK
LVBBU1MgSURCUmVxdWVzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVycm9yIAotUEFTUyBJREJP
cGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBsZW5n
dGggCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJ
REJPcGVuREJSZXF1ZXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBBU1MgSURCT3BlbkRCUmVxdWVzdCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQk9wZW5EQlJlcXVlc3QgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25ibG9ja2VkIAotUEFTUyBJREJPcGVuREJSZXF1ZXN0IGludGVyZmFj
ZTogYXR0cmlidXRlIG9udXBncmFkZW5lZWRlZCAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3Qg
Ci1QQVNTIElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBB
U1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgSURC
VmVyc2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdlRXZlbnQg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJWZXJzaW9uQ2hhbmdl
RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJWZXJzaW9u
Q2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2xkVmVyc2lvbiAKLVBBU1MgSURCVmVy
c2lvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG5ld1ZlcnNpb24gCi1QQVNTIElE
QlZlcnNpb25DaGFuZ2VFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIFtvYmplY3Qg
SURCVmVyc2lvbkNoYW5nZUV2ZW50XSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3Qg
SURCVmVyc2lvbkNoYW5nZUV2ZW50XSAKLVBBU1MgSURCVmVyc2lvbkNoYW5nZUV2ZW50IGludGVy
ZmFjZTogW29iamVjdCBJREJWZXJzaW9uQ2hhbmdlRXZlbnRdIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib2xkVmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIElEQlZlcnNpb25DaGFu
Z2VFdmVudCBpbnRlcmZhY2U6IFtvYmplY3QgSURCVmVyc2lvbkNoYW5nZUV2ZW50XSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm5ld1ZlcnNpb24iIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJ
REJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNT
IElEQkZhY3RvcnkgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJGYWN0b3J5IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAK
LVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNT
IElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbihET01TdHJpbmcsIHVuc2lnbmVk
IGxvbmcgbG9uZykgCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRl
RGF0YWJhc2UoRE9NU3RyaW5nKSAKLUZBSUwgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBkYXRhYmFzZXMoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJkYXRh
YmFzZXMiIG1pc3NpbmcKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbXAo
YW55LCBhbnkpIAotUEFTUyBJREJGYWN0b3J5IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
W29iamVjdCBJREJGYWN0b3J5XSAKLVBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3QgSURC
RmFjdG9yeV0gCi1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3Rvcnld
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3BlbihET01TdHJpbmcsIHVuc2lnbmVkIGxvbmcgbG9u
ZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJGYWN0b3J5IGludGVyZmFjZTogY2Fs
bGluZyBvcGVuKERPTVN0cmluZywgdW5zaWduZWQgbG9uZyBsb25nKSBvbiBbb2JqZWN0IElEQkZh
Y3RvcnldIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNT
IElEQkZhY3RvcnkgaW50ZXJmYWNlOiBbb2JqZWN0IElEQkZhY3RvcnldIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiZGVsZXRlRGF0YWJhc2UoRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
Ci1QQVNTIElEQkZhY3RvcnkgaW50ZXJmYWNlOiBjYWxsaW5nIGRlbGV0ZURhdGFiYXNlKERPTVN0
cmluZykgb24gW29iamVjdCBJREJGYWN0b3J5XSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3Qg
dGhyb3cgVHlwZUVycm9yIAotRkFJTCBJREJGYWN0b3J5IGludGVyZmFjZTogW29iamVjdCBJREJG
YWN0b3J5XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRhdGFiYXNlcygpIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJkYXRhYmFzZXMiIG5vdCBmb3VuZCBp
biBwcm90b3R5cGUgY2hhaW4KLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IFtvYmplY3QgSURC
RmFjdG9yeV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjbXAoYW55LCBhbnkpIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKLVBBU1MgSURCRmFjdG9yeSBpbnRlcmZhY2U6IGNhbGxpbmcgY21wKGFueSwg
YW55KSBvbiBbb2JqZWN0IElEQkZhY3RvcnldIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQkRhdGFiYXNlIGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgbmFtZSAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmVyc2lv
biAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1l
cyAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdHJhbnNhY3Rpb24oW29i
amVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSwgSURCVHJhbnNhY3Rpb25Nb2RlKSAKLVBBU1Mg
SURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xvc2UoKSAKLVBBU1MgSURCRGF0YWJh
c2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlT2JqZWN0U3RvcmUoRE9NU3RyaW5nLCBJREJP
YmplY3RTdG9yZVBhcmFtZXRlcnMpIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBkZWxldGVPYmplY3RTdG9yZShET01TdHJpbmcpIAotUEFTUyBJREJEYXRhYmFzZSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmFib3J0IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbmNsb3NlIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bmVycm9yIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZlcnNpb25j
aGFuZ2UgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJPYmplY3RTdG9yZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUga2V5UGF0aCAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgaW5kZXhOYW1lcyAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
dHJhbnNhY3Rpb24gCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogYXR0cmlidXRlIGF1
dG9JbmNyZW1lbnQgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIHB1
dChhbnksIGFueSkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGFk
ZChhbnksIGFueSkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGRl
bGV0ZShhbnkpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbGVh
cigpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXQoYW55KSAK
LVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0S2V5KGFueSkgCi1Q
QVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbChhbnksIHVuc2ln
bmVkIGxvbmcpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRB
bGxLZXlzKGFueSwgdW5zaWduZWQgbG9uZykgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFj
ZTogb3BlcmF0aW9uIGNvdW50KGFueSkgCi1QQVNTIElEQk9iamVjdFN0b3JlIGludGVyZmFjZTog
b3BlcmF0aW9uIG9wZW5DdXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rpb24pIAotUEFTUyBJREJP
YmplY3RTdG9yZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvcGVuS2V5Q3Vyc29yKGFueSwgSURCQ3Vy
c29yRGlyZWN0aW9uKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRpb24g
aW5kZXgoRE9NU3RyaW5nKSAKLVBBU1MgSURCT2JqZWN0U3RvcmUgaW50ZXJmYWNlOiBvcGVyYXRp
b24gY3JlYXRlSW5kZXgoRE9NU3RyaW5nLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3Rd
LCBJREJJbmRleFBhcmFtZXRlcnMpIAotUEFTUyBJREJPYmplY3RTdG9yZSBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBkZWxldGVJbmRleChET01TdHJpbmcpIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBJREJJ
bmRleCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlIG9i
amVjdCBuYW1lIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgSURCSW5kZXggaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBA
dW5zY29wYWJsZXMgcHJvcGVydHkgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogYXR0cmlidXRl
IG5hbWUgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogYXR0cmlidXRlIG9iamVjdFN0b3JlIAot
UEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBrZXlQYXRoIAotUEFTUyBJREJJbmRl
eCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtdWx0aUVudHJ5IAotUEFTUyBJREJJbmRleCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSB1bmlxdWUgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9u
IGdldChhbnkpIAotUEFTUyBJREJJbmRleCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRLZXkoYW55
KSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0QWxsKGFueSwgdW5zaWdu
ZWQgbG9uZykgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3BlcmF0aW9uIGdldEFsbEtleXMo
YW55LCB1bnNpZ25lZCBsb25nKSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24g
Y291bnQoYW55KSAKLVBBU1MgSURCSW5kZXggaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbkN1cnNv
cihhbnksIElEQkN1cnNvckRpcmVjdGlvbikgCi1QQVNTIElEQkluZGV4IGludGVyZmFjZTogb3Bl
cmF0aW9uIG9wZW5LZXlDdXJzb3IoYW55LCBJREJDdXJzb3JEaXJlY3Rpb24pIAotUEFTUyBJREJL
ZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1Mg
SURCS2V5UmFuZ2UgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBJREJLZXlSYW5nZSBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5
IAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCi1Q
QVNTIElEQktleVJhbmdlIGludGVyZmFjZTogYXR0cmlidXRlIGxvd2VyIAotUEFTUyBJREJLZXlS
YW5nZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1cHBlciAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgbG93ZXJPcGVuIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSB1cHBlck9wZW4gCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogb3BlcmF0aW9u
IG9ubHkoYW55KSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gbG93ZXJC
b3VuZChhbnksIGJvb2xlYW4pIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biB1cHBlckJvdW5kKGFueSwgYm9vbGVhbikgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTog
b3BlcmF0aW9uIGJvdW5kKGFueSwgYW55LCBib29sZWFuLCBib29sZWFuKSAKLVBBU1MgSURCS2V5
UmFuZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5jbHVkZXMoYW55KSAKLVBBU1MgSURCS2V5UmFu
Z2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBbb2JqZWN0IElEQktleVJhbmdlXSAKLVBB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIFtvYmplY3QgSURCS2V5UmFuZ2VdIAotUEFTUyBJREJLZXlS
YW5nZSBpbnRlcmZhY2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAibG93ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZh
Y2U6IFtvYmplY3QgSURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBwZXIiIHdp
dGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IFtvYmplY3Qg
SURCS2V5UmFuZ2VdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93ZXJPcGVuIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBbb2JqZWN0IElEQktleVJh
bmdlXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwcGVyT3BlbiIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbmx5KGFueSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFT
UyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgb25seShhbnkpIG9uIFtvYmplY3QgSURC
S2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1Q
QVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJsb3dlckJvdW5kKGFueSwgYm9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0
eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgbG93ZXJCb3VuZChhbnks
IGJvb2xlYW4pIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFjZTogW29iamVj
dCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cHBlckJvdW5kKGFueSwgYm9v
bGVhbikiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6
IGNhbGxpbmcgdXBwZXJCb3VuZChhbnksIGJvb2xlYW4pIG9uIFtvYmplY3QgSURCS2V5UmFuZ2Vd
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQktl
eVJhbmdlIGludGVyZmFjZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJib3VuZChhbnksIGFueSwgYm9vbGVhbiwgYm9vbGVhbikiIHdpdGggdGhlIHByb3BlciB0
eXBlIAotUEFTUyBJREJLZXlSYW5nZSBpbnRlcmZhY2U6IGNhbGxpbmcgYm91bmQoYW55LCBhbnks
IGJvb2xlYW4sIGJvb2xlYW4pIG9uIFtvYmplY3QgSURCS2V5UmFuZ2VdIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIElEQktleVJhbmdlIGludGVyZmFj
ZTogW29iamVjdCBJREJLZXlSYW5nZV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbmNsdWRlcyhh
bnkpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgSURCS2V5UmFuZ2UgaW50ZXJmYWNlOiBj
YWxsaW5nIGluY2x1ZGVzKGFueSkgb24gW29iamVjdCBJREJLZXlSYW5nZV0gd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElE
QkN1cnNvciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFj
ZSBvYmplY3QgbmFtZSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJDdXJzb3Ig
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJDdXJzb3IgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgc291cmNlIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGly
ZWN0aW9uIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5IAotUEFTUyBJ
REJDdXJzb3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHJpbWFyeUtleSAKLUZBSUwgSURCQ3Vyc29y
IGludGVyZmFjZTogYXR0cmlidXRlIHJlcXVlc3QgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUg
b2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJyZXF1ZXN0IiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWR2YW5jZSh1bnNpZ25l
ZCBsb25nKSAKLVBBU1MgSURCQ3Vyc29yIGludGVyZmFjZTogb3BlcmF0aW9uIGNvbnRpbnVlKGFu
eSkgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb250aW51ZVByaW1hcnlL
ZXkoYW55LCBhbnkpIAotUEFTUyBJREJDdXJzb3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gdXBkYXRl
KGFueSkgCi1QQVNTIElEQkN1cnNvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGUoKSAKLVBB
U1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZSBvYmplY3Qg
bmFtZSAKLVBBU1MgSURCQ3Vyc29yV2l0aFZhbHVlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBJREJDdXJzb3JX
aXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAotUEFTUyBJREJDdXJz
b3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBJREJD
dXJzb3JXaXRoVmFsdWUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmFsdWUgCi1QQVNTIElEQlRyYW5z
YWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFT
UyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1QQVNTIElEQlRyYW5zYWN0
aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IAotUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3Rv
ciIgcHJvcGVydHkgCi1QQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2Jq
ZWN0U3RvcmVOYW1lcyAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
bW9kZSAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGIgCi1QQVNT
IElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAotUEFTUyBJREJUcmFu
c2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvYmplY3RTdG9yZShET01TdHJpbmcpIAotRkFJ
TCBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjb21taXQoKSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMg
b3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJjb21taXQiIG1pc3NpbmcKLVBBU1MgSURCVHJh
bnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gYWJvcnQoKSAKLVBBU1MgSURCVHJhbnNhY3Rp
b24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hYm9ydCAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb21wbGV0ZSAKLVBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25lcnJvciAKLQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnkud29ya2VyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnkud29ya2VyLmh0bWwJKHJldmlzaW9uIDI1MDI2MCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2ludGVyZmFjZXMuYW55Lndvcmtlci5odG1sCShub25leGlzdGVudCkKQEAgLTEgKzAsMCBAQAot
PCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJl
IHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIva2V5Z2VuZXJhdG9yLWNvbnN0cmFpbnRlcnJvci5odG0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5Z2Vu
ZXJhdG9yLWNvbnN0cmFpbnRlcnJvci5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleWdlbmVyYXRv
ci1jb25zdHJhaW50ZXJyb3IuaHRtCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQAogPHNj
cmlwdD4KIAogICAgIHZhciBkYiwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxl
LCB7dGltZW91dDogMTAwMDB9KSwKKyAgICAgIHQgPSBhc3luY190ZXN0KCksCiAgICAgICBvYmpl
Y3RzID0gWzEsIG51bGwsIHtpZDogMn0sIG51bGwsIDIuMDAwMDEsIDUsIG51bGwsIHtpZDogNn0g
XSwKICAgICAgIGV4cGVjdGVkID0gWzEsIDIsIDIuMDAwMDEsIDMsIDUsIDZdLAogICAgICAgZXJy
b3JzID0gMDsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2tleWdlbmVyYXRvci1vdmVyZmxvdy5odG0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5Z2Vu
ZXJhdG9yLW92ZXJmbG93Lmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5Z2VuZXJhdG9yLW92ZXJm
bG93Lmh0bQkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQAogPHNjcmlwdD4KIAogICAg
IHZhciBkYiwKLSAgICAgIHQgPSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDog
MTAwMDB9KSwKKyAgICAgIHQgPSBhc3luY190ZXN0KCksCiAgICAgICBvdmVyZmxvd19lcnJvcl9m
aXJlZCA9IGZhbHNlLAogICAgICAgb2JqZWN0cyA9ICBbOTAwNzE5OTI1NDc0MDk5MSwgbnVsbCwg
ImVycm9yIiwgMiwgImVycm9yIiBdLAogICAgICAgZXhwZWN0ZWRfa2V5cyA9IFsyLCA5MDA3MTk5
MjU0NzQwOTkxLCA5MDA3MTk5MjU0NzQwOTkyXTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleW9yZGVyLmh0bQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9rZXlvcmRlci5odG0JKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleW9yZGVyLmh0bQkod29ya2luZyBj
b3B5KQpAQCAtMjIsNyArMjIsNyBAQAogCiAgICAgZnVuY3Rpb24ga2V5c29ydChkZXNjLCB1bnNv
cnRlZCwgZXhwZWN0ZWQpIHsKICAgICAgICAgdmFyIGRiLAotICAgICAgICAgICAgdCA9IGFzeW5j
X3Rlc3QoIkRhdGFiYXNlIHJlYWRiYWNrIHNvcnQgLSAiICsgZGVzYywgeyB0aW1lb3V0OiAxMDAw
MCB9KSwKKyAgICAgICAgICAgIHQgPSBhc3luY190ZXN0KCJEYXRhYmFzZSByZWFkYmFjayBzb3J0
IC0gIiArIGRlc2MpLAogICAgICAgICAgICAgc3RvcmVfbmFtZSA9ICdzdG9yZS0nICsgRGF0ZS5u
b3coKSArIE1hdGgucmFuZG9tKCk7CiAKICAgICAgICAgLy8gVGhlIGRhdGFiYXNlIHRlc3QKSW5k
ZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2tleXBhdGgtc3BlY2lhbC1pZGVudGlmaWVycy5odG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aC1zcGVj
aWFsLWlkZW50aWZpZXJzLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aC1zcGVjaWFsLWlk
ZW50aWZpZXJzLmh0bQkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsOCBAQAogICAgICAgICBj
b25zdCByZXN1bHQgPSByZXF1ZXN0LnJlc3VsdDsKICAgICAgICAgYXNzZXJ0X2tleV9lcXVhbHMo
cmVzdWx0W3Rlc3RjYXNlLnByb3BlcnR5XSwga2V5LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAnUHJvcGVydHkgc2hvdWxkIGJlIHVzZWQgYXMga2V5Jyk7CisgICAgICB9KTsKKyAgICAgIHR4
Lm9uY29tcGxldGUgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKICAgICAgICAgdC5kb25lKCk7
CiAgICAgICB9KTsKICAgICB9LApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5cGF0aF9tYXhzaXplLmh0bQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9r
ZXlwYXRoX21heHNpemUuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXlwYXRoX21heHNpemUuaHRt
CSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBACiA8c2NyaXB0PgogICAgIGZ1bmN0aW9u
IGtleXBhdGgoa2V5cGF0aCwgb2JqZWN0cywgZXhwZWN0ZWRfa2V5cywgZGVzYykgewogICAgICAg
ICB2YXIgZGIsCi0gICAgICAgICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSArICIg
LSAiICsgKGRlc2MgPyBkZXNjIDoga2V5cGF0aCksIHsgdGltZW91dDogMTAwMDAgfSksCisgICAg
ICAgICAgICB0ID0gYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSArICIgLSAiICsgKGRlc2MgPyBk
ZXNjIDoga2V5cGF0aCkpLAogICAgICAgICAgICAgb3Blbl9ycSA9IGNyZWF0ZWRiKHQpOwogCiAg
ICAgICAgIG9wZW5fcnEub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oZSkgewpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvcmVxdWVz
dF9idWJibGUtYW5kLWNhcHR1cmUuaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3JlcXVlc3RfYnViYmxlLWFuZC1j
YXB0dXJlLmh0bQkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvcmVxdWVzdF9idWJibGUtYW5kLWNhcHR1cmUu
aHRtCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQAogPHNjcmlwdD4KICAgICB2YXIgZXZl
bnRzID0gW107CiAKLSAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QoZG9jdW1l
bnQudGl0bGUsIHt0aW1lb3V0OiAxMDAwMH0pKTsKKyAgICB2YXIgb3Blbl9ycSA9IGNyZWF0ZWRi
KGFzeW5jX3Rlc3QoKSk7CiAgICAgb3Blbl9ycS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihl
KSB7CiAgICAgICAgIHZhciBkYiA9IGUudGFyZ2V0LnJlc3VsdDsKICAgICAgICAgdmFyIHR4biA9
IGUudGFyZ2V0LnRyYW5zYWN0aW9uOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9uZS5hbnktZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25lLmFueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTg6IFN5bnRheEVycm9yOiBO
byBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbAorCitG
QUlMIEluZGV4ZWQgREIgYW5kIFN0cnVjdHVyZWQgU2VyaWFsaXppbmcvRGVzZXJpYWxpemluZyBT
eW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmlj
IGxpdGVyYWwKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9uZS5hbnkuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1
Y3R1cmVkLWNsb25lLmFueS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUuYW55
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVx
dWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVk
IHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9u
ZS5hbnkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9uZS5hbnkuanMJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvc3RydWN0dXJlZC1jbG9uZS5hbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMjAg
QEAKKy8vIE1FVEE6IHNjcmlwdD1zdXBwb3J0LXByb21pc2VzLmpzCisvLyBNRVRBOiB0aXRsZT1J
bmRleGVkIERCIGFuZCBTdHJ1Y3R1cmVkIFNlcmlhbGl6aW5nL0Rlc2VyaWFsaXppbmcKKy8vIE1F
VEE6IHRpbWVvdXQ9bG9uZworCisvLyBUZXN0cyBJbmRleGVkIERCIGNvdmVyYWdlIG9mIEhUTUwn
cyBTYWZlICJwYXNzaW5nIG9mIHN0cnVjdHVyZWQgZGF0YSIKKy8vIGh0dHBzOi8vaHRtbC5zcGVj
LndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N0cnVjdHVyZWQtZGF0YS5odG1sCisKK2Z1bmN0aW9uIGRl
c2NyaWJlKHZhbHVlKSB7CisgIGxldCB0eXBlLCBzdHI7CisgIGlmICh0eXBlb2YgdmFsdWUgPT09
ICdvYmplY3QnICYmIHZhbHVlKSB7CisgICAgdHlwZSA9IHZhbHVlLl9fcHJvdG9fXy5jb25zdHJ1
Y3Rvci5uYW1lOworICAgIC8vIEhhbmRsZSBOdW1iZXIoLTApLCBldGMuCisgICAgc3RyID0gT2Jq
ZWN0LmlzKHZhbHVlLnZhbHVlT2YoKSwgLTApID8gJy0wJyA6IFN0cmluZyh2YWx1ZSk7CisgIH0g
ZWxzZSB7CisgICAgdHlwZSA9IHR5cGVvZiB2YWx1ZTsKKyAgICAvLyBIYW5kbGUgcHJpbWl0aXZl
IC0wLgorICAgIHN0ciA9IE9iamVjdC5pcyh2YWx1ZSwgLTApID8gJy0wJyA6IFN0cmluZyh2YWx1
ZSk7CisgIH0KKyAgcmV0dXJuIGAke3R5cGV9OiAke3N0cn1gOworfQorCitmdW5jdGlvbiBjbG9u
ZVRlc3QodmFsdWUsIHZlcmlmeUZ1bmMpIHsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgIGNvbnN0IGRiID0gYXdhaXQgY3JlYXRlRGF0YWJhc2UodCwgZGIgPT4geworICAgICAgY29u
c3Qgc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICAgIC8vIFRoaXMg
aW5kZXggaXMgbm90IHVzZWQsIGJ1dCBldmFsdWF0aW5nIGtleSBwYXRoIG9uIGVhY2ggcHV0KCkK
KyAgICAgIC8vIGNhbGwgd2lsbCBleGVyY2lzZSAoZGUpc2VyaWFsaXphdGlvbi4KKyAgICAgIHN0
b3JlLmNyZWF0ZUluZGV4KCdpbmRleCcsICdkdW1teUtleVBhdGgnKTsKKyAgICB9KTsKKyAgICB0
LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICAgIGlmIChkYikgeworICAgICAgICBkYi5jbG9zZSgp
OworICAgICAgICBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGIubmFtZSk7CisgICAgICB9Cisg
ICAgfSk7CisgICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZHdyaXRl
Jyk7CisgICAgY29uc3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBhd2Fp
dCBwcm9taXNlRm9yUmVxdWVzdCh0LCBzdG9yZS5wdXQodmFsdWUsICdrZXknKSk7CisgICAgY29u
c3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodCwgc3RvcmUuZ2V0KCdrZXknKSk7
CisgICAgYXdhaXQgdmVyaWZ5RnVuYyh2YWx1ZSwgcmVzdWx0KTsKKyAgICBhd2FpdCBwcm9taXNl
Rm9yVHJhbnNhY3Rpb24odCwgdHgpOworICB9LCBkZXNjcmliZSh2YWx1ZSkpOworfQorCisvLyBT
cGVjaWFsaXphdGlvbiBvZiBjbG9uZVRlc3QoKSBmb3Igb2JqZWN0cywgd2l0aCBjb21tb24gYXNz
ZXJ0cy4KK2Z1bmN0aW9uIGNsb25lT2JqZWN0VGVzdCh2YWx1ZSwgdmVyaWZ5RnVuYykgeworICBj
bG9uZVRlc3QodmFsdWUsIGFzeW5jIChvcmlnLCBjbG9uZSkgPT4geworICAgIGFzc2VydF9ub3Rf
ZXF1YWxzKG9yaWcsIGNsb25lKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBjbG9uZSwgJ29i
amVjdCcpOworICAgIGFzc2VydF9lcXVhbHMob3JpZy5fX3Byb3RvX18sIGNsb25lLl9fcHJvdG9f
Xyk7CisgICAgYXdhaXQgdmVyaWZ5RnVuYyhvcmlnLCBjbG9uZSk7CisgIH0pOworfQorCitmdW5j
dGlvbiBjbG9uZUZhaWx1cmVUZXN0KHZhbHVlKSB7CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHQsIGRiID0+IHsKKyAgICAg
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpOworICAgIH0pOworICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4geworICAgICAgaWYgKGRiKSB7CisgICAgICAgIGRiLmNsb3NlKCk7CisgICAgICAg
IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYi5uYW1lKTsKKyAgICAgIH0KKyAgICB9KTsKKyAg
ICBjb25zdCB0eCA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKTsKKyAgICBj
b25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKCdzdG9yZScpOworICAgIGFzc2VydF90aHJvd3Mo
J0RhdGFDbG9uZUVycm9yJywgKCkgPT4gc3RvcmUucHV0KHZhbHVlLCAna2V5JykpOworICB9LCAn
Tm90IHNlcmlhbGl6YWJsZTogJyArIGRlc2NyaWJlKHZhbHVlKSk7Cit9CisKKy8vCisvLyBFQ01B
U2NyaXB0IHR5cGVzCisvLworCisvLyBQcmltaXRpdmUgdmFsdWVzOiBVbmRlZmluZWQsIE51bGws
IEJvb2xlYW4sIE51bWJlciwgQmlnSW50LCBTdHJpbmcKK2NvbnN0IGJvb2xlYW5zID0gW2ZhbHNl
LCB0cnVlXTsKK2NvbnN0IG51bWJlcnMgPSBbCisgIE5hTiwKKyAgLUluZmluaXR5LAorICAtTnVt
YmVyLk1BWF9WQUxVRSwKKyAgLTB4ZmZmZmZmZmYsCisgIC0weDgwMDAwMDAwLAorICAtMHg3ZmZm
ZmZmZiwKKyAgLTEsCisgIC1OdW1iZXIuTUlOX1ZBTFVFLAorICAtMCwKKyAgMCwKKyAgMSwKKyAg
TnVtYmVyLk1JTl9WQUxVRSwKKyAgMHg3ZmZmZmZmZiwKKyAgMHg4MDAwMDAwMCwKKyAgMHhmZmZm
ZmZmZiwKKyAgTnVtYmVyLk1BWF9WQUxVRSwKKyAgSW5maW5pdHksCitdOworY29uc3QgYmlnaW50
cyA9IFsKKyAgLTEyMzQ1Njc4OTAxMjM0NTY3ODkwbiwKKyAgLTFuLAorICAwbiwKKyAgMW4sCisg
IDEyMzQ1Njc4OTAxMjM0NTY3ODkwbiwKK107Citjb25zdCBzdHJpbmdzID0gWworICAnJywKKyAg
J3RoaXMgaXMgYSBzYW1wbGUgc3RyaW5nJywKKyAgJ251bGwoXDApJywKK107CisKK1t1bmRlZmlu
ZWQsIG51bGxdLmNvbmNhdChib29sZWFucywgbnVtYmVycywgYmlnaW50cywgc3RyaW5ncykKKyAg
LmZvckVhY2godmFsdWUgPT4gY2xvbmVUZXN0KHZhbHVlLCAob3JpZywgY2xvbmUpID0+IHsKKyAg
ICBhc3NlcnRfZXF1YWxzKG9yaWcsIGNsb25lKTsKKyAgfSkpOworCisvLyAiUHJpbWl0aXZlIiBP
YmplY3RzIChCb29sZWFuLCBOdW1iZXIsIEJpZ0ludCwgU3RyaW5nKQorW10uY29uY2F0KGJvb2xl
YW5zLCBudW1iZXJzLCBzdHJpbmdzKQorICAuZm9yRWFjaCh2YWx1ZSA9PiBjbG9uZU9iamVjdFRl
c3QoT2JqZWN0KHZhbHVlKSwgKG9yaWcsIGNsb25lKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhv
cmlnLnZhbHVlT2YoKSwgY2xvbmUudmFsdWVPZigpKTsKKyAgfSkpOworCisvLyBEYXRlcworWwor
ICBuZXcgRGF0ZSgtMWUxMyksCisgIG5ldyBEYXRlKC0xZTEyKSwKKyAgbmV3IERhdGUoLTFlOSks
CisgIG5ldyBEYXRlKC0xZTYpLAorICBuZXcgRGF0ZSgtMWUzKSwKKyAgbmV3IERhdGUoMCksCisg
IG5ldyBEYXRlKDFlMyksCisgIG5ldyBEYXRlKDFlNiksCisgIG5ldyBEYXRlKDFlOSksCisgIG5l
dyBEYXRlKDFlMTIpLAorICBuZXcgRGF0ZSgxZTEzKQorXS5mb3JFYWNoKHZhbHVlID0+IGNsb25l
VGVzdCh2YWx1ZSwgKG9yaWcsIGNsb25lKSA9PiB7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMob3Jp
ZywgY2xvbmUpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGNsb25lLCAnb2JqZWN0Jyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhvcmlnLl9fcHJvdG9fXywgY2xvbmUuX19wcm90b19fKTsKKyAgICBh
c3NlcnRfZXF1YWxzKG9yaWcudmFsdWVPZigpLCBjbG9uZS52YWx1ZU9mKCkpOworICB9KSk7CisK
Ky8vIFJlZ3VsYXIgRXhwcmVzc2lvbnMKK1sKKyAgbmV3IFJlZ0V4cCgpLAorICAvYWJjLywKKyAg
L2FiYy9nLAorICAvYWJjL2ksCisgIC9hYmMvZ2ksCisgIC9hYmMvbSwKKyAgL2FiYy9tZywKKyAg
L2FiYy9taSwKKyAgL2FiYy9tZ2ksCisgIC9hYmMvZ2ltc3V5LAorXS5mb3JFYWNoKHZhbHVlID0+
IGNsb25lT2JqZWN0VGVzdCh2YWx1ZSwgKG9yaWcsIGNsb25lKSA9PiB7CisgIGFzc2VydF9lcXVh
bHMob3JpZy50b1N0cmluZygpLCBjbG9uZS50b1N0cmluZygpKTsKK30pKTsKKworLy8gQXJyYXlC
dWZmZXIKK2Nsb25lT2JqZWN0VGVzdChuZXcgVWludDhBcnJheShbMCwgMSwgMjU0LCAyNTVdKS5i
dWZmZXIsIChvcmlnLCBjbG9uZSkgPT4geworICBhc3NlcnRfYXJyYXlfZXF1YWxzKG5ldyBVaW50
OEFycmF5KG9yaWcpLCBuZXcgVWludDhBcnJheShjbG9uZSkpOworfSk7CisKKy8vIFRPRE8gU2hh
cmVkQXJyYXlCdWZmZXIKKworLy8gQXJyYXkgQnVmZmVyIFZpZXdzCitbCisgIG5ldyBVaW50OEFy
cmF5KFtdKSwKKyAgbmV3IFVpbnQ4QXJyYXkoWzAsIDEsIDI1NCwgMjU1XSksCisgIG5ldyBVaW50
MTZBcnJheShbMHgwMDAwLCAweDAwMDEsIDB4RkZGRSwgMHhGRkZGXSksCisgIG5ldyBVaW50MzJB
cnJheShbMHgwMDAwMDAwMCwgMHgwMDAwMDAwMSwgMHhGRkZGRkZGRSwgMHhGRkZGRkZGRl0pLAor
ICBuZXcgSW50OEFycmF5KFswLCAxLCAyNTQsIDI1NV0pLAorICBuZXcgSW50MTZBcnJheShbMHgw
MDAwLCAweDAwMDEsIDB4RkZGRSwgMHhGRkZGXSksCisgIG5ldyBJbnQzMkFycmF5KFsweDAwMDAw
MDAwLCAweDAwMDAwMDAxLCAweEZGRkZGRkZFLCAweEZGRkZGRkZGXSksCisgIG5ldyBVaW50OENs
YW1wZWRBcnJheShbMCwgMSwgMjU0LCAyNTVdKSwKKyAgbmV3IEZsb2F0MzJBcnJheShbLUluZmlu
aXR5LCAtMS41LCAtMSwgLTAuNSwgMCwgMC41LCAxLCAxLjUsIEluZmluaXR5LCBOYU5dKSwKKyAg
bmV3IEZsb2F0NjRBcnJheShbLUluZmluaXR5LCAtTnVtYmVyLk1BWF9WQUxVRSwgLU51bWJlci5N
SU5fVkFMVUUsIDAsCisgICAgICAgICAgICAgICAgICAgIE51bWJlci5NSU5fVkFMVUUsIE51bWJl
ci5NQVhfVkFMVUUsIEluZmluaXR5LCBOYU5dKQorXS5mb3JFYWNoKHZhbHVlID0+IGNsb25lT2Jq
ZWN0VGVzdCh2YWx1ZSwgKG9yaWcsIGNsb25lKSA9PiB7CisgIGFzc2VydF9hcnJheV9lcXVhbHMo
b3JpZywgY2xvbmUpOworfSkpOworCisvLyBNYXAKK2Nsb25lT2JqZWN0VGVzdChuZXcgTWFwKFtb
MSwyXSxbMyw0XV0pLCAob3JpZywgY2xvbmUpID0+IHsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhb
Li4ub3JpZy5rZXlzKCldLCBbLi4uY2xvbmUua2V5cygpXSk7CisgIGFzc2VydF9hcnJheV9lcXVh
bHMoWy4uLm9yaWcudmFsdWVzKCldLCBbLi4uY2xvbmUudmFsdWVzKCldKTsKK30pOworCisvLyBT
ZXQKK2Nsb25lT2JqZWN0VGVzdChuZXcgU2V0KFsxLDIsMyw0XSksIChvcmlnLCBjbG9uZSkgPT4g
eworICBhc3NlcnRfYXJyYXlfZXF1YWxzKFsuLi5vcmlnLnZhbHVlcygpXSwgWy4uLmNsb25lLnZh
bHVlcygpXSk7Cit9KTsKKworLy8gRXJyb3IKK1sKKyAgbmV3IEVycm9yKCksCisgIG5ldyBFcnJv
cignYWJjJywgJ2RlZicpLAorICBuZXcgRXZhbEVycm9yKCksCisgIG5ldyBFdmFsRXJyb3IoJ2do
aScsICdqa2wnKSwKKyAgbmV3IFJhbmdlRXJyb3IoKSwKKyAgbmV3IFJhbmdlRXJyb3IoJ2doaScs
ICdqa2wnKSwKKyAgbmV3IFJlZmVyZW5jZUVycm9yKCksCisgIG5ldyBSZWZlcmVuY2VFcnJvcign
Z2hpJywgJ2prbCcpLAorICBuZXcgU3ludGF4RXJyb3IoKSwKKyAgbmV3IFN5bnRheEVycm9yKCdn
aGknLCAnamtsJyksCisgIG5ldyBUeXBlRXJyb3IoKSwKKyAgbmV3IFR5cGVFcnJvcignZ2hpJywg
J2prbCcpLAorICBuZXcgVVJJRXJyb3IoKSwKKyAgbmV3IFVSSUVycm9yKCdnaGknLCAnamtsJyks
CitdLmZvckVhY2godmFsdWUgPT4gY2xvbmVPYmplY3RUZXN0KHZhbHVlLCAob3JpZywgY2xvbmUp
ID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhvcmlnLm5hbWUsIGNsb25lLm5hbWUpOworICBhc3NlcnRf
ZXF1YWxzKG9yaWcubWVzc2FnZSwgY2xvbmUubWVzc2FnZSk7Cit9KSk7CisKKy8vIEFycmF5cwor
WworICBbXSwKKyAgWzEsMiwzXSwKKyAgT2JqZWN0LmFzc2lnbigKKyAgICBbJ2ZvbycsICdiYXIn
XSwKKyAgICB7MTA6IHRydWUsIDExOiBmYWxzZSwgMjA6IDEyMywgMjE6IDQ1NiwgMzA6IG51bGx9
KSwKKyAgT2JqZWN0LmFzc2lnbigKKyAgICBbJ2ZvbycsICdiYXInXSwKKyAgICB7YTogdHJ1ZSwg
YjogZmFsc2UsIGZvbzogMTIzLCBiYXI6IDQ1NiwgJyc6IG51bGx9KSwKK10uZm9yRWFjaCh2YWx1
ZSA9PiBjbG9uZU9iamVjdFRlc3QodmFsdWUsIChvcmlnLCBjbG9uZSkgPT4geworICBhc3NlcnRf
YXJyYXlfZXF1YWxzKG9yaWcsIGNsb25lKTsKKyAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3Qu
a2V5cyhvcmlnKSwgT2JqZWN0LmtleXMoY2xvbmUpKTsKKyAgT2JqZWN0LmtleXMob3JpZykuZm9y
RWFjaChrZXkgPT4geworICAgIGFzc2VydF9lcXVhbHMob3JpZ1trZXldLCBjbG9uZVtrZXldLCBg
UHJvcGVydHkgJHtrZXl9YCk7CisgIH0pOworfSkpOworCisvLyBPYmplY3RzCitjbG9uZU9iamVj
dFRlc3Qoe2ZvbzogdHJ1ZSwgYmFyOiBmYWxzZX0sIChvcmlnLCBjbG9uZSkgPT4geworICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKE9iamVjdC5rZXlzKG9yaWcpLCBPYmplY3Qua2V5cyhjbG9uZSkpOwor
ICBPYmplY3Qua2V5cyhvcmlnKS5mb3JFYWNoKGtleSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhv
cmlnW2tleV0sIGNsb25lW2tleV0sIGBQcm9wZXJ0eSAke2tleX1gKTsKKyAgfSk7Cit9KTsKKwor
Ly8KKy8vIFtTZXJpYWxpemFibGVdIFBsYXRmb3JtIG9iamVjdHMKKy8vCisKKy8vIFRPRE86IFRl
c3QgdGhlc2UgYWRkaXRpb25hbCBpbnRlcmZhY2VzOgorLy8gKiBET01RdWFkCisvLyAqIERPTUV4
Y2VwdGlvbgorLy8gKiBEZXRlY3RlZFRleHQsIERldGVjdGVkRmFjZSwgRGV0ZWN0ZWRCYXJjb2Rl
CisvLyAqIFJUQ0NlcnRpZmljYXRlCisKKy8vIEdlb21ldHJ5IHR5cGVzCitbCisgIG5ldyBET01N
YXRyaXgoKSwKKyAgbmV3IERPTU1hdHJpeFJlYWRPbmx5KCksCisgIG5ldyBET01Qb2ludCgpLAor
ICBuZXcgRE9NUG9pbnRSZWFkT25seSgpLAorICBuZXcgRE9NUmVjdCwKKyAgbmV3IERPTVJlY3RS
ZWFkT25seSgpLAorXS5mb3JFYWNoKHZhbHVlID0+IGNsb25lT2JqZWN0VGVzdCh2YWx1ZSwgKG9y
aWcsIGNsb25lKSA9PiB7CisgIE9iamVjdC5rZXlzKG9yaWcuX19wcm90b19fKS5mb3JFYWNoKGtl
eSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhvcmlnW2tleV0sIGNsb25lW2tleV0sIGBQcm9wZXJ0
eSAke2tleX1gKTsKKyAgfSk7Cit9KSk7CisKKy8vIEltYWdlRGF0YQorY29uc3QgaW1hZ2VfZGF0
YSA9IG5ldyBJbWFnZURhdGEoOCwgOCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDI1NjsgKytpKSB7
CisgIGltYWdlX2RhdGEuZGF0YVtpXSA9IGk7Cit9CitjbG9uZU9iamVjdFRlc3QoaW1hZ2VfZGF0
YSwgKG9yaWcsIGNsb25lKSA9PiB7CisgIGFzc2VydF9lcXVhbHMob3JpZy53aWR0aCwgY2xvbmUu
d2lkdGgpOworICBhc3NlcnRfZXF1YWxzKG9yaWcuaGVpZ2h0LCBjbG9uZS5oZWlnaHQpOworICBh
c3NlcnRfYXJyYXlfZXF1YWxzKG9yaWcuZGF0YSwgY2xvbmUuZGF0YSk7Cit9KTsKKworLy8gQmxv
YgorY2xvbmVPYmplY3RUZXN0KAorICBuZXcgQmxvYihbJ1RoaXMgaXMgYSB0ZXN0LiddLCB7dHlw
ZTogJ2EvYid9KSwKKyAgYXN5bmMgKG9yaWcsIGNsb25lKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyhvcmlnLnNpemUsIGNsb25lLnNpemUpOworICAgIGFzc2VydF9lcXVhbHMob3JpZy50eXBlLCBj
bG9uZS50eXBlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGF3YWl0IG9yaWcudGV4dCgpLCBhd2FpdCBj
bG9uZS50ZXh0KCkpOworICB9KTsKKworLy8gRmlsZQorY2xvbmVPYmplY3RUZXN0KAorICBuZXcg
RmlsZShbJ1RoaXMgaXMgYSB0ZXN0LiddLCAnZm9vLnR4dCcsIHt0eXBlOiAnYy9kJ30pLAorICBh
c3luYyAob3JpZywgY2xvbmUpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKG9yaWcuc2l6ZSwgY2xv
bmUuc2l6ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhvcmlnLnR5cGUsIGNsb25lLnR5cGUpOworICAg
IGFzc2VydF9lcXVhbHMob3JpZy5uYW1lLCBjbG9uZS5uYW1lKTsKKyAgICBhc3NlcnRfZXF1YWxz
KG9yaWcubGFzdE1vZGlmaWVkLCBjbG9uZS5sYXN0TW9kaWZpZWQpOworICAgIGFzc2VydF9lcXVh
bHMoU3RyaW5nKG9yaWcubGFzdE1vZGlmaWVkRGF0ZSksCisgICAgICAgICAgICAgICAgICBTdHJp
bmcoY2xvbmUubGFzdE1vZGlmaWVkRGF0ZSkpOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgb3Jp
Zy50ZXh0KCksIGF3YWl0IGNsb25lLnRleHQoKSk7CisgIH0pOworCisKKy8vIEZpbGVMaXN0IC0g
ZXhwb3NlZCBpbiBXb3JrZXJzLCBidXQgbm90IGNvbnN0cnVjdGFibGUuCitpZiAoJ2RvY3VtZW50
JyBpbiBzZWxmKSB7CisgIC8vIFRPRE86IFRlc3Qgd2l0aCBwb3B1bGF0ZWQgbGlzdC4KKyAgY2xv
bmVPYmplY3RUZXN0KAorICAgIE9iamVjdC5hc3NpZ24oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aW5wdXQnKSwKKyAgICAgICAgICAgICAgICAgIHt0eXBlOiAnZmlsZScsIG11bHRpcGxlOiB0cnVl
fSkuZmlsZXMsCisgICAgYXN5bmMgKG9yaWcsIGNsb25lKSA9PiB7CisgICAgICBhc3NlcnRfZXF1
YWxzKG9yaWcubGVuZ3RoLCBjbG9uZS5sZW5ndGgpOworICAgIH0pOworfQorCisvLworLy8gTm9u
LXNlcmlhbGl6YWJsZSB0eXBlcworLy8KK1sKKyAgLy8gRUNNQVNjcmlwdCB0eXBlcworICBmdW5j
dGlvbigpIHt9LAorICBTeW1ib2woJ2Rlc2MnKSwKKworICAvLyBOb24tW1NlcmlhbGl6YWJsZV0g
cGxhdGZvcm0gb2JqZWN0cworICBzZWxmLAorICBuZXcgRXZlbnQoJycpLAorICBuZXcgTWVzc2Fn
ZUNoYW5uZWwoKQorXS5mb3JFYWNoKGNsb25lRmFpbHVyZVRlc3QpOwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1j
bG9uZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdHJ1Y3R1cmVkLWNsb25l
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVjdHVyZWQtY2xvbmUu
YW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0IEBACitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgOTg6IFN5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxv
d2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbAorCitGQUlMIEluZGV4ZWQgREIgYW5k
IFN0cnVjdHVyZWQgU2VyaWFsaXppbmcvRGVzZXJpYWxpemluZyBTeW50YXhFcnJvcjogTm8gaWRl
bnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwKKwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3Ry
dWN0dXJlZC1jbG9uZS5hbnkud29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9u
ZS5hbnkud29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3RydWN0dXJlZC1jbG9uZS5hbnkud29y
a2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
cmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxh
dGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvc3VwcG9ydC1wcm9t
aXNlcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9zdXBwb3J0LXByb21pc2VzLmpzCShyZXZpc2lvbiAyNTAyNjAp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9zdXBwb3J0LXByb21pc2VzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01LDExICs1LDM5IEBAIGZ1
bmN0aW9uIGRhdGFiYXNlTmFtZSh0ZXN0Q2FzZSkgewogICByZXR1cm4gJ2RiJyArIHNlbGYubG9j
YXRpb24ucGF0aG5hbWUgKyAnLScgKyB0ZXN0Q2FzZS5uYW1lOwogfQogCi0vLyBDcmVhdGVzIGFu
IEV2ZW50V2F0Y2hlciBjb3ZlcmluZyBhbGwgdGhlIGV2ZW50cyB0aGF0IGNhbiBiZSBpc3N1ZWQg
YnkKLS8vIEluZGV4ZWREQiByZXF1ZXN0cyBhbmQgdHJhbnNhY3Rpb25zLgorLy8gRXZlbnRXYXRj
aGVyIGNvdmVyaW5nIGFsbCB0aGUgZXZlbnRzIGRlZmluZWQgb24gSW5kZXhlZERCIHJlcXVlc3Rz
LgorLy8KKy8vIFRoZSBldmVudHMgY292ZXIgSURCUmVxdWVzdCBhbmQgSURCT3BlbkRCUmVxdWVz
dC4KIGZ1bmN0aW9uIHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KSB7CiAgIHJldHVy
biBuZXcgRXZlbnRXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0LAotICAgICAgWydhYm9ydCcsICdi
bG9ja2VkJywgJ2NvbXBsZXRlJywgJ2Vycm9yJywgJ3N1Y2Nlc3MnLCAndXBncmFkZW5lZWRlZCdd
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWydibG9ja2VkJywgJ2Vycm9yJywgJ3N1Y2Nl
c3MnLCAndXBncmFkZW5lZWRlZCddKTsKK30KKworLy8gRXZlbnRXYXRjaGVyIGNvdmVyaW5nIGFs
bCB0aGUgZXZlbnRzIGRlZmluZWQgb24gSW5kZXhlZERCIHRyYW5zYWN0aW9ucy4KKy8vCisvLyBU
aGUgZXZlbnRzIGNvdmVyIElEQlRyYW5zYWN0aW9uLgorZnVuY3Rpb24gdHJhbnNhY3Rpb25XYXRj
aGVyKHRlc3RDYXNlLCByZXF1ZXN0KSB7CisgIHJldHVybiBuZXcgRXZlbnRXYXRjaGVyKHRlc3RD
YXNlLCByZXF1ZXN0LCBbJ2Fib3J0JywgJ2NvbXBsZXRlJywgJ2Vycm9yJ10pOworfQorCisvLyBQ
cm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhbiBJREJSZXF1ZXN0J3MgcmVzdWx0LgorLy8KKy8v
IFRoZSBwcm9taXNlIG9ubHkgcmVzb2x2ZXMgaWYgSURCUmVxdWVzdCByZWNlaXZlcyB0aGUgInN1
Y2Nlc3MiIGV2ZW50LiBBbnkKKy8vIG90aGVyIGV2ZW50IGNhdXNlcyB0aGUgcHJvbWlzZSB0byBy
ZWplY3Qgd2l0aCBhbiBlcnJvci4gVGhpcyBpcyBjb3JyZWN0IGluCisvLyBtb3N0IGNhc2VzLCBi
dXQgaW5zdWZmaWNpZW50IGZvciBpbmRleGVkREIub3BlbigpLCB3aGljaCBpc3N1ZXMKKy8vICJ1
cGdyYWRlbmVkZWQiIGV2ZW50cyB1bmRlciBub3JtYWwgb3BlcmF0aW9uLgorZnVuY3Rpb24gcHJv
bWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpIHsKKyAgY29uc3QgZXZlbnRXYXRjaGVy
ID0gcmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOworICByZXR1cm4gZXZlbnRXYXRj
aGVyLndhaXRfZm9yKCdzdWNjZXNzJykudGhlbihldmVudCA9PiBldmVudC50YXJnZXQucmVzdWx0
KTsKK30KKworLy8gUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gYW4gSURCVHJhbnNhY3Rpb24g
Y29tcGxldGVzLgorLy8KKy8vIFRoZSBwcm9taXNlIHJlc29sdmVzIHdpdGggdW5kZWZpbmVkIGlm
IElEQlRyYW5zYWN0aW9uIHJlY2VpdmVzIHRoZSAiY29tcGxldGUiCisvLyBldmVudCwgYW5kIHJl
amVjdHMgd2l0aCBhbiBlcnJvciBmb3IgYW55IG90aGVyIGV2ZW50LgorZnVuY3Rpb24gcHJvbWlz
ZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCByZXF1ZXN0KSB7CisgIGNvbnN0IGV2ZW50V2F0Y2hl
ciA9IHRyYW5zYWN0aW9uV2F0Y2hlcih0ZXN0Q2FzZSwgcmVxdWVzdCk7CisgIHJldHVybiBldmVu
dFdhdGNoZXIud2FpdF9mb3IoJ2NvbXBsZXRlJykudGhlbigoKSA9PiB7fSk7CiB9CiAKIC8vIE1p
Z3JhdGVzIGFuIEluZGV4ZWREQiBkYXRhYmFzZSB3aG9zZSBuYW1lIGlzIHVuaXF1ZSBmb3IgdGhl
IHRlc3QgY2FzZS4KQEAgLTY0LDcgKzkyLDcgQEAgZnVuY3Rpb24gbWlncmF0ZU5hbWVkRGF0YWJh
c2UoCiAgICAgICAgIHJlcXVlc3RFdmVudFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwg
cmVqZWN0KSA9PiB7CiAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gZXZlbnQgPT4gewogICAg
ICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgICAgIHJlc29sdmUoZXZl
bnQpOworICAgICAgICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQuZXJyb3IpOwogICAgICAgICAg
IH07CiAgICAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAoKSA9PiByZWplY3QobmV3IEVycm9y
KAogICAgICAgICAgICAgICAnaW5kZXhlZERCLm9wZW4gc2hvdWxkIG5vdCBzdWNjZWVkIGZvciBh
biBhYm9ydGVkICcgKwpAQCAtNzksOCArMTA3LDcgQEAgZnVuY3Rpb24gbWlncmF0ZU5hbWVkRGF0
YWJhc2UoCiAgICAgICBpZiAoIXNob3VsZEJlQWJvcnRlZCkgewogICAgICAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSBudWxsOwogICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG51bGw7Ci0gICAgICAg
IHJlcXVlc3RFdmVudFByb21pc2UgPQotICAgICAgICAgICAgcmVxdWVzdFdhdGNoZXIodGVzdENh
c2UsIHJlcXVlc3QpLndhaXRfZm9yKCdzdWNjZXNzJyk7CisgICAgICAgIHJlcXVlc3RFdmVudFBy
b21pc2UgPSBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7CiAgICAgICB9CiAK
ICAgICAgIC8vIHJlcXVlc3RFdmVudFByb21pc2UgbmVlZHMgdG8gYmUgdGhlIGxhc3QgcHJvbWlz
ZSBpbiB0aGUgY2hhaW4sIGJlY2F1c2UKQEAgLTk1LDEyICsxMjIsMTAgQEAgZnVuY3Rpb24gbWln
cmF0ZU5hbWVkRGF0YWJhc2UoCiAgICAgICAgICAgJ2luZGV4ZWREQi5vcGVuIHNob3VsZCBub3Qg
c3VjY2VlZCB3aXRob3V0IGNyZWF0aW5nIGEgJyArCiAgICAgICAgICAgJ3ZlcnNpb25jaGFuZ2Ug
dHJhbnNhY3Rpb24nKSk7CiAgICAgfTsKLSAgfSkudGhlbihldmVudCA9PiB7Ci0gICAgY29uc3Qg
ZGF0YWJhc2UgPSBldmVudC50YXJnZXQucmVzdWx0OwotICAgIGlmIChkYXRhYmFzZSkgewotICAg
ICAgdGVzdENhc2UuYWRkX2NsZWFudXAoKCkgPT4geyBkYXRhYmFzZS5jbG9zZSgpOyB9KTsKLSAg
ICB9Ci0gICAgcmV0dXJuIGRhdGFiYXNlIHx8IGV2ZW50LnRhcmdldC5lcnJvcjsKKyAgfSkudGhl
bihkYXRhYmFzZU9yRXJyb3IgPT4geworICAgIGlmIChkYXRhYmFzZU9yRXJyb3IgaW5zdGFuY2Vv
ZiBJREJEYXRhYmFzZSkKKyAgICAgIHRlc3RDYXNlLmFkZF9jbGVhbnVwKCgpID0+IHsgZGF0YWJh
c2VPckVycm9yLmNsb3NlKCk7IH0pOworICAgIHJldHVybiBkYXRhYmFzZU9yRXJyb3I7CiAgIH0p
OwogfQogCkBAIC0xMjYsOSArMTUxLDcgQEAgZnVuY3Rpb24gY3JlYXRlRGF0YWJhc2UodGVzdENh
c2UsIHNldHVwQwogLy8gY2xvc2UgdGhlIGRhdGFiYXNlLgogZnVuY3Rpb24gY3JlYXRlTmFtZWRE
YXRhYmFzZSh0ZXN0Q2FzZSwgZGF0YWJhc2VOYW1lLCBzZXR1cENhbGxiYWNrKSB7CiAgIGNvbnN0
IHJlcXVlc3QgPSBpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGF0YWJhc2VOYW1lKTsKLSAgY29u
c3QgZXZlbnRXYXRjaGVyID0gcmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOwotCi0g
IHJldHVybiBldmVudFdhdGNoZXIud2FpdF9mb3IoJ3N1Y2Nlc3MnKS50aGVuKGV2ZW50ID0+IHsK
KyAgcmV0dXJuIHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KS50aGVuKCgpID0+
IHsKICAgICB0ZXN0Q2FzZS5hZGRfY2xlYW51cCgoKSA9PiB7IGluZGV4ZWREQi5kZWxldGVEYXRh
YmFzZShkYXRhYmFzZU5hbWUpOyB9KTsKICAgICByZXR1cm4gbWlncmF0ZU5hbWVkRGF0YWJhc2Uo
dGVzdENhc2UsIGRhdGFiYXNlTmFtZSwgMSwgc2V0dXBDYWxsYmFjaykKICAgfSk7CkBAIC0xNTIs
OSArMTc1LDcgQEAgZnVuY3Rpb24gb3BlbkRhdGFiYXNlKHRlc3RDYXNlLCB2ZXJzaW9uKQogLy8g
Y2xvc2UgdGhlIGRhdGFiYXNlLgogZnVuY3Rpb24gb3Blbk5hbWVkRGF0YWJhc2UodGVzdENhc2Us
IGRhdGFiYXNlTmFtZSwgdmVyc2lvbikgewogICBjb25zdCByZXF1ZXN0ID0gaW5kZXhlZERCLm9w
ZW4oZGF0YWJhc2VOYW1lLCB2ZXJzaW9uKTsKLSAgY29uc3QgZXZlbnRXYXRjaGVyID0gcmVxdWVz
dFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOwotICByZXR1cm4gZXZlbnRXYXRjaGVyLndhaXRf
Zm9yKCdzdWNjZXNzJykudGhlbigoKSA9PiB7Ci0gICAgY29uc3QgZGF0YWJhc2UgPSByZXF1ZXN0
LnJlc3VsdDsKKyAgcmV0dXJuIHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KS50
aGVuKGRhdGFiYXNlID0+IHsKICAgICB0ZXN0Q2FzZS5hZGRfY2xlYW51cCgoKSA9PiB7IGRhdGFi
YXNlLmNsb3NlKCk7IH0pOwogICAgIHJldHVybiBkYXRhYmFzZTsKICAgfSk7CkBAIC0yMTUsOSAr
MjM2LDcgQEAgZnVuY3Rpb24gY2hlY2tTdG9yZUluZGV4ZXMgKHRlc3RDYXNlLCBzdAogZnVuY3Rp
b24gY2hlY2tTdG9yZUdlbmVyYXRvcih0ZXN0Q2FzZSwgc3RvcmUsIGV4cGVjdGVkS2V5LCBlcnJv
ck1lc3NhZ2UpIHsKICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLnB1dCgKICAgICAgIHsgdGl0bGU6
ICdCZWRyb2NrIE5pZ2h0cyAnICsgZXhwZWN0ZWRLZXksIGF1dGhvcjogJ0Jhcm5leScgfSk7Ci0g
IGNvbnN0IGV2ZW50V2F0Y2hlciA9IHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KTsK
LSAgcmV0dXJuIGV2ZW50V2F0Y2hlci53YWl0X2Zvcignc3VjY2VzcycpLnRoZW4oKCkgPT4gewot
ICAgIGNvbnN0IHJlc3VsdCA9IHJlcXVlc3QucmVzdWx0OworICByZXR1cm4gcHJvbWlzZUZvclJl
cXVlc3QodGVzdENhc2UsIHJlcXVlc3QpLnRoZW4ocmVzdWx0ID0+IHsKICAgICBhc3NlcnRfZXF1
YWxzKHJlc3VsdCwgZXhwZWN0ZWRLZXksIGVycm9yTWVzc2FnZSk7CiAgIH0pOwogfQpAQCAtMjMw
LDkgKzI0OSw3IEBAIGZ1bmN0aW9uIGNoZWNrU3RvcmVHZW5lcmF0b3IodGVzdENhc2UsIHMKIC8v
IGlzIHVzaW5nIGl0IGluY29ycmVjdGx5LgogZnVuY3Rpb24gY2hlY2tTdG9yZUNvbnRlbnRzKHRl
c3RDYXNlLCBzdG9yZSwgZXJyb3JNZXNzYWdlKSB7CiAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5n
ZXQoMTIzNDU2KTsKLSAgY29uc3QgZXZlbnRXYXRjaGVyID0gcmVxdWVzdFdhdGNoZXIodGVzdENh
c2UsIHJlcXVlc3QpOwotICByZXR1cm4gZXZlbnRXYXRjaGVyLndhaXRfZm9yKCdzdWNjZXNzJyku
dGhlbigoKSA9PiB7Ci0gICAgY29uc3QgcmVzdWx0ID0gcmVxdWVzdC5yZXN1bHQ7CisgIHJldHVy
biBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCkudGhlbihyZXN1bHQgPT4gewog
ICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmlzYm4sIEJPT0tTX1JFQ09SRF9EQVRBWzBdLmlzYm4s
IGVycm9yTWVzc2FnZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuYXV0aG9yLCBCT09LU19S
RUNPUkRfREFUQVswXS5hdXRob3IsIGVycm9yTWVzc2FnZSk7CiAgICAgYXNzZXJ0X2VxdWFscyhy
ZXN1bHQudGl0bGUsIEJPT0tTX1JFQ09SRF9EQVRBWzBdLnRpdGxlLCBlcnJvck1lc3NhZ2UpOwpA
QCAtMjQ3LDkgKzI2NCw3IEBAIGZ1bmN0aW9uIGNoZWNrU3RvcmVDb250ZW50cyh0ZXN0Q2FzZSwg
c3QKIC8vIGlzIHVzaW5nIGl0IGluY29ycmVjdGx5LgogZnVuY3Rpb24gY2hlY2tBdXRob3JJbmRl
eENvbnRlbnRzKHRlc3RDYXNlLCBpbmRleCwgZXJyb3JNZXNzYWdlKSB7CiAgIGNvbnN0IHJlcXVl
c3QgPSBpbmRleC5nZXQoQk9PS1NfUkVDT1JEX0RBVEFbMl0uYXV0aG9yKTsKLSAgY29uc3QgZXZl
bnRXYXRjaGVyID0gcmVxdWVzdFdhdGNoZXIodGVzdENhc2UsIHJlcXVlc3QpOwotICByZXR1cm4g
ZXZlbnRXYXRjaGVyLndhaXRfZm9yKCdzdWNjZXNzJykudGhlbigoKSA9PiB7Ci0gICAgY29uc3Qg
cmVzdWx0ID0gcmVxdWVzdC5yZXN1bHQ7CisgIHJldHVybiBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0
Q2FzZSwgcmVxdWVzdCkudGhlbihyZXN1bHQgPT4gewogICAgIGFzc2VydF9lcXVhbHMocmVzdWx0
LmlzYm4sIEJPT0tTX1JFQ09SRF9EQVRBWzJdLmlzYm4sIGVycm9yTWVzc2FnZSk7CiAgICAgYXNz
ZXJ0X2VxdWFscyhyZXN1bHQudGl0bGUsIEJPT0tTX1JFQ09SRF9EQVRBWzJdLnRpdGxlLCBlcnJv
ck1lc3NhZ2UpOwogICB9KTsKQEAgLTI2Myw5ICsyNzgsNyBAQCBmdW5jdGlvbiBjaGVja0F1dGhv
ckluZGV4Q29udGVudHModGVzdENhCiAvLyBpcyB1c2luZyBpdCBpbmNvcnJlY3RseS4KIGZ1bmN0
aW9uIGNoZWNrVGl0bGVJbmRleENvbnRlbnRzKHRlc3RDYXNlLCBpbmRleCwgZXJyb3JNZXNzYWdl
KSB7CiAgIGNvbnN0IHJlcXVlc3QgPSBpbmRleC5nZXQoQk9PS1NfUkVDT1JEX0RBVEFbMl0udGl0
bGUpOwotICBjb25zdCBldmVudFdhdGNoZXIgPSByZXF1ZXN0V2F0Y2hlcih0ZXN0Q2FzZSwgcmVx
dWVzdCk7Ci0gIHJldHVybiBldmVudFdhdGNoZXIud2FpdF9mb3IoJ3N1Y2Nlc3MnKS50aGVuKCgp
ID0+IHsKLSAgICBjb25zdCByZXN1bHQgPSByZXF1ZXN0LnJlc3VsdDsKKyAgcmV0dXJuIHByb21p
c2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KS50aGVuKHJlc3VsdCA9PiB7CiAgICAgYXNz
ZXJ0X2VxdWFscyhyZXN1bHQuaXNibiwgQk9PS1NfUkVDT1JEX0RBVEFbMl0uaXNibiwgZXJyb3JN
ZXNzYWdlKTsKICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5hdXRob3IsIEJPT0tTX1JFQ09SRF9E
QVRBWzJdLmF1dGhvciwgZXJyb3JNZXNzYWdlKTsKICAgfSk7CkBAIC0yOTAsMyArMzAzLDQxIEBA
IGZ1bmN0aW9uIGxhcmdlVmFsdWUoc2l6ZSwgc2VlZCkgewogCiAgIHJldHVybiBidWZmZXI7CiB9
CisKK2FzeW5jIGZ1bmN0aW9uIGRlbGV0ZUFsbERhdGFiYXNlcyh0ZXN0Q2FzZSkgeworICBjb25z
dCBkYnNfdG9fZGVsZXRlID0gYXdhaXQgaW5kZXhlZERCLmRhdGFiYXNlcygpOworICBmb3IoIGNv
bnN0IGRiX2luZm8gb2YgZGJzX3RvX2RlbGV0ZSkgeworICAgIGxldCByZXF1ZXN0ID0gaW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKGRiX2luZm8ubmFtZSk7CisgICAgbGV0IGV2ZW50V2F0Y2hlciA9
IHJlcXVlc3RXYXRjaGVyKHRlc3RDYXNlLCByZXF1ZXN0KTsKKyAgICBhd2FpdCBldmVudFdhdGNo
ZXIud2FpdF9mb3IoJ3N1Y2Nlc3MnKTsKKyAgfQorfQorCisvLyBLZWVwcyB0aGUgcGFzc2VkIHRy
YW5zYWN0aW9uIGFsaXZlIGluZGVmaW5pdGVseSAoYnkgbWFraW5nIHJlcXVlc3RzCisvLyBhZ2Fp
bnN0IHRoZSBuYW1lZCBzdG9yZSkuIFJldHVybnMgYSBmdW5jdGlvbiB0aGF0IGFzc2VydHMgdGhh
dCB0aGUKKy8vIHRyYW5zYWN0aW9uIGhhcyBub3QgYWxyZWFkeSBjb21wbGV0ZWQgYW5kIHRoZW4g
ZW5kcyB0aGUgcmVxdWVzdCBsb29wIHNvIHRoYXQKKy8vIHRoZSB0cmFuc2FjdGlvbiBtYXkgYXV0
b2NvbW1pdCBhbmQgY29tcGxldGUuCitmdW5jdGlvbiBrZWVwQWxpdmUodGVzdENhc2UsIHRyYW5z
YWN0aW9uLCBzdG9yZU5hbWUpIHsKKyAgbGV0IGNvbXBsZXRlZCA9IGZhbHNlOworICB0cmFuc2Fj
dGlvbi5hZGRFdmVudExpc3RlbmVyKCdjb21wbGV0ZScsICgpID0+IHsgY29tcGxldGVkID0gdHJ1
ZTsgfSk7CisKKyAgbGV0IGtlZXBTcGlubmluZyA9IHRydWU7CisKKyAgZnVuY3Rpb24gc3Bpbigp
IHsKKyAgICBpZiAoIWtlZXBTcGlubmluZykKKyAgICAgIHJldHVybjsKKyAgICB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZShzdG9yZU5hbWUpLmdldCgwKS5vbnN1Y2Nlc3MgPSBzcGluOworICB9Cisg
IHNwaW4oKTsKKworICByZXR1cm4gdGVzdENhc2Uuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3Nl
cnRfZmFsc2UoY29tcGxldGVkLCAnVHJhbnNhY3Rpb24gY29tcGxldGVkIHdoaWxlIGtlcHQgYWxp
dmUnKTsKKyAgICBrZWVwU3Bpbm5pbmcgPSBmYWxzZTsKKyAgfSk7Cit9CisKKy8vIFJldHVybiBh
IHByb21pc2UgdGhhdCByZXNvbHZlcyBhZnRlciBhIHNldFRpbWVvdXQgZmluaXNoZXMgdG8gYnJl
YWsgdXAgdGhlCisvLyBzY29wZSBvZiBhIGZ1bmN0aW9uJ3MgZXhlY3V0aW9uLgorZnVuY3Rpb24g
dGltZW91dFByb21pc2UobXMpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geyBz
ZXRUaW1lb3V0KHJlc29sdmUsIG1zKTsgfSk7Cit9CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9zdXBwb3J0LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3N1cHBvcnQuanMJKHJldmlzaW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N1cHBvcnQuanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsNiArMSwzIEBACi12YXIgZGF0YWJhc2VOYW1lID0gImRhdGFiYXNlIjsKLXZhciBkYXRh
YmFzZVZlcnNpb24gPSAxOwotCiAvKiBEZWxldGUgY3JlYXRlZCBkYXRhYmFzZXMKICAqCiAgKiBH
byB0aHJvdWdoIGVhY2ggZmluaXNoZWQgdGVzdCwgc2VlIGlmIGl0IGhhcyBhbiBhc3NvY2lhdGVk
IGRhdGFiYXNlLiBDbG9zZQpAQCAtMTcwLDE4ICsxNjcsMTggQEAgZnVuY3Rpb24gaXNfdHJhbnNh
Y3Rpb25fYWN0aXZlKHR4LCBzdG9yZQogICB9CiB9CiAKLS8vIEtlZXAgdGhlIHBhc3NlZCB0cmFu
c2FjdGlvbiBhbGl2ZSBpbmRlZmluaXRlbHkgKGJ5IG1ha2luZyByZXF1ZXN0cwotLy8gYWdhaW5z
dCB0aGUgbmFtZWQgc3RvcmUpLiBSZXR1cm5zIGEgZnVuY3Rpb24gdG8gdG8gbGV0IHRoZQotLy8g
dHJhbnNhY3Rpb24gZmluaXNoLCBhbmQgYXNzZXJ0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBpcyBu
b3QgeWV0Ci0vLyBmaW5pc2hlZC4KKy8vIEtlZXBzIHRoZSBwYXNzZWQgdHJhbnNhY3Rpb24gYWxp
dmUgaW5kZWZpbml0ZWx5IChieSBtYWtpbmcgcmVxdWVzdHMKKy8vIGFnYWluc3QgdGhlIG5hbWVk
IHN0b3JlKS4gUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgYXNzZXJ0cyB0aGF0IHRoZQorLy8gdHJh
bnNhY3Rpb24gaGFzIG5vdCBhbHJlYWR5IGNvbXBsZXRlZCBhbmQgdGhlbiBlbmRzIHRoZSByZXF1
ZXN0IGxvb3Agc28gdGhhdAorLy8gdGhlIHRyYW5zYWN0aW9uIG1heSBhdXRvY29tbWl0IGFuZCBj
b21wbGV0ZS4KIGZ1bmN0aW9uIGtlZXBfYWxpdmUodHgsIHN0b3JlX25hbWUpIHsKICAgbGV0IGNv
bXBsZXRlZCA9IGZhbHNlOwogICB0eC5hZGRFdmVudExpc3RlbmVyKCdjb21wbGV0ZScsICgpID0+
IHsgY29tcGxldGVkID0gdHJ1ZTsgfSk7CiAKLSAgbGV0IHBpbiA9IHRydWU7CisgIGxldCBrZWVw
U3Bpbm5pbmcgPSB0cnVlOwogCiAgIGZ1bmN0aW9uIHNwaW4oKSB7Ci0gICAgaWYgKCFwaW4pCisg
ICAgaWYgKCFrZWVwU3Bpbm5pbmcpCiAgICAgICByZXR1cm47CiAgICAgdHgub2JqZWN0U3RvcmUo
c3RvcmVfbmFtZSkuZ2V0KDApLm9uc3VjY2VzcyA9IHNwaW47CiAgIH0KQEAgLTE4OSw2ICsxODYs
NiBAQCBmdW5jdGlvbiBrZWVwX2FsaXZlKHR4LCBzdG9yZV9uYW1lKSB7CiAKICAgcmV0dXJuICgp
ID0+IHsKICAgICBhc3NlcnRfZmFsc2UoY29tcGxldGVkLCAnVHJhbnNhY3Rpb24gY29tcGxldGVk
IHdoaWxlIGtlcHQgYWxpdmUnKTsKLSAgICBwaW4gPSBmYWxzZTsKKyAgICBrZWVwU3Bpbm5pbmcg
PSBmYWxzZTsKICAgfTsKIH0KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1lLWJsb2NrZWQuaHRtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1lLWJsb2NrZWQuaHRtCShyZXZpc2lvbiAyNTAy
NjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS1ibG9ja2VkLmh0bQkod29ya2luZyBjb3B5KQpAQCAt
MTEsNyArMTEsNyBAQAogCiAgICAgdmFyIGRiLCBkYl9nb3RfdmVyc2lvbmNoYW5nZSwgZGIyLAog
ICAgICAgICBldmVudHMgPSBbXSwKLSAgICAgICAgdCA9IGFzeW5jX3Rlc3QoZG9jdW1lbnQudGl0
bGUsIHt0aW1lb3V0OiAxMDAwMH0pOworICAgICAgICB0ID0gYXN5bmNfdGVzdCgpOwogCiAgICAg
dC5zdGVwKGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgb3BlbnJxID0gaW5kZXhlZERCLm9wZW4o
J2RiJywgMyk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGltZS5odG0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tbGlmZXRpbWUuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1saWZldGlt
ZS5odG0JKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAKIAogICAgIHZhciBkYiwgZGJf
Z290X3ZlcnNpb25jaGFuZ2UsIGRiMiwKICAgICAgICAgZXZlbnRzID0gW10sCi0gICAgICAgIHQg
PSBhc3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KTsKKyAgICAgICAg
dCA9IGFzeW5jX3Rlc3QoKTsKIAogICAgIHQuc3RlcChmdW5jdGlvbigpIHsKICAgICAgICAgdmFy
IG9wZW5ycSA9IGluZGV4ZWREQi5vcGVuKCdkYicsIDMpOwpJbmRleDogTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhl
ZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5z
YWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55LWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgQ29tbWl0
dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMCAKK1BBU1MgQ29tbWl0dGVkIGRh
dGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMSAKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2Fu
IGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMiAKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJl
YWQgYmFjayBvdXQ6IGNhc2UgMyAKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFj
ayBvdXQ6IGNhc2UgNCAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRh
dGl2ZS5hbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxpdHku
dGVudGF0aXZlLmFueS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQtZHVy
YWJpbGl0eS50ZW50YXRpdmUuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJl
IHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkuanMJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5h
bnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorLy8gTUVUQTogc2NyaXB0PXN1
cHBvcnQtcHJvbWlzZXMuanMKKy8vIE1FVEE6IHRpbWVvdXQ9bG9uZworCisvKioKKyAqIFRoaXMg
ZmlsZSBjb250YWlucyB0aGUgd2VicGxhdGZvcm0gc21va2UgdGVzdHMgZm9yIHRoZSBvcHRpb25h
bAorICogcmVsYXhlZER1cmFiaWxpdHkgcGFyYW1ldGVyIG9mIHRoZSBJbmRleGVkREIgdHJhbnNh
Y3Rpb24gQVBJLgorICoKKyAqIEBhdXRob3IgZW5uZUBjaHJvbWl1bS5vcmcKKyAqLworCisvLyBT
bW9rZSB0ZXN0IG9wdGlvbmFsIHBhcmFtZXRlciBvbiBJbmRleGVkREIudHJhbnNhY3Rpb24uCits
ZXQgY2FzZXMgPSBbCisgIHVuZGVmaW5lZCwKKyAge30sCisgIHtkdXJhYmlsaXR5OiAiZGVmYXVs
dCJ9LAorICB7ZHVyYWJpbGl0eTogInJlbGF4ZWQifSwKKyAge2R1cmFiaWxpdHk6ICJzdHJpY3Qi
fSwKK107CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgY2FzZXMubGVuZ3RoOyArK2kpIHsKKyAgcHJv
bWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0
ZURhdGFiYXNlKHRlc3RDYXNlLCBkYiA9PiB7CisgICAgICBjcmVhdGVCb29rc1N0b3JlKHRlc3RD
YXNlLCBkYik7CisgICAgfSk7CisgICAgY29uc3QgdHhuID0gZGIudHJhbnNhY3Rpb24oWydib29r
cyddLCAncmVhZHdyaXRlJywgY2FzZXNbaV0pOworICAgIGNvbnN0IG9iamVjdFN0b3JlID0gdHhu
Lm9iamVjdFN0b3JlKCdib29rcycpOworICAgIG9iamVjdFN0b3JlLnB1dCh7aXNibjogJ29uZScs
IHRpdGxlOiAndGl0bGUxJ30pOworICAgIGF3YWl0IHByb21pc2VGb3JUcmFuc2FjdGlvbih0ZXN0
Q2FzZSwgdHhuKTsKKworICAgIGNvbnN0IHR4bjIgPSBkYi50cmFuc2FjdGlvbihbJ2Jvb2tzJ10s
ICdyZWFkb25seScpOworICAgIGNvbnN0IG9iamVjdFN0b3JlMiA9IHR4bjIub2JqZWN0U3RvcmUo
J2Jvb2tzJyk7CisgICAgY29uc3QgZ2V0VGl0bGUxID0gb2JqZWN0U3RvcmUyLmdldCgnb25lJyk7
CisgICAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRlc3RDYXNlLCB0eG4yKTsKKyAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKAorICAgICAgICBbZ2V0VGl0bGUxLnJlc3VsdC50aXRsZV0sCisg
ICAgICAgIFsndGl0bGUxJ10sCisgICAgICAgICdUaGUgdGl0bGUgc2hvdWxkIG1hdGNoIHRoYXQg
d2hpY2ggd2FzIHB1dC4nKTsKKyAgICBkYi5jbG9zZSgpOworICB9LCAnQ29tbWl0dGVkIGRhdGEg
Y2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgJyArIGkpOworfQpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVs
YXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi90cmFuc2FjdGlvbi1yZWxheGVkLWR1cmFiaWxpdHkudGVudGF0aXZlLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQtZHVyYWJpbGl0
eS50ZW50YXRpdmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw3IEBACisKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNh
c2UgMCAKK1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMSAK
K1BBU1MgQ29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMiAKK1BBU1Mg
Q29tbWl0dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgMyAKK1BBU1MgQ29tbWl0
dGVkIGRhdGEgY2FuIGJlIHJlYWQgYmFjayBvdXQ6IGNhc2UgNCAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24t
cmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkud29ya2VyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
dHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5hbnkud29ya2VyLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVsYXhlZC1kdXJhYmlsaXR5LnRlbnRhdGl2ZS5h
bnkud29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZp
bGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUg
dGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tcmVxdWVzdHF1ZXVlLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZXF1ZXN0cXVl
dWUuaHRtCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1yZXF1ZXN0cXVldWUuaHRtCSh3
b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogCiA8c2NyaXB0PgogCi12YXIgZGIsIHQgPSBh
c3luY190ZXN0KGRvY3VtZW50LnRpdGxlLCB7dGltZW91dDogMTAwMDB9KSwKK3ZhciBkYiwgdCA9
IGFzeW5jX3Rlc3QoKSwKICAgICBrZXlzID0geyB0eG46IFtdLCB0eG4yOiBbXSB9LAogICAgIG9w
ZW5fcnEgPSBjcmVhdGVkYih0KQogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbl9idWJibGUtYW5kLWNhcHR1cmUu
aHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uX2J1YmJsZS1hbmQtY2FwdHVyZS5odG0JKHJldmlz
aW9uIDI1MDI2MCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uX2J1YmJsZS1hbmQtY2FwdHVyZS5odG0JKHdvcmtpbmcg
Y29weSkKQEAgLTksNyArOSw3IEBACiA8c2NyaXB0PgogICAgIHZhciBldmVudHMgPSBbXTsKIAot
ICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdChkb2N1bWVudC50aXRsZSwge3Rp
bWVvdXQ6IDEwMDAwfSkpOworICAgIHZhciBvcGVuX3JxID0gY3JlYXRlZGIoYXN5bmNfdGVzdCgp
KTsKICAgICBvcGVuX3JxLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAg
dmFyIGRiID0gZS50YXJnZXQucmVzdWx0OwogICAgICAgICB2YXIgdHhuID0gZS50YXJnZXQudHJh
bnNhY3Rpb247CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi93M2MtaW1wb3J0LmxvZwko
cmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsNyAr
MSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApAQCAtMTQsMTEg
KzE0LDEzIEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGUKIE5vbmUK
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9PV05FUlMKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9NRVRBLnltbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL1JFQURNRS5tZAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2Fi
b3J0LWluLWluaXRpYWwtdXBncmFkZW5lZWRlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmlnaW50X3ZhbHVlLmh0bQotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2JpbmRpbmdz
LWluamVjdC1rZXkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2JpbmRpbmdzLWluamVjdC1rZXlzLWJ5cGFzcy1zZXR0ZXJzLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9i
aW5kaW5ncy1pbmplY3QtdmFsdWVzLWJ5cGFzcy1jaGFpbi5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYmluZGluZ3MtaW5qZWN0LXZh
bHVlcy1ieXBhc3Mtc2V0dGVycy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvY2xvbmUtYmVmb3JlLWtleXBhdGgtZXZhbC5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvY2xv
c2UtaW4tdXBncmFkZW5lZWRlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvY3Vyc29yLW92ZXJsb2Fkcy5odG0KQEAgLTI4LDEwICsz
MCwxMyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2ZpcmUtZXJyb3ItZXZlbnQtZXhjZXB0aW9uLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJl
LXN1Y2Nlc3MtZXZlbnQtZXhjZXB0aW9uLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9maXJlLXVwZ3JhZGVuZWVkZWQtZXZlbnQtZXhj
ZXB0aW9uLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9nZXQtZGF0YWJhc2VzLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2dsb2JhbHNjb3BlLWluZGV4ZWREQi1TYW1l
T2JqZWN0Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9oaXN0b3JpY2FsLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGItYmluYXJ5LWtleS1kZXRhY2hlZC5odG0KIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGIt
YmluYXJ5LWtleS1yb3VuZHRyaXAuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiLWV4cGxpY2l0LWNvbW1pdC10aHJvdy5hbnkuanMK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGItZXhwbGljaXQtY29tbWl0LmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYl9iaW5hcnlfa2V5X2NvbnZlcnNpb24uaHRtCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
X3dlYndvcmtlcnMuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWFkdmFuY2UtY29udGludWUtYXN5bmMuaHRtCkBAIC01
Myw2ICs1OCw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLWtleS5odG0KIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3ItcHJp
bWFyeWtleS5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJjdXJzb3ItcmVxdWVzdC1zb3VyY2UuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvci1yZXF1ZXN0
LmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmN1cnNvci1yZXVzZWQuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiY3Vyc29yLXNvdXJjZS5odG0KIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJjdXJzb3It
dXBkYXRlLWV4Y2VwdGlvbi1vcmRlci5odG0KQEAgLTE0MywxMiArMTQ5LDE0IEBAIExpc3Qgb2Yg
ZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaWRiZGF0YWJhc2VfdHJhbnNhY3Rpb24zLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmRhdGFiYXNlX3RyYW5zYWN0aW9u
NC5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJkYXRhYmFzZV90cmFuc2FjdGlvbjUuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1kYXRhYmFzZXMtb3Bh
cXVlLW9yaWdpbi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1kZWxldGVEYXRhYmFzZS1vcGFxdWUtb3JpZ2luLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pZGJmYWN0b3J5LWRlbGV0ZURhdGFiYXNlLXJlcXVlc3Qtc3VjY2Vzcy5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9y
eS1vcGVuLWVycm9yLXByb3BlcnRpZXMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmZhY3Rvcnktb3Blbi1vcGFxdWUtb3JpZ2lu
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJmYWN0b3J5LW9wZW4tcmVxdWVzdC1lcnJvci5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1vcGVuLXJl
cXVlc3Qtc3VjY2Vzcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeS1vcmlnaW4taXNvbGF0aW9uLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0
b3J5X2NtcC5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJmYWN0b3J5X2NtcDIuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9jbXAzLmh0bQpAQCAtMjAz
LDYgKzIxMSw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfZ2V0S2V5Ny5odG0KIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9n
ZXRLZXk4Lmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmluZGV4X2luZGV4TmFtZXMuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfa2V5UGF0aC5hbnkuanMK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJpbmRleF9vcGVuQ3Vyc29yLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29wZW5DdXJzb3IyLmh0bQogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X29w
ZW5DdXJzb3IzLmh0bQpAQCAtMjg1LDYgKzI5NCw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmVfZ2V0QWxsS2V5cy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZ2V0S2V5Lmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZV9pbmRleC5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9rZXlQYXRoLmFueS5qcwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3Jl
X29wZW5DdXJzb3IuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfb3BlbkN1cnNvcl9pbnZhbGlkLmh0bQogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9i
amVjdHN0b3JlX29wZW5LZXlDdXJzb3IuaHRtCkBAIC0zMTYsOCArMzI2LDggQEAgTGlzdCBvZiBm
aWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJ0cmFuc2FjdGlvbl9vYmplY3RTdG9yZU5hbWVzLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ2ZXJzaW9uY2hhbmdl
ZXZlbnQuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvaWRid29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbmRleF9zb3J0X29yZGVyLmh0
bQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2ludGVyZmFjZXMuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaW50ZXJsZWF2ZWQtY3Vyc29ycy1jb21tb24uanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmxlYXZl
ZC1jdXJzb3JzLWxhcmdlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmxlYXZlZC1jdXJzb3JzLXNtYWxsLmh0bWwKQEAgLTM0
OSw2ICszNTksNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3JlcXVlc3QtZXZlbnQtb3JkZXJpbmcuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Jl
cXVlc3RfYnViYmxlLWFuZC1jYXB0dXJlLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cmluZy1saXN0LW9yZGVyaW5nLmh0bQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N0cnVj
dHVyZWQtY2xvbmUuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvc3VwcG9ydC1wcm9taXNlcy5qcwogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3N1cHBvcnQuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlv
bi1hYm9ydC1nZW5lcmF0b3ItcmV2ZXJ0Lmh0bWwKQEAgLTM2MSw2ICszNzIsNyBAQCBMaXN0IG9m
IGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1lLWJsb2NrZWQuaHRtCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tbGlmZXRp
bWUtZW1wdHkuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWxpZmV0aW1lLmh0bQorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLXJlbGF4ZWQt
ZHVyYWJpbGl0eS50ZW50YXRpdmUuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tcmVxdWVzdHF1ZXVlLmh0bQog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Ry
YW5zYWN0aW9uX2J1YmJsZS1hbmQtY2FwdHVyZS5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi91cGdyYWRlLXRyYW5zYWN0aW9uLWRlYWN0
aXZhdGlvbi10aW1pbmcuaHRtbApAQCAtMzY5LDUgKzM4MSw0IEBAIExpc3Qgb2YgZmlsZXM6CiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdXBn
cmFkZS10cmFuc2FjdGlvbi1saWZlY3ljbGUtdXNlci1hYm9ydGVkLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi92YWx1ZS5odG0KIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi92YWx1
ZV9yZWN1cnNpdmUuaHRtCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvd2FzbS1tb2R1bGUtdmFsdWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRlci1zdGFydmF0aW9uLmh0
bQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvd2FzbS1tb2R1bGUtdmFsdWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dhc20tbW9k
dWxlLXZhbHVlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvd2FzbS1tb2R1bGUtdmFs
dWUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsNSArMCwwIEBACi0KLUZBSUwgV2Vi
QXNzZW1ibHkgbW9kdWxlIGFzIGFuIEluZGV4ZWREQiB2YWx1ZSBUaGUgb2JqZWN0IGNhbiBub3Qg
YmUgY2xvbmVkLgotRkFJTCBXZWJBc3NlbWJseSBtb2R1bGUgaW4gYSBKYXZhU2NyaXB0IG9iamVj
dCBJbmRleGVkREIgdmFsdWUgVGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4KLUZBSUwgV2Vi
QXNzZW1ibHkgbW9kdWxlIGluIGFuIEluZGV4ZWREQiB2YWx1ZSB3aXRoIGFuIGlubGluZSBrZXkg
VGhlIG9iamVjdCBjYW4gbm90IGJlIGNsb25lZC4KLQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvd2FzbS1tb2R1bGUtdmFsdWUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi93YXNtLW1vZHVsZS12YWx1ZS5odG1sCShyZXZpc2lvbiAyNTAyNjApCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi93
YXNtLW1vZHVsZS12YWx1ZS5odG1sCShub25leGlzdGVudCkKQEAgLTEsMTA5ICswLDAgQEAKLTwh
ZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bWV0YSBuYW1lPSJ0aW1lb3V0
IiBjb250ZW50PSJsb25nIj4KLTx0aXRsZT5JbmRleGVkREI6IFdlYkFzc2VtYmx5IG1vZHVsZSB2
YWx1ZXM8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vSW5kZXhlZERCLyI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd2ViYXNzZW1i
bHkuZ2l0aHViLmlvL3NwZWMvIj4KLTxsaW5rIHJlbD0iYXV0aG9yIiBocmVmPSJwd25hbGxAY2hy
b21pdW0ub3JnIiB0aXRsZT0iVmljdG9yIENvc3RhbiI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ic3VwcG9ydC1wcm9taXNl
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotJ3VzZSBzdHJpY3QnOwotCi0vLyBCaW5hcnkgcmVw
cmVzZW50YXRpb24gZm9yIGEgV0FTTSBtb2R1bGUgdGhhdCBleHBvcnRzIGFuICJpbmMiIGZ1bmN0
aW9uLgotLy8KLS8vIFRoaXMgdGVzdCBjb3ZlcnMgc3RvcmluZyBXQVNNIG1vZHVsZXMgaW4gSW5k
ZXhlZERCLiBJdHMgZmFpbHVyZSBzaG91bGQgb25seQotLy8gYmUgZGVidWdnZWQgaWYgV0FTTSBz
cGVjaWZpY2F0aW9uIHRlc3RzIHBhc3MuIFRvIHRoaXMgZW5kLCB0aGUgdGVzdCBkb2VzIG5vdAot
Ly8gdXNlIHRoZSBXQVNNIG1vZHVsZSBidWlsZGVyIGhlbHBlcnMsIHRyYWRpbmcgb2ZmIFdBU00g
ZGVidWdnYWJpbGl0eSBpbiByZXR1cm4KLS8vIGZvciBoYXZpbmcgdGhlIFdBU00gd2lyZSBieXRl
cyBsaXN0ZWQgZXhwbGljaXRseSBpbiB0aGUgdGVzdCBib2R5LiBIYXZpbmcgdGhlCi0vLyB3aXJl
IGJ5dGVzIHNwZWxsZWQgb3V0IGNhbiBiZSBoZWxwZnVsIHdoZW4gZGVidWdnaW5nIEluZGV4ZWRE
QiBmYWlsdXJlcy4KLWxldCB3YXNtX21vZHVsZV9ieXRlcyA9IG5ldyBVaW50OEFycmF5KFsKLSAg
MHgwMCwgMHg2MSwgMHg3MywgMHg2ZCwgIC8vIE1hZ2ljLgotICAweDAxLCAweDAwLCAweDAwLCAw
eDAwLCAgLy8gVmVyc2lvbi4KLSAgMHgwMSwgMHgwNiwgMHgwMSwgICAgICAgICAgICAgIC8vIFR5
cGUgc2VjdGlvbiAtIDYgYnl0ZXMsIDEgZW50cnkKLSAgMHg2MCwgMHgwMSwgMHg3ZiwgMHgwMSwg
MHg3ZiwgIC8vIFR5cGUgMC4gRnVuY3Rpb246IChpMzIpIC0+IChpMzIpCi0gIDB4MDMsIDB4MDIs
IDB4MDEsICAgLy8gRnVuY3Rpb24gc2VjdGlvbiAtIDIgYnl0ZXMsIDEgZW50cnkKLSAgMHgwMCwg
ICAgICAgICAgICAgICAvLyBGdW5jdGlvbiAwOiBUeXBlIDAKLSAgMHgwNywgMHgwNywgMHgwMSwg
ICAgICAgICAgICAgIC8vIEV4cG9ydCBzZWN0aW9uIC0gNyBieXRlcywgMSBlbnRyeQotICAweDAz
LCAweDY5LCAweDZlLCAweDYzLCAgICAgICAgLy8gRXhwb3J0IDEuIHsgbmFtZTogImluYyIKLSAg
MHgwMCwgMHgwMCwgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGRlc2M6IGZ1bmN0
aW9uIDAgfQotICAweDBhLCAweDA5LCAweDAxLCAgLy8gQ29kZSBzZWN0aW9uOiA5IGJ5dGVzLCAx
IGVudHJ5Ci0gIDB4MDcsIDB4MDAsICAgICAgICAvLyBGdW5jdGlvbiAxOiA3IGNvZGUgYnl0ZXMs
IDAgbG9jYWxzCi0gIDB4MjAsIDB4MDAsICAgICAgICAvLyAgIGdldGxvY2FsIDAKLSAgMHg0MSwg
MHgwMSwgICAgICAgIC8vICAgaTMyLmNvbnN0IDEKLSAgMHg2YSwgICAgICAgICAgICAgIC8vICAg
aTMyLmFkZAotICAweDBiLCAgICAgICAgICAgICAgLy8gICBlbmQKLV0pOwotCi1wcm9taXNlX3Rl
c3QoYXN5bmMgdGVzdENhc2UgPT4gewotICBjb25zdCB3YXNtX21vZHVsZSA9IGF3YWl0IFdlYkFz
c2VtYmx5LmNvbXBpbGUod2FzbV9tb2R1bGVfYnl0ZXMuYnVmZmVyKTsKLQotICBjb25zdCBkYXRh
YmFzZSA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRlc3RDYXNlLCAoZGF0YWJhc2UsIHRyYW5zYWN0
aW9uKSA9PiB7Ci0gICAgY29uc3Qgc3RvcmUgPSBkYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgn
c3RvcmUnKTsKLSAgICBzdG9yZS5wdXQod2FzbV9tb2R1bGUsICdrZXkxJyk7Ci0gIH0pOwotCi0g
IGNvbnN0IHJlc3VsdCA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsK
LSAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwg
J3JlYWRvbmx5Jyk7Ci0gICAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmUnKTsKLSAgICBjb25zdCByZXF1ZXN0ID0gc3RvcmUuZ2V0KCdrZXkxJyk7Ci0gICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSAoZXZlbnQpID0+IHJlc29sdmUoZXZlbnQudGFyZ2V0LnJlc3VsdCk7
Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gKGV2ZW50KSA9PiByZWplY3QoZXZlbnQudGFyZ2V0LmVy
cm9yKTsKLSAgfSk7Ci0KLSAgZGF0YWJhc2UuY2xvc2UoKTsKLQotICBjb25zdCBpbnN0YW5jZSA9
IGF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKHJlc3VsdCk7Ci0gIGFzc2VydF9lcXVhbHMo
Ci0gICAgICBpbnN0YW5jZS5leHBvcnRzWydpbmMnXSg0MiksIDQzLCAnaW5jIHNob3VsZCBpbmNy
ZW1lbnQgaXRzIGFyZ3VtZW50Jyk7Ci19LCAnV2ViQXNzZW1ibHkgbW9kdWxlIGFzIGFuIEluZGV4
ZWREQiB2YWx1ZScpOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewotICBjb25z
dCB3YXNtX21vZHVsZSA9IGF3YWl0IFdlYkFzc2VtYmx5LmNvbXBpbGUod2FzbV9tb2R1bGVfYnl0
ZXMuYnVmZmVyKTsKLQotICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IGNyZWF0ZURhdGFiYXNlKHRl
c3RDYXNlLCAoZGF0YWJhc2UsIHRyYW5zYWN0aW9uKSA9PiB7Ci0gICAgY29uc3Qgc3RvcmUgPSBk
YXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKLSAgICBzdG9yZS5wdXQoeyBtb2R1
bGU6IHdhc21fbW9kdWxlIH0sICdrZXkxJyk7Ci0gIH0pOwotCi0gIGNvbnN0IHJlc3VsdCA9IGF3
YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICBjb25zdCB0cmFuc2Fj
dGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7Ci0gICAg
Y29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKLSAgICBjb25z
dCByZXF1ZXN0ID0gc3RvcmUuZ2V0KCdrZXkxJyk7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAo
ZXZlbnQpID0+IHJlc29sdmUoZXZlbnQudGFyZ2V0LnJlc3VsdCk7Ci0gICAgcmVxdWVzdC5vbmVy
cm9yID0gKGV2ZW50KSA9PiByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTsKLSAgfSk7Ci0KLSAg
ZGF0YWJhc2UuY2xvc2UoKTsKLQotICBjb25zdCBpbnN0YW5jZSA9IGF3YWl0IFdlYkFzc2VtYmx5
Lmluc3RhbnRpYXRlKHJlc3VsdC5tb2R1bGUpOwotICBhc3NlcnRfZXF1YWxzKAotICAgICAgaW5z
dGFuY2UuZXhwb3J0c1snaW5jJ10oNDIpLCA0MywgJ2luYyBzaG91bGQgaW5jcmVtZW50IGl0cyBh
cmd1bWVudCcpOwotfSwgJ1dlYkFzc2VtYmx5IG1vZHVsZSBpbiBhIEphdmFTY3JpcHQgb2JqZWN0
IEluZGV4ZWREQiB2YWx1ZScpOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4gewot
ICBjb25zdCB3YXNtX21vZHVsZSA9IGF3YWl0IFdlYkFzc2VtYmx5LmNvbXBpbGUod2FzbV9tb2R1
bGVfYnl0ZXMuYnVmZmVyKTsKLQotICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IGNyZWF0ZURhdGFi
YXNlKHRlc3RDYXNlLCAoZGF0YWJhc2UsIHRyYW5zYWN0aW9uKSA9PiB7Ci0gICAgY29uc3Qgc3Rv
cmUgPSBkYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnLCB7IGtleVBhdGg6ICdrZXkn
IH0pOwotICAgIHN0b3JlLnB1dCh7IGtleTogJ2tleTEnLCBtb2R1bGU6IHdhc21fbW9kdWxlIH0p
OwotICB9KTsKLQotICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwg
cmVqZWN0KSA9PiB7Ci0gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50cmFuc2FjdGlv
bihbJ3N0b3JlJ10sICdyZWFkb25seScpOwotICAgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlJyk7Ci0gICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldCgna2V5
MScpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gKGV2ZW50KSA9PiByZXNvbHZlKGV2ZW50LnRh
cmdldC5yZXN1bHQpOwotICAgIHJlcXVlc3Qub25lcnJvciA9IChldmVudCkgPT4gcmVqZWN0KGV2
ZW50LnRhcmdldC5lcnJvcik7Ci0gIH0pOwotCi0gIGRhdGFiYXNlLmNsb3NlKCk7Ci0KLSAgYXNz
ZXJ0X2VxdWFscygna2V5MScsIHJlc3VsdC5rZXkpOwotICBjb25zdCBpbnN0YW5jZSA9IGF3YWl0
IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKHJlc3VsdC5tb2R1bGUpOwotICBhc3NlcnRfZXF1YWxz
KAotICAgICAgaW5zdGFuY2UuZXhwb3J0c1snaW5jJ10oNDIpLCA0MywgJ2luYyBzaG91bGQgaW5j
cmVtZW50IGl0cyBhcmd1bWVudCcpOwotfSwgJ1dlYkFzc2VtYmx5IG1vZHVsZSBpbiBhbiBJbmRl
eGVkREIgdmFsdWUgd2l0aCBhbiBpbmxpbmUga2V5Jyk7Ci0KLTwvc2NyaXB0PgpJbmRleDogTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvd3JpdGVy
LXN0YXJ2YXRpb24uaHRtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRlci1zdGFydmF0aW9uLmh0bQkocmV2aXNp
b24gMjUwMjYwKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvd3JpdGVyLXN0YXJ2YXRpb24uaHRtCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw3
ICsxMiw3IEBACiAgICAgdmFyIHdyaXRlX3JlcXVlc3RfY291bnQgPSAwLCB3cml0ZV9zdWNjZXNz
X2NvdW50ID0gMDsKICAgICB2YXIgUlFfQ09VTlQgPSAyNTsKIAotICAgIHZhciBvcGVuX3JxID0g
Y3JlYXRlZGIoYXN5bmNfdGVzdCh1bmRlZmluZWQsIHt0aW1lb3V0OiAyMDAwMH0pKTsKKyAgICB2
YXIgb3Blbl9ycSA9IGNyZWF0ZWRiKGFzeW5jX3Rlc3QodW5kZWZpbmVkKSk7CiAgICAgb3Blbl9y
cS5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgIGRiID0gZS50YXJnZXQu
cmVzdWx0OwogICAgICAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgicyIpCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJh
dG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtY29tbW9uLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5l
cmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1jb21tb24uanMJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5
LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWNvbW1vbi5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDkzIEBACisvLyBSZXR1cm5zIHRoZSAibmFtZSIgcHJvcGVydHkgd3JpdHRl
biB0byB0aGUgb2JqZWN0IHdpdGggdGhlIGdpdmVuIElELgorZnVuY3Rpb24gbmFtZUZvcklkKGlk
KSB7CisgIHJldHVybiBgT2JqZWN0ICR7aWR9YDsKK30KKworLy8gSW5pdGlhbCBkYXRhYmFzZSBz
ZXR1cCB1c2VkIGJ5IGFsbCB0aGUgcmVhZGluZy1hdXRvaW5jcmVtZW50IHRlc3RzLgorYXN5bmMg
ZnVuY3Rpb24gc2V0dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2UpIHsKKyAgY29uc3Qg
ZGF0YWJhc2UgPSBhd2FpdCBjcmVhdGVEYXRhYmFzZSh0ZXN0Q2FzZSwgZGF0YWJhc2UgPT4gewor
ICAgIGNvbnN0IHN0b3JlID0gZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoCisgICAgICAgICdz
dG9yZScsIHsgYXV0b0luY3JlbWVudDogdHJ1ZSwga2V5UGF0aDogJ2lkJyB9KTsKKyAgICBzdG9y
ZS5jcmVhdGVJbmRleCgnYnlfbmFtZScsICduYW1lJywgeyB1bmlxdWU6IHRydWUgfSk7CisgICAg
c3RvcmUuY3JlYXRlSW5kZXgoJ2J5X2lkJywgJ2lkJywgeyB1bmlxdWU6IHRydWUgfSk7CisKKyAg
ICAvLyBDb3ZlciB3cml0aW5nIGZyb20gdGhlIGluaXRpYWwgdXBncmFkZSB0cmFuc2FjdGlvbi4K
KyAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxNjsgKytpKSB7CisgICAgICBpZiAoaSAlIDIgPT0g
MCkgeworICAgICAgICBzdG9yZS5wdXQoe25hbWU6IG5hbWVGb3JJZChpKSwgaWQ6IGl9KTsKKyAg
ICAgIH0gZWxzZSB7CisgICAgICAgIHN0b3JlLnB1dCh7bmFtZTogbmFtZUZvcklkKGkpfSk7Cisg
ICAgICB9CisgICAgfQorICB9KTsKKworICAvLyBDb3ZlciB3cml0aW5nIGZyb20gYSBzdWJzZXF1
ZW50IHRyYW5zYWN0aW9uLgorICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0
aW9uKFsnc3RvcmUnXSwgJ3JlYWR3cml0ZScpOworICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZScpOworICBmb3IgKGxldCBpID0gMTc7IGkgPD0gMzI7ICsraSkg
eworICAgIGlmIChpICUgMiA9PSAwKSB7CisgICAgICBzdG9yZS5wdXQoe25hbWU6IG5hbWVGb3JJ
ZChpKSwgaWQ6IGl9KTsKKyAgICB9IGVsc2UgeworICAgICAgc3RvcmUucHV0KHtuYW1lOiBuYW1l
Rm9ySWQoaSl9KTsKKyAgICB9CisgIH0KKyAgYXdhaXQgcHJvbWlzZUZvclRyYW5zYWN0aW9uKHRl
c3RDYXNlLCB0cmFuc2FjdGlvbik7CisKKyAgcmV0dXJuIGRhdGFiYXNlOworfQorCisvLyBSZXR1
cm5zIHRoZSBJRHMgdXNlZCBieSB0aGUgb2JqZWN0IHN0b3JlLCBzb3J0ZWQgYXMgc3RyaW5ncy4K
Ky8vCisvLyBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBjb3JyZWN0IG9yZGVyIG9mIHJl
Y29yZHMgd2hlbiByZXRyaWV2ZWQgZnJvbSBhbgorLy8gaW5kZXggdGhhdCB1c2VzIHN0cmluZ2lm
aWVkIElEcy4KK2Z1bmN0aW9uIGlkc1NvcnRlZEJ5U3RyaW5nQ29tcGFyZSgpIHsKKyAgY29uc3Qg
c3RyaW5nSWRzID0gW107CisgIGZvciAobGV0IGkgPSAxOyBpIDw9IDMyOyArK2kpCisgICAgc3Ry
aW5nSWRzLnB1c2goaSk7CisgIHN0cmluZ0lkcy5zb3J0KChhLCBiKSA9PiBpbmRleGVkREIuY21w
KGAke2F9YCwgYCR7Yn1gKSk7CisgIHJldHVybiBzdHJpbmdJZHM7Cit9CisKK2FzeW5jIGZ1bmN0
aW9uIGl0ZXJhdGVDdXJzb3IodGVzdENhc2UsIGN1cnNvclJlcXVlc3QsIGNhbGxiYWNrKSB7Cisg
IC8vIFRoaXMgdXNlcyByZXF1ZXN0V2F0Y2hlcigpIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmcg
cHJvbWlzZUZvclJlcXVlc3QoKQorICAvLyBpbnNpZGUgdGhlIGxvb3AgdG8gYXZvaWQgY3JlYXRp
bmcgbXVsdGlwbGUgRXZlbnRXYXRjaGVyIGluc3RhbmNlcy4gSW4gdHVybiwKKyAgLy8gdGhpcyBh
dm9pZHMgZW5kaW5nIHVwIHdpdGggTyhOKSBsaXN0ZW5lcnMgZm9yIHRoZSByZXF1ZXN0IGFuZCBP
KE5eMikKKyAgLy8gZGlzcGF0Y2hlZCBldmVudHMuCisgIGNvbnN0IGV2ZW50V2F0Y2hlciA9IHJl
cXVlc3RXYXRjaGVyKHRlc3RDYXNlLCBjdXJzb3JSZXF1ZXN0KTsKKyAgd2hpbGUgKHRydWUpIHsK
KyAgICBjb25zdCBldmVudCA9IGF3YWl0IGV2ZW50V2F0Y2hlci53YWl0X2Zvcignc3VjY2Vzcycp
OworICAgIGNvbnN0IGN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgaWYgKGN1cnNv
ciA9PT0gbnVsbCkKKyAgICAgIHJldHVybjsKKyAgICBjYWxsYmFjayhjdXJzb3IpOworICAgIGN1
cnNvci5jb250aW51ZSgpOworICB9Cit9CisKKy8vIFJldHVybnMgZXF1aXZhbGVudCBpbmZvcm1h
dGlvbiB0byBnZXRBbGxLZXlzKCkgYnkgaXRlcmF0aW5nIGEgY3Vyc29yLgorLy8KKy8vIFJldHVy
bnMgYW4gYXJyYXkgd2l0aCBvbmUgZGljdGlvbmFyeSBwZXIgZW50cnkgaW4gdGhlIHNvdXJjZS4g
VGhlIGRpY3Rpb25hcnkKKy8vIGhhcyB0aGUgcHJvcGVydGllcyAia2V5IiBhbmQgInByaW1hcnlL
ZXkiLgorYXN5bmMgZnVuY3Rpb24gZ2V0QWxsS2V5c1ZpYUN1cnNvcih0ZXN0Q2FzZSwgY3Vyc29y
U291cmNlKSB7CisgIGNvbnN0IHJlc3VsdHMgPSBbXTsKKyAgYXdhaXQgaXRlcmF0ZUN1cnNvcih0
ZXN0Q2FzZSwgY3Vyc29yU291cmNlLm9wZW5LZXlDdXJzb3IoKSwgY3Vyc29yID0+IHsKKyAgICBy
ZXN1bHRzLnB1c2goeyBrZXk6IGN1cnNvci5rZXksIHByaW1hcnlLZXk6IGN1cnNvci5wcmltYXJ5
S2V5IH0pOworICB9KTsKKyAgcmV0dXJuIHJlc3VsdHM7Cit9CisKKy8vIFJldHVybnMgZXF1aXZh
bGVudCBpbmZvcm1hdGlvbiB0byBnZXRBbGwoKSBieSBpdGVyYXRpbmcgYSBjdXJzb3IuCisvLwor
Ly8gUmV0dXJucyBhbiBhcnJheSB3aXRoIG9uZSBkaWN0aW9uYXJ5IHBlciBlbnRyeSBpbiB0aGUg
c291cmNlLiBUaGUgZGljdGlvbmFyeQorLy8gaGFzIHRoZSBwcm9wZXJ0aWVzICJrZXkiLCAicHJp
bWFyeUtleSIgYW5kICJ2YWx1ZSIuCithc3luYyBmdW5jdGlvbiBnZXRBbGxWaWFDdXJzb3IodGVz
dENhc2UsIGN1cnNvclNvdXJjZSkgeworICBjb25zdCByZXN1bHRzID0gW107CisgIGF3YWl0IGl0
ZXJhdGVDdXJzb3IodGVzdENhc2UsIGN1cnNvclNvdXJjZS5vcGVuQ3Vyc29yKCksIGN1cnNvciA9
PiB7CisgICAgcmVzdWx0cy5wdXNoKHsKKyAgICAgIGtleTogY3Vyc29yLmtleSwKKyAgICAgIHBy
aW1hcnlLZXk6IGN1cnNvci5wcmltYXJ5S2V5LAorICAgICAgdmFsdWU6IGN1cnNvci52YWx1ZSwK
KyAgICB9KTsKKyAgfSk7CisgIHJldHVybiByZXN1bHRzOworfQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVz
LWN1cnNvcnMuYW55LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFk
aW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS1leHBlY3RlZC50eHQJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vy
c29ycy5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNiBAQAorCitQ
QVNTIElEQkluZGV4Lm9wZW5DdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG9uIHRoZSBh
dXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXgub3BlbktleUN1cnNvcigpIGl0ZXJhdGVz
IG92ZXIgYW4gaW5kZXggb24gdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5v
cGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9p
bmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3Zl
ciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXkt
Z2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVz
LWN1cnNvcnMuYW55Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1h
dXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5m
cmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5k
ZXhlcy1jdXJzb3JzLmFueS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1
dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDg4IEBACisvLyBNRVRBOiBnbG9iYWw9d2luZG93LGRlZGlj
YXRlZHdvcmtlcixzaGFyZWR3b3JrZXIsc2VydmljZXdvcmtlcgorLy8gTUVUQTogc2NyaXB0PS4u
L3N1cHBvcnQtcHJvbWlzZXMuanMKKy8vIE1FVEE6IHNjcmlwdD0uL3JlYWRpbmctYXV0b2luY3Jl
bWVudC1jb21tb24uanMKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRlc3RDYXNlID0+IHsKKyAgY29u
c3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNyZW1lbnREYXRhYmFzZSh0ZXN0Q2FzZSk7
CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50cmFuc2FjdGlvbihbJ3N0b3JlJ10s
ICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3JlLmluZGV4KCdieV9pZCcpOworCisgIGNvbnN0
IHJlc3VsdCA9IGF3YWl0IGdldEFsbFZpYUN1cnNvcih0ZXN0Q2FzZSwgaW5kZXgpOworICBhc3Nl
cnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7
ICsraSkgeworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5rZXksIGksICdBdXRvaW5j
cmVtZW50IGluZGV4IGtleScpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS5wcmlt
YXJ5S2V5LCBpLCAnQXV0b2luY3JlbWVudCBwcmltYXJ5IGtleScpOworICAgIGFzc2VydF9lcXVh
bHMocmVzdWx0W2kgLSAxXS52YWx1ZS5pZCwgaSwgJ0F1dG9pbmNyZW1lbnQga2V5IGluIHZhbHVl
Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnZhbHVlLm5hbWUsIG5hbWVGb3JJ
ZChpKSwKKyAgICAgICAgICAgICAgICAgICdTdHJpbmcgcHJvcGVydHkgaW4gdmFsdWUnKTsKKyAg
fQorCisgIGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCSW5kZXgub3BlbkN1cnNvcigpIGl0ZXJh
dGVzIG92ZXIgYW4gaW5kZXggb24gdGhlIGF1dG9pbmNyZW1lbnQga2V5Jyk7CisKK3Byb21pc2Vf
dGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBB
dXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0g
ZGF0YWJhc2UudHJhbnNhY3Rpb24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgY29uc3QgaW5kZXggPSBz
dG9yZS5pbmRleCgnYnlfaWQnKTsKKworICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRBbGxLZXlz
VmlhQ3Vyc29yKHRlc3RDYXNlLCBpbmRleCk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0
aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNzZXJ0X2Vx
dWFscyhyZXN1bHRbaSAtIDFdLmtleSwgaSwgJ0F1dG9pbmNyZW1lbnQgaW5kZXgga2V5Jyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnByaW1hcnlLZXksIGksICdBdXRvaW5jcmVt
ZW50IHByaW1hcnkga2V5Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQklu
ZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG9uIHRoZSBhdXRvaW5j
cmVtZW50IGtleScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25z
dCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNlKTsK
KworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwg
J3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlJyk7CisgIGNvbnN0IGluZGV4ID0gc3RvcmUuaW5kZXgoJ2J5X25hbWUnKTsKKworICBjb25z
dCBzdHJpbmdTb3J0ZWRJZHMgPSBpZHNTb3J0ZWRCeVN0cmluZ0NvbXBhcmUoKTsKKworICBjb25z
dCByZXN1bHQgPSBhd2FpdCBnZXRBbGxWaWFDdXJzb3IodGVzdENhc2UsIGluZGV4KTsKKyAgYXNz
ZXJ0X2VxdWFscyhyZXN1bHQubGVuZ3RoLCAzMik7CisgIGZvciAobGV0IGkgPSAxOyBpIDw9IDMy
OyArK2kpIHsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0ua2V5LCBuYW1lRm9ySWQo
c3RyaW5nU29ydGVkSWRzW2kgLSAxXSksCisgICAgICAgICAgICAgICAgICAnSW5kZXgga2V5Jyk7
CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnByaW1hcnlLZXksIHN0cmluZ1NvcnRl
ZElkc1tpIC0gMV0sCisgICAgICAgICAgICAgICAgICAnQXV0b2luY3JlbWVudCBwcmltYXJ5IGtl
eScpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS52YWx1ZS5pZCwgc3RyaW5nU29y
dGVkSWRzW2kgLSAxXSwKKyAgICAgICAgICAgICAgICAgICdBdXRvaW5jcmVtZW50IGtleSBpbiB2
YWx1ZScpOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXS52YWx1ZS5uYW1lLCBuYW1l
Rm9ySWQoc3RyaW5nU29ydGVkSWRzW2kgLSAxXSksCisgICAgICAgICAgICAgICAgICAnU3RyaW5n
IHByb3BlcnR5IGluIHZhbHVlJyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lE
QkluZGV4Lm9wZW5DdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG5vdCBjb3ZlcmluZyB0
aGUgJyArCisgICAnYXV0b2luY3JlbWVudCBrZXknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHRl
c3RDYXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNyZW1lbnRE
YXRhYmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50cmFu
c2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3JlLmluZGV4KCdi
eV9uYW1lJyk7CisKKyAgY29uc3Qgc3RyaW5nU29ydGVkSWRzID0gaWRzU29ydGVkQnlTdHJpbmdD
b21wYXJlKCk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0QWxsS2V5c1ZpYUN1cnNvcih0
ZXN0Q2FzZSwgaW5kZXgpOworICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsKKyAg
Zm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7ICsraSkgeworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0
W2kgLSAxXS5rZXksIG5hbWVGb3JJZChzdHJpbmdTb3J0ZWRJZHNbaSAtIDFdKSwKKyAgICAgICAg
ICAgICAgICAgICdJbmRleCBrZXknKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0u
cHJpbWFyeUtleSwgc3RyaW5nU29ydGVkSWRzW2kgLSAxXSwKKyAgICAgICAgICAgICAgICAgICdB
dXRvaW5jcmVtZW50IHByaW1hcnkga2V5Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOwor
fSwgJ0lEQkluZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG5vdCBj
b3ZlcmluZyB0aGUgJyArCisgICAnYXV0b2luY3JlbWVudCBrZXknKTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5k
ZXhlcy1jdXJzb3JzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9r
ZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5z
ZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9y
ZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5zZXJ2aWNld29ya2VyLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYgQEAKKworUEFTUyBJREJJbmRl
eC5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBpbmRleCBvbiB0aGUgYXV0b2luY3JlbWVu
dCBrZXkgCitQQVNTIElEQkluZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGlu
ZGV4IG9uIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXgub3BlbkN1cnNvcigp
IGl0ZXJhdGVzIG92ZXIgYW4gaW5kZXggbm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtl
eSAKK1BBU1MgSURCSW5kZXgub3BlbktleUN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gaW5kZXgg
bm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMv
cmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkuc2VydmljZXdvcmtlci5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRl
eGVzLWN1cnNvcnMuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJzb3JzLmFueS5zZXJ2aWNl
d29ya2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVy
YXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMtY3Vyc29ycy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1l
bnQtaW5kZXhlcy1jdXJzb3JzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkK
KysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55
Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2IEBACisKK1BB
U1MgSURCSW5kZXgub3BlbkN1cnNvcigpIGl0ZXJhdGVzIG92ZXIgYW4gaW5kZXggb24gdGhlIGF1
dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMg
b3ZlciBhbiBpbmRleCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4Lm9w
ZW5DdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGluZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2lu
Y3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4Lm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVy
IGFuIGluZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCisKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1n
ZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55Lndvcmtl
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1p
bmRleGVzLWN1cnNvcnMuYW55Lndvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0
b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLWN1cnNvcnMuYW55Lndvcmtlci5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVk
IGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0
IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRp
bmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5
LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5k
ZXhlcy5hbnktZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorCitQ
QVNTIElEQkluZGV4LmdldEFsbCgpIGZvciBhbiBpbmRleCBvbiB0aGUgYXV0b2luY3JlbWVudCBr
ZXkgCitQQVNTIElEQkluZGV4LmdldEFsbEtleXMoKSBmb3IgYW4gaW5kZXggb24gdGhlIGF1dG9p
bmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXQoKSBmb3IgYW4gaW5kZXggb24gdGhlIGF1
dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXRBbGwoKSBmb3IgYW4gaW5kZXggbm90
IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0QWxsS2V5
cygpIHJldHVybnMgY29ycmVjdCByZXN1bHQgZm9yIGFuIGluZGV4IG5vdCBjb3ZlcmluZyB0aGUg
YXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldCgpIGZvciBhbiBpbmRleCBub3Qg
Y292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFk
aW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJh
dG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5n
LWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMv
cmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LmpzCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1n
ZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEwOCBAQAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRpY2F0ZWR3
b3JrZXIsc2hhcmVkd29ya2VyLHNlcnZpY2V3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0uLi9zdXBw
b3J0LXByb21pc2VzLmpzCisvLyBNRVRBOiBzY3JpcHQ9Li9yZWFkaW5nLWF1dG9pbmNyZW1lbnQt
Y29tbW9uLmpzCisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRh
dGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2UpOworCisg
IGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oWydzdG9yZSddLCAncmVh
ZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUn
KTsKKyAgY29uc3QgaW5kZXggPSBzdG9yZS5pbmRleCgnYnlfaWQnKTsKKyAgY29uc3QgcmVxdWVz
dCA9IGluZGV4LmdldEFsbCgpOworICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVx
dWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwg
MzIpOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNzZXJ0X2VxdWFs
cyhyZXN1bHRbaSAtIDFdLmlkLCBpLCAnQXV0b2luY3JlbWVudCBrZXknKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJlc3VsdFtpIC0gMV0ubmFtZSwgbmFtZUZvcklkKGkpLCAnU3RyaW5nIHByb3BlcnR5
Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQkluZGV4LmdldEFsbCgpIGZv
ciBhbiBpbmRleCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXknKTsKKworcHJvbWlzZV90ZXN0KGFz
eW5jIHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNy
ZW1lbnREYXRhYmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFz
ZS50cmFuc2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRy
YW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3JlLmlu
ZGV4KCdieV9pZCcpOworICBjb25zdCByZXF1ZXN0ID0gaW5kZXguZ2V0QWxsS2V5cygpOworICBj
b25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7
CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsg
aSA8PSAzMjsgKytpKQorICAgIGFzc2VydF9lcXVhbHMocmVzdWx0W2kgLSAxXSwgaSwgJ0F1dG9p
bmNyZW1lbnQga2V5Jyk7CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsKK30sICdJREJJbmRleC5nZXRB
bGxLZXlzKCkgZm9yIGFuIGluZGV4IG9uIHRoZSBhdXRvaW5jcmVtZW50IGtleScpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IHNl
dHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCB0cmFuc2FjdGlv
biA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0
IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgIGNvbnN0IGluZGV4
ID0gc3RvcmUuaW5kZXgoJ2J5X2lkJyk7CisKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMzI7ICsr
aSkgeworICAgIGNvbnN0IHJlcXVlc3QgPSBpbmRleC5nZXQoaSk7CisgICAgY29uc3QgcmVzdWx0
ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpOworICAgIGFzc2Vy
dF9lcXVhbHMocmVzdWx0LmlkLCBpLCAnYXV0b2luY3JlbWVudCBrZXknKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJlc3VsdC5uYW1lLCBuYW1lRm9ySWQoaSksICdzdHJpbmcgcHJvcGVydHknKTsKKyAg
fQorCisgIGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCSW5kZXguZ2V0KCkgZm9yIGFuIGluZGV4
IG9uIHRoZSBhdXRvaW5jcmVtZW50IGtleScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdENh
c2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3JlbWVudERhdGFi
YXNlKHRlc3RDYXNlKTsKKworICBjb25zdCBzdHJpbmdTb3J0ZWRJZHMgPSBpZHNTb3J0ZWRCeVN0
cmluZ0NvbXBhcmUoKTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0
aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgIGNvbnN0IGluZGV4ID0gc3RvcmUuaW5kZXgoJ2J5X25h
bWUnKTsKKyAgY29uc3QgcmVxdWVzdCA9IGluZGV4LmdldEFsbCgpOworICBjb25zdCByZXN1bHQg
PSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7CisgIGFzc2VydF9l
cXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytp
KSB7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLmlkLCBzdHJpbmdTb3J0ZWRJZHNb
aSAtIDFdLAorICAgICAgICAgICAgICAgICAgJ2F1dG9pbmNyZW1lbnQga2V5Jyk7CisgICAgYXNz
ZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLm5hbWUsIG5hbWVGb3JJZChzdHJpbmdTb3J0ZWRJZHNb
aSAtIDFdKSwKKyAgICAgICAgICAgICAgICAgICdzdHJpbmcgcHJvcGVydHknKTsKKyAgfQorCisg
IGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCSW5kZXguZ2V0QWxsKCkgZm9yIGFuIGluZGV4IG5v
dCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHRlc3RDYXNlID0+IHsKKyAgY29uc3QgZGF0YWJhc2UgPSBhd2FpdCBzZXR1cEF1dG9pbmNyZW1l
bnREYXRhYmFzZSh0ZXN0Q2FzZSk7CisKKyAgY29uc3Qgc3RyaW5nU29ydGVkSWRzID0gaWRzU29y
dGVkQnlTdHJpbmdDb21wYXJlKCk7CisKKyAgY29uc3QgdHJhbnNhY3Rpb24gPSBkYXRhYmFzZS50
cmFuc2FjdGlvbihbJ3N0b3JlJ10sICdyZWFkb25seScpOworICBjb25zdCBzdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpOworICBjb25zdCBpbmRleCA9IHN0b3JlLmluZGV4
KCdieV9uYW1lJyk7CisgIGNvbnN0IHJlcXVlc3QgPSBpbmRleC5nZXRBbGxLZXlzKCk7CisgIGNv
bnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1ZXN0KTsK
KyAgYXNzZXJ0X2VxdWFscyhyZXN1bHQubGVuZ3RoLCAzMik7CisgIGZvciAobGV0IGkgPSAxOyBp
IDw9IDMyOyArK2kpCisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLCBzdHJpbmdTb3J0
ZWRJZHNbaSAtIDFdLCAnU3RyaW5nIHByb3BlcnR5Jyk7CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsK
K30sICdJREJJbmRleC5nZXRBbGxLZXlzKCkgcmV0dXJucyBjb3JyZWN0IHJlc3VsdCBmb3IgYW4g
aW5kZXggbm90IGNvdmVyaW5nICcgKworICAgJ3RoZSBhdXRvaW5jcmVtZW50IGtleScpOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgdGVzdENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0
IHNldHVwQXV0b2luY3JlbWVudERhdGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCB0cmFuc2Fj
dGlvbiA9IGRhdGFiYXNlLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNv
bnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisgIGNvbnN0IGlu
ZGV4ID0gc3RvcmUuaW5kZXgoJ2J5X25hbWUnKTsKKworICBmb3IgKGxldCBpID0gMTsgaSA8PSAz
MjsgKytpKSB7CisgICAgY29uc3QgcmVxdWVzdCA9IGluZGV4LmdldChuYW1lRm9ySWQoaSkpOwor
ICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VGb3JSZXF1ZXN0KHRlc3RDYXNlLCByZXF1
ZXN0KTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5pZCwgaSwgJ0F1dG9pbmNyZW1lbnQga2V5
Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQubmFtZSwgbmFtZUZvcklkKGkpLCAnU3RyaW5n
IHByb3BlcnR5Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQkluZGV4Lmdl
dCgpIGZvciBhbiBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5Jyk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnkuc2Vydmlj
ZXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1h
dXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFu
eS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgg
QEAKKworUEFTUyBJREJJbmRleC5nZXRBbGwoKSBmb3IgYW4gaW5kZXggb24gdGhlIGF1dG9pbmNy
ZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXRBbGxLZXlzKCkgZm9yIGFuIGluZGV4IG9uIHRo
ZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0KCkgZm9yIGFuIGluZGV4IG9u
IHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0QWxsKCkgZm9yIGFuIGlu
ZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4Lmdl
dEFsbEtleXMoKSByZXR1cm5zIGNvcnJlY3QgcmVzdWx0IGZvciBhbiBpbmRleCBub3QgY292ZXJp
bmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRleC5nZXQoKSBmb3IgYW4gaW5k
ZXggbm90IGNvdmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKKwpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRv
cnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5h
bnkuc2VydmljZXdvcmtlci5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRp
bmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktp
dCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5j
cmVtZW50LWluZGV4ZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdl
bmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LWluZGV4ZXMuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50
LWluZGV4ZXMuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw4IEBACisKK1BBU1MgSURCSW5kZXguZ2V0QWxsKCkgZm9yIGFuIGluZGV4IG9uIHRoZSBhdXRv
aW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0QWxsS2V5cygpIGZvciBhbiBpbmRleCBv
biB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldCgpIGZvciBhbiBpbmRl
eCBvbiB0aGUgYXV0b2luY3JlbWVudCBrZXkgCitQQVNTIElEQkluZGV4LmdldEFsbCgpIGZvciBh
biBpbmRleCBub3QgY292ZXJpbmcgdGhlIGF1dG9pbmNyZW1lbnQga2V5IAorUEFTUyBJREJJbmRl
eC5nZXRBbGxLZXlzKCkgcmV0dXJucyBjb3JyZWN0IHJlc3VsdCBmb3IgYW4gaW5kZXggbm90IGNv
dmVyaW5nIHRoZSBhdXRvaW5jcmVtZW50IGtleSAKK1BBU1MgSURCSW5kZXguZ2V0KCkgZm9yIGFu
IGluZGV4IG5vdCBjb3ZlcmluZyB0aGUgYXV0b2luY3JlbWVudCBrZXkgCisKSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5l
cmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1pbmRleGVzLmFueS53b3JrZXIuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy5hbnku
d29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5j
cmVtZW50LWluZGV4ZXMuYW55Lndvcmtlci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEg
QEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVj
dHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJz
b3JzLmFueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1h
dXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIElEQk9i
amVjdFN0b3JlLm9wZW5DdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGF1dG9pbmNyZW1lbnQgc3Rv
cmUgCitQQVNTIElEQk9iamVjdFN0b3JlLm9wZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFu
IGF1dG9pbmNyZW1lbnQgc3RvcmUgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2lu
Y3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3Jz
L3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFu
eS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJl
cXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRl
ZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3Jz
L3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9r
ZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuanMJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3Jl
LWN1cnNvcnMuYW55LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKy8vIE1FVEE6
IGdsb2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLHNoYXJlZHdvcmtlcixzZXJ2aWNld29ya2Vy
CisvLyBNRVRBOiBzY3JpcHQ9Li4vc3VwcG9ydC1wcm9taXNlcy5qcworLy8gTUVUQTogc2NyaXB0
PS4vcmVhZGluZy1hdXRvaW5jcmVtZW50LWNvbW1vbi5qcworCitwcm9taXNlX3Rlc3QoYXN5bmMg
dGVzdENhc2UgPT4geworICBjb25zdCBkYXRhYmFzZSA9IGF3YWl0IHNldHVwQXV0b2luY3JlbWVu
dERhdGFiYXNlKHRlc3RDYXNlKTsKKworICBjb25zdCB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLnRy
YW5zYWN0aW9uKFsnc3RvcmUnXSwgJ3JlYWRvbmx5Jyk7CisgIGNvbnN0IHN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0
QWxsVmlhQ3Vyc29yKHRlc3RDYXNlLCBzdG9yZSk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxl
bmd0aCwgMzIpOworICBmb3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNzZXJ0
X2VxdWFscyhyZXN1bHRbaSAtIDFdLmtleSwgaSwgJ0F1dG9pbmNyZW1lbnQga2V5Jyk7CisgICAg
YXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnByaW1hcnlLZXksIGksICdBdXRvaW5jcmVtZW50
IHByaW1hcnkga2V5Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLnZhbHVlLmlk
LCBpLCAnQXV0b2luY3JlbWVudCBrZXkgaW4gdmFsdWUnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJl
c3VsdFtpIC0gMV0udmFsdWUubmFtZSwgbmFtZUZvcklkKGkpLAorICAgICAgICAgICAgICAgICAg
J3N0cmluZyBwcm9wZXJ0eSBpbiB2YWx1ZScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsK
K30sICdJREJPYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5j
cmVtZW50IHN0b3JlJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNv
bnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2Up
OworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oWydzdG9yZSdd
LCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmUnKTsKKworICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRBbGxLZXlzVmlhQ3Vyc29yKHRl
c3RDYXNlLCBzdG9yZSk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOworICBm
b3IgKGxldCBpID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRb
aSAtIDFdLmtleSwgaSwgJ0luY29ycmVjdCBhdXRvaW5jcmVtZW50IGtleScpOworICAgIGFzc2Vy
dF9lcXVhbHMocmVzdWx0W2kgLSAxXS5wcmltYXJ5S2V5LCBpLCAnSW5jb3JyZWN0IHByaW1hcnkg
a2V5Jyk7CisgIH0KKworICBkYXRhYmFzZS5jbG9zZSgpOworfSwgJ0lEQk9iamVjdFN0b3JlLm9w
ZW5LZXlDdXJzb3IoKSBpdGVyYXRlcyBvdmVyIGFuIGF1dG9pbmNyZW1lbnQgc3RvcmUnKTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9p
bmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNv
cnMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5l
cmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5zZXJ2aWNld29y
a2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworUEFTUyBJ
REJPYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5jcmVtZW50
IHN0b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3Zl
ciBhbiBhdXRvaW5jcmVtZW50IHN0b3JlIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1
dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkuc2VydmljZXdvcmtlci5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFu
eS5zZXJ2aWNld29ya2VyLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGlu
Zy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3Ig
V2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1
dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFk
aW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUtY3Vyc29ycy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKworUEFTUyBJREJPYmplY3RTdG9yZS5vcGVu
Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5jcmVtZW50IHN0b3JlIAorUEFTUyBJREJP
YmplY3RTdG9yZS5vcGVuS2V5Q3Vyc29yKCkgaXRlcmF0ZXMgb3ZlciBhbiBhdXRvaW5jcmVtZW50
IHN0b3JlIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUt
Y3Vyc29ycy5hbnkud29ya2VyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGlu
Zy1hdXRvaW5jcmVtZW50LXN0b3JlLWN1cnNvcnMuYW55Lndvcmtlci5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS1jdXJzb3JzLmFu
eS53b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmls
ZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0
ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2Vu
ZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55LWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNy
ZW1lbnQtc3RvcmUuYW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUg
QEAKKworUEFTUyBJREJPYmplY3RTdG9yZS5nZXRBbGwoKSBmb3IgYW4gYXV0b2luY3JlbWVudCBz
dG9yZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUuZ2V0QWxsS2V5cygpIGZvciBhbiBhdXRvaW5jcmVt
ZW50IHN0b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5nZXQoKSBmb3IgYW4gYXV0b2luY3JlbWVu
dCBzdG9yZSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3Jl
LmFueS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVu
dC1zdG9yZS5hbnkuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1
dG9pbmNyZW1lbnQtc3RvcmUuYW55Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAor
PCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJl
IHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55
LmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1z
dG9yZS5hbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorLy8gTUVUQTogZ2xv
YmFsPXdpbmRvdyxkZWRpY2F0ZWR3b3JrZXIsc2hhcmVkd29ya2VyLHNlcnZpY2V3b3JrZXIKKy8v
IE1FVEE6IHNjcmlwdD0uLi9zdXBwb3J0LXByb21pc2VzLmpzCisvLyBNRVRBOiBzY3JpcHQ9Li9y
ZWFkaW5nLWF1dG9pbmNyZW1lbnQtY29tbW9uLmpzCisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0
Q2FzZSA9PiB7CisgIGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50RGF0
YWJhc2UodGVzdENhc2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNh
Y3Rpb24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldEFsbCgp
OworICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVx
dWVzdCk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0Lmxlbmd0aCwgMzIpOworICBmb3IgKGxldCBp
ID0gMTsgaSA8PSAzMjsgKytpKSB7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbaSAtIDFdLmlk
LCBpLCAnQXV0b2luY3JlbWVudCBrZXknKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0g
MV0ubmFtZSwgbmFtZUZvcklkKGkpLCAnU3RyaW5nIHByb3BlcnR5Jyk7CisgIH0KKworICBkYXRh
YmFzZS5jbG9zZSgpOworfSwgJ0lEQk9iamVjdFN0b3JlLmdldEFsbCgpIGZvciBhbiBhdXRvaW5j
cmVtZW50IHN0b3JlJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNv
bnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5jcmVtZW50RGF0YWJhc2UodGVzdENhc2Up
OworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJhc2UudHJhbnNhY3Rpb24oWydzdG9yZSdd
LCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmUnKTsKKyAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldEFsbEtleXMoKTsKKyAgY29uc3Qg
cmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZvclJlcXVlc3QodGVzdENhc2UsIHJlcXVlc3QpOworICBh
c3NlcnRfZXF1YWxzKHJlc3VsdC5sZW5ndGgsIDMyKTsKKyAgZm9yIChsZXQgaSA9IDE7IGkgPD0g
MzI7ICsraSkKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdFtpIC0gMV0sIGksICdBdXRvaW5jcmVt
ZW50IGtleScpOworCisgIGRhdGFiYXNlLmNsb3NlKCk7Cit9LCAnSURCT2JqZWN0U3RvcmUuZ2V0
QWxsS2V5cygpIGZvciBhbiBhdXRvaW5jcmVtZW50IHN0b3JlJyk7CisKK3Byb21pc2VfdGVzdChh
c3luYyB0ZXN0Q2FzZSA9PiB7CisgIGNvbnN0IGRhdGFiYXNlID0gYXdhaXQgc2V0dXBBdXRvaW5j
cmVtZW50RGF0YWJhc2UodGVzdENhc2UpOworCisgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGF0YWJh
c2UudHJhbnNhY3Rpb24oWydzdG9yZSddLCAncmVhZG9ubHknKTsKKyAgY29uc3Qgc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKworICBmb3IgKGxldCBpID0gMTsgaSA8
PSAzMjsgKytpKSB7CisgICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldChpKTsKKyAgICBjb25z
dCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm9yUmVxdWVzdCh0ZXN0Q2FzZSwgcmVxdWVzdCk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQuaWQsIGksICdBdXRvaW5jcmVtZW50IGtleScpOworICAg
IGFzc2VydF9lcXVhbHMocmVzdWx0Lm5hbWUsIG5hbWVGb3JJZChpKSwgJ1N0cmluZyBwcm9wZXJ0
eScpOworICB9CisKKyAgZGF0YWJhc2UuY2xvc2UoKTsKK30sICdJREJPYmplY3RTdG9yZS5nZXQo
KSBmb3IgYW4gYXV0b2luY3JlbWVudCBzdG9yZScpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnkuc2Vy
dmljZXdvcmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGlu
Zy1hdXRvaW5jcmVtZW50LXN0b3JlLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55
LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBA
QAorCitQQVNTIElEQk9iamVjdFN0b3JlLmdldEFsbCgpIGZvciBhbiBhdXRvaW5jcmVtZW50IHN0
b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5nZXRBbGxLZXlzKCkgZm9yIGFuIGF1dG9pbmNyZW1l
bnQgc3RvcmUgCitQQVNTIElEQk9iamVjdFN0b3JlLmdldCgpIGZvciBhbiBhdXRvaW5jcmVtZW50
IHN0b3JlIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUu
YW55LnNlcnZpY2V3b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5n
LWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55LnNlcnZpY2V3
b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBp
cyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1w
bGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJh
dG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3JlLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRp
bmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDUgQEAKKworUEFTUyBJREJPYmplY3RTdG9yZS5nZXRBbGwoKSBmb3Ig
YW4gYXV0b2luY3JlbWVudCBzdG9yZSAKK1BBU1MgSURCT2JqZWN0U3RvcmUuZ2V0QWxsS2V5cygp
IGZvciBhbiBhdXRvaW5jcmVtZW50IHN0b3JlIAorUEFTUyBJREJPYmplY3RTdG9yZS5nZXQoKSBm
b3IgYW4gYXV0b2luY3JlbWVudCBzdG9yZSAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1h
dXRvaW5jcmVtZW50LXN0b3JlLmFueS53b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9rZXktZ2VuZXJh
dG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtc3RvcmUuYW55Lndvcmtlci5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnkud29y
a2VyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
cmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxh
dGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRv
cnMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvdzNjLWltcG9ydC5s
b2cJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUg
aW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRl
c3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBv
biB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdl
YktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRv
aW5jcmVtZW50LWNvbW1vbi5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVudC1p
bmRleGVzLWN1cnNvcnMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50
LWluZGV4ZXMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3Jl
LWN1cnNvcnMuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIva2V5LWdlbmVyYXRvcnMvcmVhZGluZy1hdXRvaW5jcmVtZW50LXN0b3Jl
LmFueS5qcwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvcmVzb3VyY2VzL2lkYmZhY3Rvcnktb3JpZ2luLWlzb2xhdGlvbi1pZnJhbWUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi9yZXNvdXJjZXMvaWRiZmFjdG9yeS1vcmlnaW4taXNvbGF0aW9uLWlm
cmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Jlc291cmNlcy9pZGJmYWN0b3J5LW9yaWdpbi1pc29s
YXRpb24taWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8dGl0bGU+VGhpcyBpZnJhbWUga2VlcHMgYSB0cmFuc2FjdGlvbiBvbiBhIGRh
dGFiYXNlIGFsaXZlIGluZGVmaW5pdGVseSB0byB0ZXN0PC90aXRsZT4KKzxzY3JpcHQ+CisKKy8v
IEtlZXBzIHRoZSBwYXNzZWQgdHJhbnNhY3Rpb24gYWxpdmUgaW5kZWZpbml0ZWx5IChieSBtYWtp
bmcgcmVxdWVzdHMKKy8vIGFnYWluc3QgdGhlIG5hbWVkIHN0b3JlKS4gUmV0dXJucyBhIGZ1bmN0
aW9uIHRoYXQgYXNzZXJ0cyB0aGF0IHRoZQorLy8gdHJhbnNhY3Rpb24gaGFzIG5vdCBhbHJlYWR5
IGNvbXBsZXRlZCBhbmQgdGhlbiBlbmRzIHRoZSByZXF1ZXN0IGxvb3Agc28gdGhhdAorLy8gdGhl
IHRyYW5zYWN0aW9uIG1heSBhdXRvY29tbWl0IGFuZCBjb21wbGV0ZS4KK2Z1bmN0aW9uIGtlZXBf
YWxpdmUodHgsIHN0b3JlX25hbWUpIHsKKyAgbGV0IGNvbXBsZXRlZCA9IGZhbHNlOworICB0eC5h
ZGRFdmVudExpc3RlbmVyKCdjb21wbGV0ZScsICgpID0+IHsgY29tcGxldGVkID0gdHJ1ZTsgfSk7
CisKKyAgbGV0IGtlZXBTcGlubmluZyA9IHRydWU7CisKKyAgZnVuY3Rpb24gc3BpbigpIHsKKyAg
ICBpZiAoIWtlZXBTcGlubmluZykKKyAgICAgIHJldHVybjsKKyAgICB0eC5vYmplY3RTdG9yZShz
dG9yZV9uYW1lKS5nZXQoMCkub25zdWNjZXNzID0gc3BpbjsKKyAgfQorICBzcGluKCk7CisKKyAg
cmV0dXJuICgpID0+IHsKKyAgICBhc3NlcnRfZmFsc2UoY29tcGxldGVkLCAnVHJhbnNhY3Rpb24g
Y29tcGxldGVkIHdoaWxlIGtlcHQgYWxpdmUnKTsKKyAgICBrZWVwU3Bpbm5pbmcgPSBmYWxzZTsK
KyAgfTsKK30KKworYXN5bmMgZnVuY3Rpb24gcnVuKCkgeworICBjb25zdCBkYnNfdG9fZGVsZXRl
ID0gYXdhaXQgaW5kZXhlZERCLmRhdGFiYXNlcygpOworICBmb3IgKGNvbnN0IGRiX2luZm8gb2Yg
ZGJzX3RvX2RlbGV0ZSkgeworICAgIGxldCByZXF1ZXN0ID0gaW5kZXhlZERCLmRlbGV0ZURhdGFi
YXNlKGRiX2luZm8ubmFtZSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVj
dCkgPT4geworICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSByZXNvbHZlOworICAgICAgcmVxdWVz
dC5vbmVycm9yID0gcmVqZWN0OworICAgIH0pOworICB9CisKKyAgdmFyIG9wZW5SZXF1ZXN0ID0g
aW5kZXhlZERCLm9wZW4oJ2RiLWlzb2xhdGlvbi10ZXN0Jyk7CisgIG9wZW5SZXF1ZXN0Lm9udXBn
cmFkZW5lZWRlZCA9ICgpID0+IHsKKyAgICBvcGVuUmVxdWVzdC5yZXN1bHQuY3JlYXRlT2JqZWN0
U3RvcmUoJ3MnKTsKKyAgfTsKKyAgb3BlblJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4geworICAg
IHZhciB0eCA9IG9wZW5SZXF1ZXN0LnJlc3VsdC50cmFuc2FjdGlvbigncycpOworICAgIGtlZXBf
YWxpdmUodHgsICdzJyk7CisgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgia2VlcF9hbGl2
ZV9zdGFydGVkIiwgIioiKTsKKyAgfTsKK30KKworcnVuKCk7Cis8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKwor
VGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8g
cmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1By
b3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL3Jlc291cmNlcy9pZGJmYWN0b3J5LW9yaWdpbi1pc29sYXRp
b24taWZyYW1lLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0
YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0
YXRpb25zCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVz
dEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMzA0Nyw4ICszMDQ3LDYgQEAgd2Via2l0
Lm9yZy9iLzE4MzIxOSBlZGl0aW5nL3Bhc3RlYm9hcmQvZAogCiB3ZWJraXQub3JnL2IvMTczOTI4
IHN0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQogCi1bIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvaW50ZXJmYWNlcy5hbnkuaHRtbCBbIFNsb3cgXQotWyBEZWJ1ZyBdIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVyZmFjZXMuYW55Lndvcmtlci5odG1s
IFsgU2xvdyBdCiBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9oci10
aW1lL2lkbGhhcm5lc3MuaHRtbCBbIFNsb3cgXQogCiB3ZWJraXQub3JnL2IvMTgzMzg4IGZhc3Qv
c2Nyb2xsaW5nL3Njcm9sbC10by1mb2N1c2VkLWVsZW1lbnQtYXN5bmNocm9ub3VzbHkuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RF
eHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNTAyNjApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTI3NSw2ICsyNzUs
MTAgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdHJlYW1zL3JlYWRhYmxlLWJ5dGUtc3RyZWFtcy9kZXRh
Y2hlZC1idWZmZXJzLnNlcnZpY2V3b3JrZXIuaHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbmZyYXN0cnVjdHVyZS9zZXJ2ZXIvY29udGV4dC5hbnku
c2VydmljZXdvcmtlci5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2luZnJhc3RydWN0dXJlL3NlcnZlci9zZWN1cmUtY29udGV4dC5odHRwcy5hbnkuc2Vydmlj
ZXdvcmtlci5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9rZXktZ2VuZXJhdG9ycy9yZWFkaW5nLWF1dG9pbmNyZW1lbnQtaW5kZXhlcy1jdXJz
b3JzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2luY3JlbWVu
dC1pbmRleGVzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3JlYWRpbmctYXV0b2lu
Y3JlbWVudC1zdG9yZS1jdXJzb3JzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwgWyBTa2lwIF0KK2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2tleS1nZW5lcmF0b3JzL3Jl
YWRpbmctYXV0b2luY3JlbWVudC1zdG9yZS5hbnkuc2VydmljZXdvcmtlci5odG1sIFsgU2tpcCBd
CiAKICMgUXVvdGEgY2hlY2sgbWlzc2luZyBpbiBXSzEKIGh0dHAvdGVzdHMvSW5kZXhlZERCL3N0
b3JhZ2UtbGltaXQuaHR0cHMuaHRtbCBbIFNraXAgXQpAQCAtNTQzLDggKzU0Nyw2IEBAIHdlYmtp
dC5vcmcvYi8xNzA4NzcgWyBEZWJ1ZyBdIHdlYmdsLzEuMC4KIAogd2Via2l0Lm9yZy9iLzE4MDU1
NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9ldmVudC11cGxvYWQtcHJvZ3Jl
c3MtY3Jvc3NvcmlnaW4uaHRtIFsgU2tpcCBdCiAKLXdlYmtpdC5vcmcvYi8xODczNzIgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnkud29ya2Vy
Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotCiAjIFRoaXMgd2FzIGEgV0syLW9ubHkgZml4LgogaHR0
cC90ZXN0cy9jc3MvZmlsdGVycy1vbi1pZnJhbWVzLmh0bWwgWyBTa2lwIF0KIApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDI1MDI2MCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzIxLDggKzEzMjEsNiBAQCB3ZWJraXQub3JnL2IvMTY4MDg3IG1lZGlhL3ZpZGVv
LXpvb20uaHRtCiB3ZWJraXQub3JnL2IvMTY4MDk0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtc291cmNlL1NvdXJjZUJ1ZmZlci1hYm9ydC5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xNjc5NzUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1zb3VyY2UvU291cmNlQnVmZmVyLWFib3J0LXJlbW92ZWQuaHRtbCBbIFBhc3MgRmFpbHVy
ZSBdCiAKLVsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9pbnRlcmZhY2VzLmFueS5odG1sIFsgU2xvdyBdCi1bIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaW50ZXJmYWNlcy5hbnkud29ya2VyLmh0bWwgWyBT
bG93IF0KIFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2hyLXRpbWUv
aWRsaGFybmVzcy5odG1sIFsgU2xvdyBdCiAKIHdlYmtpdC5vcmcvYi8xNjg1MDMgZWRpdGluZy9w
YXN0ZWJvYXJkL2RyYWctZHJvcC1jb3B5LWNvbnRlbnQuaHRtbCBbIEZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>