<?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>81043</bug_id>
          
          <creation_ts>2012-03-13 15:21:17 -0700</creation_ts>
          <short_desc>IndexedDB Tests: use self instead of window</short_desc>
          <delta_ts>2012-03-15 19:55:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Grogan">dgrogan</reporter>
          <assigned_to name="David Grogan">dgrogan</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>577876</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-03-13 15:21:17 -0700</bug_when>
    <thetext>IndexedDB Tests: use self instead of window</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577877</commentid>
    <comment_count>1</comment_count>
      <attachid>131725</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-03-13 15:22:12 -0700</bug_when>
    <thetext>Created attachment 131725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577907</commentid>
    <comment_count>2</comment_count>
      <attachid>131732</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-03-13 15:41:30 -0700</bug_when>
    <thetext>Created attachment 131732
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577921</commentid>
    <comment_count>3</comment_count>
      <attachid>131735</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-03-13 15:47:15 -0700</bug_when>
    <thetext>Created attachment 131735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577936</commentid>
    <comment_count>4</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-03-13 15:54:16 -0700</bug_when>
    <thetext>Josh, could you take a look at this patch?  It is pipelined on top of the patch in bug 80664.

I think the only even somewhat interesting bits of this patch are in factory-deletedatabase-interactions.html and open-close-version.html where &apos;self&apos; was already used to stash a copy of the &apos;this&apos; pointer.  I changed it to &apos;that&apos;.

Some of these tests use self.document and the like, which won&apos;t work in workers, but I&apos;ll change those when those tests actually start to run in workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578610</commentid>
    <comment_count>5</comment_count>
      <attachid>131735</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-03-14 11:51:30 -0700</bug_when>
    <thetext>Comment on attachment 131735
Patch

LGTM - just notes below for other readers.

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

&gt; LayoutTests/storage/indexeddb/createObjectStore-name-argument-required.html:18
&gt; +    name = self.location.pathname;

Cool - I didn&apos;t know workers had |location|. :)

&gt; LayoutTests/storage/indexeddb/factory-cmp.html:121
&gt; +        &quot;self.document&quot;,

As noted in dgrogan&apos;s comment, this will fail in workers. The intent of this is to exercise some invalid keys by using host objects. &quot;self.document&quot; could be changed to &quot;self.location&quot; and &quot;self.document.body&quot; with no loss of fidelity to the test, but this can wait for a followup patch.

&gt; LayoutTests/storage/indexeddb/invalid-keys.html:-59
&gt; -        &quot;window.document&quot;, // HTMLDocument

Ditto.

&gt; LayoutTests/storage/indexeddb/key-type-array.html:168
&gt; +        &quot;[ self.document ]&quot;,

Ditto.

&gt; LayoutTests/storage/indexeddb/structured-clone.html:534
&gt;      evalAndExpectException(&quot;store.put(document, &apos;key&apos;)&quot;, &quot;DOMException.DATA_CLONE_ERR&quot;);

Ditto, although porting this test to workers will prove tricky due to Blob/File/FileList usage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578883</commentid>
    <comment_count>6</comment_count>
      <attachid>131945</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-03-14 16:00:09 -0700</bug_when>
    <thetext>Created attachment 131945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579056</commentid>
    <comment_count>7</comment_count>
      <attachid>131945</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-14 19:41:29 -0700</bug_when>
    <thetext>Comment on attachment 131945
Patch

Attachment 131945 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11956438

New failing tests:
storage/indexeddb/set_version_queue.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579127</commentid>
    <comment_count>8</comment_count>
      <attachid>131985</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-03-14 22:08:04 -0700</bug_when>
    <thetext>Created attachment 131985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579137</commentid>
    <comment_count>9</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-03-14 22:42:26 -0700</bug_when>
    <thetext>Tony, could you review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579458</commentid>
    <comment_count>10</comment_count>
      <attachid>131985</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-15 09:58:41 -0700</bug_when>
    <thetext>Comment on attachment 131985
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580054</commentid>
    <comment_count>11</comment_count>
      <attachid>131985</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-15 19:55:13 -0700</bug_when>
    <thetext>Comment on attachment 131985
Patch

Clearing flags on attachment: 131985

Committed r110931: &lt;http://trac.webkit.org/changeset/110931&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580055</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-15 19:55:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131725</attachid>
            <date>2012-03-13 15:22:12 -0700</date>
            <delta_ts>2012-03-13 15:41:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81043-20120313152211.patch</filename>
            <type>text/plain</type>
            <size>151245</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDg2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDQ1ZmRkOTc1ODdhMmRiYjk5ZDVl
NmZkYzQ2Y2VlODc4OTM4YzEzNC4uYWJiMTZiNzNkYTUzMGQ4MjNjYzI2OWE5YmY0Y2YzMzI1Mjhh
MGI1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDkzIEBACiAyMDEyLTAzLTEzICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBJbmRleGVkREIgVGVzdHM6IHVzZSBzZWxm
IGluc3RlYWQgb2Ygd2luZG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MTA0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0
b3JlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0U3RvcmUt
bmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L2NyZWF0ZU9iamVjdFN0b3JlLW51bGwtbmFtZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1jb250aW51ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1kZWxldGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
aW5jb25zaXN0ZW5jeS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1p
bmRleC1kZWxldGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5
LW9yZGVyLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1hcnkt
a2V5LW9yZGVyLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAt
ZGVsZXRlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUt
dmFsdWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9jdXJzb3ItdXBkYXRlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1j
b3JydXB0aW9uLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFz
aWNzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9i
amVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlLWNs
b3NlZC1kYXRhYmFzZS1vYmplY3QuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9k
ZWxldGVPYmplY3RTdG9yZS1uYW1lLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWw6CisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNl
LWludGVyYWN0aW9ucy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3Rvcnkt
ZGVsZXRlZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1j
b3VudC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWN1cnNvci5odG1s
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWdldC1rZXktYXJndW1lbnQtcmVx
dWlyZWQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9u
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLmh0bWw6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMuaHRtbDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItZGF0ZS5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL2tleS10eXBlLWluZmluaXR5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIva2V5cGF0aC1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9rZXlw
YXRoLWZldGNoLWtleS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5n
LWN1cnNvci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdFN0b3JlLXJl
cXVpcmVkLWFyZ3VtZW50cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1jbGVhci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWNvdW50Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtY3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
cmVtb3Zlb2JqZWN0c3RvcmUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWNsb3NlLXZlcnNpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L29wZW4tY2xvc2UtdmVyc2lvbi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVn
Zml4LTEwODA3MS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21t
YW5kcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJv
cGFnYXRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLW51
bGwuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5l
ZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1s
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0
bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0
b3JlLWNhbGxzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1jcmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R1dG9yaWFsLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdlcy5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlLXVuZGVmaW5lZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uY2hhbmdlcmVx
dWVzdC1hY3RpdmVkb21vYmplY3QuaHRtbDoKKworMjAxMi0wMy0xMyAgRGF2aWQgR3JvZ2FuICA8
ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgSW5kZXhlZERCIGxheW91dCB0ZXN0czog
ZmFjdG9yIG91dCBwcmVmaXgtaGFuZGxpbmctY29kZQogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2NjQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3Rv
cmUuaHRtbAppbmRleCA1NTQwMzllOGRkM2NkM2Q3Y2JmNWJlOWQ1OWM1NmY0ZWY2NjlhZDg3Li5i
ZjFlOGVhNDhlNDZkOTAyNTVjZDQ1ZDMzYmI1ZmQyMDM0ODc3ZWY0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92
ZS1vYmplY3Qtc3RvcmUuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIGZ1
bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToiKTsKLSAg
ICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAg
ICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAg
dGVzdENyZWF0ZUFuZFJlbW92ZSgpOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXN1bHQg
PSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
Y2xlYW5EYXRhYmFzZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2NyZWF0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVx
dWlyZWQuaHRtbAppbmRleCBjMmM0ZjI5NzE0Y2NlZjZkZjZmNmMwZmJiYTdiNDA1NGE5MGQ4OTNm
Li40ODA5MGMyOWI1MDc4Yzk4ZGQ1YTI2NTk5YzZjOWVkZjNlYjFjMDFlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1lLWFyZ3Vt
ZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Jl
YXRlT2JqZWN0U3RvcmUtbmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBAIC0xNSw3ICsxNSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAg
ICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0
aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1udWxs
LW5hbWUuaHRtbAppbmRleCAyNjA1NDRlYWZhNzlmN2NlM2M5ZTRmY2FiYTcxOWMwNGViNDEwNTYz
Li5iZWIxODZmMzkzYWQwYTZlZGM4MTNmZWY2YzcxZWU0YWQzYTcwNmQ5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1udWxsLW5hbWUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9y
ZS1udWxsLW5hbWUuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAg
ICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5w
YXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlw
dGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5k
ZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1jb250aW51ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWNvbnRpbnVlLmh0bWwKaW5kZXggY2RhZmFmNzIzZjVhODk4ZTk1MmU0YWIwY2QxMzE0NjBh
NjUwZTQ4NC4uNDk3ZTFlMTY5ZGU0MTNkZGFiMjIwNGUzMGFiZjEzZjc1MjA0NGY3OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWNvbnRpbnVlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWNvbnRpbnVlLmh0bWwK
QEAgLTEzLDcgKzEzLDcgQEAgZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCJ3MgSURCQ3Vyc29y
LmNvbnRpbnVlKCkgd2l0aCBhIGtleSBwYXJhbWV0ZXIuIik7CiB2YXIgZGF0ZSA9IG5ldyBEYXRl
KCk7CiAKIC8vIEluIG9yZGVyIG9mIGhvdyBpdCBzaG91bGQgYmUgc29ydGVkIGJ5IEluZGV4ZWRE
Qi4KLXdpbmRvdy50ZXN0RGF0YSA9IFsKK3NlbGYudGVzdERhdGEgPSBbCiAgICAgMCwKICAgICAx
LAogICAgIDEsCkBAIC00OSw3ICs0OSw3IEBAIGZ1bmN0aW9uIG9wZW5EYXRhYmFzZSgpCiAgCiBm
dW5jdGlvbiBzZXRWZXJzaW9uKCkKIHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJkYi5zZXRW
ZXJzaW9uKCduZXcgdmVyc2lvbicpIik7CiAgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGRlbGV0ZUV4
aXN0aW5nOwpAQCAtNTgsMjIgKzU4LDIyIEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogCiBmdW5j
dGlvbiBkZWxldGVFeGlzdGluZygpCiB7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygi
dHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJh
bnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJh
Y2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93Lm9iamVj
dFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3NvbWVPYmplY3RTdG9y
ZScpIik7Ci0gICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUu
Y3JlYXRlSW5kZXgoJ3NvbWVJbmRleCcsICd4JykiKTsKLSAgICB3aW5kb3cubmV4dFRvQWRkID0g
MDsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ3NvbWVPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5pbmRleE9iamVjdCA9IGV2YWxBbmRM
b2coIm9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7CisgICAgc2Vs
Zi5uZXh0VG9BZGQgPSAwOwogICAgIGFkZERhdGEoKTsKIH0KIAogZnVuY3Rpb24gYWRkRGF0YSgp
CiB7CiAgICAgcmVzdWx0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUuYWRkKHsneCc6IHRlc3RE
YXRhW25leHRUb0FkZF19LCBuZXh0VG9BZGQpIik7Ci0gICAgcmVzdWx0Lm9uc3VjY2VzcyA9ICsr
d2luZG93Lm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBhc2NlbmRpbmdU
ZXN0OworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSArK3NlbGYubmV4dFRvQWRkIDwgdGVzdERhdGEu
bGVuZ3RoID8gYWRkRGF0YSA6IGFzY2VuZGluZ1Rlc3Q7CiAgICAgcmVzdWx0Lm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KIApAQCAtODMsNTMgKzgzLDUzIEBAIGZ1bmN0aW9u
IGFzY2VuZGluZ1Rlc3QoKQogICAgIHZhciByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhPYmpl
Y3Qub3BlbktleUN1cnNvcihudWxsLCBJREJDdXJzb3IuTkVYVCkiKTsKICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGFzY2VuZGluZ0NhbGxiYWNrOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHdpbmRvdy5zdGFnZSA9IDA7CisgICAgc2VsZi5zdGFn
ZSA9IDA7CiB9CiAKIGZ1bmN0aW9uIGFzY2VuZGluZ0NhbGxiYWNrKCkKIAogewotICAgIGlmICh3
aW5kb3cuc3RhZ2UgPT0gMCkgeworICAgIGlmIChzZWxmLnN0YWdlID09IDApIHsKICAgICAgICAg
c2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIwIik7CiAgICAgICAg
IGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoMy4xNDE1OSkiKTsKLSAg
ICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0
YWdlID09IDEpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFy
eUtleSIsICIzIik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29u
dGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDIpIHsKKyAgICB9IGVs
c2UgaWYgKHNlbGYuc3RhZ2UgPT0gMikgewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0
LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjQiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFy
Z2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0g
MykgeworICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAzKSB7CiAgICAgICAgIHNob3VsZEJl
KCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiNSIpOwogICAgICAgICBldmFsQW5k
TG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKDEyKSIpOwotICAgIH0gZWxzZSBpZiAo
d2luZG93LnN0YWdlID09IDQpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNCkgewog
ICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjciKTsK
ICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZShkYXRlKSIp
OwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDUpIHsKKyAgICB9IGVsc2UgaWYgKHNl
bGYuc3RhZ2UgPT0gNSkgewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5w
cmltYXJ5S2V5IiwgIjkiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3Vs
dC5jb250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gNikgeworICAg
IH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA2KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50
YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMTAiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZl
bnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3Rh
Z2UgPT0gNykgeworICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA3KSB7CiAgICAgICAgIHNo
b3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMTEiKTsKICAgICAgICAg
ZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQxJykiKTsKLSAg
ICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA4KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0
YWdlID09IDgpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFy
eUtleSIsICIxNCIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNv
bnRpbnVlKCdBIGJpdDMnKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDkpIHsK
KyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gOSkgewogICAgICAgICBzaG91bGRCZSgiZXZl
bnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjE2Iik7CiAgICAgICAgIGV2YWxBbmRMb2co
ImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoJ3RoZSBCSUdHRVNUIHN0cmluZycpIik7Ci0g
ICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMTApIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYu
c3RhZ2UgPT0gMTApIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJp
bWFyeUtleSIsICIxNyIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0
LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxMSkgeworICAg
IH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAxMSkgewogICAgICAgICBzaG91bGRCZU51bGwoImV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICAgICAgZGVzY2VuZGluZ1Rlc3QoKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIklsbGVnYWwgc3RhZ2Uu
Iik7CiAgICAgfQotICAgIHdpbmRvdy5zdGFnZSsrOworICAgIHNlbGYuc3RhZ2UrKzsKIH0KIAog
ZnVuY3Rpb24gZGVzY2VuZGluZ1Rlc3QoKQpAQCAtMTM4LDU2ICsxMzgsNTYgQEAgZnVuY3Rpb24g
ZGVzY2VuZGluZ1Rlc3QoKQogICAgIHZhciByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhPYmpl
Y3Qub3BlbktleUN1cnNvcihudWxsLCBJREJDdXJzb3IuUFJFVikiKTsKICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGRlc2NlbmRpbmdDYWxsYmFjazsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOworICAgIHNlbGYuc3Rh
Z2UgPSAwOwogfQogCiBmdW5jdGlvbiBkZXNjZW5kaW5nQ2FsbGJhY2soKQogewotICAgIGlmICh3
aW5kb3cuc3RhZ2UgPT0gMCkgeworICAgIGlmIChzZWxmLnN0YWdlID09IDApIHsKICAgICAgICAg
c2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNyIpOwogICAgICAg
ICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCdBIGJpdDInKSIpOwot
ICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDEpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYu
c3RhZ2UgPT0gMSkgewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmlt
YXJ5S2V5IiwgIjE1Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQu
Y29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDIpIHsKKyAgICB9
IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMikgewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFy
Z2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjE0Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50
LnRhcmdldC5yZXN1bHQuY29udGludWUoZGF0ZSkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5z
dGFnZSA9PSAzKSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDMpIHsKICAgICAgICAg
c2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxMCIpOwogICAgICAg
ICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVs
c2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA0KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09
IDQpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIs
ICI5Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUo
MSkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA1KSB7CisgICAgfSBlbHNlIGlm
IChzZWxmLnN0YWdlID09IDUpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1
bHQucHJpbWFyeUtleSIsICIyIik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5y
ZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDYpIHsK
KyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNikgewogICAgICAgICBzaG91bGRCZSgiZXZl
bnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjEiKTsKICAgICAgICAgZXZhbEFuZExvZygi
ZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cu
c3RhZ2UgPT0gNykgeworICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA3KSB7CiAgICAgICAg
IHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMCIpOwogICAgICAg
ICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVs
c2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA4KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09
IDgpIHsKICAgICAgICAgc2hvdWxkQmVOdWxsKCJldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAg
ICAgIGFzY2VuZGluZ0Vycm9yVGVzdExlc3NUaGFuKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
IGVsc2UgewogICAgICAgICB0ZXN0RmFpbGVkKCJJbGxlZ2FsIHN0YWdlLiIpOwogICAgIH0KLSAg
ICB3aW5kb3cuc3RhZ2UrKzsKKyAgICBzZWxmLnN0YWdlKys7CiB9CiAKIGZ1bmN0aW9uIGFzY2Vu
ZGluZ0Vycm9yVGVzdExlc3NUaGFuKCkKIHsKICAgICBkZWJ1ZygiIik7CiAgICAgdmFyIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5vcGVuS2V5Q3Vyc29yKG51bGwsIElEQkN1cnNv
ci5ORVhUKSIpOwotICAgIHdpbmRvdy5zdGFnZSA9IDA7CisgICAgc2VsZi5zdGFnZSA9IDA7CiAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy5zdGFnZSA9PT0g
MCkgeworICAgICAgICBpZiAoc2VsZi5zdGFnZSA9PT0gMCkgewogICAgICAgICAgICAgc2hvdWxk
QmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIwIik7CiAgICAgICAgICAgICBl
dmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKDMuMTQxNTkpIik7Ci0gICAg
ICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDEpIHsKKyAgICAgICAgfSBlbHNlIGlmIChz
ZWxmLnN0YWdlID09IDEpIHsKICAgICAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVz
dWx0LnByaW1hcnlLZXkiLCAiMyIpOwogICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlv
bigiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgxKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlv
bi5EQVRBX0VSUiIpOwogICAgICAgICAgICAgYXNjZW5kaW5nRXJyb3JUZXN0RXF1YWwoKTsKQEAg
LTE5NSw3ICsxOTUsNyBAQCBmdW5jdGlvbiBhc2NlbmRpbmdFcnJvclRlc3RMZXNzVGhhbigpCiAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlc3RGYWlsZWQoIklsbGVnYWwgc3RhZ2UuIik7
CiAgICAgICAgIH0KLSAgICAgICAgd2luZG93LnN0YWdlKys7CisgICAgICAgIHNlbGYuc3RhZ2Ur
KzsKICAgICB9OwogfQogCkBAIC0yMDMsMTMgKzIwMywxMyBAQCBmdW5jdGlvbiBhc2NlbmRpbmdF
cnJvclRlc3RFcXVhbCgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIHZhciByZXF1ZXN0ID0gZXZh
bEFuZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcihudWxsLCBJREJDdXJzb3IuTkVYVCki
KTsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOworICAgIHNlbGYuc3RhZ2UgPSAwOwogICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cuc3RhZ2UgPT09IDApIHsKKyAg
ICAgICAgaWYgKHNlbGYuc3RhZ2UgPT09IDApIHsKICAgICAgICAgICAgIHNob3VsZEJlKCJldmVu
dC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMCIpOwogICAgICAgICAgICAgZXZhbEFuZExv
ZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgzLjE0MTU5KSIpOwotICAgICAgICB9IGVs
c2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFn
ZSA9PSAxKSB7CiAgICAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmlt
YXJ5S2V5IiwgIjMiKTsKICAgICAgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImV2ZW50
LnRhcmdldC5yZXN1bHQuY29udGludWUoMy4xNDE1OSkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIiKTsKICAgICAgICAgICAgIGRlc2NlbmRpbmdFcnJvclRlc3RHcmVhdGVyVGhhbigp
OwpAQCAtMjE3LDcgKzIxNyw3IEBAIGZ1bmN0aW9uIGFzY2VuZGluZ0Vycm9yVGVzdEVxdWFsKCkK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGVzdEZhaWxlZCgiSWxsZWdhbCBzdGFnZS4i
KTsKICAgICAgICAgfQotICAgICAgICB3aW5kb3cuc3RhZ2UrKzsKKyAgICAgICAgc2VsZi5zdGFn
ZSsrOwogICAgIH07CiB9CiAKQEAgLTIyNSwxMyArMjI1LDEzIEBAIGZ1bmN0aW9uIGRlc2NlbmRp
bmdFcnJvclRlc3RHcmVhdGVyVGhhbigpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIHZhciByZXF1
ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcihudWxsLCBJREJDdXJz
b3IuUFJFVikiKTsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOworICAgIHNlbGYuc3RhZ2UgPSAwOwog
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cuc3RhZ2UgPT0g
MCkgeworICAgICAgICBpZiAoc2VsZi5zdGFnZSA9PSAwKSB7CiAgICAgICAgICAgICBzaG91bGRC
ZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjE3Iik7CiAgICAgICAgICAgICBl
dmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCdBIGJpdDInKSIpOwotICAg
ICAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgICAgIH0gZWxzZSBpZiAo
c2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJl
c3VsdC5wcmltYXJ5S2V5IiwgIjE1Iik7CiAgICAgICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCdBIGJpdDMnKSIsICJJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogICAgICAgICAgICAgZGVzY2VuZGluZ0Vycm9yVGVzdEVx
dWFsKCk7CkBAIC0yMzksNyArMjM5LDcgQEAgZnVuY3Rpb24gZGVzY2VuZGluZ0Vycm9yVGVzdEdy
ZWF0ZXJUaGFuKCkKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGVzdEZhaWxlZCgiSWxs
ZWdhbCBzdGFnZS4iKTsKICAgICAgICAgfQotICAgICAgICB3aW5kb3cuc3RhZ2UrKzsKKyAgICAg
ICAgc2VsZi5zdGFnZSsrOwogICAgIH07CiB9CiAKQEAgLTI0NywyMiArMjQ3LDIyIEBAIGZ1bmN0
aW9uIGRlc2NlbmRpbmdFcnJvclRlc3RFcXVhbCgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIHZh
ciByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcihudWxsLCBJ
REJDdXJzb3IuUFJFVikiKTsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOworICAgIHNlbGYuc3RhZ2Ug
PSAwOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cuc3Rh
Z2UgPT0gMCkgeworICAgICAgICBpZiAoc2VsZi5zdGFnZSA9PSAwKSB7CiAgICAgICAgICAgICBz
aG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjE3Iik7CiAgICAgICAg
ICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCdBIGJpdDInKSIp
OwotICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgICAgIH0gZWxz
ZSBpZiAoc2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFy
Z2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjE1Iik7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJj
dXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgICAgICAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCdBIGJpdDInKSIsICJJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwotICAgICAgICAgICAgd2luZG93LnRyYW5zLm9u
Y29tcGxldGUgPSBvblRyYW5zYWN0aW9uQ29tcGxldGU7CisgICAgICAgICAgICBzZWxmLnRyYW5z
Lm9uY29tcGxldGUgPSBvblRyYW5zYWN0aW9uQ29tcGxldGU7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlc3RGYWlsZWQoIklsbGVnYWwgc3RhZ2Uu
Iik7CiAgICAgICAgIH0KLSAgICAgICAgd2luZG93LnN0YWdlKys7CisgICAgICAgIHNlbGYuc3Rh
Z2UrKzsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItZGVsZXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3ItZGVsZXRlLmh0bWwKaW5kZXggNmE1MzFhNjFlMGVlOWFjNzhhMDhlOTJjOWU4MjQ4ZDE2
YjI2ZTg3My4uNWFhZjQwNjI5MjE1ZmE5ZmYzYzAzYjI3MTY0Y2MwZmViMjExNGI1NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWRlbGV0ZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1kZWxldGUuaHRtbApAQCAt
MzIsNyArMzIsNyBAQCBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiBmdW5jdGlvbiBzZXRWZXJzaW9u
U3VjY2VzcygpCiB7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2lu
ZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Cisg
ICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0
ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IG9wZW5D
dXJzb3I7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
aW5jb25zaXN0ZW5jeS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29y
LWluY29uc2lzdGVuY3kuaHRtbAppbmRleCA2ZTA3YjFjYmY0YjBlYzg0NWMwZjEyNDEwNmE5ZDA3
YWU5ZTliMGY2Li40MWM0YWI2MTIwZDg1NTcyNDdjMmNhMGNiNWQ2OGJiMDdhMTM3NDQ0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5j
eS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNp
c3RlbmN5Lmh0bWwKQEAgLTMyLDcgKzMyLDcgQEAgZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogZnVu
Y3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2Vz
cygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAg
ICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9u
Y29tcGxldGUgPSBvcGVuQmFzaWNDdXJzb3I7CkBAIC01NSw3ICs1NSw3IEBAIGZ1bmN0aW9uIG9w
ZW5CYXNpY0N1cnNvcigpCiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxl
dGU7CiAKICAgICBrZXlSYW5nZSA9IElEQktleVJhbmdlLmxvd2VyQm91bmQoInNvbWVLZXkxIik7
Ci0gICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUo
J2Jhc2ljU3RvcmUnKSIpOworICAgIHNlbGYub2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJ0cmFu
cy5vYmplY3RTdG9yZSgnYmFzaWNTdG9yZScpIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
Im9iamVjdFN0b3JlLm9wZW5DdXJzb3Ioa2V5UmFuZ2UpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBjaGVja0N1cnNvcjsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1pbmRleC1kZWxldGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1pbmRleC1kZWxldGUuaHRtbAppbmRleCBhNzU4Yzc4Mzg2N2Q5MjE2NWIyYzI5YzEyZWY4Mjhj
ZGZhNGU4ZTA5Li5iNDY1MjMxMjM4MjE2YzVhMDY4YTg0MjRmYjEzY2FmYmE0YTMyMDhmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5kZXgtZGVsZXRl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluZGV4LWRl
bGV0ZS5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0
aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3Mo
KToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAg
IHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNv
bXBsZXRlID0gb3BlbkN1cnNvcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1rZXktb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2N1cnNvci1rZXktb3JkZXIuaHRtbAppbmRleCBlMDE0ZGJiZTRiN2Q0ODY2YjAzZjQ5YzY1
MDI1ZWFiNTczZTJjNTU0Li5mYTZiNDUyY2I5MzQ0Nzc0OTVmZjA3NGE2OGU4NmFkZjRmNDBhNTY1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9y
ZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1v
cmRlci5odG1sCkBAIC0zMyw3ICszMyw3IEBAIGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiAg
ICAgfTsKIH0KIAotd2luZG93LmtleXMgPSBbCitzZWxmLmtleXMgPSBbCiAgICAgIi1JbmZpbml0
eSIsCiAgICAgIi1OdW1iZXIuTUFYX1ZBTFVFIiwKICAgICAiLTEiLApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1hcnkta2V5LW9yZGVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJpbWFyeS1rZXktb3JkZXIu
aHRtbAppbmRleCAzNWRhMDAwODZjNzRmYTE1MDQxYjhlNjdlMDFjMmNmYmM5NTk3MWRjLi5iZDcx
Mzg0M2EwNjI4MmQzY2Q1MzE1MjI5ZTdiNTNlMmVlNTg5MzBhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJpbWFyeS1rZXktb3JkZXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJpbWFyeS1rZXktb3JkZXIu
aHRtbApAQCAtMzYsNyArMzYsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogICAgIH07
CiB9CiAKLXdpbmRvdy5rZXlzID0gWworc2VsZi5rZXlzID0gWwogICAgICItSW5maW5pdHkiLAog
ICAgICItMiIsCiAgICAgIi0xIiwKQEAgLTY3LDcgKzY3LDcgQEAgZnVuY3Rpb24gcG9wdWxhdGVT
dG9yZSgpCiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAg
IHZhciBjb3VudCA9IDA7CiAgICAgdmFyIGluZGV4S2V5ID0gMDsKLSAgICB2YXIga2V5cyA9IHdp
bmRvdy5rZXlzLnNsaWNlKCk7CisgICAgdmFyIGtleXMgPSBzZWxmLmtleXMuc2xpY2UoKTsKICAg
ICBrZXlzLnJldmVyc2UoKTsKICAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7CiAgICAg
ICAgIHZhciB2YWx1ZSA9IHsgaW5kZXhLZXk6IGluZGV4S2V5LCBjb3VudDogY291bnQrKyB9OwpA
QCAtOTMsNyArOTMsNyBAQCBmdW5jdGlvbiBjaGVja1N0b3JlKCkKICAgICAgICAgaWYgKGN1cnNv
clJlcXVlc3QucmVzdWx0KSB7CiAgICAgICAgICAgICBldmFsQW5kTG9nKCJjdXJzb3IgPSBjdXJz
b3JSZXF1ZXN0LnJlc3VsdCIpOwogICAgICAgICAgICAgc2hvdWxkQmUoImN1cnNvci5rZXkiLCBT
dHJpbmcoaW5kZXhLZXkpKTsKLSAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3IucHJpbWFyeUtl
eSIsIHdpbmRvdy5rZXlzW2NvdW50KytdKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJjdXJzb3Iu
cHJpbWFyeUtleSIsIHNlbGYua2V5c1tjb3VudCsrXSk7CiAgICAgICAgICAgICBjdXJzb3IuY29u
dGludWUoKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiY291
bnQgPT09IGtleXMubGVuZ3RoIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVkLmh0bWwKaW5kZXggZWFlZGIyZDJmYzM0YzI2MzQ2
ODllMmUyZmZhYWU1ODJmODU4ZDlhZS4uZDNhZTlhMmFlMDQ3M2ExMmEyOGVmMzAwMThmZDI5MDZl
M2VhODAxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29y
LXNraXAtZGVsZXRlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1
cnNvci1za2lwLWRlbGV0ZWQuaHRtbApAQCAtMzcsNyArMzcsNyBAQCBmdW5jdGlvbiBvcGVuU3Vj
Y2VzcygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVidWcoInNldFZl
cnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09
IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAg
ICAgdHJhbnMub25jb21wbGV0ZSA9IGJhc2ljQ3Vyc29yVGVzdDsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtdmFsdWUtYXJndW1lbnQtcmVx
dWlyZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUt
dmFsdWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbAppbmRleCA3MmM2N2EyM2I2MGE2MzMwZGU2YTY4
ZjkxMzlhNmJiNWY2OWU5YmJhLi5kYWQzMzBmNGEwZTAyNjFmMDIzMjQzYjhhZTMwZWI3MGEyNmU1
YzBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBk
YXRlLXZhbHVlLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS12YWx1ZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBA
IC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZp
eGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUg
PSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0
YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBk
ZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sCmluZGV4
IDJjY2EyOGVmZTRmNjhiYzYwZWU1ZWQ3ZmJiNTVkYzhmY2I5MDYzZDguLjE3NGM5NzAyOTkwNzY2
YzU5ZWNiM2NmZTk3YjllZGY5MjlmZDM4NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWwKQEAgLTMyLDcgKzMyLDcgQEAgZnVuY3Rpb24g
b3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVn
KCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2co
InRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRy
YW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxi
YWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBvcGVuQmFzaWNDdXJzb3I7CkBAIC02Nyw3ICs2
Nyw3IEBAIGZ1bmN0aW9uIG9wZW5CYXNpY0N1cnNvcigpCiAgICAgdHJhbnMub25jb21wbGV0ZSA9
IHRyYW5zYWN0aW9uQ29tcGxldGU7CiAKICAgICBrZXlSYW5nZSA9IElEQktleVJhbmdlLmxvd2Vy
Qm91bmQoIm15S2V5MSIpOwotICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coInRy
YW5zLm9iamVjdFN0b3JlKCdiYXNpY1N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0g
ZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ2Jhc2ljU3RvcmUnKSIpOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKGtleVJhbmdlKSIpOwogICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gYmFzaWNVcGRhdGVDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1sCmluZGV4IGNkMDU2YTJhZmFiYTQ4Nzgx
MDM0ZWRhMGE2Zjg4NWYxYmY2MGM3NjEuLjVhYjM5YzM0Y2NjMjc2OWU4MTM2ZjYyNThiMGFiMGU5
NWU5OTUxYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEt
Y29ycnVwdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEt
Y29ycnVwdGlvbi5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogZnVuY3Rp
b24gb3BlblN1Y2Nlc3MoKQogewogICAgIGRlYnVnKCJvcGVuU3VjY2VzcygpOiIpOwotICAgIHdp
bmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNl
bGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKIAogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpIik7CiAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZXRWZXJzaW9uU3VjY2VzczsKQEAgLTMxLDcgKzMxLDcgQEAg
ZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewog
ICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2
YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMg
PSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRC
ZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRB
Ym9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBhZGREYXRhOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1iYXNpY3MuaHRtbAppbmRleCBk
MDI5MTQ4Nzg5YjQ0ZTI1Y2I3ZjBmZmEwMWM0OWY1MjRlOTc4MDY4Li43MjMzMGMxMWMzOTAyNmVj
NDgxOGVmMDVhZTk3ODQ4NDQzZTc0Njk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9kYXRhYmFzZS1iYXNpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9kYXRhYmFzZS1iYXNpY3MuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlv
biB0ZXN0KCkKIAogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogewotICAgIHdpbmRvdy5kYiA9IGV2
YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYuZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKIAogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpIik7CiAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBzZXRWZXJzaW9uU3VjY2VzczsKQEAgLTMxLDcgKzMxLDcgQEAgZnVuY3Rpb24gb3Bl
blN1Y2Nlc3MoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVnKCJz
ZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9n
KCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5z
ICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNr
OwogCkBAIC03Niw3ICs3Niw3IEBAIGZ1bmN0aW9uIGNoZWNrT2JqZWN0U3RvcmUoKQogCiBmdW5j
dGlvbiBjb21taXRBbmRDb250aW51ZSgpCiB7Ci0gICAgd2luZG93LnNldFRpbWVvdXQodGVzdFNl
dFZlcnNpb25BYm9ydCwgMCk7CisgICAgc2VsZi5zZXRUaW1lb3V0KHRlc3RTZXRWZXJzaW9uQWJv
cnQsIDApOwogfQogCiBmdW5jdGlvbiB0ZXN0U2V0VmVyc2lvbkFib3J0KCkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCmluZGV4IGYxZWFl
MWFhODk4MzE0NmY1Y2MwMzc2MWM5YmMyYzE1MzM2NWJjODcuLjU5YzdkZTU4MzljNjRmYTdiMGFk
NjkxNTJiYmUzNDI1N2I5YWU5MzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbApAQCAtMjAsNyArMjAsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkKIAogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogewotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRM
b2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYuZGIgPSBldmFsQW5kTG9n
KCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKIAogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9n
KCJkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBzZXRWZXJzaW9uU3VjY2VzczsKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gb3BlblN1Y2Nl
c3MoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVnKCJzZXRWZXJz
aW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBu
dWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAg
IHRyYW5zLm9uY29tcGxldGUgPSBjaGVja1F1b3RhRW5mb3JjaW5nOwpAQCAtNjIsMTIgKzYyLDEy
IEBAIGZ1bmN0aW9uIGNoZWNrUXVvdGFFbmZvcmNpbmcoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB0
ZXN0Q29tcGxldGU7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNh
bGxiYWNrOwogICAgIGRlYnVnKCJDcmVhdGluZyAnZGF0YScgd2hpY2ggY29udGFpbnMgNjRLIG9m
IGRhdGEiKTsKLSAgICB3aW5kb3cuZGF0YSA9ICJYIjsKKyAgICBzZWxmLmRhdGEgPSAiWCI7CiAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKQogICAgICAgICBkYXRhICs9IGRhdGE7CiAg
ICAgc2hvdWxkQmUoImRhdGEubGVuZ3RoIiwgIjY1NTM2Iik7Ci0gICAgd2luZG93LmRhdGFBZGRl
ZCA9IDA7Ci0gICAgd2luZG93LnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmpl
Y3RTdG9yZSgndGVzdDEyMycpIik7CisgICAgc2VsZi5kYXRhQWRkZWQgPSAwOworICAgIHNlbGYu
c3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCd0ZXN0MTIzJyki
KTsKICAgICBhZGREYXRhKCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0
LWV4cGVjdGVkLnR4dAppbmRleCAzNzE0NzJmZDg2OGE5MGE1MjkxODNhNjJjYzdkYWU0Y2U4MmQ4
NTA4Li43ZTJjOWI4ODgyNDAwNjU3MjAzNDAzODU5ZGIyODJlNzdjZTRhYjE0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9i
amVjdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVs
ZXRlLWNsb3NlZC1kYXRhYmFzZS1vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC02LDcgKzYsNyBAQCBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURQogaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2Vs
Zi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWRE
QiB8fCBzZWxmLk9JbmRleGVkREI7CiBQQVNTIEJvb2xlYW4oaW5kZXhlZERCICYmIElEQkN1cnNv
ciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElEQkRhdGFiYXNlRXhjZXB0
aW9uICYmIElEQkZhY3RvcnkgJiYgSURCSW5kZXggJiYgSURCS2V5UmFuZ2UgJiYgSURCT2JqZWN0
U3RvcmUgJiYgSURCUmVxdWVzdCAmJiBJREJUcmFuc2FjdGlvbikgaXMgdHJ1ZQogCi13aW5kb3cu
c3RhdGUgPSAnc3RhcnRpbmcnCitzZWxmLnN0YXRlID0gJ3N0YXJ0aW5nJwogaW5kZXhlZERCLm9w
ZW4oJ2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0JykKIGRiID0gZXZlbnQudGFyZ2V0LnJl
c3VsdAogaW5kZXhlZERCLm9wZW4oJ2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0JykKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0
YWJhc2Utb2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUt
Y2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sCmluZGV4IDhmZTg1OGY4NTBhNmNiZDliN2YyY2Fj
NThmMmQ0ZmQ5MDA1OGE1MDEuLmY3MzZiMzAyZDZmYzMyN2M4MmNmNWViMGE1NzE0MmE3M2YwMmUz
ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9z
ZWQtZGF0YWJhc2Utb2JqZWN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvZGVsZXRlLWNsb3NlZC1kYXRhYmFzZS1vYmplY3QuaHRtbApAQCAtMTgsNyArMTgsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkgewogCiBmdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKIHsKLSAgICBl
dmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnc3RhcnRpbmcnIik7CisgICAgZXZhbEFuZExvZygi
c2VsZi5zdGF0ZSA9ICdzdGFydGluZyciKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5k
ZXhlZERCLm9wZW4oJ2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0JykiKTsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwpAQCAtMjYsNyArMjYsNyBAQCBmdW5jdGlvbiBvcGVuREJDb25u
ZWN0aW9uKCkKIAogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogewotICAgIHdpbmRvdy5kYiA9IGV2
YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYuZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKIAogICAgIC8vIE9wZW4gYSBzZWNv
bmQgY29ubmVjdGlvbiB0byB0aGUgc2FtZSBkYXRhYmFzZS4KICAgICB2YXIgcmVxdWVzdDIgPSBl
dmFsQW5kTG9nKCJpbmRleGVkREIub3BlbignZGVsZXRlLWNsb3NlZC1kYXRhYmFzZS1vYmplY3Qn
KSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlT2Jq
ZWN0U3RvcmUtbmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZGVsZXRlT2JqZWN0U3RvcmUtbmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1s
CmluZGV4IGY2YzVjNmEzZWJlZTM4YjE3YmMyZjE3NjdlOWVlOWY0NmM5MzRmMDkuLjNmOWJjYTc4
NDY1YmUwY2ZmY2NlNzY1NTlhN2EwZDg5NTllM2I5NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWly
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RT
dG9yZS1uYW1lLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rp
b24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3
aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5h
bWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxsLW5hbWUuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW51bGwtbmFtZS5odG1s
CmluZGV4IDQ2NTFjZjE1N2FlYjNjZjNjZDhkMjhkNjdhZDA5NjY2NmRhYzA1Y2UuLjdlY2Y5ZGU2
NjZmZDY5N2EyYzVjODU1MDIwNjA5MjhmYmNjNzBlMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW51bGwtbmFtZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW51bGwtbmFt
ZS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZl
bmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOwor
ICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15
IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Bl
bihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNj
ZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRl
cy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCmlu
ZGV4IDMyOGY4ZjJhMDgzZWNjNTM1NWU0NmNlYjllMTkzYTUzN2RlZTVlNzAuLjhjNTcyNDhlN2U4
ZTZlY2E5Mzk0YWVkMjE5YTIzMmQ0MzUwMGZjM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWwKQEAgLTMzLDE0ICszMywxNCBAQCBmdW5jdGlvbiBz
ZXRWZXJzaW9uKCkKIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIHsKICAgICBkZWJ1Zygic2V0
VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygi
dHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAh
PT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsK
IAogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBl
dmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkiKTsKLSAg
ICB3aW5kb3cuaW5kZXhPYmplY3QgPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5k
ZXhOYW1lJywgJ3gnKSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJkYi5jcmVhdGVP
YmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkiKTsKKyAgICBzZWxmLmluZGV4T2JqZWN0ID0g
ZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICd4JykiKTsKICAgICBh
ZGREYXRhKCk7CiB9CiAKQEAgLTk3LDcgKzk3LDcgQEAgZnVuY3Rpb24gb3BlbktleUN1cnNvcigp
CiB7CiAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQiLCAidW5kZWZpbmVkIik7CiAK
LSAgICB3aW5kb3cucmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJz
b3IoKSIpOworICAgIHNlbGYucmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5L
ZXlDdXJzb3IoKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMUNvbnRpbnVlOwog
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQpAQCAtMTEw
LDcgKzExMCw3IEBAIGZ1bmN0aW9uIGN1cnNvcjFDb250aW51ZSgpCiAKICAgICAvLyBXZSByZS11
c2UgdGhlIGxhc3QgcmVxdWVzdCBvYmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0
LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgd2luZG93LnJlcXVlc3Qub25zdWNjZXNzID0gY3Vy
c29yMUNvbnRpbnVlMjsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMUNvbnRp
bnVlMjsKIH0KIAogZnVuY3Rpb24gY3Vyc29yMUNvbnRpbnVlMigpCkBAIC0xMjEsMTQgKzEyMSwx
NCBAQCBmdW5jdGlvbiBjdXJzb3IxQ29udGludWUyKCkKIAogICAgIC8vIFdlIHJlLXVzZSB0aGUg
bGFzdCByZXF1ZXN0IG9iamVjdC4KICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0
LmNvbnRpbnVlKCkiKTsKLSAgICB3aW5kb3cucmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuT2JqZWN0
Q3Vyc29yOworICAgIHNlbGYucmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuT2JqZWN0Q3Vyc29yOwog
fQogCiBmdW5jdGlvbiBvcGVuT2JqZWN0Q3Vyc29yKCkKIHsKICAgICBzaG91bGRCZVRydWUoImV2
ZW50LnRhcmdldC5yZXN1bHQgPT09IG51bGwiKTsKIAotICAgIHdpbmRvdy5yZXF1ZXN0ID0gZXZh
bEFuZExvZygiaW5kZXhPYmplY3Qub3BlbkN1cnNvcigpIik7CisgICAgc2VsZi5yZXF1ZXN0ID0g
ZXZhbEFuZExvZygiaW5kZXhPYmplY3Qub3BlbkN1cnNvcigpIik7CiAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBjdXJzb3IyQ29udGludWU7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CiB9CkBAIC0xNDIsNyArMTQyLDcgQEAgZnVuY3Rpb24gY3Vyc29yMkNv
bnRpbnVlKCkKIAogICAgIC8vIFdlIHJlLXVzZSB0aGUgbGFzdCByZXF1ZXN0IG9iamVjdC4KICAg
ICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB3aW5k
b3cucmVxdWVzdC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWUyOworICAgIHNlbGYucmVxdWVz
dC5vbnN1Y2Nlc3MgPSBjdXJzb3IyQ29udGludWUyOwogfQogCiBmdW5jdGlvbiBjdXJzb3IyQ29u
dGludWUyKCkKQEAgLTE1NCw3ICsxNTQsNyBAQCBmdW5jdGlvbiBjdXJzb3IyQ29udGludWUyKCkK
IAogICAgIC8vIFdlIHJlLXVzZSB0aGUgbGFzdCByZXF1ZXN0IG9iamVjdC4KICAgICBldmFsQW5k
TG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB3aW5kb3cucmVxdWVz
dC5vbnN1Y2Nlc3MgPSBsYXN0OworICAgIHNlbGYucmVxdWVzdC5vbnN1Y2Nlc3MgPSBsYXN0Owog
fQogCiBmdW5jdGlvbiBsYXN0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1sCmluZGV4
IGM2YmM2Mjc5ZWQwYzlkNjYwODI4MTkzMmQ2MjNhNDlhOTIwYzJiOTUuLjk2ZDM0Nzc0N2M1MzU2
Njc0YzQyZWRmOGY1YTgyMWY0ZDQ1NjMxN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQu
aHRtbApAQCAtMzAsNyArMzAsNyBAQCBmdW5jdGlvbiBzZXRWZXJzaW9uKCkKIGZ1bmN0aW9uIGRl
bGV0ZUV4aXN0aW5nKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAg
ICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9u
YWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5v
bmNvbXBsZXRlID0gYWRkRGF0YSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5odG1sCmluZGV4IDhhMjE3
YTM3ZTY3MDVhZmUyYTdlYTkyYjA1YTgwZTgyNDdhMTkyNmYuLjQ3NTY3OTMyYmRlMjlmOGE4NDUw
MzEwMGE0ZmYwMGZhNTNiMjRhODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwKQEAgLTMwLDcg
KzMwLDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygp
CiB7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNo
b3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBl
Y3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHN0
YXJ0VGVzdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1jbXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1jbXAtZXhwZWN0ZWQudHh0CmluZGV4IGUzODJmNWQ4NWY2OTEyNTZjZTU5MmE5ODYyOGRi
MjY5NmE2YzdiZDMuLjY4NmU1YWNhZWMzYTU5ZWExN2QwYzFhYjkxZTFhZmYxZjUwMDAyZmQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC1l
eHBlY3RlZC50eHQKQEAgLTM1MSwxMCArMzUxLDEwIEBAIFBBU1MgY29kZSBpcyBJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5EQVRBX0VSUgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5j
bXAoJ3ZhbGlkJywgL3JlZ2V4LykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBpbmRleGVkREIuY21wKC9yZWdleC8sIHdpbmRvdykKK0V4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBpbmRleGVkREIuY21wKC9yZWdleC8sIHNlbGYpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCh3aW5kb3csIC9yZWdleC8pCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLCAvcmVnZXgvKQogUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoL3JlZ2V4LywgJ3Zh
bGlkJykKQEAgLTM2Myw0NiArMzYzLDQ2IEBAIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3Zh
bGlkJywgL3JlZ2V4LykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBp
bmRleGVkREIuY21wKHdpbmRvdywgJ3ZhbGlkJykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBp
bmRleGVkREIuY21wKHNlbGYsICd2YWxpZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgog
UEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgndmFsaWQnLCB3aW5kb3cpCitFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgndmFsaWQnLCBzZWxmKQogUEFTUyBFeGNlcHRpb24g
d2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgot
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LCB3aW5kb3cuZG9j
dW1lbnQpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLCBzZWxm
LmRvY3VtZW50KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4
ZWREQi5jbXAod2luZG93LmRvY3VtZW50LCB3aW5kb3cpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gaW5kZXhlZERCLmNtcChzZWxmLmRvY3VtZW50LCBzZWxmKQogUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LCAndmFsaWQnKQorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZiwgJ3ZhbGlkJykKIFBBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcs
IHdpbmRvdykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcs
IHNlbGYpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERC
LmNtcCh3aW5kb3cuZG9jdW1lbnQsICd2YWxpZCcpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
aW5kZXhlZERCLmNtcChzZWxmLmRvY3VtZW50LCAndmFsaWQnKQogUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywgd2luZG93LmRvY3Vt
ZW50KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywgc2Vs
Zi5kb2N1bWVudCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURC
RGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRl
eGVkREIuY21wKHdpbmRvdy5kb2N1bWVudCwgd2luZG93LmRvY3VtZW50LmJvZHkpCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLmRvY3VtZW50LCBzZWxmLmRvY3Vt
ZW50LmJvZHkpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRh
dGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhl
ZERCLmNtcCh3aW5kb3cuZG9jdW1lbnQuYm9keSwgd2luZG93LmRvY3VtZW50KQorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudC5ib2R5LCBzZWxmLmRv
Y3VtZW50KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWRE
Qi5jbXAod2luZG93LmRvY3VtZW50LCAndmFsaWQnKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwgJ3ZhbGlkJykKIFBBU1MgRXhjZXB0aW9uIHdh
cyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIHdpbmRvdy5kb2N1
bWVudCkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIHNl
bGYuZG9jdW1lbnQpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElE
QkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5k
ZXhlZERCLmNtcCh3aW5kb3cuZG9jdW1lbnQuYm9keSwgJ3ZhbGlkJykKK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYuZG9jdW1lbnQuYm9keSwgJ3ZhbGlkJykKIFBB
U1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxp
ZCcsIHdpbmRvdy5kb2N1bWVudC5ib2R5KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4
ZWREQi5jbXAoJ3ZhbGlkJywgc2VsZi5kb2N1bWVudC5ib2R5KQogUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbAppbmRleCBm
OWZiZWY2MWU0MzZhMmY5MTE3NmY5NDI3N2U1NDQ2ZGIxMDY5ODEyLi5jZDRhNDdmZTAwZGEyM2Nm
YWNkYTdiZGQ0NGYwZmY1YzU5ZjUzYzcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ZhY3RvcnktY21wLmh0bWwKQEAgLTExNyw5ICsxMTcsOSBAQCBmdW5jdGlvbiB0ZXN0
SW52YWxpZEtleXMoKQogICAgICAgICAie30iLAogICAgICAgICAiZnVuY3Rpb24gKCkge30iLAog
ICAgICAgICAiL3JlZ2V4LyIsCi0gICAgICAgICJ3aW5kb3ciLAotICAgICAgICAid2luZG93LmRv
Y3VtZW50IiwKLSAgICAgICAgIndpbmRvdy5kb2N1bWVudC5ib2R5IgorICAgICAgICAic2VsZiIs
CisgICAgICAgICJzZWxmLmRvY3VtZW50IiwKKyAgICAgICAgInNlbGYuZG9jdW1lbnQuYm9keSIK
ICAgICBdOwogCiAgICAgdmFyIGksIGtleTEsIGtleTI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0
ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggYzlhNWFkYzAxMTQ1MTcy
YTVhNTY2Mzg5NThiYmYyNzIyZTBkMzk1MC4uMzg0ZTQxMDNkMjk2MDlhYmJlZTI5OTNiYjFkOTU1
MWIwNDc2YTkzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rp
b25zLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBCb29sZWFuKGluZGV4ZWREQiAm
JiBJREJDdXJzb3IgJiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJvciAmJiBJREJEYXQK
IAogCiBURVNUOiBkZWxldGVEYXRhYmFzZSBibG9ja2VkIG9uIG9wZW4gaGFuZGxlcwotd2luZG93
LmRibmFtZSA9ICd0ZXN0MSc7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXQorc2Vs
Zi5kYm5hbWUgPSAndGVzdDEnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gub3Bl
bicKICdoLm9wZW4ub25zdWNjZXNzJwogJ2RlbGV0ZURhdGFiYXNlKCknCkBAIC0xNywxMCArMTcs
MTAgQEAgd2luZG93LmRibmFtZSA9ICd0ZXN0MSc7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3Rl
cHMgPSBbXQogJ2RlbGV0ZURhdGFiYXNlKCkub25ibG9ja2VkJwogJ2guY2xvc2UnCiAnZGVsZXRl
RGF0YWJhc2UoKS5vbnN1Y2Nlc3MnCi1QQVNTIHdpbmRvdy5zdGVwcy50b1N0cmluZygpIGlzICJo
Lm9wZW4saC5vcGVuLm9uc3VjY2VzcyxkZWxldGVEYXRhYmFzZSgpLGgub252ZXJzaW9uY2hhbmdl
LGRlbGV0ZURhdGFiYXNlKCkub25ibG9ja2VkLGguY2xvc2UsZGVsZXRlRGF0YWJhc2UoKS5vbnN1
Y2Nlc3MiCitQQVNTIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaC5vcGVuLGgub3Blbi5vbnN1
Y2Nlc3MsZGVsZXRlRGF0YWJhc2UoKSxoLm9udmVyc2lvbmNoYW5nZSxkZWxldGVEYXRhYmFzZSgp
Lm9uYmxvY2tlZCxoLmNsb3NlLGRlbGV0ZURhdGFiYXNlKCkub25zdWNjZXNzIgogCiBURVNUOiBk
ZWxldGVEYXRhYmFzZSBub3QgYmxvY2tlZCB3aGVuIGhhbmRsZXMgY2xvc2UgaW1tZWRpYXRlbHkK
LXdpbmRvdy5kYm5hbWUgPSAndGVzdDInOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0g
W10KK3NlbGYuZGJuYW1lID0gJ3Rlc3QyJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0gW10K
ICdoLm9wZW4nCiAnaC5vcGVuLm9uc3VjY2VzcycKICdkZWxldGVEYXRhYmFzZSgpJwpAQCAtMzAs
MTAgKzMwLDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDInOyB3aW5kb3cudmVyID0gMTsgd2lu
ZG93LnN0ZXBzID0gW10KICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKICdkZWxldGVEYXRh
YmFzZSgpLm9uc3VjY2VzcycKIE5PVEU6IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGRlbGV0
ZURhdGFiYXNlKCkub25ibG9ja2VkIHN0ZXA7IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MTEzMAotRkFJTCB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUg
aC5vcGVuLGgub3Blbi5vbnN1Y2Nlc3MsZGVsZXRlRGF0YWJhc2UoKSxoLm9udmVyc2lvbmNoYW5n
ZSxoLmNsb3NlLGRlbGV0ZURhdGFiYXNlKCkub25zdWNjZXNzLiBXYXMgaC5vcGVuLGgub3Blbi5v
bnN1Y2Nlc3MsZGVsZXRlRGF0YWJhc2UoKSxoLm9udmVyc2lvbmNoYW5nZSxoLmNsb3NlLGRlbGV0
ZURhdGFiYXNlKCkub25ibG9ja2VkLGRlbGV0ZURhdGFiYXNlKCkub25zdWNjZXNzLgorRkFJTCBz
ZWxmLnN0ZXBzLnRvU3RyaW5nKCkgc2hvdWxkIGJlIGgub3BlbixoLm9wZW4ub25zdWNjZXNzLGRl
bGV0ZURhdGFiYXNlKCksaC5vbnZlcnNpb25jaGFuZ2UsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgp
Lm9uc3VjY2Vzcy4gV2FzIGgub3BlbixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCks
aC5vbnZlcnNpb25jaGFuZ2UsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxkZWxl
dGVEYXRhYmFzZSgpLm9uc3VjY2Vzcy4KIAogVEVTVDogZGVsZXRlRGF0YWJhc2UgaXMgZGVsYXll
ZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmcKLXdpbmRvdy5kYm5h
bWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KK3NlbGYuZGJu
YW1lID0gJ3Rlc3QzJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0gW10KICdoLm9wZW4nCiAn
aC5vcGVuLm9uc3VjY2VzcycKICdoLnNldFZlcnNpb24nCkBAIC00NSw3ICs0NSw3IEBAIHdpbmRv
dy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdk
ZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKICdoLmNsb3NlJwogJ2RlbGV0ZURhdGFiYXNlKCku
b25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaC5vcGVuLGgub3Bl
bi5vbnN1Y2Nlc3MsaC5zZXRWZXJzaW9uLGRlbGV0ZURhdGFiYXNlKCksaC5zZXRWZXJzaW9uLm9u
c3VjY2VzcyxoLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaC5vbnZlcnNpb25jaGFu
Z2UsZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9u
c3VjY2VzcyIKK1BBU1Mgc2VsZi5zdGVwcy50b1N0cmluZygpIGlzICJoLm9wZW4saC5vcGVuLm9u
c3VjY2VzcyxoLnNldFZlcnNpb24sZGVsZXRlRGF0YWJhc2UoKSxoLnNldFZlcnNpb24ub25zdWNj
ZXNzLGguc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZSxoLm9udmVyc2lvbmNoYW5nZSxk
ZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxoLmNsb3NlLGRlbGV0ZURhdGFiYXNlKCkub25zdWNj
ZXNzIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRh
dGFiYXNlLWludGVyYWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
ZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMuaHRtbAppbmRleCAxYzIxYWVmYmM4
YzBlNzRkMmVhMzYzNTQ2YmEzODYyYzg2YTMxYzdkLi4zM2ZkNzJlN2FhYzNhYzEzNzZhYzIwODJj
YzdlMWFkMzg5MzY5YjkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25z
Lmh0bWwKQEAgLTEyLDQ0ICsxMiw0NCBAQCBkZXNjcmlwdGlvbigiVGVzdCB0aGUgZGVsZXRlRGF0
YWJhc2UgY2FsbCBhbmQgaXRzIGludGVyYWN0aW9uIHdpdGggb3Blbi9zZXRWZXJzaQogCiBmdW5j
dGlvbiBDb25uZWN0aW9uKGlkKSB7CiAgICAgaWQgPSBTdHJpbmcoaWQpOwotICAgIHZhciBzZWxm
ID0gdGhpczsKKyAgICB2YXIgdGhhdCA9IHRoaXM7CiAgICAgdGhpcy5vcGVuID0gZnVuY3Rpb24o
b3B0cykgewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsg
Ii5vcGVuJyIpKTsKLSAgICAgICAgdmFyIHJlcSA9IGluZGV4ZWREQi5vcGVuKHdpbmRvdy5kYm5h
bWUpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIub3Bl
biciKSk7CisgICAgICAgIHZhciByZXEgPSBpbmRleGVkREIub3BlbihzZWxmLmRibmFtZSk7CiAg
ICAgICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJl
cS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgc2VsZi5oYW5kbGUgPSBl
LnRhcmdldC5yZXN1bHQ7Ci0gICAgICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9n
KCInIiArIGlkICsgIi5vcGVuLm9uc3VjY2VzcyciKSk7Ci0gICAgICAgICAgICBzZWxmLmhhbmRs
ZS5vbnZlcnNpb25jaGFuZ2UgPSBmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgICAgICAgd2luZG93
LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIub252ZXJzaW9uY2hhbmdlJyIpKTsK
LSAgICAgICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9udmVyc2lvbikgeyBvcHRzLm9udmVy
c2lvbi5jYWxsKHNlbGYpOyB9CisgICAgICAgICAgICB0aGF0LmhhbmRsZSA9IGUudGFyZ2V0LnJl
c3VsdDsKKyAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsg
Ii5vcGVuLm9uc3VjY2VzcyciKSk7CisgICAgICAgICAgICB0aGF0LmhhbmRsZS5vbnZlcnNpb25j
aGFuZ2UgPSBmdW5jdGlvbihlKSB7CisgICAgICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2
YWxBbmRMb2coIiciICsgaWQgKyAiLm9udmVyc2lvbmNoYW5nZSciKSk7CisgICAgICAgICAgICAg
ICAgaWYgKG9wdHMgJiYgb3B0cy5vbnZlcnNpb24pIHsgb3B0cy5vbnZlcnNpb24uY2FsbCh0aGF0
KTsgfQogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25zdWNj
ZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgIGlmIChvcHRz
ICYmIG9wdHMub25zdWNjZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwodGhhdCk7IH0KICAgICAg
ICAgfTsKICAgICB9OwogCiAgICAgdGhpcy5jbG9zZSA9IGZ1bmN0aW9uKCkgewotICAgICAgICB3
aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5jbG9zZSciKSk7CisgICAg
ICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5jbG9zZSciKSk7CiAg
ICAgICAgIHRoaXMuaGFuZGxlLmNsb3NlKCk7CiAgICAgfTsKIAogICAgIHRoaXMuc2V0VmVyc2lv
biA9IGZ1bmN0aW9uKG9wdHMpIHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbiciKSk7Ci0gICAgICAgIHZhciByZXEgPSB0aGlzLmhh
bmRsZS5zZXRWZXJzaW9uKFN0cmluZyh3aW5kb3cudmVyKyspKTsKKyAgICAgICAgc2VsZi5zdGVw
cy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24nIikpOworICAgICAgICB2
YXIgcmVxID0gdGhpcy5oYW5kbGUuc2V0VmVyc2lvbihTdHJpbmcoc2VsZi52ZXIrKykpOwogICAg
ICAgICByZXEub25hYm9ydCA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICB3aW5kb3cuc3Rl
cHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uYWJvcnQnIikpOwot
ICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmFib3J0KSB7IG9wdHMub25hYm9ydC5jYWxs
KHNlbGYpOyB9CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBp
ZCArICIuc2V0VmVyc2lvbi5vbmFib3J0JyIpKTsKKyAgICAgICAgICAgIGlmIChvcHRzICYmIG9w
dHMub25hYm9ydCkgeyBvcHRzLm9uYWJvcnQuY2FsbCh0aGF0KTsgfQogICAgICAgICB9OwogICAg
ICAgICByZXEub25ibG9ja2VkID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHdpbmRvdy5z
dGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25ibG9ja2VkJyIp
KTsKLSAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25ibG9ja2VkKSB7IG9wdHMub25ibG9j
a2VkLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9n
KCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uYmxvY2tlZCciKSk7CisgICAgICAgICAgICBpZiAo
b3B0cyAmJiBvcHRzLm9uYmxvY2tlZCkgeyBvcHRzLm9uYmxvY2tlZC5jYWxsKHRoYXQpOyB9CiAg
ICAgICAgIH07CiAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewotICAgICAg
ICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lv
bi5vbnN1Y2Nlc3MnIikpOwotICAgICAgICAgICAgaWYgKHNlbGYuaGFuZGxlLm9iamVjdFN0b3Jl
TmFtZXMuY29udGFpbnMoInRlc3Qtc3RvcmUiICsgd2luZG93LnZlcikpIHsKLSAgICAgICAgICAg
ICAgICBzZWxmLmhhbmRsZS5kZWxldGVPYmplY3RTdG9yZSgidGVzdC1zdG9yZSIgKyB3aW5kb3cu
dmVyKTsKKyAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsg
Ii5zZXRWZXJzaW9uLm9uc3VjY2VzcyciKSk7CisgICAgICAgICAgICBpZiAodGhhdC5oYW5kbGUu
b2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygidGVzdC1zdG9yZSIgKyBzZWxmLnZlcikpIHsKKyAg
ICAgICAgICAgICAgICB0aGF0LmhhbmRsZS5kZWxldGVPYmplY3RTdG9yZSgidGVzdC1zdG9yZSIg
KyBzZWxmLnZlcik7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB2YXIgc3RvcmUgPSBzZWxm
LmhhbmRsZS5jcmVhdGVPYmplY3RTdG9yZSgidGVzdC1zdG9yZSIgKyB3aW5kb3cudmVyKTsKKyAg
ICAgICAgICAgIHZhciBzdG9yZSA9IHRoYXQuaGFuZGxlLmNyZWF0ZU9iamVjdFN0b3JlKCJ0ZXN0
LXN0b3JlIiArIHNlbGYudmVyKTsKICAgICAgICAgICAgIHZhciBjb3VudCA9IDA7CiAgICAgICAg
ICAgICBkb19hc3luY19wdXRzKCk7IC8vIEtlZXAgdGhpcyB0cmFuc2FjdGlvbiBydW5uaW5nIGZv
ciBhIHdoaWxlCiAgICAgICAgICAgICBmdW5jdGlvbiBkb19hc3luY19wdXRzKCkgewpAQCAtNTks
MzIgKzU5LDMyIEBAIGZ1bmN0aW9uIENvbm5lY3Rpb24oaWQpIHsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKCsrY291bnQgPCAxMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgZG9fYXN5bmNf
cHV0cygpOwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lv
bi50cmFuc2FjdGlvbi1jb21wbGV0ZSciKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
b3B0cyAmJiBvcHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vzcy5jYWxsKHNlbGYpOyB9Cisg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBp
ZCArICIuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZSciKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vzcy5j
YWxsKHRoYXQpOyB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9Owog
ICAgICAgICAgICAgfQogICAgICAgICB9OwogICAgICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9u
IChlKSB7Ci0gICAgICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlk
ICsgIi5zZXRWZXJzaW9uLm9uZXJyb3InIikpOwotICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0
cy5vbmVycm9yKSB7IG9wdHMub25lcnJvci5jYWxsKHNlbGYpOyB9CisgICAgICAgICAgICBzZWxm
LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmVycm9yJyIp
KTsKKyAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25lcnJvcikgeyBvcHRzLm9uZXJyb3Iu
Y2FsbCh0aGF0KTsgfQogICAgICAgICB9OwogICAgIH07CiB9CiAKIGZ1bmN0aW9uIGRlbGV0ZURh
dGFiYXNlKGlkLCBuYW1lLCBvcHRzKSB7Ci0gICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJ2RlbGV0ZURhdGFiYXNlKCIgKyBpZCArICIpJyIpKTsKKyAgICBzZWxmLnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJ2RlbGV0ZURhdGFiYXNlKCIgKyBpZCArICIpJyIpKTsKICAgICB2YXIgcmVx
ID0gaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKG5hbWUpOwogICAgIHJlcS5vbnN1Y2Nlc3MgPSBm
dW5jdGlvbiAoZSkgewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVs
ZXRlRGF0YWJhc2UoIiArIGlkICsgIikub25zdWNjZXNzJyIpKTsKKyAgICAgICAgc2VsZi5zdGVw
cy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAiKS5vbnN1Y2Nlc3Mn
IikpOwogICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vz
cy5jYWxsKG51bGwpOyB9CiAgICAgfTsKICAgICByZXEub25lcnJvciA9IGZ1bmN0aW9uIChlKSB7
Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgi
ICsgaWQgKyAiKS5vbmVycm9yJyIpKTsKKyAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRM
b2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAiKS5vbmVycm9yJyIpKTsKICAgICAgICAgaWYg
KG9wdHMgJiYgb3B0cy5vbmVycm9yKSB7IG9wdHMub25lcnJvci5jYWxsKG51bGwpOyB9CiAgICAg
fTsKICAgICByZXEub25ibG9ja2VkID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgd2luZG93LnN0
ZXBzLnB1c2goZXZhbEFuZExvZygiJ2RlbGV0ZURhdGFiYXNlKCIgKyBpZCArICIpLm9uYmxvY2tl
ZCciKSk7CisgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVsZXRlRGF0YWJh
c2UoIiArIGlkICsgIikub25ibG9ja2VkJyIpKTsKICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5v
bmJsb2NrZWQpIHsgb3B0cy5vbmJsb2NrZWQuY2FsbChudWxsKTsgfQogICAgIH07CiB9CkBAIC0x
MDUsMTggKzEwNSwxOCBAQCBmdW5jdGlvbiB0ZXN0KCkgewogZnVuY3Rpb24gdGVzdDEoKSB7CiAg
ICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJURVNUOiBkZWxldGVEYXRhYmFzZSBibG9ja2VkIG9u
IG9wZW4gaGFuZGxlcyIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAndGVzdDEn
OyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5kTG9nKCJz
ZWxmLmRibmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7CiAg
ICAgdmFyIGggPSBuZXcgQ29ubmVjdGlvbigiaCIpOwogICAgIHJ1blN0ZXBzKFtmdW5jdGlvbihk
b05leHQpIHsgaC5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb252ZXJzaW9uOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRlYnVnKCIgICAgaCBjbG9zaW5nLCBidXQgbm90IGltbWVkaWF0ZWx5
Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgeyBoLmNsb3NlKCk7IH0sIDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9fSk7IH0sCi0gICAgICAgIGZ1bmN0aW9uKGRvTmV4dCkgeyBkZWxldGVEYXRhYmFzZSgiIiwg
d2luZG93LmRibmFtZSwgeworICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgZGVsZXRlRGF0YWJh
c2UoIiIsIHNlbGYuZGJuYW1lLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbnN1Y2Nl
c3M6IGZpbmlzaFRlc3R9KTsgfSwKICAgICAgICAgXSk7CiAgICAgZnVuY3Rpb24gZmluaXNoVGVz
dCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJp
bmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmlu
ZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaC5vcGVuIiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaC5vcGVuLm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgImRlbGV0ZURhdGFiYXNlKCkiLApAQCAtMTMyLDE5ICsxMzIsMTkg
QEAgZnVuY3Rpb24gdGVzdDEoKSB7CiBmdW5jdGlvbiB0ZXN0MigpIHsKICAgICBkZWJ1ZygiIik7
CiAgICAgZGVidWcoIlRFU1Q6IGRlbGV0ZURhdGFiYXNlIG5vdCBibG9ja2VkIHdoZW4gaGFuZGxl
cyBjbG9zZSBpbW1lZGlhdGVseSIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAn
dGVzdDInOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5k
TG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtd
Iik7CiAgICAgdmFyIGggPSBuZXcgQ29ubmVjdGlvbigiaCIpOwogICAgIHJ1blN0ZXBzKFtmdW5j
dGlvbihkb05leHQpIHsgaC5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9udmVyc2lvbjogZnVuY3Rpb24oKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoIiAgICBoIGNs
b3NpbmcgaW1tZWRpYXRlbHkiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoLmNsb3NlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9fSk7IH0sCi0gICAgICAgIGZ1bmN0aW9uKGRvTmV4dCkgeyBkZWxldGVEYXRhYmFz
ZSgiIiwgd2luZG93LmRibmFtZSwgeworICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgZGVsZXRl
RGF0YWJhc2UoIiIsIHNlbGYuZGJuYW1lLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
bnN1Y2Nlc3M6IGZpbmlzaFRlc3R9KTsgfSwKICAgICAgICAgXSk7CiAgICAgZnVuY3Rpb24gZmlu
aXNoVGVzdCgpIHsKICAgICAgICAgZGVidWcoIk5PVEU6IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJv
Z3VzIGRlbGV0ZURhdGFiYXNlKCkub25ibG9ja2VkIHN0ZXA7IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMCIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIndpbmRvdy5zdGVwcy50b1N0cmluZygpIiwKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJzZWxmLnN0ZXBzLnRvU3RyaW5nKCkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgWyJoLm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoLm9wZW4ub25z
dWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVsZXRlRGF0YWJhc2Uo
KSIsCkBAIC0xNTksNyArMTU5LDcgQEAgZnVuY3Rpb24gdGVzdDIoKSB7CiBmdW5jdGlvbiB0ZXN0
MygpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IGRlbGV0ZURhdGFiYXNlIGlz
IGRlbGF5ZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nIik7Ci0g
ICAgZXZhbEFuZExvZygid2luZG93LmRibmFtZSA9ICd0ZXN0Myc7IHdpbmRvdy52ZXIgPSAxOyB3
aW5kb3cuc3RlcHMgPSBbXSIpOworICAgIGV2YWxBbmRMb2coInNlbGYuZGJuYW1lID0gJ3Rlc3Qz
Jzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0gW10iKTsKICAgICB2YXIgaCA9IG5ldyBDb25u
ZWN0aW9uKCJoIik7CiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRvTmV4dCkgeyBoLm9wZW4oe29u
c3VjY2VzczogZG9OZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbnZlcnNp
b246IGZ1bmN0aW9uKCkgewpAQCAtMTY3LDEyICsxNjcsMTIgQEAgZnVuY3Rpb24gdGVzdDMoKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgeyBoLmNsb3NlKCk7IH0sIDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
fSk7IH0sCiAgICAgICAgICAgICAgIGZ1bmN0aW9uKGRvTmV4dCkgeyBoLnNldFZlcnNpb24oKTsg
ZG9OZXh0KCk7IH0sCi0gICAgICAgICAgICAgIGZ1bmN0aW9uKGRvTmV4dCkgeyBkZWxldGVEYXRh
YmFzZSgiIiwgd2luZG93LmRibmFtZSwKKyAgICAgICAgICAgICAgZnVuY3Rpb24oZG9OZXh0KSB7
IGRlbGV0ZURhdGFiYXNlKCIiLCBzZWxmLmRibmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAge29uc3VjY2VzczogZmluaXNoVGVzdH0pOyB9LAogICAgICAgICAgICAgICBdKTsK
IAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygid2luZG93LnN0ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInNlbGYuc3RlcHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbImgub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgub3Blbi5v
bnN1Y2Nlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoLnNldFZlcnNpb24i
LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxl
dGVkYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1k
ZWxldGVkYXRhYmFzZS5odG1sCmluZGV4IDQ3YjZhOWUzNTMyOWI2ODVjODdmYzk5ZWZkOTE2MzBi
MzhhNTQ5YzQuLmYyYWY0ZWZmZmUwY2I3ODIzOWZkZTViNjIxZGU1MWExNGY0ZWYwMTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJh
c2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0
ZWRhdGFiYXNlLmh0bWwKQEAgLTI5LDEyICsyOSwxMiBAQCBmdW5jdGlvbiBzdGFydFNldFZlcnNp
b24oKQogCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7Ci0gICAgd2luZG93LnRyYW5zID0g
ZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3Vs
ZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKIAogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkiKTsKIAotICAgIHdp
bmRvdy5pbmRleCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAn
JykiKTsKKyAgICBzZWxmLmluZGV4ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgoJ2lu
ZGV4TmFtZScsICcnKSIpOwogICAgIHNob3VsZEJlVHJ1ZSgic3RvcmUuaW5kZXhOYW1lcy5jb250
YWlucygnaW5kZXhOYW1lJykiKTsKIAogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5h
ZGQoJ3ZhbHVlJywgJ2tleScpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1jb3VudC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW5kZXgtY291bnQuaHRtbAppbmRleCA5MzhiNzM5ODgwNTRmY2I0M2E5NmRmNTk0NDQ2NzNjMDEy
YzAwM2JmLi4zMjExZWM2YTlhNDM1MmVjMmUwNzRmMTljZWVlNGVhNGFlZjA2YjMzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jb3VudC5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWNvdW50Lmh0bWwKQEAgLTI3LDE0
ICsyNywxNCBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewogICAgIGRlYnVnKCIiKTsK
ICAgICBkZWJ1ZygicHJlcGFyaW5nIGRhdGFiYXNlIik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJl
VHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKIAogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7
CiAKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScsIG51bGwpIik7CiAKLSAgICB3aW5kb3cuaW5kZXggPSBldmFsQW5kTG9nKCJz
dG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpIik7CisgICAgc2VsZi5pbmRleCA9IGV2
YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAnJykiKTsKICAgICBzaG91
bGRCZVRydWUoInN0b3JlLmluZGV4TmFtZXMuY29udGFpbnMoJ2luZGV4TmFtZScpIik7CiAKICAg
ICBkZWJ1ZygiYWRkaW5nIDAgLi4uIDk5Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbmRleC1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2luZGV4LWN1cnNvci5odG1sCmluZGV4IGYxZDAzNmUzZDkwY2NhMWFkODE3NDkyMDU2
ODViYTAwZDhlZDgyN2EuLjNmMjA3ZmY4ZDExMmQyZTAzOTIxNjBkMzIzZmQ3NGNlMjE4MjJiNzAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWN1cnNvci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWN1cnNvci5odG1s
CkBAIC0xMSw3ICsxMSw3IEBACiBkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIncyB3ZWJraXRJ
REJJbmRleC5vcGVuQ3Vyc29yICsgdGhlIGN1cnNvciBpdCBwcm9kdWNlcyBpbiBkZXB0aC4iKTsK
ICAKIC8vIEluIG9yZGVyIG9mIGhvdyBpdCBzaG91bGQgYmUgc29ydGVkIGJ5IEluZGV4ZWREQi4K
LXdpbmRvdy50ZXN0RGF0YSA9IFsKK3NlbGYudGVzdERhdGEgPSBbCiAgICAgMSwKICAgICAxLAog
ICAgIDMuMTQxNTksCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5EYXRhYmFzZSgpCiAg
CiBmdW5jdGlvbiBzZXRWZXJzaW9uKCkKIHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJk
YiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICByZXN1bHQgPSBldmFsQW5kTG9nKCJkYi5z
ZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpIik7CiAgICAgcmVzdWx0Lm9uc3VjY2VzcyA9IGRlbGV0
ZUV4aXN0aW5nOwpAQCAtNDEsMjkgKzQxLDI5IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogCiBm
dW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExv
ZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgi
dHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2Fs
bGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93Lm9i
amVjdFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3NvbWVPYmplY3RT
dG9yZScpIik7Ci0gICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygib2JqZWN0U3Rv
cmUuY3JlYXRlSW5kZXgoJ3NvbWVJbmRleCcsICd4JykiKTsKLSAgICB3aW5kb3cubmV4dFRvQWRk
ID0gMDsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3NvbWVPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5pbmRleE9iamVjdCA9IGV2YWxB
bmRMb2coIm9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7CisgICAg
c2VsZi5uZXh0VG9BZGQgPSAwOwogICAgIGFkZERhdGEoKTsKIH0KIAogZnVuY3Rpb24gYWRkRGF0
YSgpCiB7CiAgICAgcmVzdWx0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUuYWRkKHsneCc6IHRl
c3REYXRhW25leHRUb0FkZF19LCBuZXh0VG9BZGQpIik7Ci0gICAgcmVzdWx0Lm9uc3VjY2VzcyA9
ICsrd2luZG93Lm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVs
ZVRlc3RzOworICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSArK3NlbGYubmV4dFRvQWRkIDwgdGVzdERh
dGEubGVuZ3RoID8gYWRkRGF0YSA6IHNjaGVkdWxlVGVzdHM7CiAgICAgcmVzdWx0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KIAogZnVuY3Rpb24gc2NoZWR1bGVUZXN0cygp
CiB7CiAgICAgZGVidWcoIlNjaGVkdWxpbmcgdGVzdHMuLi4iKTsKLSAgICB3aW5kb3cuc2NoZWR1
bGVkVGVzdHMgPSBbXTsKKyAgICBzZWxmLnNjaGVkdWxlZFRlc3RzID0gW107CiAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0ZXN0RGF0YS5sZW5ndGg7ICsraSkgewogICAgICAgICAvKiBsZWZ0IGJv
dW5kLCBpcyBvcGVuLCByaWdodCBib3VuZCwgaXMgb3BlbiwgYXNjZW5kaW5nICovCiAgICAgICAg
IHNjaGVkdWxlZFRlc3RzLnVuc2hpZnQoW2ksIHRydWUsIG51bGwsIG51bGwsIHRydWVdKTsKQEAg
LTk4LDExICs5OCwxMSBAQCBmdW5jdGlvbiBydW5OZXh0VGVzdCgpCiAgICAgfQogIAogICAgIHZh
ciB0ZXN0ID0gc2NoZWR1bGVkVGVzdHMucG9wKCk7Ci0gICAgd2luZG93Lmxvd2VyID0gdGVzdFsw
XTsKLSAgICB3aW5kb3cubG93ZXJJc09wZW4gPSB0ZXN0WzFdOwotICAgIHdpbmRvdy51cHBlciA9
IHRlc3RbMl07Ci0gICAgd2luZG93LnVwcGVySXNPcGVuID0gdGVzdFszXTsKLSAgICB3aW5kb3cu
YXNjZW5kaW5nID0gdGVzdFs0XTsKKyAgICBzZWxmLmxvd2VyID0gdGVzdFswXTsKKyAgICBzZWxm
Lmxvd2VySXNPcGVuID0gdGVzdFsxXTsKKyAgICBzZWxmLnVwcGVyID0gdGVzdFsyXTsKKyAgICBz
ZWxmLnVwcGVySXNPcGVuID0gdGVzdFszXTsKKyAgICBzZWxmLmFzY2VuZGluZyA9IHRlc3RbNF07
CiAKICAgICBzdHIgPSAiTmV4dCB0ZXN0OiAiOwogICAgIGlmIChsb3dlciAhPT0gbnVsbCkgewpA
QCAtMTI5LDM4ICsxMjksMzggQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogICAgIGlmICh1cHBl
ciAhPT0gbnVsbCkgewogICAgICAgICBpZiAodXBwZXJJc09wZW4pIHsKICAgICAgICAgICAgIHdo
aWxlICh1cHBlciA+IDAgJiYgdGVzdERhdGFbdXBwZXJdID09PSB0ZXN0RGF0YVt1cHBlciAtIDFd
KQotICAgICAgICAgICAgICAgIC0td2luZG93LnVwcGVyOworICAgICAgICAgICAgICAgIC0tc2Vs
Zi51cHBlcjsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHdoaWxlICh1cHBlciA8IHRl
c3REYXRhLmxlbmd0aCAtIDEgJiYgdGVzdERhdGFbdXBwZXJdID09PSB0ZXN0RGF0YVt1cHBlciAr
IDFdKQotICAgICAgICAgICAgICAgICsrd2luZG93LnVwcGVyOworICAgICAgICAgICAgICAgICsr
c2VsZi51cHBlcjsKICAgICAgICAgfQogICAgIH0KICAgICBpZiAobG93ZXIgIT09IG51bGwpIHsK
ICAgICAgICAgaWYgKGxvd2VySXNPcGVuKSB7CiAgICAgICAgICAgICB3aGlsZSAobG93ZXIgPCB0
ZXN0RGF0YS5sZW5ndGggLSAxICYmIHRlc3REYXRhW2xvd2VyXSA9PT0gdGVzdERhdGFbbG93ZXIg
KyAxXSkKLSAgICAgICAgICAgICAgICArK3dpbmRvdy5sb3dlcjsKKyAgICAgICAgICAgICAgICAr
K3NlbGYubG93ZXI7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB3aGlsZSAobG93ZXIg
PiAwICYmIHRlc3REYXRhW2xvd2VyXSA9PT0gdGVzdERhdGFbbG93ZXIgLSAxXSkKLSAgICAgICAg
ICAgICAgICAtLXdpbmRvdy5sb3dlcjsKKyAgICAgICAgICAgICAgICAtLXNlbGYubG93ZXI7CiAg
ICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoYXNjZW5kaW5nKSB7CiAgICAgICAgIGlmIChsb3dl
ciAhPT0gbnVsbCkgewogICAgICAgICAgICAgaWYgKCFsb3dlcklzT3BlbikKLSAgICAgICAgICAg
ICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOworICAgICAgICAgICAgICAgIHNlbGYu
ZXhwZWN0ZWRJbmRleCA9IGxvd2VyOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
IHdpbmRvdy5leHBlY3RlZEluZGV4ID0gbG93ZXIgKyAxOworICAgICAgICAgICAgICAgIHNlbGYu
ZXhwZWN0ZWRJbmRleCA9IGxvd2VyICsgMTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB3
aW5kb3cuZXhwZWN0ZWRJbmRleCA9IDA7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXgg
PSAwOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICh1cHBlciAhPT0gbnVsbCkgewogICAgICAg
ICAgICAgaWYgKCF1cHBlcklzT3BlbikKLSAgICAgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJ
bmRleCA9IHVwcGVyOworICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IHVwcGVy
OwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4
ID0gdXBwZXIgLSAxOworICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IHVwcGVy
IC0gMTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9
IHRlc3REYXRhLmxlbmd0aCAtIDE7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB0
ZXN0RGF0YS5sZW5ndGggLSAxOwogICAgIH0KICAgICB0ZXN0V2l0aGluQm91bmRzKCk7CiAgCkBA
IC0xODYsMTUgKzE4NiwxNSBAQCBmdW5jdGlvbiBydW5OZXh0VGVzdCgpCiBmdW5jdGlvbiB0ZXN0
V2l0aGluQm91bmRzKCkKIHsKICAgICBpZiAoZXhwZWN0ZWRJbmRleCA8IDAgfHwgdGVzdERhdGEu
bGVuZ3RoIDw9IGV4cGVjdGVkSW5kZXgpCi0gICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0g
bnVsbDsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbnVsbDsKICAgICBpZiAobG93ZXIg
IT09IG51bGwgJiYgZXhwZWN0ZWRJbmRleCA8IGxvd2VyKQotICAgICAgICB3aW5kb3cuZXhwZWN0
ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAgICAg
aWYgKHVwcGVyICE9PSBudWxsICYmIHVwcGVyIDwgZXhwZWN0ZWRJbmRleCkKLSAgICAgICAgd2lu
ZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBu
dWxsOwogICAgIGlmIChsb3dlciAhPT0gbnVsbCAmJiBsb3dlcklzT3BlbiAmJiBleHBlY3RlZElu
ZGV4IDw9IGxvd2VyKQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAg
ICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAgICAgaWYgKHVwcGVyICE9PSBudWxsICYm
IHVwcGVySXNPcGVuICYmIHVwcGVyIDw9IGV4cGVjdGVkSW5kZXgpCi0gICAgICAgIHdpbmRvdy5l
eHBlY3RlZEluZGV4ID0gbnVsbDsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbnVsbDsK
IH0KICAKIGZ1bmN0aW9uIGN1cnNvckl0ZXJhdGlvbigpCkBAIC0yMTIsMzEgKzIxMiwzMSBAQCBm
dW5jdGlvbiBjdXJzb3JJdGVyYXRpb24oKQogIAogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQu
cmVzdWx0LnByaW1hcnlLZXkiLCAiZXhwZWN0ZWRJbmRleCIpOwogICAgIHNob3VsZEJlKCJldmVu
dC50YXJnZXQucmVzdWx0LmtleSIsICJ0ZXN0RGF0YVsiICsgZXhwZWN0ZWRJbmRleCArICJdIik7
Ci0gICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4ICsg
MSA6IGV4cGVjdGVkSW5kZXggLSAxOworICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IGFzY2VuZGlu
ZyA/IGV4cGVjdGVkSW5kZXggKyAxIDogZXhwZWN0ZWRJbmRleCAtIDE7CiAgICAgdGVzdFdpdGhp
bkJvdW5kcygpOwogCiAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpOwogfQogIAot
d2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPSAwOworc2VsZi5udWxsS2V5UmFuZ2VTdGVwID0gMDsK
IGZ1bmN0aW9uIHRlc3ROdWxsS2V5UmFuZ2UoKQogewotICAgIHdpbmRvdy5sb3dlciA9IDA7Ci0g
ICAgd2luZG93Lmxvd2VySXNPcGVuID0gZmFsc2U7Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdERh
dGEubGVuZ3RoLTE7Ci0gICAgd2luZG93LnVwcGVySXNPcGVuID0gZmFsc2U7CisgICAgc2VsZi5s
b3dlciA9IDA7CisgICAgc2VsZi5sb3dlcklzT3BlbiA9IGZhbHNlOworICAgIHNlbGYudXBwZXIg
PSB0ZXN0RGF0YS5sZW5ndGgtMTsKKyAgICBzZWxmLnVwcGVySXNPcGVuID0gZmFsc2U7CiAKICAg
ICBzdHIgPSAiTmV4dCB0ZXN0OiBudWxsIGtleSBwYXRoICI7Ci0gICAgaWYgKHdpbmRvdy5udWxs
S2V5UmFuZ2VTdGVwID09IDApIHsKKyAgICBpZiAoc2VsZi5udWxsS2V5UmFuZ2VTdGVwID09IDAp
IHsKICAgICAgICAgc3RyICs9ICJzb3J0ZWQgYXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5h
c2NlbmRpbmcgPSB0cnVlOwotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOwot
ICAgICAgICB3aW5kb3cubnVsbEtleVJhbmdlU3RlcCA9IDE7Ci0gICAgfSBlbHNlIGlmICh3aW5k
b3cubnVsbEtleVJhbmdlU3RlcCA9PSAxKSB7CisgICAgICAgIHNlbGYuYXNjZW5kaW5nID0gdHJ1
ZTsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbG93ZXI7CisgICAgICAgIHNlbGYubnVs
bEtleVJhbmdlU3RlcCA9IDE7CisgICAgfSBlbHNlIGlmIChzZWxmLm51bGxLZXlSYW5nZVN0ZXAg
PT0gMSkgewogICAgICAgICBzdHIgKz0gInNvcnRlZCBkZXNjZW5kaW5nLiI7Ci0gICAgICAgIHdp
bmRvdy5hc2NlbmRpbmcgPSBmYWxzZTsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSB1
cHBlcjsKLSAgICAgICAgd2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPSAyOworICAgICAgICBzZWxm
LmFzY2VuZGluZyA9IGZhbHNlOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1cHBlcjsK
KyAgICAgICAgc2VsZi5udWxsS2V5UmFuZ2VTdGVwID0gMjsKICAgICB9IGVsc2UgewogICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtZ2V0LWtleS1hcmd1bWVudC1yZXF1aXJlZC5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtZ2V0LWtleS1hcmd1bWVudC1y
ZXF1aXJlZC5odG1sCmluZGV4IDJlMjZhMWM1MGQ3NjNkMTdhZWJjMGNmMjllYjBkODI1ZTJiYjNm
NDIuLjAxOWVkYzIxMWIxZTVjODdlZmU4ZTQyZjM5ZDIwODA0YjcwOWVkNTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWdldC1rZXktYXJndW1lbnQtcmVx
dWlyZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1nZXQt
a2V5LWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cu
bG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAg
ICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9uLmh0bWwKaW5kZXggZDc4ZDhhMGM1YjYzODNjZDg3N2Rl
MGJhMzIwZTg2ZDIwNTc3ZGUzYS4uNDQwMDExZjg1NmU2ZWZhN2ZjZDhhMDYyNzlmOTgzNWM4ZTFm
NGI0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9w
dWxhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBv
cHVsYXRpb24uaHRtbApAQCAtMzAsNyArMzAsNyBAQCBmdW5jdGlvbiBkb1NldFZlcnNpb24xKCkK
IHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoImRvU2V0VmVyc2lvbjEoKToiKTsKLSAgICB3
aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBz
ZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvbjE7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5odG1sCmluZGV4IGEzZDI4MDM1NmJkYjNiZGQ5ZTk4MGI4
NjYyYTkyOTAwZGZiYjVhMDguLjExNDEzMjEyMTYzNmU4NDhiNTQyODU1ZjMyY2EyYzlmNGI0NWZl
YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5o
dG1sCkBAIC0zNyw4ICszNyw4IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIAogICAgIGRl
bGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9n
KCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKSIpOwotICAgIHdpbmRvdy5pbmRleE9iamVj
dCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleCcsICd4Jywge3VuaXF1ZTog
dHJ1ZX0pIik7CisgICAgc2VsZi5zdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdzdG9yZScpIik7CisgICAgc2VsZi5pbmRleE9iamVjdCA9IGV2YWxBbmRMb2coInN0b3Jl
LmNyZWF0ZUluZGV4KCdpbmRleCcsICd4Jywge3VuaXF1ZTogdHJ1ZX0pIik7CiAKICAgICAvLyBM
ZXQgc2V0VmVyc2lvbiB0cmFuc2FjdGlvbiBjb21wbGV0ZS4KIH0KQEAgLTQ2LDcgKzQ2LDcgQEAg
ZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogZnVuY3Rpb24gc2V0VmVyc2lvbkNvbXBsZXRlZCgp
CiB7CiAgICAgZGVidWcoInNldFZlcnNpb25Db21wbGV0ZWQoKToiKTsKLSAgICB3aW5kb3cudHJh
bnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3Rv
cmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICBzZWxmLnRyYW5zYWN0aW9u
ID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt4OiAxfSwgJ2ZvbycpIik7CiAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLWV4cGVjdGVkLnR4
dAppbmRleCAzNThjNjc5ODVkOGUzOGVkNDY1MTI3N2EzMzdmYWE1NTM0M2QxNjYzLi41NTBhMDA1
MjZlMmExZDYzMGJhYTA2N2IxYWRkY2IzMTEzM2E5NTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy1leHBlY3RlZC50eHQKQEAgLTUw
LDEzICs1MCwxMyBAQCBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIK
IEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1
ZScsIC9yZWdleC8pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElE
QkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gcmVx
dWVzdCA9IG9iamVjdFN0b3JlLnB1dCgndmFsdWUnLCB3aW5kb3cpCitFeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gcmVxdWVzdCA9IG9iamVjdFN0b3JlLnB1dCgndmFsdWUnLCBzZWxmKQogUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5E
QVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5w
dXQoJ3ZhbHVlJywgd2luZG93LmRvY3VtZW50KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHJl
cXVlc3QgPSBvYmplY3RTdG9yZS5wdXQoJ3ZhbHVlJywgc2VsZi5kb2N1bWVudCkKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0
KCd2YWx1ZScsIHdpbmRvdy5kb2N1bWVudC5ib2R5KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IHJlcXVlc3QgPSBvYmplY3RTdG9yZS5wdXQoJ3ZhbHVlJywgc2VsZi5kb2N1bWVudC5ib2R5KQog
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMuaHRtbAppbmRleCA0MjIzODlh
NzBmMjRkYmU0YWMyMWI0MGU1ZjIzODE0NjZlMjA5OGNlLi44ZTIwMGIwNTZjZTUzZjRmMjM2ODA1
N2Y4MGM4YjNkNmIxOTFmZmIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbnZhbGlkLWtleXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9pbnZhbGlkLWtleXMuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlv
bi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNj
cmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKQEAgLTU1LDkgKzU1LDkgQEAgZnVuY3Rpb24gdGVzdEludmFsaWRL
ZXlzKCkKICAgICAgICAgIm5ldyBEYXRlKE5hTikiLCAvLyBEYXRlIChzcGVjaWFsIGNhc2UpCiAg
ICAgICAgICJ7fSIsIC8vIE9iamVjdAogICAgICAgICAiL3JlZ2V4LyIsIC8vIFJlZ0V4cAotICAg
ICAgICAid2luZG93IiwgLy8gZ2xvYmFsCi0gICAgICAgICJ3aW5kb3cuZG9jdW1lbnQiLCAvLyBI
VE1MRG9jdW1lbnQKLSAgICAgICAgIndpbmRvdy5kb2N1bWVudC5ib2R5IiAvLyBIVE1MQm9keUVs
ZW1lbnQKKyAgICAgICAgInNlbGYiLCAvLyBnbG9iYWwKKyAgICAgICAgInNlbGYuZG9jdW1lbnQi
LCAvLyBIVE1MRG9jdW1lbnQKKyAgICAgICAgInNlbGYuZG9jdW1lbnQuYm9keSIgLy8gSFRNTEJv
ZHlFbGVtZW50CiAgICAgXTsKIAogICAgIGludmFsaWRLZXlzLmZvckVhY2goZnVuY3Rpb24oa2V5
KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJh
dG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9yLmh0
bWwKaW5kZXggNDlhYjYyYzhlMzI4YWFkZWE5NzgwODliZDdjODNmMmYwMDE1NTY2MS4uNjliMjYx
NDI0MTFiZDY1NjE0ZTE4N2ZiZDlkN2FiMTM3YWMyODhlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LWdlbmVyYXRvci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0b3IuaHRtbApAQCAtNzYsMTEgKzc2LDExIEBA
IGZ1bmN0aW9uIHJ1blRlc3RzKCkgewogfQogCiBmdW5jdGlvbiBjaGVjayhzdG9yZSwga2V5LCBl
eHBlY3RlZCkgewotICAgIHdpbmRvdy5zdG9yZSA9IHN0b3JlOworICAgIHNlbGYuc3RvcmUgPSBz
dG9yZTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IHN0b3JlLmdldCgiICsg
SlNPTi5zdHJpbmdpZnkoa2V5KSArICIpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkg
ewotICAgICAgICB3aW5kb3cuZXhwZWN0ZWQgPSBleHBlY3RlZDsKKyAgICAgICAgc2VsZi5leHBl
Y3RlZCA9IGV4cGVjdGVkOwogICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZXZlbnQudGFyZ2V0
LnJlc3VsdCkgPT09IEpTT04uc3RyaW5naWZ5KGV4cGVjdGVkKSkgewogICAgICAgICAgICAgdGVz
dFBhc3NlZCgiR290ICIgKyBKU09OLnN0cmluZ2lmeShldmVudC50YXJnZXQucmVzdWx0KSArICIg
Zm9yIGtleTogIiArIEpTT04uc3RyaW5naWZ5KGtleSkpOwogICAgICAgICB9IGVsc2UgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItYWNy
b3NzLXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1v
cmRlci1hY3Jvc3MtdHlwZXMuaHRtbAppbmRleCAzODUxM2MyMzAyMDNlZThkZmRhN2NlY2M5ZDYx
NzM2NWFlNzczMGY5Li4yNDY2YTVjNWU1MjViNjIzZWNlM2RkOTYwOThjMjVjYWZhMzljZTMzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1h
Y3Jvc3MtdHlwZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXkt
c29ydC1vcmRlci1hY3Jvc3MtdHlwZXMuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0
ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRv
dy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsK
ICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWRhdGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWRhdGUuaHRtbAppbmRleCBhYzdiMzZhNTAwM2I5
ZjE4OWZmMjg0MjE0NjExOWQ3YjRmZWI5YjRkLi5kNmRlY2YzZDA1MTZlOGQzZjZiYmU1YTVkZGQ0
NzU0NDA0YjQ3MzMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9r
ZXktc29ydC1vcmRlci1kYXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXNvcnQtb3JkZXItZGF0ZS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93
LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwog
ICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0CmluZGV4IDQ1M2Q1OTBj
ZmRmOWU5ZTFjNjEwYzU1OTcyNzE1ODg3NTEzNjEyNGYuLjU5NjkwNGFiZTY0MDAzZjFkNzNlYjEy
Yzk5ZmUzMzY3MTNhZGE3MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQKQEAgLTYsOSArNiw5IEBAIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxm
LndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERC
IHx8IHNlbGYuT0luZGV4ZWREQjsKIFBBU1MgQm9vbGVhbihpbmRleGVkREIgJiYgSURCQ3Vyc29y
ICYmIElEQkRhdGFiYXNlICYmIElEQkRhdGFiYXNlRXJyb3IgJiYgSURCRGF0YWJhc2VFeGNlcHRp
b24gJiYgSURCRmFjdG9yeSAmJiBJREJJbmRleCAmJiBJREJLZXlSYW5nZSAmJiBJREJPYmplY3RT
dG9yZSAmJiBJREJSZXF1ZXN0ICYmIElEQlRyYW5zYWN0aW9uKSBpcyB0cnVlCiAKLUlEQlRyYW5z
YWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy5JREJUcmFuc2FjdGlvbjsK
K0lEQlRyYW5zYWN0aW9uID0gc2VsZi5JREJUcmFuc2FjdGlvbiB8fCBzZWxmLklEQlRyYW5zYWN0
aW9uOwogUEFTUyBJREJUcmFuc2FjdGlvbiA9PSBudWxsIGlzIGZhbHNlCi1JREJEYXRhYmFzZUV4
Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cuSURCRGF0YWJh
c2VFeGNlcHRpb247CitJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHNlbGYuSURCRGF0YWJhc2VFeGNl
cHRpb24gfHwgc2VsZi5JREJEYXRhYmFzZUV4Y2VwdGlvbjsKIFBBU1MgSURCRGF0YWJhc2VFeGNl
cHRpb24gPT0gbnVsbCBpcyBmYWxzZQogaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24p
CiBkYiA9IG9wZW5yZXEucmVzdWx0CkBAIC0yMTcsMTggKzIxNywxOCBAQCBFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgL3JlZ2V4LyBdKTsKIFBBU1MgRXhjZXB0
aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9F
UlIKIAotdGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB3aW5kb3cgXQotRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHdpbmRvdyBdKTsKK3Rlc3RpbmcgaW52
YWxpZCBhcnJheSBrZXk6IFsgc2VsZiBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUu
cHV0KCd2YWx1ZScsIFsgc2VsZiBdKTsKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNT
IGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIAotdGVzdGluZyBpbnZhbGlk
IGFycmF5IGtleTogWyB3aW5kb3cuZG9jdW1lbnQgXQotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IHN0b3JlLnB1dCgndmFsdWUnLCBbIHdpbmRvdy5kb2N1bWVudCBdKTsKK3Rlc3RpbmcgaW52YWxp
ZCBhcnJheSBrZXk6IFsgc2VsZi5kb2N1bWVudCBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
c3RvcmUucHV0KCd2YWx1ZScsIFsgc2VsZi5kb2N1bWVudCBdKTsKIFBBU1MgRXhjZXB0aW9uIHdh
cyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIAot
dGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB3aW5kb3cuZG9jdW1lbnQuYm9keSBdCi1FeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgd2luZG93LmRvY3VtZW50
LmJvZHkgXSk7Cit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHNlbGYuZG9jdW1lbnQuYm9k
eSBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgc2VsZi5k
b2N1bWVudC5ib2R5IF0pOwogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBp
cyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbAppbmRleCA4MDI4NzAyOGE5ZDZkYmY2
YjliYmU3ZTk2YjcxMTExZjRjNDlkYzY3Li4yYTU5NDU0NDFmODhlOGJmOGM3NTY1ZWViOWUwODEw
NDcyYmNkMDFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXkt
dHlwZS1hcnJheS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10
eXBlLWFycmF5Lmh0bWwKQEAgLTE1LDE0ICsxNSwxNCBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAg
ICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgZXZhbEFuZExvZygiSURCVHJhbnNhY3Rp
b24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwgd2luZG93LklEQlRyYW5zYWN0aW9uOyIpOwor
ICAgIGV2YWxBbmRMb2coIklEQlRyYW5zYWN0aW9uID0gc2VsZi5JREJUcmFuc2FjdGlvbiB8fCBz
ZWxmLklEQlRyYW5zYWN0aW9uOyIpOwogICAgIHNob3VsZEJlRmFsc2UoIklEQlRyYW5zYWN0aW9u
ID09IG51bGwiKTsKIAotICAgIGV2YWxBbmRMb2coIklEQkRhdGFiYXNlRXhjZXB0aW9uID0gd2lu
ZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbjsi
KTsKKyAgICBldmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHNlbGYuSURCRGF0YWJh
c2VFeGNlcHRpb24gfHwgc2VsZi5JREJEYXRhYmFzZUV4Y2VwdGlvbjsiKTsKICAgICBzaG91bGRC
ZUZhbHNlKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIik7CiAKIAotICAgIG5hbWUgPSB3
aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5h
bWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgb3BlbnJlcSA9
IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIG9w
ZW5yZXEub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CkBAIC0xNjQsOSArMTY0LDkgQEAgZnVuY3Rp
b24gdGVzdEludmFsaWRBcnJheUtleXMoKQogICAgICAgICAiWyB7fSBdIiwKICAgICAgICAgIlsg
ZnVuY3Rpb24gKCkge30gXSIsCiAgICAgICAgICJbIC9yZWdleC8gXSIsCi0gICAgICAgICJbIHdp
bmRvdyBdIiwKLSAgICAgICAgIlsgd2luZG93LmRvY3VtZW50IF0iLAotICAgICAgICAiWyB3aW5k
b3cuZG9jdW1lbnQuYm9keSBdIiwKKyAgICAgICAgIlsgc2VsZiBdIiwKKyAgICAgICAgIlsgc2Vs
Zi5kb2N1bWVudCBdIiwKKyAgICAgICAgIlsgc2VsZi5kb2N1bWVudC5ib2R5IF0iLAogICAgICAg
ICAiY3ljbGljX2FycmF5IiwKICAgICAgICAgImN5Y2xpY19hcnJheTIiLAogICAgICAgICAiY3lj
bGljX2FycmF5MyIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9r
ZXktdHlwZS1pbmZpbml0eS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5
LXR5cGUtaW5maW5pdHkuaHRtbAppbmRleCBiYWUzY2IwZjRjMDczZWQ3ZTFkOTE0OWMzY2JkZGRh
ZTNhODJmYThiLi5iYzFlZGU1N2Q1YWYyYTczMzVjZDI5Y2QyYmUxY2QyYmIwN2M3NDVjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1pbmZpbml0eS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWluZmluaXR5
Lmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVu
ZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7Cisg
ICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkg
VGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVu
KG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nl
c3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWJh
c2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1iYXNpY3Mu
aHRtbAppbmRleCA1NTJiOGY3NWJmZGE5M2M3NzNmMTU2ZWUzY2I1NWRhZDZlOWViN2I0Li5hNjVj
MzMyOTgwOGMxZTMyNDYxNDFkZDE4MGM1MGEwMjM0MDE5NDQxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtYmFzaWNzLmh0bWwKQEAgLTE0LDcgKzE0LDcg
QEAgZGVzY3JpcHRpb24oIlRlc3QgZm9yIHZhbGlkIGFuZCBpbnZhbGlkIGtleXBhdGhzIik7CiBm
dW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwotICAgIG5hbWUg
PSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0
aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWZldGNoLWtleS5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkuaHRtbAppbmRleCA5YTY5NzYxNTYy
YTY1ZDYzNDU2MjM4NjkwMWQ2NmJkMjA3Y2RhMGZjLi45ZjY1MGU0OWMxOGU4MWZhYzYxMzkxMzY0
NDFkNDU5Mjc0NzMyYTJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9rZXlwYXRoLWZldGNoLWtleS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2tleXBhdGgtZmV0Y2gta2V5Lmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cu
bG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAg
ICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sCmluZGV4IGY4NDJjNGJkMzQ0M2QwYzQzOTBiYTU3
MTJiMzUxM2EyNjZjNWUyOGQuLjgzZTA0MDhmYzYzMzQ1MjI0Nzg2Yjc0Y2NhNTM1YjlmNDA3OTBj
MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1
cnNvci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1
cnNvci5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0
aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3Mo
KToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAg
IHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNv
bXBsZXRlID0gb3BlbkZvcndhcmRDdXJzb3I7CkBAIC01MywxNyArNTMsMTcgQEAgZnVuY3Rpb24g
b3BlbkZvcndhcmRDdXJzb3IoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRD
YWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gZm9yd2FyZEN1cnNvckNvbXBsZXRlOwog
Ci0gICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUo
J3N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2Jq
ZWN0U3RvcmUoJ3N0b3JlJykiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygib2JqZWN0U3Rv
cmUub3BlbkN1cnNvcigpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmb3J3YXJkQ3Vyc29y
OwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHdp
bmRvdy5jdXJzb3JTdGVwcyA9IDA7CisgICAgc2VsZi5jdXJzb3JTdGVwcyA9IDA7CiB9CiAKIGZ1
bmN0aW9uIGZvcndhcmRDdXJzb3IoKQogewogICAgIGRlYnVnKCJmb3J3YXJkQ3Vyc29yKCkiKTsK
LSAgICB3aW5kb3cuY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAgICBzZWxmLmN1cnNv
ciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAKICAgICBpZiAoZXZlbnQudGFyZ2V0LnJlc3VsdCA9
PSBudWxsKSB7CiAgICAgICAgIHNob3VsZEJlKCJjdXJzb3JTdGVwcyIsICI1Iik7CkBAIC05OCwx
NyArOTgsMTcgQEAgZnVuY3Rpb24gb3BlblJldmVyc2VDdXJzb3IoKQogICAgIHRyYW5zLm9uYWJv
cnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gcmV2
ZXJzZUN1cnNvckNvbXBsZXRlOwogCi0gICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExv
ZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0g
ZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKICAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygib2JqZWN0U3RvcmUub3BlbkN1cnNvcihudWxsLCBJREJDdXJzb3IuUFJFViki
KTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHJldmVyc2VDdXJzb3I7CiAgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgd2luZG93LmN1cnNvclN0ZXBz
ID0gNjsKKyAgICBzZWxmLmN1cnNvclN0ZXBzID0gNjsKIH0KIAogZnVuY3Rpb24gcmV2ZXJzZUN1
cnNvcigpCiB7CiAgICAgZGVidWcoInJldmVyc2VDdXJzb3IoKSIpOwotICAgIHdpbmRvdy5jdXJz
b3IgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgIHNlbGYuY3Vyc29yID0gZXZlbnQudGFyZ2V0
LnJlc3VsdDsKIAogICAgIGlmIChldmVudC50YXJnZXQucmVzdWx0ID09IG51bGwpIHsKICAgICAg
ICAgc2hvdWxkQmUoImN1cnNvclN0ZXBzIiwgIjAiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdFN0b3JlLXJlcXVpcmVkLWFyZ3VtZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1l
bnRzLmh0bWwKaW5kZXggMWJlM2Q5YmZlYzgzMjY5YjA3MmUxYTQyODM0ZmYyOWFjZmZiODIwNi4u
MDQyMjVhMjgxNmUyMTFiZDQxYzEzYjE0ZTIxZGVjYmRiNDAzNTBmOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVx
dWlyZWQtYXJndW1lbnRzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7
CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRp
b24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVz
Y3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwKaW5kZXggYTFlY2JlYmFl
NTViZmI5OTM2ZWYzNDgxZTQzNzk1ZmE3MTA2MTNjNC4uOWY4ODI1YWE3N2VlNmUyZmI0ZjY3Mzgy
MDZlMGU0MDNmNmJiOGRjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbApAQCAtMjEsNyArMjEs
NyBAQCBmdW5jdGlvbiB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1
Zygib3BlblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVy
c2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lv
blN1Y2Nlc3M7CkBAIC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0
aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3Mo
KToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAg
IHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNv
bXBsZXRlID0gc2V0VmVyc2lvbkNvbXBsZXRlZDsKQEAgLTM5LDcgKzM5LDcgQEAgZnVuY3Rpb24g
c2V0VmVyc2lvblN1Y2Nlc3MoKQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAg
ICBkZWJ1ZygiY3JlYXRlT2JqZWN0U3RvcmUoKToiKTsKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFs
QW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJywg
e2tleVBhdGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOworICAgIHNlbGYuc3RvcmUg
PSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQ
YXRoJywge2tleVBhdGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOwogICAgIGV2YWxB
bmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhBdXRvSW5jcmVtZW50Jywge2F1
dG9JbmNyZW1lbnQ6IHRydWV9KSIpOwogICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdQbGFpbk9sZFN0b3JlJywge2F1dG9JbmNyZW1lbnQ6IGZhbHNlfSkiKTsKICAgICBldmFs
QW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnU3RvcmVXaXRoTG9uZ0tleVBhdGgnLCB7a2V5
UGF0aDogJ2EuYi5jLmlkJywgYXV0b0luY3JlbWVudDogdHJ1ZX0pIik7CkBAIC01OSwxMSArNTks
MTEgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbkNvbXBsZXRlZCgpCiB7CiAgICAgZGVidWcoInNldFZl
cnNpb25Db21wbGV0ZWQoKToiKTsKIAotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZGIudHJhbnNhY3Rpb24oWydTdG9yZVdpdGhLZXlQYXRoJywgJ1N0b3JlV2l0aEF1dG9J
bmNyZW1lbnQnLCAnUGxhaW5PbGRTdG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
OworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsn
U3RvcmVXaXRoS2V5UGF0aCcsICdTdG9yZVdpdGhBdXRvSW5jcmVtZW50JywgJ1BsYWluT2xkU3Rv
cmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0g
dW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RMb25n
S2V5UGF0aDsKIAotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMu
b2JqZWN0U3RvcmUoJ1N0b3JlV2l0aEtleVBhdGgnKSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFs
QW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJykiKTsK
IAogICAgIGRlYnVnKCJJbnNlcnQgaW50byBvYmplY3Qgc3RvcmUgd2l0aCBhdXRvIGluY3JlbWVu
dCBhbmQga2V5IHBhdGgsIHdpdGgga2V5IGluIHRoZSBvYmplY3QuIik7CiAgICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coInN0b3JlLmFkZCh7bmFtZTogJ0plZmZlcnNzb24nLCBudW1iZXI6ICc3MDEw
JywgaWQ6IDN9KSIpOwpAQCAtOTksNyArOTksNyBAQCBmdW5jdGlvbiBnZXRMaW5jb2xuQWZ0ZXJJ
bmplY3RlZEtleVN1Y2Nlc3MoKQogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFy
Z2V0LnJlc3VsdC5udW1iZXIiLCAiNzAxMiIpOwogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQu
cmVzdWx0LmlkIiwgIjQiKTsKIAotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3Jl
ID0gdHJhbnMub2JqZWN0U3RvcmUoJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnKSIpOworICAgIHNl
bGYuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdp
dGhBdXRvSW5jcmVtZW50JykiKTsKICAgICBkZWJ1ZygiSW5zZXJ0IGludG8gb2JqZWN0IHN0b3Jl
IHdpdGgga2V5IGdlbiB1c2luZyBleHBsaWNpdCBrZXkiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygic3RvcmUuYWRkKHtuYW1lOiAnTGluY29sbicsIG51bWJlcjogJzcwMTInfSwgNSkiKTsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGFkZExpbmNvbG5XaXRoRXhwbGljaXRLZXlTdWNjZXNz
OwpAQCAtMTQzLDcgKzE0Myw3IEBAIGZ1bmN0aW9uIGdldEFicmFoYW1TdWNjZXNzKCkKICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQubmFtZSIsICJBYnJhaGFt
Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50YXJnZXQucmVzdWx0Lm51bWJl
ciIsICIyMTA3Iik7CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRy
YW5zLm9iamVjdFN0b3JlKCdQbGFpbk9sZFN0b3JlJykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZh
bEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnUGxhaW5PbGRTdG9yZScpIik7CiAg
ICAgZGVidWcoIlRyeSBhZGRpbmcgd2l0aCBubyBrZXkgdG8gb2JqZWN0IHN0b3JlIHdpdGhvdXQg
YXV0byBpbmNyZW1lbnQuIik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRk
KHtuYW1lOiAnQWRhbSd9KSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoe25hbWU6ICdBZGFtJ30sIDEpIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVh
ci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXIu
aHRtbAppbmRleCA5YzZlYzMyNDRkMjVjMjQ5NjI3MTE3MjNmMDBkNzhmZjlhYTNmOGI1Li5jNzhj
NWQyNzU4NDhmODBmNDQzNzY4YzYzOWZmOTNhY2U2MGI2ZThmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWwKQEAgLTI5LDE0
ICsyOSwxNCBAQCBmdW5jdGlvbiBzdGFydFNldFZlcnNpb24oKQogCiBmdW5jdGlvbiBkZWxldGVF
eGlzdGluZygpCiB7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwi
KTsKIAogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAgICBzdG9yZSA9IGV2YWxB
bmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7
CiAKLSAgICB3aW5kb3cuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5k
ZXhOYW1lJywgJycpIik7CisgICAgc2VsZi5pbmRleCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0
ZUluZGV4KCdpbmRleE5hbWUnLCAnJykiKTsKICAgICBzaG91bGRCZVRydWUoInN0b3JlLmluZGV4
TmFtZXMuY29udGFpbnMoJ2luZGV4TmFtZScpIik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
Zygic3RvcmUuYWRkKCd2YWx1ZScsICdrZXknKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY291bnQuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNvdW50Lmh0bWwKaW5kZXggM2VjZmFkMzk0MjEy
NTYxMGMzMzM0MmFjYWU4YzkzM2VmZTllODE0OS4uN2FlOTFjMmIwODBlNjAxZTE3YWQ5ZmJmYjJm
MTlkMTdjM2JmOWFiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtY291bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1jb3VudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIGZ1bmN0aW9uIHByZXBh
cmVEYXRhYmFzZSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJwcmVwYXJpbmcgZGF0
YWJhc2UiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRh
cmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwog
CiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKaW5kZXggYTlkNjllNWEx
YjY2N2ZlOGVkMzk0MjM3ZDVjMDZlNTJhZWFiNDM3Zi4uYWM3ZDdkNjg5ZjNkNjRhOTNmYjZmMTFi
NGJiYzg0NDkxOWRiZjdkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGRlc2NyaXB0
aW9uKCJUZXN0IEluZGV4ZWREQidzIG9iamVjdFN0b3JlLm9wZW5DdXJzb3IgKyB0aGUgY3Vyc29y
IGl0IHByb2R1Y2VzIGluIGRlcHRoLiIpOwogIAogLy8gSW4gb3JkZXIgb2YgaG93IGl0IHNob3Vs
ZCBiZSBzb3J0ZWQgYnkgSW5kZXhlZERCLgotd2luZG93LnRlc3REYXRhID0gWworc2VsZi50ZXN0
RGF0YSA9IFsKICAgICAyLjcxODI4MTgyODQ1OSwKICAgICAzLAogICAgIDMuMTQxNTkyNjUsCkBA
IC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5EYXRhYmFzZSgpCiAgCiBmdW5jdGlvbiBzZXRW
ZXJzaW9uKCkKIHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3
IHZlcnNpb24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlRXhpc3Rpbmc7CkBA
IC00MCwyOCArNDAsMjggQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIGRlbGV0
ZUV4aXN0aW5nKCkKIHsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVs
bCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKIAogICAg
IGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKLSAgICB3aW5kb3cub2JqZWN0U3RvcmUgPSBl
dmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc29tZU9iamVjdFN0b3JlJykiKTsKLSAg
ICB3aW5kb3cubmV4dFRvQWRkID0gMDsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExv
ZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3NvbWVPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5u
ZXh0VG9BZGQgPSAwOwogICAgIGFkZERhdGEoKTsKIH0KIAogZnVuY3Rpb24gYWRkRGF0YSgpCiB7
CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFkZCgnJywgdGVzdERhdGFb
bmV4dFRvQWRkXSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9ICsrd2luZG93Lm5leHRUb0Fk
ZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVsZVRlc3RzOworICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gKytzZWxmLm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERh
dGEgOiBzY2hlZHVsZVRlc3RzOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwogfQogCiBmdW5jdGlvbiBzY2hlZHVsZVRlc3RzKCkKIHsKICAgICBkZWJ1Zygi
U2NoZWR1bGluZyB0ZXN0cy4uLiIpOwotICAgIHdpbmRvdy5zY2hlZHVsZWRUZXN0cyA9IFtdOwor
ICAgIHNlbGYuc2NoZWR1bGVkVGVzdHMgPSBbXTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRl
c3REYXRhLmxlbmd0aDsgKytpKSB7CiAgICAgICAgIC8qIGxlZnQgYm91bmQsIGlzIG9wZW4sIHJp
Z2h0IGJvdW5kLCBpcyBvcGVuLCBhc2NlbmRpbmcgKi8KICAgICAgICAgc2NoZWR1bGVkVGVzdHMu
dW5zaGlmdChbaSwgdHJ1ZSwgbnVsbCwgbnVsbCwgdHJ1ZV0pOwpAQCAtOTYsMTEgKzk2LDExIEBA
IGZ1bmN0aW9uIHJ1bk5leHRUZXN0KCkKICAgICB9CiAgCiAgICAgdmFyIHRlc3QgPSBzY2hlZHVs
ZWRUZXN0cy5wb3AoKTsKLSAgICB3aW5kb3cubG93ZXIgPSB0ZXN0WzBdOwotICAgIHdpbmRvdy5s
b3dlcklzT3BlbiA9IHRlc3RbMV07Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdFsyXTsKLSAgICB3
aW5kb3cudXBwZXJJc09wZW4gPSB0ZXN0WzNdOwotICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0ZXN0
WzRdOworICAgIHNlbGYubG93ZXIgPSB0ZXN0WzBdOworICAgIHNlbGYubG93ZXJJc09wZW4gPSB0
ZXN0WzFdOworICAgIHNlbGYudXBwZXIgPSB0ZXN0WzJdOworICAgIHNlbGYudXBwZXJJc09wZW4g
PSB0ZXN0WzNdOworICAgIHNlbGYuYXNjZW5kaW5nID0gdGVzdFs0XTsKIAogICAgIHN0ciA9ICJO
ZXh0IHRlc3Q6ICI7CiAgICAgaWYgKGxvd2VyICE9PSBudWxsKSB7CkBAIC0xMjYsMTkgKzEyNiwx
OSBAQCBmdW5jdGlvbiBydW5OZXh0VGVzdCgpCiAgICAgaWYgKGFzY2VuZGluZykgewogICAgICAg
ICBpZiAobG93ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghbG93ZXJJc09wZW4pCi0g
ICAgICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKKyAgICAgICAgICAg
ICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyKzE7CisgICAgICAgICAgICAg
ICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbG93ZXIrMTsKICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IDA7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVk
SW5kZXggPSAwOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICh1cHBlciAhPT0gbnVsbCkgewog
ICAgICAgICAgICAgaWYgKCF1cHBlcklzT3BlbikKLSAgICAgICAgICAgICAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IHVwcGVyOworICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9
IHVwcGVyOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3Rl
ZEluZGV4ID0gdXBwZXItMTsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1
cHBlci0xOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4
ID0gdGVzdERhdGEubGVuZ3RoLTE7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB0
ZXN0RGF0YS5sZW5ndGgtMTsKICAgICB9CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwogIApAQCAt
MTY0LDE1ICsxNjQsMTUgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogZnVuY3Rpb24gdGVzdFdp
dGhpbkJvdW5kcygpCiB7CiAgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAwIHx8IHRlc3REYXRhLmxl
bmd0aCA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51
bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAgICAgaWYgKGxvd2VyICE9
PSBudWxsICYmIGV4cGVjdGVkSW5kZXggPCBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVk
SW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlm
ICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgpCi0gICAgICAgIHdpbmRv
dy5leHBlY3RlZEluZGV4ID0gbnVsbDsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbnVs
bDsKICAgICBpZiAobG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4gJiYgZXhwZWN0ZWRJbmRl
eCA8PSBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAg
ICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1
cHBlcklzT3BlbiAmJiB1cHBlciA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiB9
CiAgCiBmdW5jdGlvbiBjdXJzb3JJdGVyYXRpb24oKQpAQCAtMTg5LDMxICsxODksMzEgQEAgZnVu
Y3Rpb24gY3Vyc29ySXRlcmF0aW9uKCkKICAgICB9CiAgCiAgICAgc2hvdWxkQmUoImV2ZW50LnRh
cmdldC5yZXN1bHQua2V5IiwgInRlc3REYXRhWyIgKyBleHBlY3RlZEluZGV4ICsgIl0iKTsKLSAg
ICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGFzY2VuZGluZyA/IGV4cGVjdGVkSW5kZXgrMSA6IGV4
cGVjdGVkSW5kZXgtMTsKKyAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBhc2NlbmRpbmcgPyBleHBl
Y3RlZEluZGV4KzEgOiBleHBlY3RlZEluZGV4LTE7CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwog
CiAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpOwogfQogIAotd2luZG93Lm51bGxL
ZXlSYW5nZVN0ZXAgPSAwOworc2VsZi5udWxsS2V5UmFuZ2VTdGVwID0gMDsKIGZ1bmN0aW9uIHRl
c3ROdWxsS2V5UmFuZ2UoKQogewotICAgIHdpbmRvdy5sb3dlciA9IDA7Ci0gICAgd2luZG93Lmxv
d2VySXNPcGVuID0gZmFsc2U7Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdERhdGEubGVuZ3RoLTE7
Ci0gICAgd2luZG93LnVwcGVySXNPcGVuID0gZmFsc2U7CisgICAgc2VsZi5sb3dlciA9IDA7Cisg
ICAgc2VsZi5sb3dlcklzT3BlbiA9IGZhbHNlOworICAgIHNlbGYudXBwZXIgPSB0ZXN0RGF0YS5s
ZW5ndGgtMTsKKyAgICBzZWxmLnVwcGVySXNPcGVuID0gZmFsc2U7CiAKICAgICBzdHIgPSAiTmV4
dCB0ZXN0OiBudWxsIGtleSBwYXRoICI7Ci0gICAgaWYgKHdpbmRvdy5udWxsS2V5UmFuZ2VTdGVw
ID09IDApIHsKKyAgICBpZiAoc2VsZi5udWxsS2V5UmFuZ2VTdGVwID09IDApIHsKICAgICAgICAg
c3RyICs9ICJzb3J0ZWQgYXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0
cnVlOwotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOwotICAgICAgICB3aW5k
b3cubnVsbEtleVJhbmdlU3RlcCA9IDE7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cubnVsbEtleVJh
bmdlU3RlcCA9PSAxKSB7CisgICAgICAgIHNlbGYuYXNjZW5kaW5nID0gdHJ1ZTsKKyAgICAgICAg
c2VsZi5leHBlY3RlZEluZGV4ID0gbG93ZXI7CisgICAgICAgIHNlbGYubnVsbEtleVJhbmdlU3Rl
cCA9IDE7CisgICAgfSBlbHNlIGlmIChzZWxmLm51bGxLZXlSYW5nZVN0ZXAgPT0gMSkgewogICAg
ICAgICBzdHIgKz0gInNvcnRlZCBkZXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRp
bmcgPSBmYWxzZTsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKLSAgICAg
ICAgd2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPSAyOworICAgICAgICBzZWxmLmFzY2VuZGluZyA9
IGZhbHNlOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKKyAgICAgICAgc2Vs
Zi5udWxsS2V5UmFuZ2VTdGVwID0gMjsKICAgICB9IGVsc2UgewogICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKaW5k
ZXggZmIzMTZmZDJlMmM5ZjdmZDRhYTRiMzFmNmE4MjBjZjRhYmNjMTRlNC4uNzQ4ZWNkNDkxZjgx
NGEyZDY4ZGYxOGNlY2NlYjMyMzdmYjZiYThkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9y
ZS5odG1sCkBAIC0yOSwxNCArMjksMTQgQEAgZnVuY3Rpb24gc3RhcnRTZXRWZXJzaW9uKCkKIAog
ZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUo
InRyYW5zICE9PSBudWxsIik7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCiAg
ICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnLCBudWxsKSIpOwogCi0gICAgd2luZG93LmluZGV4ID0gZXZhbEFuZExvZygic3RvcmUu
Y3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICcnKSIpOworICAgIHNlbGYuaW5kZXggPSBldmFsQW5k
TG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpIik7CiAgICAgc2hvdWxkQmVU
cnVlKCJzdG9yZS5pbmRleE5hbWVzLmNvbnRhaW5zKCdpbmRleE5hbWUnKSIpOwogCiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInN0b3JlLmFkZCgndmFsdWUnLCAna2V5JykiKTsKQEAgLTY2LDcg
KzY2LDcgQEAgZnVuY3Rpb24gYWRkSW5kZXgoKQogCiBmdW5jdGlvbiBkZWxldGVPYmplY3RTdG9y
ZSgpCiB7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAg
ICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24t
ZXhwZWN0ZWQudHh0CmluZGV4IGQ1ZTliNDU0NzAyMjdhZjFkY2RhNDVjOGIwMTRlNDRlMmZmODJl
OGYuLmI5NzY0MzkzMjI4YmE0ODcwZTAxNWYxZTk0MzZiNzY1MjRkNGZiN2YgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12ZXJz
aW9uLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBCb29sZWFuKGluZGV4ZWREQiAm
JiBJREJDdXJzb3IgJiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJvciAmJiBJREJEYXQK
IAogCiBURVNUOiBzZXRWZXJzaW9uIGJsb2NrZWQgb24gb3BlbiBoYW5kbGVzCi13aW5kb3cuZGJu
YW1lID0gJ3Rlc3QxJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRi
bmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicK
ICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtMjAsMTAgKzIwLDEwIEBAIHdpbmRv
dy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdo
Mi5jbG9zZScKICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5z
YWN0aW9uLWNvbXBsZXRlJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3Bl
bixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNp
b24saDIub252ZXJzaW9uY2hhbmdlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgx
LnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUi
CitQQVNTIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vz
cyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJzaW9uY2hh
bmdlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNj
ZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUiCiAKIFRFU1Q6IHNldFZlcnNp
b24gbm90IGJsb2NrZWQgaWYgaGFuZGxlIGNsb3NlZCBpbW1lZGlhdGVseQotd2luZG93LmRibmFt
ZSA9ICd0ZXN0Mic7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXQorc2VsZi5kYm5h
bWUgPSAndGVzdDInOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gxLm9wZW4nCiAn
aDEub3Blbi5vbnN1Y2Nlc3MnCiAnaDIub3BlbicKQEAgLTM2LDEwICszNiwxMCBAQCB3aW5kb3cu
ZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiAnaDEu
c2V0VmVyc2lvbi5vbnN1Y2Nlc3MnCiAnaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0
ZScKIE5PVEU6IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNpb24ub25ibG9j
a2VkIHN0ZXA7IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMAot
RkFJTCB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3BlbixoMS5vcGVuLm9u
c3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJz
aW9uY2hhbmdlLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24u
dHJhbnNhY3Rpb24tY29tcGxldGUuIFdhcyBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9w
ZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIu
Y2xvc2UsaDEuc2V0VmVyc2lvbi5vbmJsb2NrZWQsaDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEu
c2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZS4KK0ZBSUwgc2VsZi5zdGVwcy50b1N0cmlu
ZygpIHNob3VsZCBiZSBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5v
bnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIuY2xvc2UsaDEuc2V0
VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZS4gV2Fz
IGgxLm9wZW4saDEub3Blbi5vbnN1Y2Nlc3MsaDIub3BlbixoMi5vcGVuLm9uc3VjY2VzcyxoMS5z
ZXRWZXJzaW9uLGgyLm9udmVyc2lvbmNoYW5nZSxoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uYmxv
Y2tlZCxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNv
bXBsZXRlLgogCiBURVNUOiBvcGVuIGFuZCBzZXRWZXJzaW9uIGJsb2NrZWQgaWYgYSBWRVJTSU9O
X0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nIC0gY2xvc2Ugd2hlbiBibG9ja2VkCi13aW5k
b3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitz
ZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEu
b3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtNTcsMTAgKzU3LDEwIEBA
IHdpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0g
W10KICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9u
LWNvbXBsZXRlJwogJ2gzLm9wZW4ub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJp
bmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNj
ZXNzLGgxLnNldFZlcnNpb24saDIuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDEuc2V0
VmVyc2lvbi5vbmJsb2NrZWQsaDEub252ZXJzaW9uY2hhbmdlLGgyLnNldFZlcnNpb24ub25ibG9j
a2VkLGgyLmNsb3NlLGgzLm9wZW4saDIuc2V0VmVyc2lvbi5vbmVycm9yLGgxLnNldFZlcnNpb24u
b25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1
Y2Nlc3MiCitQQVNTIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9u
c3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIuc2V0VmVy
c2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDEuc2V0VmVyc2lvbi5vbmJsb2NrZWQsaDEub252ZXJz
aW9uY2hhbmdlLGgyLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgzLm9wZW4saDIuc2V0
VmVyc2lvbi5vbmVycm9yLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJh
bnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MiCiAKIFRFU1Q6IG9wZW4gYW5kIHNl
dFZlcnNpb24gYmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5p
bmcgLSBqdXN0IGNsb3NlCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q0Jzsgd2luZG93LnZlciA9IDE7
IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0NCc7IHNlbGYudmVyID0gMTsg
c2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVu
JwpAQCAtNzMsMTAgKzczLDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDQnOyB3aW5kb3cudmVy
ID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBs
ZXRlJwogJ2gzLm9wZW4ub25zdWNjZXNzJwogTk9URTogV2lsbCBGQUlMIHdpdGggZXh0cmEgYm9n
dXMgaDEuc2V0VmVyc2lvbi5vbmJsb2NrZWQgc3RlcDsgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcxMTMwCi1GQUlMIHdpbmRvdy5zdGVwcy50b1N0cmluZygpIHNob3Vs
ZCBiZSBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3Ms
aDEuc2V0VmVyc2lvbixoMy5vcGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgx
LnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MuIFdhcyBo
MS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0
VmVyc2lvbixoMy5vcGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgxLnNldFZl
cnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Bl
bi5vbnN1Y2Nlc3MuCitGQUlMIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3Bl
bixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNp
b24saDMub3BlbixoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9u
LnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNzLiBXYXMgaDEub3BlbixoMS5v
cGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDMu
b3BlbixoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCxoMS5zZXRWZXJzaW9uLm9uc3Vj
Y2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNz
LgogCiBURVNUOiBvcGVuIGJsb2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBp
cyBydW5uaW5nCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRv
dy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0NSc7IHNlbGYudmVyID0gMTsgc2VsZi5z
dGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9u
JwpAQCAtODQsMTAgKzg0LDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDUnOyB3aW5kb3cudmVy
ID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5z
ZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwogJ2gyLm9wZW4ub25zdWNjZXNzJwotUEFT
UyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vzcyxo
MS5zZXRWZXJzaW9uLGgyLm9wZW4saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lv
bi50cmFuc2FjdGlvbi1jb21wbGV0ZSxoMi5vcGVuLm9uc3VjY2VzcyIKK1BBU1Mgc2VsZi5zdGVw
cy50b1N0cmluZygpIGlzICJoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24s
aDIub3BlbixoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9u
LWNvbXBsZXRlLGgyLm9wZW4ub25zdWNjZXNzIgogCiBURVNUOiB0d28gc2V0VmVyc2lvbnMgZnJv
bSB0aGUgc2FtZSBjb25uZWN0aW9uCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZl
ciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Nic7IHNlbGYudmVy
ID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdo
MS5zZXRWZXJzaW9uJwpAQCAtOTcsNyArOTcsNyBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsg
d2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiBoYWxmIGRvbmUKICdoMS5zZXRWZXJz
aW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwotUEFT
UyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vzcyxo
MS5zZXRWZXJzaW9uLGgxLnNldFZlcnNpb24saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0
VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5z
ZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlIgorUEFTUyBzZWxmLnN0ZXBzLnRvU3RyaW5n
KCkgaXMgImgxLm9wZW4saDEub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMS5zZXRWZXJz
aW9uLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29t
cGxldGUsaDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1j
b21wbGV0ZSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVU
RQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12
ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZl
cnNpb24uaHRtbAppbmRleCBmY2M1MGIzYWVkNzQwNTk0MjYyMjQyZGEyNzEwMjY2NDU3MWY1ZmQ5
Li41MWY1MmIwMjgwMjVkOGYyZDNmNWZlNDg0YjJlOWM2MDdjZDIyNWFmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbApA
QCAtMTIsNDQgKzEyLDQ0IEBAIGRlc2NyaXB0aW9uKCJUZXN0IGludGVybGVhdmVkIG9wZW4vY2xv
c2Uvc2V0VmVyc2lvbiBjYWxscyBpbiB2YXJpb3VzIHBlcm11dGF0aW9uCiAKIGZ1bmN0aW9uIENv
bm5lY3Rpb24oaWQpIHsKICAgICBpZCA9IFN0cmluZyhpZCk7Ci0gICAgdmFyIHNlbGYgPSB0aGlz
OworICAgIHZhciB0aGF0ID0gdGhpczsKICAgICB0aGlzLm9wZW4gPSBmdW5jdGlvbihvcHRzKSB7
Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4n
IikpOwotICAgICAgICB2YXIgcmVxID0gaW5kZXhlZERCLm9wZW4od2luZG93LmRibmFtZSk7Cisg
ICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vcGVuJyIpKTsK
KyAgICAgICAgdmFyIHJlcSA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKTsKICAgICAgICAg
cmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxLm9uc3Vj
Y2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICBzZWxmLmhhbmRsZSA9IGUudGFyZ2V0
LnJlc3VsdDsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsg
aWQgKyAiLm9wZW4ub25zdWNjZXNzJyIpKTsKLSAgICAgICAgICAgIHNlbGYuaGFuZGxlLm9udmVy
c2lvbmNoYW5nZSA9IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAgICB3aW5kb3cuc3RlcHMu
cHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vbnZlcnNpb25jaGFuZ2UnIikpOwotICAgICAg
ICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub252ZXJzaW9uKSB7IG9wdHMub252ZXJzaW9uLmNh
bGwoc2VsZik7IH0KKyAgICAgICAgICAgIHRoYXQuaGFuZGxlID0gZS50YXJnZXQucmVzdWx0Owor
ICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4u
b25zdWNjZXNzJyIpKTsKKyAgICAgICAgICAgIHRoYXQuaGFuZGxlLm9udmVyc2lvbmNoYW5nZSA9
IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIub252ZXJzaW9uY2hhbmdlJyIpKTsKKyAgICAgICAgICAgICAgICBpZiAo
b3B0cyAmJiBvcHRzLm9udmVyc2lvbikgeyBvcHRzLm9udmVyc2lvbi5jYWxsKHRoYXQpOyB9CiAg
ICAgICAgICAgICB9OwotICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsg
b3B0cy5vbnN1Y2Nlc3MuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0
cy5vbnN1Y2Nlc3MpIHsgb3B0cy5vbnN1Y2Nlc3MuY2FsbCh0aGF0KTsgfQogICAgICAgICB9Owog
ICAgIH07CiAKICAgICB0aGlzLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHdpbmRvdy5z
dGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKKyAgICAgICAgc2Vs
Zi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKICAgICAgICAg
dGhpcy5oYW5kbGUuY2xvc2UoKTsKICAgICB9OwogCiAgICAgdGhpcy5zZXRWZXJzaW9uID0gZnVu
Y3Rpb24ob3B0cykgewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiAr
IGlkICsgIi5zZXRWZXJzaW9uJyIpKTsKLSAgICAgICAgdmFyIHJlcSA9IHRoaXMuaGFuZGxlLnNl
dFZlcnNpb24oU3RyaW5nKHdpbmRvdy52ZXIrKykpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbiciKSk7CisgICAgICAgIHZhciByZXEg
PSB0aGlzLmhhbmRsZS5zZXRWZXJzaW9uKFN0cmluZyhzZWxmLnZlcisrKSk7CiAgICAgICAgIHJl
cS5vbmFib3J0ID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNo
KGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25hYm9ydCciKSk7Ci0gICAgICAg
ICAgICBpZiAob3B0cyAmJiBvcHRzLm9uYWJvcnQpIHsgb3B0cy5vbmFib3J0LmNhbGwoc2VsZik7
IH0KKyAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5z
ZXRWZXJzaW9uLm9uYWJvcnQnIikpOworICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmFi
b3J0KSB7IG9wdHMub25hYm9ydC5jYWxsKHRoYXQpOyB9CiAgICAgICAgIH07CiAgICAgICAgIHJl
cS5vbmJsb2NrZWQgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1
c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmJsb2NrZWQnIikpOwotICAg
ICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmJsb2NrZWQpIHsgb3B0cy5vbmJsb2NrZWQuY2Fs
bChzZWxmKTsgfQorICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsg
aWQgKyAiLnNldFZlcnNpb24ub25ibG9ja2VkJyIpKTsKKyAgICAgICAgICAgIGlmIChvcHRzICYm
IG9wdHMub25ibG9ja2VkKSB7IG9wdHMub25ibG9ja2VkLmNhbGwodGhhdCk7IH0KICAgICAgICAg
fTsKICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICB3
aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uc3Vj
Y2VzcyciKSk7Ci0gICAgICAgICAgICBpZiAoc2VsZi5oYW5kbGUub2JqZWN0U3RvcmVOYW1lcy5j
b250YWlucygidGVzdC1zdG9yZSIgKyB3aW5kb3cudmVyKSkgewotICAgICAgICAgICAgICAgIHNl
bGYuaGFuZGxlLmRlbGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOwor
ICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZl
cnNpb24ub25zdWNjZXNzJyIpKTsKKyAgICAgICAgICAgIGlmICh0aGF0LmhhbmRsZS5vYmplY3RT
dG9yZU5hbWVzLmNvbnRhaW5zKCJ0ZXN0LXN0b3JlIiArIHNlbGYudmVyKSkgeworICAgICAgICAg
ICAgICAgIHRoYXQuaGFuZGxlLmRlbGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHNlbGYu
dmVyKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHZhciBzdG9yZSA9IHNlbGYuaGFuZGxl
LmNyZWF0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOworICAgICAgICAg
ICAgdmFyIHN0b3JlID0gdGhhdC5oYW5kbGUuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUi
ICsgc2VsZi52ZXIpOwogICAgICAgICAgICAgdmFyIGNvdW50ID0gMDsKICAgICAgICAgICAgIGRv
X2FzeW5jX3B1dHMoKTsgLy8gS2VlcCB0aGlzIHRyYW5zYWN0aW9uIHJ1bm5pbmcgZm9yIGEgd2hp
bGUKICAgICAgICAgICAgIGZ1bmN0aW9uIGRvX2FzeW5jX3B1dHMoKSB7CkBAIC01OSwxNSArNTks
MTUgQEAgZnVuY3Rpb24gQ29ubmVjdGlvbihpZCkgewogICAgICAgICAgICAgICAgICAgICBpZiAo
Kytjb3VudCA8IDEwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBkb19hc3luY19wdXRzKCk7
CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB3
aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLnRyYW5z
YWN0aW9uLWNvbXBsZXRlJyIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzICYm
IG9wdHMub25zdWNjZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwoc2VsZik7IH0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5z
ZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJyIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChvcHRzICYmIG9wdHMub25zdWNjZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwodGhh
dCk7IH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH07CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH07CiAgICAgICAgIHJlcS5vbmVycm9yID0gZnVuY3Rpb24gKGUpIHsK
LSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNl
dFZlcnNpb24ub25lcnJvciciKSk7Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uZXJy
b3IpIHsgb3B0cy5vbmVycm9yLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgIHNlbGYuc3RlcHMu
cHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uZXJyb3InIikpOworICAg
ICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmVycm9yKSB7IG9wdHMub25lcnJvci5jYWxsKHRo
YXQpOyB9CiAgICAgICAgIH07CiAgICAgfTsKIH0KQEAgLTg4LDcgKzg4LDcgQEAgZnVuY3Rpb24g
dGVzdCgpIHsKIGZ1bmN0aW9uIHRlc3QxKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1Zygi
VEVTVDogc2V0VmVyc2lvbiBibG9ja2VkIG9uIG9wZW4gaGFuZGxlcyIpOwotICAgIGV2YWxBbmRM
b2coIndpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBz
ID0gW10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVy
ID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgx
Iik7CiAgICAgdmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1
bmN0aW9uKGRvTmV4dCkgeyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTAw
LDcgKzEwMCw3IEBAIGZ1bmN0aW9uIHRlc3QxKCkgewogICAgICAgICAgZnVuY3Rpb24oZG9OZXh0
KSB7IGgxLnNldFZlcnNpb24oe29uc3VjY2VzczogZmluaXNoVGVzdH0pOyB9LAogICAgICAgICAg
XSk7CiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9w
ZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIub3BlbiIs
CkBAIC0xMTksNyArMTE5LDcgQEAgZnVuY3Rpb24gdGVzdDEoKSB7CiBmdW5jdGlvbiB0ZXN0Migp
IHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IHNldFZlcnNpb24gbm90IGJsb2Nr
ZWQgaWYgaGFuZGxlIGNsb3NlZCBpbW1lZGlhdGVseSIpOwotICAgIGV2YWxBbmRMb2coIndpbmRv
dy5kYm5hbWUgPSAndGVzdDInOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsK
KyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2Vs
Zi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7CiAgICAg
dmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRv
TmV4dCkgeyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTM0LDcgKzEzNCw3
IEBAIGZ1bmN0aW9uIHRlc3QyKCkgewogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKICAg
ICAgICAgZGVidWcoIk5PVEU6IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNp
b24ub25ibG9ja2VkIHN0ZXA7IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTEzMCIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5zdGVwcy50
b1N0cmluZygpIiwKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0ZXBzLnRv
U3RyaW5nKCkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJoMS5vcGVuIiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDEub3Blbi5vbnN1Y2Nlc3MiLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJoMi5vcGVuIiwKQEAgLTE1Miw3ICsxNTIsNyBAQCBm
dW5jdGlvbiB0ZXN0MigpIHsKIGZ1bmN0aW9uIHRlc3QzKCkgewogICAgIGRlYnVnKCIiKTsKICAg
ICBkZWJ1ZygiVEVTVDogb3BlbiBhbmQgc2V0VmVyc2lvbiBibG9ja2VkIGlmIGEgVkVSU0lPTl9D
SEFOR0UgdHJhbnNhY3Rpb24gaXMgcnVubmluZyAtIGNsb3NlIHdoZW4gYmxvY2tlZCIpOwotICAg
IGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2lu
ZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Myc7
IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5l
Y3Rpb24oImgxIik7CiAgICAgdmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgdmFy
IGgzID0gbmV3IENvbm5lY3Rpb24oImgzIik7CkBAIC0xNjksNyArMTY5LDcgQEAgZnVuY3Rpb24g
dGVzdDMoKSB7CiAgICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgp
IHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmco
KSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygp
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaDIub3BlbiIsCkBAIC0xOTQsNyArMTk0LDcgQEAgZnVuY3Rpb24g
dGVzdDMoKSB7CiBmdW5jdGlvbiB0ZXN0NCgpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWco
IlRFU1Q6IG9wZW4gYW5kIHNldFZlcnNpb24gYmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRy
YW5zYWN0aW9uIGlzIHJ1bm5pbmcgLSBqdXN0IGNsb3NlIik7Ci0gICAgZXZhbEFuZExvZygid2lu
ZG93LmRibmFtZSA9ICd0ZXN0NCc7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXSIp
OworICAgIGV2YWxBbmRMb2coInNlbGYuZGJuYW1lID0gJ3Rlc3Q0Jzsgc2VsZi52ZXIgPSAxOyBz
ZWxmLnN0ZXBzID0gW10iKTsKICAgICB2YXIgaDEgPSBuZXcgQ29ubmVjdGlvbigiaDEiKTsKICAg
ICB2YXIgaDIgPSBuZXcgQ29ubmVjdGlvbigiaDIiKTsKICAgICB2YXIgaDMgPSBuZXcgQ29ubmVj
dGlvbigiaDMiKTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBmdW5jdGlvbiB0ZXN0NCgpIHsKIAogICAg
IGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CiAgICAgICAgIGRlYnVnKCJOT1RFOiBXaWxsIEZBSUwg
d2l0aCBleHRyYSBib2d1cyBoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAiKTsKLSAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIu
b3BlbiIsCkBAIC0yMjYsNyArMjI2LDcgQEAgZnVuY3Rpb24gdGVzdDQoKSB7CiBmdW5jdGlvbiB0
ZXN0NSgpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IG9wZW4gYmxvY2tlZCBp
ZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmciKTsKLSAgICBldmFsQW5k
TG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVw
cyA9IFtdIik7CisgICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDUnOyBzZWxmLnZl
ciA9IDE7IHNlbGYuc3RlcHMgPSBbXSIpOwogICAgIHZhciBoMSA9IG5ldyBDb25uZWN0aW9uKCJo
MSIpOwogICAgIHZhciBoMiA9IG5ldyBDb25uZWN0aW9uKCJoMiIpOwogCkBAIC0yMzYsNyArMjM2
LDcgQEAgZnVuY3Rpb24gdGVzdDUoKSB7CiAgICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rp
b24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cu
c3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5z
dGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3Bl
biIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDEuc2V0VmVyc2lvbiIsCkBAIC0yNTMs
NyArMjUzLDcgQEAgZnVuY3Rpb24gdGVzdDUoKSB7CiBmdW5jdGlvbiB0ZXN0NigpIHsKICAgICBk
ZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IHR3byBzZXRWZXJzaW9ucyBmcm9tIHRoZSBzYW1l
IGNvbm5lY3Rpb24iKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsg
d2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7CisgICAgZXZhbEFuZExvZygic2Vs
Zi5kYm5hbWUgPSAndGVzdDYnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXSIpOwogICAg
IHZhciBoMSA9IG5ldyBDb25uZWN0aW9uKCJoMSIpOwogCiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9u
KGRvTmV4dCkgeyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKQEAgLTI3Miw3ICsyNzIsNyBAQCBmdW5jdGlvbiB0ZXN0Nigp
IHsKICAgICB9ICAKIAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygid2luZG93LnN0ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInNlbGYuc3RlcHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbImgxLm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJoMS5vcGVuLm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImgxLnNldFZlcnNpb24iLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb3Blbi1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4t
Y3Vyc29yLmh0bWwKaW5kZXggMDllZDc5OGRmNjljN2RiNGQ1NmJmZmZjNWYyZjQ1MTZjYTYyYzcy
NC4uZjRiMzhjY2Q3ZWNjNmY4NDk5NGNkZWU2MGZhZDM2OTExOTM5NzkxMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sCkBAIC01Nyw3ICs1Nyw3
IEBAIGZ1bmN0aW9uIG9wZW5DdXJzb3IoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQog
ewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91
bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0
ZWRBYm9ydENhbGxiYWNrOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9wcmVmZXRjaC1idWdmaXgtMTA4MDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9wcmVmZXRjaC1idWdmaXgtMTA4MDcxLmh0bWwKaW5kZXggZDAyNjIxYzdkN2EwZDVl
YzAwMDk3MDk1MTU0NTg1ZDMxYjBmMGRmMC4uMjI3ODI2ZTQ2YTY3ZmNlYjYyY2FjZTcxNGM2Nzli
MzJiMDUzMDRmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcHJl
ZmV0Y2gtYnVnZml4LTEwODA3MS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3ByZWZldGNoLWJ1Z2ZpeC0xMDgwNzEuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBmdW5jdGlv
biBvcGVuU3VjY2VzcygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVi
dWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExv
ZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgi
dHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2Fs
bGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IGl0ZXJhdGVBbmREZWxldGVGaXJzdEVsZW1l
bnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9xdWV1ZWQtY29t
bWFuZHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5k
cy5odG1sCmluZGV4IGM5NzMwZGIwNDU3NjUwYjQ0ZDFmYTAyNWMwYjk3NjhhMmMzMmE2YmMuLmU3
YTlhYzcxMTVhMDY3OWQzOWEwNzRlNWY3OGI4YjNiMzU3ZDc1NjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCkBAIC0zMCwxNCAr
MzAsMTQgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygp
CiB7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNo
b3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBl
Y3RlZEFib3J0Q2FsbGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0g
ICAgd2luZG93LnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpIik7Ci0gICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygic3RvcmUuY3Jl
YXRlSW5kZXgoJ2luZGV4TmFtZScsICd4JykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExv
ZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CisgICAgc2VsZi5pbmRleE9i
amVjdCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcpIik7
CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygic3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAn
enp6J30sICdrZXknKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZl
cmlmeUFkZCgwKTsgfTsKQEAgLTUxLDcgKzUxLDcgQEAgZnVuY3Rpb24gZGVsZXRlRXhpc3Rpbmco
KQogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZlcmlmeUFkZCgyKTsgfTsK
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIAotICAgIHdp
bmRvdy5hZGRDb3VudCA9IDA7CisgICAgc2VsZi5hZGRDb3VudCA9IDA7CiB9CiAKIGZ1bmN0aW9u
IHZlcmlmeUFkZChleHBlY3RlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCAxNzY2YjYy
NmYxY2Y5MGQxZjQxYTAxZmI1YmYxNzJlZTUwOTEwZjM0Li4yMTU3MjcwZmExMzZhMmU1MTQ3YTg0
YjNiNTE3YTBhMGZlMmUxOWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCkBAIC0zMCw3ICsz
MCw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQog
ewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91
bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0
ZWRBYm9ydENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBzdGFy
dFRlc3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZl
cnNpb24tbnVsbC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lv
bi1udWxsLmh0bWwKaW5kZXggODVlNmE4Mjg1OTY2ZjQwOTJlYzliZDE0MjUxYTRiMTc5Mzk3OTll
MC4uNmE4ODAxNDBmZjUxNjMzNDFlNGY3NzhkNzRkMzg2YWQ1ZmEyODEwNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKQEAgLTE1
LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMo
KTsKICAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBz
ZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJh
c2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNj
cmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZlcnNpb24tdW5kZWZpbmVk
Lmh0bWwKaW5kZXggMjM3MDBiZTgwOTlhNjM0NGQwNjhiMThiNzYzMTFkYzhiMjQ2ZTFmNi4uZGZh
OGE1MWM4Y2NmMGE5MWQ0OTI0NTU0NGY3YjY0NGJiOTE2MWE2NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5lZC5odG1sCkBA
IC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZp
eGVzKCk7CiAgCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1l
ID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERh
dGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwg
ZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1j
bG9uZS1leHBlY3RlZC50eHQKaW5kZXggZjk2NGQyMjEwNWI0ZjBiZGY2Zjk0YjE4ZDA0OGY4MDZm
YWZiMzc5OC4uYTgxOWE4ZWUzY2EyNjJlNDlmMjdmOGJlOWRiNWQxODY3YjAyMWUxYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1j
bG9uZS1leHBlY3RlZC50eHQKQEAgLTU5OCw3ICs1OTgsNyBAQCBQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgogUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgogCiBPdGhl
ciBob3N0IG9iamVjdCB0eXBlczoKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQo
d2luZG93LCAna2V5JykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoc2VsZiwg
J2tleScpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIERPTUV4Y2Vw
dGlvbi5EQVRBX0NMT05FX0VSUgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChk
b2N1bWVudCwgJ2tleScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9z
dHJ1Y3R1cmVkLWNsb25lLmh0bWwKaW5kZXggYTMzM2E2OTJjZjg4Y2Y2YzkwZjk5NGUzYjlhZjBh
ZTExZjVmOTVmMy4uN2Q2NDk5ZjI3NGQxM2Y0ODdiYmY4MzZkMDNhZDk5MGNhNDgxMzQ0NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUu
aHRtbApAQCAtMTEsNyArMTEsNyBAQAogCiBkZXNjcmlwdGlvbigiVGVzdCBzdHJ1Y3R1cmVkIGNs
b25lIHBlcm11dGF0aW9ucyBpbiBJbmRleGVkREIuIEZpbGUvRmlsZUxpc3QgdGVzdHMgcmVxdWly
ZSBEdW1wUmVuZGVyVHJlZS4iKTsKIAotaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworaWYgKHNl
bGYuZXZlbnRTZW5kZXIpIHsKICAgICB2YXIgZmlsZUlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZpbGVJbnB1dCIpOwogICAgIHZhciBmaWxlUmVjdCA9IGZpbGVJbnB1dC5nZXRDbGll
bnRSZWN0cygpWzBdOwogICAgIHZhciB0YXJnZXRYID0gZmlsZVJlY3QubGVmdCArIGZpbGVSZWN0
LndpZHRoIC8gMjsKQEAgLTEwOSw3ICsxMDksNyBAQCBmdW5jdGlvbiB0ZXN0VmFsdWUodmFsdWUs
IGNhbGxiYWNrKQogICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxs
YmFjazsKICAgICBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKSIpOwogCi0gICAgd2luZG93LnZhbHVlID0gdmFsdWU7CisgICAgc2VsZi52YWx1
ZSA9IHZhbHVlOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5wdXQodmFsdWUsICdr
ZXknKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpAQCAtMTQ3LDcgKzE0Nyw3IEBA
IGZ1bmN0aW9uIHRlc3RQcmltaXRpdmVWYWx1ZShzdHJpbmcsIGNhbGxiYWNrKQogICAgIHZhciB2
YWx1ZSA9IGV2YWwoInZhbHVlID0gKCIgKyBzdHJpbmcgKyAiKSIpOwogICAgIHRlc3RfZGF0YSA9
IHZhbHVlOwogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAg
ICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0OworICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3Vs
dDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJpcyh0ZXN0X2RhdGEsIHJlc3VsdCkiKTsKICAgICAg
ICAgZGVidWcoIiIpOwogICAgICAgICBjYWxsYmFjaygpOwpAQCAtMTYwLDcgKzE2MCw3IEBAIGZ1
bmN0aW9uIHRlc3RPYmplY3RXaXRoVmFsdWUoc3RyaW5nLCBjYWxsYmFjaykKICAgICB2YXIgdmFs
dWUgPSBldmFsKCJ2YWx1ZSA9ICgiICsgc3RyaW5nICsgIikiKTsKICAgICB0ZXN0X2RhdGEgPSB2
YWx1ZTsKICAgICB0ZXN0VmFsdWUodGVzdF9kYXRhLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAg
ICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAgICAgc2VsZi5yZXN1bHQgPSByZXN1bHQ7
CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIHJlc3VsdCIsICJvYmplY3Qi
KTsKICAgICAgICAgc2hvdWxkQmUoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1
bHQpIiwgIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpIik7CiAgICAg
ICAgIHNob3VsZEJlVHJ1ZSgidGVzdF9kYXRhICE9PSByZXN1bHQiKTsKQEAgLTI4Miw3ICsyODIs
NyBAQCBmdW5jdGlvbiB0ZXN0UmVnRXhwT2JqZWN0KGNhbGxiYWNrKQogICAgICAgICB2YXIgdmFs
dWUgPSBldmFsKCJ2YWx1ZSA9ICgiICsgc3RyaW5nICsgIikiKTsKICAgICAgICAgdGVzdF9kYXRh
ID0gdmFsdWU7CiAgICAgICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkg
ewotICAgICAgICAgICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAgICAgICAgIHNlbGYu
cmVzdWx0ID0gcmVzdWx0OwogICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09
IHJlc3VsdCIpOwogICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSIsICJbb2JqZWN0IFJlZ0V4cF0iKTsKICAgICAg
ICAgICAgIHNob3VsZEJlKCJyZXN1bHQudG9TdHJpbmcoKSIsICJ0ZXN0X2RhdGEudG9TdHJpbmco
KSIpOwpAQCAtMzE3LDcgKzMxNyw3IEBAIGZ1bmN0aW9uIHRlc3RJbWFnZURhdGEoY2FsbGJhY2sp
CiAgICAgfQogCiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0g
ICAgICAgIHdpbmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVz
dWx0OwogICAgICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7CiAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxs
KHJlc3VsdCkiLCAiW29iamVjdCBJbWFnZURhdGFdIik7CiAgICAgICAgIHNob3VsZEJlKCJyZXN1
bHQud2lkdGgiLCAidGVzdF9kYXRhLndpZHRoIik7CkBAIC0zNTAsNyArMzUwLDcgQEAgZnVuY3Rp
b24gcmVhZEJsb2JBc1RleHQoYmxvYiwgY2FsbGJhY2spCiBmdW5jdGlvbiBjaGVja0Jsb2JDb250
ZW50cyhibG9iLCBleHBlY3RlZCwgY2FsbGJhY2spCiB7CiAgICAgcmVhZEJsb2JBc1RleHQoYmxv
YiwgZnVuY3Rpb24odGV4dCkgewotICAgICAgICB3aW5kb3cudGV4dCA9IHRleHQ7CisgICAgICAg
IHNlbGYudGV4dCA9IHRleHQ7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIs
IGV4cGVjdGVkKTsKICAgICAgICAgY2FsbGJhY2soKTsKICAgICB9KTsKQEAgLTM2MCw4ICszNjAs
OCBAQCBmdW5jdGlvbiBjb21wYXJlQmxvYnMoYmxvYjEsIGJsb2IyLCBjYWxsYmFjaykKIHsKICAg
ICByZWFkQmxvYkFzVGV4dChibG9iMSwgZnVuY3Rpb24odGV4dDEpIHsKICAgICAgICAgcmVhZEJs
b2JBc1RleHQoYmxvYjIsIGZ1bmN0aW9uKHRleHQyKSB7Ci0gICAgICAgICAgICB3aW5kb3cudGV4
dDEgPSB0ZXh0MTsKLSAgICAgICAgICAgIHdpbmRvdy50ZXh0MiA9IHRleHQyOworICAgICAgICAg
ICAgc2VsZi50ZXh0MSA9IHRleHQxOworICAgICAgICAgICAgc2VsZi50ZXh0MiA9IHRleHQyOwog
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0MiIsIHRleHQxKTsKICAgICAg
ICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgIH0pOwpAQCAtMzc4LDcgKzM3OCw3IEBAIGZ1bmN0
aW9uIHRlc3RCbG9iKGNhbGxiYWNrKQogICAgIGNhbGxiYWNrKCk7CiAgICAgcmV0dXJuOwogCi0g
ICAgZXZhbEFuZExvZygiQmxvYkJ1aWxkZXIgPSB3aW5kb3cuQmxvYkJ1aWxkZXIgfHwgd2luZG93
LldlYktpdEJsb2JCdWlsZGVyIik7CisgICAgZXZhbEFuZExvZygiQmxvYkJ1aWxkZXIgPSBzZWxm
LkJsb2JCdWlsZGVyIHx8IHNlbGYuV2ViS2l0QmxvYkJ1aWxkZXIiKTsKICAgICBzaG91bGRCZVRy
dWUoIkJsb2JCdWlsZGVyICE9IG51bGwiKTsKICAgICBzaG91bGRCZVRydWUoIkZpbGVSZWFkZXIg
IT0gbnVsbCIpOwogICAgIGV2YWxBbmRMb2coImJ1aWxkZXIgPSBuZXcgQmxvYkJ1aWxkZXIoKSIp
OwpAQCAtMzg2LDcgKzM4Niw3IEBAIGZ1bmN0aW9uIHRlc3RCbG9iKGNhbGxiYWNrKQogICAgIGV2
YWxBbmRMb2coImJ1aWxkZXIuYXBwZW5kKHRlc3RfY29udGVudCkiKTsKICAgICBldmFsQW5kTG9n
KCJ0ZXN0X2RhdGEgPSBidWlsZGVyLmdldEJsb2IoKSIpOwogICAgIHRlc3RWYWx1ZSh0ZXN0X2Rh
dGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0Owor
ICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0
X2RhdGEgIT09IHJlc3VsdCIpOwogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIiwgIltvYmplY3QgQmxvYl0iKTsKICAg
ICAgICAgc2hvdWxkQmUoInJlc3VsdC5zaXplIiwgInRlc3RfZGF0YS5zaXplIik7CkBAIC0zOTcs
OCArMzk3LDggQEAgZnVuY3Rpb24gdGVzdEJsb2IoY2FsbGJhY2spCiAKIGZ1bmN0aW9uIGNvbXBh
cmVGaWxlcyhmaWxlMSwgZmlsZTIsIGNhbGxiYWNrKQogewotICAgIHdpbmRvdy5maWxlMSA9IGZp
bGUxOwotICAgIHdpbmRvdy5maWxlMiA9IGZpbGUyOworICAgIHNlbGYuZmlsZTEgPSBmaWxlMTsK
KyAgICBzZWxmLmZpbGUyID0gZmlsZTI7CiAgICAgc2hvdWxkQmVUcnVlKCJmaWxlMSAhPT0gZmls
ZTIiKTsKICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5cGUudG9TdHJp
bmcuY2FsbChmaWxlMSkiLCAiW29iamVjdCBGaWxlXSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUyKSIsICJbb2JqZWN0IEZp
bGVdIik7CkBAIC00MjYsOSArNDI2LDkgQEAgZnVuY3Rpb24gdGVzdEZpbGUoY2FsbGJhY2spCiAK
ICAgICBldmFsQW5kTG9nKCJ0ZXN0X2NvbnRlbnQgPSBmaWxlSW5wdXQuZmlsZXNbMF0iKTsKIAot
ICAgIHdpbmRvdy50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgc2VsZi50ZXN0X2RhdGEg
PSB0ZXN0X2NvbnRlbnQ7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0
KSB7Ci0gICAgICAgIHdpbmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0
ID0gcmVzdWx0OwogICAgICAgICBjb21wYXJlRmlsZXMocmVzdWx0LCB0ZXN0X2RhdGEsIGNhbGxi
YWNrKTsKICAgICB9KTsKIH0KQEAgLTQ0Niw5ICs0NDYsOSBAQCBmdW5jdGlvbiB0ZXN0RmlsZUxp
c3QoY2FsbGJhY2spCiAKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2NvbnRlbnQgPSBmaWxlSW5wdXQu
ZmlsZXMiKTsKIAotICAgIHdpbmRvdy50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgc2Vs
Zi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVu
Y3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHdpbmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAg
IHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAh
PT0gcmVzdWx0Iik7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkiLCAiW29iamVjdCBGaWxlTGlzdF0iKTsKICAgICAg
ICAgc2hvdWxkQmUoInJlc3VsdC5sZW5ndGgiLCAidGVzdF9kYXRhLmxlbmd0aCIpOwpAQCAtNDc3
LDcgKzQ3Nyw3IEBAIGZ1bmN0aW9uIHRlc3RBcnJheShjYWxsYmFjaykgewogICAgIGV2YWxBbmRM
b2coInRlc3RfZGF0YVszMF0gPSBudWxsIik7CiAKICAgICB0ZXN0VmFsdWUodGVzdF9kYXRhLCBm
dW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAg
ICAgc2VsZi5yZXN1bHQgPSByZXN1bHQ7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdF9kYXRh
ICE9PSByZXN1bHQiKTsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEubGVuZ3RoID09
PSByZXN1bHQubGVuZ3RoIik7CiAgICAgICAgIE9iamVjdC5rZXlzKHRlc3RfZGF0YSkuZm9yRWFj
aCgKQEAgLTUwMCw3ICs1MDAsNyBAQCBmdW5jdGlvbiB0ZXN0T2JqZWN0KGNhbGxiYWNrKSB7CiAg
ICAgZXZhbEFuZExvZygidGVzdF9kYXRhWycnXSA9IG51bGwiKTsKIAogICAgIHRlc3RWYWx1ZSh0
ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICB3aW5kb3cucmVzdWx0ID0gcmVz
dWx0OworICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVl
KCJ0ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwogICAgICAgICBzaG91bGRCZVRydWUoImFycmF5Q29t
cGFyZShPYmplY3Qua2V5cyhyZXN1bHQpLnNvcnQoKSwgT2JqZWN0LmtleXModGVzdF9kYXRhKS5z
b3J0KCkpIik7CiAgICAgICAgIE9iamVjdC5rZXlzKHRlc3RfZGF0YSkuZm9yRWFjaCgKQEAgLTUz
MCw3ICs1MzAsNyBAQCBmdW5jdGlvbiB0ZXN0QmFkVHlwZXMoKQogCiAgICAgZGVidWcoIiIpOwog
ICAgIGRlYnVnKCJPdGhlciBob3N0IG9iamVjdCB0eXBlczoiKTsKLSAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJzdG9yZS5wdXQod2luZG93LCAna2V5JykiLCAiRE9NRXhjZXB0aW9uLkRBVEFf
Q0xPTkVfRVJSIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KHNlbGYs
ICdrZXknKSIsICJET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIiKTsKICAgICBldmFsQW5kRXhw
ZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQoZG9jdW1lbnQsICdrZXknKSIsICJET01FeGNlcHRpb24u
REFUQV9DTE9ORV9FUlIiKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQo
ZG9jdW1lbnQuYm9keSwgJ2tleScpIiwgIkRPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUiIpOwog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YWJvcnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFi
b3J0Lmh0bWwKaW5kZXggNWZhOTAwMjA4YTVmYzgyYjYwZTg4NWJkY2QwOWQ1OTgwZTljMzA4Yy4u
NDU1NDU3NzZjYzNhZTUxMGNlNjAwYjE0ODgzYjMzMTlkNDgxYWEzZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sCkBAIC0z
MSw3ICszMSw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRlRXhpc3Rp
bmcoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNl
bGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAg
ICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVu
ZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUg
PSBzdGFydFRlc3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sCmluZGV4IGQzMjgwYTEwMDlmZGNjNmYw
NTEzM2IxMGY5YmM4MjU1YTJmZjBmNzguLjFiYTBkYTZkNWFhMjZkODVkYTI5YjRiY2I4YjYyMjhi
NTEyZmYyNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlv
biB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkNCiB7DQogICAgIGRlYnVnKCJvcGVuU3Vj
Y2VzcygpOiIpOw0KLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsNCisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0
LnJlc3VsdCIpOw0KICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZl
cnNpb24oJ3ZlcnNpb24gMScpIik7DQogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gaW5TZXRWZXJz
aW9uOw0KICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsNCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQt
b2JqZWN0c3RvcmUtY2FsbHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Ry
YW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCmluZGV4IGUwYmU5OTdkMWVjMjJm
ZTYyYzdkOTc4MDFmYWQyMDQwYWU5ODYyMzguLjFkNTc0ZGMyNjNhNDE1MTlhYWQ0ZmE4MjM0YjYz
MWY0NDI1NmJhOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Ry
YW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCkBA
IC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiBmdW5jdGlvbiBvcGVuU3VjY2Vzcygp
CiB7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXN1bHQgPSBkYi5zZXRWZXJzaW9uKCd2ZXJz
aW9uIDEnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsKICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhw
ZWN0ZWQudHh0CmluZGV4IDMxZjA3Yjk3YjdkYTE0ZGU3ZDEzOGVjMGEwMmQ0ODQ3YmM1NDJkNTku
LjJkYTdmM2MwMjJlYzVhYzgwY2NmM2M3YzE4MDhiYmI2OGMxYzIxNGUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNz
LWV4cGVjdGVkLnR4dApAQCAtMTEsOSArMTEsOSBAQCBvcGVuU3VjY2VzcygpOgogZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0CiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykKIERl
bGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCi1QQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVz
IGlzIFtdCi1QQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCi1QQVNT
IHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxz
ZQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KK1BBU1Mgc2VsZi5kYi5vYmpl
Y3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5j
b250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UKIHJlcXVlc3QgPSBzdGFydFNldFZlcnNpb24o
J3ZlcnNpb24gZmFpbCcpCiBhZGRSZW1vdmVJREJPYmplY3RzKCk6CiB0cmFucyA9IGV2ZW50LnRh
cmdldC5yZXN1bHQKQEAgLTI0LDkgKzI0LDkgQEAgZGIuZGVsZXRlT2JqZWN0U3RvcmUoJ3N0b3Jl
RmFpbCcpCiBzdG9yZS5kZWxldGVJbmRleCgnaW5kZXhGYWlsJykKIAogdGVzdFNldFZlcnNpb25B
Ym9ydDIoKToKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KLVBBU1Mgd2lu
ZG93LmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKLVBBU1Mgd2luZG93LmRiLm9iamVj
dFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCitQQVNTIHNlbGYuZGIu
b2JqZWN0U3RvcmVOYW1lcyBpcyBbXQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVu
Z3RoIGlzIDAKK1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZh
aWwnKSBpcyBmYWxzZQogcmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBmYWlsJykK
IGFkZFJlbW92ZUFkZElEQk9iamVjdHMoKToKIHRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdApA
QCAtNDAsOSArNDAsOSBAQCBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAn
eCcpCiAKIHRlc3RTZXRWZXJzaW9uQWJvcnQzKCk6CiBQQVNTIGV2ZW50LmNhbmNlbGFibGUgaXMg
ZmFsc2UKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KLVBBU1Mgd2luZG93
LmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0
b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCitQQVNTIHNlbGYuZGIub2Jq
ZWN0U3RvcmVOYW1lcyBpcyBbXQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3Ro
IGlzIDAKK1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwn
KSBpcyBmYWxzZQogcmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBmYWlsJykKIGFk
ZElEQk9iamVjdHMoKToKIFBBU1MgZXZlbnQuY2FuY2VsYWJsZSBpcyBmYWxzZQpAQCAtODcsOSAr
ODcsOSBAQCBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgogCiB0ZXN0U2V0VmVyc2lvbkFi
b3J0NCgpOgotUEFTUyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbXQotUEFTUyB3aW5k
b3cuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAotUEFTUyB3aW5kb3cuZGIub2JqZWN0
U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UKK1BBU1Mgc2VsZi5kYi5v
YmplY3RTdG9yZU5hbWVzIGlzIFtdCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5n
dGggaXMgMAorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFp
bCcpIGlzIGZhbHNlCiByZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZhaWwnKQog
YWRkSURCT2JqZWN0c0FuZENvbW1pdCgpOgogdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNp
Y3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2lj
cy5odG1sCmluZGV4IGQyYTJjOTIyMTcwODFkNjBiNTlmMjhhMGE5YmE1YzZhZWYwMmUzYTcuLjg2
N2U1YzBmNjFjZWRjMWZiY2Q0ODNhYWM0YmMwNmJmNjBiNWJlY2EgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCkBAIC0y
Miw3ICsyMiw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQ0KIHsN
CiAgICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7DQotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRM
b2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOw0KKyAgICBzZWxmLmRiID0gZXZhbEFuZExv
ZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7DQogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9n
KCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsNCiAgICAgcmVxdWVzdC5v
bnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlOw0KICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsNCkBAIC0yMTUsOSArMjE1LDkgQEAgZnVuY3Rpb24gc3RhcnRTZXRW
ZXJzaW9uKHZlcnNpb25OYW1lKQogDQogZnVuY3Rpb24gY2hlY2tNZXRhZGF0YUVtcHR5KCkNCiB7
DQotICAgIHNob3VsZEJlKCJ3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcyIsICJbXSIpOw0KLSAg
ICBzaG91bGRCZSgid2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAiKTsNCi0g
ICAgc2hvdWxkQmUoIndpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZh
aWwnKSIsICJmYWxzZSIpOw0KKyAgICBzaG91bGRCZSgic2VsZi5kYi5vYmplY3RTdG9yZU5hbWVz
IiwgIltdIik7DQorICAgIHNob3VsZEJlKCJzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3Ro
IiwgIjAiKTsNCisgICAgc2hvdWxkQmUoInNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlu
cygnc3RvcmVGYWlsJykiLCAiZmFsc2UiKTsNCiB9DQogDQogZnVuY3Rpb24gY2hlY2tNZXRhZGF0
YUV4aXN0aW5nT2JqZWN0U3RvcmUoKQ0KQEAgLTIzOCwxMSArMjM4LDExIEBAIGZ1bmN0aW9uIHNl
dFZlcnNpb25TdWNjZXNzKCkKIHsNCiAgICAgZGVidWcoIiIpOw0KICAgICBkZWJ1Zygic2V0VmVy
c2lvblN1Y2Nlc3MoKToiKTsNCi0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7DQorICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsNCiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAh
PT0gbnVsbCIpOw0KICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7
DQogICAgIHRyYW5zLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBsZXRlJywgY29tcGxldGVDYWxsYmFj
aywgZmFsc2UpOw0KLSAgICB3aW5kb3cuY29tcGxldGVFdmVudEZpcmVkID0gZmFsc2U7DQorICAg
IHNlbGYuY29tcGxldGVFdmVudEZpcmVkID0gZmFsc2U7DQogDQogICAgIGRlbGV0ZUFsbE9iamVj
dFN0b3JlcyhkYik7DQogDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0
CmluZGV4IDliNDNlNWEwOTQwOThhNGY2NmNkMTFmMjVmNjZmN2E5MDBmZDI3YjkuLjYzNmM5YWU5
NWVmM2U3NDk5YjYxZmM0NWNiZGMzZWRiOTMwMjk1YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1v
bi1hYm9ydC1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgZGIgPSBldmVudC50YXJnZXQu
cmVzdWx0CiBkYi5zZXRWZXJzaW9uKCcxLjAnKQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2Zvbycp
CiBkYi50cmFuc2FjdGlvbignZm9vJykKLXdpbmRvdy5nYygpCitzZWxmLmdjKCkKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFi
b3J0Lmh0bWwKaW5kZXggMzk1MzM3OWQzNzI5YTAyZTgyNTgzNGUwOGQzZWZmOTA1MzQzMmRiNC4u
MWNmNTI3YmViM2IxMGI4MDBjM2Q5NjM3Njg2Yjk2MGE3YmZmNzQ5ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1v
bi1hYm9ydC5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNz
KCkKIHsKICAgICBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnZm9vJykiKTsKICAg
ICBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbignZm9vJykiKTsKLSAgICBldmFsQW5kTG9nKCJ3
aW5kb3cuZ2MoKSIpOworICAgIGV2YWxBbmRMb2coInNlbGYuZ2MoKSIpOwogICAgIGZpbmlzaEpT
VGVzdCgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCBjMzY3Mjll
NjdhNzMyZTkyMzg2NjIwNDhlNWQ0ZjNmYjE2YzRkZGI0Li5iNmI3ZWRkODZlMmQyN2JjMDVlNGE4
YTRiM2UzYmYyNTk2ZDZhNDk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKQEAg
LTI5LDcgKzI5LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIGRlbGV0ZUV4
aXN0aW5nKCkKIHsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIp
OwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICBldmFs
QW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gc3RhcnRUZXN0Iik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkLW9ubHkuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCmlu
ZGV4IGRmODhkMzM3OGJkNGM2MzgwYzNkZTgzNTEzNjRmNDkyOTAxOTdkZDIuLmVmNjg4N2UwYjQ5
ZjVlYTQwMmI1YmVlOWMxNTA0ZjI3NDZmN2VlYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCkBAIC0yMiw3
ICsyMiw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQ0KIHsNCiAg
ICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7DQotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2co
ImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOw0KKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygi
ZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7DQogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJy
ZXN1bHQgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOw0KICAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IGNsZWFuRGF0YWJhc2U7DQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1yb2xsYmFjay5odG1sCmluZGV4IDcxNjJhNTBjYTljNWU4ZTE1NGZjMTlj
MWE2MWJmMjZlMTRkZWM1MzIuLjg2NDFlZTMxMzQ1YzE4ZDUwODA5MjI4MTY1ODc5ZTg2N2U0YzBi
MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LXJvbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tcm9sbGJhY2suaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIGZ1
bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToiKTsKLSAg
ICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAg
ICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEn
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsKICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTMxLDcgKzMxLDcgQEAgZnVu
Y3Rpb24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCiB7CiAgICAgZGVi
dWcoImNsZWFuRGF0YWJhc2UoKToiKTsKLSAgICB3aW5kb3cudHJhbnNhY3Rpb24gPSBldmFsQW5k
TG9nKCJ0cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5z
YWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAg
IHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBzZXRWZXJzaW9uQ29tcGxldGU7CiAKQEAgLTQ0LDEx
ICs0NCwxMSBAQCBmdW5jdGlvbiBzZXRWZXJzaW9uQ29tcGxldGUoKQogewogICAgIGRlYnVnKCJz
ZXRWZXJzaW9uQ29tcGxldGUoKToiKTsKIAotICAgIHdpbmRvdy50cmFuc2FjdGlvbiA9IGV2YWxB
bmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydteU9iamVjdFN0b3JlJ10sIElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgc2VsZi50cmFuc2FjdGlvbiA9IGV2YWxB
bmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydteU9iamVjdFN0b3JlJ10sIElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IGFi
b3J0Q2FsbGJhY2s7CiAgICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21w
bGV0ZUNhbGxiYWNrOwogCi0gICAgd2luZG93LnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnbXlPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5zdG9y
ZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ215T2JqZWN0
U3RvcmUnKSIpOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoJ3JvbGxiYWNr
VmFsdWUnLCAncm9sbGJhY2tLZXkxMjMnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYWRk
U3VjY2VzczsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
QEAgLTY3LDcgKzY3LDcgQEAgZnVuY3Rpb24gYWRkU3VjY2VzcygpCiBmdW5jdGlvbiBvcGVuQ3Vy
c29yU3VjY2VzcygpCiB7CiAgICAgZGVidWcoIm9wZW5DdXJzb3JTdWNjZXNzKCk6Iik7Ci0gICAg
d2luZG93LmN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLmN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQiKTsKIAogICAgIHRyYW5zYWN0aW9uLmFib3J0KCk7CiB9CkBAIC03Nyw4ICs3Nyw4IEBA
IGZ1bmN0aW9uIGFib3J0Q2FsbGJhY2soKQogICAgIGRlYnVnKCJhYm9ydENhbGxiYWNrKCk6Iik7
CiAgICAgZGVidWcoJ1RyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLicpOwogCi0gICAgd2luZG93LnRy
YW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ215
T2JqZWN0U3RvcmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRCkiKTsKLSAgICB3aW5kb3cuc3RvcmUg
PSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdteU9iamVjdFN0
b3JlJykiKTsKKyAgICBzZWxmLnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbihbJ215T2JqZWN0U3RvcmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRCki
KTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5vYmpl
Y3RTdG9yZSgnbXlPYmplY3RTdG9yZScpIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInN0
b3JlLmdldCgncm9sbGJhY2tLZXkxMjMnKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZ2V0U3VjY2VzczsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0
b3JlTmFtZXMtcmVxdWlyZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Ry
YW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVxdWlyZWQuaHRtbAppbmRleCAzNTRmMTEwYTIyMDk1Y2U2
MTBjODkxMGY4ZTJjZmE2YjlmNjcyYjIyLi4yZjYwMTVhOTAzMjMyY2FkODQxYjUwMjFiM2E3NDA0
MWY0ODk5MWVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFu
c2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sCkBAIC0xNSw3
ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7
CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxm
LmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2Ui
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlw
dGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwKaW5kZXggYTU3NDI3NmIwM2Q3Nzc4
NmI0OTU5NjE0MmVjYTEzZmVlZjAwYTZjNy4uYThlNGE1OWVkN2M3NDY5MjExYzMxZjg5N2FjZjQ1
ZjdlZTAyNTU5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0
b3JpYWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5o
dG1sCkBAIC0yNCw3ICsyNCw3IEBACiAvLyBnb2FsIG9mIHRlYWNoaW5nIHBlb3BsZSBJbmRleGVk
REIuIFRoYXQgc2FpZCwgaXQgZG9lcyBoYXZlIGEgZ29vZCBhbW91bnQgb2YgY292ZXJhZ2UgYW5k
CiAvLyBzZXJ2ZXMgYXMgYSBsaXZpbmcgZG9jdW1lbnQgZGVzY3JpYmluZyB3aGF0J3MgZXhwZWN0
ZWQgdG8gd29yayBhbmQgaG93IHdpdGhpbiBXZWJLaXQgc28gaXQKIC8vIHNlZW1zIHdlbGwgd29y
dGggaGF2aW5nIGNoZWNrZWQgaW4uCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CitpZiAoc2VsZi5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CiB9CkBAIC0zMyw3ICszMyw3IEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKIGZ1bmN0aW9uIHNldHVwKCkKIHsKICAgICAvLyBBcyB0aGlzIEFQSSBpcyBzdGlsbCBleHBl
cmltZW50YWwsIGl0J3MgYmVpbmcgc2hpcHBlZCBiZWhpbmQgdmVuZG9yIHNwZWNpZmljIHByZWZp
eGVzLgotICAgIGlmICgnd2Via2l0SW5kZXhlZERCJyBpbiB3aW5kb3cpIHsKKyAgICBpZiAoJ3dl
YmtpdEluZGV4ZWREQicgaW4gc2VsZikgewogICAgICAgICBpbmRleGVkREIgPSB3ZWJraXRJbmRl
eGVkREI7CiAgICAgICAgIElEQkN1cnNvciA9IHdlYmtpdElEQkN1cnNvcjsKICAgICAgICAgSURC
S2V5UmFuZ2UgPSB3ZWJraXRJREJLZXlSYW5nZTsKQEAgLTQyLDcgKzQyLDcgQEAgZnVuY3Rpb24g
c2V0dXAoKQogCiAgICAgLy8gVGhpcyB0dXRvcmlhbCBhc3N1bWVzIHRoYXQgTW96aWxsYSBhbmQg
V2ViS2l0IG1hdGNoIGVhY2ggb3RoZXIgd2hpY2ggaXNuJ3QgdHJ1ZSBhdCB0aGUKICAgICAvLyBt
b21lbnQsIGJ1dCB3ZSBjYW4gaG9wZSBpdCdsbCBiZWNvbWUgdHJ1ZSBvdmVyIHRpbWUuCi0gICAg
aWYgKCdtb3pfaW5kZXhlZERCJyBpbiB3aW5kb3cpIHsKKyAgICBpZiAoJ21vel9pbmRleGVkREIn
IGluIHNlbGYpIHsKICAgICAgICAgaW5kZXhlZERCID0gbW96X2luZGV4ZWREQjsKICAgICAgICAg
Ly8gTm90IGltcGxlbWVudGVkIGJ5IHRoZW0geWV0LiBJJ20ganVzdCBndWVzc2luZyB3aGF0IHRo
ZXknbGwgYmUuCiAgICAgICAgIElEQkN1cnNvciA9IG1vel9JREJDdXJzb3I7CkBAIC05NSw3ICs5
NSw3IEBAIGZ1bmN0aW9uIG9uT3BlbigpCiAgICAgLy8gb2JqZWN0IHRoYXQgd2FzIHJldHVybmVk
IChpLmUuIGl0J2xsIGJlIHRoZSBldmVudCB0YXJnZXQpLCB3aGljaCBtZWFucyB0aGF0IHlvdSBj
YW4gc2ltcGx5CiAgICAgLy8gbG9vayBhdCBldmVudC50YXJnZXQucmVzdWx0IHRvIGdldCB0aGUg
cmVzdWx0IG9mIHRoZSBjYWxsLiBJbiBzb21lIGNhc2VzLCB0aGUgZXhwZWN0ZWQKICAgICAvLyBy
ZXN1bHQgd2lsbCBiZSBudWxsLgotICAgIHdpbmRvdy5kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7
CisgICAgc2VsZi5kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAKICAgICAvLyBUaGUgSURCRGF0
YWJhc2Ugb2JqZWN0IGhhcyBhICJ2ZXJzaW9uIiBhdHRyaWJ1dGUuIFRoaXMgY2FuIG9ubHkgYmUg
c2V0IGJ5IGNhbGxpbmcKICAgICAvLyAic2V0VmVyc2lvbiIgb24gdGhlIGRhdGFiYXNlIGFuZCBz
dXBwbHlpbmcgYSBuZXcgdmVyc2lvbi4gVGhpcyBhbHNvIHN0YXJ0cyBhIG5ldwpAQCAtMTE3LDcg
KzExNyw3IEBAIGZ1bmN0aW9uIG9uU2V0VmVyc2lvbigpCiAgICAgLy8gY2FuIGFkZCBvciBkZWxl
dGUgaW5kZXhlcyBhbmQgb2JqZWN0U3RvcmVzLiBUaGUgcmVzdWx0IChwcm9wZXJ0eSBvZiB0aGUg
cmVxdWVzdCkgaXMgYW4KICAgICAvLyBJREJUcmFuc2FjdGlvbiBvYmplY3QgdGhhdCBoYXMgImNv
bXBsZXRlIiBhbmQgImFib3J0IiBldmVudCBoYW5kbGVycyB3aGljaCB0ZWxsCiAgICAgLy8gdXMg
d2hlbiB0aGUgdHJhbnNhY3Rpb24gaGFzIGNvbW1pdHRlZCwgYWJvcnRlZCwgb3IgdGltZWQgb3V0
LgotICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0Owor
ICAgIHNlbGYuY3VycmVudFRyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKICAgICBj
dXJyZW50VHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IG9uU2V0VmVyc2lvbkNvbXBsZXRlOwogICAg
IGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0OwogCkBAIC0yMTgs
NyArMjE4LDcgQEAgZnVuY3Rpb24gb25TZXRWZXJzaW9uQ29tcGxldGUoKQogICAgIC8vIE5leHQg
aXMgIm1vZGUiIHdoaWNoIHNwZWNpZmllcyB0aGUgbG9ja2luZyBtb2RlLiBUaGUgZGVmYXVsdCBp
cyBSRUFEX09OTFkgKGkuZS4gYSBzaGFyZWQgbG9jaykuCiAgICAgLy8gVGhhdCdzIGZpbmUgZm9y
IHRoaXMgY2FzZSwgYnV0IGxhdGVyIHdlJ2xsIGFzayBmb3IgSURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURS4gQXQgdGhlIG1vbWVudCwKICAgICAvLyBDaHJvbWl1bS9XZWJLaXQgcHJldGVuZHMgZXZl
cnkgdHJhbnNhY3Rpb24gaXMgUkVBRF9XUklURSwgd2hpY2ggaXMga2luZCBvZiBiYWQuCi0gICAg
d2luZG93LmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCJwZW9wbGUiLCBJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKTsKKyAgICBzZWxmLmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKCJwZW9wbGUiLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKTsKICAgICBj
dXJyZW50VHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZTsKICAgICBj
dXJyZW50VHJhbnNhY3Rpb24ub25hYm9ydCA9IG9uVHJhbnNhY3Rpb25BYm9ydGVkOwogCkBAIC0y
NjYsNyArMjY2LDcgQEAgZnVuY3Rpb24gdW5leHBlY3RlZENvbXBsZXRlKCkKIGZ1bmN0aW9uIG9u
VHJhbnNhY3Rpb25BYm9ydGVkKCkKIHsKICAgICAvLyBOb3cgbGV0J3MgbWFrZSBhIHJlYWwgdHJh
bnNhY3Rpb24gYW5kIGEgcGVyc29uIHRvIG91ciBvYmplY3RTdG9yZS4KLSAgICB3aW5kb3cuY3Vy
cmVudFRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oInBlb3BsZSIsIElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpOworICAgIHNlbGYuY3VycmVudFRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oInBlb3BsZSIsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpOwogICAgIGN1cnJlbnRUcmFu
c2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0OwogCiAgICAgdmFyIHBlb3BsZSA9IGN1
cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgicGVvcGxlIik7CkBAIC0zMDQsNyArMzA0LDcg
QEAgZnVuY3Rpb24gb25QdXRUcmFuc2FjdGlvbkNvbXBsZXRlKCkKICAgICAvLyBPSywgbm93IGxl
dCdzIHF1ZXJ5IHRoZSBwZW9wbGUgb2JqZWN0U3RvcmUgaW4gYSBjb3VwbGUgZGlmZmVyZW50IHdh
eXMuIEZpcnN0IHVwLCBsZXQncyB0cnkgZ2V0LgogICAgIC8vIEl0IHNpbXBseSB0YWtlcyBpbiBh
IGtleSBhbmQgcmV0dXJucyBhIHJlcXVlc3Qgd2hvc2UgcmVzdWx0IHdpbGwgYmUgdGhlIHZhbHVl
LiBOb3RlIHRoYXQgaGVyZQogICAgIC8vIHdlJ3JlIHBhc3NpbmcgaW4gYW4gYXJyYXkgZm9yIG9i
amVjdFN0b3JlTmFtZXMgcmF0aGVyIHRoYW4gYSBzaW1wbGUgc3RyaW5nLgotICAgIHdpbmRvdy5j
dXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbInBlb3BsZSJdLCBJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKTsKKyAgICBzZWxmLmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKFsicGVvcGxlIl0sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpOwogICAgIGN1cnJl
bnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0OwogCiAgICAgdmFyIHBlb3Bs
ZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgicGVvcGxlIik7CkBAIC00MDQsNyAr
NDA0LDcgQEAgZnVuY3Rpb24gb25JbmRleEdldFN1Y2Nlc3MoKQogZnVuY3Rpb24gb25BbGxEb25l
KCkKIHsKICAgICBsb2coIkV2ZXJ5dGhpbmcgd29ya2VkISIpOwotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgaWYgKHNlbGYubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKIH0KIApAQCAtNDE0LDEw
ICs0MTQsMTAgQEAgZnVuY3Rpb24gb25BbGxEb25lKCkKIC8vIHRvIHNhdmUgYXBwIGRldmVsb3Bl
cnMgZnJvbSBoYXZpbmcgYW4gb2xkZXIgdmVyaXNvbiBvZiBhIHdlYiBwYWdlIHRoYXQgZXhwZWN0
cyBhIGNlcnRhaW4gc2V0IG9mCiAvLyBvYmplY3RTdG9yZXMgYW5kIGluZGV4ZXMgZnJvbSBicmVh
a2luZyBpbiBvZGQgd2F5cyB3aGVuIHRoaW5ncyBnZXQgY2hhbmdlZCBvdXQgZnJvbSB1bmRlcm5l
aXRoIGl0LgogLy8gSW4gdGhlIGZ1dHVyZSwgd2UnbGwgcHJvYmFibHkgYWRkIGEgbW9yZSBhZHZh
bmNlZCBtZWNoYW5pc20sIGJ1dCB0aGlzIGlzIGl0IGZvciBub3cuCi0vLyAgIEJlY2F1c2UgYSBz
ZXRWZXJzaW9uIHRyYW5zYWN0aW9uIGNvdWxkIHN0YWxsIG91dCBuZWFybHkgZm9yZXZlciB1bnRp
bCB0aGUgdXNlciBjbG9zZXMgd2luZG93cywKKy8vICAgQmVjYXVzZSBhIHNldFZlcnNpb24gdHJh
bnNhY3Rpb24gY291bGQgc3RhbGwgb3V0IG5lYXJseSBmb3JldmVyIHVudGlsIHRoZSB1c2VyIGNs
b3NlcyBzZWxmcywKIC8vIHdlJ3ZlIGFkZGVkIGEgImJsb2NrZWQiIGV2ZW50IHRvIHRoZSByZXF1
ZXN0IG9iamVjdCByZXR1cm5lZCBieSBzZXRWZXJzaW9uLiBUaGlzIHdpbGwgZmlyZSBpZiB0aGUK
LS8vIHNldFZlcnNpb24gdHJhbnNhY3Rpb24gY2FuJ3QgYmVnaW4gYmVjYXVzZSBvdGhlciB3aW5k
b3dzIGhhdmUgYW4gb3BlbiBjb25uZWN0aW9uLiBUaGUgYXBwIGNhbiB0aGVuCi0vLyBlaXRoZXIg
cG9wIHNvbWV0aGluZyB1cCB0ZWxsaW5nIHRoZSB1c2VyIHRvIGNsb3NlIHdpbmRvd3Mgb3IgaXQg
Y2FuIHRlbGwgdGhlIG90aGVyIHdpbmRvd3MgdG8gY2FsbAorLy8gc2V0VmVyc2lvbiB0cmFuc2Fj
dGlvbiBjYW4ndCBiZWdpbiBiZWNhdXNlIG90aGVyIHNlbGZzIGhhdmUgYW4gb3BlbiBjb25uZWN0
aW9uLiBUaGUgYXBwIGNhbiB0aGVuCisvLyBlaXRoZXIgcG9wIHNvbWV0aGluZyB1cCB0ZWxsaW5n
IHRoZSB1c2VyIHRvIGNsb3NlIHNlbGZzIG9yIGl0IGNhbiB0ZWxsIHRoZSBvdGhlciBzZWxmcyB0
byBjYWxsCiAvLyAuY2xvc2UoKSBvbiB0aGVpciBkYXRhYmFzZSBoYW5kbGUuIC5jbG9zZSgpIGhh
bHRzIGFueSBuZXcgdHJhbnNhY3Rpb25zIGZyb20gc3RhcnRpbmcgYW5kIHdhaXRzIGZvcgogLy8g
dGhlIGV4aXN0aW5nIG9uZXMgdG8gZmluaXNoLiBJdCB0aGVuIGNsb3NlcyB0aGUgY29ubmVjdGlv
biBhbmQgYW55IGluZGV4ZWREQiBjYWxscyBhZnRlcndhcmRzIGFyZQogLy8gaW52YWxpZCAodGhl
eSdsbCBwcm9iYWJseSB0aHJvdywgYnV0IHRoaXMgaXNuJ3Qgc3BlY2lmaWVkIHlldCkuIFdlIG1h
eSBzcGVjaWZ5IC5jbG9zZSgpIHRvIHJldHVybgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4cGVjdGVkLnR4dApp
bmRleCAwMDVhNmExYjNhYTNmNDVmMmFhZWE3YTk5NDRjNTU0NzIwMjIxYWU5Li42YTg4ZGFlODQ3
OGZhMTBjOGNiMThjNGEwNDAzMDQ2ZDJhMjU5MGE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4cGVjdGVk
LnR4dApAQCAtOCwzMiArOCwzMiBAQCBQQVNTIEJvb2xlYW4oaW5kZXhlZERCICYmIElEQkN1cnNv
ciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElEQkRhdAogCiBQQVNTIGlu
ZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCiBQQVNTIElEQlRyYW5zYWN0aW9uID09IG51bGwgaXMg
ZmFsc2UKLXdpbmRvdy5zdGF0ZSA9ICdzdGFydGluZycKK3NlbGYuc3RhdGUgPSAnc3RhcnRpbmcn
CiBpbmRleGVkREIub3BlbigndHdvLXZlcnNpb25zLW9uZS1jb25uZWN0aW9uJykKIGRiID0gZXZl
bnQudGFyZ2V0LnJlc3VsdAotd2luZG93LnN0YXRlID0gMAorc2VsZi5zdGF0ZSA9IDAKIGRiLnNl
dFZlcnNpb24oJ3ZlcnNpb24gMScpCiBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDInKQogc2V0VmVy
c2lvbigpICMxIGNhbGxiYWNrCi13aW5kb3cuc3RvcmUxID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J3Rlc3Qtc3RvcmUxJykKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgMQotd2luZG93LnN0b3JlMS5w
dXQoJ2FhYScsIDExMSkKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgMgotUEFTUyArK3dpbmRvdy5z
dGF0ZSBpcyAzCitzZWxmLnN0b3JlMSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3Jl
MScpCitQQVNTICsrc2VsZi5zdGF0ZSBpcyAxCitzZWxmLnN0b3JlMS5wdXQoJ2FhYScsIDExMSkK
K1BBU1MgKytzZWxmLnN0YXRlIGlzIDIKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDMKIGhhbGZ3YXkg
dGhlcmUuLi4KIHNldFZlcnNpb24oKSAjMiBjYWxsYmFjawotUEFTUyArK3dpbmRvdy5zdGF0ZSBp
cyA0Ci13aW5kb3cuc3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykK
LXdpbmRvdy5zdG9yZTIucHV0KCdiYmInLCAyMjIpCi1QQVNTICsrd2luZG93LnN0YXRlIGlzIDUK
LVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgNgotUEFTUyB3aW5kb3cuZGIudmVyc2lvbiBpcyAidmVy
c2lvbiAyIgotd2luZG93LnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3JlMScsICd0
ZXN0LXN0b3JlMiddKQotd2luZG93LnN0b3JlID0gd2luZG93LnRyYW5zLm9iamVjdFN0b3JlKCd0
ZXN0LXN0b3JlMScpCi13aW5kb3cucmVxID0gd2luZG93LnN0b3JlLmdldCgxMTEpCitQQVNTICsr
c2VsZi5zdGF0ZSBpcyA0CitzZWxmLnN0b3JlMiA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0
LXN0b3JlMicpCitzZWxmLnN0b3JlMi5wdXQoJ2JiYicsIDIyMikKK1BBU1MgKytzZWxmLnN0YXRl
IGlzIDUKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDYKK1BBU1Mgc2VsZi5kYi52ZXJzaW9uIGlzICJ2
ZXJzaW9uIDIiCitzZWxmLnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3JlMScsICd0
ZXN0LXN0b3JlMiddKQorc2VsZi5zdG9yZSA9IHNlbGYudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qt
c3RvcmUxJykKK3NlbGYucmVxID0gc2VsZi5zdG9yZS5nZXQoMTExKQogUEFTUyBldmVudC50YXJn
ZXQucmVzdWx0IGlzICJhYWEiCi13aW5kb3cuc3RvcmUgPSB3aW5kb3cudHJhbnMub2JqZWN0U3Rv
cmUoJ3Rlc3Qtc3RvcmUyJykKLXdpbmRvdy5yZXEgPSB3aW5kb3cuc3RvcmUuZ2V0KDIyMikKK3Nl
bGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMicpCitzZWxmLnJl
cSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAiYmJi
IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLmh0bWwKaW5kZXggZTgw
ZWFmZTBiYzhhMDY5MTRkMDVhNjY3MjM2YTZhNmFlNjNlZWI5My4uYTIxYWI3MDEwY2Q5NTZiMzQ3
ZTEyNTBmMTI0MTk2MzE0MGI5OGRjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkgewogCiBmdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKIHsKLSAgICBl
dmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnc3RhcnRpbmcnIik7CisgICAgZXZhbEFuZExvZygi
c2VsZi5zdGF0ZSA9ICdzdGFydGluZyciKTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4ZWREQi5vcGVuKCd0d28tdmVyc2lvbnMtb25lLWNvbm5lY3Rpb24nKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0yOSw4ICsyOSw4IEBAIGZ1bmN0aW9uIG9wZW5EQkNv
bm5lY3Rpb24oKQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7Ci0gICAgd2luZG93LmRiID0g
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgZXZhbEFuZExvZygi
d2luZG93LnN0YXRlID0gMCIpOworICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0YXRlID0gMCIpOwogCiAg
ICAgdmFyIHZlcnNpb25DaGFuZ2VSZXF1ZXN0MSA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24o
J3ZlcnNpb24gMScpIik7CiAgICAgdmVyc2lvbkNoYW5nZVJlcXVlc3QxLm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTQ2LDEyICs0NiwxMiBAQCBmdW5jdGlvbiBvcGVuU3Vj
Y2VzcygpCiBmdW5jdGlvbiBpblNldFZlcnNpb24xKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lv
bigpICMxIGNhbGxiYWNrIik7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0b3JlMSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7Ci0gICAgc2hvdWxkQmUoIisrd2luZG93
LnN0YXRlIiwgIjEiKTsKLSAgICB2YXIgcmVxID0gZXZhbEFuZExvZygid2luZG93LnN0b3JlMS5w
dXQoJ2FhYScsIDExMSkiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0b3JlMSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7CisgICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0
ZSIsICIxIik7CisgICAgdmFyIHJlcSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUxLnB1dCgnYWFh
JywgMTExKSIpOwogICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAg
ICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgIHNob3VsZEJlKCIrK3dp
bmRvdy5zdGF0ZSIsICIyIik7CisgICAgICAgIHNob3VsZEJlKCIrK3NlbGYuc3RhdGUiLCAiMiIp
OwogICAgICAgICBoYWxmd2F5RG9uZSgpOwogICAgIH07CiB9CkBAIC01OSwxMyArNTksMTMgQEAg
ZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCiBmdW5jdGlvbiBpblNldFZlcnNpb24yKCkKIHsKICAg
ICBkZWJ1Zygic2V0VmVyc2lvbigpICMyIGNhbGxiYWNrIik7Ci0gICAgc2hvdWxkQmUoIisrd2lu
ZG93LnN0YXRlIiwgIjQiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUyID0gZGIuY3Jl
YXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykiKTsKKyAgICBzaG91bGRCZSgiKytzZWxmLnN0
YXRlIiwgIjQiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0b3JlMiA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCd0ZXN0LXN0b3JlMicpIik7CiAKLSAgICB2YXIgcmVxID0gZXZhbEFuZExvZygid2lu
ZG93LnN0b3JlMi5wdXQoJ2JiYicsIDIyMikiKTsKKyAgICB2YXIgcmVxID0gZXZhbEFuZExvZygi
c2VsZi5zdG9yZTIucHV0KCdiYmInLCAyMjIpIik7CiAgICAgcmVxLm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAg
ICAgICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjUiKTsKKyAgICAgICAgc2hvdWxkQmUo
Iisrc2VsZi5zdGF0ZSIsICI1Iik7CiAgICAgICAgIGhhbGZ3YXlEb25lKCk7CiAgICAgfTsKIH0K
QEAgLTc1LDI1ICs3NSwyNSBAQCBmdW5jdGlvbiBoYWxmd2F5RG9uZSgpCiB7CiAgICAgY291bnRl
ciArPSAxOwogICAgIGlmIChjb3VudGVyIDwgMikgewotICAgICAgICBzaG91bGRCZSgiKyt3aW5k
b3cuc3RhdGUiLCAiMyIpOworICAgICAgICBzaG91bGRCZSgiKytzZWxmLnN0YXRlIiwgIjMiKTsK
ICAgICAgICAgZGVidWcoImhhbGZ3YXkgdGhlcmUuLi4iICk7CiAgICAgfSBlbHNlIHsKLSAgICAg
ICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjYiKTsKKyAgICAgICAgc2hvdWxkQmUoIisr
c2VsZi5zdGF0ZSIsICI2Iik7CiAgICAgICAgIGNoZWNrUmVzdWx0cygpOwogICAgIH0KIH0KIAog
ZnVuY3Rpb24gY2hlY2tSZXN1bHRzKCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2lu
ZG93LmRiLnZlcnNpb24iLCAidmVyc2lvbiAyIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ3
aW5kb3cudHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3Rlc3Qtc3RvcmUxJywgJ3Rlc3Qtc3RvcmUy
J10pIik7Ci0gICAgc3RvcmUgPSBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUgPSB3aW5kb3cudHJh
bnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsKLSAgICByZXEgPSBldmFsQW5kTG9nKCJ3
aW5kb3cucmVxID0gd2luZG93LnN0b3JlLmdldCgxMTEpIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJzZWxmLmRiLnZlcnNpb24iLCAidmVyc2lvbiAyIik7CisgICAgdHJhbnMgPSBldmFs
QW5kTG9nKCJzZWxmLnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3JlMScsICd0ZXN0
LXN0b3JlMiddKSIpOworICAgIHN0b3JlID0gZXZhbEFuZExvZygic2VsZi5zdG9yZSA9IHNlbGYu
dHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsKKyAgICByZXEgPSBldmFsQW5kTG9n
KCJzZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDExMSkiKTsKICAgICByZXEub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkg
ewogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQiLCAi
YWFhIik7CiAKLSAgICAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUgPSB3aW5k
b3cudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykiKTsKLSAgICAgICAgcmVxID0gZXZh
bEFuZExvZygid2luZG93LnJlcSA9IHdpbmRvdy5zdG9yZS5nZXQoMjIyKSIpOworICAgICAgICBz
dG9yZSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0b3JlKCd0
ZXN0LXN0b3JlMicpIik7CisgICAgICAgIHJlcSA9IGV2YWxBbmRMb2coInNlbGYucmVxID0gc2Vs
Zi5zdG9yZS5nZXQoMjIyKSIpOwogICAgICAgICByZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwogICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdCIsICJiYmIi
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlLXVuZGVm
aW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVk
Lmh0bWwKaW5kZXggYmE5NjdhNWE5NjNlMGRhNDc4ZTVlMmE5ODE0MzRkNjlkMThhOWMyNi4uOTYw
ODk3ZDUwNTI2OWI3ZTAzNGI0MDI0YmE4NmY1NWZmNWY1ODg1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLmh0bWwKQEAgLTE1LDcgKzE1
LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAot
ICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9j
YXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9u
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWwKaW5kZXggMTQ4
ZTg4NDY2ZTdiZTJjMWY2ZjI5MGMwNTBlMmQ3YmU5MmJkNGVkNy4uZmRlYTBjNWJmMDJkMDcwZmI4
OGI2NzA4NWJhZjBlZWQyZGY2YTkwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdmFsdWVzLW9kZC10eXBlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlv
biB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdp
bmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFt
ZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC5odG1sCmluZGV4IGI1YjI5ZWRj
ODkxNjcwNTNlZWNmNjZjMmM1ZWZhZjc5Y2FiYWQzMDMuLmY2MzI3MGI3M2ZhM2MyNDY1MThhNTYz
NDc5MzNlODVjMTVhNjBmMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuaHRtbApAQCAtMjYsNyArMjYsNyBAQCBmdW5j
dGlvbiBvcGVuREJDb25uZWN0aW9uKCkKIAogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogewotICAg
IHdpbmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAg
IHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBk
ZWJ1ZygiIik7CiAKICAgICBldmFsQW5kTG9nKCJ2Y3JlcSA9IGRiLnNldFZlcnNpb24oJ3ZlcnNp
b24gMScpIik7CkBAIC03MSw4ICs3MSw4IEBAIGZ1bmN0aW9uIGluU2V0VmVyc2lvbjIoKQogICAg
IGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMicpIik7CiAK
ICAgICAvLyBFbnN1cmUgdGhlIHRlc3QgaGFybmVzcyBlcnJvciBoYW5kbGVyIGlzIG5vdCBpbnZv
a2VkLgotICAgIHdpbmRvdy5vcmlnaW5hbFdpbmRvd09uRXJyb3IgPSB3aW5kb3cub25lcnJvcjsK
LSAgICB3aW5kb3cub25lcnJvciA9IG51bGw7CisgICAgc2VsZi5vcmlnaW5hbFdpbmRvd09uRXJy
b3IgPSBzZWxmLm9uZXJyb3I7CisgICAgc2VsZi5vbmVycm9yID0gbnVsbDsKIAogICAgIGRlYnVn
KCJyYWlzaW5nIGV4Y2VwdGlvbiIpOwogICAgIHRocm93IG5ldyBFcnJvcigiVGhpcyBzaG91bGQg
Kk5PVCogYmUgY2F1Z2h0ISIpOwpAQCAtODQsNyArODQsNyBAQCBmdW5jdGlvbiBzZXRWZXJzaW9u
MkFib3J0KCkKICAgICBkZWJ1Zygic2V0VmVyc2lvbjJBYm9ydCgpIGNhbGxiYWNrIik7CiAKICAg
ICAvLyBSZXN0b3JlIHRlc3QgaGFybmVzcyBlcnJvciBoYW5kbGVyLgotICAgIHdpbmRvdy5vbmVy
cm9yID0gd2luZG93Lm9yaWdpbmFsV2luZG93T25FcnJvcjsKKyAgICBzZWxmLm9uZXJyb3IgPSBz
ZWxmLm9yaWdpbmFsV2luZG93T25FcnJvcjsKIAogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZGIudmVyc2lvbiIsICJ2ZXJzaW9uIDEiKTsKICAgICBzaG91bGRCZVRydWUoImRiLm9iamVjdFN0
b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMScpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLWV4
cGVjdGVkLnR4dAppbmRleCBiMWNlN2QwNTA3MTlhYWU4ODQ5NzQxMGJiYTE3OWJlMDlmZDZjZjk5
Li43MTIwOTlmZDg1MmFkYmRkNGM4ZGM5ZGE5MzgyZDY5NjQxM2NhN2ViIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hh
bmdlLWV4Y2x1c2l2ZS1leHBlY3RlZC50eHQKQEAgLTYsNyArNiw3IEBAIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4
ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0lu
ZGV4ZWREQjsKIFBBU1MgQm9vbGVhbihpbmRleGVkREIgJiYgSURCQ3Vyc29yICYmIElEQkRhdGFi
YXNlICYmIElEQkRhdGFiYXNlRXJyb3IgJiYgSURCRGF0YWJhc2VFeGNlcHRpb24gJiYgSURCRmFj
dG9yeSAmJiBJREJJbmRleCAmJiBJREJLZXlSYW5nZSAmJiBJREJPYmplY3RTdG9yZSAmJiBJREJS
ZXF1ZXN0ICYmIElEQlRyYW5zYWN0aW9uKSBpcyB0cnVlCiAKLXdpbmRvdy5zdGF0ZSA9ICdzdGFy
dGluZycKK3NlbGYuc3RhdGUgPSAnc3RhcnRpbmcnCiBpbmRleGVkREIub3BlbigndmVyc2lvbi1j
aGFuZ2UtZXhjbHVzaXZlJykKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogY2FsbGluZyBzZXRW
ZXJzaW9uKCkgLSBjYWxsYmFjayBzaG91bGQgcnVuIGltbWVkaWF0ZWx5CkBAIC0xNSw3ICsxNSw3
IEBAIGNhbGxpbmcgb3BlbigpIC0gY2FsbGJhY2sgc2hvdWxkIHdhaXQgdW50aWwgVkVSU0lPTl9D
SEFOR0UgdHJhbnNhY3Rpb24gaXMgY29tcGxlCiBpbmRleGVkREIub3BlbigndmVyc2lvbi1jaGFu
Z2UtZXhjbHVzaXZlJykKIHNldFZlcnNpb24oKSBjYWxsYmFjawogc3RhcnRpbmcgd29yayBpbiBW
RVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbgotd2luZG93LnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdF
IHN0YXJ0ZWQnCitzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIHN0YXJ0ZWQnCiBzdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlJykKIHN0b3JlLnB1dCgwLCAwKQogaW4g
cHV0J3Mgb25zdWNjZXNzCkBAIC0zOCw5ICszOCw5IEBAIGluIHB1dCdzIG9uc3VjY2Vzcwogc3Rv
cmUucHV0KDksIDkpCiBpbiBwdXQncyBvbnN1Y2Nlc3MKIGVuZGluZyB3b3JrIGluIFZFUlNJT05f
Q0hBTkdFIHRyYW5zYWN0aW9uCi13aW5kb3cuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0UgZmluaXNo
ZWQnCitzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkJwogb3BlbigpIGNhbGxi
YWNrIC0gdGhpcyBzaG91bGQgYXBwZWFyIGFmdGVyIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9u
IGVuZHMKLVBBU1Mgd2luZG93LnN0YXRlIGlzICJWRVJTSU9OX0NIQU5HRSBmaW5pc2hlZCIKK1BB
U1Mgc2VsZi5zdGF0ZSBpcyAiVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwK
aW5kZXggOGRkYjYyYzJmZWM4ODc0OTExMTYzYjI1OTZlODVkYmMyMDE3ZTVjYS4uMmZjMjVmYmFh
NTBjY2Q3MDU1ZDRiODEzZTA4NmI2NTY4ZTE1YmM4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwK
QEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogZnVuY3Rpb24gb3BlbkRCQ29u
bmVjdGlvbigpCiB7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0gJ3N0YXJ0aW5nJyIp
OworICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7CiAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUn
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CiAgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0yNiw3ICsyNiw3IEBAIGZ1bmN0
aW9uIG9wZW5EQkNvbm5lY3Rpb24oKQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7Ci0gICAg
d2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAg
c2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAg
ZGVidWcoImNhbGxpbmcgc2V0VmVyc2lvbigpIC0gY2FsbGJhY2sgc2hvdWxkIHJ1biBpbW1lZGlh
dGVseSIpOwogICAgIHZhciB2ZXJzaW9uQ2hhbmdlUmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNl
dFZlcnNpb24oJ3ZlcnNpb24gMScpIik7CkBAIC00NSwxMCArNDUsMTAgQEAgZnVuY3Rpb24gaW5T
ZXRWZXJzaW9uKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbigpIGNhbGxiYWNrIik7CiAgICAg
ZGVidWcoInN0YXJ0aW5nIHdvcmsgaW4gVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24iKTsKLSAg
ICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCciKTsK
KyAgICBldmFsQW5kTG9nKCJzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIHN0YXJ0ZWQnIik7
CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCd0ZXN0LXN0b3JlJykiKTsKLSAgICB3aW5kb3cuY291bnQgPSAwOworICAgIHNlbGYu
c3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0
b3JlJykiKTsKKyAgICBzZWxmLmNvdW50ID0gMDsKICAgICBkb19hc3luY19wdXRzKCk7CiAKICAg
ICBmdW5jdGlvbiBkb19hc3luY19wdXRzKCkgewpAQCAtNTYsMTEgKzU2LDExIEBAIGZ1bmN0aW9u
IGluU2V0VmVyc2lvbigpCiAgICAgICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CiAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAg
ICAgZGVidWcoImluIHB1dCdzIG9uc3VjY2VzcyIpOwotICAgICAgICAgICAgaWYgKCsrd2luZG93
LmNvdW50IDwgMTApIHsKKyAgICAgICAgICAgIGlmICgrK3NlbGYuY291bnQgPCAxMCkgewogICAg
ICAgICAgICAgICAgIGRvX2FzeW5jX3B1dHMoKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgZGVidWcoImVuZGluZyB3b3JrIGluIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0
aW9uIik7Ci0gICAgICAgICAgICAgICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0gJ1ZFUlNJ
T05fQ0hBTkdFIGZpbmlzaGVkJyIpOworICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coInNlbGYu
c3RhdGUgPSAnVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQnIik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH07CiAgICAgfQpAQCAtNjksNyArNjksNyBAQCBmdW5jdGlvbiBpblNldFZlcnNpb24oKQog
ZnVuY3Rpb24gb3BlbkFnYWluU3VjY2VzcygpCiB7CiAgICAgZGVidWcoIm9wZW4oKSBjYWxsYmFj
ayAtIHRoaXMgc2hvdWxkIGFwcGVhciBhZnRlciBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBl
bmRzIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RhdGUiLCAiVkVSU0lP
Tl9DSEFOR0UgZmluaXNoZWQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlbGYuc3Rh
dGUiLCAiVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiKTsKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbmNoYW5n
ZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC1leHBlY3Rl
ZC50eHQKaW5kZXggZDQ3MDM4NzQ5ZjkxMzU1Mjc4ODhmYzIxZjkwNmZkYjU4NjRhODViZS4uM2Y0
OGNjZDA1YWI2ZGQ0ZjZlZjA5NGU5MTlmNWIyYTA5OWEyZDk1MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2Jq
ZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJz
aW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC03LDE4ICs3
LDE4IEBAIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERC
IHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYuCiBQQVNTIEJvb2xlYW4oaW5kZXhlZERCICYm
IElEQkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElEQkRhdGFi
YXNlRXhjZXB0aW9uICYmIElEQkZhY3RvcnkgJiYgSURCSW5kZXggJiYgSURCS2V5UmFuZ2UgJiYg
SURCT2JqZWN0U3RvcmUgJiYgSURCUmVxdWVzdCAmJiBJREJUcmFuc2FjdGlvbikgaXMgdHJ1ZQog
CiAKLXdpbmRvdy5kYm5hbWUgPSAndmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0
Jworc2VsZi5kYm5hbWUgPSAndmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0Jwog
CiB0ZXN0RGVsZXRlRGF0YWJhc2UoKToKLWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSh3aW5kb3cu
ZGJuYW1lKQotd2luZG93LmdjKCkKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShzZWxmLmRibmFt
ZSkKK3NlbGYuZ2MoKQogUEFTUyBkZWxldGVEYXRhYmFzZSdzIElEQlZlcnNpb25DaGFuZ2VSZXF1
ZXN0Lm9uc3VjY2VzcyBldmVudCBmaXJlZAogCiB0ZXN0U2V0VmVyc2lvbigpOgotb3BlblJlcXVl
c3QgPSBpbmRleGVkREIub3Blbih3aW5kb3cuZGJuYW1lKQorb3BlblJlcXVlc3QgPSBpbmRleGVk
REIub3BlbihzZWxmLmRibmFtZSkKIGRiID0gb3BlblJlcXVlc3QucmVzdWx0CiBkYi5zZXRWZXJz
aW9uKCcxJykKLXdpbmRvdy5nYygpCitzZWxmLmdjKCkKIFBBU1Mgc2V0VmVyc2lvbidzIElEQlZl
cnNpb25DaGFuZ2VSZXF1ZXN0Lm9uc3VjY2VzcyBldmVudCBmaXJlZAogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVj
dC5odG1sCmluZGV4IGYxYjVjZGQwYWExYjczYzhhNGQ2OGY5NGZkNGI3Y2ZhODhlYzNhOTcuLmQx
MGE2YTdkNTk3MzU0ZmE1N2M1ZDIxN2Y5MDgxODZjZDU2NTU2MWEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9i
amVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFu
Z2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9u
IHRlc3QoKSB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAogICAgIGRlYnVnKCIiKTsK
LSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFj
dGl2ZWRvbW9iamVjdCciKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd2ZXJzaW9u
Y2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QnIik7CiAKICAgICB0ZXN0RGVsZXRlRGF0YWJh
c2UoKTsKIH0KQEAgLTI1LDEzICsyNSwxMyBAQCBmdW5jdGlvbiB0ZXN0RGVsZXRlRGF0YWJhc2Uo
KQogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygidGVzdERlbGV0ZURhdGFiYXNlKCk6Iik7CiAg
ICAgLy8gTk9URTogZGVsZXRlUmVxdWVzdCBpcyBsb2NhbCB2YXJpYWJsZSBzbyBpdCBpcyBub3Qg
Y2FwdHVyZWQgaW4gZ2xvYmFsIHNjb3BlLgotICAgIHZhciBkZWxldGVSZXF1ZXN0ID0gZXZhbEFu
ZExvZygiaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKHdpbmRvdy5kYm5hbWUpIik7CisgICAgdmFy
IGRlbGV0ZVJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIuZGVsZXRlRGF0YWJhc2Uoc2Vs
Zi5kYm5hbWUpIik7CiAgICAgZGVsZXRlUmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7CiAgICAgZGVsZXRlUmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tl
ZENhbGxiYWNrOwogICAgIGRlbGV0ZVJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IGRl
bGV0ZVN1Y2Nlc3MoKTsgfTsKICAgICBkZWxldGVSZXF1ZXN0ID0gbnVsbDsKLSAgICBpZiAod2lu
ZG93LmdjKSB7Ci0gICAgICAgIGV2YWxBbmRMb2coIndpbmRvdy5nYygpIik7CisgICAgaWYgKHNl
bGYuZ2MpIHsKKyAgICAgICAgZXZhbEFuZExvZygic2VsZi5nYygpIik7CiAgICAgfQogfQogCkBA
IC00Nyw3ICs0Nyw3IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uKCkKICAgICBkZWJ1ZygidGVz
dFNldFZlcnNpb24oKToiKTsKIAogICAgIC8vIE5PVEU6IFRoaXMgaXMganVzdCBhbiBJREJSZXF1
ZXN0LCBpdCBjYW4gYmUgZ2xvYmFsLgotICAgIGV2YWxBbmRMb2coIm9wZW5SZXF1ZXN0ID0gaW5k
ZXhlZERCLm9wZW4od2luZG93LmRibmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJvcGVuUmVxdWVz
dCA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKSIpOwogICAgIG9wZW5SZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICBvcGVuUmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGV2YWxBbmRMb2coImRiID0gb3BlblJlcXVlc3QucmVz
dWx0Iik7CkBAIC01OCw4ICs1OCw4IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uKCkKICAgICAg
ICAgdmVyc2lvblJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsK
ICAgICAgICAgdmVyc2lvblJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZlcnNpb25T
dWNjZXNzKCk7IH07CiAgICAgICAgIHZlcnNpb25SZXF1ZXN0ID0gbnVsbDsKLSAgICAgICAgaWYg
KHdpbmRvdy5nYykgewotICAgICAgICAgICAgZXZhbEFuZExvZygid2luZG93LmdjKCkiKTsKKyAg
ICAgICAgaWYgKHNlbGYuZ2MpIHsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coInNlbGYuZ2MoKSIp
OwogICAgICAgICB9CiAgICAgfTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131732</attachid>
            <date>2012-03-13 15:41:30 -0700</date>
            <delta_ts>2012-03-13 15:47:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81043-20120313154127.patch</filename>
            <type>text/plain</type>
            <size>170175</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDg2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDQ1ZmRkOTc1ODdhMmRiYjk5ZDVl
NmZkYzQ2Y2VlODc4OTM4YzEzNC4uOTBlNzdkMzAwNGRkYmRhMDYxNzYxZTM5ZmEzYmMzOGZmMmU1
M2ZkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEyOSBAQAogMjAxMi0wMy0xMyAgRGF2aWQgR3JvZ2FuICA8
ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgSW5kZXhlZERCIFRlc3RzOiB1c2Ugc2Vs
ZiBpbnN0ZWFkIG9mIHdpbmRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODEwNDMKKworICAgICAgICAnd2luZG93JyBpcyBtZWFuaW5nbGVzcyBpbiBh
IHdvcmtlcjsgdGhlc2UgdGVzdHMgd2lsbCBzb29uIGJlIHJ1biBmcm9tCisgICAgICAgIGEgd29y
a2VyIGNvbnRleHQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1l
LWFyZ3VtZW50LXJlcXVpcmVkLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Jl
YXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWNvbnRpbnVlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWRlbGV0ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNv
bnNpc3RlbmN5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluZGV4
LWRlbGV0ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3Jk
ZXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJpbWFyeS1rZXkt
b3JkZXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxl
dGVkLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS12YWx1
ZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1
cnNvci11cGRhdGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1
cHRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1iYXNpY3Mu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2Vk
LWRhdGFiYXNlLW9iamVjdC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0
ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxsLW5hbWUuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQuaHRtbDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50
ZXJhY3Rpb25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxl
dGVkYXRhYmFzZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWNvdW50
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY3Vyc29yLmh0bWw6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtZ2V0LWtleS1hcmd1bWVudC1yZXF1aXJl
ZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRpb24uaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0b3IuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9rZXktc29ydC1vcmRlci1hY3Jvc3MtdHlwZXMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXR5cGUtaW5maW5pdHkuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9r
ZXlwYXRoLWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgt
ZmV0Y2gta2V5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQt
dHdpY2UtZmFpbHVyZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
YXV0b2luY3JlbWVudC1pbmRleGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9iYWQta2V5cGF0aC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY2xlYXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2Ny
ZWF0ZS1pbmRleC11bmlxdWUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2NyZWF0ZS1pbmRleC13aXRoLWludGVnZXIta2V5cy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLWJhc2ljcy5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwt
bmFtZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11
dGF0aW9uLW9iamVjdHN0b3JlLW9ubHkuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9kZWxldGUtcmVzdWx0Lmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9pbmRleGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLWRlbGV0ZS1udWxsLWtleS5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5k
LXBhc3NlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy1wdXQtbm8ta2V5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy5odG1sOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLWlubGluZS1hdXRvaW5j
cmVtZW50LWtleS1hZGRlZC1vbi1wdXQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3RzdG9yZW5hbWVzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9wdXQtZ2V0LXZhbHVlcy5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rp
b25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkeVN0YXRl
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1vdmUtaW5kZXgu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1vYmplY3Rz
dG9yZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNo
YW5nZS1hYm9ydC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVy
c2lvbmNoYW5nZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1
cnNvci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdFN0b3JlLXJlcXVp
cmVkLWFyZ3VtZW50cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWF1dG9pbmNyZW1lbnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1jbGVhci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWNvdW50Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
Y3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVt
b3Zlb2JqZWN0c3RvcmUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNs
b3NlLXZlcnNpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY2xvc2UtdmVyc2lvbi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4t
Y3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVnZml4
LTEwODA3MS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5k
cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFn
YXRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLW51bGwu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5lZC5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3Jl
LWNhbGxzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFz
aWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZS11bmRlZmluZWQuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRv
bW9iamVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0Lmh0bWw6CisKKzIwMTItMDMtMTMgIERhdmlk
IEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIEluZGV4ZWREQiBsYXlv
dXQgdGVzdHM6IGZhY3RvciBvdXQgcHJlZml4LWhhbmRsaW5nLWNvZGUKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNjY0CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9y
ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUt
b2JqZWN0LXN0b3JlLmh0bWwKaW5kZXggNTU0MDM5ZThkZDNjZDNkN2NiZjViZTlkNTljNTZmNGVm
NjY5YWQ4Ny4uYmYxZThlYTQ4ZTQ2ZDkwMjU1Y2Q0NWQzM2JiNWZkMjAzNDg3N2VmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2Jq
ZWN0LXN0b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRl
LWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24g
dGVzdCgpCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7CiAgICAgZGVidWcoIm9wZW5TdWNjZXNz
KCk6Iik7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dCIpOwogICAgIHRlc3RDcmVhdGVBbmRSZW1vdmUoKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygicmVzdWx0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsKICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1lLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1lLWFy
Z3VtZW50LXJlcXVpcmVkLmh0bWwKaW5kZXggYzJjNGYyOTcxNGNjZWY2ZGY2ZjZjMGZiYmE3YjQw
NTRhOTBkODkzZi4uNDgwOTBjMjliNTA3OGM5OGRkNWEyNjU5OWM2YzllZGYzZWIxYzAxZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0U3RvcmUt
bmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2NyZWF0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbApAQCAt
MTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhl
cygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0g
c2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFi
YXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVz
Y3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZU9iamVjdFN0b3JlLW51
bGwtbmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0
U3RvcmUtbnVsbC1uYW1lLmh0bWwKaW5kZXggMjYwNTQ0ZWFmYTc5ZjdjZTNjOWU0ZmNhYmE3MTlj
MDRlYjQxMDU2My4uYmViMTg2ZjM5M2FkMGE2ZWRjODEzZmVmNmM3MWVlNGFkM2E3MDZkOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0U3RvcmUt
bnVsbC1uYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRl
T2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cu
bG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAg
ICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9jdXJzb3ItY29udGludWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1jb250aW51ZS5odG1sCmluZGV4IGNkYWZhZjcyM2Y1YTg5OGU5NTJlNGFi
MGNkMTMxNDYwYTY1MGU0ODQuLjQ5N2UxZTE2OWRlNDEzZGRhYjIyMDRlMzBhYmYxM2Y3NTIwNDRm
NzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1jb250
aW51ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1jb250
aW51ZS5odG1sCkBAIC0xMyw3ICsxMyw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidz
IElEQkN1cnNvci5jb250aW51ZSgpIHdpdGggYSBrZXkgcGFyYW1ldGVyLiIpOwogdmFyIGRhdGUg
PSBuZXcgRGF0ZSgpOwogCiAvLyBJbiBvcmRlciBvZiBob3cgaXQgc2hvdWxkIGJlIHNvcnRlZCBi
eSBJbmRleGVkREIuCi13aW5kb3cudGVzdERhdGEgPSBbCitzZWxmLnRlc3REYXRhID0gWwogICAg
IDAsCiAgICAgMSwKICAgICAxLApAQCAtNDksNyArNDksNyBAQCBmdW5jdGlvbiBvcGVuRGF0YWJh
c2UoKQogIAogZnVuY3Rpb24gc2V0VmVyc2lvbigpCiB7Ci0gICAgd2luZG93LmRiID0gZXZhbEFu
ZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRM
b2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgcmVzdWx0ID0gZXZhbEFuZExv
ZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlc3VsdC5vbnN1Y2Nlc3Mg
PSBkZWxldGVFeGlzdGluZzsKQEAgLTU4LDIyICs1OCwyMiBAQCBmdW5jdGlvbiBzZXRWZXJzaW9u
KCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9IGV2
YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMg
PSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRC
ZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRB
Ym9ydENhbGxiYWNrOwogCiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKIAotICAgIHdp
bmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzb21l
T2JqZWN0U3RvcmUnKSIpOwotICAgIHdpbmRvdy5pbmRleE9iamVjdCA9IGV2YWxBbmRMb2coIm9i
amVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7Ci0gICAgd2luZG93Lm5l
eHRUb0FkZCA9IDA7CisgICAgc2VsZi5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhPYmplY3Qg
PSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnc29tZUluZGV4JywgJ3gnKSIp
OworICAgIHNlbGYubmV4dFRvQWRkID0gMDsKICAgICBhZGREYXRhKCk7CiB9CiAKIGZ1bmN0aW9u
IGFkZERhdGEoKQogewogICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFkZCh7
J3gnOiB0ZXN0RGF0YVtuZXh0VG9BZGRdfSwgbmV4dFRvQWRkKSIpOwotICAgIHJlc3VsdC5vbnN1
Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5ndGggPyBhZGREYXRhIDog
YXNjZW5kaW5nVGVzdDsKKyAgICByZXN1bHQub25zdWNjZXNzID0gKytzZWxmLm5leHRUb0FkZCA8
IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBhc2NlbmRpbmdUZXN0OwogICAgIHJlc3VsdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKQEAgLTgzLDUzICs4Myw1MyBA
QCBmdW5jdGlvbiBhc2NlbmRpbmdUZXN0KCkKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLk5FWFQpIik7CiAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBhc2NlbmRpbmdDYWxsYmFjazsKICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOworICAg
IHNlbGYuc3RhZ2UgPSAwOwogfQogCiBmdW5jdGlvbiBhc2NlbmRpbmdDYWxsYmFjaygpCiAKIHsK
LSAgICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICBpZiAoc2VsZi5zdGFnZSA9PSAwKSB7
CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMCIp
OwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKDMuMTQx
NTkpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgIH0gZWxzZSBp
ZiAoc2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVz
dWx0LnByaW1hcnlLZXkiLCAiMyIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQu
cmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAyKSB7
CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDIpIHsKICAgICAgICAgc2hvdWxkQmUoImV2
ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICI0Iik7CiAgICAgICAgIGV2YWxBbmRMb2co
ImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93
LnN0YWdlID09IDMpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMykgewogICAgICAg
ICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjUiKTsKICAgICAg
ICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgxMikiKTsKLSAgICB9
IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA0KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdl
ID09IDQpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtl
eSIsICI3Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGlu
dWUoZGF0ZSkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA1KSB7CisgICAgfSBl
bHNlIGlmIChzZWxmLnN0YWdlID09IDUpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdl
dC5yZXN1bHQucHJpbWFyeUtleSIsICI5Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRh
cmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09
IDYpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNikgewogICAgICAgICBzaG91bGRC
ZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjEwIik7CiAgICAgICAgIGV2YWxB
bmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAo
d2luZG93LnN0YWdlID09IDcpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNykgewog
ICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjExIik7
CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoJ0EgYml0
MScpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gOCkgeworICAgIH0gZWxzZSBp
ZiAoc2VsZi5zdGFnZSA9PSA4KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVz
dWx0LnByaW1hcnlLZXkiLCAiMTQiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0
LnJlc3VsdC5jb250aW51ZSgnQSBiaXQzJykiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFn
ZSA9PSA5KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDkpIHsKICAgICAgICAgc2hv
dWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNiIpOwogICAgICAgICBl
dmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCd0aGUgQklHR0VTVCBzdHJp
bmcnKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDEwKSB7CisgICAgfSBlbHNl
IGlmIChzZWxmLnN0YWdlID09IDEwKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQu
cmVzdWx0LnByaW1hcnlLZXkiLCAiMTciKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFy
Z2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0g
MTEpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMTEpIHsKICAgICAgICAgc2hvdWxk
QmVOdWxsKCJldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgICAgIGRlc2NlbmRpbmdUZXN0KCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9IGVsc2UgewogICAgICAgICB0ZXN0RmFpbGVkKCJJbGxl
Z2FsIHN0YWdlLiIpOwogICAgIH0KLSAgICB3aW5kb3cuc3RhZ2UrKzsKKyAgICBzZWxmLnN0YWdl
Kys7CiB9CiAKIGZ1bmN0aW9uIGRlc2NlbmRpbmdUZXN0KCkKQEAgLTEzOCw1NiArMTM4LDU2IEBA
IGZ1bmN0aW9uIGRlc2NlbmRpbmdUZXN0KCkKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpIik7CiAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZXNjZW5kaW5nQ2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAg
ICBzZWxmLnN0YWdlID0gMDsKIH0KIAogZnVuY3Rpb24gZGVzY2VuZGluZ0NhbGxiYWNrKCkKIHsK
LSAgICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICBpZiAoc2VsZi5zdGFnZSA9PSAwKSB7
CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMTci
KTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBi
aXQyJykiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgfSBlbHNl
IGlmIChzZWxmLnN0YWdlID09IDEpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5y
ZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJn
ZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAy
KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDIpIHsKICAgICAgICAgc2hvdWxkQmUo
ImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNCIpOwogICAgICAgICBldmFsQW5k
TG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKGRhdGUpIik7Ci0gICAgfSBlbHNlIGlm
ICh3aW5kb3cuc3RhZ2UgPT0gMykgeworICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAzKSB7
CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMTAi
KTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7
Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gNCkgeworICAgIH0gZWxzZSBpZiAoc2Vs
Zi5zdGFnZSA9PSA0KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnBy
aW1hcnlLZXkiLCAiOSIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0
LmNvbnRpbnVlKDEpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gNSkgeworICAg
IH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA1KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50
YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMiIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVu
dC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFn
ZSA9PSA2KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDYpIHsKICAgICAgICAgc2hv
dWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxIik7CiAgICAgICAgIGV2
YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBp
ZiAod2luZG93LnN0YWdlID09IDcpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNykg
ewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjAi
KTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7
Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gOCkgeworICAgIH0gZWxzZSBpZiAoc2Vs
Zi5zdGFnZSA9PSA4KSB7CiAgICAgICAgIHNob3VsZEJlTnVsbCgiZXZlbnQudGFyZ2V0LnJlc3Vs
dCIpOwogICAgICAgICBhc2NlbmRpbmdFcnJvclRlc3RMZXNzVGhhbigpOwogICAgICAgICByZXR1
cm47CiAgICAgfSBlbHNlIHsKICAgICAgICAgdGVzdEZhaWxlZCgiSWxsZWdhbCBzdGFnZS4iKTsK
ICAgICB9Ci0gICAgd2luZG93LnN0YWdlKys7CisgICAgc2VsZi5zdGFnZSsrOwogfQogCiBmdW5j
dGlvbiBhc2NlbmRpbmdFcnJvclRlc3RMZXNzVGhhbigpCiB7CiAgICAgZGVidWcoIiIpOwogICAg
IHZhciByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcihudWxs
LCBJREJDdXJzb3IuTkVYVCkiKTsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOworICAgIHNlbGYuc3Rh
Z2UgPSAwOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
c3RhZ2UgPT09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT09IDApIHsKICAgICAgICAg
ICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMCIpOwogICAg
ICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgzLjE0MTU5
KSIpOwotICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgICAgIH0g
ZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgICAgICBzaG91bGRCZSgiZXZlbnQu
dGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjMiKTsKICAgICAgICAgICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoMSkiLCAiSURCRGF0YWJh
c2VFeGNlcHRpb24uREFUQV9FUlIiKTsKICAgICAgICAgICAgIGFzY2VuZGluZ0Vycm9yVGVzdEVx
dWFsKCk7CkBAIC0xOTUsNyArMTk1LDcgQEAgZnVuY3Rpb24gYXNjZW5kaW5nRXJyb3JUZXN0TGVz
c1RoYW4oKQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0ZXN0RmFpbGVkKCJJbGxlZ2Fs
IHN0YWdlLiIpOwogICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5zdGFnZSsrOworICAgICAgICBz
ZWxmLnN0YWdlKys7CiAgICAgfTsKIH0KIApAQCAtMjAzLDEzICsyMDMsMTMgQEAgZnVuY3Rpb24g
YXNjZW5kaW5nRXJyb3JUZXN0RXF1YWwoKQogewogICAgIGRlYnVnKCIiKTsKICAgICB2YXIgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vy
c29yLk5FWFQpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAgICBzZWxmLnN0YWdlID0gMDsK
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnN0YWdlID09
PSAwKSB7CisgICAgICAgIGlmIChzZWxmLnN0YWdlID09PSAwKSB7CiAgICAgICAgICAgICBzaG91
bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjAiKTsKICAgICAgICAgICAg
IGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoMy4xNDE1OSkiKTsKLSAg
ICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgICAgICB9IGVsc2UgaWYg
KHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5y
ZXN1bHQucHJpbWFyeUtleSIsICIzIik7CiAgICAgICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKDMuMTQxNTkpIiwgIklEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSIik7CiAgICAgICAgICAgICBkZXNjZW5kaW5nRXJyb3JUZXN0R3Jl
YXRlclRoYW4oKTsKQEAgLTIxNyw3ICsyMTcsNyBAQCBmdW5jdGlvbiBhc2NlbmRpbmdFcnJvclRl
c3RFcXVhbCgpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlc3RGYWlsZWQoIklsbGVn
YWwgc3RhZ2UuIik7CiAgICAgICAgIH0KLSAgICAgICAgd2luZG93LnN0YWdlKys7CisgICAgICAg
IHNlbGYuc3RhZ2UrKzsKICAgICB9OwogfQogCkBAIC0yMjUsMTMgKzIyNSwxMyBAQCBmdW5jdGlv
biBkZXNjZW5kaW5nRXJyb3JUZXN0R3JlYXRlclRoYW4oKQogewogICAgIGRlYnVnKCIiKTsKICAg
ICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVs
bCwgSURCQ3Vyc29yLlBSRVYpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAgICBzZWxmLnN0
YWdlID0gMDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LnN0YWdlID09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT0gMCkgewogICAgICAgICAg
ICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNyIpOwogICAg
ICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQy
JykiKTsKLSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgICAgICB9
IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50
LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICAgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQzJykiLCAi
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKICAgICAgICAgICAgIGRlc2NlbmRpbmdF
cnJvclRlc3RFcXVhbCgpOwpAQCAtMjM5LDcgKzIzOSw3IEBAIGZ1bmN0aW9uIGRlc2NlbmRpbmdF
cnJvclRlc3RHcmVhdGVyVGhhbigpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlc3RG
YWlsZWQoIklsbGVnYWwgc3RhZ2UuIik7CiAgICAgICAgIH0KLSAgICAgICAgd2luZG93LnN0YWdl
Kys7CisgICAgICAgIHNlbGYuc3RhZ2UrKzsKICAgICB9OwogfQogCkBAIC0yNDcsMjIgKzI0Nywy
MiBAQCBmdW5jdGlvbiBkZXNjZW5kaW5nRXJyb3JUZXN0RXF1YWwoKQogewogICAgIGRlYnVnKCIi
KTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJz
b3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAgICBz
ZWxmLnN0YWdlID0gMDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnN0YWdlID09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT0gMCkgewogICAg
ICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNyIp
OwogICAgICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgn
QSBiaXQyJykiKTsKLSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAg
ICAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxkQmUo
ImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICAgICAgZXZh
bEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgICAgICAgICAgZXZh
bEFuZEV4cGVjdEV4Y2VwdGlvbigiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQy
JykiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKLSAgICAgICAgICAgIHdpbmRv
dy50cmFucy5vbmNvbXBsZXRlID0gb25UcmFuc2FjdGlvbkNvbXBsZXRlOworICAgICAgICAgICAg
c2VsZi50cmFucy5vbmNvbXBsZXRlID0gb25UcmFuc2FjdGlvbkNvbXBsZXRlOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0ZXN0RmFpbGVkKCJJbGxl
Z2FsIHN0YWdlLiIpOwogICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5zdGFnZSsrOworICAgICAg
ICBzZWxmLnN0YWdlKys7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvY3Vyc29yLWRlbGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLWRlbGV0ZS5odG1sCmluZGV4IDZhNTMxYTYxZTBlZTlhYzc4YTA4ZTky
YzllODI0OGQxNmIyNmU4NzMuLjVhYWY0MDYyOTIxNWZhOWZmM2MwM2IyNzE2NGNjMGZlYjIxMTRi
NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1kZWxl
dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItZGVsZXRl
Lmh0bWwKQEAgLTMyLDcgKzMyLDcgQEAgZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24g
c2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIp
OwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJh
bnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxl
dGUgPSBvcGVuQ3Vyc29yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWluY29uc2lzdGVuY3kuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwKaW5kZXggNmUwN2IxY2JmNGIwZWM4NDVjMGYx
MjQxMDZhOWQwN2FlOWU5YjBmNi4uNDFjNGFiNjEyMGQ4NTU3MjQ3YzJjYTBjYjVkNjhiYjA3YTEz
NzQ0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWlu
Y29uc2lzdGVuY3kuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJz
b3ItaW5jb25zaXN0ZW5jeS5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNj
ZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVy
c2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJh
bnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0g
bnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAg
ICB0cmFucy5vbmNvbXBsZXRlID0gb3BlbkJhc2ljQ3Vyc29yOwpAQCAtNTUsNyArNTUsNyBAQCBm
dW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogICAgIHRyYW5zLm9uY29tcGxldGUgPSB0cmFuc2Fj
dGlvbkNvbXBsZXRlOwogCiAgICAga2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5sb3dlckJvdW5kKCJz
b21lS2V5MSIpOwotICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coInRyYW5zLm9i
amVjdFN0b3JlKCdiYXNpY1N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFu
ZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ2Jhc2ljU3RvcmUnKSIpOwogICAgIHJlcXVlc3QgPSBl
dmFsQW5kTG9nKCJvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKGtleVJhbmdlKSIpOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gY2hlY2tDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItaW5kZXgtZGVsZXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItaW5kZXgtZGVsZXRlLmh0bWwKaW5kZXggYTc1OGM3ODM4NjdkOTIxNjViMmMy
OWMxMmVmODI4Y2RmYTRlOGUwOS4uYjQ2NTIzMTIzODIxNmM1YTA2OGE4NDI0ZmIxM2NhZmJhNGEz
MjA4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWlu
ZGV4LWRlbGV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1pbmRleC1kZWxldGUuaHRtbApAQCAtMzIsNyArMzIsNyBAQCBmdW5jdGlvbiBvcGVuU3VjY2Vz
cygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVidWcoInNldFZlcnNp
b25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5z
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51
bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAg
dHJhbnMub25jb21wbGV0ZSA9IG9wZW5DdXJzb3I7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKaW5kZXggZTAxNGRiYmU0YjdkNDg2
NmIwM2Y0OWM2NTAyNWVhYjU3M2UyYzU1NC4uZmE2YjQ1MmNiOTM0NDc3NDk1ZmYwNzRhNjhlODZh
ZGY0ZjQwYTU2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWtleS1vcmRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1
cnNvci1rZXktb3JkZXIuaHRtbApAQCAtMzMsNyArMzMsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0
YWJhc2UoKQogICAgIH07CiB9CiAKLXdpbmRvdy5rZXlzID0gWworc2VsZi5rZXlzID0gWwogICAg
ICItSW5maW5pdHkiLAogICAgICItTnVtYmVyLk1BWF9WQUxVRSIsCiAgICAgIi0xIiwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcmltYXJ5LWtleS1v
cmRlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1hcnkt
a2V5LW9yZGVyLmh0bWwKaW5kZXggMzVkYTAwMDg2Yzc0ZmExNTA0MWI4ZTY3ZTAxYzJjZmJjOTU5
NzFkYy4uYmQ3MTM4NDNhMDYyODJkM2NkNTMxNTIyOWU3YjUzZTJlZTU4OTMwYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1hcnkta2V5LW9yZGVy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1hcnkt
a2V5LW9yZGVyLmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNl
KCkKICAgICB9OwogfQogCi13aW5kb3cua2V5cyA9IFsKK3NlbGYua2V5cyA9IFsKICAgICAiLUlu
ZmluaXR5IiwKICAgICAiLTIiLAogICAgICItMSIsCkBAIC02Nyw3ICs2Nyw3IEBAIGZ1bmN0aW9u
IHBvcHVsYXRlU3RvcmUoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxs
YmFjazsKICAgICB2YXIgY291bnQgPSAwOwogICAgIHZhciBpbmRleEtleSA9IDA7Ci0gICAgdmFy
IGtleXMgPSB3aW5kb3cua2V5cy5zbGljZSgpOworICAgIHZhciBrZXlzID0gc2VsZi5rZXlzLnNs
aWNlKCk7CiAgICAga2V5cy5yZXZlcnNlKCk7CiAgICAga2V5cy5mb3JFYWNoKGZ1bmN0aW9uKGtl
eSkgewogICAgICAgICB2YXIgdmFsdWUgPSB7IGluZGV4S2V5OiBpbmRleEtleSwgY291bnQ6IGNv
dW50KysgfTsKQEAgLTkzLDcgKzkzLDcgQEAgZnVuY3Rpb24gY2hlY2tTdG9yZSgpCiAgICAgICAg
IGlmIChjdXJzb3JSZXF1ZXN0LnJlc3VsdCkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vy
c29yID0gY3Vyc29yUmVxdWVzdC5yZXN1bHQiKTsKICAgICAgICAgICAgIHNob3VsZEJlKCJjdXJz
b3Iua2V5IiwgU3RyaW5nKGluZGV4S2V5KSk7Ci0gICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29y
LnByaW1hcnlLZXkiLCB3aW5kb3cua2V5c1tjb3VudCsrXSk7CisgICAgICAgICAgICBzaG91bGRC
ZSgiY3Vyc29yLnByaW1hcnlLZXkiLCBzZWxmLmtleXNbY291bnQrK10pOwogICAgICAgICAgICAg
Y3Vyc29yLmNvbnRpbnVlKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBzaG91bGRC
ZVRydWUoImNvdW50ID09PSBrZXlzLmxlbmd0aCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sCmluZGV4IGVhZWRiMmQy
ZmMzNGMyNjM0Njg5ZTJlMmZmYWFlNTgyZjg1OGQ5YWUuLmQzYWU5YTJhZTA0NzNhMTJhMjhlZjMw
MDE4ZmQyOTA2ZTNlYTgwMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVkLmh0bWwKQEAgLTM3LDcgKzM3LDcgQEAgZnVuY3Rp
b24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRl
YnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUo
InRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENh
bGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBiYXNpY0N1cnNvclRlc3Q7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLXZhbHVlLWFy
Z3VtZW50LXJlcXVpcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJz
b3ItdXBkYXRlLXZhbHVlLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKaW5kZXggNzJjNjdhMjNiNjBh
NjMzMGRlNmE2OGY5MTM5YTZiYjVmNjllOWJiYS4uZGFkMzMwZjRhMGUwMjYxZjAyMzI0M2I4YWUz
MGViNzBhMjZlNWMwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLXVwZGF0ZS12YWx1ZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtdmFsdWUtYXJndW1lbnQtcmVxdWly
ZWQuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsK
KyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJN
eSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3Vj
Y2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11
cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUu
aHRtbAppbmRleCAyY2NhMjhlZmU0ZjY4YmM2MGVlNWVkN2ZiYjU1ZGM4ZmNiOTA2M2Q4Li4xNzRj
OTcwMjk5MDc2NmM1OWVjYjNjZmU5N2I5ZWRmOTI5ZmQzODRlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sCkBAIC0zMiw3ICszMiw3IEBA
IGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsK
ICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxk
QmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVk
QWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gb3BlbkJhc2ljQ3Vyc29yOwpA
QCAtNjcsNyArNjcsNyBAQCBmdW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogICAgIHRyYW5zLm9u
Y29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlOwogCiAgICAga2V5UmFuZ2UgPSBJREJLZXlS
YW5nZS5sb3dlckJvdW5kKCJteUtleTEiKTsKLSAgICB3aW5kb3cub2JqZWN0U3RvcmUgPSBldmFs
QW5kTG9nKCJ0cmFucy5vYmplY3RTdG9yZSgnYmFzaWNTdG9yZScpIik7CisgICAgc2VsZi5vYmpl
Y3RTdG9yZSA9IGV2YWxBbmRMb2coInRyYW5zLm9iamVjdFN0b3JlKCdiYXNpY1N0b3JlJykiKTsK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUub3BlbkN1cnNvcihrZXlSYW5n
ZSkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGJhc2ljVXBkYXRlQ3Vyc29yOwogICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbAppbmRleCBjZDA1NmEy
YWZhYmE0ODc4MTAzNGVkYTBhNmY4ODVmMWJmNjBjNzYxLi41YWIzOWMzNGNjYzI3NjllODEzNmY2
MjU4YjBhYjBlOTVlOTk1MWM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToi
KTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24n
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMSw3
ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNj
ZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cu
dHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBz
ZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAg
ICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gYWRkRGF0YTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLWJhc2lj
cy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0
bWwKaW5kZXggZDAyOTE0ODc4OWI0NGUyNWNiN2YwZmZhMDFjNDlmNTI0ZTk3ODA2OC4uNzIzMzBj
MTFjMzkwMjZlYzQ4MThlZjA1YWU5Nzg0ODQ0M2U3NDY5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5k
b3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxm
LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMSw3ICszMSw3IEBAIGZ1
bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAg
ICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0g
ZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVU
cnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJv
cnRDYWxsYmFjazsKIApAQCAtNzYsNyArNzYsNyBAQCBmdW5jdGlvbiBjaGVja09iamVjdFN0b3Jl
KCkKIAogZnVuY3Rpb24gY29tbWl0QW5kQ29udGludWUoKQogewotICAgIHdpbmRvdy5zZXRUaW1l
b3V0KHRlc3RTZXRWZXJzaW9uQWJvcnQsIDApOworICAgIHNlbGYuc2V0VGltZW91dCh0ZXN0U2V0
VmVyc2lvbkFib3J0LCAwKTsKIH0KIAogZnVuY3Rpb24gdGVzdFNldFZlcnNpb25BYm9ydCgpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbApp
bmRleCBmMWVhZTFhYTg5ODMxNDZmNWNjMDM3NjFjOWJjMmMxNTMzNjViYzg3Li41OWM3ZGU1ODM5
YzY0ZmE3YjBhZDY5MTUyYmJlMzQyNTdiOWFlOTMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5kb3cuZGIg
PSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0g
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0aW9u
IG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1
Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9n
KCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0
cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxs
YmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gY2hlY2tRdW90YUVuZm9yY2luZzsKQEAgLTYy
LDEyICs2MiwxMiBAQCBmdW5jdGlvbiBjaGVja1F1b3RhRW5mb3JjaW5nKCkKICAgICB0cmFucy5v
bmFib3J0ID0gdGVzdENvbXBsZXRlOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVk
Q29tcGxldGVDYWxsYmFjazsKICAgICBkZWJ1ZygiQ3JlYXRpbmcgJ2RhdGEnIHdoaWNoIGNvbnRh
aW5zIDY0SyBvZiBkYXRhIik7Ci0gICAgd2luZG93LmRhdGEgPSAiWCI7CisgICAgc2VsZi5kYXRh
ID0gIlgiOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykKICAgICAgICAgZGF0YSAr
PSBkYXRhOwogICAgIHNob3VsZEJlKCJkYXRhLmxlbmd0aCIsICI2NTUzNiIpOwotICAgIHdpbmRv
dy5kYXRhQWRkZWQgPSAwOwotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0g
dHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3QxMjMnKSIpOworICAgIHNlbGYuZGF0YUFkZGVkID0gMDsK
KyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgn
dGVzdDEyMycpIik7CiAgICAgYWRkRGF0YSgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFi
YXNlLW9iamVjdC1leHBlY3RlZC50eHQKaW5kZXggMzcxNDcyZmQ4NjhhOTBhNTI5MTgzYTYyY2M3
ZGFlNGNlODJkODUwOC4uN2UyYzliODg4MjQwMDY1NzIwMzQwMzg1OWRiMjgyZTc3Y2U0YWIxNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlLWNsb3NlZC1k
YXRhYmFzZS1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtNiw3
ICs2LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhl
ZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYu
bXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogUEFTUyBCb29sZWFuKGluZGV4ZWREQiAm
JiBJREJDdXJzb3IgJiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJvciAmJiBJREJEYXRh
YmFzZUV4Y2VwdGlvbiAmJiBJREJGYWN0b3J5ICYmIElEQkluZGV4ICYmIElEQktleVJhbmdlICYm
IElEQk9iamVjdFN0b3JlICYmIElEQlJlcXVlc3QgJiYgSURCVHJhbnNhY3Rpb24pIGlzIHRydWUK
IAotd2luZG93LnN0YXRlID0gJ3N0YXJ0aW5nJworc2VsZi5zdGF0ZSA9ICdzdGFydGluZycKIGlu
ZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdCcpCiBkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQKIGluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9i
amVjdCcpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUt
Y2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvZGVsZXRlLWNsb3NlZC1kYXRhYmFzZS1vYmplY3QuaHRtbAppbmRleCA4ZmU4NThmODUwYTZj
YmQ5YjdmMmNhYzU4ZjJkNGZkOTAwNThhNTAxLi5mNzM2YjMwMmQ2ZmMzMjdjODJjZjVlYjBhNTcx
NDJhNzNmMDJlM2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9k
ZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0Lmh0bWwKQEAgLTE4LDcg
KzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigp
CiB7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0gJ3N0YXJ0aW5nJyIpOworICAgIGV2
YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdCcpIik7
CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTI2LDcgKzI2LDcgQEAgZnVuY3Rpb24g
b3BlbkRCQ29ubmVjdGlvbigpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5k
b3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxm
LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICAvLyBP
cGVuIGEgc2Vjb25kIGNvbm5lY3Rpb24gdG8gdGhlIHNhbWUgZGF0YWJhc2UuCiAgICAgdmFyIHJl
cXVlc3QyID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ2RlbGV0ZS1jbG9zZWQtZGF0YWJh
c2Utb2JqZWN0JykiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2RlbGV0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVx
dWlyZWQuaHRtbAppbmRleCBmNmM1YzZhM2ViZWUzOGIxN2JjMmYxNzY3ZTllZTlmNDZjOTM0ZjA5
Li4zZjliY2E3ODQ2NWJlMGNmZmNjZTc2NTU5YTdhMGQ4OTU5ZTNiOTQ3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1uYW1lLWFyZ3Vt
ZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVs
ZXRlT2JqZWN0U3RvcmUtbmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBAIC0xNSw3ICsxNSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAg
ICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0
aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxs
LW5hbWUuaHRtbAppbmRleCA0NjUxY2YxNTdhZWIzY2YzY2Q4ZDI4ZDY3YWQwOTY2NjZkYWMwNWNl
Li43ZWNmOWRlNjY2ZmQ2OTdhMmM1Yzg1NTAyMDYwOTI4ZmJjYzcwZTA0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxsLW5hbWUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9y
ZS1udWxsLW5hbWUuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAg
ICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5w
YXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlw
dGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5k
ZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2R1cGxpY2F0ZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0
ZXMuaHRtbAppbmRleCAzMjhmOGYyYTA4M2VjYzUzNTVlNDZjZWI5ZTE5M2E1MzdkZWU1ZTcwLi44
YzU3MjQ4ZTdlOGU2ZWNhOTM5NGFlZDIxOWEyMzJkNDM1MDBmYzNiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCkBAIC0zMywxNCArMzMsMTQgQEAg
ZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAg
ZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2
YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1
ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0
Q2FsbGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93
LnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51
bGwpIik7Ci0gICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRl
SW5kZXgoJ2luZGV4TmFtZScsICd4JykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygi
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7CisgICAgc2VsZi5pbmRl
eE9iamVjdCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcp
Iik7CiAgICAgYWRkRGF0YSgpOwogfQogCkBAIC05Nyw3ICs5Nyw3IEBAIGZ1bmN0aW9uIG9wZW5L
ZXlDdXJzb3IoKQogewogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0IiwgInVuZGVm
aW5lZCIpOwogCi0gICAgd2luZG93LnJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5v
cGVuS2V5Q3Vyc29yKCkiKTsKKyAgICBzZWxmLnJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleE9i
amVjdC5vcGVuS2V5Q3Vyc29yKCkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1cnNvcjFD
b250aW51ZTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
IH0KQEAgLTExMCw3ICsxMTAsNyBAQCBmdW5jdGlvbiBjdXJzb3IxQ29udGludWUoKQogCiAgICAg
Ly8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlcXVlc3Qgb2JqZWN0LgogICAgIGV2YWxBbmRMb2coImV2
ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIHdpbmRvdy5yZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IGN1cnNvcjFDb250aW51ZTI7CisgICAgc2VsZi5yZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1
cnNvcjFDb250aW51ZTI7CiB9CiAKIGZ1bmN0aW9uIGN1cnNvcjFDb250aW51ZTIoKQpAQCAtMTIx
LDE0ICsxMjEsMTQgQEAgZnVuY3Rpb24gY3Vyc29yMUNvbnRpbnVlMigpCiAKICAgICAvLyBXZSBy
ZS11c2UgdGhlIGxhc3QgcmVxdWVzdCBvYmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFy
Z2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgd2luZG93LnJlcXVlc3Qub25zdWNjZXNzID0g
b3Blbk9iamVjdEN1cnNvcjsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNzID0gb3Blbk9iamVj
dEN1cnNvcjsKIH0KIAogZnVuY3Rpb24gb3Blbk9iamVjdEN1cnNvcigpCiB7CiAgICAgc2hvdWxk
QmVUcnVlKCJldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxsIik7CiAKLSAgICB3aW5kb3cucmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOworICAgIHNlbGYu
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlOwogICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQpAQCAtMTQyLDcgKzE0Miw3IEBAIGZ1bmN0aW9u
IGN1cnNvcjJDb250aW51ZSgpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3QgcmVxdWVzdCBv
YmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7
Ci0gICAgd2luZG93LnJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlMjsKKyAgICBz
ZWxmLnJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlMjsKIH0KIAogZnVuY3Rpb24g
Y3Vyc29yMkNvbnRpbnVlMigpCkBAIC0xNTQsNyArMTU0LDcgQEAgZnVuY3Rpb24gY3Vyc29yMkNv
bnRpbnVlMigpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3QgcmVxdWVzdCBvYmplY3QuCiAg
ICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgd2lu
ZG93LnJlcXVlc3Qub25zdWNjZXNzID0gbGFzdDsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNz
ID0gbGFzdDsKIH0KIAogZnVuY3Rpb24gbGFzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQu
aHRtbAppbmRleCBjNmJjNjI3OWVkMGM5ZDY2MDgyODE5MzJkNjIzYTQ5YTkyMGMyYjk1Li45NmQz
NDc3NDdjNTM1NjY3NGM0MmVkZjhmNWE4MjFmNGQ0NTYzMTdhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1i
eS1kZWZhdWx0Lmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBm
dW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNz
KCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAg
ICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgZXZhbEFuZExv
ZygidHJhbnMub25jb21wbGV0ZSA9IGFkZERhdGEiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbApp
bmRleCA4YTIxN2EzN2U2NzA1YWZlMmE3ZWE5MmIwNWE4MGU4MjQ3YTE5MjZmLi40NzU2NzkzMmJk
ZTI5ZjhhODQ1MDMxMDBhNGZmMDBmYTUzYjI0YTgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5odG1s
CkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRl
RXhpc3RpbmcoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdp
bmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwor
ICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9y
dCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29t
cGxldGUgPSBzdGFydFRlc3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dAppbmRleCBlMzgyZjVkODVmNjkxMjU2Y2U1
OTJhOTg2MjhkYjI2OTZhNmM3YmQzLi42ODZlNWFjYWVjM2E1OWVhMTdkMGMxYWI5MWUxYWZmMWY1
MDAwMmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5
LWNtcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1jbXAtZXhwZWN0ZWQudHh0CkBAIC0zNTEsMTAgKzM1MSwxMCBAQCBQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBp
bmRleGVkREIuY21wKCd2YWxpZCcsIC9yZWdleC8pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgvcmVnZXgvLCB3aW5kb3cpCitFeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgvcmVnZXgvLCBzZWxmKQogUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VS
UgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LCAvcmVnZXgv
KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZiwgL3JlZ2V4LykK
IFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNl
cHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKC9y
ZWdleC8sICd2YWxpZCcpCkBAIC0zNjMsNDYgKzM2Myw0NiBAQCBQQVNTIGNvZGUgaXMgSURCRGF0
YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVk
REIuY21wKCd2YWxpZCcsIC9yZWdleC8pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFT
UyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gaW5kZXhlZERCLmNtcCh3aW5kb3csICd2YWxpZCcpCitFeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLCAndmFsaWQnKQogUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywgd2luZG93KQorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywgc2VsZikKIFBBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdywg
d2luZG93LmRvY3VtZW50KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAo
c2VsZiwgc2VsZi5kb2N1bWVudCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdy5kb2N1bWVudCwgd2luZG93KQorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwgc2VsZikKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdywgJ3Zh
bGlkJykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYsICd2YWxp
ZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNt
cCgndmFsaWQnLCB3aW5kb3cpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNt
cCgndmFsaWQnLCBzZWxmKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBp
cyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LCAndmFsaWQnKQorRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwgJ3ZhbGlkJykKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIHdp
bmRvdy5kb2N1bWVudCkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2
YWxpZCcsIHNlbGYuZG9jdW1lbnQpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBj
b2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9u
IGZyb20gaW5kZXhlZERCLmNtcCh3aW5kb3cuZG9jdW1lbnQsIHdpbmRvdy5kb2N1bWVudC5ib2R5
KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwg
c2VsZi5kb2N1bWVudC5ib2R5KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LmJvZHksIHdpbmRvdy5kb2N1bWVudCkK
K0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYuZG9jdW1lbnQuYm9k
eSwgc2VsZi5kb2N1bWVudCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUg
aXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBpbmRleGVkREIuY21wKHdpbmRvdy5kb2N1bWVudCwgJ3ZhbGlkJykKK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYuZG9jdW1lbnQsICd2YWxpZCcpCiBQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgndmFsaWQnLCB3
aW5kb3cuZG9jdW1lbnQpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgn
dmFsaWQnLCBzZWxmLmRvY3VtZW50KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1Mg
Y29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LmJvZHksICd2YWxpZCcpCitFeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLmRvY3VtZW50LmJvZHksICd2
YWxpZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERC
LmNtcCgndmFsaWQnLCB3aW5kb3cuZG9jdW1lbnQuYm9keSkKK0V4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIHNlbGYuZG9jdW1lbnQuYm9keSkKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9y
eS1jbXAuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0
bWwKaW5kZXggZjlmYmVmNjFlNDM2YTJmOTExNzZmOTQyNzdlNTQ0NmRiMTA2OTgxMi4uY2Q0YTQ3
ZmUwMGRhMjNjZmFjZGE3YmRkNDRmMGZmNWM1OWY1M2M3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCkBAIC0xMTcsOSArMTE3LDkgQEAgZnVu
Y3Rpb24gdGVzdEludmFsaWRLZXlzKCkKICAgICAgICAgInt9IiwKICAgICAgICAgImZ1bmN0aW9u
ICgpIHt9IiwKICAgICAgICAgIi9yZWdleC8iLAotICAgICAgICAid2luZG93IiwKLSAgICAgICAg
IndpbmRvdy5kb2N1bWVudCIsCi0gICAgICAgICJ3aW5kb3cuZG9jdW1lbnQuYm9keSIKKyAgICAg
ICAgInNlbGYiLAorICAgICAgICAic2VsZi5kb2N1bWVudCIsCisgICAgICAgICJzZWxmLmRvY3Vt
ZW50LmJvZHkiCiAgICAgXTsKIAogICAgIHZhciBpLCBrZXkxLCBrZXkyOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRl
cmFjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0CmluZGV4IGM5YTVh
ZGMwMTE0NTE3MmE1YTU2NjM4OTU4YmJmMjcyMmUwZDM5NTAuLjM4NGU0MTAzZDI5NjA5YWJiZWUy
OTkzYmIxZDk1NTFiMDQ3NmE5MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNl
LWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTgsNyArOCw3IEBAIFBBU1MgQm9vbGVhbihp
bmRleGVkREIgJiYgSURCQ3Vyc29yICYmIElEQkRhdGFiYXNlICYmIElEQkRhdGFiYXNlRXJyb3Ig
JiYgSURCRGF0CiAKIAogVEVTVDogZGVsZXRlRGF0YWJhc2UgYmxvY2tlZCBvbiBvcGVuIGhhbmRs
ZXMKLXdpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBz
ID0gW10KK3NlbGYuZGJuYW1lID0gJ3Rlc3QxJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0g
W10KICdoLm9wZW4nCiAnaC5vcGVuLm9uc3VjY2VzcycKICdkZWxldGVEYXRhYmFzZSgpJwpAQCAt
MTcsMTAgKzE3LDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsg
d2luZG93LnN0ZXBzID0gW10KICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKICdoLmNsb3Nl
JwogJ2RlbGV0ZURhdGFiYXNlKCkub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJp
bmcoKSBpcyAiaC5vcGVuLGgub3Blbi5vbnN1Y2Nlc3MsZGVsZXRlRGF0YWJhc2UoKSxoLm9udmVy
c2lvbmNoYW5nZSxkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxoLmNsb3NlLGRlbGV0ZURhdGFi
YXNlKCkub25zdWNjZXNzIgorUEFTUyBzZWxmLnN0ZXBzLnRvU3RyaW5nKCkgaXMgImgub3Blbixo
Lm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZlcnNpb25jaGFuZ2UsZGVsZXRl
RGF0YWJhc2UoKS5vbmJsb2NrZWQsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2VzcyIK
IAogVEVTVDogZGVsZXRlRGF0YWJhc2Ugbm90IGJsb2NrZWQgd2hlbiBoYW5kbGVzIGNsb3NlIGlt
bWVkaWF0ZWx5Ci13aW5kb3cuZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRv
dy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2VsZi5z
dGVwcyA9IFtdCiAnaC5vcGVuJwogJ2gub3Blbi5vbnN1Y2Nlc3MnCiAnZGVsZXRlRGF0YWJhc2Uo
KScKQEAgLTMwLDEwICszMCwxMCBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZl
ciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQnCiAn
ZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MnCiBOT1RFOiBXaWxsIEZBSUwgd2l0aCBleHRyYSBi
b2d1cyBkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAKLUZBSUwgd2luZG93LnN0ZXBzLnRvU3RyaW5nKCkg
c2hvdWxkIGJlIGgub3BlbixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZl
cnNpb25jaGFuZ2UsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2Vzcy4gV2FzIGgub3Bl
bixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZlcnNpb25jaGFuZ2UsaC5j
bG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2Vz
cy4KK0ZBSUwgc2VsZi5zdGVwcy50b1N0cmluZygpIHNob3VsZCBiZSBoLm9wZW4saC5vcGVuLm9u
c3VjY2VzcyxkZWxldGVEYXRhYmFzZSgpLGgub252ZXJzaW9uY2hhbmdlLGguY2xvc2UsZGVsZXRl
RGF0YWJhc2UoKS5vbnN1Y2Nlc3MuIFdhcyBoLm9wZW4saC5vcGVuLm9uc3VjY2VzcyxkZWxldGVE
YXRhYmFzZSgpLGgub252ZXJzaW9uY2hhbmdlLGguY2xvc2UsZGVsZXRlRGF0YWJhc2UoKS5vbmJs
b2NrZWQsZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MuCiAKIFRFU1Q6IGRlbGV0ZURhdGFiYXNl
IGlzIGRlbGF5ZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nCi13
aW5kb3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtd
CitzZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAn
aC5vcGVuJwogJ2gub3Blbi5vbnN1Y2Nlc3MnCiAnaC5zZXRWZXJzaW9uJwpAQCAtNDUsNyArNDUs
NyBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVw
cyA9IFtdCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQnCiAnaC5jbG9zZScKICdkZWxldGVE
YXRhYmFzZSgpLm9uc3VjY2VzcycKLVBBU1Mgd2luZG93LnN0ZXBzLnRvU3RyaW5nKCkgaXMgImgu
b3BlbixoLm9wZW4ub25zdWNjZXNzLGguc2V0VmVyc2lvbixkZWxldGVEYXRhYmFzZSgpLGguc2V0
VmVyc2lvbi5vbnN1Y2Nlc3MsaC5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgub252
ZXJzaW9uY2hhbmdlLGRlbGV0ZURhdGFiYXNlKCkub25ibG9ja2VkLGguY2xvc2UsZGVsZXRlRGF0
YWJhc2UoKS5vbnN1Y2Nlc3MiCitQQVNTIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaC5vcGVu
LGgub3Blbi5vbnN1Y2Nlc3MsaC5zZXRWZXJzaW9uLGRlbGV0ZURhdGFiYXNlKCksaC5zZXRWZXJz
aW9uLm9uc3VjY2VzcyxoLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaC5vbnZlcnNp
b25jaGFuZ2UsZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQsaC5jbG9zZSxkZWxldGVEYXRhYmFz
ZSgpLm9uc3VjY2VzcyIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBD
T01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9y
eS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLmh0bWwKaW5kZXgg
MWMyMWFlZmJjOGMwZTc0ZDJlYTM2MzU0NmJhMzg2MmM4NmEzMWM3ZC4uMzNmZDcyZTdhYWMzYWMx
Mzc2YWMyMDgyY2M3ZTFhZDM4OTM2OWI5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWlu
dGVyYWN0aW9ucy5odG1sCkBAIC0xMiw0NCArMTIsNDQgQEAgZGVzY3JpcHRpb24oIlRlc3QgdGhl
IGRlbGV0ZURhdGFiYXNlIGNhbGwgYW5kIGl0cyBpbnRlcmFjdGlvbiB3aXRoIG9wZW4vc2V0VmVy
c2kKIAogZnVuY3Rpb24gQ29ubmVjdGlvbihpZCkgewogICAgIGlkID0gU3RyaW5nKGlkKTsKLSAg
ICB2YXIgc2VsZiA9IHRoaXM7CisgICAgdmFyIHRoYXQgPSB0aGlzOwogICAgIHRoaXMub3BlbiA9
IGZ1bmN0aW9uKG9wdHMpIHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygi
JyIgKyBpZCArICIub3BlbiciKSk7Ci0gICAgICAgIHZhciByZXEgPSBpbmRleGVkREIub3Blbih3
aW5kb3cuZGJuYW1lKTsKKyAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsg
aWQgKyAiLm9wZW4nIikpOworICAgICAgICB2YXIgcmVxID0gaW5kZXhlZERCLm9wZW4oc2VsZi5k
Ym5hbWUpOwogICAgICAgICByZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
ICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHNlbGYu
aGFuZGxlID0gZS50YXJnZXQucmVzdWx0OwotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJyIgKyBpZCArICIub3Blbi5vbnN1Y2Nlc3MnIikpOwotICAgICAgICAgICAg
c2VsZi5oYW5kbGUub252ZXJzaW9uY2hhbmdlID0gZnVuY3Rpb24oZSkgewotICAgICAgICAgICAg
ICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9udmVyc2lvbmNo
YW5nZSciKSk7Ci0gICAgICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnZlcnNpb24pIHsg
b3B0cy5vbnZlcnNpb24uY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgdGhhdC5oYW5kbGUgPSBl
LnRhcmdldC5yZXN1bHQ7CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygi
JyIgKyBpZCArICIub3Blbi5vbnN1Y2Nlc3MnIikpOworICAgICAgICAgICAgdGhhdC5oYW5kbGUu
b252ZXJzaW9uY2hhbmdlID0gZnVuY3Rpb24oZSkgeworICAgICAgICAgICAgICAgIHNlbGYuc3Rl
cHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vbnZlcnNpb25jaGFuZ2UnIikpOworICAg
ICAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub252ZXJzaW9uKSB7IG9wdHMub252ZXJzaW9u
LmNhbGwodGhhdCk7IH0KICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBv
cHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vzcy5jYWxsKHNlbGYpOyB9CisgICAgICAgICAg
ICBpZiAob3B0cyAmJiBvcHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vzcy5jYWxsKHRoYXQp
OyB9CiAgICAgICAgIH07CiAgICAgfTsKIAogICAgIHRoaXMuY2xvc2UgPSBmdW5jdGlvbigpIHsK
LSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuY2xvc2Un
IikpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuY2xv
c2UnIikpOwogICAgICAgICB0aGlzLmhhbmRsZS5jbG9zZSgpOwogICAgIH07CiAKICAgICB0aGlz
LnNldFZlcnNpb24gPSBmdW5jdGlvbihvcHRzKSB7Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5wdXNo
KGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24nIikpOwotICAgICAgICB2YXIgcmVx
ID0gdGhpcy5oYW5kbGUuc2V0VmVyc2lvbihTdHJpbmcod2luZG93LnZlcisrKSk7CisgICAgICAg
IHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uJyIpKTsK
KyAgICAgICAgdmFyIHJlcSA9IHRoaXMuaGFuZGxlLnNldFZlcnNpb24oU3RyaW5nKHNlbGYudmVy
KyspKTsKICAgICAgICAgcmVxLm9uYWJvcnQgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAg
d2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmFi
b3J0JyIpKTsKLSAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25hYm9ydCkgeyBvcHRzLm9u
YWJvcnQuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRM
b2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25hYm9ydCciKSk7CisgICAgICAgICAgICBpZiAo
b3B0cyAmJiBvcHRzLm9uYWJvcnQpIHsgb3B0cy5vbmFib3J0LmNhbGwodGhhdCk7IH0KICAgICAg
ICAgfTsKICAgICAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAg
ICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9u
YmxvY2tlZCciKSk7Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uYmxvY2tlZCkgeyBv
cHRzLm9uYmxvY2tlZC5jYWxsKHNlbGYpOyB9CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmJsb2NrZWQnIikpOworICAgICAg
ICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmJsb2NrZWQpIHsgb3B0cy5vbmJsb2NrZWQuY2FsbCh0
aGF0KTsgfQogICAgICAgICB9OwogICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUp
IHsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAi
LnNldFZlcnNpb24ub25zdWNjZXNzJyIpKTsKLSAgICAgICAgICAgIGlmIChzZWxmLmhhbmRsZS5v
YmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpKSB7Ci0g
ICAgICAgICAgICAgICAgc2VsZi5oYW5kbGUuZGVsZXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUi
ICsgd2luZG93LnZlcik7CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygi
JyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MnIikpOworICAgICAgICAgICAgaWYgKHRo
YXQuaGFuZGxlLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInRlc3Qtc3RvcmUiICsgc2VsZi52
ZXIpKSB7CisgICAgICAgICAgICAgICAgdGhhdC5oYW5kbGUuZGVsZXRlT2JqZWN0U3RvcmUoInRl
c3Qtc3RvcmUiICsgc2VsZi52ZXIpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgdmFyIHN0
b3JlID0gc2VsZi5oYW5kbGUuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUiICsgd2luZG93
LnZlcik7CisgICAgICAgICAgICB2YXIgc3RvcmUgPSB0aGF0LmhhbmRsZS5jcmVhdGVPYmplY3RT
dG9yZSgidGVzdC1zdG9yZSIgKyBzZWxmLnZlcik7CiAgICAgICAgICAgICB2YXIgY291bnQgPSAw
OwogICAgICAgICAgICAgZG9fYXN5bmNfcHV0cygpOyAvLyBLZWVwIHRoaXMgdHJhbnNhY3Rpb24g
cnVubmluZyBmb3IgYSB3aGlsZQogICAgICAgICAgICAgZnVuY3Rpb24gZG9fYXN5bmNfcHV0cygp
IHsKQEAgLTU5LDMyICs1OSwzMiBAQCBmdW5jdGlvbiBDb25uZWN0aW9uKGlkKSB7CiAgICAgICAg
ICAgICAgICAgICAgIGlmICgrK2NvdW50IDwgMTApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
IGRvX2FzeW5jX3B1dHMoKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAi
LnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUnIikpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0cy5vbnN1Y2Nlc3MuY2FsbChz
ZWxmKTsgfQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRM
b2coIiciICsgaWQgKyAiLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUnIikpOworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0cy5v
bnN1Y2Nlc3MuY2FsbCh0aGF0KTsgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfTsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICAgICAgICAgcmVxLm9uZXJyb3Ig
PSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmVycm9yJyIpKTsKLSAgICAgICAgICAgIGlmIChv
cHRzICYmIG9wdHMub25lcnJvcikgeyBvcHRzLm9uZXJyb3IuY2FsbChzZWxmKTsgfQorICAgICAg
ICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24u
b25lcnJvciciKSk7CisgICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uZXJyb3IpIHsgb3B0
cy5vbmVycm9yLmNhbGwodGhhdCk7IH0KICAgICAgICAgfTsKICAgICB9OwogfQogCiBmdW5jdGlv
biBkZWxldGVEYXRhYmFzZShpZCwgbmFtZSwgb3B0cykgewotICAgIHdpbmRvdy5zdGVwcy5wdXNo
KGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAiKSciKSk7CisgICAgc2VsZi5z
dGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAiKSciKSk7CiAg
ICAgdmFyIHJlcSA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShuYW1lKTsKICAgICByZXEub25z
dWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFu
ZExvZygiJ2RlbGV0ZURhdGFiYXNlKCIgKyBpZCArICIpLm9uc3VjY2VzcyciKSk7CisgICAgICAg
IHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVsZXRlRGF0YWJhc2UoIiArIGlkICsgIiku
b25zdWNjZXNzJyIpKTsKICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0
cy5vbnN1Y2Nlc3MuY2FsbChudWxsKTsgfQogICAgIH07CiAgICAgcmVxLm9uZXJyb3IgPSBmdW5j
dGlvbiAoZSkgewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVsZXRl
RGF0YWJhc2UoIiArIGlkICsgIikub25lcnJvciciKSk7CisgICAgICAgIHNlbGYuc3RlcHMucHVz
aChldmFsQW5kTG9nKCInZGVsZXRlRGF0YWJhc2UoIiArIGlkICsgIikub25lcnJvciciKSk7CiAg
ICAgICAgIGlmIChvcHRzICYmIG9wdHMub25lcnJvcikgeyBvcHRzLm9uZXJyb3IuY2FsbChudWxs
KTsgfQogICAgIH07CiAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAg
IHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAi
KS5vbmJsb2NrZWQnIikpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJ2Rl
bGV0ZURhdGFiYXNlKCIgKyBpZCArICIpLm9uYmxvY2tlZCciKSk7CiAgICAgICAgIGlmIChvcHRz
ICYmIG9wdHMub25ibG9ja2VkKSB7IG9wdHMub25ibG9ja2VkLmNhbGwobnVsbCk7IH0KICAgICB9
OwogfQpAQCAtMTA1LDE4ICsxMDUsMTggQEAgZnVuY3Rpb24gdGVzdCgpIHsKIGZ1bmN0aW9uIHRl
c3QxKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVEVTVDogZGVsZXRlRGF0YWJhc2Ug
YmxvY2tlZCBvbiBvcGVuIGhhbmRsZXMiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1l
ID0gJ3Rlc3QxJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7CisgICAgZXZh
bEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDEnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMg
PSBbXSIpOwogICAgIHZhciBoID0gbmV3IENvbm5lY3Rpb24oImgiKTsKICAgICBydW5TdGVwcyhb
ZnVuY3Rpb24oZG9OZXh0KSB7IGgub3Blbih7b25zdWNjZXNzOiBkb05leHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9udmVyc2lvbjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiICAgIGggY2xvc2luZywgYnV0IG5vdCBp
bW1lZGlhdGVseSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsgaC5jbG9zZSgpOyB9LCAwKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfX0pOyB9LAotICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgZGVsZXRlRGF0
YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsIHsKKyAgICAgICAgZnVuY3Rpb24oZG9OZXh0KSB7IGRl
bGV0ZURhdGFiYXNlKCIiLCBzZWxmLmRibmFtZSwgewogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb25zdWNjZXNzOiBmaW5pc2hUZXN0fSk7IH0sCiAgICAgICAgIF0pOwogICAgIGZ1bmN0aW9u
IGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LnN0
ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlbGYuc3Rl
cHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImgub3BlbiIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgub3Blbi5vbnN1Y2Nlc3MiLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWxldGVEYXRhYmFzZSgpIiwKQEAgLTEzMiwx
OSArMTMyLDE5IEBAIGZ1bmN0aW9uIHRlc3QxKCkgewogZnVuY3Rpb24gdGVzdDIoKSB7CiAgICAg
ZGVidWcoIiIpOwogICAgIGRlYnVnKCJURVNUOiBkZWxldGVEYXRhYmFzZSBub3QgYmxvY2tlZCB3
aGVuIGhhbmRsZXMgY2xvc2UgaW1tZWRpYXRlbHkiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cu
ZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7Cisg
ICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDInOyBzZWxmLnZlciA9IDE7IHNlbGYu
c3RlcHMgPSBbXSIpOwogICAgIHZhciBoID0gbmV3IENvbm5lY3Rpb24oImgiKTsKICAgICBydW5T
dGVwcyhbZnVuY3Rpb24oZG9OZXh0KSB7IGgub3Blbih7b25zdWNjZXNzOiBkb05leHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbnZlcnNpb246IGZ1bmN0aW9u
KCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVn
KCIgICAgaCBjbG9zaW5nIGltbWVkaWF0ZWx5Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaC5jbG9zZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfX0pOyB9LAotICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgZGVs
ZXRlRGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsIHsKKyAgICAgICAgZnVuY3Rpb24oZG9OZXh0
KSB7IGRlbGV0ZURhdGFiYXNlKCIiLCBzZWxmLmRibmFtZSwgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb25zdWNjZXNzOiBmaW5pc2hUZXN0fSk7IH0sCiAgICAgICAgIF0pOwogICAgIGZ1
bmN0aW9uIGZpbmlzaFRlc3QoKSB7CiAgICAgICAgIGRlYnVnKCJOT1RFOiBXaWxsIEZBSUwgd2l0
aCBleHRyYSBib2d1cyBkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAiKTsKLSAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFsiaC5vcGVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
aC5vcGVuLm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlbGV0
ZURhdGFiYXNlKCkiLApAQCAtMTU5LDcgKzE1OSw3IEBAIGZ1bmN0aW9uIHRlc3QyKCkgewogZnVu
Y3Rpb24gdGVzdDMoKSB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJURVNUOiBkZWxldGVE
YXRhYmFzZSBpcyBkZWxheWVkIGlmIGEgVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24gaXMgcnVu
bmluZyIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cu
dmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFt
ZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgg
PSBuZXcgQ29ubmVjdGlvbigiaCIpOwogICAgIHJ1blN0ZXBzKFtmdW5jdGlvbihkb05leHQpIHsg
aC5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb252ZXJzaW9uOiBmdW5jdGlvbigpIHsKQEAgLTE2NywxMiArMTY3LDEyIEBAIGZ1bmN0aW9u
IHRlc3QzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsgaC5jbG9zZSgpOyB9LCAwKTsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfX0pOyB9LAogICAgICAgICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgaC5zZXRW
ZXJzaW9uKCk7IGRvTmV4dCgpOyB9LAotICAgICAgICAgICAgICBmdW5jdGlvbihkb05leHQpIHsg
ZGVsZXRlRGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsCisgICAgICAgICAgICAgIGZ1bmN0aW9u
KGRvTmV4dCkgeyBkZWxldGVEYXRhYmFzZSgiIiwgc2VsZi5kYm5hbWUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHtvbnN1Y2Nlc3M6IGZpbmlzaFRlc3R9KTsgfSwKICAgICAgICAg
ICAgICAgXSk7CiAKICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5zdGVwcy50b1N0cmluZygpIiwKKyAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0ZXBzLnRvU3RyaW5nKCkiLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgWyJoLm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJoLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaC5z
ZXRWZXJzaW9uIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Zh
Y3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbAppbmRleCA0N2I2YTllMzUzMjliNjg1Yzg3ZmM5
OWVmZDkxNjMwYjM4YTU0OWM0Li5mMmFmNGVmZmZlMGNiNzgyMzlmZGU1YjYyMWRlNTFhMTRmNGVm
MDE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRl
bGV0ZWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1kZWxldGVkYXRhYmFzZS5odG1sCkBAIC0yOSwxMiArMjksMTIgQEAgZnVuY3Rpb24gc3Rh
cnRTZXRWZXJzaW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRv
dy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAg
IHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
ICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAKICAgICBzdG9yZSA9IGV2YWxB
bmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7
CiAKLSAgICB3aW5kb3cuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5k
ZXhOYW1lJywgJycpIik7CisgICAgc2VsZi5pbmRleCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0
ZUluZGV4KCdpbmRleE5hbWUnLCAnJykiKTsKICAgICBzaG91bGRCZVRydWUoInN0b3JlLmluZGV4
TmFtZXMuY29udGFpbnMoJ2luZGV4TmFtZScpIik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
Zygic3RvcmUuYWRkKCd2YWx1ZScsICdrZXknKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY291bnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2luZGV4LWNvdW50Lmh0bWwKaW5kZXggOTM4YjczOTg4MDU0ZmNiNDNhOTZkZjU5
NDQ0NjczYzAxMmMwMDNiZi4uMzIxMWVjNmE5YTQzNTJlYzJlMDc0ZjE5Y2VlZTRlYTRhZWYwNmIz
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY291bnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jb3VudC5odG1s
CkBAIC0yNywxNCArMjcsMTQgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKIHsKICAgICBk
ZWJ1ZygiIik7CiAgICAgZGVidWcoInByZXBhcmluZyBkYXRhYmFzZSIpOwotICAgIHdpbmRvdy50
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNl
bGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAg
ICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAKICAgICBkZWxldGVBbGxPYmplY3RT
dG9yZXMoZGIpOwogCiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOwogCi0gICAgd2luZG93LmluZGV4ID0gZXZh
bEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICcnKSIpOworICAgIHNlbGYu
aW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpIik7
CiAgICAgc2hvdWxkQmVUcnVlKCJzdG9yZS5pbmRleE5hbWVzLmNvbnRhaW5zKCdpbmRleE5hbWUn
KSIpOwogCiAgICAgZGVidWcoImFkZGluZyAwIC4uLiA5OSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jdXJzb3IuaHRtbAppbmRleCBmMWQwMzZlM2Q5MGNjYTFh
ZDgxNzQ5MjA1Njg1YmEwMGQ4ZWQ4MjdhLi4zZjIwN2ZmOGQxMTJkMmUwMzkyMTYwZDMyM2ZkNzRj
ZTIxODIyYjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1j
dXJzb3IuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERC
J3Mgd2Via2l0SURCSW5kZXgub3BlbkN1cnNvciArIHRoZSBjdXJzb3IgaXQgcHJvZHVjZXMgaW4g
ZGVwdGguIik7CiAgCiAvLyBJbiBvcmRlciBvZiBob3cgaXQgc2hvdWxkIGJlIHNvcnRlZCBieSBJ
bmRleGVkREIuCi13aW5kb3cudGVzdERhdGEgPSBbCitzZWxmLnRlc3REYXRhID0gWwogICAgIDEs
CiAgICAgMSwKICAgICAzLjE0MTU5LApAQCAtMzIsNyArMzIsNyBAQCBmdW5jdGlvbiBvcGVuRGF0
YWJhc2UoKQogIAogZnVuY3Rpb24gc2V0VmVyc2lvbigpCiB7Ci0gICAgd2luZG93LmRiID0gZXZh
bEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxB
bmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgcmVzdWx0ID0gZXZhbEFu
ZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlc3VsdC5vbnN1Y2Nl
c3MgPSBkZWxldGVFeGlzdGluZzsKQEAgLTQxLDI5ICs0MSwyOSBAQCBmdW5jdGlvbiBzZXRWZXJz
aW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91
bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0
ZWRBYm9ydENhbGxiYWNrOwogCiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKIAotICAg
IHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdz
b21lT2JqZWN0U3RvcmUnKSIpOwotICAgIHdpbmRvdy5pbmRleE9iamVjdCA9IGV2YWxBbmRMb2co
Im9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7Ci0gICAgd2luZG93
Lm5leHRUb0FkZCA9IDA7CisgICAgc2VsZi5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhPYmpl
Y3QgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnc29tZUluZGV4JywgJ3gn
KSIpOworICAgIHNlbGYubmV4dFRvQWRkID0gMDsKICAgICBhZGREYXRhKCk7CiB9CiAKIGZ1bmN0
aW9uIGFkZERhdGEoKQogewogICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFk
ZCh7J3gnOiB0ZXN0RGF0YVtuZXh0VG9BZGRdfSwgbmV4dFRvQWRkKSIpOwotICAgIHJlc3VsdC5v
bnN1Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5ndGggPyBhZGREYXRh
IDogc2NoZWR1bGVUZXN0czsKKyAgICByZXN1bHQub25zdWNjZXNzID0gKytzZWxmLm5leHRUb0Fk
ZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVsZVRlc3RzOwogICAgIHJlc3Vs
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKIGZ1bmN0aW9uIHNjaGVk
dWxlVGVzdHMoKQogewogICAgIGRlYnVnKCJTY2hlZHVsaW5nIHRlc3RzLi4uIik7Ci0gICAgd2lu
ZG93LnNjaGVkdWxlZFRlc3RzID0gW107CisgICAgc2VsZi5zY2hlZHVsZWRUZXN0cyA9IFtdOwog
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdERhdGEubGVuZ3RoOyArK2kpIHsKICAgICAgICAg
LyogbGVmdCBib3VuZCwgaXMgb3BlbiwgcmlnaHQgYm91bmQsIGlzIG9wZW4sIGFzY2VuZGluZyAq
LwogICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCB0cnVlLCBudWxsLCBudWxsLCB0
cnVlXSk7CkBAIC05OCwxMSArOTgsMTEgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogICAgIH0K
ICAKICAgICB2YXIgdGVzdCA9IHNjaGVkdWxlZFRlc3RzLnBvcCgpOwotICAgIHdpbmRvdy5sb3dl
ciA9IHRlc3RbMF07Ci0gICAgd2luZG93Lmxvd2VySXNPcGVuID0gdGVzdFsxXTsKLSAgICB3aW5k
b3cudXBwZXIgPSB0ZXN0WzJdOwotICAgIHdpbmRvdy51cHBlcklzT3BlbiA9IHRlc3RbM107Ci0g
ICAgd2luZG93LmFzY2VuZGluZyA9IHRlc3RbNF07CisgICAgc2VsZi5sb3dlciA9IHRlc3RbMF07
CisgICAgc2VsZi5sb3dlcklzT3BlbiA9IHRlc3RbMV07CisgICAgc2VsZi51cHBlciA9IHRlc3Rb
Ml07CisgICAgc2VsZi51cHBlcklzT3BlbiA9IHRlc3RbM107CisgICAgc2VsZi5hc2NlbmRpbmcg
PSB0ZXN0WzRdOwogCiAgICAgc3RyID0gIk5leHQgdGVzdDogIjsKICAgICBpZiAobG93ZXIgIT09
IG51bGwpIHsKQEAgLTEyOSwzOCArMTI5LDM4IEBAIGZ1bmN0aW9uIHJ1bk5leHRUZXN0KCkKICAg
ICBpZiAodXBwZXIgIT09IG51bGwpIHsKICAgICAgICAgaWYgKHVwcGVySXNPcGVuKSB7CiAgICAg
ICAgICAgICB3aGlsZSAodXBwZXIgPiAwICYmIHRlc3REYXRhW3VwcGVyXSA9PT0gdGVzdERhdGFb
dXBwZXIgLSAxXSkKLSAgICAgICAgICAgICAgICAtLXdpbmRvdy51cHBlcjsKKyAgICAgICAgICAg
ICAgICAtLXNlbGYudXBwZXI7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB3aGlsZSAo
dXBwZXIgPCB0ZXN0RGF0YS5sZW5ndGggLSAxICYmIHRlc3REYXRhW3VwcGVyXSA9PT0gdGVzdERh
dGFbdXBwZXIgKyAxXSkKLSAgICAgICAgICAgICAgICArK3dpbmRvdy51cHBlcjsKKyAgICAgICAg
ICAgICAgICArK3NlbGYudXBwZXI7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKGxvd2VyICE9
PSBudWxsKSB7CiAgICAgICAgIGlmIChsb3dlcklzT3BlbikgewogICAgICAgICAgICAgd2hpbGUg
KGxvd2VyIDwgdGVzdERhdGEubGVuZ3RoIC0gMSAmJiB0ZXN0RGF0YVtsb3dlcl0gPT09IHRlc3RE
YXRhW2xvd2VyICsgMV0pCi0gICAgICAgICAgICAgICAgKyt3aW5kb3cubG93ZXI7CisgICAgICAg
ICAgICAgICAgKytzZWxmLmxvd2VyOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgd2hp
bGUgKGxvd2VyID4gMCAmJiB0ZXN0RGF0YVtsb3dlcl0gPT09IHRlc3REYXRhW2xvd2VyIC0gMV0p
Ci0gICAgICAgICAgICAgICAgLS13aW5kb3cubG93ZXI7CisgICAgICAgICAgICAgICAgLS1zZWxm
Lmxvd2VyOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKGFzY2VuZGluZykgewogICAgICAg
ICBpZiAobG93ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghbG93ZXJJc09wZW4pCi0g
ICAgICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKKyAgICAgICAgICAg
ICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyICsgMTsKKyAgICAgICAgICAg
ICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlciArIDE7CiAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSAwOworICAgICAgICAgICAgc2VsZi5leHBl
Y3RlZEluZGV4ID0gMDsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAodXBwZXIgIT09IG51bGwp
IHsKICAgICAgICAgICAgIGlmICghdXBwZXJJc09wZW4pCi0gICAgICAgICAgICAgICAgd2luZG93
LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5k
ZXggPSB1cHBlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IHVwcGVyIC0gMTsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5k
ZXggPSB1cHBlciAtIDE7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgd2luZG93LmV4cGVj
dGVkSW5kZXggPSB0ZXN0RGF0YS5sZW5ndGggLSAxOworICAgICAgICAgICAgc2VsZi5leHBlY3Rl
ZEluZGV4ID0gdGVzdERhdGEubGVuZ3RoIC0gMTsKICAgICB9CiAgICAgdGVzdFdpdGhpbkJvdW5k
cygpOwogIApAQCAtMTg2LDE1ICsxODYsMTUgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogZnVu
Y3Rpb24gdGVzdFdpdGhpbkJvdW5kcygpCiB7CiAgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAwIHx8
IHRlc3REYXRhLmxlbmd0aCA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0
ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAgICAg
aWYgKGxvd2VyICE9PSBudWxsICYmIGV4cGVjdGVkSW5kZXggPCBsb3dlcikKLSAgICAgICAgd2lu
ZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBu
dWxsOwogICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgpCi0g
ICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gbnVsbDsKKyAgICAgICAgc2VsZi5leHBlY3Rl
ZEluZGV4ID0gbnVsbDsKICAgICBpZiAobG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4gJiYg
ZXhwZWN0ZWRJbmRleCA8PSBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBu
dWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAh
PT0gbnVsbCAmJiB1cHBlcklzT3BlbiAmJiB1cHBlciA8PSBleHBlY3RlZEluZGV4KQotICAgICAg
ICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRl
eCA9IG51bGw7CiB9CiAgCiBmdW5jdGlvbiBjdXJzb3JJdGVyYXRpb24oKQpAQCAtMjEyLDMxICsy
MTIsMzEgQEAgZnVuY3Rpb24gY3Vyc29ySXRlcmF0aW9uKCkKICAKICAgICBzaG91bGRCZSgiZXZl
bnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgImV4cGVjdGVkSW5kZXgiKTsKICAgICBzaG91
bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkiLCAidGVzdERhdGFbIiArIGV4cGVjdGVkSW5k
ZXggKyAiXSIpOwotICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gYXNjZW5kaW5nID8gZXhwZWN0
ZWRJbmRleCArIDEgOiBleHBlY3RlZEluZGV4IC0gMTsKKyAgICBzZWxmLmV4cGVjdGVkSW5kZXgg
PSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4ICsgMSA6IGV4cGVjdGVkSW5kZXggLSAxOwogICAg
IHRlc3RXaXRoaW5Cb3VuZHMoKTsKIAogICAgIGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUo
KTsKIH0KICAKLXdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID0gMDsKK3NlbGYubnVsbEtleVJhbmdl
U3RlcCA9IDA7CiBmdW5jdGlvbiB0ZXN0TnVsbEtleVJhbmdlKCkKIHsKLSAgICB3aW5kb3cubG93
ZXIgPSAwOwotICAgIHdpbmRvdy5sb3dlcklzT3BlbiA9IGZhbHNlOwotICAgIHdpbmRvdy51cHBl
ciA9IHRlc3REYXRhLmxlbmd0aC0xOwotICAgIHdpbmRvdy51cHBlcklzT3BlbiA9IGZhbHNlOwor
ICAgIHNlbGYubG93ZXIgPSAwOworICAgIHNlbGYubG93ZXJJc09wZW4gPSBmYWxzZTsKKyAgICBz
ZWxmLnVwcGVyID0gdGVzdERhdGEubGVuZ3RoLTE7CisgICAgc2VsZi51cHBlcklzT3BlbiA9IGZh
bHNlOwogCiAgICAgc3RyID0gIk5leHQgdGVzdDogbnVsbCBrZXkgcGF0aCAiOwotICAgIGlmICh3
aW5kb3cubnVsbEtleVJhbmdlU3RlcCA9PSAwKSB7CisgICAgaWYgKHNlbGYubnVsbEtleVJhbmdl
U3RlcCA9PSAwKSB7CiAgICAgICAgIHN0ciArPSAic29ydGVkIGFzY2VuZGluZy4iOwotICAgICAg
ICB3aW5kb3cuYXNjZW5kaW5nID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXgg
PSBsb3dlcjsKLSAgICAgICAgd2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPSAxOwotICAgIH0gZWxz
ZSBpZiAod2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPT0gMSkgeworICAgICAgICBzZWxmLmFzY2Vu
ZGluZyA9IHRydWU7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOworICAgICAg
ICBzZWxmLm51bGxLZXlSYW5nZVN0ZXAgPSAxOworICAgIH0gZWxzZSBpZiAoc2VsZi5udWxsS2V5
UmFuZ2VTdGVwID09IDEpIHsKICAgICAgICAgc3RyICs9ICJzb3J0ZWQgZGVzY2VuZGluZy4iOwot
ICAgICAgICB3aW5kb3cuYXNjZW5kaW5nID0gZmFsc2U7Ci0gICAgICAgIHdpbmRvdy5leHBlY3Rl
ZEluZGV4ID0gdXBwZXI7Ci0gICAgICAgIHdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID0gMjsKKyAg
ICAgICAgc2VsZi5hc2NlbmRpbmcgPSBmYWxzZTsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4
ID0gdXBwZXI7CisgICAgICAgIHNlbGYubnVsbEtleVJhbmdlU3RlcCA9IDI7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWdldC1rZXktYXJndW1lbnQtcmVx
dWlyZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWdldC1rZXkt
YXJndW1lbnQtcmVxdWlyZWQuaHRtbAppbmRleCAyZTI2YTFjNTBkNzYzZDE3YWViYzBjZjI5ZWIw
ZDgyNWUyYmIzZjQyLi4wMTllZGMyMTFiMWU1Yzg3ZWZlOGU0MmYzOWQyMDgwNGI3MDllZDU5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1nZXQta2V5LWFy
Z3VtZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW5kZXgtZ2V0LWtleS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1l
ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBh
dGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi5odG1sCmluZGV4IGQ3OGQ4YTBjNWI2
MzgzY2Q4NzdkZTBiYTMyMGU4NmQyMDU3N2RlM2EuLjQ0MDAxMWY4NTZlNmVmYTdmY2Q4YTA2Mjc5
Zjk4MzVjOGUxZjRiNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2luZGV4LXBvcHVsYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9pbmRleC1wb3B1bGF0aW9uLmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gZG9TZXRW
ZXJzaW9uMSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJkb1NldFZlcnNpb24xKCk6
Iik7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVy
c2lvbiAxJykiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb24xOwogICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbAppbmRleCBhM2QyODAzNTZiZGIz
YmRkOWU5ODBiODY2MmE5MjkwMGRmYmI1YTA4Li4xMTQxMzIxMjE2MzZlODQ4YjU0Mjg1NWYzMmNh
MmM5ZjRiNDVmZWFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bmRleC11bmlxdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC11bmlxdWUuaHRtbApAQCAtMzcsOCArMzcsOCBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygp
CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93LnN0b3JlID0g
ZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKLSAgICB3aW5kb3cu
aW5kZXhPYmplY3QgPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAneCcs
IHt1bmlxdWU6IHRydWV9KSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJkYi5jcmVh
dGVPYmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhPYmplY3QgPSBldmFsQW5k
TG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAneCcsIHt1bmlxdWU6IHRydWV9KSIpOwog
CiAgICAgLy8gTGV0IHNldFZlcnNpb24gdHJhbnNhY3Rpb24gY29tcGxldGUuCiB9CkBAIC00Niw3
ICs0Niw3IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25D
b21wbGV0ZWQoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7Ci0gICAg
d2luZG93LnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbJ3N0b3JlJ10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgc2VsZi50
cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydz
dG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogCiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpLnB1dCh7eDogMX0sICdm
b28nKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy1l
eHBlY3RlZC50eHQKaW5kZXggMzU4YzY3OTg1ZDhlMzhlZDQ2NTEyNzdhMzM3ZmFhNTUzNDNkMTY2
My4uNTUwYTAwNTI2ZTJhMWQ2MzBiYWEwNjdiMWFkZGNiMzExMzNhOTU5MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtZXhwZWN0ZWQu
dHh0CkBAIC01MCwxMyArNTAsMTMgQEAgUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LkRBVEFfRVJSCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9IG9iamVjdFN0b3Jl
LnB1dCgndmFsdWUnLCAvcmVnZXgvKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1Mg
Y29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5wdXQoJ3ZhbHVlJywgd2luZG93KQorRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5wdXQoJ3ZhbHVlJywgc2Vs
ZikKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VF
eGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSByZXF1ZXN0ID0gb2Jq
ZWN0U3RvcmUucHV0KCd2YWx1ZScsIHdpbmRvdy5kb2N1bWVudCkKK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1ZScsIHNlbGYuZG9jdW1lbnQp
CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9IG9iamVj
dFN0b3JlLnB1dCgndmFsdWUnLCB3aW5kb3cuZG9jdW1lbnQuYm9keSkKK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1ZScsIHNlbGYuZG9jdW1l
bnQuYm9keSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0
YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKaW5k
ZXggNDIyMzg5YTcwZjI0ZGJlNGFjMjFiNDBlNWYyMzgxNDY2ZTIwOThjZS4uOGUyMDBiMDU2Y2U1
M2Y0ZjIzNjgwNTdmODBjOGIzZDZiMTkxZmZiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24g
dGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5k
b3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7
CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CkBAIC01NSw5ICs1NSw5IEBAIGZ1bmN0aW9uIHRl
c3RJbnZhbGlkS2V5cygpCiAgICAgICAgICJuZXcgRGF0ZShOYU4pIiwgLy8gRGF0ZSAoc3BlY2lh
bCBjYXNlKQogICAgICAgICAie30iLCAvLyBPYmplY3QKICAgICAgICAgIi9yZWdleC8iLCAvLyBS
ZWdFeHAKLSAgICAgICAgIndpbmRvdyIsIC8vIGdsb2JhbAotICAgICAgICAid2luZG93LmRvY3Vt
ZW50IiwgLy8gSFRNTERvY3VtZW50Ci0gICAgICAgICJ3aW5kb3cuZG9jdW1lbnQuYm9keSIgLy8g
SFRNTEJvZHlFbGVtZW50CisgICAgICAgICJzZWxmIiwgLy8gZ2xvYmFsCisgICAgICAgICJzZWxm
LmRvY3VtZW50IiwgLy8gSFRNTERvY3VtZW50CisgICAgICAgICJzZWxmLmRvY3VtZW50LmJvZHki
IC8vIEhUTUxCb2R5RWxlbWVudAogICAgIF07CiAKICAgICBpbnZhbGlkS2V5cy5mb3JFYWNoKGZ1
bmN0aW9uKGtleSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5LWdlbmVyYXRvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LWdl
bmVyYXRvci5odG1sCmluZGV4IDQ5YWI2MmM4ZTMyOGFhZGVhOTc4MDg5YmQ3YzgzZjJmMDAxNTU2
NjEuLjY5YjI2MTQyNDExYmQ2NTYxNGUxODdmYmQ5ZDdhYjEzN2FjMjg4ZTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0b3IuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9yLmh0bWwKQEAgLTc2LDEx
ICs3NiwxMSBAQCBmdW5jdGlvbiBydW5UZXN0cygpIHsKIH0KIAogZnVuY3Rpb24gY2hlY2soc3Rv
cmUsIGtleSwgZXhwZWN0ZWQpIHsKLSAgICB3aW5kb3cuc3RvcmUgPSBzdG9yZTsKKyAgICBzZWxm
LnN0b3JlID0gc3RvcmU7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBzdG9y
ZS5nZXQoIiArIEpTT04uc3RyaW5naWZ5KGtleSkgKyAiKSIpOwogICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVu
Y3Rpb24gKGUpIHsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkID0gZXhwZWN0ZWQ7CisgICAgICAg
IHNlbGYuZXhwZWN0ZWQgPSBleHBlY3RlZDsKICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGV2
ZW50LnRhcmdldC5yZXN1bHQpID09PSBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkpIHsKICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkdvdCAiICsgSlNPTi5zdHJpbmdpZnkoZXZlbnQudGFyZ2V0LnJl
c3VsdCkgKyAiIGZvciBrZXk6ICIgKyBKU09OLnN0cmluZ2lmeShrZXkpKTsKICAgICAgICAgfSBl
bHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS1zb3J0
LW9yZGVyLWFjcm9zcy10eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKaW5kZXggMzg1MTNjMjMwMjAzZWU4ZGZk
YTdjZWNjOWQ2MTczNjVhZTc3MzBmOS4uMjQ2NmE1YzVlNTI1YjYyM2VjZTNkZDk2MDk4YzI1Y2Fm
YTM5Y2UzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXNv
cnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5h
bWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24u
cGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWwKaW5kZXggYWM3
YjM2YTUwMDNiOWYxODlmZjI4NDIxNDYxMTlkN2I0ZmViOWI0ZC4uZDZkZWNmM2QwNTE2ZThkM2Y2
YmJlNWE1ZGRkNDc1NDQwNGI0NzMzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIva2V5LXNvcnQtb3JkZXItZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWRhdGUuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFt
ZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5w
YXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dAppbmRl
eCA0NTNkNTkwY2ZkZjllOWUxYzYxMGM1NTk3MjcxNTg4NzUxMzYxMjRmLi41OTY5MDRhYmU2NDAw
M2YxZDczZWIxMmM5OWZlMzM2NzEzYWRhNzFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0CkBAIC02LDkg
KzYsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogaW5kZXhlZERCID0gc2VsZi5pbmRleGVk
REIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5t
c0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiBQQVNTIEJvb2xlYW4oaW5kZXhlZERCICYm
IElEQkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElEQkRhdGFi
YXNlRXhjZXB0aW9uICYmIElEQkZhY3RvcnkgJiYgSURCSW5kZXggJiYgSURCS2V5UmFuZ2UgJiYg
SURCT2JqZWN0U3RvcmUgJiYgSURCUmVxdWVzdCAmJiBJREJUcmFuc2FjdGlvbikgaXMgdHJ1ZQog
Ci1JREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cuSURCVHJh
bnNhY3Rpb247CitJREJUcmFuc2FjdGlvbiA9IHNlbGYuSURCVHJhbnNhY3Rpb24gfHwgc2VsZi5J
REJUcmFuc2FjdGlvbjsKIFBBU1MgSURCVHJhbnNhY3Rpb24gPT0gbnVsbCBpcyBmYWxzZQotSURC
RGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93
LklEQkRhdGFiYXNlRXhjZXB0aW9uOworSURCRGF0YWJhc2VFeGNlcHRpb24gPSBzZWxmLklEQkRh
dGFiYXNlRXhjZXB0aW9uIHx8IHNlbGYuSURCRGF0YWJhc2VFeGNlcHRpb247CiBQQVNTIElEQkRh
dGFiYXNlRXhjZXB0aW9uID09IG51bGwgaXMgZmFsc2UKIGluZGV4ZWREQi5vcGVuKG5hbWUsIGRl
c2NyaXB0aW9uKQogZGIgPSBvcGVucmVxLnJlc3VsdApAQCAtMjE3LDE4ICsyMTcsMTggQEAgRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIC9yZWdleC8gXSk7CiBQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCiAKLXRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93IF0KLUV4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cgXSk7Cit0
ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHNlbGYgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHNlbGYgXSk7CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiAKLXRlc3Rp
bmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93LmRvY3VtZW50IF0KLUV4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cuZG9jdW1lbnQgXSk7Cit0ZXN0
aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHNlbGYuZG9jdW1lbnQgXQorRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHNlbGYuZG9jdW1lbnQgXSk7CiBQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCiAKLXRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93LmRvY3VtZW50LmJv
ZHkgXQotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHdpbmRv
dy5kb2N1bWVudC5ib2R5IF0pOwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBzZWxmLmRv
Y3VtZW50LmJvZHkgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUn
LCBbIHNlbGYuZG9jdW1lbnQuYm9keSBdKTsKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQ
QVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwKaW5kZXggODAyODcw
MjhhOWQ2ZGJmNmI5YmJlN2U5NmI3MTExMWY0YzQ5ZGM2Ny4uMmE1OTQ1NDQxZjg4ZThiZjhjNzU2
NWVlYjllMDgxMDQ3MmJjZDAxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sCkBAIC0xNSwxNCArMTUsMTQgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIGV2YWxBbmRMb2coIklE
QlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy5JREJUcmFuc2Fj
dGlvbjsiKTsKKyAgICBldmFsQW5kTG9nKCJJREJUcmFuc2FjdGlvbiA9IHNlbGYuSURCVHJhbnNh
Y3Rpb24gfHwgc2VsZi5JREJUcmFuc2FjdGlvbjsiKTsKICAgICBzaG91bGRCZUZhbHNlKCJJREJU
cmFuc2FjdGlvbiA9PSBudWxsIik7CiAKLSAgICBldmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4Y2Vw
dGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cuSURCRGF0YWJhc2VF
eGNlcHRpb247Iik7CisgICAgZXZhbEFuZExvZygiSURCRGF0YWJhc2VFeGNlcHRpb24gPSBzZWxm
LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHNlbGYuSURCRGF0YWJhc2VFeGNlcHRpb247Iik7CiAg
ICAgc2hvdWxkQmVGYWxzZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCIpOwogCiAKLSAg
ICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0
aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAg
IG9wZW5yZXEgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKICAgICBvcGVucmVxLm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpAQCAtMTY0LDkgKzE2NCw5
IEBAIGZ1bmN0aW9uIHRlc3RJbnZhbGlkQXJyYXlLZXlzKCkKICAgICAgICAgIlsge30gXSIsCiAg
ICAgICAgICJbIGZ1bmN0aW9uICgpIHt9IF0iLAogICAgICAgICAiWyAvcmVnZXgvIF0iLAotICAg
ICAgICAiWyB3aW5kb3cgXSIsCi0gICAgICAgICJbIHdpbmRvdy5kb2N1bWVudCBdIiwKLSAgICAg
ICAgIlsgd2luZG93LmRvY3VtZW50LmJvZHkgXSIsCisgICAgICAgICJbIHNlbGYgXSIsCisgICAg
ICAgICJbIHNlbGYuZG9jdW1lbnQgXSIsCisgICAgICAgICJbIHNlbGYuZG9jdW1lbnQuYm9keSBd
IiwKICAgICAgICAgImN5Y2xpY19hcnJheSIsCiAgICAgICAgICJjeWNsaWNfYXJyYXkyIiwKICAg
ICAgICAgImN5Y2xpY19hcnJheTMiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIva2V5LXR5cGUtaW5maW5pdHkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2tleS10eXBlLWluZmluaXR5Lmh0bWwKaW5kZXggYmFlM2NiMGY0YzA3M2VkN2UxZDkx
NDljM2NiZGRkYWUzYTgyZmE4Yi4uYmMxZWRlNTdkNWFmMmE3MzM1Y2QyOWNkMmJlMWNkMmJiMDdj
NzQ1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUt
aW5maW5pdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlw
ZS1pbmZpbml0eS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBh
dGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0
aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5cGF0aC1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXBh
dGgtYmFzaWNzLmh0bWwKaW5kZXggNTUyYjhmNzViZmRhOTNjNzczZjE1NmVlM2NiNTVkYWQ2ZTll
YjdiNC4uYTY1YzMzMjk4MDhjMWUzMjQ2MTQxZGQxODBjNTBhMDIzNDAxOTQ0MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1iYXNpY3MuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWJhc2ljcy5odG1sCkBAIC0x
NCw3ICsxNCw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0IGZvciB2YWxpZCBhbmQgaW52YWxpZCBrZXlw
YXRocyIpOwogZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsK
LSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxv
Y2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlv
bikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtZmV0Y2gta2V5Lmh0bWwKaW5kZXgg
OWE2OTc2MTU2MmE2NWQ2MzQ1NjIzODY5MDFkNjZiZDIwN2NkYTBmYy4uOWY2NTBlNDljMThlODFm
YWM2MTM5MTM2NDQxZDQ1OTI3NDczMmEyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9rZXlwYXRoLWZldGNoLWtleS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1l
ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBh
dGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVyZS5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVyZS5odG1s
CmluZGV4IGI1OGM1YjdlMzU3MDZmNDE1NzQ0YmVjOTc5Nzg4MjVkZTUxYTViOTYuLjc5MjdhYzhl
MGUwZjYzNjNkN2YxZmU5MmI2NTRiYmIwZDNkY2Y2ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYWRkLXR3aWNlLWZhaWx1cmUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2FkZC10d2ljZS1mYWlsdXJlLmh0
bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9y
UHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAg
bmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVz
dCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5h
bWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2F1dG9p
bmNyZW1lbnQtaW5kZXhlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbAppbmRleCAzNWZkZjAyMzA5YzhkY2QwYTIx
YmExMzExY2IxOGQ1MjNlZDBjNjYyLi4yMTYwYTlkMGRkOGRiOWQwMzNjNGIzMDA2ZjE4YjAzNjU4
NTkwNzg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L2F1dG9pbmNyZW1lbnQtaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvYXV0b2luY3JlbWVudC1pbmRleGVzLmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAg
IG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2JhZC1rZXlwYXRoLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2JhZC1rZXlwYXRoLmh0bWwKaW5kZXgg
ZTI5OWI5MWEzMjdlZGRiZWQ0MTc1NWE2YWMzNzc1NmRmYTE0MzM3YS4uZTBlNjI3OGFhYTBmMGY1
MTlhOGQxNjMyZDk3ZGNlNzNhN2FlNTc0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9iYWQta2V5cGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYmFkLWtleXBhdGguaHRtbApAQCAtMjEsNyArMjEsNyBA
QCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAg
bmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlv
bi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7
CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIuaHRtbAppbmRleCAzZDI3Mzg2OWRlZWJk
NDRmZDgwNmJkMjc4N2VhMDlmOTI2NjA1MDA0Li4zYmEzY2ZiZGM3NDhkZWExMmZhYThmNjVmODVj
ZGM4Njc2MjJmY2E5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL2NsZWFyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9jbGVhci5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBh
dGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0
aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9jcmVhdGUtaW5kZXgtdW5pcXVlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbAppbmRleCBhYTU5NmVjZjhm
MmIwZDBhZjA5MmIzYTFhMGY3NjlmYjY1YjNiMzdkLi5iMDY3YzczYTNkYTQzZjU5NWE5MjMyOThi
ZDcxZGI2NjdmZWI4NmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbApAQCAtMjEsNyAr
MjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwog
Ci0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5s
b2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRp
b24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLWluZGV4LXdpdGgt
aW50ZWdlci1rZXlzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L2NyZWF0ZS1pbmRleC13aXRoLWludGVnZXIta2V5cy5odG1sCmluZGV4IGNjN2IwYWVlZDljYjZl
YmEzMGJiYzNiYTUwZTU5MWY4MTNiMTliOTkuLmJiOWJhZjdmZTYxYzU5YmQyMzkzZDEyMzg2YWIw
ZGI2NDY2YTkwMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY3JlYXRlLWluZGV4LXdpdGgtaW50ZWdlci1rZXlzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtaW5kZXgtd2l0aC1pbnRlZ2VyLWtl
eXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsK
KyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJN
eSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3Vj
Y2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
Y3JlYXRlLW9iamVjdHN0b3JlLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKaW5kZXggNjUxYTBh
NGJmNmVhMDE1NzM0NzMwZmY5OTY1N2RkNDJiZjZkNWY4ZS4uOGQ4MTYzYjQ0ZjRkMTM5ODA2YTU5
YzkzOTk4ZDM4MzI0NzcxNGJjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNz
Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVu
ZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7Cisg
ICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkg
VGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVu
KG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nl
c3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2Ny
ZWF0ZS1vYmplY3RzdG9yZS1udWxsLW5hbWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwtbmFtZS5odG1sCmluZGV4IGZl
YzA1MDJjYjcxNzRmZjAxOGQzZDdlMzE0M2RiNmQ0N2RjMmQ5MzcuLmJkYjg5MmViODRlNzUxZTI3
NmM2NGQxZDA5ZGQwNTQ1YTcwZjI0ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwtbmFtZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3Jl
LW51bGwtbmFtZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBh
dGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0
aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUt
b25seS5odG1sCmluZGV4IDQ1NTdjZDUzNzE1OWU0Y2E5NTU5MGE2Y2M1MDBjZjkyMjIxNDJkNTAu
LjJmNmJkMzIzYTZjZmViZjY2ZGQ0MWI1M2YxZGQwNmNjNmEwNzhjZDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11dGF0aW9uLW9iamVj
dHN0b3JlLW9ubHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2N1cnNvci1tdXRhdGlvbi1vYmplY3RzdG9yZS1vbmx5Lmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAg
IG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1p
bmRleGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNv
ci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWwKaW5kZXggYjMwOTlhZjI2ZmQ0ZWQwNDAwMGYx
MGNkZDlkOWUyMzI1NGU4NTM1NS4uZTEwOTAwNmIwMWFiMjZjZDlkZTQ5NjE5MThiN2NkOWI5MjU5
NDFhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9j
dXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuaHRtbApA
QCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVm
aXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1l
ID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERh
dGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwg
ZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29ycy5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwK
aW5kZXggZWUwNzg3NGFkMGVlZGVmYWQwMzVjNGE3YTM1YjczYjNjOTRlYjNhNS4uZjNiMTI2YTU1
YmViNmY5ODhlMjdjMWE4N2RmNjFiYzI5NjdmOTFmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5h
bWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24u
cGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2RlbGV0ZS1yZXN1bHQuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCmluZGV4
IDQ4N2ExMTJmOWIzMDllMDI2N2ZjMzkzZTAyNWY3NmE3MDg1OGM1MjEuLjgzODJkZjIwODhiOTYz
YTYzZjQwYmQyYmRkZjFkYWZlNTM4NWRmMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCkBAIC0yMSw3ICsy
MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAK
LSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxv
Y2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlv
bikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZlbnQtc291cmNlLmh0bWwK
aW5kZXggMTUxMzVlMWNhYzIwMTQwNDIxMGRmMTRhMzBjNGNhMWY3ZGQzMGU0Ni4uYTYzZjNkYWIy
MzNkZWNkZjUzZjMyODZjZjllZDllNTAwNGUwMjRiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2V2ZW50LXNvdXJjZS5odG1sCkBAIC0yMSw3
ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7
CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxm
LmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2Ui
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlw
dGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS5odG1s
CmluZGV4IDJlZjU1MzE4YmFmNDA4NjY3YTdlMzExNWY0OTNjNTNlMzJkYmVjNDEuLjZkOGRhZTc4
ZWE2ZjQzNzUxY2U4MzBhYWU3MTJlYjJlYzQ1NjgzMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLmh0bWwKQEAgLTIxLDcg
KzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsK
IAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYu
bG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7
CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0
aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCmluZGV4IDgz
ZWQ4MzlmM2YzMWNjOTZiYWQxZWJjYjY0MGJmOGU5YmM3MDhhYzQuLjZjZGRmOTRjZTE2OTRjMjk1
ZDg0YjdhMTUyMzdiZThlYmFmMzJlNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2lu
ZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1l
OwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBl
dmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLWRlbGV0ZS1udWxsLWtleS5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1l
bnRzLWRlbGV0ZS1udWxsLWtleS5odG1sCmluZGV4IDAxMGE4Mjc4YmEyYjRjZDE5NDJjMTc4OGZm
ODg2ODNhM2ViM2Y5ZmQuLjg1Y2FiYzVkMGY3N2ZmNmUxMjQ3NWZkODY2N2I0NDczZTU0NzJmZjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy1kZWxldGUtbnVsbC1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtZGVsZXRlLW51bGwta2V5Lmh0bWwK
QEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJl
Zml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFt
ZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBE
YXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUs
IGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1
aXJlbWVudHMtaW5saW5lLWFuZC1wYXNzZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5kLXBhc3NlZC5odG1sCmlu
ZGV4IGFjNmNkNGQ1MjQ3YzkzMjE1MmEwYmFhMGZiZmE3YmJjZTllMzg2YzQuLjEwZDM1ZWZkZDZj
N2VkZDJiNDY0Njk1OWMxN2YxMmI5NzU3ODA4NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5kLXBhc3Nl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy1pbmxpbmUtYW5kLXBhc3NlZC5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0
aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0g
d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhu
YW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1uby1rZXkuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50
cy1wdXQtbm8ta2V5Lmh0bWwKaW5kZXggODg5ZTlhMzFjMDY5NGNmODg1MjZmOTNhZjQyZDg3YWNh
NTljMjkwMy4uMDk3ZTI0ZmRmNzE1YWE4MWJiN2Y0YTM3MGIzYzlhZWE5MWRlMjE4ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1l
bnRzLXB1dC1uby1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW5vLWtleS5odG1sCkBAIC0yMSw3ICsyMSw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBu
YW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxs
LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVx
dWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sCmluZGV4IDE2MzE5Y2EzMjBjOTNjN2RmOTNiYmYy
YmNmMTBkMTY4YmUyZGQ5MjguLjc4ODA5ZWIyZGI0MzFjMjYyODc0YTcwODRjNjU2NGU5OTVkNzQw
OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5
LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwta2V5Lmh0bWwKQEAg
LTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4
ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9
IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRh
YmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRl
c2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJl
bWVudHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy5odG1sCmluZGV4IDRlOTg1OTJmYTFhMWE0ZGJhODhlODFjZjg2NjEyOTkxNDM4
ZTUwNjAuLjBjZWIzYWM5YTg0MDU3NDFhMGRjYTg2YmU4N2I0NDIzZjM3OTRhOWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBh
dGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0
aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sCmluZGV4IDUwYmI2ZmFkYWY2OGVkMGJiYmI3
OThjM2Y0MjYyODIyNmJlMDcyYzAuLmFjNDM2MDUzZDhjYTYyZWRiNzg2ZWVmOWJkNTIyNTE1MTk0
MDNkMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
b2JqZWN0LWN1cnNvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL29iamVjdC1jdXJzb3JzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cu
bG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAg
ICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtaWRlbnRpdHkuaHRtbAppbmRleCA4ZjA5MzMw
ZjMwZGY5NjE3Zjk1NWEyNTdjNjRmZTQ0NjkzOGU4MjBhLi4yNmE5NmQ3NTIxMjZkMmFiNTQwYTRh
M2M4M2I3MDdiZDFiYzY1ZjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWlkZW50aXR5Lmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAg
IG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1pbmxpbmUtYXV0
b2luY3JlbWVudC1rZXktYWRkZWQtb24tcHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1pbmxpbmUtYXV0b2luY3JlbWVudC1rZXktYWRk
ZWQtb24tcHV0Lmh0bWwKaW5kZXggODNmZTJmODc0MTI1ZjI4NTc4NGEyNzEwNmJlMWQwYjQ3YWU5
OTc4ZS4uNWY3ZjE1M2I3ZjU3NDE2Y2E5MDFhMjY3ODUwMmVmZTlmYzNiN2Y4MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3Qtc3RvcmUtaW5s
aW5lLWF1dG9pbmNyZW1lbnQta2V5LWFkZGVkLW9uLXB1dC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLWlubGluZS1hdXRvaW5jcmVt
ZW50LWtleS1hZGRlZC1vbi1wdXQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5s
b2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAg
ICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5v
bnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1
ZXMuaHRtbAppbmRleCA5YjMwODFjODQzMjE3YjdkMjcyNjUxN2E5NDExYTliNmQ3ZDRjZTEzLi5i
MTM1YTBkM2YzMzllZGU1YzcyNDk4YzU2ZWY2NTA4MmRhOTM4MzhiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFs
dWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmpl
Y3Qtc3RvcmUtcmVtb3ZlLXZhbHVlcy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93
LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwog
ICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3RzdG9yZW5hbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbAppbmRleCAxNDE2
MjkwMzc3ZDEyZjM4NTVmYTViNzVlYjdiMzUyYTFiMzEwY2U0Li5hODZmNmYyY2Y4ZWI5NmJlYWYz
ODBjNGM1ZDljM2MxOTYxNThlZDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbApAQCAtMjEsNyAr
MjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwog
Ci0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5s
b2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRp
b24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2RkLXJlc3VsdC1vcmRlci5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9y
ZGVyLmh0bWwKaW5kZXggNzg1MGM1YzY5MmE4M2MxNTczZDE2ZTQzNTZiMWE1MTEwNjEwM2M0MS4u
NDI5NzhmOTRhNjJlMGRhZDczMDE0N2JiZWI3NTlmNWRhM2E2NjA3NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9y
ZGVyLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3Zl
VmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7
CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAi
TXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5v
cGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1
Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L3B1dC1nZXQtdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL3B1dC1nZXQtdmFsdWVzLmh0bWwKaW5kZXggYTUwYmNjNWY1ZDIxOWRjZTliM2ExYjJiNWFl
ZGE2M2VlYmFkNDE4YS4uNzkwNjQ1NTkyZjI0MjIwYTc1ZDBhNjhlNzM2NjlhNWZhY2ZkYjc5NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9wdXQtZ2V0
LXZhbHVlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
cHV0LWdldC12YWx1ZXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlv
bi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNj
cmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWRvbmx5LXRyYW5zYWN0aW9ucy5odG1sCmluZGV4IGQz
MTk0MjEyMjU3YzYwMWI1MWU0YTc3MDIwNTkyYzMyYzg1MjE4YzguLmQ4NzM4ZDA2MWIwM2Y1ZGQx
NjBkNTNiYmEyNThhNmQ0YTIwYzkzMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkb25seS10cmFuc2FjdGlvbnMuaHRt
bApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQ
cmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBu
YW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0
IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFt
ZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHdy
aXRlLXRyYW5zYWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKaW5kZXggMjgxMzM0MjZiNTQ3MzEzNDVm
MmEwYWRiZDhmNDA3ZWZiMGViYWRkZS4uNzhhZDU0NDhjNmJhMjcwNjBjOTdmMTc4NDU3M2VkODRi
NTIwNTg4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKQEAgLTIxLDcgKzIx
LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAot
ICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9j
YXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9u
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWR5U3RhdGUuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCmluZGV4
IDlmZDU5MGFmOGY0ODNiMTY3MzIwMTljODZlZDdlYzNkODY4ZWNlZTguLjA1NTAwN2U0MDY1NTg0
NzJjMTUxN2JjNzAzN2QxNmU1MzkzM2M2ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBu
YW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
ICAgICBzaG91bGRCZSgicmVxdWVzdC5yZWFkeVN0YXRlIiwgIklEQlJlcXVlc3QuTE9BRElORyIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1v
dmUtaW5kZXguaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVt
b3ZlLWluZGV4Lmh0bWwKaW5kZXggYTBhODU5ZTQ4ODEzYjc4NzAzZWI5ODU4NDNkMDNiMGUzNjcy
MjcyOS4uMDRhZTM3ZTdmMzQyODYzNzgzYTU0NmVmNDZmMTJhYzBkOTYyNmM5OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1vdmUtaW5kZXguaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1pbmRl
eC5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZl
bmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOwor
ICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15
IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Bl
bihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNj
ZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9y
ZW1vdmUtb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvcmVtb3ZlLW9iamVjdHN0b3JlLmh0bWwKaW5kZXggYTY1MmFjY2RjMjUwOGJlZWYxZGZh
YWY4OWE5MzRmZjE2MjQyMTlmMS4uNTVjMWZhZTgwMjgwMjYzYTJlOWE0YjA5NTk2MmE2MGRmNGFm
OGYzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9y
ZW1vdmUtb2JqZWN0c3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL3JlbW92ZS1vYmplY3RzdG9yZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0
aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0g
d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhu
YW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWFib3J0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJvcnQuaHRt
bAppbmRleCAwYmM5NjM1MmYwMWIwNDJmZDBiN2EzMzAwZTUyODA2Yzc1ZjIxZDNhLi4yZDJiZDdk
YzFhNDQyZjFhNGZhNmQyNmZkZjAxYjBiMmMzNzljMjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJvcnQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJv
cnQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsK
KyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJN
eSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3Vj
Y2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
dmVyc2lvbmNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS92ZXJzaW9uY2hhbmdlLmh0bWwKaW5kZXggMWM3N2FmOGNhNjhhZDAzY2QwMzc2MTgyZWFhMDk0
ZWQ2MmQ5MTM1ZS4uYzY0M2I5OWE2MDY5M2M0ZjVjODQzNGZhZDg1MmIwYmJiOTJlMWE4ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hh
bmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJz
aW9uY2hhbmdlLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAg
cmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0
aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRp
b24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4
ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
b3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
dXRhdGluZy1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0
aW5nLWN1cnNvci5odG1sCmluZGV4IGY4NDJjNGJkMzQ0M2QwYzQzOTBiYTU3MTJiMzUxM2EyNjZj
NWUyOGQuLjgzZTA0MDhmYzYzMzQ1MjI0Nzg2Yjc0Y2NhNTM1YjlmNDA3OTBjMTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sCkBA
IC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNp
b25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3
aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJv
cnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gb3Bl
bkZvcndhcmRDdXJzb3I7CkBAIC01MywxNyArNTMsMTcgQEAgZnVuY3Rpb24gb3BlbkZvcndhcmRD
dXJzb3IoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAg
ICB0cmFucy5vbmNvbXBsZXRlID0gZm9yd2FyZEN1cnNvckNvbXBsZXRlOwogCi0gICAgd2luZG93
Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsK
KyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0
b3JlJykiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUub3BlbkN1cnNv
cigpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmb3J3YXJkQ3Vyc29yOwogICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHdpbmRvdy5jdXJzb3JT
dGVwcyA9IDA7CisgICAgc2VsZi5jdXJzb3JTdGVwcyA9IDA7CiB9CiAKIGZ1bmN0aW9uIGZvcndh
cmRDdXJzb3IoKQogewogICAgIGRlYnVnKCJmb3J3YXJkQ3Vyc29yKCkiKTsKLSAgICB3aW5kb3cu
Y3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAgICBzZWxmLmN1cnNvciA9IGV2ZW50LnRh
cmdldC5yZXN1bHQ7CiAKICAgICBpZiAoZXZlbnQudGFyZ2V0LnJlc3VsdCA9PSBudWxsKSB7CiAg
ICAgICAgIHNob3VsZEJlKCJjdXJzb3JTdGVwcyIsICI1Iik7CkBAIC05OCwxNyArOTgsMTcgQEAg
ZnVuY3Rpb24gb3BlblJldmVyc2VDdXJzb3IoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVj
dGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gcmV2ZXJzZUN1cnNvckNv
bXBsZXRlOwogCi0gICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2Jq
ZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygi
dHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
b2JqZWN0U3RvcmUub3BlbkN1cnNvcihudWxsLCBJREJDdXJzb3IuUFJFVikiKTsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IHJldmVyc2VDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgd2luZG93LmN1cnNvclN0ZXBzID0gNjsKKyAgICBz
ZWxmLmN1cnNvclN0ZXBzID0gNjsKIH0KIAogZnVuY3Rpb24gcmV2ZXJzZUN1cnNvcigpCiB7CiAg
ICAgZGVidWcoInJldmVyc2VDdXJzb3IoKSIpOwotICAgIHdpbmRvdy5jdXJzb3IgPSBldmVudC50
YXJnZXQucmVzdWx0OworICAgIHNlbGYuY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKIAog
ICAgIGlmIChldmVudC50YXJnZXQucmVzdWx0ID09IG51bGwpIHsKICAgICAgICAgc2hvdWxkQmUo
ImN1cnNvclN0ZXBzIiwgIjAiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdFN0b3JlLXJlcXVpcmVkLWFyZ3VtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRzLmh0bWwKaW5k
ZXggMWJlM2Q5YmZlYzgzMjY5YjA3MmUxYTQyODM0ZmYyOWFjZmZiODIwNi4uMDQyMjVhMjgxNmUy
MTFiZDQxYzEzYjE0ZTIxZGVjYmRiNDAzNTBmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1l
bnRzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3Zl
VmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7
CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAi
TXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5v
cGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1
Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3Rz
dG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwKaW5kZXggYTFlY2JlYmFlNTViZmI5OTM2ZWYz
NDgxZTQzNzk1ZmE3MTA2MTNjNC4uOWY4ODI1YWE3N2VlNmUyZmI0ZjY3MzgyMDZlMGU0MDNmNmJi
OGRjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtYXV0b2luY3JlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlv
biB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nl
c3MoKToiKTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZl
cnNpb24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBA
IC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNp
b25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3
aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJv
cnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gc2V0
VmVyc2lvbkNvbXBsZXRlZDsKQEAgLTM5LDcgKzM5LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1
Y2Nlc3MoKQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAgICBkZWJ1ZygiY3Jl
YXRlT2JqZWN0U3RvcmUoKToiKTsKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9y
ZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJywge2tleVBhdGg6ICdp
ZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9n
KCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJywge2tleVBh
dGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOwogICAgIGV2YWxBbmRMb2coImRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhBdXRvSW5jcmVtZW50Jywge2F1dG9JbmNyZW1lbnQ6
IHRydWV9KSIpOwogICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdQbGFpbk9s
ZFN0b3JlJywge2F1dG9JbmNyZW1lbnQ6IGZhbHNlfSkiKTsKICAgICBldmFsQW5kTG9nKCJkYi5j
cmVhdGVPYmplY3RTdG9yZSgnU3RvcmVXaXRoTG9uZ0tleVBhdGgnLCB7a2V5UGF0aDogJ2EuYi5j
LmlkJywgYXV0b0luY3JlbWVudDogdHJ1ZX0pIik7CkBAIC01OSwxMSArNTksMTEgQEAgZnVuY3Rp
b24gc2V0VmVyc2lvbkNvbXBsZXRlZCgpCiB7CiAgICAgZGVidWcoInNldFZlcnNpb25Db21wbGV0
ZWQoKToiKTsKIAotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJh
bnNhY3Rpb24oWydTdG9yZVdpdGhLZXlQYXRoJywgJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnLCAn
UGxhaW5PbGRTdG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHNlbGYu
dHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnU3RvcmVXaXRoS2V5
UGF0aCcsICdTdG9yZVdpdGhBdXRvSW5jcmVtZW50JywgJ1BsYWluT2xkU3RvcmUnXSwgSURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFi
b3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RMb25nS2V5UGF0aDsKIAot
ICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUo
J1N0b3JlV2l0aEtleVBhdGgnKSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9y
ZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJykiKTsKIAogICAgIGRlYnVn
KCJJbnNlcnQgaW50byBvYmplY3Qgc3RvcmUgd2l0aCBhdXRvIGluY3JlbWVudCBhbmQga2V5IHBh
dGgsIHdpdGgga2V5IGluIHRoZSBvYmplY3QuIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
InN0b3JlLmFkZCh7bmFtZTogJ0plZmZlcnNzb24nLCBudW1iZXI6ICc3MDEwJywgaWQ6IDN9KSIp
OwpAQCAtOTksNyArOTksNyBAQCBmdW5jdGlvbiBnZXRMaW5jb2xuQWZ0ZXJJbmplY3RlZEtleVN1
Y2Nlc3MoKQogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5u
dW1iZXIiLCAiNzAxMiIpOwogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LmlkIiwg
IjQiKTsKIAotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2Jq
ZWN0U3RvcmUoJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnKSIpOworICAgIHNlbGYuc3RvcmUgPSBl
dmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdpdGhBdXRvSW5jcmVt
ZW50JykiKTsKICAgICBkZWJ1ZygiSW5zZXJ0IGludG8gb2JqZWN0IHN0b3JlIHdpdGgga2V5IGdl
biB1c2luZyBleHBsaWNpdCBrZXkiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygic3RvcmUu
YWRkKHtuYW1lOiAnTGluY29sbicsIG51bWJlcjogJzcwMTInfSwgNSkiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGFkZExpbmNvbG5XaXRoRXhwbGljaXRLZXlTdWNjZXNzOwpAQCAtMTQzLDcg
KzE0Myw3IEBAIGZ1bmN0aW9uIGdldEFicmFoYW1TdWNjZXNzKCkKICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQubmFtZSIsICJBYnJhaGFtIik7CiAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50YXJnZXQucmVzdWx0Lm51bWJlciIsICIyMTA3Iik7
CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0
b3JlKCdQbGFpbk9sZFN0b3JlJykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygic3Rv
cmUgPSB0cmFucy5vYmplY3RTdG9yZSgnUGxhaW5PbGRTdG9yZScpIik7CiAgICAgZGVidWcoIlRy
eSBhZGRpbmcgd2l0aCBubyBrZXkgdG8gb2JqZWN0IHN0b3JlIHdpdGhvdXQgYXV0byBpbmNyZW1l
bnQuIik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRkKHtuYW1lOiAnQWRh
bSd9KSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogICAgIHJlcXVlc3QgPSBl
dmFsQW5kTG9nKCJzdG9yZS5hZGQoe25hbWU6ICdBZGFtJ30sIDEpIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXIuaHRtbAppbmRleCA5
YzZlYzMyNDRkMjVjMjQ5NjI3MTE3MjNmMDBkNzhmZjlhYTNmOGI1Li5jNzhjNWQyNzU4NDhmODBm
NDQzNzY4YzYzOWZmOTNhY2U2MGI2ZThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWwKQEAgLTI5LDE0ICsyOSwxNCBAQCBm
dW5jdGlvbiBzdGFydFNldFZlcnNpb24oKQogCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7
Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0
LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKIAogICAgIGRl
bGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3Jl
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7CiAKLSAgICB3aW5k
b3cuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycp
Iik7CisgICAgc2VsZi5pbmRleCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRl
eE5hbWUnLCAnJykiKTsKICAgICBzaG91bGRCZVRydWUoInN0b3JlLmluZGV4TmFtZXMuY29udGFp
bnMoJ2luZGV4TmFtZScpIik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygic3RvcmUuYWRk
KCd2YWx1ZScsICdrZXknKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY291bnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWNvdW50Lmh0bWwKaW5kZXggM2VjZmFkMzk0MjEyNTYxMGMzMzM0MmFj
YWU4YzkzM2VmZTllODE0OS4uN2FlOTFjMmIwODBlNjAxZTE3YWQ5ZmJmYjJmMTlkMTdjM2JmOWFi
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
Y291bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9y
ZS1jb3VudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgp
CiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJwcmVwYXJpbmcgZGF0YWJhc2UiKTsKLSAg
ICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogCiAgICAgZGVsZXRl
QWxsT2JqZWN0U3RvcmVzKGRiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKaW5kZXggYTlkNjllNWExYjY2N2ZlOGVkMzk0
MjM3ZDVjMDZlNTJhZWFiNDM3Zi4uYWM3ZDdkNjg5ZjNkNjRhOTNmYjZmMTFiNGJiYzg0NDkxOWRi
ZjdkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtY3Vyc29yLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGRlc2NyaXB0aW9uKCJUZXN0IElu
ZGV4ZWREQidzIG9iamVjdFN0b3JlLm9wZW5DdXJzb3IgKyB0aGUgY3Vyc29yIGl0IHByb2R1Y2Vz
IGluIGRlcHRoLiIpOwogIAogLy8gSW4gb3JkZXIgb2YgaG93IGl0IHNob3VsZCBiZSBzb3J0ZWQg
YnkgSW5kZXhlZERCLgotd2luZG93LnRlc3REYXRhID0gWworc2VsZi50ZXN0RGF0YSA9IFsKICAg
ICAyLjcxODI4MTgyODQ1OSwKICAgICAzLAogICAgIDMuMTQxNTkyNjUsCkBAIC0zMSw3ICszMSw3
IEBAIGZ1bmN0aW9uIG9wZW5EYXRhYmFzZSgpCiAgCiBmdW5jdGlvbiBzZXRWZXJzaW9uKCkKIHsK
LSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlRXhpc3Rpbmc7CkBAIC00MCwyOCArNDAs
MjggQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkK
IHsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRy
YW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKIAogICAgIGRlbGV0ZUFsbE9i
amVjdFN0b3JlcyhkYik7CiAKLSAgICB3aW5kb3cub2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc29tZU9iamVjdFN0b3JlJykiKTsKLSAgICB3aW5kb3cubmV4
dFRvQWRkID0gMDsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3NvbWVPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5uZXh0VG9BZGQgPSAw
OwogICAgIGFkZERhdGEoKTsKIH0KIAogZnVuY3Rpb24gYWRkRGF0YSgpCiB7CiAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFkZCgnJywgdGVzdERhdGFbbmV4dFRvQWRkXSki
KTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9ICsrd2luZG93Lm5leHRUb0FkZCA8IHRlc3REYXRh
Lmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVsZVRlc3RzOworICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gKytzZWxmLm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVs
ZVRlc3RzOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
fQogCiBmdW5jdGlvbiBzY2hlZHVsZVRlc3RzKCkKIHsKICAgICBkZWJ1ZygiU2NoZWR1bGluZyB0
ZXN0cy4uLiIpOwotICAgIHdpbmRvdy5zY2hlZHVsZWRUZXN0cyA9IFtdOworICAgIHNlbGYuc2No
ZWR1bGVkVGVzdHMgPSBbXTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlc3REYXRhLmxlbmd0
aDsgKytpKSB7CiAgICAgICAgIC8qIGxlZnQgYm91bmQsIGlzIG9wZW4sIHJpZ2h0IGJvdW5kLCBp
cyBvcGVuLCBhc2NlbmRpbmcgKi8KICAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwg
dHJ1ZSwgbnVsbCwgbnVsbCwgdHJ1ZV0pOwpAQCAtOTYsMTEgKzk2LDExIEBAIGZ1bmN0aW9uIHJ1
bk5leHRUZXN0KCkKICAgICB9CiAgCiAgICAgdmFyIHRlc3QgPSBzY2hlZHVsZWRUZXN0cy5wb3Ao
KTsKLSAgICB3aW5kb3cubG93ZXIgPSB0ZXN0WzBdOwotICAgIHdpbmRvdy5sb3dlcklzT3BlbiA9
IHRlc3RbMV07Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdFsyXTsKLSAgICB3aW5kb3cudXBwZXJJ
c09wZW4gPSB0ZXN0WzNdOwotICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0ZXN0WzRdOworICAgIHNl
bGYubG93ZXIgPSB0ZXN0WzBdOworICAgIHNlbGYubG93ZXJJc09wZW4gPSB0ZXN0WzFdOworICAg
IHNlbGYudXBwZXIgPSB0ZXN0WzJdOworICAgIHNlbGYudXBwZXJJc09wZW4gPSB0ZXN0WzNdOwor
ICAgIHNlbGYuYXNjZW5kaW5nID0gdGVzdFs0XTsKIAogICAgIHN0ciA9ICJOZXh0IHRlc3Q6ICI7
CiAgICAgaWYgKGxvd2VyICE9PSBudWxsKSB7CkBAIC0xMjYsMTkgKzEyNiwxOSBAQCBmdW5jdGlv
biBydW5OZXh0VGVzdCgpCiAgICAgaWYgKGFzY2VuZGluZykgewogICAgICAgICBpZiAobG93ZXIg
IT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghbG93ZXJJc09wZW4pCi0gICAgICAgICAgICAg
ICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKKyAgICAgICAgICAgICAgICBzZWxmLmV4
cGVjdGVkSW5kZXggPSBsb3dlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB3
aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyKzE7CisgICAgICAgICAgICAgICAgc2VsZi5leHBl
Y3RlZEluZGV4ID0gbG93ZXIrMTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB3aW5kb3cu
ZXhwZWN0ZWRJbmRleCA9IDA7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSAwOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICh1cHBlciAhPT0gbnVsbCkgewogICAgICAgICAgICAg
aWYgKCF1cHBlcklzT3BlbikKLSAgICAgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9
IHVwcGVyOworICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IHVwcGVyOwogICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gdXBw
ZXItMTsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1cHBlci0xOwogICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gdGVzdERhdGEu
bGVuZ3RoLTE7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB0ZXN0RGF0YS5sZW5n
dGgtMTsKICAgICB9CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwogIApAQCAtMTY0LDE1ICsxNjQs
MTUgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogZnVuY3Rpb24gdGVzdFdpdGhpbkJvdW5kcygp
CiB7CiAgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAwIHx8IHRlc3REYXRhLmxlbmd0aCA8PSBleHBl
Y3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAg
IHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAgICAgaWYgKGxvd2VyICE9PSBudWxsICYmIGV4
cGVjdGVkSW5kZXggPCBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxs
OworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAhPT0g
bnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgpCi0gICAgICAgIHdpbmRvdy5leHBlY3RlZElu
ZGV4ID0gbnVsbDsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbnVsbDsKICAgICBpZiAo
bG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4gJiYgZXhwZWN0ZWRJbmRleCA8PSBsb3dlcikK
LSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVj
dGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlcklzT3BlbiAm
JiB1cHBlciA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9
IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiB9CiAgCiBmdW5jdGlv
biBjdXJzb3JJdGVyYXRpb24oKQpAQCAtMTg5LDMxICsxODksMzEgQEAgZnVuY3Rpb24gY3Vyc29y
SXRlcmF0aW9uKCkKICAgICB9CiAgCiAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQu
a2V5IiwgInRlc3REYXRhWyIgKyBleHBlY3RlZEluZGV4ICsgIl0iKTsKLSAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IGFzY2VuZGluZyA/IGV4cGVjdGVkSW5kZXgrMSA6IGV4cGVjdGVkSW5kZXgt
MTsKKyAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4KzEg
OiBleHBlY3RlZEluZGV4LTE7CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwogCiAgICAgZXZlbnQu
dGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpOwogfQogIAotd2luZG93Lm51bGxLZXlSYW5nZVN0ZXAg
PSAwOworc2VsZi5udWxsS2V5UmFuZ2VTdGVwID0gMDsKIGZ1bmN0aW9uIHRlc3ROdWxsS2V5UmFu
Z2UoKQogewotICAgIHdpbmRvdy5sb3dlciA9IDA7Ci0gICAgd2luZG93Lmxvd2VySXNPcGVuID0g
ZmFsc2U7Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdERhdGEubGVuZ3RoLTE7Ci0gICAgd2luZG93
LnVwcGVySXNPcGVuID0gZmFsc2U7CisgICAgc2VsZi5sb3dlciA9IDA7CisgICAgc2VsZi5sb3dl
cklzT3BlbiA9IGZhbHNlOworICAgIHNlbGYudXBwZXIgPSB0ZXN0RGF0YS5sZW5ndGgtMTsKKyAg
ICBzZWxmLnVwcGVySXNPcGVuID0gZmFsc2U7CiAKICAgICBzdHIgPSAiTmV4dCB0ZXN0OiBudWxs
IGtleSBwYXRoICI7Ci0gICAgaWYgKHdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID09IDApIHsKKyAg
ICBpZiAoc2VsZi5udWxsS2V5UmFuZ2VTdGVwID09IDApIHsKICAgICAgICAgc3RyICs9ICJzb3J0
ZWQgYXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0cnVlOwotICAgICAg
ICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOwotICAgICAgICB3aW5kb3cubnVsbEtleVJh
bmdlU3RlcCA9IDE7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cubnVsbEtleVJhbmdlU3RlcCA9PSAx
KSB7CisgICAgICAgIHNlbGYuYXNjZW5kaW5nID0gdHJ1ZTsKKyAgICAgICAgc2VsZi5leHBlY3Rl
ZEluZGV4ID0gbG93ZXI7CisgICAgICAgIHNlbGYubnVsbEtleVJhbmdlU3RlcCA9IDE7CisgICAg
fSBlbHNlIGlmIChzZWxmLm51bGxLZXlSYW5nZVN0ZXAgPT0gMSkgewogICAgICAgICBzdHIgKz0g
InNvcnRlZCBkZXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRpbmcgPSBmYWxzZTsK
LSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKLSAgICAgICAgd2luZG93Lm51
bGxLZXlSYW5nZVN0ZXAgPSAyOworICAgICAgICBzZWxmLmFzY2VuZGluZyA9IGZhbHNlOworICAg
ICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKKyAgICAgICAgc2VsZi5udWxsS2V5UmFu
Z2VTdGVwID0gMjsKICAgICB9IGVsc2UgewogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKaW5kZXggZmIzMTZmZDJl
MmM5ZjdmZDRhYTRiMzFmNmE4MjBjZjRhYmNjMTRlNC4uNzQ4ZWNkNDkxZjgxNGEyZDY4ZGYxOGNl
Y2NlYjMyMzdmYjZiYThkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sCkBAIC0y
OSwxNCArMjksMTQgQEAgZnVuY3Rpb24gc3RhcnRTZXRWZXJzaW9uKCkKIAogZnVuY3Rpb24gZGVs
ZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBu
dWxsIik7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCiAgICAgc3RvcmUgPSBl
dmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxs
KSIpOwogCi0gICAgd2luZG93LmluZGV4ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgo
J2luZGV4TmFtZScsICcnKSIpOworICAgIHNlbGYuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5j
cmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpIik7CiAgICAgc2hvdWxkQmVUcnVlKCJzdG9yZS5p
bmRleE5hbWVzLmNvbnRhaW5zKCdpbmRleE5hbWUnKSIpOwogCiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coInN0b3JlLmFkZCgndmFsdWUnLCAna2V5JykiKTsKQEAgLTY2LDcgKzY2LDcgQEAgZnVu
Y3Rpb24gYWRkSW5kZXgoKQogCiBmdW5jdGlvbiBkZWxldGVPYmplY3RTdG9yZSgpCiB7Ci0gICAg
d2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFi
b3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24tZXhwZWN0ZWQudHh0
CmluZGV4IGQ1ZTliNDU0NzAyMjdhZjFkY2RhNDVjOGIwMTRlNDRlMmZmODJlOGYuLmI5NzY0Mzkz
MjI4YmE0ODcwZTAxNWYxZTk0MzZiNzY1MjRkNGZiN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12ZXJzaW9uLWV4cGVjdGVk
LnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBCb29sZWFuKGluZGV4ZWREQiAmJiBJREJDdXJzb3Ig
JiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJvciAmJiBJREJEYXQKIAogCiBURVNUOiBz
ZXRWZXJzaW9uIGJsb2NrZWQgb24gb3BlbiBoYW5kbGVzCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Qx
Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0
MSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9u
c3VjY2VzcycKICdoMi5vcGVuJwpAQCAtMjAsMTAgKzIwLDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAn
dGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMi5jbG9zZScKICdo
MS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBs
ZXRlJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9u
c3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJz
aW9uY2hhbmdlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgxLnNldFZlcnNpb24u
b25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUiCitQQVNTIHNlbGYu
c3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgy
Lm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJzaW9uY2hhbmdlLGgxLnNldFZl
cnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZl
cnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUiCiAKIFRFU1Q6IHNldFZlcnNpb24gbm90IGJsb2Nr
ZWQgaWYgaGFuZGxlIGNsb3NlZCBpbW1lZGlhdGVseQotd2luZG93LmRibmFtZSA9ICd0ZXN0Mic7
IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXQorc2VsZi5kYm5hbWUgPSAndGVzdDIn
OyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gxLm9wZW4nCiAnaDEub3Blbi5vbnN1
Y2Nlc3MnCiAnaDIub3BlbicKQEAgLTM2LDEwICszNiwxMCBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rl
c3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiAnaDEuc2V0VmVyc2lvbi5v
bnN1Y2Nlc3MnCiAnaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZScKIE5PVEU6IFdp
bGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNpb24ub25ibG9ja2VkIHN0ZXA7IGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMAotRkFJTCB3aW5kb3cu
c3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5v
cGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJzaW9uY2hhbmdlLGgy
LmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24t
Y29tcGxldGUuIFdhcyBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5v
bnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIuY2xvc2UsaDEuc2V0
VmVyc2lvbi5vbmJsb2NrZWQsaDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50
cmFuc2FjdGlvbi1jb21wbGV0ZS4KK0ZBSUwgc2VsZi5zdGVwcy50b1N0cmluZygpIHNob3VsZCBi
ZSBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEu
c2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIuY2xvc2UsaDEuc2V0VmVyc2lvbi5vbnN1
Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZS4gV2FzIGgxLm9wZW4saDEu
b3Blbi5vbnN1Y2Nlc3MsaDIub3BlbixoMi5vcGVuLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLGgy
Lm9udmVyc2lvbmNoYW5nZSxoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCxoMS5zZXRW
ZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLgogCiBU
RVNUOiBvcGVuIGFuZCBzZXRWZXJzaW9uIGJsb2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFu
c2FjdGlvbiBpcyBydW5uaW5nIC0gY2xvc2Ugd2hlbiBibG9ja2VkCi13aW5kb3cuZGJuYW1lID0g
J3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9
ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5v
cGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtNTcsMTAgKzU3LDEwIEBAIHdpbmRvdy5kYm5h
bWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMS5zZXRW
ZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwog
J2gzLm9wZW4ub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEu
b3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZl
cnNpb24saDIuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDEuc2V0VmVyc2lvbi5vbmJs
b2NrZWQsaDEub252ZXJzaW9uY2hhbmdlLGgyLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3Nl
LGgzLm9wZW4saDIuc2V0VmVyc2lvbi5vbmVycm9yLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgx
LnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MiCitQQVNT
IHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5v
cGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIuc2V0VmVyc2lvbixoMi5vbnZl
cnNpb25jaGFuZ2UsaDEuc2V0VmVyc2lvbi5vbmJsb2NrZWQsaDEub252ZXJzaW9uY2hhbmdlLGgy
LnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgzLm9wZW4saDIuc2V0VmVyc2lvbi5vbmVy
cm9yLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29t
cGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MiCiAKIFRFU1Q6IG9wZW4gYW5kIHNldFZlcnNpb24gYmxv
Y2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmcgLSBqdXN0IGNs
b3NlCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q0Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVw
cyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0NCc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9
IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtNzMsMTAg
KzczLDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDQnOyB3aW5kb3cudmVyID0gMTsgd2luZG93
LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwogJ2gzLm9w
ZW4ub25zdWNjZXNzJwogTk9URTogV2lsbCBGQUlMIHdpdGggZXh0cmEgYm9ndXMgaDEuc2V0VmVy
c2lvbi5vbmJsb2NrZWQgc3RlcDsgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMTMwCi1GQUlMIHdpbmRvdy5zdGVwcy50b1N0cmluZygpIHNob3VsZCBiZSBoMS5vcGVu
LGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lv
bixoMy5vcGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24u
dHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MuIFdhcyBoMS5vcGVuLGgxLm9w
ZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMy5v
cGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgxLnNldFZlcnNpb24ub25zdWNj
ZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3Mu
CitGQUlMIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3BlbixoMS5vcGVuLm9u
c3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDMub3Blbixo
Mi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9u
LWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNzLiBXYXMgaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vz
cyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDMub3BlbixoMi5jbG9z
ZSxoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRW
ZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNzLgogCiBURVNUOiBv
cGVuIGJsb2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nCi13
aW5kb3cuZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtd
CitzZWxmLmRibmFtZSA9ICd0ZXN0NSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAn
aDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uJwpAQCAtODQsMTAg
Kzg0LDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDUnOyB3aW5kb3cudmVyID0gMTsgd2luZG93
LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRy
YW5zYWN0aW9uLWNvbXBsZXRlJwogJ2gyLm9wZW4ub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3Rl
cHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9u
LGgyLm9wZW4saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlv
bi1jb21wbGV0ZSxoMi5vcGVuLm9uc3VjY2VzcyIKK1BBU1Mgc2VsZi5zdGVwcy50b1N0cmluZygp
IGlzICJoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub3BlbixoMS5z
ZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgy
Lm9wZW4ub25zdWNjZXNzIgogCiBURVNUOiB0d28gc2V0VmVyc2lvbnMgZnJvbSB0aGUgc2FtZSBj
b25uZWN0aW9uCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZlciA9IDE7IHdpbmRv
dy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Nic7IHNlbGYudmVyID0gMTsgc2VsZi5z
dGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9u
JwpAQCAtOTcsNyArOTcsNyBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZlciA9
IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiBoYWxmIGRvbmUKICdoMS5zZXRWZXJzaW9uLm9uc3VjY2Vz
cycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwotUEFTUyB3aW5kb3cuc3Rl
cHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9u
LGgxLnNldFZlcnNpb24saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFu
c2FjdGlvbi1jb21wbGV0ZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRy
YW5zYWN0aW9uLWNvbXBsZXRlIgorUEFTUyBzZWxmLnN0ZXBzLnRvU3RyaW5nKCkgaXMgImgxLm9w
ZW4saDEub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMS5zZXRWZXJzaW9uLGgxLnNldFZl
cnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDEuc2V0
VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZSIKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12ZXJzaW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbApp
bmRleCBmY2M1MGIzYWVkNzQwNTk0MjYyMjQyZGEyNzEwMjY2NDU3MWY1ZmQ5Li41MWY1MmIwMjgw
MjVkOGYyZDNmNWZlNDg0YjJlOWM2MDdjZDIyNWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbApAQCAtMTIsNDQgKzEy
LDQ0IEBAIGRlc2NyaXB0aW9uKCJUZXN0IGludGVybGVhdmVkIG9wZW4vY2xvc2Uvc2V0VmVyc2lv
biBjYWxscyBpbiB2YXJpb3VzIHBlcm11dGF0aW9uCiAKIGZ1bmN0aW9uIENvbm5lY3Rpb24oaWQp
IHsKICAgICBpZCA9IFN0cmluZyhpZCk7Ci0gICAgdmFyIHNlbGYgPSB0aGlzOworICAgIHZhciB0
aGF0ID0gdGhpczsKICAgICB0aGlzLm9wZW4gPSBmdW5jdGlvbihvcHRzKSB7Ci0gICAgICAgIHdp
bmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4nIikpOwotICAgICAg
ICB2YXIgcmVxID0gaW5kZXhlZERCLm9wZW4od2luZG93LmRibmFtZSk7CisgICAgICAgIHNlbGYu
c3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vcGVuJyIpKTsKKyAgICAgICAgdmFy
IHJlcSA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKTsKICAgICAgICAgcmVxLm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0
aW9uIChlKSB7Ci0gICAgICAgICAgICBzZWxmLmhhbmRsZSA9IGUudGFyZ2V0LnJlc3VsdDsKLSAg
ICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4u
b25zdWNjZXNzJyIpKTsKLSAgICAgICAgICAgIHNlbGYuaGFuZGxlLm9udmVyc2lvbmNoYW5nZSA9
IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5k
TG9nKCInIiArIGlkICsgIi5vbnZlcnNpb25jaGFuZ2UnIikpOwotICAgICAgICAgICAgICAgIGlm
IChvcHRzICYmIG9wdHMub252ZXJzaW9uKSB7IG9wdHMub252ZXJzaW9uLmNhbGwoc2VsZik7IH0K
KyAgICAgICAgICAgIHRoYXQuaGFuZGxlID0gZS50YXJnZXQucmVzdWx0OworICAgICAgICAgICAg
c2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4ub25zdWNjZXNzJyIp
KTsKKyAgICAgICAgICAgIHRoYXQuaGFuZGxlLm9udmVyc2lvbmNoYW5nZSA9IGZ1bmN0aW9uKGUp
IHsKKyAgICAgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCAr
ICIub252ZXJzaW9uY2hhbmdlJyIpKTsKKyAgICAgICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRz
Lm9udmVyc2lvbikgeyBvcHRzLm9udmVyc2lvbi5jYWxsKHRoYXQpOyB9CiAgICAgICAgICAgICB9
OwotICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0cy5vbnN1Y2Nl
c3MuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3Mp
IHsgb3B0cy5vbnN1Y2Nlc3MuY2FsbCh0aGF0KTsgfQogICAgICAgICB9OwogICAgIH07CiAKICAg
ICB0aGlzLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2
YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKKyAgICAgICAgc2VsZi5zdGVwcy5wdXNo
KGV2YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKICAgICAgICAgdGhpcy5oYW5kbGUu
Y2xvc2UoKTsKICAgICB9OwogCiAgICAgdGhpcy5zZXRWZXJzaW9uID0gZnVuY3Rpb24ob3B0cykg
ewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRW
ZXJzaW9uJyIpKTsKLSAgICAgICAgdmFyIHJlcSA9IHRoaXMuaGFuZGxlLnNldFZlcnNpb24oU3Ry
aW5nKHdpbmRvdy52ZXIrKykpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygi
JyIgKyBpZCArICIuc2V0VmVyc2lvbiciKSk7CisgICAgICAgIHZhciByZXEgPSB0aGlzLmhhbmRs
ZS5zZXRWZXJzaW9uKFN0cmluZyhzZWxmLnZlcisrKSk7CiAgICAgICAgIHJlcS5vbmFib3J0ID0g
ZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2co
IiciICsgaWQgKyAiLnNldFZlcnNpb24ub25hYm9ydCciKSk7Ci0gICAgICAgICAgICBpZiAob3B0
cyAmJiBvcHRzLm9uYWJvcnQpIHsgb3B0cy5vbmFib3J0LmNhbGwoc2VsZik7IH0KKyAgICAgICAg
ICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9u
YWJvcnQnIikpOworICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmFib3J0KSB7IG9wdHMu
b25hYm9ydC5jYWxsKHRoYXQpOyB9CiAgICAgICAgIH07CiAgICAgICAgIHJlcS5vbmJsb2NrZWQg
PSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmJsb2NrZWQnIikpOwotICAgICAgICAgICAgaWYg
KG9wdHMgJiYgb3B0cy5vbmJsb2NrZWQpIHsgb3B0cy5vbmJsb2NrZWQuY2FsbChzZWxmKTsgfQor
ICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZl
cnNpb24ub25ibG9ja2VkJyIpKTsKKyAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25ibG9j
a2VkKSB7IG9wdHMub25ibG9ja2VkLmNhbGwodGhhdCk7IH0KICAgICAgICAgfTsKICAgICAgICAg
cmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICB3aW5kb3cuc3RlcHMu
cHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uc3VjY2VzcyciKSk7Ci0g
ICAgICAgICAgICBpZiAoc2VsZi5oYW5kbGUub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygidGVz
dC1zdG9yZSIgKyB3aW5kb3cudmVyKSkgewotICAgICAgICAgICAgICAgIHNlbGYuaGFuZGxlLmRl
bGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOworICAgICAgICAgICAg
c2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25zdWNj
ZXNzJyIpKTsKKyAgICAgICAgICAgIGlmICh0aGF0LmhhbmRsZS5vYmplY3RTdG9yZU5hbWVzLmNv
bnRhaW5zKCJ0ZXN0LXN0b3JlIiArIHNlbGYudmVyKSkgeworICAgICAgICAgICAgICAgIHRoYXQu
aGFuZGxlLmRlbGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHNlbGYudmVyKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHZhciBzdG9yZSA9IHNlbGYuaGFuZGxlLmNyZWF0ZU9iamVj
dFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOworICAgICAgICAgICAgdmFyIHN0b3Jl
ID0gdGhhdC5oYW5kbGUuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUiICsgc2VsZi52ZXIp
OwogICAgICAgICAgICAgdmFyIGNvdW50ID0gMDsKICAgICAgICAgICAgIGRvX2FzeW5jX3B1dHMo
KTsgLy8gS2VlcCB0aGlzIHRyYW5zYWN0aW9uIHJ1bm5pbmcgZm9yIGEgd2hpbGUKICAgICAgICAg
ICAgIGZ1bmN0aW9uIGRvX2FzeW5jX3B1dHMoKSB7CkBAIC01OSwxNSArNTksMTUgQEAgZnVuY3Rp
b24gQ29ubmVjdGlvbihpZCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoKytjb3VudCA8IDEw
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBkb19hc3luY19wdXRzKCk7CiAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc3RlcHMu
cHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBs
ZXRlJyIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25zdWNj
ZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLnRy
YW5zYWN0aW9uLWNvbXBsZXRlJyIpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRz
ICYmIG9wdHMub25zdWNjZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwodGhhdCk7IH0KICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH07CiAgICAgICAgIHJlcS5vbmVycm9yID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAg
IHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25l
cnJvciciKSk7Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uZXJyb3IpIHsgb3B0cy5v
bmVycm9yLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5k
TG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uZXJyb3InIikpOworICAgICAgICAgICAgaWYg
KG9wdHMgJiYgb3B0cy5vbmVycm9yKSB7IG9wdHMub25lcnJvci5jYWxsKHRoYXQpOyB9CiAgICAg
ICAgIH07CiAgICAgfTsKIH0KQEAgLTg4LDcgKzg4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIGZ1
bmN0aW9uIHRlc3QxKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVEVTVDogc2V0VmVy
c2lvbiBibG9ja2VkIG9uIG9wZW4gaGFuZGxlcyIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5k
Ym5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAg
ICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVyID0gMTsgc2VsZi5z
dGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7CiAgICAgdmFy
IGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRvTmV4
dCkgeyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTAwLDcgKzEwMCw3IEBA
IGZ1bmN0aW9uIHRlc3QxKCkgewogICAgICAgICAgZnVuY3Rpb24oZG9OZXh0KSB7IGgxLnNldFZl
cnNpb24oe29uc3VjY2VzczogZmluaXNoVGVzdH0pOyB9LAogICAgICAgICAgXSk7CiAgICAgZnVu
Y3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5k
b3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2Vs
Zi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEu
b3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNz
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIub3BlbiIsCkBAIC0xMTksNyAr
MTE5LDcgQEAgZnVuY3Rpb24gdGVzdDEoKSB7CiBmdW5jdGlvbiB0ZXN0MigpIHsKICAgICBkZWJ1
ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IHNldFZlcnNpb24gbm90IGJsb2NrZWQgaWYgaGFuZGxl
IGNsb3NlZCBpbW1lZGlhdGVseSIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAn
dGVzdDInOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5k
TG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtd
Iik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7CiAgICAgdmFyIGgyID0gbmV3
IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRvTmV4dCkgeyBoMS5v
cGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTM0LDcgKzEzNCw3IEBAIGZ1bmN0aW9u
IHRlc3QyKCkgewogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKICAgICAgICAgZGVidWco
Ik5PVEU6IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNpb24ub25ibG9ja2Vk
IHN0ZXA7IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMCIpOwot
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5zdGVwcy50b1N0cmluZygpIiwK
KyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0ZXBzLnRvU3RyaW5nKCkiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJoMS5vcGVuIiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaDEub3Blbi5vbnN1Y2Nlc3MiLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJoMi5vcGVuIiwKQEAgLTE1Miw3ICsxNTIsNyBAQCBmdW5jdGlvbiB0ZXN0
MigpIHsKIGZ1bmN0aW9uIHRlc3QzKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVEVT
VDogb3BlbiBhbmQgc2V0VmVyc2lvbiBibG9ja2VkIGlmIGEgVkVSU0lPTl9DSEFOR0UgdHJhbnNh
Y3Rpb24gaXMgcnVubmluZyAtIGNsb3NlIHdoZW4gYmxvY2tlZCIpOwotICAgIGV2YWxBbmRMb2co
IndpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0g
W10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0g
MTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7
CiAgICAgdmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgdmFyIGgzID0gbmV3IENv
bm5lY3Rpb24oImgzIik7CkBAIC0xNjksNyArMTY5LDcgQEAgZnVuY3Rpb24gdGVzdDMoKSB7CiAg
ICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaDIub3BlbiIsCkBAIC0xOTQsNyArMTk0LDcgQEAgZnVuY3Rpb24gdGVzdDMoKSB7CiBm
dW5jdGlvbiB0ZXN0NCgpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IG9wZW4g
YW5kIHNldFZlcnNpb24gYmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlz
IHJ1bm5pbmcgLSBqdXN0IGNsb3NlIik7Ci0gICAgZXZhbEFuZExvZygid2luZG93LmRibmFtZSA9
ICd0ZXN0NCc7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXSIpOworICAgIGV2YWxB
bmRMb2coInNlbGYuZGJuYW1lID0gJ3Rlc3Q0Jzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0g
W10iKTsKICAgICB2YXIgaDEgPSBuZXcgQ29ubmVjdGlvbigiaDEiKTsKICAgICB2YXIgaDIgPSBu
ZXcgQ29ubmVjdGlvbigiaDIiKTsKICAgICB2YXIgaDMgPSBuZXcgQ29ubmVjdGlvbigiaDMiKTsK
QEAgLTIwNyw3ICsyMDcsNyBAQCBmdW5jdGlvbiB0ZXN0NCgpIHsKIAogICAgIGZ1bmN0aW9uIGZp
bmlzaFRlc3QoKSB7CiAgICAgICAgIGRlYnVnKCJOT1RFOiBXaWxsIEZBSUwgd2l0aCBleHRyYSBi
b2d1cyBoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25z
dWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIub3BlbiIsCkBAIC0y
MjYsNyArMjI2LDcgQEAgZnVuY3Rpb24gdGVzdDQoKSB7CiBmdW5jdGlvbiB0ZXN0NSgpIHsKICAg
ICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IG9wZW4gYmxvY2tlZCBpZiBhIFZFUlNJT05f
Q0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmciKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cu
ZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7Cisg
ICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDUnOyBzZWxmLnZlciA9IDE7IHNlbGYu
c3RlcHMgPSBbXSIpOwogICAgIHZhciBoMSA9IG5ldyBDb25uZWN0aW9uKCJoMSIpOwogICAgIHZh
ciBoMiA9IG5ldyBDb25uZWN0aW9uKCJoMiIpOwogCkBAIC0yMzYsNyArMjM2LDcgQEAgZnVuY3Rp
b24gdGVzdDUoKSB7CiAgICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVz
dCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJp
bmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmlu
ZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaDEuc2V0VmVyc2lvbiIsCkBAIC0yNTMsNyArMjUzLDcgQEAg
ZnVuY3Rpb24gdGVzdDUoKSB7CiBmdW5jdGlvbiB0ZXN0NigpIHsKICAgICBkZWJ1ZygiIik7CiAg
ICAgZGVidWcoIlRFU1Q6IHR3byBzZXRWZXJzaW9ucyBmcm9tIHRoZSBzYW1lIGNvbm5lY3Rpb24i
KTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZlciA9
IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7CisgICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAn
dGVzdDYnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXSIpOwogICAgIHZhciBoMSA9IG5l
dyBDb25uZWN0aW9uKCJoMSIpOwogCiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRvTmV4dCkgeyBo
MS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKQEAgLTI3Miw3ICsyNzIsNyBAQCBmdW5jdGlvbiB0ZXN0NigpIHsKICAgICB9ICAK
IAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygid2luZG93LnN0ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInNlbGYuc3RlcHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbImgxLm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoMS5vcGVu
Lm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLnNldFZlcnNp
b24iLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJz
b3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwK
aW5kZXggMDllZDc5OGRmNjljN2RiNGQ1NmJmZmZjNWYyZjQ1MTZjYTYyYzcyNC4uZjRiMzhjY2Q3
ZWNjNmY4NDk5NGNkZWU2MGZhZDM2OTExOTM5NzkxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sCkBAIC01Nyw3ICs1Nyw3IEBAIGZ1bmN0aW9u
IG9wZW5DdXJzb3IoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVn
KCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2co
InRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRy
YW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxi
YWNrOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wcmVmZXRj
aC1idWdmaXgtMTA4MDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wcmVm
ZXRjaC1idWdmaXgtMTA4MDcxLmh0bWwKaW5kZXggZDAyNjIxYzdkN2EwZDVlYzAwMDk3MDk1MTU0
NTg1ZDMxYjBmMGRmMC4uMjI3ODI2ZTQ2YTY3ZmNlYjYyY2FjZTcxNGM2NzliMzJiMDUzMDRmOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVnZml4
LTEwODA3MS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNo
LWJ1Z2ZpeC0xMDgwNzEuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBmdW5jdGlvbiBvcGVuU3VjY2Vz
cygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVidWcoInNldFZlcnNp
b25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5z
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51
bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAg
dHJhbnMub25jb21wbGV0ZSA9IGl0ZXJhdGVBbmREZWxldGVGaXJzdEVsZW1lbnQ7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9xdWV1ZWQtY29tbWFuZHMuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCmluZGV4
IGM5NzMwZGIwNDU3NjUwYjQ0ZDFmYTAyNWMwYjk3NjhhMmMzMmE2YmMuLmU3YTlhYzcxMTVhMDY3
OWQzOWEwNzRlNWY3OGI4YjNiMzU3ZDc1NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCkBAIC0zMCwxNCArMzAsMTQgQEAgZnVu
Y3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAgZGVi
dWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExv
ZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgi
dHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2Fs
bGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93LnN0
b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7Ci0g
ICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgoJ2lu
ZGV4TmFtZScsICd4JykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CisgICAgc2VsZi5pbmRleE9iamVjdCA9IGV2YWxB
bmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcpIik7CiAKICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygic3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30sICdrZXkn
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZlcmlmeUFkZCgwKTsg
fTsKQEAgLTUxLDcgKzUxLDcgQEAgZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZlcmlmeUFkZCgyKTsgfTsKICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIAotICAgIHdpbmRvdy5hZGRDb3Vu
dCA9IDA7CisgICAgc2VsZi5hZGRDb3VudCA9IDA7CiB9CiAKIGZ1bmN0aW9uIHZlcmlmeUFkZChl
eHBlY3RlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3JlcXVl
c3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCAxNzY2YjYyNmYxY2Y5MGQxZjQx
YTAxZmI1YmYxNzJlZTUwOTEwZjM0Li4yMTU3MjcwZmExMzZhMmU1MTQ3YTg0YjNiNTE3YTBhMGZl
MmUxOWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0
LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0
aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewogICAgIGRlYnVn
KCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2co
InRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRy
YW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxi
YWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBzdGFydFRlc3QiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZlcnNpb24tbnVsbC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwK
aW5kZXggODVlNmE4Mjg1OTY2ZjQwOTJlYzliZDE0MjUxYTRiMTc5Mzk3OTllMC4uNmE4ODAxNDBm
ZjUxNjMzNDFlNGY3NzhkNzRkMzg2YWQ1ZmEyODEwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKICAKLSAgICBu
YW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZlcnNpb24tdW5kZWZpbmVkLmh0bWwKaW5kZXgg
MjM3MDBiZTgwOTlhNjM0NGQwNjhiMThiNzYzMTFkYzhiMjQ2ZTFmNi4uZGZhOGE1MWM4Y2NmMGE5
MWQ0OTI0NTU0NGY3YjY0NGJiOTE2MWE2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5lZC5odG1sCkBAIC0xNSw3ICsxNSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAgCi0g
ICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2Nh
dGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24p
Iik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3Rl
ZC50eHQKaW5kZXggZjk2NGQyMjEwNWI0ZjBiZGY2Zjk0YjE4ZDA0OGY4MDZmYWZiMzc5OC4uYTgx
OWE4ZWUzY2EyNjJlNDlmMjdmOGJlOWRiNWQxODY3YjAyMWUxYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3Rl
ZC50eHQKQEAgLTU5OCw3ICs1OTgsNyBAQCBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFT
UyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgogCiBPdGhlciBob3N0IG9iamVj
dCB0eXBlczoKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQod2luZG93LCAna2V5
JykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoc2VsZiwgJ2tleScpCiBQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NM
T05FX0VSUgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChkb2N1bWVudCwgJ2tl
eScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVk
LWNsb25lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNs
b25lLmh0bWwKaW5kZXggYTMzM2E2OTJjZjg4Y2Y2YzkwZjk5NGUzYjlhZjBhZTExZjVmOTVmMy4u
N2Q2NDk5ZjI3NGQxM2Y0ODdiYmY4MzZkMDNhZDk5MGNhNDgxMzQ0NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbApAQCAtMTEs
NyArMTEsNyBAQAogCiBkZXNjcmlwdGlvbigiVGVzdCBzdHJ1Y3R1cmVkIGNsb25lIHBlcm11dGF0
aW9ucyBpbiBJbmRleGVkREIuIEZpbGUvRmlsZUxpc3QgdGVzdHMgcmVxdWlyZSBEdW1wUmVuZGVy
VHJlZS4iKTsKIAotaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworaWYgKHNlbGYuZXZlbnRTZW5k
ZXIpIHsKICAgICB2YXIgZmlsZUlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGVJ
bnB1dCIpOwogICAgIHZhciBmaWxlUmVjdCA9IGZpbGVJbnB1dC5nZXRDbGllbnRSZWN0cygpWzBd
OwogICAgIHZhciB0YXJnZXRYID0gZmlsZVJlY3QubGVmdCArIGZpbGVSZWN0LndpZHRoIC8gMjsK
QEAgLTEwOSw3ICsxMDksNyBAQCBmdW5jdGlvbiB0ZXN0VmFsdWUodmFsdWUsIGNhbGxiYWNrKQog
ICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICBl
dmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIp
OwogCi0gICAgd2luZG93LnZhbHVlID0gdmFsdWU7CisgICAgc2VsZi52YWx1ZSA9IHZhbHVlOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5wdXQodmFsdWUsICdrZXknKSIpOwogICAg
IHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpAQCAtMTQ3LDcgKzE0Nyw3IEBAIGZ1bmN0aW9uIHRl
c3RQcmltaXRpdmVWYWx1ZShzdHJpbmcsIGNhbGxiYWNrKQogICAgIHZhciB2YWx1ZSA9IGV2YWwo
InZhbHVlID0gKCIgKyBzdHJpbmcgKyAiKSIpOwogICAgIHRlc3RfZGF0YSA9IHZhbHVlOwogICAg
IHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICB3aW5kb3cu
cmVzdWx0ID0gcmVzdWx0OworICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAg
c2hvdWxkQmVUcnVlKCJpcyh0ZXN0X2RhdGEsIHJlc3VsdCkiKTsKICAgICAgICAgZGVidWcoIiIp
OwogICAgICAgICBjYWxsYmFjaygpOwpAQCAtMTYwLDcgKzE2MCw3IEBAIGZ1bmN0aW9uIHRlc3RP
YmplY3RXaXRoVmFsdWUoc3RyaW5nLCBjYWxsYmFjaykKICAgICB2YXIgdmFsdWUgPSBldmFsKCJ2
YWx1ZSA9ICgiICsgc3RyaW5nICsgIikiKTsKICAgICB0ZXN0X2RhdGEgPSB2YWx1ZTsKICAgICB0
ZXN0VmFsdWUodGVzdF9kYXRhLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgd2luZG93LnJl
c3VsdCA9IHJlc3VsdDsKKyAgICAgICAgc2VsZi5yZXN1bHQgPSByZXN1bHQ7CiAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIHJlc3VsdCIsICJvYmplY3QiKTsKICAgICAgICAg
c2hvdWxkQmUoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIiwgIk9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpIik7CiAgICAgICAgIHNob3VsZEJl
VHJ1ZSgidGVzdF9kYXRhICE9PSByZXN1bHQiKTsKQEAgLTI4Miw3ICsyODIsNyBAQCBmdW5jdGlv
biB0ZXN0UmVnRXhwT2JqZWN0KGNhbGxiYWNrKQogICAgICAgICB2YXIgdmFsdWUgPSBldmFsKCJ2
YWx1ZSA9ICgiICsgc3RyaW5nICsgIikiKTsKICAgICAgICAgdGVzdF9kYXRhID0gdmFsdWU7CiAg
ICAgICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICAg
ICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAgICAgICAgIHNlbGYucmVzdWx0ID0gcmVz
dWx0OwogICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwog
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KSIsICJbb2JqZWN0IFJlZ0V4cF0iKTsKICAgICAgICAgICAgIHNob3Vs
ZEJlKCJyZXN1bHQudG9TdHJpbmcoKSIsICJ0ZXN0X2RhdGEudG9TdHJpbmcoKSIpOwpAQCAtMzE3
LDcgKzMxNyw3IEBAIGZ1bmN0aW9uIHRlc3RJbWFnZURhdGEoY2FsbGJhY2spCiAgICAgfQogCiAg
ICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHdpbmRv
dy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAg
ICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7CiAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkiLCAi
W29iamVjdCBJbWFnZURhdGFdIik7CiAgICAgICAgIHNob3VsZEJlKCJyZXN1bHQud2lkdGgiLCAi
dGVzdF9kYXRhLndpZHRoIik7CkBAIC0zNTAsNyArMzUwLDcgQEAgZnVuY3Rpb24gcmVhZEJsb2JB
c1RleHQoYmxvYiwgY2FsbGJhY2spCiBmdW5jdGlvbiBjaGVja0Jsb2JDb250ZW50cyhibG9iLCBl
eHBlY3RlZCwgY2FsbGJhY2spCiB7CiAgICAgcmVhZEJsb2JBc1RleHQoYmxvYiwgZnVuY3Rpb24o
dGV4dCkgewotICAgICAgICB3aW5kb3cudGV4dCA9IHRleHQ7CisgICAgICAgIHNlbGYudGV4dCA9
IHRleHQ7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsIGV4cGVjdGVkKTsK
ICAgICAgICAgY2FsbGJhY2soKTsKICAgICB9KTsKQEAgLTM2MCw4ICszNjAsOCBAQCBmdW5jdGlv
biBjb21wYXJlQmxvYnMoYmxvYjEsIGJsb2IyLCBjYWxsYmFjaykKIHsKICAgICByZWFkQmxvYkFz
VGV4dChibG9iMSwgZnVuY3Rpb24odGV4dDEpIHsKICAgICAgICAgcmVhZEJsb2JBc1RleHQoYmxv
YjIsIGZ1bmN0aW9uKHRleHQyKSB7Ci0gICAgICAgICAgICB3aW5kb3cudGV4dDEgPSB0ZXh0MTsK
LSAgICAgICAgICAgIHdpbmRvdy50ZXh0MiA9IHRleHQyOworICAgICAgICAgICAgc2VsZi50ZXh0
MSA9IHRleHQxOworICAgICAgICAgICAgc2VsZi50ZXh0MiA9IHRleHQyOwogICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0MiIsIHRleHQxKTsKICAgICAgICAgICAgIGNhbGxi
YWNrKCk7CiAgICAgICAgIH0pOwpAQCAtMzc4LDcgKzM3OCw3IEBAIGZ1bmN0aW9uIHRlc3RCbG9i
KGNhbGxiYWNrKQogICAgIGNhbGxiYWNrKCk7CiAgICAgcmV0dXJuOwogCi0gICAgZXZhbEFuZExv
ZygiQmxvYkJ1aWxkZXIgPSB3aW5kb3cuQmxvYkJ1aWxkZXIgfHwgd2luZG93LldlYktpdEJsb2JC
dWlsZGVyIik7CisgICAgZXZhbEFuZExvZygiQmxvYkJ1aWxkZXIgPSBzZWxmLkJsb2JCdWlsZGVy
IHx8IHNlbGYuV2ViS2l0QmxvYkJ1aWxkZXIiKTsKICAgICBzaG91bGRCZVRydWUoIkJsb2JCdWls
ZGVyICE9IG51bGwiKTsKICAgICBzaG91bGRCZVRydWUoIkZpbGVSZWFkZXIgIT0gbnVsbCIpOwog
ICAgIGV2YWxBbmRMb2coImJ1aWxkZXIgPSBuZXcgQmxvYkJ1aWxkZXIoKSIpOwpAQCAtMzg2LDcg
KzM4Niw3IEBAIGZ1bmN0aW9uIHRlc3RCbG9iKGNhbGxiYWNrKQogICAgIGV2YWxBbmRMb2coImJ1
aWxkZXIuYXBwZW5kKHRlc3RfY29udGVudCkiKTsKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEg
PSBidWlsZGVyLmdldEJsb2IoKSIpOwogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9u
KHJlc3VsdCkgewotICAgICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0OworICAgICAgICBzZWxm
LnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09IHJl
c3VsdCIpOwogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChyZXN1bHQpIiwgIltvYmplY3QgQmxvYl0iKTsKICAgICAgICAgc2hvdWxk
QmUoInJlc3VsdC5zaXplIiwgInRlc3RfZGF0YS5zaXplIik7CkBAIC0zOTcsOCArMzk3LDggQEAg
ZnVuY3Rpb24gdGVzdEJsb2IoY2FsbGJhY2spCiAKIGZ1bmN0aW9uIGNvbXBhcmVGaWxlcyhmaWxl
MSwgZmlsZTIsIGNhbGxiYWNrKQogewotICAgIHdpbmRvdy5maWxlMSA9IGZpbGUxOwotICAgIHdp
bmRvdy5maWxlMiA9IGZpbGUyOworICAgIHNlbGYuZmlsZTEgPSBmaWxlMTsKKyAgICBzZWxmLmZp
bGUyID0gZmlsZTI7CiAgICAgc2hvdWxkQmVUcnVlKCJmaWxlMSAhPT0gZmlsZTIiKTsKICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmaWxl
MSkiLCAiW29iamVjdCBGaWxlXSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUyKSIsICJbb2JqZWN0IEZpbGVdIik7CkBAIC00
MjYsOSArNDI2LDkgQEAgZnVuY3Rpb24gdGVzdEZpbGUoY2FsbGJhY2spCiAKICAgICBldmFsQW5k
TG9nKCJ0ZXN0X2NvbnRlbnQgPSBmaWxlSW5wdXQuZmlsZXNbMF0iKTsKIAotICAgIHdpbmRvdy50
ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgc2VsZi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRl
bnQ7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAg
IHdpbmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0Owog
ICAgICAgICBjb21wYXJlRmlsZXMocmVzdWx0LCB0ZXN0X2RhdGEsIGNhbGxiYWNrKTsKICAgICB9
KTsKIH0KQEAgLTQ0Niw5ICs0NDYsOSBAQCBmdW5jdGlvbiB0ZXN0RmlsZUxpc3QoY2FsbGJhY2sp
CiAKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2NvbnRlbnQgPSBmaWxlSW5wdXQuZmlsZXMiKTsKIAot
ICAgIHdpbmRvdy50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgc2VsZi50ZXN0X2RhdGEg
PSB0ZXN0X2NvbnRlbnQ7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0
KSB7Ci0gICAgICAgIHdpbmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0
ID0gcmVzdWx0OwogICAgICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7
CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKHJlc3VsdCkiLCAiW29iamVjdCBGaWxlTGlzdF0iKTsKICAgICAgICAgc2hvdWxkQmUo
InJlc3VsdC5sZW5ndGgiLCAidGVzdF9kYXRhLmxlbmd0aCIpOwpAQCAtNDc3LDcgKzQ3Nyw3IEBA
IGZ1bmN0aW9uIHRlc3RBcnJheShjYWxsYmFjaykgewogICAgIGV2YWxBbmRMb2coInRlc3RfZGF0
YVszMF0gPSBudWxsIik7CiAKICAgICB0ZXN0VmFsdWUodGVzdF9kYXRhLCBmdW5jdGlvbihyZXN1
bHQpIHsKLSAgICAgICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAgICAgc2VsZi5yZXN1
bHQgPSByZXN1bHQ7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdF9kYXRhICE9PSByZXN1bHQi
KTsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVu
Z3RoIik7CiAgICAgICAgIE9iamVjdC5rZXlzKHRlc3RfZGF0YSkuZm9yRWFjaCgKQEAgLTUwMCw3
ICs1MDAsNyBAQCBmdW5jdGlvbiB0ZXN0T2JqZWN0KGNhbGxiYWNrKSB7CiAgICAgZXZhbEFuZExv
ZygidGVzdF9kYXRhWycnXSA9IG51bGwiKTsKIAogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1
bmN0aW9uKHJlc3VsdCkgewotICAgICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0OworICAgICAg
ICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEg
IT09IHJlc3VsdCIpOwogICAgICAgICBzaG91bGRCZVRydWUoImFycmF5Q29tcGFyZShPYmplY3Qu
a2V5cyhyZXN1bHQpLnNvcnQoKSwgT2JqZWN0LmtleXModGVzdF9kYXRhKS5zb3J0KCkpIik7CiAg
ICAgICAgIE9iamVjdC5rZXlzKHRlc3RfZGF0YSkuZm9yRWFjaCgKQEAgLTUzMCw3ICs1MzAsNyBA
QCBmdW5jdGlvbiB0ZXN0QmFkVHlwZXMoKQogCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJP
dGhlciBob3N0IG9iamVjdCB0eXBlczoiKTsKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJz
dG9yZS5wdXQod2luZG93LCAna2V5JykiLCAiRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSIik7
CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KHNlbGYsICdrZXknKSIsICJE
T01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIiKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9u
KCJzdG9yZS5wdXQoZG9jdW1lbnQsICdrZXknKSIsICJET01FeGNlcHRpb24uREFUQV9DTE9ORV9F
UlIiKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQoZG9jdW1lbnQuYm9k
eSwgJ2tleScpIiwgIkRPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUiIpOwogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWwKaW5k
ZXggNWZhOTAwMjA4YTVmYzgyYjYwZTg4NWJkY2QwOWQ1OTgwZTljMzA4Yy4uNDU1NDU3NzZjYzNh
ZTUxMGNlNjAwYjE0ODgzYjMzMTlkNDgxYWEzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sCkBAIC0zMSw3ICszMSw3IEBA
IGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewogICAg
IGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRy
dWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9y
dENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBzdGFydFRlc3Qi
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFmdGVyLWNsb3NlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1hZnRlci1jbG9zZS5odG1sCmluZGV4IGQzMjgwYTEwMDlmZGNjNmYwNTEzM2IxMGY5YmM4
MjU1YTJmZjBmNzguLjFiYTBkYTZkNWFhMjZkODVkYTI5YjRiY2I4YjYyMjhiNTEyZmYyNzkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVy
LWNsb3NlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tYWZ0ZXItY2xvc2UuaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIGZ1
bmN0aW9uIG9wZW5TdWNjZXNzKCkNCiB7DQogICAgIGRlYnVnKCJvcGVuU3VjY2VzcygpOiIpOw0K
LSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsN
CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOw0K
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNp
b24gMScpIik7DQogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gaW5TZXRWZXJzaW9uOw0KICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsNCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUt
Y2FsbHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFu
ZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCmluZGV4IGUwYmU5OTdkMWVjMjJmZTYyYzdkOTc4MDFm
YWQyMDQwYWU5ODYyMzguLjFkNTc0ZGMyNjNhNDE1MTlhYWQ0ZmE4MjM0YjYzMWY0NDI1NmJhOGQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFu
ZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCkBAIC0yMSw3ICsyMSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7Ci0gICAgd2lu
ZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2Vs
Zi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJyZXN1bHQgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsKICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDMxZjA3Yjk3YjdkYTE0ZGU3ZDEzOGVjMGEwMmQ0ODQ3YmM1NDJkNTkuLjJkYTdmM2MwMjJl
YzVhYzgwY2NmM2M3YzE4MDhiYmI2OGMxYzIxNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4
dApAQCAtMTEsOSArMTEsOSBAQCBvcGVuU3VjY2VzcygpOgogZGIgPSBldmVudC50YXJnZXQucmVz
dWx0CiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykKIERlbGV0ZWQgYWxsIG9i
amVjdCBzdG9yZXMuCi1QQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCi1QQVNT
IHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCi1QQVNTIHdpbmRvdy5kYi5v
YmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxzZQorUEFTUyBzZWxm
LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KK1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVz
Lmxlbmd0aCBpcyAwCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3Rv
cmVGYWlsJykgaXMgZmFsc2UKIHJlcXVlc3QgPSBzdGFydFNldFZlcnNpb24oJ3ZlcnNpb24gZmFp
bCcpCiBhZGRSZW1vdmVJREJPYmplY3RzKCk6CiB0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQK
QEAgLTI0LDkgKzI0LDkgQEAgZGIuZGVsZXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcpCiBzdG9y
ZS5kZWxldGVJbmRleCgnaW5kZXhGYWlsJykKIAogdGVzdFNldFZlcnNpb25BYm9ydDIoKToKLVBB
U1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KLVBBU1Mgd2luZG93LmRiLm9iamVj
dFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMu
Y29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVO
YW1lcyBpcyBbXQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKK1BB
U1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxz
ZQogcmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBmYWlsJykKIGFkZFJlbW92ZUFk
ZElEQk9iamVjdHMoKToKIHRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdApAQCAtNDAsOSArNDAs
OSBAQCBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcpCiAKIHRlc3RT
ZXRWZXJzaW9uQWJvcnQzKCk6CiBQQVNTIGV2ZW50LmNhbmNlbGFibGUgaXMgZmFsc2UKLVBBU1Mg
d2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0
b3JlTmFtZXMubGVuZ3RoIGlzIDAKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMuY29u
dGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1l
cyBpcyBbXQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKK1BBU1Mg
c2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxzZQog
cmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBmYWlsJykKIGFkZElEQk9iamVjdHMo
KToKIFBBU1MgZXZlbnQuY2FuY2VsYWJsZSBpcyBmYWxzZQpAQCAtODcsOSArODcsOSBAQCBQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgogCiB0ZXN0U2V0VmVyc2lvbkFib3J0NCgpOgotUEFT
UyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbXQotUEFTUyB3aW5kb3cuZGIub2JqZWN0
U3RvcmVOYW1lcy5sZW5ndGggaXMgMAotUEFTUyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcy5j
b250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UKK1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5h
bWVzIGlzIFtdCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAorUEFT
UyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNl
CiByZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZhaWwnKQogYWRkSURCT2JqZWN0
c0FuZENvbW1pdCgpOgogdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCmluZGV4
IGQyYTJjOTIyMTcwODFkNjBiNTlmMjhhMGE5YmE1YzZhZWYwMmUzYTcuLjg2N2U1YzBmNjFjZWRj
MWZiY2Q0ODNhYWM0YmMwNmJmNjBiNWJlY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCkBAIC0yMiw3ICsyMiw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQ0KIHsNCiAgICAgZGVidWco
Im9wZW5TdWNjZXNzKCk6Iik7DQotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZl
bnQudGFyZ2V0LnJlc3VsdCIpOw0KKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7DQogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0g
ZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsNCiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBj
bGVhbkRhdGFiYXNlOw0KICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsNCkBAIC0yMTUsOSArMjE1LDkgQEAgZnVuY3Rpb24gc3RhcnRTZXRWZXJzaW9uKHZlcnNp
b25OYW1lKQogDQogZnVuY3Rpb24gY2hlY2tNZXRhZGF0YUVtcHR5KCkNCiB7DQotICAgIHNob3Vs
ZEJlKCJ3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcyIsICJbXSIpOw0KLSAgICBzaG91bGRCZSgi
d2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAiKTsNCi0gICAgc2hvdWxkQmUo
IndpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSIsICJmYWxz
ZSIpOw0KKyAgICBzaG91bGRCZSgic2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzIiwgIltdIik7DQor
ICAgIHNob3VsZEJlKCJzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAiKTsNCisg
ICAgc2hvdWxkQmUoInNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmVGYWls
JykiLCAiZmFsc2UiKTsNCiB9DQogDQogZnVuY3Rpb24gY2hlY2tNZXRhZGF0YUV4aXN0aW5nT2Jq
ZWN0U3RvcmUoKQ0KQEAgLTIzOCwxMSArMjM4LDExIEBAIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNj
ZXNzKCkKIHsNCiAgICAgZGVidWcoIiIpOw0KICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3Mo
KToiKTsNCi0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7DQorICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsNCiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOw0K
ICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7DQogICAgIHRyYW5z
LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBsZXRlJywgY29tcGxldGVDYWxsYmFjaywgZmFsc2UpOw0K
LSAgICB3aW5kb3cuY29tcGxldGVFdmVudEZpcmVkID0gZmFsc2U7DQorICAgIHNlbGYuY29tcGxl
dGVFdmVudEZpcmVkID0gZmFsc2U7DQogDQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7
DQogDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IDliNDNl
NWEwOTQwOThhNGY2NmNkMTFmMjVmNjZmN2E5MDBmZDI3YjkuLjYzNmM5YWU5NWVmM2U3NDk5YjYx
ZmM0NWNiZGMzZWRiOTMwMjk1YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1leHBl
Y3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiBkYi5z
ZXRWZXJzaW9uKCcxLjAnKQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2ZvbycpCiBkYi50cmFuc2Fj
dGlvbignZm9vJykKLXdpbmRvdy5nYygpCitzZWxmLmdjKCkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwKaW5k
ZXggMzk1MzM3OWQzNzI5YTAyZTgyNTgzNGUwOGQzZWZmOTA1MzQzMmRiNC4uMWNmNTI3YmViM2Ix
MGI4MDBjM2Q5NjM3Njg2Yjk2MGE3YmZmNzQ5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5odG1s
CkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBl
dmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnZm9vJykiKTsKICAgICBldmFsQW5kTG9n
KCJkYi50cmFuc2FjdGlvbignZm9vJykiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZ2MoKSIp
OworICAgIGV2YWxBbmRMb2coInNlbGYuZ2MoKSIpOwogICAgIGZpbmlzaEpTVGVzdCgpOwogfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1l
dmVudC1wcm9wYWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCBjMzY3MjllNjdhNzMyZTkyMzg2
NjIwNDhlNWQ0ZjNmYjE2YzRkZGI0Li5iNmI3ZWRkODZlMmQyN2JjMDVlNGE4YTRiM2UzYmYyNTk2
ZDZhNDk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKQEAgLTI5LDcgKzI5LDcg
QEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIHsK
LSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5z
Lm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICBldmFsQW5kTG9nKCJ0cmFu
cy5vbmNvbXBsZXRlID0gc3RhcnRUZXN0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkLW9ubHkuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCmluZGV4IGRmODhkMzM3
OGJkNGM2MzgwYzNkZTgzNTEzNjRmNDkyOTAxOTdkZDIuLmVmNjg4N2UwYjQ5ZjVlYTQwMmI1YmVl
OWMxNTA0ZjI3NDZmN2VlYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCkBAIC0yMiw3ICsyMiw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQ0KIHsNCiAgICAgZGVidWcoIm9w
ZW5TdWNjZXNzKCk6Iik7DQotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOw0KKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7DQogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXN1bHQgPSBkYi5z
ZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOw0KICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNsZWFu
RGF0YWJhc2U7DQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
Ow0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LXJvbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1yb2xsYmFjay5odG1sCmluZGV4IDcxNjJhNTBjYTljNWU4ZTE1NGZjMTljMWE2MWJmMjZlMTRk
ZWM1MzIuLjg2NDFlZTMxMzQ1YzE4ZDUwODA5MjI4MTY1ODc5ZTg2N2U0YzBiMzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcm9sbGJh
Y2suaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5T
dWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cuZGIg
PSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0g
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTMxLDcgKzMxLDcgQEAgZnVuY3Rpb24gb3BlblN1
Y2Nlc3MoKQogZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCiB7CiAgICAgZGVidWcoImNsZWFuRGF0
YWJhc2UoKToiKTsKLSAgICB3aW5kb3cudHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2Fj
dGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zYWN0aW9uID0gZXZh
bEFuZExvZygidHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgdHJhbnNh
Y3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHRyYW5zYWN0aW9u
Lm9uY29tcGxldGUgPSBzZXRWZXJzaW9uQ29tcGxldGU7CiAKQEAgLTQ0LDExICs0NCwxMSBAQCBm
dW5jdGlvbiBzZXRWZXJzaW9uQ29tcGxldGUoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29t
cGxldGUoKToiKTsKIAotICAgIHdpbmRvdy50cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydteU9iamVjdFN0b3JlJ10sIElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CisgICAgc2VsZi50cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydteU9iamVjdFN0b3JlJ10sIElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IGFib3J0Q2FsbGJhY2s7
CiAgICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNr
OwogCi0gICAgd2luZG93LnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnbXlPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5zdG9yZSA9IGV2YWxBbmRM
b2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ215T2JqZWN0U3RvcmUnKSIpOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoJ3JvbGxiYWNrVmFsdWUnLCAncm9s
bGJhY2tLZXkxMjMnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYWRkU3VjY2VzczsKICAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTY3LDcgKzY3
LDcgQEAgZnVuY3Rpb24gYWRkU3VjY2VzcygpCiBmdW5jdGlvbiBvcGVuQ3Vyc29yU3VjY2Vzcygp
CiB7CiAgICAgZGVidWcoIm9wZW5DdXJzb3JTdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LmN1cnNv
ciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxm
LmN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKIAog
ICAgIHRyYW5zYWN0aW9uLmFib3J0KCk7CiB9CkBAIC03Nyw4ICs3Nyw4IEBAIGZ1bmN0aW9uIGFi
b3J0Q2FsbGJhY2soKQogICAgIGRlYnVnKCJhYm9ydENhbGxiYWNrKCk6Iik7CiAgICAgZGVidWco
J1RyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLicpOwogCi0gICAgd2luZG93LnRyYW5zYWN0aW9uID0g
ZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ215T2JqZWN0U3RvcmUn
XSwgSURCVHJhbnNhY3Rpb24uUkVBRCkiKTsKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9n
KCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdteU9iamVjdFN0b3JlJykiKTsKKyAg
ICBzZWxmLnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbJ215T2JqZWN0U3RvcmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRCkiKTsKKyAgICBzZWxm
LnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnbXlP
YmplY3RTdG9yZScpIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInN0b3JlLmdldCgncm9s
bGJhY2tLZXkxMjMnKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZ2V0U3VjY2VzczsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVx
dWlyZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0
b3JlTmFtZXMtcmVxdWlyZWQuaHRtbAppbmRleCAzNTRmMTEwYTIyMDk1Y2U2MTBjODkxMGY4ZTJj
ZmE2YjlmNjcyYjIyLi4yZjYwMTVhOTAzMjMyY2FkODQxYjUwMjFiM2E3NDA0MWY0ODk5MWVkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9y
ZU5hbWVzLXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1l
ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBh
dGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4cGVjdGVk
LnR4dAppbmRleCAwMDVhNmExYjNhYTNmNDVmMmFhZWE3YTk5NDRjNTU0NzIwMjIxYWU5Li42YTg4
ZGFlODQ3OGZhMTBjOGNiMThjNGEwNDAzMDQ2ZDJhMjU5MGE1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4
cGVjdGVkLnR4dApAQCAtOCwzMiArOCwzMiBAQCBQQVNTIEJvb2xlYW4oaW5kZXhlZERCICYmIElE
QkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElEQkRhdAogCiBQ
QVNTIGluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCiBQQVNTIElEQlRyYW5zYWN0aW9uID09IG51
bGwgaXMgZmFsc2UKLXdpbmRvdy5zdGF0ZSA9ICdzdGFydGluZycKK3NlbGYuc3RhdGUgPSAnc3Rh
cnRpbmcnCiBpbmRleGVkREIub3BlbigndHdvLXZlcnNpb25zLW9uZS1jb25uZWN0aW9uJykKIGRi
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotd2luZG93LnN0YXRlID0gMAorc2VsZi5zdGF0ZSA9IDAK
IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpCiBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDInKQog
c2V0VmVyc2lvbigpICMxIGNhbGxiYWNrCi13aW5kb3cuc3RvcmUxID0gZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3Rlc3Qtc3RvcmUxJykKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgMQotd2luZG93LnN0
b3JlMS5wdXQoJ2FhYScsIDExMSkKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgMgotUEFTUyArK3dp
bmRvdy5zdGF0ZSBpcyAzCitzZWxmLnN0b3JlMSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0
LXN0b3JlMScpCitQQVNTICsrc2VsZi5zdGF0ZSBpcyAxCitzZWxmLnN0b3JlMS5wdXQoJ2FhYScs
IDExMSkKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDIKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDMKIGhh
bGZ3YXkgdGhlcmUuLi4KIHNldFZlcnNpb24oKSAjMiBjYWxsYmFjawotUEFTUyArK3dpbmRvdy5z
dGF0ZSBpcyA0Ci13aW5kb3cuc3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3Rv
cmUyJykKLXdpbmRvdy5zdG9yZTIucHV0KCdiYmInLCAyMjIpCi1QQVNTICsrd2luZG93LnN0YXRl
IGlzIDUKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgNgotUEFTUyB3aW5kb3cuZGIudmVyc2lvbiBp
cyAidmVyc2lvbiAyIgotd2luZG93LnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3Jl
MScsICd0ZXN0LXN0b3JlMiddKQotd2luZG93LnN0b3JlID0gd2luZG93LnRyYW5zLm9iamVjdFN0
b3JlKCd0ZXN0LXN0b3JlMScpCi13aW5kb3cucmVxID0gd2luZG93LnN0b3JlLmdldCgxMTEpCitQ
QVNTICsrc2VsZi5zdGF0ZSBpcyA0CitzZWxmLnN0b3JlMiA9IGRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCd0ZXN0LXN0b3JlMicpCitzZWxmLnN0b3JlMi5wdXQoJ2JiYicsIDIyMikKK1BBU1MgKytzZWxm
LnN0YXRlIGlzIDUKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDYKK1BBU1Mgc2VsZi5kYi52ZXJzaW9u
IGlzICJ2ZXJzaW9uIDIiCitzZWxmLnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3Jl
MScsICd0ZXN0LXN0b3JlMiddKQorc2VsZi5zdG9yZSA9IHNlbGYudHJhbnMub2JqZWN0U3RvcmUo
J3Rlc3Qtc3RvcmUxJykKK3NlbGYucmVxID0gc2VsZi5zdG9yZS5nZXQoMTExKQogUEFTUyBldmVu
dC50YXJnZXQucmVzdWx0IGlzICJhYWEiCi13aW5kb3cuc3RvcmUgPSB3aW5kb3cudHJhbnMub2Jq
ZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykKLXdpbmRvdy5yZXEgPSB3aW5kb3cuc3RvcmUuZ2V0KDIy
MikKK3NlbGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMicpCitz
ZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBp
cyAiYmJiIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLmh0bWwKaW5k
ZXggZTgwZWFmZTBiYzhhMDY5MTRkMDVhNjY3MjM2YTZhNmFlNjNlZWI5My4uYTIxYWI3MDEwY2Q5
NTZiMzQ3ZTEyNTBmMTI0MTk2MzE0MGI5OGRjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdlcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbApAQCAtMjEsNyArMjEs
NyBAQCBmdW5jdGlvbiB0ZXN0KCkgewogCiBmdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKIHsK
LSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnc3RhcnRpbmcnIik7CisgICAgZXZhbEFu
ZExvZygic2VsZi5zdGF0ZSA9ICdzdGFydGluZyciKTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKCd0d28tdmVyc2lvbnMtb25lLWNvbm5lY3Rpb24nKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CiAgICAgcmVxdWVzdC5vbmVycm9y
ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0yOSw4ICsyOSw4IEBAIGZ1bmN0aW9uIG9w
ZW5EQkNvbm5lY3Rpb24oKQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7Ci0gICAgd2luZG93
LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgZXZhbEFu
ZExvZygid2luZG93LnN0YXRlID0gMCIpOworICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0YXRlID0gMCIp
OwogCiAgICAgdmFyIHZlcnNpb25DaGFuZ2VSZXF1ZXN0MSA9IGV2YWxBbmRMb2coImRiLnNldFZl
cnNpb24oJ3ZlcnNpb24gMScpIik7CiAgICAgdmVyc2lvbkNoYW5nZVJlcXVlc3QxLm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTQ2LDEyICs0NiwxMiBAQCBmdW5jdGlvbiBv
cGVuU3VjY2VzcygpCiBmdW5jdGlvbiBpblNldFZlcnNpb24xKCkKIHsKICAgICBkZWJ1Zygic2V0
VmVyc2lvbigpICMxIGNhbGxiYWNrIik7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0b3JlMSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7Ci0gICAgc2hvdWxkQmUoIisr
d2luZG93LnN0YXRlIiwgIjEiKTsKLSAgICB2YXIgcmVxID0gZXZhbEFuZExvZygid2luZG93LnN0
b3JlMS5wdXQoJ2FhYScsIDExMSkiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0b3JlMSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7CisgICAgc2hvdWxkQmUoIisrc2Vs
Zi5zdGF0ZSIsICIxIik7CisgICAgdmFyIHJlcSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUxLnB1
dCgnYWFhJywgMTExKSIpOwogICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7CiAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgIHNob3VsZEJl
KCIrK3dpbmRvdy5zdGF0ZSIsICIyIik7CisgICAgICAgIHNob3VsZEJlKCIrK3NlbGYuc3RhdGUi
LCAiMiIpOwogICAgICAgICBoYWxmd2F5RG9uZSgpOwogICAgIH07CiB9CkBAIC01OSwxMyArNTks
MTMgQEAgZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCiBmdW5jdGlvbiBpblNldFZlcnNpb24yKCkK
IHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbigpICMyIGNhbGxiYWNrIik7Ci0gICAgc2hvdWxkQmUo
Iisrd2luZG93LnN0YXRlIiwgIjQiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUyID0g
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykiKTsKKyAgICBzaG91bGRCZSgiKytz
ZWxmLnN0YXRlIiwgIjQiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0b3JlMiA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMicpIik7CiAKLSAgICB2YXIgcmVxID0gZXZhbEFuZExv
Zygid2luZG93LnN0b3JlMi5wdXQoJ2JiYicsIDIyMikiKTsKKyAgICB2YXIgcmVxID0gZXZhbEFu
ZExvZygic2VsZi5zdG9yZTIucHV0KCdiYmInLCAyMjIpIik7CiAgICAgcmVxLm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUp
IHsKLSAgICAgICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjUiKTsKKyAgICAgICAgc2hv
dWxkQmUoIisrc2VsZi5zdGF0ZSIsICI1Iik7CiAgICAgICAgIGhhbGZ3YXlEb25lKCk7CiAgICAg
fTsKIH0KQEAgLTc1LDI1ICs3NSwyNSBAQCBmdW5jdGlvbiBoYWxmd2F5RG9uZSgpCiB7CiAgICAg
Y291bnRlciArPSAxOwogICAgIGlmIChjb3VudGVyIDwgMikgewotICAgICAgICBzaG91bGRCZSgi
Kyt3aW5kb3cuc3RhdGUiLCAiMyIpOworICAgICAgICBzaG91bGRCZSgiKytzZWxmLnN0YXRlIiwg
IjMiKTsKICAgICAgICAgZGVidWcoImhhbGZ3YXkgdGhlcmUuLi4iICk7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjYiKTsKKyAgICAgICAgc2hvdWxk
QmUoIisrc2VsZi5zdGF0ZSIsICI2Iik7CiAgICAgICAgIGNoZWNrUmVzdWx0cygpOwogICAgIH0K
IH0KIAogZnVuY3Rpb24gY2hlY2tSZXN1bHRzKCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygid2luZG93LmRiLnZlcnNpb24iLCAidmVyc2lvbiAyIik7Ci0gICAgdHJhbnMgPSBldmFsQW5k
TG9nKCJ3aW5kb3cudHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3Rlc3Qtc3RvcmUxJywgJ3Rlc3Qt
c3RvcmUyJ10pIik7Ci0gICAgc3RvcmUgPSBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUgPSB3aW5k
b3cudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsKLSAgICByZXEgPSBldmFsQW5k
TG9nKCJ3aW5kb3cucmVxID0gd2luZG93LnN0b3JlLmdldCgxMTEpIik7CisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJzZWxmLmRiLnZlcnNpb24iLCAidmVyc2lvbiAyIik7CisgICAgdHJhbnMg
PSBldmFsQW5kTG9nKCJzZWxmLnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3JlMScs
ICd0ZXN0LXN0b3JlMiddKSIpOworICAgIHN0b3JlID0gZXZhbEFuZExvZygic2VsZi5zdG9yZSA9
IHNlbGYudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsKKyAgICByZXEgPSBldmFs
QW5kTG9nKCJzZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDExMSkiKTsKICAgICByZXEub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlv
biAoZSkgewogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1
bHQiLCAiYWFhIik7CiAKLSAgICAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUg
PSB3aW5kb3cudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykiKTsKLSAgICAgICAgcmVx
ID0gZXZhbEFuZExvZygid2luZG93LnJlcSA9IHdpbmRvdy5zdG9yZS5nZXQoMjIyKSIpOworICAg
ICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0
b3JlKCd0ZXN0LXN0b3JlMicpIik7CisgICAgICAgIHJlcSA9IGV2YWxBbmRMb2coInNlbGYucmVx
ID0gc2VsZi5zdG9yZS5nZXQoMjIyKSIpOwogICAgICAgICByZXEub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsK
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdCIs
ICJiYmIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVl
LXVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5k
ZWZpbmVkLmh0bWwKaW5kZXggYmE5NjdhNWE5NjNlMGRhNDc4ZTVlMmE5ODE0MzRkNjlkMThhOWMy
Ni4uOTYwODk3ZDUwNTI2OWI3ZTAzNGI0MDI0YmE4NmY1NWZmNWY1ODg1ZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLmh0bWwKQEAgLTE1
LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMo
KTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNl
bGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFz
ZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2Ny
aXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWwKaW5k
ZXggMTQ4ZTg4NDY2ZTdiZTJjMWY2ZjI5MGMwNTBlMmQ3YmU5MmJkNGVkNy4uZmRlYTBjNWJmMDJk
MDcwZmI4OGI2NzA4NWJhZjBlZWQyZGY2YTkwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdmFsdWVzLW9kZC10eXBlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFt
ZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5w
YXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC5odG1sCmluZGV4IGI1
YjI5ZWRjODkxNjcwNTNlZWNmNjZjMmM1ZWZhZjc5Y2FiYWQzMDMuLmY2MzI3MGI3M2ZhM2MyNDY1
MThhNTYzNDc5MzNlODVjMTVhNjBmMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuaHRtbApAQCAtMjYsNyArMjYsNyBA
QCBmdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKIAogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQog
ewotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OworICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
ICAgICBkZWJ1ZygiIik7CiAKICAgICBldmFsQW5kTG9nKCJ2Y3JlcSA9IGRiLnNldFZlcnNpb24o
J3ZlcnNpb24gMScpIik7CkBAIC03MSw4ICs3MSw4IEBAIGZ1bmN0aW9uIGluU2V0VmVyc2lvbjIo
KQogICAgIGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMicp
Iik7CiAKICAgICAvLyBFbnN1cmUgdGhlIHRlc3QgaGFybmVzcyBlcnJvciBoYW5kbGVyIGlzIG5v
dCBpbnZva2VkLgotICAgIHdpbmRvdy5vcmlnaW5hbFdpbmRvd09uRXJyb3IgPSB3aW5kb3cub25l
cnJvcjsKLSAgICB3aW5kb3cub25lcnJvciA9IG51bGw7CisgICAgc2VsZi5vcmlnaW5hbFdpbmRv
d09uRXJyb3IgPSBzZWxmLm9uZXJyb3I7CisgICAgc2VsZi5vbmVycm9yID0gbnVsbDsKIAogICAg
IGRlYnVnKCJyYWlzaW5nIGV4Y2VwdGlvbiIpOwogICAgIHRocm93IG5ldyBFcnJvcigiVGhpcyBz
aG91bGQgKk5PVCogYmUgY2F1Z2h0ISIpOwpAQCAtODQsNyArODQsNyBAQCBmdW5jdGlvbiBzZXRW
ZXJzaW9uMkFib3J0KCkKICAgICBkZWJ1Zygic2V0VmVyc2lvbjJBYm9ydCgpIGNhbGxiYWNrIik7
CiAKICAgICAvLyBSZXN0b3JlIHRlc3QgaGFybmVzcyBlcnJvciBoYW5kbGVyLgotICAgIHdpbmRv
dy5vbmVycm9yID0gd2luZG93Lm9yaWdpbmFsV2luZG93T25FcnJvcjsKKyAgICBzZWxmLm9uZXJy
b3IgPSBzZWxmLm9yaWdpbmFsV2luZG93T25FcnJvcjsKIAogICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZGIudmVyc2lvbiIsICJ2ZXJzaW9uIDEiKTsKICAgICBzaG91bGRCZVRydWUoImRiLm9i
amVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMScpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVz
aXZlLWV4cGVjdGVkLnR4dAppbmRleCBiMWNlN2QwNTA3MTlhYWU4ODQ5NzQxMGJiYTE3OWJlMDlm
ZDZjZjk5Li43MTIwOTlmZDg1MmFkYmRkNGM4ZGM5ZGE5MzgyZDY5NjQxM2NhN2ViIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNp
dmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNp
b24tY2hhbmdlLWV4Y2x1c2l2ZS1leHBlY3RlZC50eHQKQEAgLTYsNyArNiw3IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtp
dEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNl
bGYuT0luZGV4ZWREQjsKIFBBU1MgQm9vbGVhbihpbmRleGVkREIgJiYgSURCQ3Vyc29yICYmIElE
QkRhdGFiYXNlICYmIElEQkRhdGFiYXNlRXJyb3IgJiYgSURCRGF0YWJhc2VFeGNlcHRpb24gJiYg
SURCRmFjdG9yeSAmJiBJREJJbmRleCAmJiBJREJLZXlSYW5nZSAmJiBJREJPYmplY3RTdG9yZSAm
JiBJREJSZXF1ZXN0ICYmIElEQlRyYW5zYWN0aW9uKSBpcyB0cnVlCiAKLXdpbmRvdy5zdGF0ZSA9
ICdzdGFydGluZycKK3NlbGYuc3RhdGUgPSAnc3RhcnRpbmcnCiBpbmRleGVkREIub3BlbigndmVy
c2lvbi1jaGFuZ2UtZXhjbHVzaXZlJykKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogY2FsbGlu
ZyBzZXRWZXJzaW9uKCkgLSBjYWxsYmFjayBzaG91bGQgcnVuIGltbWVkaWF0ZWx5CkBAIC0xNSw3
ICsxNSw3IEBAIGNhbGxpbmcgb3BlbigpIC0gY2FsbGJhY2sgc2hvdWxkIHdhaXQgdW50aWwgVkVS
U0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24gaXMgY29tcGxlCiBpbmRleGVkREIub3BlbigndmVyc2lv
bi1jaGFuZ2UtZXhjbHVzaXZlJykKIHNldFZlcnNpb24oKSBjYWxsYmFjawogc3RhcnRpbmcgd29y
ayBpbiBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbgotd2luZG93LnN0YXRlID0gJ1ZFUlNJT05f
Q0hBTkdFIHN0YXJ0ZWQnCitzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIHN0YXJ0ZWQnCiBz
dG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlJykKIHN0b3JlLnB1dCgwLCAw
KQogaW4gcHV0J3Mgb25zdWNjZXNzCkBAIC0zOCw5ICszOCw5IEBAIGluIHB1dCdzIG9uc3VjY2Vz
cwogc3RvcmUucHV0KDksIDkpCiBpbiBwdXQncyBvbnN1Y2Nlc3MKIGVuZGluZyB3b3JrIGluIFZF
UlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uCi13aW5kb3cuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ug
ZmluaXNoZWQnCitzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkJwogb3Blbigp
IGNhbGxiYWNrIC0gdGhpcyBzaG91bGQgYXBwZWFyIGFmdGVyIFZFUlNJT05fQ0hBTkdFIHRyYW5z
YWN0aW9uIGVuZHMKLVBBU1Mgd2luZG93LnN0YXRlIGlzICJWRVJTSU9OX0NIQU5HRSBmaW5pc2hl
ZCIKK1BBU1Mgc2VsZi5zdGF0ZSBpcyAiVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZl
Lmh0bWwKaW5kZXggOGRkYjYyYzJmZWM4ODc0OTExMTYzYjI1OTZlODVkYmMyMDE3ZTVjYS4uMmZj
MjVmYmFhNTBjY2Q3MDU1ZDRiODEzZTA4NmI2NTY4ZTE1YmM4NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZl
Lmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogZnVuY3Rpb24gb3Bl
bkRCQ29ubmVjdGlvbigpCiB7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0gJ3N0YXJ0
aW5nJyIpOworICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1leGNs
dXNpdmUnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CiAgICAgcmVx
dWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0yNiw3ICsyNiw3IEBA
IGZ1bmN0aW9uIG9wZW5EQkNvbm5lY3Rpb24oKQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7
Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwog
CiAgICAgZGVidWcoImNhbGxpbmcgc2V0VmVyc2lvbigpIC0gY2FsbGJhY2sgc2hvdWxkIHJ1biBp
bW1lZGlhdGVseSIpOwogICAgIHZhciB2ZXJzaW9uQ2hhbmdlUmVxdWVzdCA9IGV2YWxBbmRMb2co
ImRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7CkBAIC00NSwxMCArNDUsMTAgQEAgZnVuY3Rp
b24gaW5TZXRWZXJzaW9uKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbigpIGNhbGxiYWNrIik7
CiAgICAgZGVidWcoInN0YXJ0aW5nIHdvcmsgaW4gVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24i
KTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRl
ZCciKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIHN0YXJ0
ZWQnIik7CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlJykiKTsKLSAgICB3aW5kb3cuY291bnQgPSAwOworICAg
IHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0
ZXN0LXN0b3JlJykiKTsKKyAgICBzZWxmLmNvdW50ID0gMDsKICAgICBkb19hc3luY19wdXRzKCk7
CiAKICAgICBmdW5jdGlvbiBkb19hc3luY19wdXRzKCkgewpAQCAtNTYsMTEgKzU2LDExIEBAIGZ1
bmN0aW9uIGluU2V0VmVyc2lvbigpCiAgICAgICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewogICAg
ICAgICAgICAgZGVidWcoImluIHB1dCdzIG9uc3VjY2VzcyIpOwotICAgICAgICAgICAgaWYgKCsr
d2luZG93LmNvdW50IDwgMTApIHsKKyAgICAgICAgICAgIGlmICgrK3NlbGYuY291bnQgPCAxMCkg
ewogICAgICAgICAgICAgICAgIGRvX2FzeW5jX3B1dHMoKTsKICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgZGVidWcoImVuZGluZyB3b3JrIGluIFZFUlNJT05fQ0hBTkdFIHRy
YW5zYWN0aW9uIik7Ci0gICAgICAgICAgICAgICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0g
J1ZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkJyIpOworICAgICAgICAgICAgICAgIGV2YWxBbmRMb2co
InNlbGYuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQnIik7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH07CiAgICAgfQpAQCAtNjksNyArNjksNyBAQCBmdW5jdGlvbiBpblNldFZlcnNp
b24oKQogZnVuY3Rpb24gb3BlbkFnYWluU3VjY2VzcygpCiB7CiAgICAgZGVidWcoIm9wZW4oKSBj
YWxsYmFjayAtIHRoaXMgc2hvdWxkIGFwcGVhciBhZnRlciBWRVJTSU9OX0NIQU5HRSB0cmFuc2Fj
dGlvbiBlbmRzIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RhdGUiLCAi
VkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNl
bGYuc3RhdGUiLCAiVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiKTsKICAgICBmaW5pc2hKU1Rlc3Qo
KTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC1l
eHBlY3RlZC50eHQKaW5kZXggZDQ3MDM4NzQ5ZjkxMzU1Mjc4ODhmYzIxZjkwNmZkYjU4NjRhODVi
ZS4uM2Y0OGNjZDA1YWI2ZGQ0ZjZlZjA5NGU5MTlmNWIyYTA5OWEyZDk1MiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZl
ZG9tb2JqZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC03
LDE4ICs3LDE4IEBAIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5k
ZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYuCiBQQVNTIEJvb2xlYW4oaW5kZXhl
ZERCICYmIElEQkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElE
QkRhdGFiYXNlRXhjZXB0aW9uICYmIElEQkZhY3RvcnkgJiYgSURCSW5kZXggJiYgSURCS2V5UmFu
Z2UgJiYgSURCT2JqZWN0U3RvcmUgJiYgSURCUmVxdWVzdCAmJiBJREJUcmFuc2FjdGlvbikgaXMg
dHJ1ZQogCiAKLXdpbmRvdy5kYm5hbWUgPSAndmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9t
b2JqZWN0Jworc2VsZi5kYm5hbWUgPSAndmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2Jq
ZWN0JwogCiB0ZXN0RGVsZXRlRGF0YWJhc2UoKToKLWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSh3
aW5kb3cuZGJuYW1lKQotd2luZG93LmdjKCkKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShzZWxm
LmRibmFtZSkKK3NlbGYuZ2MoKQogUEFTUyBkZWxldGVEYXRhYmFzZSdzIElEQlZlcnNpb25DaGFu
Z2VSZXF1ZXN0Lm9uc3VjY2VzcyBldmVudCBmaXJlZAogCiB0ZXN0U2V0VmVyc2lvbigpOgotb3Bl
blJlcXVlc3QgPSBpbmRleGVkREIub3Blbih3aW5kb3cuZGJuYW1lKQorb3BlblJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihzZWxmLmRibmFtZSkKIGRiID0gb3BlblJlcXVlc3QucmVzdWx0CiBkYi5z
ZXRWZXJzaW9uKCcxJykKLXdpbmRvdy5nYygpCitzZWxmLmdjKCkKIFBBU1Mgc2V0VmVyc2lvbidz
IElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0Lm9uc3VjY2VzcyBldmVudCBmaXJlZAogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRv
bW9iamVjdC5odG1sCmluZGV4IGYxYjVjZGQwYWExYjczYzhhNGQ2OGY5NGZkNGI3Y2ZhODhlYzNh
OTcuLmQxMGE2YTdkNTk3MzU0ZmE1N2M1ZDIxN2Y5MDgxODZjZDU2NTU2MWEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2
ZWRvbW9iamVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNp
b25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKSB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAogICAgIGRlYnVn
KCIiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3ZlcnNpb25jaGFuZ2VyZXF1
ZXN0LWFjdGl2ZWRvbW9iamVjdCciKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd2
ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QnIik7CiAKICAgICB0ZXN0RGVsZXRl
RGF0YWJhc2UoKTsKIH0KQEAgLTI1LDEzICsyNSwxMyBAQCBmdW5jdGlvbiB0ZXN0RGVsZXRlRGF0
YWJhc2UoKQogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygidGVzdERlbGV0ZURhdGFiYXNlKCk6
Iik7CiAgICAgLy8gTk9URTogZGVsZXRlUmVxdWVzdCBpcyBsb2NhbCB2YXJpYWJsZSBzbyBpdCBp
cyBub3QgY2FwdHVyZWQgaW4gZ2xvYmFsIHNjb3BlLgotICAgIHZhciBkZWxldGVSZXF1ZXN0ID0g
ZXZhbEFuZExvZygiaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKHdpbmRvdy5kYm5hbWUpIik7Cisg
ICAgdmFyIGRlbGV0ZVJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIuZGVsZXRlRGF0YWJh
c2Uoc2VsZi5kYm5hbWUpIik7CiAgICAgZGVsZXRlUmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CiAgICAgZGVsZXRlUmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVk
QmxvY2tlZENhbGxiYWNrOwogICAgIGRlbGV0ZVJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24o
KSB7IGRlbGV0ZVN1Y2Nlc3MoKTsgfTsKICAgICBkZWxldGVSZXF1ZXN0ID0gbnVsbDsKLSAgICBp
ZiAod2luZG93LmdjKSB7Ci0gICAgICAgIGV2YWxBbmRMb2coIndpbmRvdy5nYygpIik7CisgICAg
aWYgKHNlbGYuZ2MpIHsKKyAgICAgICAgZXZhbEFuZExvZygic2VsZi5nYygpIik7CiAgICAgfQog
fQogCkBAIC00Nyw3ICs0Nyw3IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uKCkKICAgICBkZWJ1
ZygidGVzdFNldFZlcnNpb24oKToiKTsKIAogICAgIC8vIE5PVEU6IFRoaXMgaXMganVzdCBhbiBJ
REJSZXF1ZXN0LCBpdCBjYW4gYmUgZ2xvYmFsLgotICAgIGV2YWxBbmRMb2coIm9wZW5SZXF1ZXN0
ID0gaW5kZXhlZERCLm9wZW4od2luZG93LmRibmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJvcGVu
UmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKSIpOwogICAgIG9wZW5SZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICBvcGVuUmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGV2YWxBbmRMb2coImRiID0gb3BlblJlcXVl
c3QucmVzdWx0Iik7CkBAIC01OCw4ICs1OCw4IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uKCkK
ICAgICAgICAgdmVyc2lvblJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxs
YmFjazsKICAgICAgICAgdmVyc2lvblJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZl
cnNpb25TdWNjZXNzKCk7IH07CiAgICAgICAgIHZlcnNpb25SZXF1ZXN0ID0gbnVsbDsKLSAgICAg
ICAgaWYgKHdpbmRvdy5nYykgewotICAgICAgICAgICAgZXZhbEFuZExvZygid2luZG93LmdjKCki
KTsKKyAgICAgICAgaWYgKHNlbGYuZ2MpIHsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coInNlbGYu
Z2MoKSIpOwogICAgICAgICB9CiAgICAgfTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131735</attachid>
            <date>2012-03-13 15:47:15 -0700</date>
            <delta_ts>2012-03-14 15:56:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81043-20120313154712.patch</filename>
            <type>text/plain</type>
            <size>170175</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDg2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDQ1ZmRkOTc1ODdhMmRiYjk5ZDVl
NmZkYzQ2Y2VlODc4OTM4YzEzNC4uOTBlNzdkMzAwNGRkYmRhMDYxNzYxZTM5ZmEzYmMzOGZmMmU1
M2ZkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEyOSBAQAogMjAxMi0wMy0xMyAgRGF2aWQgR3JvZ2FuICA8
ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgSW5kZXhlZERCIFRlc3RzOiB1c2Ugc2Vs
ZiBpbnN0ZWFkIG9mIHdpbmRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODEwNDMKKworICAgICAgICAnd2luZG93JyBpcyBtZWFuaW5nbGVzcyBpbiBh
IHdvcmtlcjsgdGhlc2UgdGVzdHMgd2lsbCBzb29uIGJlIHJ1biBmcm9tCisgICAgICAgIGEgd29y
a2VyIGNvbnRleHQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1l
LWFyZ3VtZW50LXJlcXVpcmVkLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Jl
YXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWNvbnRpbnVlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWRlbGV0ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNv
bnNpc3RlbmN5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluZGV4
LWRlbGV0ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3Jk
ZXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJpbWFyeS1rZXkt
b3JkZXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxl
dGVkLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS12YWx1
ZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1
cnNvci11cGRhdGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1
cHRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1iYXNpY3Mu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2Vk
LWRhdGFiYXNlLW9iamVjdC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0
ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxsLW5hbWUuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQuaHRtbDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50
ZXJhY3Rpb25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxl
dGVkYXRhYmFzZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWNvdW50
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY3Vyc29yLmh0bWw6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtZ2V0LWtleS1hcmd1bWVudC1yZXF1aXJl
ZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRpb24uaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0b3IuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9rZXktc29ydC1vcmRlci1hY3Jvc3MtdHlwZXMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXR5cGUtaW5maW5pdHkuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9r
ZXlwYXRoLWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgt
ZmV0Y2gta2V5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQt
dHdpY2UtZmFpbHVyZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
YXV0b2luY3JlbWVudC1pbmRleGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9iYWQta2V5cGF0aC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY2xlYXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2Ny
ZWF0ZS1pbmRleC11bmlxdWUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2NyZWF0ZS1pbmRleC13aXRoLWludGVnZXIta2V5cy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLWJhc2ljcy5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwt
bmFtZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11
dGF0aW9uLW9iamVjdHN0b3JlLW9ubHkuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9kZWxldGUtcmVzdWx0Lmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9pbmRleGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLWRlbGV0ZS1udWxsLWtleS5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5k
LXBhc3NlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy1wdXQtbm8ta2V5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy5odG1sOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLWlubGluZS1hdXRvaW5j
cmVtZW50LWtleS1hZGRlZC1vbi1wdXQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3RzdG9yZW5hbWVzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9wdXQtZ2V0LXZhbHVlcy5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rp
b25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkeVN0YXRl
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1vdmUtaW5kZXgu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1vYmplY3Rz
dG9yZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNo
YW5nZS1hYm9ydC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVy
c2lvbmNoYW5nZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1
cnNvci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdFN0b3JlLXJlcXVp
cmVkLWFyZ3VtZW50cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWF1dG9pbmNyZW1lbnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1jbGVhci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWNvdW50Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
Y3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVt
b3Zlb2JqZWN0c3RvcmUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNs
b3NlLXZlcnNpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY2xvc2UtdmVyc2lvbi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4t
Y3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVnZml4
LTEwODA3MS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5k
cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFn
YXRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLW51bGwu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5lZC5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3Jl
LWNhbGxzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFz
aWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZS11bmRlZmluZWQuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRv
bW9iamVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0Lmh0bWw6CisKKzIwMTItMDMtMTMgIERhdmlk
IEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIEluZGV4ZWREQiBsYXlv
dXQgdGVzdHM6IGZhY3RvciBvdXQgcHJlZml4LWhhbmRsaW5nLWNvZGUKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNjY0CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9y
ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUt
b2JqZWN0LXN0b3JlLmh0bWwKaW5kZXggNTU0MDM5ZThkZDNjZDNkN2NiZjViZTlkNTljNTZmNGVm
NjY5YWQ4Ny4uYmYxZThlYTQ4ZTQ2ZDkwMjU1Y2Q0NWQzM2JiNWZkMjAzNDg3N2VmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2Jq
ZWN0LXN0b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRl
LWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24g
dGVzdCgpCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7CiAgICAgZGVidWcoIm9wZW5TdWNjZXNz
KCk6Iik7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dCIpOwogICAgIHRlc3RDcmVhdGVBbmRSZW1vdmUoKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygicmVzdWx0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsKICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1lLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1lLWFy
Z3VtZW50LXJlcXVpcmVkLmh0bWwKaW5kZXggYzJjNGYyOTcxNGNjZWY2ZGY2ZjZjMGZiYmE3YjQw
NTRhOTBkODkzZi4uNDgwOTBjMjliNTA3OGM5OGRkNWEyNjU5OWM2YzllZGYzZWIxYzAxZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0U3RvcmUt
bmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2NyZWF0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbApAQCAt
MTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhl
cygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0g
c2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFi
YXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVz
Y3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZU9iamVjdFN0b3JlLW51
bGwtbmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0
U3RvcmUtbnVsbC1uYW1lLmh0bWwKaW5kZXggMjYwNTQ0ZWFmYTc5ZjdjZTNjOWU0ZmNhYmE3MTlj
MDRlYjQxMDU2My4uYmViMTg2ZjM5M2FkMGE2ZWRjODEzZmVmNmM3MWVlNGFkM2E3MDZkOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0U3RvcmUt
bnVsbC1uYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRl
T2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cu
bG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAg
ICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9jdXJzb3ItY29udGludWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1jb250aW51ZS5odG1sCmluZGV4IGNkYWZhZjcyM2Y1YTg5OGU5NTJlNGFi
MGNkMTMxNDYwYTY1MGU0ODQuLjQ5N2UxZTE2OWRlNDEzZGRhYjIyMDRlMzBhYmYxM2Y3NTIwNDRm
NzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1jb250
aW51ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1jb250
aW51ZS5odG1sCkBAIC0xMyw3ICsxMyw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidz
IElEQkN1cnNvci5jb250aW51ZSgpIHdpdGggYSBrZXkgcGFyYW1ldGVyLiIpOwogdmFyIGRhdGUg
PSBuZXcgRGF0ZSgpOwogCiAvLyBJbiBvcmRlciBvZiBob3cgaXQgc2hvdWxkIGJlIHNvcnRlZCBi
eSBJbmRleGVkREIuCi13aW5kb3cudGVzdERhdGEgPSBbCitzZWxmLnRlc3REYXRhID0gWwogICAg
IDAsCiAgICAgMSwKICAgICAxLApAQCAtNDksNyArNDksNyBAQCBmdW5jdGlvbiBvcGVuRGF0YWJh
c2UoKQogIAogZnVuY3Rpb24gc2V0VmVyc2lvbigpCiB7Ci0gICAgd2luZG93LmRiID0gZXZhbEFu
ZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRM
b2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgcmVzdWx0ID0gZXZhbEFuZExv
ZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlc3VsdC5vbnN1Y2Nlc3Mg
PSBkZWxldGVFeGlzdGluZzsKQEAgLTU4LDIyICs1OCwyMiBAQCBmdW5jdGlvbiBzZXRWZXJzaW9u
KCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9IGV2
YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMg
PSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRC
ZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRB
Ym9ydENhbGxiYWNrOwogCiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKIAotICAgIHdp
bmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzb21l
T2JqZWN0U3RvcmUnKSIpOwotICAgIHdpbmRvdy5pbmRleE9iamVjdCA9IGV2YWxBbmRMb2coIm9i
amVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7Ci0gICAgd2luZG93Lm5l
eHRUb0FkZCA9IDA7CisgICAgc2VsZi5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhPYmplY3Qg
PSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnc29tZUluZGV4JywgJ3gnKSIp
OworICAgIHNlbGYubmV4dFRvQWRkID0gMDsKICAgICBhZGREYXRhKCk7CiB9CiAKIGZ1bmN0aW9u
IGFkZERhdGEoKQogewogICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFkZCh7
J3gnOiB0ZXN0RGF0YVtuZXh0VG9BZGRdfSwgbmV4dFRvQWRkKSIpOwotICAgIHJlc3VsdC5vbnN1
Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5ndGggPyBhZGREYXRhIDog
YXNjZW5kaW5nVGVzdDsKKyAgICByZXN1bHQub25zdWNjZXNzID0gKytzZWxmLm5leHRUb0FkZCA8
IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBhc2NlbmRpbmdUZXN0OwogICAgIHJlc3VsdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKQEAgLTgzLDUzICs4Myw1MyBA
QCBmdW5jdGlvbiBhc2NlbmRpbmdUZXN0KCkKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLk5FWFQpIik7CiAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBhc2NlbmRpbmdDYWxsYmFjazsKICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOworICAg
IHNlbGYuc3RhZ2UgPSAwOwogfQogCiBmdW5jdGlvbiBhc2NlbmRpbmdDYWxsYmFjaygpCiAKIHsK
LSAgICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICBpZiAoc2VsZi5zdGFnZSA9PSAwKSB7
CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMCIp
OwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKDMuMTQx
NTkpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgIH0gZWxzZSBp
ZiAoc2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVz
dWx0LnByaW1hcnlLZXkiLCAiMyIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQu
cmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAyKSB7
CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDIpIHsKICAgICAgICAgc2hvdWxkQmUoImV2
ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICI0Iik7CiAgICAgICAgIGV2YWxBbmRMb2co
ImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93
LnN0YWdlID09IDMpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMykgewogICAgICAg
ICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjUiKTsKICAgICAg
ICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgxMikiKTsKLSAgICB9
IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA0KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdl
ID09IDQpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtl
eSIsICI3Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGlu
dWUoZGF0ZSkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA1KSB7CisgICAgfSBl
bHNlIGlmIChzZWxmLnN0YWdlID09IDUpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdl
dC5yZXN1bHQucHJpbWFyeUtleSIsICI5Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRh
cmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09
IDYpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNikgewogICAgICAgICBzaG91bGRC
ZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjEwIik7CiAgICAgICAgIGV2YWxB
bmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAo
d2luZG93LnN0YWdlID09IDcpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNykgewog
ICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjExIik7
CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoJ0EgYml0
MScpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gOCkgeworICAgIH0gZWxzZSBp
ZiAoc2VsZi5zdGFnZSA9PSA4KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVz
dWx0LnByaW1hcnlLZXkiLCAiMTQiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0
LnJlc3VsdC5jb250aW51ZSgnQSBiaXQzJykiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFn
ZSA9PSA5KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDkpIHsKICAgICAgICAgc2hv
dWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNiIpOwogICAgICAgICBl
dmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCd0aGUgQklHR0VTVCBzdHJp
bmcnKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDEwKSB7CisgICAgfSBlbHNl
IGlmIChzZWxmLnN0YWdlID09IDEwKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQu
cmVzdWx0LnByaW1hcnlLZXkiLCAiMTciKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFy
Z2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0g
MTEpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMTEpIHsKICAgICAgICAgc2hvdWxk
QmVOdWxsKCJldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgICAgIGRlc2NlbmRpbmdUZXN0KCk7
CiAgICAgICAgIHJldHVybjsKICAgICB9IGVsc2UgewogICAgICAgICB0ZXN0RmFpbGVkKCJJbGxl
Z2FsIHN0YWdlLiIpOwogICAgIH0KLSAgICB3aW5kb3cuc3RhZ2UrKzsKKyAgICBzZWxmLnN0YWdl
Kys7CiB9CiAKIGZ1bmN0aW9uIGRlc2NlbmRpbmdUZXN0KCkKQEAgLTEzOCw1NiArMTM4LDU2IEBA
IGZ1bmN0aW9uIGRlc2NlbmRpbmdUZXN0KCkKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpIik7CiAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZXNjZW5kaW5nQ2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAg
ICBzZWxmLnN0YWdlID0gMDsKIH0KIAogZnVuY3Rpb24gZGVzY2VuZGluZ0NhbGxiYWNrKCkKIHsK
LSAgICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICBpZiAoc2VsZi5zdGFnZSA9PSAwKSB7
CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMTci
KTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBi
aXQyJykiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgfSBlbHNl
IGlmIChzZWxmLnN0YWdlID09IDEpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5y
ZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJn
ZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAy
KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDIpIHsKICAgICAgICAgc2hvdWxkQmUo
ImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNCIpOwogICAgICAgICBldmFsQW5k
TG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKGRhdGUpIik7Ci0gICAgfSBlbHNlIGlm
ICh3aW5kb3cuc3RhZ2UgPT0gMykgeworICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAzKSB7
CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMTAi
KTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7
Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gNCkgeworICAgIH0gZWxzZSBpZiAoc2Vs
Zi5zdGFnZSA9PSA0KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnBy
aW1hcnlLZXkiLCAiOSIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0
LmNvbnRpbnVlKDEpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gNSkgeworICAg
IH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA1KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50
YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMiIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVu
dC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFn
ZSA9PSA2KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDYpIHsKICAgICAgICAgc2hv
dWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxIik7CiAgICAgICAgIGV2
YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBp
ZiAod2luZG93LnN0YWdlID09IDcpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNykg
ewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjAi
KTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7
Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gOCkgeworICAgIH0gZWxzZSBpZiAoc2Vs
Zi5zdGFnZSA9PSA4KSB7CiAgICAgICAgIHNob3VsZEJlTnVsbCgiZXZlbnQudGFyZ2V0LnJlc3Vs
dCIpOwogICAgICAgICBhc2NlbmRpbmdFcnJvclRlc3RMZXNzVGhhbigpOwogICAgICAgICByZXR1
cm47CiAgICAgfSBlbHNlIHsKICAgICAgICAgdGVzdEZhaWxlZCgiSWxsZWdhbCBzdGFnZS4iKTsK
ICAgICB9Ci0gICAgd2luZG93LnN0YWdlKys7CisgICAgc2VsZi5zdGFnZSsrOwogfQogCiBmdW5j
dGlvbiBhc2NlbmRpbmdFcnJvclRlc3RMZXNzVGhhbigpCiB7CiAgICAgZGVidWcoIiIpOwogICAg
IHZhciByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcihudWxs
LCBJREJDdXJzb3IuTkVYVCkiKTsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOworICAgIHNlbGYuc3Rh
Z2UgPSAwOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
c3RhZ2UgPT09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT09IDApIHsKICAgICAgICAg
ICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMCIpOwogICAg
ICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgzLjE0MTU5
KSIpOwotICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgICAgIH0g
ZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgICAgICBzaG91bGRCZSgiZXZlbnQu
dGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjMiKTsKICAgICAgICAgICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoMSkiLCAiSURCRGF0YWJh
c2VFeGNlcHRpb24uREFUQV9FUlIiKTsKICAgICAgICAgICAgIGFzY2VuZGluZ0Vycm9yVGVzdEVx
dWFsKCk7CkBAIC0xOTUsNyArMTk1LDcgQEAgZnVuY3Rpb24gYXNjZW5kaW5nRXJyb3JUZXN0TGVz
c1RoYW4oKQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0ZXN0RmFpbGVkKCJJbGxlZ2Fs
IHN0YWdlLiIpOwogICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5zdGFnZSsrOworICAgICAgICBz
ZWxmLnN0YWdlKys7CiAgICAgfTsKIH0KIApAQCAtMjAzLDEzICsyMDMsMTMgQEAgZnVuY3Rpb24g
YXNjZW5kaW5nRXJyb3JUZXN0RXF1YWwoKQogewogICAgIGRlYnVnKCIiKTsKICAgICB2YXIgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vy
c29yLk5FWFQpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAgICBzZWxmLnN0YWdlID0gMDsK
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnN0YWdlID09
PSAwKSB7CisgICAgICAgIGlmIChzZWxmLnN0YWdlID09PSAwKSB7CiAgICAgICAgICAgICBzaG91
bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjAiKTsKICAgICAgICAgICAg
IGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoMy4xNDE1OSkiKTsKLSAg
ICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgICAgICB9IGVsc2UgaWYg
KHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5y
ZXN1bHQucHJpbWFyeUtleSIsICIzIik7CiAgICAgICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKDMuMTQxNTkpIiwgIklEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSIik7CiAgICAgICAgICAgICBkZXNjZW5kaW5nRXJyb3JUZXN0R3Jl
YXRlclRoYW4oKTsKQEAgLTIxNyw3ICsyMTcsNyBAQCBmdW5jdGlvbiBhc2NlbmRpbmdFcnJvclRl
c3RFcXVhbCgpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlc3RGYWlsZWQoIklsbGVn
YWwgc3RhZ2UuIik7CiAgICAgICAgIH0KLSAgICAgICAgd2luZG93LnN0YWdlKys7CisgICAgICAg
IHNlbGYuc3RhZ2UrKzsKICAgICB9OwogfQogCkBAIC0yMjUsMTMgKzIyNSwxMyBAQCBmdW5jdGlv
biBkZXNjZW5kaW5nRXJyb3JUZXN0R3JlYXRlclRoYW4oKQogewogICAgIGRlYnVnKCIiKTsKICAg
ICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVs
bCwgSURCQ3Vyc29yLlBSRVYpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAgICBzZWxmLnN0
YWdlID0gMDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LnN0YWdlID09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT0gMCkgewogICAgICAgICAg
ICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNyIpOwogICAg
ICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQy
JykiKTsKLSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgICAgICB9
IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50
LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICAgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQzJykiLCAi
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKICAgICAgICAgICAgIGRlc2NlbmRpbmdF
cnJvclRlc3RFcXVhbCgpOwpAQCAtMjM5LDcgKzIzOSw3IEBAIGZ1bmN0aW9uIGRlc2NlbmRpbmdF
cnJvclRlc3RHcmVhdGVyVGhhbigpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlc3RG
YWlsZWQoIklsbGVnYWwgc3RhZ2UuIik7CiAgICAgICAgIH0KLSAgICAgICAgd2luZG93LnN0YWdl
Kys7CisgICAgICAgIHNlbGYuc3RhZ2UrKzsKICAgICB9OwogfQogCkBAIC0yNDcsMjIgKzI0Nywy
MiBAQCBmdW5jdGlvbiBkZXNjZW5kaW5nRXJyb3JUZXN0RXF1YWwoKQogewogICAgIGRlYnVnKCIi
KTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJz
b3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAgICBz
ZWxmLnN0YWdlID0gMDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LnN0YWdlID09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT0gMCkgewogICAg
ICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNyIp
OwogICAgICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgn
QSBiaXQyJykiKTsKLSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAg
ICAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxkQmUo
ImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICAgICAgZXZh
bEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgICAgICAgICAgZXZh
bEFuZEV4cGVjdEV4Y2VwdGlvbigiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQy
JykiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKLSAgICAgICAgICAgIHdpbmRv
dy50cmFucy5vbmNvbXBsZXRlID0gb25UcmFuc2FjdGlvbkNvbXBsZXRlOworICAgICAgICAgICAg
c2VsZi50cmFucy5vbmNvbXBsZXRlID0gb25UcmFuc2FjdGlvbkNvbXBsZXRlOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0ZXN0RmFpbGVkKCJJbGxl
Z2FsIHN0YWdlLiIpOwogICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5zdGFnZSsrOworICAgICAg
ICBzZWxmLnN0YWdlKys7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvY3Vyc29yLWRlbGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLWRlbGV0ZS5odG1sCmluZGV4IDZhNTMxYTYxZTBlZTlhYzc4YTA4ZTky
YzllODI0OGQxNmIyNmU4NzMuLjVhYWY0MDYyOTIxNWZhOWZmM2MwM2IyNzE2NGNjMGZlYjIxMTRi
NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1kZWxl
dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItZGVsZXRl
Lmh0bWwKQEAgLTMyLDcgKzMyLDcgQEAgZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24g
c2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIp
OwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJh
bnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxl
dGUgPSBvcGVuQ3Vyc29yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWluY29uc2lzdGVuY3kuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwKaW5kZXggNmUwN2IxY2JmNGIwZWM4NDVjMGYx
MjQxMDZhOWQwN2FlOWU5YjBmNi4uNDFjNGFiNjEyMGQ4NTU3MjQ3YzJjYTBjYjVkNjhiYjA3YTEz
NzQ0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWlu
Y29uc2lzdGVuY3kuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJz
b3ItaW5jb25zaXN0ZW5jeS5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNj
ZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVy
c2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJh
bnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0g
bnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAg
ICB0cmFucy5vbmNvbXBsZXRlID0gb3BlbkJhc2ljQ3Vyc29yOwpAQCAtNTUsNyArNTUsNyBAQCBm
dW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogICAgIHRyYW5zLm9uY29tcGxldGUgPSB0cmFuc2Fj
dGlvbkNvbXBsZXRlOwogCiAgICAga2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5sb3dlckJvdW5kKCJz
b21lS2V5MSIpOwotICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coInRyYW5zLm9i
amVjdFN0b3JlKCdiYXNpY1N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFu
ZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ2Jhc2ljU3RvcmUnKSIpOwogICAgIHJlcXVlc3QgPSBl
dmFsQW5kTG9nKCJvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKGtleVJhbmdlKSIpOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gY2hlY2tDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItaW5kZXgtZGVsZXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItaW5kZXgtZGVsZXRlLmh0bWwKaW5kZXggYTc1OGM3ODM4NjdkOTIxNjViMmMy
OWMxMmVmODI4Y2RmYTRlOGUwOS4uYjQ2NTIzMTIzODIxNmM1YTA2OGE4NDI0ZmIxM2NhZmJhNGEz
MjA4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWlu
ZGV4LWRlbGV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1pbmRleC1kZWxldGUuaHRtbApAQCAtMzIsNyArMzIsNyBAQCBmdW5jdGlvbiBvcGVuU3VjY2Vz
cygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVidWcoInNldFZlcnNp
b25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5z
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51
bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAg
dHJhbnMub25jb21wbGV0ZSA9IG9wZW5DdXJzb3I7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKaW5kZXggZTAxNGRiYmU0YjdkNDg2
NmIwM2Y0OWM2NTAyNWVhYjU3M2UyYzU1NC4uZmE2YjQ1MmNiOTM0NDc3NDk1ZmYwNzRhNjhlODZh
ZGY0ZjQwYTU2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWtleS1vcmRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1
cnNvci1rZXktb3JkZXIuaHRtbApAQCAtMzMsNyArMzMsNyBAQCBmdW5jdGlvbiBwcmVwYXJlRGF0
YWJhc2UoKQogICAgIH07CiB9CiAKLXdpbmRvdy5rZXlzID0gWworc2VsZi5rZXlzID0gWwogICAg
ICItSW5maW5pdHkiLAogICAgICItTnVtYmVyLk1BWF9WQUxVRSIsCiAgICAgIi0xIiwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcmltYXJ5LWtleS1v
cmRlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1hcnkt
a2V5LW9yZGVyLmh0bWwKaW5kZXggMzVkYTAwMDg2Yzc0ZmExNTA0MWI4ZTY3ZTAxYzJjZmJjOTU5
NzFkYy4uYmQ3MTM4NDNhMDYyODJkM2NkNTMxNTIyOWU3YjUzZTJlZTU4OTMwYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1hcnkta2V5LW9yZGVy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1hcnkt
a2V5LW9yZGVyLmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNl
KCkKICAgICB9OwogfQogCi13aW5kb3cua2V5cyA9IFsKK3NlbGYua2V5cyA9IFsKICAgICAiLUlu
ZmluaXR5IiwKICAgICAiLTIiLAogICAgICItMSIsCkBAIC02Nyw3ICs2Nyw3IEBAIGZ1bmN0aW9u
IHBvcHVsYXRlU3RvcmUoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxs
YmFjazsKICAgICB2YXIgY291bnQgPSAwOwogICAgIHZhciBpbmRleEtleSA9IDA7Ci0gICAgdmFy
IGtleXMgPSB3aW5kb3cua2V5cy5zbGljZSgpOworICAgIHZhciBrZXlzID0gc2VsZi5rZXlzLnNs
aWNlKCk7CiAgICAga2V5cy5yZXZlcnNlKCk7CiAgICAga2V5cy5mb3JFYWNoKGZ1bmN0aW9uKGtl
eSkgewogICAgICAgICB2YXIgdmFsdWUgPSB7IGluZGV4S2V5OiBpbmRleEtleSwgY291bnQ6IGNv
dW50KysgfTsKQEAgLTkzLDcgKzkzLDcgQEAgZnVuY3Rpb24gY2hlY2tTdG9yZSgpCiAgICAgICAg
IGlmIChjdXJzb3JSZXF1ZXN0LnJlc3VsdCkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vy
c29yID0gY3Vyc29yUmVxdWVzdC5yZXN1bHQiKTsKICAgICAgICAgICAgIHNob3VsZEJlKCJjdXJz
b3Iua2V5IiwgU3RyaW5nKGluZGV4S2V5KSk7Ci0gICAgICAgICAgICBzaG91bGRCZSgiY3Vyc29y
LnByaW1hcnlLZXkiLCB3aW5kb3cua2V5c1tjb3VudCsrXSk7CisgICAgICAgICAgICBzaG91bGRC
ZSgiY3Vyc29yLnByaW1hcnlLZXkiLCBzZWxmLmtleXNbY291bnQrK10pOwogICAgICAgICAgICAg
Y3Vyc29yLmNvbnRpbnVlKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBzaG91bGRC
ZVRydWUoImNvdW50ID09PSBrZXlzLmxlbmd0aCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sCmluZGV4IGVhZWRiMmQy
ZmMzNGMyNjM0Njg5ZTJlMmZmYWFlNTgyZjg1OGQ5YWUuLmQzYWU5YTJhZTA0NzNhMTJhMjhlZjMw
MDE4ZmQyOTA2ZTNlYTgwMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVkLmh0bWwKQEAgLTM3LDcgKzM3LDcgQEAgZnVuY3Rp
b24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRl
YnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUo
InRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENh
bGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBiYXNpY0N1cnNvclRlc3Q7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLXZhbHVlLWFy
Z3VtZW50LXJlcXVpcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJz
b3ItdXBkYXRlLXZhbHVlLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKaW5kZXggNzJjNjdhMjNiNjBh
NjMzMGRlNmE2OGY5MTM5YTZiYjVmNjllOWJiYS4uZGFkMzMwZjRhMGUwMjYxZjAyMzI0M2I4YWUz
MGViNzBhMjZlNWMwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLXVwZGF0ZS12YWx1ZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtdmFsdWUtYXJndW1lbnQtcmVxdWly
ZWQuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsK
KyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJN
eSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3Vj
Y2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11
cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUu
aHRtbAppbmRleCAyY2NhMjhlZmU0ZjY4YmM2MGVlNWVkN2ZiYjU1ZGM4ZmNiOTA2M2Q4Li4xNzRj
OTcwMjk5MDc2NmM1OWVjYjNjZmU5N2I5ZWRmOTI5ZmQzODRlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sCkBAIC0zMiw3ICszMiw3IEBA
IGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsK
ICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxk
QmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVk
QWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gb3BlbkJhc2ljQ3Vyc29yOwpA
QCAtNjcsNyArNjcsNyBAQCBmdW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogICAgIHRyYW5zLm9u
Y29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlOwogCiAgICAga2V5UmFuZ2UgPSBJREJLZXlS
YW5nZS5sb3dlckJvdW5kKCJteUtleTEiKTsKLSAgICB3aW5kb3cub2JqZWN0U3RvcmUgPSBldmFs
QW5kTG9nKCJ0cmFucy5vYmplY3RTdG9yZSgnYmFzaWNTdG9yZScpIik7CisgICAgc2VsZi5vYmpl
Y3RTdG9yZSA9IGV2YWxBbmRMb2coInRyYW5zLm9iamVjdFN0b3JlKCdiYXNpY1N0b3JlJykiKTsK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUub3BlbkN1cnNvcihrZXlSYW5n
ZSkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGJhc2ljVXBkYXRlQ3Vyc29yOwogICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbAppbmRleCBjZDA1NmEy
YWZhYmE0ODc4MTAzNGVkYTBhNmY4ODVmMWJmNjBjNzYxLi41YWIzOWMzNGNjYzI3NjllODEzNmY2
MjU4YjBhYjBlOTVlOTk1MWM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToi
KTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24n
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMSw3
ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNj
ZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cu
dHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBz
ZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAg
ICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gYWRkRGF0YTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLWJhc2lj
cy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0
bWwKaW5kZXggZDAyOTE0ODc4OWI0NGUyNWNiN2YwZmZhMDFjNDlmNTI0ZTk3ODA2OC4uNzIzMzBj
MTFjMzkwMjZlYzQ4MThlZjA1YWU5Nzg0ODQ0M2U3NDY5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5k
b3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxm
LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMSw3ICszMSw3IEBAIGZ1
bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAg
ICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0g
ZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVU
cnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJv
cnRDYWxsYmFjazsKIApAQCAtNzYsNyArNzYsNyBAQCBmdW5jdGlvbiBjaGVja09iamVjdFN0b3Jl
KCkKIAogZnVuY3Rpb24gY29tbWl0QW5kQ29udGludWUoKQogewotICAgIHdpbmRvdy5zZXRUaW1l
b3V0KHRlc3RTZXRWZXJzaW9uQWJvcnQsIDApOworICAgIHNlbGYuc2V0VGltZW91dCh0ZXN0U2V0
VmVyc2lvbkFib3J0LCAwKTsKIH0KIAogZnVuY3Rpb24gdGVzdFNldFZlcnNpb25BYm9ydCgpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbApp
bmRleCBmMWVhZTFhYTg5ODMxNDZmNWNjMDM3NjFjOWJjMmMxNTMzNjViYzg3Li41OWM3ZGU1ODM5
YzY0ZmE3YjBhZDY5MTUyYmJlMzQyNTdiOWFlOTMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5kb3cuZGIg
PSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0g
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0aW9u
IG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1
Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9n
KCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0
cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxs
YmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gY2hlY2tRdW90YUVuZm9yY2luZzsKQEAgLTYy
LDEyICs2MiwxMiBAQCBmdW5jdGlvbiBjaGVja1F1b3RhRW5mb3JjaW5nKCkKICAgICB0cmFucy5v
bmFib3J0ID0gdGVzdENvbXBsZXRlOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVk
Q29tcGxldGVDYWxsYmFjazsKICAgICBkZWJ1ZygiQ3JlYXRpbmcgJ2RhdGEnIHdoaWNoIGNvbnRh
aW5zIDY0SyBvZiBkYXRhIik7Ci0gICAgd2luZG93LmRhdGEgPSAiWCI7CisgICAgc2VsZi5kYXRh
ID0gIlgiOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykKICAgICAgICAgZGF0YSAr
PSBkYXRhOwogICAgIHNob3VsZEJlKCJkYXRhLmxlbmd0aCIsICI2NTUzNiIpOwotICAgIHdpbmRv
dy5kYXRhQWRkZWQgPSAwOwotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0g
dHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3QxMjMnKSIpOworICAgIHNlbGYuZGF0YUFkZGVkID0gMDsK
KyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgn
dGVzdDEyMycpIik7CiAgICAgYWRkRGF0YSgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFi
YXNlLW9iamVjdC1leHBlY3RlZC50eHQKaW5kZXggMzcxNDcyZmQ4NjhhOTBhNTI5MTgzYTYyY2M3
ZGFlNGNlODJkODUwOC4uN2UyYzliODg4MjQwMDY1NzIwMzQwMzg1OWRiMjgyZTc3Y2U0YWIxNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlLWNsb3NlZC1k
YXRhYmFzZS1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtNiw3
ICs2LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhl
ZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYu
bXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogUEFTUyBCb29sZWFuKGluZGV4ZWREQiAm
JiBJREJDdXJzb3IgJiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJvciAmJiBJREJEYXRh
YmFzZUV4Y2VwdGlvbiAmJiBJREJGYWN0b3J5ICYmIElEQkluZGV4ICYmIElEQktleVJhbmdlICYm
IElEQk9iamVjdFN0b3JlICYmIElEQlJlcXVlc3QgJiYgSURCVHJhbnNhY3Rpb24pIGlzIHRydWUK
IAotd2luZG93LnN0YXRlID0gJ3N0YXJ0aW5nJworc2VsZi5zdGF0ZSA9ICdzdGFydGluZycKIGlu
ZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdCcpCiBkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQKIGluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9i
amVjdCcpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUt
Y2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvZGVsZXRlLWNsb3NlZC1kYXRhYmFzZS1vYmplY3QuaHRtbAppbmRleCA4ZmU4NThmODUwYTZj
YmQ5YjdmMmNhYzU4ZjJkNGZkOTAwNThhNTAxLi5mNzM2YjMwMmQ2ZmMzMjdjODJjZjVlYjBhNTcx
NDJhNzNmMDJlM2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9k
ZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0Lmh0bWwKQEAgLTE4LDcg
KzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigp
CiB7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0gJ3N0YXJ0aW5nJyIpOworICAgIGV2
YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdCcpIik7
CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTI2LDcgKzI2LDcgQEAgZnVuY3Rpb24g
b3BlbkRCQ29ubmVjdGlvbigpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5k
b3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxm
LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICAvLyBP
cGVuIGEgc2Vjb25kIGNvbm5lY3Rpb24gdG8gdGhlIHNhbWUgZGF0YWJhc2UuCiAgICAgdmFyIHJl
cXVlc3QyID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ2RlbGV0ZS1jbG9zZWQtZGF0YWJh
c2Utb2JqZWN0JykiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2RlbGV0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVx
dWlyZWQuaHRtbAppbmRleCBmNmM1YzZhM2ViZWUzOGIxN2JjMmYxNzY3ZTllZTlmNDZjOTM0ZjA5
Li4zZjliY2E3ODQ2NWJlMGNmZmNjZTc2NTU5YTdhMGQ4OTU5ZTNiOTQ3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1uYW1lLWFyZ3Vt
ZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVs
ZXRlT2JqZWN0U3RvcmUtbmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBAIC0xNSw3ICsxNSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAg
ICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0
aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxs
LW5hbWUuaHRtbAppbmRleCA0NjUxY2YxNTdhZWIzY2YzY2Q4ZDI4ZDY3YWQwOTY2NjZkYWMwNWNl
Li43ZWNmOWRlNjY2ZmQ2OTdhMmM1Yzg1NTAyMDYwOTI4ZmJjYzcwZTA0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxsLW5hbWUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9y
ZS1udWxsLW5hbWUuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAg
ICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5w
YXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlw
dGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5k
ZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2R1cGxpY2F0ZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2R1cGxpY2F0
ZXMuaHRtbAppbmRleCAzMjhmOGYyYTA4M2VjYzUzNTVlNDZjZWI5ZTE5M2E1MzdkZWU1ZTcwLi44
YzU3MjQ4ZTdlOGU2ZWNhOTM5NGFlZDIxOWEyMzJkNDM1MDBmYzNiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCkBAIC0zMywxNCArMzMsMTQgQEAg
ZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAg
ZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2
YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1
ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0
Q2FsbGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93
LnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51
bGwpIik7Ci0gICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRl
SW5kZXgoJ2luZGV4TmFtZScsICd4JykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygi
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7CisgICAgc2VsZi5pbmRl
eE9iamVjdCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcp
Iik7CiAgICAgYWRkRGF0YSgpOwogfQogCkBAIC05Nyw3ICs5Nyw3IEBAIGZ1bmN0aW9uIG9wZW5L
ZXlDdXJzb3IoKQogewogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0IiwgInVuZGVm
aW5lZCIpOwogCi0gICAgd2luZG93LnJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleE9iamVjdC5v
cGVuS2V5Q3Vyc29yKCkiKTsKKyAgICBzZWxmLnJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleE9i
amVjdC5vcGVuS2V5Q3Vyc29yKCkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1cnNvcjFD
b250aW51ZTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
IH0KQEAgLTExMCw3ICsxMTAsNyBAQCBmdW5jdGlvbiBjdXJzb3IxQ29udGludWUoKQogCiAgICAg
Ly8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlcXVlc3Qgb2JqZWN0LgogICAgIGV2YWxBbmRMb2coImV2
ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIHdpbmRvdy5yZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IGN1cnNvcjFDb250aW51ZTI7CisgICAgc2VsZi5yZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1
cnNvcjFDb250aW51ZTI7CiB9CiAKIGZ1bmN0aW9uIGN1cnNvcjFDb250aW51ZTIoKQpAQCAtMTIx
LDE0ICsxMjEsMTQgQEAgZnVuY3Rpb24gY3Vyc29yMUNvbnRpbnVlMigpCiAKICAgICAvLyBXZSBy
ZS11c2UgdGhlIGxhc3QgcmVxdWVzdCBvYmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFy
Z2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgd2luZG93LnJlcXVlc3Qub25zdWNjZXNzID0g
b3Blbk9iamVjdEN1cnNvcjsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNzID0gb3Blbk9iamVj
dEN1cnNvcjsKIH0KIAogZnVuY3Rpb24gb3Blbk9iamVjdEN1cnNvcigpCiB7CiAgICAgc2hvdWxk
QmVUcnVlKCJldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxsIik7CiAKLSAgICB3aW5kb3cucmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOworICAgIHNlbGYu
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlOwogICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQpAQCAtMTQyLDcgKzE0Miw3IEBAIGZ1bmN0aW9u
IGN1cnNvcjJDb250aW51ZSgpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3QgcmVxdWVzdCBv
YmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7
Ci0gICAgd2luZG93LnJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlMjsKKyAgICBz
ZWxmLnJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlMjsKIH0KIAogZnVuY3Rpb24g
Y3Vyc29yMkNvbnRpbnVlMigpCkBAIC0xNTQsNyArMTU0LDcgQEAgZnVuY3Rpb24gY3Vyc29yMkNv
bnRpbnVlMigpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3QgcmVxdWVzdCBvYmplY3QuCiAg
ICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgd2lu
ZG93LnJlcXVlc3Qub25zdWNjZXNzID0gbGFzdDsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNz
ID0gbGFzdDsKIH0KIAogZnVuY3Rpb24gbGFzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQu
aHRtbAppbmRleCBjNmJjNjI3OWVkMGM5ZDY2MDgyODE5MzJkNjIzYTQ5YTkyMGMyYjk1Li45NmQz
NDc3NDdjNTM1NjY3NGM0MmVkZjhmNWE4MjFmNGQ0NTYzMTdhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1i
eS1kZWZhdWx0Lmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBm
dW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNz
KCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAg
ICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgZXZhbEFuZExv
ZygidHJhbnMub25jb21wbGV0ZSA9IGFkZERhdGEiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbApp
bmRleCA4YTIxN2EzN2U2NzA1YWZlMmE3ZWE5MmIwNWE4MGU4MjQ3YTE5MjZmLi40NzU2NzkzMmJk
ZTI5ZjhhODQ1MDMxMDBhNGZmMDBmYTUzYjI0YTgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5odG1s
CkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRl
RXhpc3RpbmcoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdp
bmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwor
ICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9y
dCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29t
cGxldGUgPSBzdGFydFRlc3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dAppbmRleCBlMzgyZjVkODVmNjkxMjU2Y2U1
OTJhOTg2MjhkYjI2OTZhNmM3YmQzLi42ODZlNWFjYWVjM2E1OWVhMTdkMGMxYWI5MWUxYWZmMWY1
MDAwMmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5
LWNtcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1jbXAtZXhwZWN0ZWQudHh0CkBAIC0zNTEsMTAgKzM1MSwxMCBAQCBQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBp
bmRleGVkREIuY21wKCd2YWxpZCcsIC9yZWdleC8pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgvcmVnZXgvLCB3aW5kb3cpCitFeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgvcmVnZXgvLCBzZWxmKQogUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VS
UgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LCAvcmVnZXgv
KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZiwgL3JlZ2V4LykK
IFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNl
cHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKC9y
ZWdleC8sICd2YWxpZCcpCkBAIC0zNjMsNDYgKzM2Myw0NiBAQCBQQVNTIGNvZGUgaXMgSURCRGF0
YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVk
REIuY21wKCd2YWxpZCcsIC9yZWdleC8pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFT
UyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gaW5kZXhlZERCLmNtcCh3aW5kb3csICd2YWxpZCcpCitFeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLCAndmFsaWQnKQogUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywgd2luZG93KQorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywgc2VsZikKIFBBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdywg
d2luZG93LmRvY3VtZW50KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAo
c2VsZiwgc2VsZi5kb2N1bWVudCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdy5kb2N1bWVudCwgd2luZG93KQorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwgc2VsZikKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdywgJ3Zh
bGlkJykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYsICd2YWxp
ZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNt
cCgndmFsaWQnLCB3aW5kb3cpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNt
cCgndmFsaWQnLCBzZWxmKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBp
cyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LCAndmFsaWQnKQorRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwgJ3ZhbGlkJykKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIHdp
bmRvdy5kb2N1bWVudCkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2
YWxpZCcsIHNlbGYuZG9jdW1lbnQpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBj
b2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9u
IGZyb20gaW5kZXhlZERCLmNtcCh3aW5kb3cuZG9jdW1lbnQsIHdpbmRvdy5kb2N1bWVudC5ib2R5
KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwg
c2VsZi5kb2N1bWVudC5ib2R5KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LmJvZHksIHdpbmRvdy5kb2N1bWVudCkK
K0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYuZG9jdW1lbnQuYm9k
eSwgc2VsZi5kb2N1bWVudCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUg
aXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBpbmRleGVkREIuY21wKHdpbmRvdy5kb2N1bWVudCwgJ3ZhbGlkJykKK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYuZG9jdW1lbnQsICd2YWxpZCcpCiBQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgndmFsaWQnLCB3
aW5kb3cuZG9jdW1lbnQpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgn
dmFsaWQnLCBzZWxmLmRvY3VtZW50KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1Mg
Y29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LmJvZHksICd2YWxpZCcpCitFeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLmRvY3VtZW50LmJvZHksICd2
YWxpZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERC
LmNtcCgndmFsaWQnLCB3aW5kb3cuZG9jdW1lbnQuYm9keSkKK0V4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIHNlbGYuZG9jdW1lbnQuYm9keSkKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9y
eS1jbXAuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0
bWwKaW5kZXggZjlmYmVmNjFlNDM2YTJmOTExNzZmOTQyNzdlNTQ0NmRiMTA2OTgxMi4uY2Q0YTQ3
ZmUwMGRhMjNjZmFjZGE3YmRkNDRmMGZmNWM1OWY1M2M3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCkBAIC0xMTcsOSArMTE3LDkgQEAgZnVu
Y3Rpb24gdGVzdEludmFsaWRLZXlzKCkKICAgICAgICAgInt9IiwKICAgICAgICAgImZ1bmN0aW9u
ICgpIHt9IiwKICAgICAgICAgIi9yZWdleC8iLAotICAgICAgICAid2luZG93IiwKLSAgICAgICAg
IndpbmRvdy5kb2N1bWVudCIsCi0gICAgICAgICJ3aW5kb3cuZG9jdW1lbnQuYm9keSIKKyAgICAg
ICAgInNlbGYiLAorICAgICAgICAic2VsZi5kb2N1bWVudCIsCisgICAgICAgICJzZWxmLmRvY3Vt
ZW50LmJvZHkiCiAgICAgXTsKIAogICAgIHZhciBpLCBrZXkxLCBrZXkyOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRl
cmFjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0CmluZGV4IGM5YTVh
ZGMwMTE0NTE3MmE1YTU2NjM4OTU4YmJmMjcyMmUwZDM5NTAuLjM4NGU0MTAzZDI5NjA5YWJiZWUy
OTkzYmIxZDk1NTFiMDQ3NmE5MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNl
LWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTgsNyArOCw3IEBAIFBBU1MgQm9vbGVhbihp
bmRleGVkREIgJiYgSURCQ3Vyc29yICYmIElEQkRhdGFiYXNlICYmIElEQkRhdGFiYXNlRXJyb3Ig
JiYgSURCRGF0CiAKIAogVEVTVDogZGVsZXRlRGF0YWJhc2UgYmxvY2tlZCBvbiBvcGVuIGhhbmRs
ZXMKLXdpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBz
ID0gW10KK3NlbGYuZGJuYW1lID0gJ3Rlc3QxJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0g
W10KICdoLm9wZW4nCiAnaC5vcGVuLm9uc3VjY2VzcycKICdkZWxldGVEYXRhYmFzZSgpJwpAQCAt
MTcsMTAgKzE3LDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsg
d2luZG93LnN0ZXBzID0gW10KICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKICdoLmNsb3Nl
JwogJ2RlbGV0ZURhdGFiYXNlKCkub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJp
bmcoKSBpcyAiaC5vcGVuLGgub3Blbi5vbnN1Y2Nlc3MsZGVsZXRlRGF0YWJhc2UoKSxoLm9udmVy
c2lvbmNoYW5nZSxkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxoLmNsb3NlLGRlbGV0ZURhdGFi
YXNlKCkub25zdWNjZXNzIgorUEFTUyBzZWxmLnN0ZXBzLnRvU3RyaW5nKCkgaXMgImgub3Blbixo
Lm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZlcnNpb25jaGFuZ2UsZGVsZXRl
RGF0YWJhc2UoKS5vbmJsb2NrZWQsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2VzcyIK
IAogVEVTVDogZGVsZXRlRGF0YWJhc2Ugbm90IGJsb2NrZWQgd2hlbiBoYW5kbGVzIGNsb3NlIGlt
bWVkaWF0ZWx5Ci13aW5kb3cuZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRv
dy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2VsZi5z
dGVwcyA9IFtdCiAnaC5vcGVuJwogJ2gub3Blbi5vbnN1Y2Nlc3MnCiAnZGVsZXRlRGF0YWJhc2Uo
KScKQEAgLTMwLDEwICszMCwxMCBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZl
ciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQnCiAn
ZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MnCiBOT1RFOiBXaWxsIEZBSUwgd2l0aCBleHRyYSBi
b2d1cyBkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAKLUZBSUwgd2luZG93LnN0ZXBzLnRvU3RyaW5nKCkg
c2hvdWxkIGJlIGgub3BlbixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZl
cnNpb25jaGFuZ2UsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2Vzcy4gV2FzIGgub3Bl
bixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZlcnNpb25jaGFuZ2UsaC5j
bG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2Vz
cy4KK0ZBSUwgc2VsZi5zdGVwcy50b1N0cmluZygpIHNob3VsZCBiZSBoLm9wZW4saC5vcGVuLm9u
c3VjY2VzcyxkZWxldGVEYXRhYmFzZSgpLGgub252ZXJzaW9uY2hhbmdlLGguY2xvc2UsZGVsZXRl
RGF0YWJhc2UoKS5vbnN1Y2Nlc3MuIFdhcyBoLm9wZW4saC5vcGVuLm9uc3VjY2VzcyxkZWxldGVE
YXRhYmFzZSgpLGgub252ZXJzaW9uY2hhbmdlLGguY2xvc2UsZGVsZXRlRGF0YWJhc2UoKS5vbmJs
b2NrZWQsZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MuCiAKIFRFU1Q6IGRlbGV0ZURhdGFiYXNl
IGlzIGRlbGF5ZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nCi13
aW5kb3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtd
CitzZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAn
aC5vcGVuJwogJ2gub3Blbi5vbnN1Y2Nlc3MnCiAnaC5zZXRWZXJzaW9uJwpAQCAtNDUsNyArNDUs
NyBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVw
cyA9IFtdCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQnCiAnaC5jbG9zZScKICdkZWxldGVE
YXRhYmFzZSgpLm9uc3VjY2VzcycKLVBBU1Mgd2luZG93LnN0ZXBzLnRvU3RyaW5nKCkgaXMgImgu
b3BlbixoLm9wZW4ub25zdWNjZXNzLGguc2V0VmVyc2lvbixkZWxldGVEYXRhYmFzZSgpLGguc2V0
VmVyc2lvbi5vbnN1Y2Nlc3MsaC5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgub252
ZXJzaW9uY2hhbmdlLGRlbGV0ZURhdGFiYXNlKCkub25ibG9ja2VkLGguY2xvc2UsZGVsZXRlRGF0
YWJhc2UoKS5vbnN1Y2Nlc3MiCitQQVNTIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaC5vcGVu
LGgub3Blbi5vbnN1Y2Nlc3MsaC5zZXRWZXJzaW9uLGRlbGV0ZURhdGFiYXNlKCksaC5zZXRWZXJz
aW9uLm9uc3VjY2VzcyxoLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaC5vbnZlcnNp
b25jaGFuZ2UsZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQsaC5jbG9zZSxkZWxldGVEYXRhYmFz
ZSgpLm9uc3VjY2VzcyIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBD
T01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9y
eS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLmh0bWwKaW5kZXgg
MWMyMWFlZmJjOGMwZTc0ZDJlYTM2MzU0NmJhMzg2MmM4NmEzMWM3ZC4uMzNmZDcyZTdhYWMzYWMx
Mzc2YWMyMDgyY2M3ZTFhZDM4OTM2OWI5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWlu
dGVyYWN0aW9ucy5odG1sCkBAIC0xMiw0NCArMTIsNDQgQEAgZGVzY3JpcHRpb24oIlRlc3QgdGhl
IGRlbGV0ZURhdGFiYXNlIGNhbGwgYW5kIGl0cyBpbnRlcmFjdGlvbiB3aXRoIG9wZW4vc2V0VmVy
c2kKIAogZnVuY3Rpb24gQ29ubmVjdGlvbihpZCkgewogICAgIGlkID0gU3RyaW5nKGlkKTsKLSAg
ICB2YXIgc2VsZiA9IHRoaXM7CisgICAgdmFyIHRoYXQgPSB0aGlzOwogICAgIHRoaXMub3BlbiA9
IGZ1bmN0aW9uKG9wdHMpIHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygi
JyIgKyBpZCArICIub3BlbiciKSk7Ci0gICAgICAgIHZhciByZXEgPSBpbmRleGVkREIub3Blbih3
aW5kb3cuZGJuYW1lKTsKKyAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsg
aWQgKyAiLm9wZW4nIikpOworICAgICAgICB2YXIgcmVxID0gaW5kZXhlZERCLm9wZW4oc2VsZi5k
Ym5hbWUpOwogICAgICAgICByZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
ICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHNlbGYu
aGFuZGxlID0gZS50YXJnZXQucmVzdWx0OwotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJyIgKyBpZCArICIub3Blbi5vbnN1Y2Nlc3MnIikpOwotICAgICAgICAgICAg
c2VsZi5oYW5kbGUub252ZXJzaW9uY2hhbmdlID0gZnVuY3Rpb24oZSkgewotICAgICAgICAgICAg
ICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9udmVyc2lvbmNo
YW5nZSciKSk7Ci0gICAgICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnZlcnNpb24pIHsg
b3B0cy5vbnZlcnNpb24uY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgdGhhdC5oYW5kbGUgPSBl
LnRhcmdldC5yZXN1bHQ7CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygi
JyIgKyBpZCArICIub3Blbi5vbnN1Y2Nlc3MnIikpOworICAgICAgICAgICAgdGhhdC5oYW5kbGUu
b252ZXJzaW9uY2hhbmdlID0gZnVuY3Rpb24oZSkgeworICAgICAgICAgICAgICAgIHNlbGYuc3Rl
cHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vbnZlcnNpb25jaGFuZ2UnIikpOworICAg
ICAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub252ZXJzaW9uKSB7IG9wdHMub252ZXJzaW9u
LmNhbGwodGhhdCk7IH0KICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBv
cHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vzcy5jYWxsKHNlbGYpOyB9CisgICAgICAgICAg
ICBpZiAob3B0cyAmJiBvcHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vzcy5jYWxsKHRoYXQp
OyB9CiAgICAgICAgIH07CiAgICAgfTsKIAogICAgIHRoaXMuY2xvc2UgPSBmdW5jdGlvbigpIHsK
LSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuY2xvc2Un
IikpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuY2xv
c2UnIikpOwogICAgICAgICB0aGlzLmhhbmRsZS5jbG9zZSgpOwogICAgIH07CiAKICAgICB0aGlz
LnNldFZlcnNpb24gPSBmdW5jdGlvbihvcHRzKSB7Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5wdXNo
KGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24nIikpOwotICAgICAgICB2YXIgcmVx
ID0gdGhpcy5oYW5kbGUuc2V0VmVyc2lvbihTdHJpbmcod2luZG93LnZlcisrKSk7CisgICAgICAg
IHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uJyIpKTsK
KyAgICAgICAgdmFyIHJlcSA9IHRoaXMuaGFuZGxlLnNldFZlcnNpb24oU3RyaW5nKHNlbGYudmVy
KyspKTsKICAgICAgICAgcmVxLm9uYWJvcnQgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAg
d2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmFi
b3J0JyIpKTsKLSAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25hYm9ydCkgeyBvcHRzLm9u
YWJvcnQuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRM
b2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25hYm9ydCciKSk7CisgICAgICAgICAgICBpZiAo
b3B0cyAmJiBvcHRzLm9uYWJvcnQpIHsgb3B0cy5vbmFib3J0LmNhbGwodGhhdCk7IH0KICAgICAg
ICAgfTsKICAgICAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAg
ICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9u
YmxvY2tlZCciKSk7Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uYmxvY2tlZCkgeyBv
cHRzLm9uYmxvY2tlZC5jYWxsKHNlbGYpOyB9CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmJsb2NrZWQnIikpOworICAgICAg
ICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmJsb2NrZWQpIHsgb3B0cy5vbmJsb2NrZWQuY2FsbCh0
aGF0KTsgfQogICAgICAgICB9OwogICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUp
IHsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAi
LnNldFZlcnNpb24ub25zdWNjZXNzJyIpKTsKLSAgICAgICAgICAgIGlmIChzZWxmLmhhbmRsZS5v
YmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpKSB7Ci0g
ICAgICAgICAgICAgICAgc2VsZi5oYW5kbGUuZGVsZXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUi
ICsgd2luZG93LnZlcik7CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygi
JyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MnIikpOworICAgICAgICAgICAgaWYgKHRo
YXQuaGFuZGxlLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInRlc3Qtc3RvcmUiICsgc2VsZi52
ZXIpKSB7CisgICAgICAgICAgICAgICAgdGhhdC5oYW5kbGUuZGVsZXRlT2JqZWN0U3RvcmUoInRl
c3Qtc3RvcmUiICsgc2VsZi52ZXIpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgdmFyIHN0
b3JlID0gc2VsZi5oYW5kbGUuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUiICsgd2luZG93
LnZlcik7CisgICAgICAgICAgICB2YXIgc3RvcmUgPSB0aGF0LmhhbmRsZS5jcmVhdGVPYmplY3RT
dG9yZSgidGVzdC1zdG9yZSIgKyBzZWxmLnZlcik7CiAgICAgICAgICAgICB2YXIgY291bnQgPSAw
OwogICAgICAgICAgICAgZG9fYXN5bmNfcHV0cygpOyAvLyBLZWVwIHRoaXMgdHJhbnNhY3Rpb24g
cnVubmluZyBmb3IgYSB3aGlsZQogICAgICAgICAgICAgZnVuY3Rpb24gZG9fYXN5bmNfcHV0cygp
IHsKQEAgLTU5LDMyICs1OSwzMiBAQCBmdW5jdGlvbiBDb25uZWN0aW9uKGlkKSB7CiAgICAgICAg
ICAgICAgICAgICAgIGlmICgrK2NvdW50IDwgMTApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
IGRvX2FzeW5jX3B1dHMoKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAi
LnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUnIikpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0cy5vbnN1Y2Nlc3MuY2FsbChz
ZWxmKTsgfQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRM
b2coIiciICsgaWQgKyAiLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUnIikpOworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0cy5v
bnN1Y2Nlc3MuY2FsbCh0aGF0KTsgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfTsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICAgICAgICAgcmVxLm9uZXJyb3Ig
PSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmVycm9yJyIpKTsKLSAgICAgICAgICAgIGlmIChv
cHRzICYmIG9wdHMub25lcnJvcikgeyBvcHRzLm9uZXJyb3IuY2FsbChzZWxmKTsgfQorICAgICAg
ICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24u
b25lcnJvciciKSk7CisgICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uZXJyb3IpIHsgb3B0
cy5vbmVycm9yLmNhbGwodGhhdCk7IH0KICAgICAgICAgfTsKICAgICB9OwogfQogCiBmdW5jdGlv
biBkZWxldGVEYXRhYmFzZShpZCwgbmFtZSwgb3B0cykgewotICAgIHdpbmRvdy5zdGVwcy5wdXNo
KGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAiKSciKSk7CisgICAgc2VsZi5z
dGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAiKSciKSk7CiAg
ICAgdmFyIHJlcSA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShuYW1lKTsKICAgICByZXEub25z
dWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFu
ZExvZygiJ2RlbGV0ZURhdGFiYXNlKCIgKyBpZCArICIpLm9uc3VjY2VzcyciKSk7CisgICAgICAg
IHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVsZXRlRGF0YWJhc2UoIiArIGlkICsgIiku
b25zdWNjZXNzJyIpKTsKICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0
cy5vbnN1Y2Nlc3MuY2FsbChudWxsKTsgfQogICAgIH07CiAgICAgcmVxLm9uZXJyb3IgPSBmdW5j
dGlvbiAoZSkgewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVsZXRl
RGF0YWJhc2UoIiArIGlkICsgIikub25lcnJvciciKSk7CisgICAgICAgIHNlbGYuc3RlcHMucHVz
aChldmFsQW5kTG9nKCInZGVsZXRlRGF0YWJhc2UoIiArIGlkICsgIikub25lcnJvciciKSk7CiAg
ICAgICAgIGlmIChvcHRzICYmIG9wdHMub25lcnJvcikgeyBvcHRzLm9uZXJyb3IuY2FsbChudWxs
KTsgfQogICAgIH07CiAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAg
IHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAi
KS5vbmJsb2NrZWQnIikpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJ2Rl
bGV0ZURhdGFiYXNlKCIgKyBpZCArICIpLm9uYmxvY2tlZCciKSk7CiAgICAgICAgIGlmIChvcHRz
ICYmIG9wdHMub25ibG9ja2VkKSB7IG9wdHMub25ibG9ja2VkLmNhbGwobnVsbCk7IH0KICAgICB9
OwogfQpAQCAtMTA1LDE4ICsxMDUsMTggQEAgZnVuY3Rpb24gdGVzdCgpIHsKIGZ1bmN0aW9uIHRl
c3QxKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVEVTVDogZGVsZXRlRGF0YWJhc2Ug
YmxvY2tlZCBvbiBvcGVuIGhhbmRsZXMiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1l
ID0gJ3Rlc3QxJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7CisgICAgZXZh
bEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDEnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMg
PSBbXSIpOwogICAgIHZhciBoID0gbmV3IENvbm5lY3Rpb24oImgiKTsKICAgICBydW5TdGVwcyhb
ZnVuY3Rpb24oZG9OZXh0KSB7IGgub3Blbih7b25zdWNjZXNzOiBkb05leHQsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9udmVyc2lvbjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiICAgIGggY2xvc2luZywgYnV0IG5vdCBp
bW1lZGlhdGVseSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsgaC5jbG9zZSgpOyB9LCAwKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfX0pOyB9LAotICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgZGVsZXRlRGF0
YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsIHsKKyAgICAgICAgZnVuY3Rpb24oZG9OZXh0KSB7IGRl
bGV0ZURhdGFiYXNlKCIiLCBzZWxmLmRibmFtZSwgewogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb25zdWNjZXNzOiBmaW5pc2hUZXN0fSk7IH0sCiAgICAgICAgIF0pOwogICAgIGZ1bmN0aW9u
IGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LnN0
ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlbGYuc3Rl
cHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImgub3BlbiIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgub3Blbi5vbnN1Y2Nlc3MiLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWxldGVEYXRhYmFzZSgpIiwKQEAgLTEzMiwx
OSArMTMyLDE5IEBAIGZ1bmN0aW9uIHRlc3QxKCkgewogZnVuY3Rpb24gdGVzdDIoKSB7CiAgICAg
ZGVidWcoIiIpOwogICAgIGRlYnVnKCJURVNUOiBkZWxldGVEYXRhYmFzZSBub3QgYmxvY2tlZCB3
aGVuIGhhbmRsZXMgY2xvc2UgaW1tZWRpYXRlbHkiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cu
ZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7Cisg
ICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDInOyBzZWxmLnZlciA9IDE7IHNlbGYu
c3RlcHMgPSBbXSIpOwogICAgIHZhciBoID0gbmV3IENvbm5lY3Rpb24oImgiKTsKICAgICBydW5T
dGVwcyhbZnVuY3Rpb24oZG9OZXh0KSB7IGgub3Blbih7b25zdWNjZXNzOiBkb05leHQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbnZlcnNpb246IGZ1bmN0aW9u
KCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVn
KCIgICAgaCBjbG9zaW5nIGltbWVkaWF0ZWx5Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaC5jbG9zZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfX0pOyB9LAotICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgZGVs
ZXRlRGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsIHsKKyAgICAgICAgZnVuY3Rpb24oZG9OZXh0
KSB7IGRlbGV0ZURhdGFiYXNlKCIiLCBzZWxmLmRibmFtZSwgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb25zdWNjZXNzOiBmaW5pc2hUZXN0fSk7IH0sCiAgICAgICAgIF0pOwogICAgIGZ1
bmN0aW9uIGZpbmlzaFRlc3QoKSB7CiAgICAgICAgIGRlYnVnKCJOT1RFOiBXaWxsIEZBSUwgd2l0
aCBleHRyYSBib2d1cyBkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAiKTsKLSAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFsiaC5vcGVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
aC5vcGVuLm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlbGV0
ZURhdGFiYXNlKCkiLApAQCAtMTU5LDcgKzE1OSw3IEBAIGZ1bmN0aW9uIHRlc3QyKCkgewogZnVu
Y3Rpb24gdGVzdDMoKSB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJURVNUOiBkZWxldGVE
YXRhYmFzZSBpcyBkZWxheWVkIGlmIGEgVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24gaXMgcnVu
bmluZyIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cu
dmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFt
ZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgg
PSBuZXcgQ29ubmVjdGlvbigiaCIpOwogICAgIHJ1blN0ZXBzKFtmdW5jdGlvbihkb05leHQpIHsg
aC5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb252ZXJzaW9uOiBmdW5jdGlvbigpIHsKQEAgLTE2NywxMiArMTY3LDEyIEBAIGZ1bmN0aW9u
IHRlc3QzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsgaC5jbG9zZSgpOyB9LCAwKTsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfX0pOyB9LAogICAgICAgICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgaC5zZXRW
ZXJzaW9uKCk7IGRvTmV4dCgpOyB9LAotICAgICAgICAgICAgICBmdW5jdGlvbihkb05leHQpIHsg
ZGVsZXRlRGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsCisgICAgICAgICAgICAgIGZ1bmN0aW9u
KGRvTmV4dCkgeyBkZWxldGVEYXRhYmFzZSgiIiwgc2VsZi5kYm5hbWUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHtvbnN1Y2Nlc3M6IGZpbmlzaFRlc3R9KTsgfSwKICAgICAgICAg
ICAgICAgXSk7CiAKICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5zdGVwcy50b1N0cmluZygpIiwKKyAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0ZXBzLnRvU3RyaW5nKCkiLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgWyJoLm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJoLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaC5z
ZXRWZXJzaW9uIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Zh
Y3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbAppbmRleCA0N2I2YTllMzUzMjliNjg1Yzg3ZmM5
OWVmZDkxNjMwYjM4YTU0OWM0Li5mMmFmNGVmZmZlMGNiNzgyMzlmZGU1YjYyMWRlNTFhMTRmNGVm
MDE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRl
bGV0ZWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1kZWxldGVkYXRhYmFzZS5odG1sCkBAIC0yOSwxMiArMjksMTIgQEAgZnVuY3Rpb24gc3Rh
cnRTZXRWZXJzaW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRv
dy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAg
IHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
ICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAKICAgICBzdG9yZSA9IGV2YWxB
bmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7
CiAKLSAgICB3aW5kb3cuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5k
ZXhOYW1lJywgJycpIik7CisgICAgc2VsZi5pbmRleCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0
ZUluZGV4KCdpbmRleE5hbWUnLCAnJykiKTsKICAgICBzaG91bGRCZVRydWUoInN0b3JlLmluZGV4
TmFtZXMuY29udGFpbnMoJ2luZGV4TmFtZScpIik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
Zygic3RvcmUuYWRkKCd2YWx1ZScsICdrZXknKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY291bnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2luZGV4LWNvdW50Lmh0bWwKaW5kZXggOTM4YjczOTg4MDU0ZmNiNDNhOTZkZjU5
NDQ0NjczYzAxMmMwMDNiZi4uMzIxMWVjNmE5YTQzNTJlYzJlMDc0ZjE5Y2VlZTRlYTRhZWYwNmIz
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY291bnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jb3VudC5odG1s
CkBAIC0yNywxNCArMjcsMTQgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKIHsKICAgICBk
ZWJ1ZygiIik7CiAgICAgZGVidWcoInByZXBhcmluZyBkYXRhYmFzZSIpOwotICAgIHdpbmRvdy50
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNl
bGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAg
ICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAKICAgICBkZWxldGVBbGxPYmplY3RT
dG9yZXMoZGIpOwogCiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOwogCi0gICAgd2luZG93LmluZGV4ID0gZXZh
bEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICcnKSIpOworICAgIHNlbGYu
aW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpIik7
CiAgICAgc2hvdWxkQmVUcnVlKCJzdG9yZS5pbmRleE5hbWVzLmNvbnRhaW5zKCdpbmRleE5hbWUn
KSIpOwogCiAgICAgZGVidWcoImFkZGluZyAwIC4uLiA5OSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jdXJzb3IuaHRtbAppbmRleCBmMWQwMzZlM2Q5MGNjYTFh
ZDgxNzQ5MjA1Njg1YmEwMGQ4ZWQ4MjdhLi4zZjIwN2ZmOGQxMTJkMmUwMzkyMTYwZDMyM2ZkNzRj
ZTIxODIyYjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1j
dXJzb3IuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERC
J3Mgd2Via2l0SURCSW5kZXgub3BlbkN1cnNvciArIHRoZSBjdXJzb3IgaXQgcHJvZHVjZXMgaW4g
ZGVwdGguIik7CiAgCiAvLyBJbiBvcmRlciBvZiBob3cgaXQgc2hvdWxkIGJlIHNvcnRlZCBieSBJ
bmRleGVkREIuCi13aW5kb3cudGVzdERhdGEgPSBbCitzZWxmLnRlc3REYXRhID0gWwogICAgIDEs
CiAgICAgMSwKICAgICAzLjE0MTU5LApAQCAtMzIsNyArMzIsNyBAQCBmdW5jdGlvbiBvcGVuRGF0
YWJhc2UoKQogIAogZnVuY3Rpb24gc2V0VmVyc2lvbigpCiB7Ci0gICAgd2luZG93LmRiID0gZXZh
bEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxB
bmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgcmVzdWx0ID0gZXZhbEFu
ZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlc3VsdC5vbnN1Y2Nl
c3MgPSBkZWxldGVFeGlzdGluZzsKQEAgLTQxLDI5ICs0MSwyOSBAQCBmdW5jdGlvbiBzZXRWZXJz
aW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91
bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0
ZWRBYm9ydENhbGxiYWNrOwogCiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKIAotICAg
IHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdz
b21lT2JqZWN0U3RvcmUnKSIpOwotICAgIHdpbmRvdy5pbmRleE9iamVjdCA9IGV2YWxBbmRMb2co
Im9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7Ci0gICAgd2luZG93
Lm5leHRUb0FkZCA9IDA7CisgICAgc2VsZi5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhPYmpl
Y3QgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnc29tZUluZGV4JywgJ3gn
KSIpOworICAgIHNlbGYubmV4dFRvQWRkID0gMDsKICAgICBhZGREYXRhKCk7CiB9CiAKIGZ1bmN0
aW9uIGFkZERhdGEoKQogewogICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFk
ZCh7J3gnOiB0ZXN0RGF0YVtuZXh0VG9BZGRdfSwgbmV4dFRvQWRkKSIpOwotICAgIHJlc3VsdC5v
bnN1Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5ndGggPyBhZGREYXRh
IDogc2NoZWR1bGVUZXN0czsKKyAgICByZXN1bHQub25zdWNjZXNzID0gKytzZWxmLm5leHRUb0Fk
ZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVsZVRlc3RzOwogICAgIHJlc3Vs
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKIGZ1bmN0aW9uIHNjaGVk
dWxlVGVzdHMoKQogewogICAgIGRlYnVnKCJTY2hlZHVsaW5nIHRlc3RzLi4uIik7Ci0gICAgd2lu
ZG93LnNjaGVkdWxlZFRlc3RzID0gW107CisgICAgc2VsZi5zY2hlZHVsZWRUZXN0cyA9IFtdOwog
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdERhdGEubGVuZ3RoOyArK2kpIHsKICAgICAgICAg
LyogbGVmdCBib3VuZCwgaXMgb3BlbiwgcmlnaHQgYm91bmQsIGlzIG9wZW4sIGFzY2VuZGluZyAq
LwogICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCB0cnVlLCBudWxsLCBudWxsLCB0
cnVlXSk7CkBAIC05OCwxMSArOTgsMTEgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogICAgIH0K
ICAKICAgICB2YXIgdGVzdCA9IHNjaGVkdWxlZFRlc3RzLnBvcCgpOwotICAgIHdpbmRvdy5sb3dl
ciA9IHRlc3RbMF07Ci0gICAgd2luZG93Lmxvd2VySXNPcGVuID0gdGVzdFsxXTsKLSAgICB3aW5k
b3cudXBwZXIgPSB0ZXN0WzJdOwotICAgIHdpbmRvdy51cHBlcklzT3BlbiA9IHRlc3RbM107Ci0g
ICAgd2luZG93LmFzY2VuZGluZyA9IHRlc3RbNF07CisgICAgc2VsZi5sb3dlciA9IHRlc3RbMF07
CisgICAgc2VsZi5sb3dlcklzT3BlbiA9IHRlc3RbMV07CisgICAgc2VsZi51cHBlciA9IHRlc3Rb
Ml07CisgICAgc2VsZi51cHBlcklzT3BlbiA9IHRlc3RbM107CisgICAgc2VsZi5hc2NlbmRpbmcg
PSB0ZXN0WzRdOwogCiAgICAgc3RyID0gIk5leHQgdGVzdDogIjsKICAgICBpZiAobG93ZXIgIT09
IG51bGwpIHsKQEAgLTEyOSwzOCArMTI5LDM4IEBAIGZ1bmN0aW9uIHJ1bk5leHRUZXN0KCkKICAg
ICBpZiAodXBwZXIgIT09IG51bGwpIHsKICAgICAgICAgaWYgKHVwcGVySXNPcGVuKSB7CiAgICAg
ICAgICAgICB3aGlsZSAodXBwZXIgPiAwICYmIHRlc3REYXRhW3VwcGVyXSA9PT0gdGVzdERhdGFb
dXBwZXIgLSAxXSkKLSAgICAgICAgICAgICAgICAtLXdpbmRvdy51cHBlcjsKKyAgICAgICAgICAg
ICAgICAtLXNlbGYudXBwZXI7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB3aGlsZSAo
dXBwZXIgPCB0ZXN0RGF0YS5sZW5ndGggLSAxICYmIHRlc3REYXRhW3VwcGVyXSA9PT0gdGVzdERh
dGFbdXBwZXIgKyAxXSkKLSAgICAgICAgICAgICAgICArK3dpbmRvdy51cHBlcjsKKyAgICAgICAg
ICAgICAgICArK3NlbGYudXBwZXI7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKGxvd2VyICE9
PSBudWxsKSB7CiAgICAgICAgIGlmIChsb3dlcklzT3BlbikgewogICAgICAgICAgICAgd2hpbGUg
KGxvd2VyIDwgdGVzdERhdGEubGVuZ3RoIC0gMSAmJiB0ZXN0RGF0YVtsb3dlcl0gPT09IHRlc3RE
YXRhW2xvd2VyICsgMV0pCi0gICAgICAgICAgICAgICAgKyt3aW5kb3cubG93ZXI7CisgICAgICAg
ICAgICAgICAgKytzZWxmLmxvd2VyOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgd2hp
bGUgKGxvd2VyID4gMCAmJiB0ZXN0RGF0YVtsb3dlcl0gPT09IHRlc3REYXRhW2xvd2VyIC0gMV0p
Ci0gICAgICAgICAgICAgICAgLS13aW5kb3cubG93ZXI7CisgICAgICAgICAgICAgICAgLS1zZWxm
Lmxvd2VyOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKGFzY2VuZGluZykgewogICAgICAg
ICBpZiAobG93ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghbG93ZXJJc09wZW4pCi0g
ICAgICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKKyAgICAgICAgICAg
ICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyICsgMTsKKyAgICAgICAgICAg
ICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlciArIDE7CiAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSAwOworICAgICAgICAgICAgc2VsZi5leHBl
Y3RlZEluZGV4ID0gMDsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAodXBwZXIgIT09IG51bGwp
IHsKICAgICAgICAgICAgIGlmICghdXBwZXJJc09wZW4pCi0gICAgICAgICAgICAgICAgd2luZG93
LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5k
ZXggPSB1cHBlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IHVwcGVyIC0gMTsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5k
ZXggPSB1cHBlciAtIDE7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgd2luZG93LmV4cGVj
dGVkSW5kZXggPSB0ZXN0RGF0YS5sZW5ndGggLSAxOworICAgICAgICAgICAgc2VsZi5leHBlY3Rl
ZEluZGV4ID0gdGVzdERhdGEubGVuZ3RoIC0gMTsKICAgICB9CiAgICAgdGVzdFdpdGhpbkJvdW5k
cygpOwogIApAQCAtMTg2LDE1ICsxODYsMTUgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogZnVu
Y3Rpb24gdGVzdFdpdGhpbkJvdW5kcygpCiB7CiAgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAwIHx8
IHRlc3REYXRhLmxlbmd0aCA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0
ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAgICAg
aWYgKGxvd2VyICE9PSBudWxsICYmIGV4cGVjdGVkSW5kZXggPCBsb3dlcikKLSAgICAgICAgd2lu
ZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBu
dWxsOwogICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgpCi0g
ICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gbnVsbDsKKyAgICAgICAgc2VsZi5leHBlY3Rl
ZEluZGV4ID0gbnVsbDsKICAgICBpZiAobG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4gJiYg
ZXhwZWN0ZWRJbmRleCA8PSBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBu
dWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAh
PT0gbnVsbCAmJiB1cHBlcklzT3BlbiAmJiB1cHBlciA8PSBleHBlY3RlZEluZGV4KQotICAgICAg
ICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRl
eCA9IG51bGw7CiB9CiAgCiBmdW5jdGlvbiBjdXJzb3JJdGVyYXRpb24oKQpAQCAtMjEyLDMxICsy
MTIsMzEgQEAgZnVuY3Rpb24gY3Vyc29ySXRlcmF0aW9uKCkKICAKICAgICBzaG91bGRCZSgiZXZl
bnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgImV4cGVjdGVkSW5kZXgiKTsKICAgICBzaG91
bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkiLCAidGVzdERhdGFbIiArIGV4cGVjdGVkSW5k
ZXggKyAiXSIpOwotICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gYXNjZW5kaW5nID8gZXhwZWN0
ZWRJbmRleCArIDEgOiBleHBlY3RlZEluZGV4IC0gMTsKKyAgICBzZWxmLmV4cGVjdGVkSW5kZXgg
PSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4ICsgMSA6IGV4cGVjdGVkSW5kZXggLSAxOwogICAg
IHRlc3RXaXRoaW5Cb3VuZHMoKTsKIAogICAgIGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUo
KTsKIH0KICAKLXdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID0gMDsKK3NlbGYubnVsbEtleVJhbmdl
U3RlcCA9IDA7CiBmdW5jdGlvbiB0ZXN0TnVsbEtleVJhbmdlKCkKIHsKLSAgICB3aW5kb3cubG93
ZXIgPSAwOwotICAgIHdpbmRvdy5sb3dlcklzT3BlbiA9IGZhbHNlOwotICAgIHdpbmRvdy51cHBl
ciA9IHRlc3REYXRhLmxlbmd0aC0xOwotICAgIHdpbmRvdy51cHBlcklzT3BlbiA9IGZhbHNlOwor
ICAgIHNlbGYubG93ZXIgPSAwOworICAgIHNlbGYubG93ZXJJc09wZW4gPSBmYWxzZTsKKyAgICBz
ZWxmLnVwcGVyID0gdGVzdERhdGEubGVuZ3RoLTE7CisgICAgc2VsZi51cHBlcklzT3BlbiA9IGZh
bHNlOwogCiAgICAgc3RyID0gIk5leHQgdGVzdDogbnVsbCBrZXkgcGF0aCAiOwotICAgIGlmICh3
aW5kb3cubnVsbEtleVJhbmdlU3RlcCA9PSAwKSB7CisgICAgaWYgKHNlbGYubnVsbEtleVJhbmdl
U3RlcCA9PSAwKSB7CiAgICAgICAgIHN0ciArPSAic29ydGVkIGFzY2VuZGluZy4iOwotICAgICAg
ICB3aW5kb3cuYXNjZW5kaW5nID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXgg
PSBsb3dlcjsKLSAgICAgICAgd2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPSAxOwotICAgIH0gZWxz
ZSBpZiAod2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPT0gMSkgeworICAgICAgICBzZWxmLmFzY2Vu
ZGluZyA9IHRydWU7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOworICAgICAg
ICBzZWxmLm51bGxLZXlSYW5nZVN0ZXAgPSAxOworICAgIH0gZWxzZSBpZiAoc2VsZi5udWxsS2V5
UmFuZ2VTdGVwID09IDEpIHsKICAgICAgICAgc3RyICs9ICJzb3J0ZWQgZGVzY2VuZGluZy4iOwot
ICAgICAgICB3aW5kb3cuYXNjZW5kaW5nID0gZmFsc2U7Ci0gICAgICAgIHdpbmRvdy5leHBlY3Rl
ZEluZGV4ID0gdXBwZXI7Ci0gICAgICAgIHdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID0gMjsKKyAg
ICAgICAgc2VsZi5hc2NlbmRpbmcgPSBmYWxzZTsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4
ID0gdXBwZXI7CisgICAgICAgIHNlbGYubnVsbEtleVJhbmdlU3RlcCA9IDI7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWdldC1rZXktYXJndW1lbnQtcmVx
dWlyZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWdldC1rZXkt
YXJndW1lbnQtcmVxdWlyZWQuaHRtbAppbmRleCAyZTI2YTFjNTBkNzYzZDE3YWViYzBjZjI5ZWIw
ZDgyNWUyYmIzZjQyLi4wMTllZGMyMTFiMWU1Yzg3ZWZlOGU0MmYzOWQyMDgwNGI3MDllZDU5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1nZXQta2V5LWFy
Z3VtZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW5kZXgtZ2V0LWtleS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1l
ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBh
dGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi5odG1sCmluZGV4IGQ3OGQ4YTBjNWI2
MzgzY2Q4NzdkZTBiYTMyMGU4NmQyMDU3N2RlM2EuLjQ0MDAxMWY4NTZlNmVmYTdmY2Q4YTA2Mjc5
Zjk4MzVjOGUxZjRiNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2luZGV4LXBvcHVsYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9pbmRleC1wb3B1bGF0aW9uLmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gZG9TZXRW
ZXJzaW9uMSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJkb1NldFZlcnNpb24xKCk6
Iik7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVy
c2lvbiAxJykiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb24xOwogICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbAppbmRleCBhM2QyODAzNTZiZGIz
YmRkOWU5ODBiODY2MmE5MjkwMGRmYmI1YTA4Li4xMTQxMzIxMjE2MzZlODQ4YjU0Mjg1NWYzMmNh
MmM5ZjRiNDVmZWFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bmRleC11bmlxdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC11bmlxdWUuaHRtbApAQCAtMzcsOCArMzcsOCBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygp
CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93LnN0b3JlID0g
ZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKLSAgICB3aW5kb3cu
aW5kZXhPYmplY3QgPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAneCcs
IHt1bmlxdWU6IHRydWV9KSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJkYi5jcmVh
dGVPYmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhPYmplY3QgPSBldmFsQW5k
TG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAneCcsIHt1bmlxdWU6IHRydWV9KSIpOwog
CiAgICAgLy8gTGV0IHNldFZlcnNpb24gdHJhbnNhY3Rpb24gY29tcGxldGUuCiB9CkBAIC00Niw3
ICs0Niw3IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25D
b21wbGV0ZWQoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7Ci0gICAg
d2luZG93LnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbJ3N0b3JlJ10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgc2VsZi50
cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydz
dG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogCiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpLnB1dCh7eDogMX0sICdm
b28nKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy1l
eHBlY3RlZC50eHQKaW5kZXggMzU4YzY3OTg1ZDhlMzhlZDQ2NTEyNzdhMzM3ZmFhNTUzNDNkMTY2
My4uNTUwYTAwNTI2ZTJhMWQ2MzBiYWEwNjdiMWFkZGNiMzExMzNhOTU5MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtZXhwZWN0ZWQu
dHh0CkBAIC01MCwxMyArNTAsMTMgQEAgUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LkRBVEFfRVJSCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9IG9iamVjdFN0b3Jl
LnB1dCgndmFsdWUnLCAvcmVnZXgvKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1Mg
Y29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5wdXQoJ3ZhbHVlJywgd2luZG93KQorRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5wdXQoJ3ZhbHVlJywgc2Vs
ZikKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VF
eGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSByZXF1ZXN0ID0gb2Jq
ZWN0U3RvcmUucHV0KCd2YWx1ZScsIHdpbmRvdy5kb2N1bWVudCkKK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1ZScsIHNlbGYuZG9jdW1lbnQp
CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9IG9iamVj
dFN0b3JlLnB1dCgndmFsdWUnLCB3aW5kb3cuZG9jdW1lbnQuYm9keSkKK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1ZScsIHNlbGYuZG9jdW1l
bnQuYm9keSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0
YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKaW5k
ZXggNDIyMzg5YTcwZjI0ZGJlNGFjMjFiNDBlNWYyMzgxNDY2ZTIwOThjZS4uOGUyMDBiMDU2Y2U1
M2Y0ZjIzNjgwNTdmODBjOGIzZDZiMTkxZmZiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24g
dGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5k
b3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7
CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CkBAIC01NSw5ICs1NSw5IEBAIGZ1bmN0aW9uIHRl
c3RJbnZhbGlkS2V5cygpCiAgICAgICAgICJuZXcgRGF0ZShOYU4pIiwgLy8gRGF0ZSAoc3BlY2lh
bCBjYXNlKQogICAgICAgICAie30iLCAvLyBPYmplY3QKICAgICAgICAgIi9yZWdleC8iLCAvLyBS
ZWdFeHAKLSAgICAgICAgIndpbmRvdyIsIC8vIGdsb2JhbAotICAgICAgICAid2luZG93LmRvY3Vt
ZW50IiwgLy8gSFRNTERvY3VtZW50Ci0gICAgICAgICJ3aW5kb3cuZG9jdW1lbnQuYm9keSIgLy8g
SFRNTEJvZHlFbGVtZW50CisgICAgICAgICJzZWxmIiwgLy8gZ2xvYmFsCisgICAgICAgICJzZWxm
LmRvY3VtZW50IiwgLy8gSFRNTERvY3VtZW50CisgICAgICAgICJzZWxmLmRvY3VtZW50LmJvZHki
IC8vIEhUTUxCb2R5RWxlbWVudAogICAgIF07CiAKICAgICBpbnZhbGlkS2V5cy5mb3JFYWNoKGZ1
bmN0aW9uKGtleSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5LWdlbmVyYXRvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LWdl
bmVyYXRvci5odG1sCmluZGV4IDQ5YWI2MmM4ZTMyOGFhZGVhOTc4MDg5YmQ3YzgzZjJmMDAxNTU2
NjEuLjY5YjI2MTQyNDExYmQ2NTYxNGUxODdmYmQ5ZDdhYjEzN2FjMjg4ZTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0b3IuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9yLmh0bWwKQEAgLTc2LDEx
ICs3NiwxMSBAQCBmdW5jdGlvbiBydW5UZXN0cygpIHsKIH0KIAogZnVuY3Rpb24gY2hlY2soc3Rv
cmUsIGtleSwgZXhwZWN0ZWQpIHsKLSAgICB3aW5kb3cuc3RvcmUgPSBzdG9yZTsKKyAgICBzZWxm
LnN0b3JlID0gc3RvcmU7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBzdG9y
ZS5nZXQoIiArIEpTT04uc3RyaW5naWZ5KGtleSkgKyAiKSIpOwogICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVu
Y3Rpb24gKGUpIHsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkID0gZXhwZWN0ZWQ7CisgICAgICAg
IHNlbGYuZXhwZWN0ZWQgPSBleHBlY3RlZDsKICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGV2
ZW50LnRhcmdldC5yZXN1bHQpID09PSBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkpIHsKICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoIkdvdCAiICsgSlNPTi5zdHJpbmdpZnkoZXZlbnQudGFyZ2V0LnJl
c3VsdCkgKyAiIGZvciBrZXk6ICIgKyBKU09OLnN0cmluZ2lmeShrZXkpKTsKICAgICAgICAgfSBl
bHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS1zb3J0
LW9yZGVyLWFjcm9zcy10eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKaW5kZXggMzg1MTNjMjMwMjAzZWU4ZGZk
YTdjZWNjOWQ2MTczNjVhZTc3MzBmOS4uMjQ2NmE1YzVlNTI1YjYyM2VjZTNkZDk2MDk4YzI1Y2Fm
YTM5Y2UzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXNv
cnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5h
bWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24u
cGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWwKaW5kZXggYWM3
YjM2YTUwMDNiOWYxODlmZjI4NDIxNDYxMTlkN2I0ZmViOWI0ZC4uZDZkZWNmM2QwNTE2ZThkM2Y2
YmJlNWE1ZGRkNDc1NDQwNGI0NzMzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIva2V5LXNvcnQtb3JkZXItZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWRhdGUuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFt
ZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5w
YXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dAppbmRl
eCA0NTNkNTkwY2ZkZjllOWUxYzYxMGM1NTk3MjcxNTg4NzUxMzYxMjRmLi41OTY5MDRhYmU2NDAw
M2YxZDczZWIxMmM5OWZlMzM2NzEzYWRhNzFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0CkBAIC02LDkg
KzYsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogaW5kZXhlZERCID0gc2VsZi5pbmRleGVk
REIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5t
c0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiBQQVNTIEJvb2xlYW4oaW5kZXhlZERCICYm
IElEQkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElEQkRhdGFi
YXNlRXhjZXB0aW9uICYmIElEQkZhY3RvcnkgJiYgSURCSW5kZXggJiYgSURCS2V5UmFuZ2UgJiYg
SURCT2JqZWN0U3RvcmUgJiYgSURCUmVxdWVzdCAmJiBJREJUcmFuc2FjdGlvbikgaXMgdHJ1ZQog
Ci1JREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cuSURCVHJh
bnNhY3Rpb247CitJREJUcmFuc2FjdGlvbiA9IHNlbGYuSURCVHJhbnNhY3Rpb24gfHwgc2VsZi5J
REJUcmFuc2FjdGlvbjsKIFBBU1MgSURCVHJhbnNhY3Rpb24gPT0gbnVsbCBpcyBmYWxzZQotSURC
RGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93
LklEQkRhdGFiYXNlRXhjZXB0aW9uOworSURCRGF0YWJhc2VFeGNlcHRpb24gPSBzZWxmLklEQkRh
dGFiYXNlRXhjZXB0aW9uIHx8IHNlbGYuSURCRGF0YWJhc2VFeGNlcHRpb247CiBQQVNTIElEQkRh
dGFiYXNlRXhjZXB0aW9uID09IG51bGwgaXMgZmFsc2UKIGluZGV4ZWREQi5vcGVuKG5hbWUsIGRl
c2NyaXB0aW9uKQogZGIgPSBvcGVucmVxLnJlc3VsdApAQCAtMjE3LDE4ICsyMTcsMTggQEAgRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIC9yZWdleC8gXSk7CiBQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCiAKLXRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93IF0KLUV4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cgXSk7Cit0
ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHNlbGYgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHNlbGYgXSk7CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiAKLXRlc3Rp
bmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93LmRvY3VtZW50IF0KLUV4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cuZG9jdW1lbnQgXSk7Cit0ZXN0
aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHNlbGYuZG9jdW1lbnQgXQorRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHNlbGYuZG9jdW1lbnQgXSk7CiBQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCiAKLXRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93LmRvY3VtZW50LmJv
ZHkgXQotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHdpbmRv
dy5kb2N1bWVudC5ib2R5IF0pOwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBzZWxmLmRv
Y3VtZW50LmJvZHkgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUn
LCBbIHNlbGYuZG9jdW1lbnQuYm9keSBdKTsKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQ
QVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwKaW5kZXggODAyODcw
MjhhOWQ2ZGJmNmI5YmJlN2U5NmI3MTExMWY0YzQ5ZGM2Ny4uMmE1OTQ1NDQxZjg4ZThiZjhjNzU2
NWVlYjllMDgxMDQ3MmJjZDAxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sCkBAIC0xNSwxNCArMTUsMTQgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIGV2YWxBbmRMb2coIklE
QlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy5JREJUcmFuc2Fj
dGlvbjsiKTsKKyAgICBldmFsQW5kTG9nKCJJREJUcmFuc2FjdGlvbiA9IHNlbGYuSURCVHJhbnNh
Y3Rpb24gfHwgc2VsZi5JREJUcmFuc2FjdGlvbjsiKTsKICAgICBzaG91bGRCZUZhbHNlKCJJREJU
cmFuc2FjdGlvbiA9PSBudWxsIik7CiAKLSAgICBldmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4Y2Vw
dGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cuSURCRGF0YWJhc2VF
eGNlcHRpb247Iik7CisgICAgZXZhbEFuZExvZygiSURCRGF0YWJhc2VFeGNlcHRpb24gPSBzZWxm
LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHNlbGYuSURCRGF0YWJhc2VFeGNlcHRpb247Iik7CiAg
ICAgc2hvdWxkQmVGYWxzZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCIpOwogCiAKLSAg
ICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0
aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAg
IG9wZW5yZXEgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKICAgICBvcGVucmVxLm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpAQCAtMTY0LDkgKzE2NCw5
IEBAIGZ1bmN0aW9uIHRlc3RJbnZhbGlkQXJyYXlLZXlzKCkKICAgICAgICAgIlsge30gXSIsCiAg
ICAgICAgICJbIGZ1bmN0aW9uICgpIHt9IF0iLAogICAgICAgICAiWyAvcmVnZXgvIF0iLAotICAg
ICAgICAiWyB3aW5kb3cgXSIsCi0gICAgICAgICJbIHdpbmRvdy5kb2N1bWVudCBdIiwKLSAgICAg
ICAgIlsgd2luZG93LmRvY3VtZW50LmJvZHkgXSIsCisgICAgICAgICJbIHNlbGYgXSIsCisgICAg
ICAgICJbIHNlbGYuZG9jdW1lbnQgXSIsCisgICAgICAgICJbIHNlbGYuZG9jdW1lbnQuYm9keSBd
IiwKICAgICAgICAgImN5Y2xpY19hcnJheSIsCiAgICAgICAgICJjeWNsaWNfYXJyYXkyIiwKICAg
ICAgICAgImN5Y2xpY19hcnJheTMiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIva2V5LXR5cGUtaW5maW5pdHkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2tleS10eXBlLWluZmluaXR5Lmh0bWwKaW5kZXggYmFlM2NiMGY0YzA3M2VkN2UxZDkx
NDljM2NiZGRkYWUzYTgyZmE4Yi4uYmMxZWRlNTdkNWFmMmE3MzM1Y2QyOWNkMmJlMWNkMmJiMDdj
NzQ1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUt
aW5maW5pdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlw
ZS1pbmZpbml0eS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBh
dGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0
aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5cGF0aC1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXBh
dGgtYmFzaWNzLmh0bWwKaW5kZXggNTUyYjhmNzViZmRhOTNjNzczZjE1NmVlM2NiNTVkYWQ2ZTll
YjdiNC4uYTY1YzMzMjk4MDhjMWUzMjQ2MTQxZGQxODBjNTBhMDIzNDAxOTQ0MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1iYXNpY3MuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWJhc2ljcy5odG1sCkBAIC0x
NCw3ICsxNCw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0IGZvciB2YWxpZCBhbmQgaW52YWxpZCBrZXlw
YXRocyIpOwogZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsK
LSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxv
Y2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlv
bikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtZmV0Y2gta2V5Lmh0bWwKaW5kZXgg
OWE2OTc2MTU2MmE2NWQ2MzQ1NjIzODY5MDFkNjZiZDIwN2NkYTBmYy4uOWY2NTBlNDljMThlODFm
YWM2MTM5MTM2NDQxZDQ1OTI3NDczMmEyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9rZXlwYXRoLWZldGNoLWtleS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1l
ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBh
dGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVyZS5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVyZS5odG1s
CmluZGV4IGI1OGM1YjdlMzU3MDZmNDE1NzQ0YmVjOTc5Nzg4MjVkZTUxYTViOTYuLjc5MjdhYzhl
MGUwZjYzNjNkN2YxZmU5MmI2NTRiYmIwZDNkY2Y2ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYWRkLXR3aWNlLWZhaWx1cmUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2FkZC10d2ljZS1mYWlsdXJlLmh0
bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9y
UHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAg
bmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVz
dCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5h
bWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2F1dG9p
bmNyZW1lbnQtaW5kZXhlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbAppbmRleCAzNWZkZjAyMzA5YzhkY2QwYTIx
YmExMzExY2IxOGQ1MjNlZDBjNjYyLi4yMTYwYTlkMGRkOGRiOWQwMzNjNGIzMDA2ZjE4YjAzNjU4
NTkwNzg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L2F1dG9pbmNyZW1lbnQtaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvYXV0b2luY3JlbWVudC1pbmRleGVzLmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAg
IG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2JhZC1rZXlwYXRoLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2JhZC1rZXlwYXRoLmh0bWwKaW5kZXgg
ZTI5OWI5MWEzMjdlZGRiZWQ0MTc1NWE2YWMzNzc1NmRmYTE0MzM3YS4uZTBlNjI3OGFhYTBmMGY1
MTlhOGQxNjMyZDk3ZGNlNzNhN2FlNTc0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9iYWQta2V5cGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYmFkLWtleXBhdGguaHRtbApAQCAtMjEsNyArMjEsNyBA
QCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAg
bmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlv
bi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7
CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIuaHRtbAppbmRleCAzZDI3Mzg2OWRlZWJk
NDRmZDgwNmJkMjc4N2VhMDlmOTI2NjA1MDA0Li4zYmEzY2ZiZGM3NDhkZWExMmZhYThmNjVmODVj
ZGM4Njc2MjJmY2E5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL2NsZWFyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9jbGVhci5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBh
dGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0
aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9jcmVhdGUtaW5kZXgtdW5pcXVlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbAppbmRleCBhYTU5NmVjZjhm
MmIwZDBhZjA5MmIzYTFhMGY3NjlmYjY1YjNiMzdkLi5iMDY3YzczYTNkYTQzZjU5NWE5MjMyOThi
ZDcxZGI2NjdmZWI4NmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbApAQCAtMjEsNyAr
MjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwog
Ci0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5s
b2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRp
b24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLWluZGV4LXdpdGgt
aW50ZWdlci1rZXlzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L2NyZWF0ZS1pbmRleC13aXRoLWludGVnZXIta2V5cy5odG1sCmluZGV4IGNjN2IwYWVlZDljYjZl
YmEzMGJiYzNiYTUwZTU5MWY4MTNiMTliOTkuLmJiOWJhZjdmZTYxYzU5YmQyMzkzZDEyMzg2YWIw
ZGI2NDY2YTkwMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY3JlYXRlLWluZGV4LXdpdGgtaW50ZWdlci1rZXlzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtaW5kZXgtd2l0aC1pbnRlZ2VyLWtl
eXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsK
KyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJN
eSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3Vj
Y2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
Y3JlYXRlLW9iamVjdHN0b3JlLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKaW5kZXggNjUxYTBh
NGJmNmVhMDE1NzM0NzMwZmY5OTY1N2RkNDJiZjZkNWY4ZS4uOGQ4MTYzYjQ0ZjRkMTM5ODA2YTU5
YzkzOTk4ZDM4MzI0NzcxNGJjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNz
Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVu
ZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7Cisg
ICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkg
VGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVu
KG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nl
c3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2Ny
ZWF0ZS1vYmplY3RzdG9yZS1udWxsLW5hbWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwtbmFtZS5odG1sCmluZGV4IGZl
YzA1MDJjYjcxNzRmZjAxOGQzZDdlMzE0M2RiNmQ0N2RjMmQ5MzcuLmJkYjg5MmViODRlNzUxZTI3
NmM2NGQxZDA5ZGQwNTQ1YTcwZjI0ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwtbmFtZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3Jl
LW51bGwtbmFtZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBh
dGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0
aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUt
b25seS5odG1sCmluZGV4IDQ1NTdjZDUzNzE1OWU0Y2E5NTU5MGE2Y2M1MDBjZjkyMjIxNDJkNTAu
LjJmNmJkMzIzYTZjZmViZjY2ZGQ0MWI1M2YxZGQwNmNjNmEwNzhjZDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11dGF0aW9uLW9iamVj
dHN0b3JlLW9ubHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2N1cnNvci1tdXRhdGlvbi1vYmplY3RzdG9yZS1vbmx5Lmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAg
IG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1p
bmRleGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNv
ci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWwKaW5kZXggYjMwOTlhZjI2ZmQ0ZWQwNDAwMGYx
MGNkZDlkOWUyMzI1NGU4NTM1NS4uZTEwOTAwNmIwMWFiMjZjZDlkZTQ5NjE5MThiN2NkOWI5MjU5
NDFhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9j
dXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuaHRtbApA
QCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVm
aXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1l
ID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERh
dGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwg
ZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29ycy5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwK
aW5kZXggZWUwNzg3NGFkMGVlZGVmYWQwMzVjNGE3YTM1YjczYjNjOTRlYjNhNS4uZjNiMTI2YTU1
YmViNmY5ODhlMjdjMWE4N2RmNjFiYzI5NjdmOTFmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5h
bWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24u
cGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2RlbGV0ZS1yZXN1bHQuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCmluZGV4
IDQ4N2ExMTJmOWIzMDllMDI2N2ZjMzkzZTAyNWY3NmE3MDg1OGM1MjEuLjgzODJkZjIwODhiOTYz
YTYzZjQwYmQyYmRkZjFkYWZlNTM4NWRmMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCkBAIC0yMSw3ICsy
MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAK
LSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxv
Y2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlv
bikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZlbnQtc291cmNlLmh0bWwK
aW5kZXggMTUxMzVlMWNhYzIwMTQwNDIxMGRmMTRhMzBjNGNhMWY3ZGQzMGU0Ni4uYTYzZjNkYWIy
MzNkZWNkZjUzZjMyODZjZjllZDllNTAwNGUwMjRiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2V2ZW50LXNvdXJjZS5odG1sCkBAIC0yMSw3
ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7
CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxm
LmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2Ui
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlw
dGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS5odG1s
CmluZGV4IDJlZjU1MzE4YmFmNDA4NjY3YTdlMzExNWY0OTNjNTNlMzJkYmVjNDEuLjZkOGRhZTc4
ZWE2ZjQzNzUxY2U4MzBhYWU3MTJlYjJlYzQ1NjgzMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLmh0bWwKQEAgLTIxLDcg
KzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsK
IAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYu
bG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7
CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0
aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCmluZGV4IDgz
ZWQ4MzlmM2YzMWNjOTZiYWQxZWJjYjY0MGJmOGU5YmM3MDhhYzQuLjZjZGRmOTRjZTE2OTRjMjk1
ZDg0YjdhMTUyMzdiZThlYmFmMzJlNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2lu
ZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1l
OwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBl
dmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLWRlbGV0ZS1udWxsLWtleS5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1l
bnRzLWRlbGV0ZS1udWxsLWtleS5odG1sCmluZGV4IDAxMGE4Mjc4YmEyYjRjZDE5NDJjMTc4OGZm
ODg2ODNhM2ViM2Y5ZmQuLjg1Y2FiYzVkMGY3N2ZmNmUxMjQ3NWZkODY2N2I0NDczZTU0NzJmZjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy1kZWxldGUtbnVsbC1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtZGVsZXRlLW51bGwta2V5Lmh0bWwK
QEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJl
Zml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFt
ZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBE
YXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUs
IGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1
aXJlbWVudHMtaW5saW5lLWFuZC1wYXNzZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5kLXBhc3NlZC5odG1sCmlu
ZGV4IGFjNmNkNGQ1MjQ3YzkzMjE1MmEwYmFhMGZiZmE3YmJjZTllMzg2YzQuLjEwZDM1ZWZkZDZj
N2VkZDJiNDY0Njk1OWMxN2YxMmI5NzU3ODA4NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5kLXBhc3Nl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy1pbmxpbmUtYW5kLXBhc3NlZC5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0
aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0g
d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhu
YW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1uby1rZXkuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50
cy1wdXQtbm8ta2V5Lmh0bWwKaW5kZXggODg5ZTlhMzFjMDY5NGNmODg1MjZmOTNhZjQyZDg3YWNh
NTljMjkwMy4uMDk3ZTI0ZmRmNzE1YWE4MWJiN2Y0YTM3MGIzYzlhZWE5MWRlMjE4ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1l
bnRzLXB1dC1uby1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW5vLWtleS5odG1sCkBAIC0yMSw3ICsyMSw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBu
YW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxs
LWtleS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVx
dWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sCmluZGV4IDE2MzE5Y2EzMjBjOTNjN2RmOTNiYmYy
YmNmMTBkMTY4YmUyZGQ5MjguLjc4ODA5ZWIyZGI0MzFjMjYyODc0YTcwODRjNjU2NGU5OTVkNzQw
OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5
LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwta2V5Lmh0bWwKQEAg
LTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4
ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9
IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRh
YmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRl
c2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJl
bWVudHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy5odG1sCmluZGV4IDRlOTg1OTJmYTFhMWE0ZGJhODhlODFjZjg2NjEyOTkxNDM4
ZTUwNjAuLjBjZWIzYWM5YTg0MDU3NDFhMGRjYTg2YmU4N2I0NDIzZjM3OTRhOWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAg
IHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBh
dGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0
aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sCmluZGV4IDUwYmI2ZmFkYWY2OGVkMGJiYmI3
OThjM2Y0MjYyODIyNmJlMDcyYzAuLmFjNDM2MDUzZDhjYTYyZWRiNzg2ZWVmOWJkNTIyNTE1MTk0
MDNkMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
b2JqZWN0LWN1cnNvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL29iamVjdC1jdXJzb3JzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cu
bG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAg
ICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtaWRlbnRpdHkuaHRtbAppbmRleCA4ZjA5MzMw
ZjMwZGY5NjE3Zjk1NWEyNTdjNjRmZTQ0NjkzOGU4MjBhLi4yNmE5NmQ3NTIxMjZkMmFiNTQwYTRh
M2M4M2I3MDdiZDFiYzY1ZjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWlkZW50aXR5Lmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAg
IG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1pbmxpbmUtYXV0
b2luY3JlbWVudC1rZXktYWRkZWQtb24tcHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1pbmxpbmUtYXV0b2luY3JlbWVudC1rZXktYWRk
ZWQtb24tcHV0Lmh0bWwKaW5kZXggODNmZTJmODc0MTI1ZjI4NTc4NGEyNzEwNmJlMWQwYjQ3YWU5
OTc4ZS4uNWY3ZjE1M2I3ZjU3NDE2Y2E5MDFhMjY3ODUwMmVmZTlmYzNiN2Y4MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3Qtc3RvcmUtaW5s
aW5lLWF1dG9pbmNyZW1lbnQta2V5LWFkZGVkLW9uLXB1dC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLWlubGluZS1hdXRvaW5jcmVt
ZW50LWtleS1hZGRlZC1vbi1wdXQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5s
b2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAg
ICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5v
bnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1
ZXMuaHRtbAppbmRleCA5YjMwODFjODQzMjE3YjdkMjcyNjUxN2E5NDExYTliNmQ3ZDRjZTEzLi5i
MTM1YTBkM2YzMzllZGU1YzcyNDk4YzU2ZWY2NTA4MmRhOTM4MzhiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFs
dWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmpl
Y3Qtc3RvcmUtcmVtb3ZlLXZhbHVlcy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93
LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwog
ICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3RzdG9yZW5hbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbAppbmRleCAxNDE2
MjkwMzc3ZDEyZjM4NTVmYTViNzVlYjdiMzUyYTFiMzEwY2U0Li5hODZmNmYyY2Y4ZWI5NmJlYWYz
ODBjNGM1ZDljM2MxOTYxNThlZDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbApAQCAtMjEsNyAr
MjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwog
Ci0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5s
b2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRp
b24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2RkLXJlc3VsdC1vcmRlci5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9y
ZGVyLmh0bWwKaW5kZXggNzg1MGM1YzY5MmE4M2MxNTczZDE2ZTQzNTZiMWE1MTEwNjEwM2M0MS4u
NDI5NzhmOTRhNjJlMGRhZDczMDE0N2JiZWI3NTlmNWRhM2E2NjA3NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9y
ZGVyLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3Zl
VmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7
CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAi
TXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5v
cGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1
Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L3B1dC1nZXQtdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL3B1dC1nZXQtdmFsdWVzLmh0bWwKaW5kZXggYTUwYmNjNWY1ZDIxOWRjZTliM2ExYjJiNWFl
ZGE2M2VlYmFkNDE4YS4uNzkwNjQ1NTkyZjI0MjIwYTc1ZDBhNjhlNzM2NjlhNWZhY2ZkYjc5NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9wdXQtZ2V0
LXZhbHVlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
cHV0LWdldC12YWx1ZXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlv
bi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNj
cmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWRvbmx5LXRyYW5zYWN0aW9ucy5odG1sCmluZGV4IGQz
MTk0MjEyMjU3YzYwMWI1MWU0YTc3MDIwNTkyYzMyYzg1MjE4YzguLmQ4NzM4ZDA2MWIwM2Y1ZGQx
NjBkNTNiYmEyNThhNmQ0YTIwYzkzMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkb25seS10cmFuc2FjdGlvbnMuaHRt
bApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQ
cmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBu
YW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0
IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFt
ZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHdy
aXRlLXRyYW5zYWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKaW5kZXggMjgxMzM0MjZiNTQ3MzEzNDVm
MmEwYWRiZDhmNDA3ZWZiMGViYWRkZS4uNzhhZDU0NDhjNmJhMjcwNjBjOTdmMTc4NDU3M2VkODRi
NTIwNTg4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKQEAgLTIxLDcgKzIx
LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAot
ICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9j
YXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9u
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWR5U3RhdGUuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCmluZGV4
IDlmZDU5MGFmOGY0ODNiMTY3MzIwMTljODZlZDdlYzNkODY4ZWNlZTguLjA1NTAwN2U0MDY1NTg0
NzJjMTUxN2JjNzAzN2QxNmU1MzkzM2M2ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBu
YW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
ICAgICBzaG91bGRCZSgicmVxdWVzdC5yZWFkeVN0YXRlIiwgIklEQlJlcXVlc3QuTE9BRElORyIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1v
dmUtaW5kZXguaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVt
b3ZlLWluZGV4Lmh0bWwKaW5kZXggYTBhODU5ZTQ4ODEzYjc4NzAzZWI5ODU4NDNkMDNiMGUzNjcy
MjcyOS4uMDRhZTM3ZTdmMzQyODYzNzgzYTU0NmVmNDZmMTJhYzBkOTYyNmM5OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1vdmUtaW5kZXguaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1pbmRl
eC5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZl
bmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOwor
ICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15
IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Bl
bihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNj
ZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9y
ZW1vdmUtb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvcmVtb3ZlLW9iamVjdHN0b3JlLmh0bWwKaW5kZXggYTY1MmFjY2RjMjUwOGJlZWYxZGZh
YWY4OWE5MzRmZjE2MjQyMTlmMS4uNTVjMWZhZTgwMjgwMjYzYTJlOWE0YjA5NTk2MmE2MGRmNGFm
OGYzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9y
ZW1vdmUtb2JqZWN0c3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL3JlbW92ZS1vYmplY3RzdG9yZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0
aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0g
d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhu
YW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWFib3J0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJvcnQuaHRt
bAppbmRleCAwYmM5NjM1MmYwMWIwNDJmZDBiN2EzMzAwZTUyODA2Yzc1ZjIxZDNhLi4yZDJiZDdk
YzFhNDQyZjFhNGZhNmQyNmZkZjAxYjBiMmMzNzljMjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJvcnQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJv
cnQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsK
KyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJN
eSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3Vj
Y2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
dmVyc2lvbmNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS92ZXJzaW9uY2hhbmdlLmh0bWwKaW5kZXggMWM3N2FmOGNhNjhhZDAzY2QwMzc2MTgyZWFhMDk0
ZWQ2MmQ5MTM1ZS4uYzY0M2I5OWE2MDY5M2M0ZjVjODQzNGZhZDg1MmIwYmJiOTJlMWE4ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hh
bmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJz
aW9uY2hhbmdlLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAg
cmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0
aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRp
b24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4
ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
b3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
dXRhdGluZy1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0
aW5nLWN1cnNvci5odG1sCmluZGV4IGY4NDJjNGJkMzQ0M2QwYzQzOTBiYTU3MTJiMzUxM2EyNjZj
NWUyOGQuLjgzZTA0MDhmYzYzMzQ1MjI0Nzg2Yjc0Y2NhNTM1YjlmNDA3OTBjMTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sCkBA
IC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNp
b25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3
aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJv
cnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gb3Bl
bkZvcndhcmRDdXJzb3I7CkBAIC01MywxNyArNTMsMTcgQEAgZnVuY3Rpb24gb3BlbkZvcndhcmRD
dXJzb3IoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAg
ICB0cmFucy5vbmNvbXBsZXRlID0gZm9yd2FyZEN1cnNvckNvbXBsZXRlOwogCi0gICAgd2luZG93
Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsK
KyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0
b3JlJykiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUub3BlbkN1cnNv
cigpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmb3J3YXJkQ3Vyc29yOwogICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHdpbmRvdy5jdXJzb3JT
dGVwcyA9IDA7CisgICAgc2VsZi5jdXJzb3JTdGVwcyA9IDA7CiB9CiAKIGZ1bmN0aW9uIGZvcndh
cmRDdXJzb3IoKQogewogICAgIGRlYnVnKCJmb3J3YXJkQ3Vyc29yKCkiKTsKLSAgICB3aW5kb3cu
Y3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAgICBzZWxmLmN1cnNvciA9IGV2ZW50LnRh
cmdldC5yZXN1bHQ7CiAKICAgICBpZiAoZXZlbnQudGFyZ2V0LnJlc3VsdCA9PSBudWxsKSB7CiAg
ICAgICAgIHNob3VsZEJlKCJjdXJzb3JTdGVwcyIsICI1Iik7CkBAIC05OCwxNyArOTgsMTcgQEAg
ZnVuY3Rpb24gb3BlblJldmVyc2VDdXJzb3IoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVj
dGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gcmV2ZXJzZUN1cnNvckNv
bXBsZXRlOwogCi0gICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2Jq
ZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygi
dHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
b2JqZWN0U3RvcmUub3BlbkN1cnNvcihudWxsLCBJREJDdXJzb3IuUFJFVikiKTsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IHJldmVyc2VDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgd2luZG93LmN1cnNvclN0ZXBzID0gNjsKKyAgICBz
ZWxmLmN1cnNvclN0ZXBzID0gNjsKIH0KIAogZnVuY3Rpb24gcmV2ZXJzZUN1cnNvcigpCiB7CiAg
ICAgZGVidWcoInJldmVyc2VDdXJzb3IoKSIpOwotICAgIHdpbmRvdy5jdXJzb3IgPSBldmVudC50
YXJnZXQucmVzdWx0OworICAgIHNlbGYuY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKIAog
ICAgIGlmIChldmVudC50YXJnZXQucmVzdWx0ID09IG51bGwpIHsKICAgICAgICAgc2hvdWxkQmUo
ImN1cnNvclN0ZXBzIiwgIjAiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdFN0b3JlLXJlcXVpcmVkLWFyZ3VtZW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRzLmh0bWwKaW5k
ZXggMWJlM2Q5YmZlYzgzMjY5YjA3MmUxYTQyODM0ZmYyOWFjZmZiODIwNi4uMDQyMjVhMjgxNmUy
MTFiZDQxYzEzYjE0ZTIxZGVjYmRiNDAzNTBmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1l
bnRzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3Zl
VmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7
CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAi
TXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5v
cGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1
Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3Rz
dG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwKaW5kZXggYTFlY2JlYmFlNTViZmI5OTM2ZWYz
NDgxZTQzNzk1ZmE3MTA2MTNjNC4uOWY4ODI1YWE3N2VlNmUyZmI0ZjY3MzgyMDZlMGU0MDNmNmJi
OGRjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtYXV0b2luY3JlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlv
biB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nl
c3MoKToiKTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZl
cnNpb24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBA
IC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNp
b25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3
aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJv
cnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gc2V0
VmVyc2lvbkNvbXBsZXRlZDsKQEAgLTM5LDcgKzM5LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1
Y2Nlc3MoKQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAgICBkZWJ1ZygiY3Jl
YXRlT2JqZWN0U3RvcmUoKToiKTsKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9y
ZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJywge2tleVBhdGg6ICdp
ZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9n
KCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJywge2tleVBh
dGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOwogICAgIGV2YWxBbmRMb2coImRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhBdXRvSW5jcmVtZW50Jywge2F1dG9JbmNyZW1lbnQ6
IHRydWV9KSIpOwogICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdQbGFpbk9s
ZFN0b3JlJywge2F1dG9JbmNyZW1lbnQ6IGZhbHNlfSkiKTsKICAgICBldmFsQW5kTG9nKCJkYi5j
cmVhdGVPYmplY3RTdG9yZSgnU3RvcmVXaXRoTG9uZ0tleVBhdGgnLCB7a2V5UGF0aDogJ2EuYi5j
LmlkJywgYXV0b0luY3JlbWVudDogdHJ1ZX0pIik7CkBAIC01OSwxMSArNTksMTEgQEAgZnVuY3Rp
b24gc2V0VmVyc2lvbkNvbXBsZXRlZCgpCiB7CiAgICAgZGVidWcoInNldFZlcnNpb25Db21wbGV0
ZWQoKToiKTsKIAotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJh
bnNhY3Rpb24oWydTdG9yZVdpdGhLZXlQYXRoJywgJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnLCAn
UGxhaW5PbGRTdG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHNlbGYu
dHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnU3RvcmVXaXRoS2V5
UGF0aCcsICdTdG9yZVdpdGhBdXRvSW5jcmVtZW50JywgJ1BsYWluT2xkU3RvcmUnXSwgSURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFi
b3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RMb25nS2V5UGF0aDsKIAot
ICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUo
J1N0b3JlV2l0aEtleVBhdGgnKSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9y
ZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJykiKTsKIAogICAgIGRlYnVn
KCJJbnNlcnQgaW50byBvYmplY3Qgc3RvcmUgd2l0aCBhdXRvIGluY3JlbWVudCBhbmQga2V5IHBh
dGgsIHdpdGgga2V5IGluIHRoZSBvYmplY3QuIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
InN0b3JlLmFkZCh7bmFtZTogJ0plZmZlcnNzb24nLCBudW1iZXI6ICc3MDEwJywgaWQ6IDN9KSIp
OwpAQCAtOTksNyArOTksNyBAQCBmdW5jdGlvbiBnZXRMaW5jb2xuQWZ0ZXJJbmplY3RlZEtleVN1
Y2Nlc3MoKQogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5u
dW1iZXIiLCAiNzAxMiIpOwogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LmlkIiwg
IjQiKTsKIAotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2Jq
ZWN0U3RvcmUoJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnKSIpOworICAgIHNlbGYuc3RvcmUgPSBl
dmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdpdGhBdXRvSW5jcmVt
ZW50JykiKTsKICAgICBkZWJ1ZygiSW5zZXJ0IGludG8gb2JqZWN0IHN0b3JlIHdpdGgga2V5IGdl
biB1c2luZyBleHBsaWNpdCBrZXkiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygic3RvcmUu
YWRkKHtuYW1lOiAnTGluY29sbicsIG51bWJlcjogJzcwMTInfSwgNSkiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGFkZExpbmNvbG5XaXRoRXhwbGljaXRLZXlTdWNjZXNzOwpAQCAtMTQzLDcg
KzE0Myw3IEBAIGZ1bmN0aW9uIGdldEFicmFoYW1TdWNjZXNzKCkKICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQubmFtZSIsICJBYnJhaGFtIik7CiAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50YXJnZXQucmVzdWx0Lm51bWJlciIsICIyMTA3Iik7
CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0
b3JlKCdQbGFpbk9sZFN0b3JlJykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygic3Rv
cmUgPSB0cmFucy5vYmplY3RTdG9yZSgnUGxhaW5PbGRTdG9yZScpIik7CiAgICAgZGVidWcoIlRy
eSBhZGRpbmcgd2l0aCBubyBrZXkgdG8gb2JqZWN0IHN0b3JlIHdpdGhvdXQgYXV0byBpbmNyZW1l
bnQuIik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRkKHtuYW1lOiAnQWRh
bSd9KSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogICAgIHJlcXVlc3QgPSBl
dmFsQW5kTG9nKCJzdG9yZS5hZGQoe25hbWU6ICdBZGFtJ30sIDEpIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXIuaHRtbAppbmRleCA5
YzZlYzMyNDRkMjVjMjQ5NjI3MTE3MjNmMDBkNzhmZjlhYTNmOGI1Li5jNzhjNWQyNzU4NDhmODBm
NDQzNzY4YzYzOWZmOTNhY2U2MGI2ZThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWwKQEAgLTI5LDE0ICsyOSwxNCBAQCBm
dW5jdGlvbiBzdGFydFNldFZlcnNpb24oKQogCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7
Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0
LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKIAogICAgIGRl
bGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3Jl
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7CiAKLSAgICB3aW5k
b3cuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycp
Iik7CisgICAgc2VsZi5pbmRleCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRl
eE5hbWUnLCAnJykiKTsKICAgICBzaG91bGRCZVRydWUoInN0b3JlLmluZGV4TmFtZXMuY29udGFp
bnMoJ2luZGV4TmFtZScpIik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygic3RvcmUuYWRk
KCd2YWx1ZScsICdrZXknKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY291bnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWNvdW50Lmh0bWwKaW5kZXggM2VjZmFkMzk0MjEyNTYxMGMzMzM0MmFj
YWU4YzkzM2VmZTllODE0OS4uN2FlOTFjMmIwODBlNjAxZTE3YWQ5ZmJmYjJmMTlkMTdjM2JmOWFi
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
Y291bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9y
ZS1jb3VudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgp
CiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJwcmVwYXJpbmcgZGF0YWJhc2UiKTsKLSAg
ICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogCiAgICAgZGVsZXRl
QWxsT2JqZWN0U3RvcmVzKGRiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKaW5kZXggYTlkNjllNWExYjY2N2ZlOGVkMzk0
MjM3ZDVjMDZlNTJhZWFiNDM3Zi4uYWM3ZDdkNjg5ZjNkNjRhOTNmYjZmMTFiNGJiYzg0NDkxOWRi
ZjdkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtY3Vyc29yLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGRlc2NyaXB0aW9uKCJUZXN0IElu
ZGV4ZWREQidzIG9iamVjdFN0b3JlLm9wZW5DdXJzb3IgKyB0aGUgY3Vyc29yIGl0IHByb2R1Y2Vz
IGluIGRlcHRoLiIpOwogIAogLy8gSW4gb3JkZXIgb2YgaG93IGl0IHNob3VsZCBiZSBzb3J0ZWQg
YnkgSW5kZXhlZERCLgotd2luZG93LnRlc3REYXRhID0gWworc2VsZi50ZXN0RGF0YSA9IFsKICAg
ICAyLjcxODI4MTgyODQ1OSwKICAgICAzLAogICAgIDMuMTQxNTkyNjUsCkBAIC0zMSw3ICszMSw3
IEBAIGZ1bmN0aW9uIG9wZW5EYXRhYmFzZSgpCiAgCiBmdW5jdGlvbiBzZXRWZXJzaW9uKCkKIHsK
LSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlRXhpc3Rpbmc7CkBAIC00MCwyOCArNDAs
MjggQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkK
IHsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRy
YW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKIAogICAgIGRlbGV0ZUFsbE9i
amVjdFN0b3JlcyhkYik7CiAKLSAgICB3aW5kb3cub2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc29tZU9iamVjdFN0b3JlJykiKTsKLSAgICB3aW5kb3cubmV4
dFRvQWRkID0gMDsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3NvbWVPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5uZXh0VG9BZGQgPSAw
OwogICAgIGFkZERhdGEoKTsKIH0KIAogZnVuY3Rpb24gYWRkRGF0YSgpCiB7CiAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFkZCgnJywgdGVzdERhdGFbbmV4dFRvQWRkXSki
KTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9ICsrd2luZG93Lm5leHRUb0FkZCA8IHRlc3REYXRh
Lmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVsZVRlc3RzOworICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gKytzZWxmLm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVs
ZVRlc3RzOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
fQogCiBmdW5jdGlvbiBzY2hlZHVsZVRlc3RzKCkKIHsKICAgICBkZWJ1ZygiU2NoZWR1bGluZyB0
ZXN0cy4uLiIpOwotICAgIHdpbmRvdy5zY2hlZHVsZWRUZXN0cyA9IFtdOworICAgIHNlbGYuc2No
ZWR1bGVkVGVzdHMgPSBbXTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlc3REYXRhLmxlbmd0
aDsgKytpKSB7CiAgICAgICAgIC8qIGxlZnQgYm91bmQsIGlzIG9wZW4sIHJpZ2h0IGJvdW5kLCBp
cyBvcGVuLCBhc2NlbmRpbmcgKi8KICAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChbaSwg
dHJ1ZSwgbnVsbCwgbnVsbCwgdHJ1ZV0pOwpAQCAtOTYsMTEgKzk2LDExIEBAIGZ1bmN0aW9uIHJ1
bk5leHRUZXN0KCkKICAgICB9CiAgCiAgICAgdmFyIHRlc3QgPSBzY2hlZHVsZWRUZXN0cy5wb3Ao
KTsKLSAgICB3aW5kb3cubG93ZXIgPSB0ZXN0WzBdOwotICAgIHdpbmRvdy5sb3dlcklzT3BlbiA9
IHRlc3RbMV07Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdFsyXTsKLSAgICB3aW5kb3cudXBwZXJJ
c09wZW4gPSB0ZXN0WzNdOwotICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0ZXN0WzRdOworICAgIHNl
bGYubG93ZXIgPSB0ZXN0WzBdOworICAgIHNlbGYubG93ZXJJc09wZW4gPSB0ZXN0WzFdOworICAg
IHNlbGYudXBwZXIgPSB0ZXN0WzJdOworICAgIHNlbGYudXBwZXJJc09wZW4gPSB0ZXN0WzNdOwor
ICAgIHNlbGYuYXNjZW5kaW5nID0gdGVzdFs0XTsKIAogICAgIHN0ciA9ICJOZXh0IHRlc3Q6ICI7
CiAgICAgaWYgKGxvd2VyICE9PSBudWxsKSB7CkBAIC0xMjYsMTkgKzEyNiwxOSBAQCBmdW5jdGlv
biBydW5OZXh0VGVzdCgpCiAgICAgaWYgKGFzY2VuZGluZykgewogICAgICAgICBpZiAobG93ZXIg
IT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghbG93ZXJJc09wZW4pCi0gICAgICAgICAgICAg
ICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKKyAgICAgICAgICAgICAgICBzZWxmLmV4
cGVjdGVkSW5kZXggPSBsb3dlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB3
aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyKzE7CisgICAgICAgICAgICAgICAgc2VsZi5leHBl
Y3RlZEluZGV4ID0gbG93ZXIrMTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB3aW5kb3cu
ZXhwZWN0ZWRJbmRleCA9IDA7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSAwOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICh1cHBlciAhPT0gbnVsbCkgewogICAgICAgICAgICAg
aWYgKCF1cHBlcklzT3BlbikKLSAgICAgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9
IHVwcGVyOworICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IHVwcGVyOwogICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gdXBw
ZXItMTsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1cHBlci0xOwogICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gdGVzdERhdGEu
bGVuZ3RoLTE7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB0ZXN0RGF0YS5sZW5n
dGgtMTsKICAgICB9CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwogIApAQCAtMTY0LDE1ICsxNjQs
MTUgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogZnVuY3Rpb24gdGVzdFdpdGhpbkJvdW5kcygp
CiB7CiAgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAwIHx8IHRlc3REYXRhLmxlbmd0aCA8PSBleHBl
Y3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAg
IHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAgICAgaWYgKGxvd2VyICE9PSBudWxsICYmIGV4
cGVjdGVkSW5kZXggPCBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxs
OworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAhPT0g
bnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgpCi0gICAgICAgIHdpbmRvdy5leHBlY3RlZElu
ZGV4ID0gbnVsbDsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbnVsbDsKICAgICBpZiAo
bG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4gJiYgZXhwZWN0ZWRJbmRleCA8PSBsb3dlcikK
LSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVj
dGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlcklzT3BlbiAm
JiB1cHBlciA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9
IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiB9CiAgCiBmdW5jdGlv
biBjdXJzb3JJdGVyYXRpb24oKQpAQCAtMTg5LDMxICsxODksMzEgQEAgZnVuY3Rpb24gY3Vyc29y
SXRlcmF0aW9uKCkKICAgICB9CiAgCiAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQu
a2V5IiwgInRlc3REYXRhWyIgKyBleHBlY3RlZEluZGV4ICsgIl0iKTsKLSAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IGFzY2VuZGluZyA/IGV4cGVjdGVkSW5kZXgrMSA6IGV4cGVjdGVkSW5kZXgt
MTsKKyAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4KzEg
OiBleHBlY3RlZEluZGV4LTE7CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwogCiAgICAgZXZlbnQu
dGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpOwogfQogIAotd2luZG93Lm51bGxLZXlSYW5nZVN0ZXAg
PSAwOworc2VsZi5udWxsS2V5UmFuZ2VTdGVwID0gMDsKIGZ1bmN0aW9uIHRlc3ROdWxsS2V5UmFu
Z2UoKQogewotICAgIHdpbmRvdy5sb3dlciA9IDA7Ci0gICAgd2luZG93Lmxvd2VySXNPcGVuID0g
ZmFsc2U7Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdERhdGEubGVuZ3RoLTE7Ci0gICAgd2luZG93
LnVwcGVySXNPcGVuID0gZmFsc2U7CisgICAgc2VsZi5sb3dlciA9IDA7CisgICAgc2VsZi5sb3dl
cklzT3BlbiA9IGZhbHNlOworICAgIHNlbGYudXBwZXIgPSB0ZXN0RGF0YS5sZW5ndGgtMTsKKyAg
ICBzZWxmLnVwcGVySXNPcGVuID0gZmFsc2U7CiAKICAgICBzdHIgPSAiTmV4dCB0ZXN0OiBudWxs
IGtleSBwYXRoICI7Ci0gICAgaWYgKHdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID09IDApIHsKKyAg
ICBpZiAoc2VsZi5udWxsS2V5UmFuZ2VTdGVwID09IDApIHsKICAgICAgICAgc3RyICs9ICJzb3J0
ZWQgYXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0cnVlOwotICAgICAg
ICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOwotICAgICAgICB3aW5kb3cubnVsbEtleVJh
bmdlU3RlcCA9IDE7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cubnVsbEtleVJhbmdlU3RlcCA9PSAx
KSB7CisgICAgICAgIHNlbGYuYXNjZW5kaW5nID0gdHJ1ZTsKKyAgICAgICAgc2VsZi5leHBlY3Rl
ZEluZGV4ID0gbG93ZXI7CisgICAgICAgIHNlbGYubnVsbEtleVJhbmdlU3RlcCA9IDE7CisgICAg
fSBlbHNlIGlmIChzZWxmLm51bGxLZXlSYW5nZVN0ZXAgPT0gMSkgewogICAgICAgICBzdHIgKz0g
InNvcnRlZCBkZXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRpbmcgPSBmYWxzZTsK
LSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKLSAgICAgICAgd2luZG93Lm51
bGxLZXlSYW5nZVN0ZXAgPSAyOworICAgICAgICBzZWxmLmFzY2VuZGluZyA9IGZhbHNlOworICAg
ICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKKyAgICAgICAgc2VsZi5udWxsS2V5UmFu
Z2VTdGVwID0gMjsKICAgICB9IGVsc2UgewogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKaW5kZXggZmIzMTZmZDJl
MmM5ZjdmZDRhYTRiMzFmNmE4MjBjZjRhYmNjMTRlNC4uNzQ4ZWNkNDkxZjgxNGEyZDY4ZGYxOGNl
Y2NlYjMyMzdmYjZiYThkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sCkBAIC0y
OSwxNCArMjksMTQgQEAgZnVuY3Rpb24gc3RhcnRTZXRWZXJzaW9uKCkKIAogZnVuY3Rpb24gZGVs
ZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBu
dWxsIik7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCiAgICAgc3RvcmUgPSBl
dmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxs
KSIpOwogCi0gICAgd2luZG93LmluZGV4ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgo
J2luZGV4TmFtZScsICcnKSIpOworICAgIHNlbGYuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5j
cmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpIik7CiAgICAgc2hvdWxkQmVUcnVlKCJzdG9yZS5p
bmRleE5hbWVzLmNvbnRhaW5zKCdpbmRleE5hbWUnKSIpOwogCiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coInN0b3JlLmFkZCgndmFsdWUnLCAna2V5JykiKTsKQEAgLTY2LDcgKzY2LDcgQEAgZnVu
Y3Rpb24gYWRkSW5kZXgoKQogCiBmdW5jdGlvbiBkZWxldGVPYmplY3RTdG9yZSgpCiB7Ci0gICAg
d2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFi
b3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24tZXhwZWN0ZWQudHh0
CmluZGV4IGQ1ZTliNDU0NzAyMjdhZjFkY2RhNDVjOGIwMTRlNDRlMmZmODJlOGYuLmI5NzY0Mzkz
MjI4YmE0ODcwZTAxNWYxZTk0MzZiNzY1MjRkNGZiN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12ZXJzaW9uLWV4cGVjdGVk
LnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBCb29sZWFuKGluZGV4ZWREQiAmJiBJREJDdXJzb3Ig
JiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJvciAmJiBJREJEYXQKIAogCiBURVNUOiBz
ZXRWZXJzaW9uIGJsb2NrZWQgb24gb3BlbiBoYW5kbGVzCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Qx
Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0
MSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9u
c3VjY2VzcycKICdoMi5vcGVuJwpAQCAtMjAsMTAgKzIwLDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAn
dGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMi5jbG9zZScKICdo
MS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBs
ZXRlJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9u
c3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJz
aW9uY2hhbmdlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgxLnNldFZlcnNpb24u
b25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUiCitQQVNTIHNlbGYu
c3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgy
Lm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJzaW9uY2hhbmdlLGgxLnNldFZl
cnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZl
cnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUiCiAKIFRFU1Q6IHNldFZlcnNpb24gbm90IGJsb2Nr
ZWQgaWYgaGFuZGxlIGNsb3NlZCBpbW1lZGlhdGVseQotd2luZG93LmRibmFtZSA9ICd0ZXN0Mic7
IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXQorc2VsZi5kYm5hbWUgPSAndGVzdDIn
OyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gxLm9wZW4nCiAnaDEub3Blbi5vbnN1
Y2Nlc3MnCiAnaDIub3BlbicKQEAgLTM2LDEwICszNiwxMCBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rl
c3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiAnaDEuc2V0VmVyc2lvbi5v
bnN1Y2Nlc3MnCiAnaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZScKIE5PVEU6IFdp
bGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNpb24ub25ibG9ja2VkIHN0ZXA7IGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMAotRkFJTCB3aW5kb3cu
c3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5v
cGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJzaW9uY2hhbmdlLGgy
LmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24t
Y29tcGxldGUuIFdhcyBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5v
bnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIuY2xvc2UsaDEuc2V0
VmVyc2lvbi5vbmJsb2NrZWQsaDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50
cmFuc2FjdGlvbi1jb21wbGV0ZS4KK0ZBSUwgc2VsZi5zdGVwcy50b1N0cmluZygpIHNob3VsZCBi
ZSBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEu
c2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIuY2xvc2UsaDEuc2V0VmVyc2lvbi5vbnN1
Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZS4gV2FzIGgxLm9wZW4saDEu
b3Blbi5vbnN1Y2Nlc3MsaDIub3BlbixoMi5vcGVuLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLGgy
Lm9udmVyc2lvbmNoYW5nZSxoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCxoMS5zZXRW
ZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLgogCiBU
RVNUOiBvcGVuIGFuZCBzZXRWZXJzaW9uIGJsb2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFu
c2FjdGlvbiBpcyBydW5uaW5nIC0gY2xvc2Ugd2hlbiBibG9ja2VkCi13aW5kb3cuZGJuYW1lID0g
J3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9
ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5v
cGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtNTcsMTAgKzU3LDEwIEBAIHdpbmRvdy5kYm5h
bWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMS5zZXRW
ZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwog
J2gzLm9wZW4ub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEu
b3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZl
cnNpb24saDIuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDEuc2V0VmVyc2lvbi5vbmJs
b2NrZWQsaDEub252ZXJzaW9uY2hhbmdlLGgyLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3Nl
LGgzLm9wZW4saDIuc2V0VmVyc2lvbi5vbmVycm9yLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgx
LnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MiCitQQVNT
IHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5v
cGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIuc2V0VmVyc2lvbixoMi5vbnZl
cnNpb25jaGFuZ2UsaDEuc2V0VmVyc2lvbi5vbmJsb2NrZWQsaDEub252ZXJzaW9uY2hhbmdlLGgy
LnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgzLm9wZW4saDIuc2V0VmVyc2lvbi5vbmVy
cm9yLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29t
cGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MiCiAKIFRFU1Q6IG9wZW4gYW5kIHNldFZlcnNpb24gYmxv
Y2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmcgLSBqdXN0IGNs
b3NlCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q0Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVw
cyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0NCc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9
IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtNzMsMTAg
KzczLDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDQnOyB3aW5kb3cudmVyID0gMTsgd2luZG93
LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwogJ2gzLm9w
ZW4ub25zdWNjZXNzJwogTk9URTogV2lsbCBGQUlMIHdpdGggZXh0cmEgYm9ndXMgaDEuc2V0VmVy
c2lvbi5vbmJsb2NrZWQgc3RlcDsgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxMTMwCi1GQUlMIHdpbmRvdy5zdGVwcy50b1N0cmluZygpIHNob3VsZCBiZSBoMS5vcGVu
LGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lv
bixoMy5vcGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24u
dHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MuIFdhcyBoMS5vcGVuLGgxLm9w
ZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMy5v
cGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgxLnNldFZlcnNpb24ub25zdWNj
ZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3Mu
CitGQUlMIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3BlbixoMS5vcGVuLm9u
c3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDMub3Blbixo
Mi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9u
LWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNzLiBXYXMgaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vz
cyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDMub3BlbixoMi5jbG9z
ZSxoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRW
ZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNzLgogCiBURVNUOiBv
cGVuIGJsb2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nCi13
aW5kb3cuZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtd
CitzZWxmLmRibmFtZSA9ICd0ZXN0NSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAn
aDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uJwpAQCAtODQsMTAg
Kzg0LDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDUnOyB3aW5kb3cudmVyID0gMTsgd2luZG93
LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRy
YW5zYWN0aW9uLWNvbXBsZXRlJwogJ2gyLm9wZW4ub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3Rl
cHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9u
LGgyLm9wZW4saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlv
bi1jb21wbGV0ZSxoMi5vcGVuLm9uc3VjY2VzcyIKK1BBU1Mgc2VsZi5zdGVwcy50b1N0cmluZygp
IGlzICJoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub3BlbixoMS5z
ZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgy
Lm9wZW4ub25zdWNjZXNzIgogCiBURVNUOiB0d28gc2V0VmVyc2lvbnMgZnJvbSB0aGUgc2FtZSBj
b25uZWN0aW9uCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZlciA9IDE7IHdpbmRv
dy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Nic7IHNlbGYudmVyID0gMTsgc2VsZi5z
dGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9u
JwpAQCAtOTcsNyArOTcsNyBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZlciA9
IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiBoYWxmIGRvbmUKICdoMS5zZXRWZXJzaW9uLm9uc3VjY2Vz
cycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwotUEFTUyB3aW5kb3cuc3Rl
cHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9u
LGgxLnNldFZlcnNpb24saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFu
c2FjdGlvbi1jb21wbGV0ZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRy
YW5zYWN0aW9uLWNvbXBsZXRlIgorUEFTUyBzZWxmLnN0ZXBzLnRvU3RyaW5nKCkgaXMgImgxLm9w
ZW4saDEub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMS5zZXRWZXJzaW9uLGgxLnNldFZl
cnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDEuc2V0
VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZSIKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12ZXJzaW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbApp
bmRleCBmY2M1MGIzYWVkNzQwNTk0MjYyMjQyZGEyNzEwMjY2NDU3MWY1ZmQ5Li41MWY1MmIwMjgw
MjVkOGYyZDNmNWZlNDg0YjJlOWM2MDdjZDIyNWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbApAQCAtMTIsNDQgKzEy
LDQ0IEBAIGRlc2NyaXB0aW9uKCJUZXN0IGludGVybGVhdmVkIG9wZW4vY2xvc2Uvc2V0VmVyc2lv
biBjYWxscyBpbiB2YXJpb3VzIHBlcm11dGF0aW9uCiAKIGZ1bmN0aW9uIENvbm5lY3Rpb24oaWQp
IHsKICAgICBpZCA9IFN0cmluZyhpZCk7Ci0gICAgdmFyIHNlbGYgPSB0aGlzOworICAgIHZhciB0
aGF0ID0gdGhpczsKICAgICB0aGlzLm9wZW4gPSBmdW5jdGlvbihvcHRzKSB7Ci0gICAgICAgIHdp
bmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4nIikpOwotICAgICAg
ICB2YXIgcmVxID0gaW5kZXhlZERCLm9wZW4od2luZG93LmRibmFtZSk7CisgICAgICAgIHNlbGYu
c3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vcGVuJyIpKTsKKyAgICAgICAgdmFy
IHJlcSA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKTsKICAgICAgICAgcmVxLm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0
aW9uIChlKSB7Ci0gICAgICAgICAgICBzZWxmLmhhbmRsZSA9IGUudGFyZ2V0LnJlc3VsdDsKLSAg
ICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4u
b25zdWNjZXNzJyIpKTsKLSAgICAgICAgICAgIHNlbGYuaGFuZGxlLm9udmVyc2lvbmNoYW5nZSA9
IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5k
TG9nKCInIiArIGlkICsgIi5vbnZlcnNpb25jaGFuZ2UnIikpOwotICAgICAgICAgICAgICAgIGlm
IChvcHRzICYmIG9wdHMub252ZXJzaW9uKSB7IG9wdHMub252ZXJzaW9uLmNhbGwoc2VsZik7IH0K
KyAgICAgICAgICAgIHRoYXQuaGFuZGxlID0gZS50YXJnZXQucmVzdWx0OworICAgICAgICAgICAg
c2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4ub25zdWNjZXNzJyIp
KTsKKyAgICAgICAgICAgIHRoYXQuaGFuZGxlLm9udmVyc2lvbmNoYW5nZSA9IGZ1bmN0aW9uKGUp
IHsKKyAgICAgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCAr
ICIub252ZXJzaW9uY2hhbmdlJyIpKTsKKyAgICAgICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRz
Lm9udmVyc2lvbikgeyBvcHRzLm9udmVyc2lvbi5jYWxsKHRoYXQpOyB9CiAgICAgICAgICAgICB9
OwotICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0cy5vbnN1Y2Nl
c3MuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3Mp
IHsgb3B0cy5vbnN1Y2Nlc3MuY2FsbCh0aGF0KTsgfQogICAgICAgICB9OwogICAgIH07CiAKICAg
ICB0aGlzLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2
YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKKyAgICAgICAgc2VsZi5zdGVwcy5wdXNo
KGV2YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKICAgICAgICAgdGhpcy5oYW5kbGUu
Y2xvc2UoKTsKICAgICB9OwogCiAgICAgdGhpcy5zZXRWZXJzaW9uID0gZnVuY3Rpb24ob3B0cykg
ewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRW
ZXJzaW9uJyIpKTsKLSAgICAgICAgdmFyIHJlcSA9IHRoaXMuaGFuZGxlLnNldFZlcnNpb24oU3Ry
aW5nKHdpbmRvdy52ZXIrKykpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygi
JyIgKyBpZCArICIuc2V0VmVyc2lvbiciKSk7CisgICAgICAgIHZhciByZXEgPSB0aGlzLmhhbmRs
ZS5zZXRWZXJzaW9uKFN0cmluZyhzZWxmLnZlcisrKSk7CiAgICAgICAgIHJlcS5vbmFib3J0ID0g
ZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2co
IiciICsgaWQgKyAiLnNldFZlcnNpb24ub25hYm9ydCciKSk7Ci0gICAgICAgICAgICBpZiAob3B0
cyAmJiBvcHRzLm9uYWJvcnQpIHsgb3B0cy5vbmFib3J0LmNhbGwoc2VsZik7IH0KKyAgICAgICAg
ICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9u
YWJvcnQnIikpOworICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmFib3J0KSB7IG9wdHMu
b25hYm9ydC5jYWxsKHRoYXQpOyB9CiAgICAgICAgIH07CiAgICAgICAgIHJlcS5vbmJsb2NrZWQg
PSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmJsb2NrZWQnIikpOwotICAgICAgICAgICAgaWYg
KG9wdHMgJiYgb3B0cy5vbmJsb2NrZWQpIHsgb3B0cy5vbmJsb2NrZWQuY2FsbChzZWxmKTsgfQor
ICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZl
cnNpb24ub25ibG9ja2VkJyIpKTsKKyAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25ibG9j
a2VkKSB7IG9wdHMub25ibG9ja2VkLmNhbGwodGhhdCk7IH0KICAgICAgICAgfTsKICAgICAgICAg
cmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICB3aW5kb3cuc3RlcHMu
cHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uc3VjY2VzcyciKSk7Ci0g
ICAgICAgICAgICBpZiAoc2VsZi5oYW5kbGUub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygidGVz
dC1zdG9yZSIgKyB3aW5kb3cudmVyKSkgewotICAgICAgICAgICAgICAgIHNlbGYuaGFuZGxlLmRl
bGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOworICAgICAgICAgICAg
c2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25zdWNj
ZXNzJyIpKTsKKyAgICAgICAgICAgIGlmICh0aGF0LmhhbmRsZS5vYmplY3RTdG9yZU5hbWVzLmNv
bnRhaW5zKCJ0ZXN0LXN0b3JlIiArIHNlbGYudmVyKSkgeworICAgICAgICAgICAgICAgIHRoYXQu
aGFuZGxlLmRlbGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHNlbGYudmVyKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHZhciBzdG9yZSA9IHNlbGYuaGFuZGxlLmNyZWF0ZU9iamVj
dFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOworICAgICAgICAgICAgdmFyIHN0b3Jl
ID0gdGhhdC5oYW5kbGUuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUiICsgc2VsZi52ZXIp
OwogICAgICAgICAgICAgdmFyIGNvdW50ID0gMDsKICAgICAgICAgICAgIGRvX2FzeW5jX3B1dHMo
KTsgLy8gS2VlcCB0aGlzIHRyYW5zYWN0aW9uIHJ1bm5pbmcgZm9yIGEgd2hpbGUKICAgICAgICAg
ICAgIGZ1bmN0aW9uIGRvX2FzeW5jX3B1dHMoKSB7CkBAIC01OSwxNSArNTksMTUgQEAgZnVuY3Rp
b24gQ29ubmVjdGlvbihpZCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoKytjb3VudCA8IDEw
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBkb19hc3luY19wdXRzKCk7CiAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc3RlcHMu
cHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBs
ZXRlJyIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25zdWNj
ZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLnRy
YW5zYWN0aW9uLWNvbXBsZXRlJyIpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRz
ICYmIG9wdHMub25zdWNjZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwodGhhdCk7IH0KICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH07CiAgICAgICAgIHJlcS5vbmVycm9yID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAg
IHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25l
cnJvciciKSk7Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uZXJyb3IpIHsgb3B0cy5v
bmVycm9yLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5k
TG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uZXJyb3InIikpOworICAgICAgICAgICAgaWYg
KG9wdHMgJiYgb3B0cy5vbmVycm9yKSB7IG9wdHMub25lcnJvci5jYWxsKHRoYXQpOyB9CiAgICAg
ICAgIH07CiAgICAgfTsKIH0KQEAgLTg4LDcgKzg4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIGZ1
bmN0aW9uIHRlc3QxKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVEVTVDogc2V0VmVy
c2lvbiBibG9ja2VkIG9uIG9wZW4gaGFuZGxlcyIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5k
Ym5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAg
ICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVyID0gMTsgc2VsZi5z
dGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7CiAgICAgdmFy
IGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRvTmV4
dCkgeyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTAwLDcgKzEwMCw3IEBA
IGZ1bmN0aW9uIHRlc3QxKCkgewogICAgICAgICAgZnVuY3Rpb24oZG9OZXh0KSB7IGgxLnNldFZl
cnNpb24oe29uc3VjY2VzczogZmluaXNoVGVzdH0pOyB9LAogICAgICAgICAgXSk7CiAgICAgZnVu
Y3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5k
b3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2Vs
Zi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEu
b3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNz
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIub3BlbiIsCkBAIC0xMTksNyAr
MTE5LDcgQEAgZnVuY3Rpb24gdGVzdDEoKSB7CiBmdW5jdGlvbiB0ZXN0MigpIHsKICAgICBkZWJ1
ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IHNldFZlcnNpb24gbm90IGJsb2NrZWQgaWYgaGFuZGxl
IGNsb3NlZCBpbW1lZGlhdGVseSIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAn
dGVzdDInOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5k
TG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtd
Iik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7CiAgICAgdmFyIGgyID0gbmV3
IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRvTmV4dCkgeyBoMS5v
cGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTM0LDcgKzEzNCw3IEBAIGZ1bmN0aW9u
IHRlc3QyKCkgewogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKICAgICAgICAgZGVidWco
Ik5PVEU6IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNpb24ub25ibG9ja2Vk
IHN0ZXA7IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMCIpOwot
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5zdGVwcy50b1N0cmluZygpIiwK
KyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0ZXBzLnRvU3RyaW5nKCkiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJoMS5vcGVuIiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaDEub3Blbi5vbnN1Y2Nlc3MiLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJoMi5vcGVuIiwKQEAgLTE1Miw3ICsxNTIsNyBAQCBmdW5jdGlvbiB0ZXN0
MigpIHsKIGZ1bmN0aW9uIHRlc3QzKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVEVT
VDogb3BlbiBhbmQgc2V0VmVyc2lvbiBibG9ja2VkIGlmIGEgVkVSU0lPTl9DSEFOR0UgdHJhbnNh
Y3Rpb24gaXMgcnVubmluZyAtIGNsb3NlIHdoZW4gYmxvY2tlZCIpOwotICAgIGV2YWxBbmRMb2co
IndpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0g
W10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0g
MTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7
CiAgICAgdmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgdmFyIGgzID0gbmV3IENv
bm5lY3Rpb24oImgzIik7CkBAIC0xNjksNyArMTY5LDcgQEAgZnVuY3Rpb24gdGVzdDMoKSB7CiAg
ICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiaDIub3BlbiIsCkBAIC0xOTQsNyArMTk0LDcgQEAgZnVuY3Rpb24gdGVzdDMoKSB7CiBm
dW5jdGlvbiB0ZXN0NCgpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IG9wZW4g
YW5kIHNldFZlcnNpb24gYmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlz
IHJ1bm5pbmcgLSBqdXN0IGNsb3NlIik7Ci0gICAgZXZhbEFuZExvZygid2luZG93LmRibmFtZSA9
ICd0ZXN0NCc7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXSIpOworICAgIGV2YWxB
bmRMb2coInNlbGYuZGJuYW1lID0gJ3Rlc3Q0Jzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBzID0g
W10iKTsKICAgICB2YXIgaDEgPSBuZXcgQ29ubmVjdGlvbigiaDEiKTsKICAgICB2YXIgaDIgPSBu
ZXcgQ29ubmVjdGlvbigiaDIiKTsKICAgICB2YXIgaDMgPSBuZXcgQ29ubmVjdGlvbigiaDMiKTsK
QEAgLTIwNyw3ICsyMDcsNyBAQCBmdW5jdGlvbiB0ZXN0NCgpIHsKIAogICAgIGZ1bmN0aW9uIGZp
bmlzaFRlc3QoKSB7CiAgICAgICAgIGRlYnVnKCJOT1RFOiBXaWxsIEZBSUwgd2l0aCBleHRyYSBi
b2d1cyBoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25z
dWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIub3BlbiIsCkBAIC0y
MjYsNyArMjI2LDcgQEAgZnVuY3Rpb24gdGVzdDQoKSB7CiBmdW5jdGlvbiB0ZXN0NSgpIHsKICAg
ICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IG9wZW4gYmxvY2tlZCBpZiBhIFZFUlNJT05f
Q0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmciKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cu
ZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7Cisg
ICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDUnOyBzZWxmLnZlciA9IDE7IHNlbGYu
c3RlcHMgPSBbXSIpOwogICAgIHZhciBoMSA9IG5ldyBDb25uZWN0aW9uKCJoMSIpOwogICAgIHZh
ciBoMiA9IG5ldyBDb25uZWN0aW9uKCJoMiIpOwogCkBAIC0yMzYsNyArMjM2LDcgQEAgZnVuY3Rp
b24gdGVzdDUoKSB7CiAgICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVz
dCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJp
bmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmlu
ZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaDEuc2V0VmVyc2lvbiIsCkBAIC0yNTMsNyArMjUzLDcgQEAg
ZnVuY3Rpb24gdGVzdDUoKSB7CiBmdW5jdGlvbiB0ZXN0NigpIHsKICAgICBkZWJ1ZygiIik7CiAg
ICAgZGVidWcoIlRFU1Q6IHR3byBzZXRWZXJzaW9ucyBmcm9tIHRoZSBzYW1lIGNvbm5lY3Rpb24i
KTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZlciA9
IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7CisgICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAn
dGVzdDYnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXSIpOwogICAgIHZhciBoMSA9IG5l
dyBDb25uZWN0aW9uKCJoMSIpOwogCiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRvTmV4dCkgeyBo
MS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKQEAgLTI3Miw3ICsyNzIsNyBAQCBmdW5jdGlvbiB0ZXN0NigpIHsKICAgICB9ICAK
IAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygid2luZG93LnN0ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInNlbGYuc3RlcHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBbImgxLm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoMS5vcGVu
Lm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLnNldFZlcnNp
b24iLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJz
b3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwK
aW5kZXggMDllZDc5OGRmNjljN2RiNGQ1NmJmZmZjNWYyZjQ1MTZjYTYyYzcyNC4uZjRiMzhjY2Q3
ZWNjNmY4NDk5NGNkZWU2MGZhZDM2OTExOTM5NzkxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sCkBAIC01Nyw3ICs1Nyw3IEBAIGZ1bmN0aW9u
IG9wZW5DdXJzb3IoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVn
KCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2co
InRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRy
YW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxi
YWNrOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wcmVmZXRj
aC1idWdmaXgtMTA4MDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wcmVm
ZXRjaC1idWdmaXgtMTA4MDcxLmh0bWwKaW5kZXggZDAyNjIxYzdkN2EwZDVlYzAwMDk3MDk1MTU0
NTg1ZDMxYjBmMGRmMC4uMjI3ODI2ZTQ2YTY3ZmNlYjYyY2FjZTcxNGM2NzliMzJiMDUzMDRmOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVnZml4
LTEwODA3MS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNo
LWJ1Z2ZpeC0xMDgwNzEuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBmdW5jdGlvbiBvcGVuU3VjY2Vz
cygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVidWcoInNldFZlcnNp
b25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5z
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51
bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAg
dHJhbnMub25jb21wbGV0ZSA9IGl0ZXJhdGVBbmREZWxldGVGaXJzdEVsZW1lbnQ7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9xdWV1ZWQtY29tbWFuZHMuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCmluZGV4
IGM5NzMwZGIwNDU3NjUwYjQ0ZDFmYTAyNWMwYjk3NjhhMmMzMmE2YmMuLmU3YTlhYzcxMTVhMDY3
OWQzOWEwNzRlNWY3OGI4YjNiMzU3ZDc1NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCkBAIC0zMCwxNCArMzAsMTQgQEAgZnVu
Y3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAgZGVi
dWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExv
ZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgi
dHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2Fs
bGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93LnN0
b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7Ci0g
ICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgoJ2lu
ZGV4TmFtZScsICd4JykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CisgICAgc2VsZi5pbmRleE9iamVjdCA9IGV2YWxB
bmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcpIik7CiAKICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygic3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30sICdrZXkn
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZlcmlmeUFkZCgwKTsg
fTsKQEAgLTUxLDcgKzUxLDcgQEAgZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZlcmlmeUFkZCgyKTsgfTsKICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIAotICAgIHdpbmRvdy5hZGRDb3Vu
dCA9IDA7CisgICAgc2VsZi5hZGRDb3VudCA9IDA7CiB9CiAKIGZ1bmN0aW9uIHZlcmlmeUFkZChl
eHBlY3RlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3JlcXVl
c3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCAxNzY2YjYyNmYxY2Y5MGQxZjQx
YTAxZmI1YmYxNzJlZTUwOTEwZjM0Li4yMTU3MjcwZmExMzZhMmU1MTQ3YTg0YjNiNTE3YTBhMGZl
MmUxOWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0
LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0
aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewogICAgIGRlYnVn
KCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2co
InRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRy
YW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxi
YWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBzdGFydFRlc3QiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZlcnNpb24tbnVsbC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwK
aW5kZXggODVlNmE4Mjg1OTY2ZjQwOTJlYzliZDE0MjUxYTRiMTc5Mzk3OTllMC4uNmE4ODAxNDBm
ZjUxNjMzNDFlNGY3NzhkNzRkMzg2YWQ1ZmEyODEwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKICAKLSAgICBu
YW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZlcnNpb24tdW5kZWZpbmVkLmh0bWwKaW5kZXgg
MjM3MDBiZTgwOTlhNjM0NGQwNjhiMThiNzYzMTFkYzhiMjQ2ZTFmNi4uZGZhOGE1MWM4Y2NmMGE5
MWQ0OTI0NTU0NGY3YjY0NGJiOTE2MWE2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5lZC5odG1sCkBAIC0xNSw3ICsxNSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAgCi0g
ICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2Nh
dGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24p
Iik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3Rl
ZC50eHQKaW5kZXggZjk2NGQyMjEwNWI0ZjBiZGY2Zjk0YjE4ZDA0OGY4MDZmYWZiMzc5OC4uYTgx
OWE4ZWUzY2EyNjJlNDlmMjdmOGJlOWRiNWQxODY3YjAyMWUxYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3Rl
ZC50eHQKQEAgLTU5OCw3ICs1OTgsNyBAQCBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFT
UyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgogCiBPdGhlciBob3N0IG9iamVj
dCB0eXBlczoKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQod2luZG93LCAna2V5
JykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoc2VsZiwgJ2tleScpCiBQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NM
T05FX0VSUgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChkb2N1bWVudCwgJ2tl
eScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVk
LWNsb25lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNs
b25lLmh0bWwKaW5kZXggYTMzM2E2OTJjZjg4Y2Y2YzkwZjk5NGUzYjlhZjBhZTExZjVmOTVmMy4u
N2Q2NDk5ZjI3NGQxM2Y0ODdiYmY4MzZkMDNhZDk5MGNhNDgxMzQ0NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbApAQCAtMTEs
NyArMTEsNyBAQAogCiBkZXNjcmlwdGlvbigiVGVzdCBzdHJ1Y3R1cmVkIGNsb25lIHBlcm11dGF0
aW9ucyBpbiBJbmRleGVkREIuIEZpbGUvRmlsZUxpc3QgdGVzdHMgcmVxdWlyZSBEdW1wUmVuZGVy
VHJlZS4iKTsKIAotaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworaWYgKHNlbGYuZXZlbnRTZW5k
ZXIpIHsKICAgICB2YXIgZmlsZUlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGVJ
bnB1dCIpOwogICAgIHZhciBmaWxlUmVjdCA9IGZpbGVJbnB1dC5nZXRDbGllbnRSZWN0cygpWzBd
OwogICAgIHZhciB0YXJnZXRYID0gZmlsZVJlY3QubGVmdCArIGZpbGVSZWN0LndpZHRoIC8gMjsK
QEAgLTEwOSw3ICsxMDksNyBAQCBmdW5jdGlvbiB0ZXN0VmFsdWUodmFsdWUsIGNhbGxiYWNrKQog
ICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICBl
dmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIp
OwogCi0gICAgd2luZG93LnZhbHVlID0gdmFsdWU7CisgICAgc2VsZi52YWx1ZSA9IHZhbHVlOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5wdXQodmFsdWUsICdrZXknKSIpOwogICAg
IHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gZnVuY3Rpb24oZSkgewpAQCAtMTQ3LDcgKzE0Nyw3IEBAIGZ1bmN0aW9uIHRl
c3RQcmltaXRpdmVWYWx1ZShzdHJpbmcsIGNhbGxiYWNrKQogICAgIHZhciB2YWx1ZSA9IGV2YWwo
InZhbHVlID0gKCIgKyBzdHJpbmcgKyAiKSIpOwogICAgIHRlc3RfZGF0YSA9IHZhbHVlOwogICAg
IHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICB3aW5kb3cu
cmVzdWx0ID0gcmVzdWx0OworICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAg
c2hvdWxkQmVUcnVlKCJpcyh0ZXN0X2RhdGEsIHJlc3VsdCkiKTsKICAgICAgICAgZGVidWcoIiIp
OwogICAgICAgICBjYWxsYmFjaygpOwpAQCAtMTYwLDcgKzE2MCw3IEBAIGZ1bmN0aW9uIHRlc3RP
YmplY3RXaXRoVmFsdWUoc3RyaW5nLCBjYWxsYmFjaykKICAgICB2YXIgdmFsdWUgPSBldmFsKCJ2
YWx1ZSA9ICgiICsgc3RyaW5nICsgIikiKTsKICAgICB0ZXN0X2RhdGEgPSB2YWx1ZTsKICAgICB0
ZXN0VmFsdWUodGVzdF9kYXRhLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgd2luZG93LnJl
c3VsdCA9IHJlc3VsdDsKKyAgICAgICAgc2VsZi5yZXN1bHQgPSByZXN1bHQ7CiAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIHJlc3VsdCIsICJvYmplY3QiKTsKICAgICAgICAg
c2hvdWxkQmUoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIiwgIk9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0ZXN0X2RhdGEpIik7CiAgICAgICAgIHNob3VsZEJl
VHJ1ZSgidGVzdF9kYXRhICE9PSByZXN1bHQiKTsKQEAgLTI4Miw3ICsyODIsNyBAQCBmdW5jdGlv
biB0ZXN0UmVnRXhwT2JqZWN0KGNhbGxiYWNrKQogICAgICAgICB2YXIgdmFsdWUgPSBldmFsKCJ2
YWx1ZSA9ICgiICsgc3RyaW5nICsgIikiKTsKICAgICAgICAgdGVzdF9kYXRhID0gdmFsdWU7CiAg
ICAgICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICAg
ICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAgICAgICAgIHNlbGYucmVzdWx0ID0gcmVz
dWx0OwogICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwog
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLmNhbGwocmVzdWx0KSIsICJbb2JqZWN0IFJlZ0V4cF0iKTsKICAgICAgICAgICAgIHNob3Vs
ZEJlKCJyZXN1bHQudG9TdHJpbmcoKSIsICJ0ZXN0X2RhdGEudG9TdHJpbmcoKSIpOwpAQCAtMzE3
LDcgKzMxNyw3IEBAIGZ1bmN0aW9uIHRlc3RJbWFnZURhdGEoY2FsbGJhY2spCiAgICAgfQogCiAg
ICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHdpbmRv
dy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAg
ICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7CiAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkiLCAi
W29iamVjdCBJbWFnZURhdGFdIik7CiAgICAgICAgIHNob3VsZEJlKCJyZXN1bHQud2lkdGgiLCAi
dGVzdF9kYXRhLndpZHRoIik7CkBAIC0zNTAsNyArMzUwLDcgQEAgZnVuY3Rpb24gcmVhZEJsb2JB
c1RleHQoYmxvYiwgY2FsbGJhY2spCiBmdW5jdGlvbiBjaGVja0Jsb2JDb250ZW50cyhibG9iLCBl
eHBlY3RlZCwgY2FsbGJhY2spCiB7CiAgICAgcmVhZEJsb2JBc1RleHQoYmxvYiwgZnVuY3Rpb24o
dGV4dCkgewotICAgICAgICB3aW5kb3cudGV4dCA9IHRleHQ7CisgICAgICAgIHNlbGYudGV4dCA9
IHRleHQ7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsIGV4cGVjdGVkKTsK
ICAgICAgICAgY2FsbGJhY2soKTsKICAgICB9KTsKQEAgLTM2MCw4ICszNjAsOCBAQCBmdW5jdGlv
biBjb21wYXJlQmxvYnMoYmxvYjEsIGJsb2IyLCBjYWxsYmFjaykKIHsKICAgICByZWFkQmxvYkFz
VGV4dChibG9iMSwgZnVuY3Rpb24odGV4dDEpIHsKICAgICAgICAgcmVhZEJsb2JBc1RleHQoYmxv
YjIsIGZ1bmN0aW9uKHRleHQyKSB7Ci0gICAgICAgICAgICB3aW5kb3cudGV4dDEgPSB0ZXh0MTsK
LSAgICAgICAgICAgIHdpbmRvdy50ZXh0MiA9IHRleHQyOworICAgICAgICAgICAgc2VsZi50ZXh0
MSA9IHRleHQxOworICAgICAgICAgICAgc2VsZi50ZXh0MiA9IHRleHQyOwogICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0MiIsIHRleHQxKTsKICAgICAgICAgICAgIGNhbGxi
YWNrKCk7CiAgICAgICAgIH0pOwpAQCAtMzc4LDcgKzM3OCw3IEBAIGZ1bmN0aW9uIHRlc3RCbG9i
KGNhbGxiYWNrKQogICAgIGNhbGxiYWNrKCk7CiAgICAgcmV0dXJuOwogCi0gICAgZXZhbEFuZExv
ZygiQmxvYkJ1aWxkZXIgPSB3aW5kb3cuQmxvYkJ1aWxkZXIgfHwgd2luZG93LldlYktpdEJsb2JC
dWlsZGVyIik7CisgICAgZXZhbEFuZExvZygiQmxvYkJ1aWxkZXIgPSBzZWxmLkJsb2JCdWlsZGVy
IHx8IHNlbGYuV2ViS2l0QmxvYkJ1aWxkZXIiKTsKICAgICBzaG91bGRCZVRydWUoIkJsb2JCdWls
ZGVyICE9IG51bGwiKTsKICAgICBzaG91bGRCZVRydWUoIkZpbGVSZWFkZXIgIT0gbnVsbCIpOwog
ICAgIGV2YWxBbmRMb2coImJ1aWxkZXIgPSBuZXcgQmxvYkJ1aWxkZXIoKSIpOwpAQCAtMzg2LDcg
KzM4Niw3IEBAIGZ1bmN0aW9uIHRlc3RCbG9iKGNhbGxiYWNrKQogICAgIGV2YWxBbmRMb2coImJ1
aWxkZXIuYXBwZW5kKHRlc3RfY29udGVudCkiKTsKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEg
PSBidWlsZGVyLmdldEJsb2IoKSIpOwogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9u
KHJlc3VsdCkgewotICAgICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0OworICAgICAgICBzZWxm
LnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09IHJl
c3VsdCIpOwogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcuY2FsbChyZXN1bHQpIiwgIltvYmplY3QgQmxvYl0iKTsKICAgICAgICAgc2hvdWxk
QmUoInJlc3VsdC5zaXplIiwgInRlc3RfZGF0YS5zaXplIik7CkBAIC0zOTcsOCArMzk3LDggQEAg
ZnVuY3Rpb24gdGVzdEJsb2IoY2FsbGJhY2spCiAKIGZ1bmN0aW9uIGNvbXBhcmVGaWxlcyhmaWxl
MSwgZmlsZTIsIGNhbGxiYWNrKQogewotICAgIHdpbmRvdy5maWxlMSA9IGZpbGUxOwotICAgIHdp
bmRvdy5maWxlMiA9IGZpbGUyOworICAgIHNlbGYuZmlsZTEgPSBmaWxlMTsKKyAgICBzZWxmLmZp
bGUyID0gZmlsZTI7CiAgICAgc2hvdWxkQmVUcnVlKCJmaWxlMSAhPT0gZmlsZTIiKTsKICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmaWxl
MSkiLCAiW29iamVjdCBGaWxlXSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUyKSIsICJbb2JqZWN0IEZpbGVdIik7CkBAIC00
MjYsOSArNDI2LDkgQEAgZnVuY3Rpb24gdGVzdEZpbGUoY2FsbGJhY2spCiAKICAgICBldmFsQW5k
TG9nKCJ0ZXN0X2NvbnRlbnQgPSBmaWxlSW5wdXQuZmlsZXNbMF0iKTsKIAotICAgIHdpbmRvdy50
ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgc2VsZi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRl
bnQ7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAg
IHdpbmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0Owog
ICAgICAgICBjb21wYXJlRmlsZXMocmVzdWx0LCB0ZXN0X2RhdGEsIGNhbGxiYWNrKTsKICAgICB9
KTsKIH0KQEAgLTQ0Niw5ICs0NDYsOSBAQCBmdW5jdGlvbiB0ZXN0RmlsZUxpc3QoY2FsbGJhY2sp
CiAKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2NvbnRlbnQgPSBmaWxlSW5wdXQuZmlsZXMiKTsKIAot
ICAgIHdpbmRvdy50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgc2VsZi50ZXN0X2RhdGEg
PSB0ZXN0X2NvbnRlbnQ7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0
KSB7Ci0gICAgICAgIHdpbmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0
ID0gcmVzdWx0OwogICAgICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7
CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmlu
Zy5jYWxsKHJlc3VsdCkiLCAiW29iamVjdCBGaWxlTGlzdF0iKTsKICAgICAgICAgc2hvdWxkQmUo
InJlc3VsdC5sZW5ndGgiLCAidGVzdF9kYXRhLmxlbmd0aCIpOwpAQCAtNDc3LDcgKzQ3Nyw3IEBA
IGZ1bmN0aW9uIHRlc3RBcnJheShjYWxsYmFjaykgewogICAgIGV2YWxBbmRMb2coInRlc3RfZGF0
YVszMF0gPSBudWxsIik7CiAKICAgICB0ZXN0VmFsdWUodGVzdF9kYXRhLCBmdW5jdGlvbihyZXN1
bHQpIHsKLSAgICAgICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAgICAgc2VsZi5yZXN1
bHQgPSByZXN1bHQ7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdF9kYXRhICE9PSByZXN1bHQi
KTsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVu
Z3RoIik7CiAgICAgICAgIE9iamVjdC5rZXlzKHRlc3RfZGF0YSkuZm9yRWFjaCgKQEAgLTUwMCw3
ICs1MDAsNyBAQCBmdW5jdGlvbiB0ZXN0T2JqZWN0KGNhbGxiYWNrKSB7CiAgICAgZXZhbEFuZExv
ZygidGVzdF9kYXRhWycnXSA9IG51bGwiKTsKIAogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1
bmN0aW9uKHJlc3VsdCkgewotICAgICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0OworICAgICAg
ICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEg
IT09IHJlc3VsdCIpOwogICAgICAgICBzaG91bGRCZVRydWUoImFycmF5Q29tcGFyZShPYmplY3Qu
a2V5cyhyZXN1bHQpLnNvcnQoKSwgT2JqZWN0LmtleXModGVzdF9kYXRhKS5zb3J0KCkpIik7CiAg
ICAgICAgIE9iamVjdC5rZXlzKHRlc3RfZGF0YSkuZm9yRWFjaCgKQEAgLTUzMCw3ICs1MzAsNyBA
QCBmdW5jdGlvbiB0ZXN0QmFkVHlwZXMoKQogCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJP
dGhlciBob3N0IG9iamVjdCB0eXBlczoiKTsKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJz
dG9yZS5wdXQod2luZG93LCAna2V5JykiLCAiRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSIik7
CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KHNlbGYsICdrZXknKSIsICJE
T01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIiKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9u
KCJzdG9yZS5wdXQoZG9jdW1lbnQsICdrZXknKSIsICJET01FeGNlcHRpb24uREFUQV9DTE9ORV9F
UlIiKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQoZG9jdW1lbnQuYm9k
eSwgJ2tleScpIiwgIkRPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUiIpOwogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWwKaW5k
ZXggNWZhOTAwMjA4YTVmYzgyYjYwZTg4NWJkY2QwOWQ1OTgwZTljMzA4Yy4uNDU1NDU3NzZjYzNh
ZTUxMGNlNjAwYjE0ODgzYjMzMTlkNDgxYWEzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sCkBAIC0zMSw3ICszMSw3IEBA
IGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewogICAg
IGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRy
dWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9y
dENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBzdGFydFRlc3Qi
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFmdGVyLWNsb3NlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1hZnRlci1jbG9zZS5odG1sCmluZGV4IGQzMjgwYTEwMDlmZGNjNmYwNTEzM2IxMGY5YmM4
MjU1YTJmZjBmNzguLjFiYTBkYTZkNWFhMjZkODVkYTI5YjRiY2I4YjYyMjhiNTEyZmYyNzkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVy
LWNsb3NlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tYWZ0ZXItY2xvc2UuaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIGZ1
bmN0aW9uIG9wZW5TdWNjZXNzKCkNCiB7DQogICAgIGRlYnVnKCJvcGVuU3VjY2VzcygpOiIpOw0K
LSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsN
CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOw0K
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNp
b24gMScpIik7DQogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gaW5TZXRWZXJzaW9uOw0KICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsNCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUt
Y2FsbHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFu
ZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCmluZGV4IGUwYmU5OTdkMWVjMjJmZTYyYzdkOTc4MDFm
YWQyMDQwYWU5ODYyMzguLjFkNTc0ZGMyNjNhNDE1MTlhYWQ0ZmE4MjM0YjYzMWY0NDI1NmJhOGQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFu
ZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCkBAIC0yMSw3ICsyMSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7Ci0gICAgd2lu
ZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2Vs
Zi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJyZXN1bHQgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsKICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDMxZjA3Yjk3YjdkYTE0ZGU3ZDEzOGVjMGEwMmQ0ODQ3YmM1NDJkNTkuLjJkYTdmM2MwMjJl
YzVhYzgwY2NmM2M3YzE4MDhiYmI2OGMxYzIxNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4
dApAQCAtMTEsOSArMTEsOSBAQCBvcGVuU3VjY2VzcygpOgogZGIgPSBldmVudC50YXJnZXQucmVz
dWx0CiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykKIERlbGV0ZWQgYWxsIG9i
amVjdCBzdG9yZXMuCi1QQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCi1QQVNT
IHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCi1QQVNTIHdpbmRvdy5kYi5v
YmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxzZQorUEFTUyBzZWxm
LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KK1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVz
Lmxlbmd0aCBpcyAwCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3Rv
cmVGYWlsJykgaXMgZmFsc2UKIHJlcXVlc3QgPSBzdGFydFNldFZlcnNpb24oJ3ZlcnNpb24gZmFp
bCcpCiBhZGRSZW1vdmVJREJPYmplY3RzKCk6CiB0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQK
QEAgLTI0LDkgKzI0LDkgQEAgZGIuZGVsZXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcpCiBzdG9y
ZS5kZWxldGVJbmRleCgnaW5kZXhGYWlsJykKIAogdGVzdFNldFZlcnNpb25BYm9ydDIoKToKLVBB
U1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KLVBBU1Mgd2luZG93LmRiLm9iamVj
dFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMu
Y29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVO
YW1lcyBpcyBbXQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKK1BB
U1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxz
ZQogcmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBmYWlsJykKIGFkZFJlbW92ZUFk
ZElEQk9iamVjdHMoKToKIHRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdApAQCAtNDAsOSArNDAs
OSBAQCBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcpCiAKIHRlc3RT
ZXRWZXJzaW9uQWJvcnQzKCk6CiBQQVNTIGV2ZW50LmNhbmNlbGFibGUgaXMgZmFsc2UKLVBBU1Mg
d2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0
b3JlTmFtZXMubGVuZ3RoIGlzIDAKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMuY29u
dGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1l
cyBpcyBbXQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKK1BBU1Mg
c2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxzZQog
cmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBmYWlsJykKIGFkZElEQk9iamVjdHMo
KToKIFBBU1MgZXZlbnQuY2FuY2VsYWJsZSBpcyBmYWxzZQpAQCAtODcsOSArODcsOSBAQCBQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgogCiB0ZXN0U2V0VmVyc2lvbkFib3J0NCgpOgotUEFT
UyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbXQotUEFTUyB3aW5kb3cuZGIub2JqZWN0
U3RvcmVOYW1lcy5sZW5ndGggaXMgMAotUEFTUyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcy5j
b250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UKK1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5h
bWVzIGlzIFtdCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAorUEFT
UyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNl
CiByZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZhaWwnKQogYWRkSURCT2JqZWN0
c0FuZENvbW1pdCgpOgogdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCmluZGV4
IGQyYTJjOTIyMTcwODFkNjBiNTlmMjhhMGE5YmE1YzZhZWYwMmUzYTcuLjg2N2U1YzBmNjFjZWRj
MWZiY2Q0ODNhYWM0YmMwNmJmNjBiNWJlY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCkBAIC0yMiw3ICsyMiw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQ0KIHsNCiAgICAgZGVidWco
Im9wZW5TdWNjZXNzKCk6Iik7DQotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZl
bnQudGFyZ2V0LnJlc3VsdCIpOw0KKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7DQogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0g
ZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsNCiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBj
bGVhbkRhdGFiYXNlOw0KICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsNCkBAIC0yMTUsOSArMjE1LDkgQEAgZnVuY3Rpb24gc3RhcnRTZXRWZXJzaW9uKHZlcnNp
b25OYW1lKQogDQogZnVuY3Rpb24gY2hlY2tNZXRhZGF0YUVtcHR5KCkNCiB7DQotICAgIHNob3Vs
ZEJlKCJ3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcyIsICJbXSIpOw0KLSAgICBzaG91bGRCZSgi
d2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAiKTsNCi0gICAgc2hvdWxkQmUo
IndpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSIsICJmYWxz
ZSIpOw0KKyAgICBzaG91bGRCZSgic2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzIiwgIltdIik7DQor
ICAgIHNob3VsZEJlKCJzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAiKTsNCisg
ICAgc2hvdWxkQmUoInNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmVGYWls
JykiLCAiZmFsc2UiKTsNCiB9DQogDQogZnVuY3Rpb24gY2hlY2tNZXRhZGF0YUV4aXN0aW5nT2Jq
ZWN0U3RvcmUoKQ0KQEAgLTIzOCwxMSArMjM4LDExIEBAIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNj
ZXNzKCkKIHsNCiAgICAgZGVidWcoIiIpOw0KICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3Mo
KToiKTsNCi0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7DQorICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsNCiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOw0K
ICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7DQogICAgIHRyYW5z
LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBsZXRlJywgY29tcGxldGVDYWxsYmFjaywgZmFsc2UpOw0K
LSAgICB3aW5kb3cuY29tcGxldGVFdmVudEZpcmVkID0gZmFsc2U7DQorICAgIHNlbGYuY29tcGxl
dGVFdmVudEZpcmVkID0gZmFsc2U7DQogDQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7
DQogDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IDliNDNl
NWEwOTQwOThhNGY2NmNkMTFmMjVmNjZmN2E5MDBmZDI3YjkuLjYzNmM5YWU5NWVmM2U3NDk5YjYx
ZmM0NWNiZGMzZWRiOTMwMjk1YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1leHBl
Y3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiBkYi5z
ZXRWZXJzaW9uKCcxLjAnKQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2ZvbycpCiBkYi50cmFuc2Fj
dGlvbignZm9vJykKLXdpbmRvdy5nYygpCitzZWxmLmdjKCkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwKaW5k
ZXggMzk1MzM3OWQzNzI5YTAyZTgyNTgzNGUwOGQzZWZmOTA1MzQzMmRiNC4uMWNmNTI3YmViM2Ix
MGI4MDBjM2Q5NjM3Njg2Yjk2MGE3YmZmNzQ5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5odG1s
CkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBl
dmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnZm9vJykiKTsKICAgICBldmFsQW5kTG9n
KCJkYi50cmFuc2FjdGlvbignZm9vJykiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZ2MoKSIp
OworICAgIGV2YWxBbmRMb2coInNlbGYuZ2MoKSIpOwogICAgIGZpbmlzaEpTVGVzdCgpOwogfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1l
dmVudC1wcm9wYWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCBjMzY3MjllNjdhNzMyZTkyMzg2
NjIwNDhlNWQ0ZjNmYjE2YzRkZGI0Li5iNmI3ZWRkODZlMmQyN2JjMDVlNGE4YTRiM2UzYmYyNTk2
ZDZhNDk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKQEAgLTI5LDcgKzI5LDcg
QEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIHsK
LSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5z
Lm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICBldmFsQW5kTG9nKCJ0cmFu
cy5vbmNvbXBsZXRlID0gc3RhcnRUZXN0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkLW9ubHkuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCmluZGV4IGRmODhkMzM3
OGJkNGM2MzgwYzNkZTgzNTEzNjRmNDkyOTAxOTdkZDIuLmVmNjg4N2UwYjQ5ZjVlYTQwMmI1YmVl
OWMxNTA0ZjI3NDZmN2VlYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCkBAIC0yMiw3ICsyMiw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQ0KIHsNCiAgICAgZGVidWcoIm9w
ZW5TdWNjZXNzKCk6Iik7DQotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOw0KKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7DQogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXN1bHQgPSBkYi5z
ZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOw0KICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNsZWFu
RGF0YWJhc2U7DQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
Ow0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LXJvbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1yb2xsYmFjay5odG1sCmluZGV4IDcxNjJhNTBjYTljNWU4ZTE1NGZjMTljMWE2MWJmMjZlMTRk
ZWM1MzIuLjg2NDFlZTMxMzQ1YzE4ZDUwODA5MjI4MTY1ODc5ZTg2N2U0YzBiMzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcm9sbGJh
Y2suaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5T
dWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cuZGIg
PSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0g
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTMxLDcgKzMxLDcgQEAgZnVuY3Rpb24gb3BlblN1
Y2Nlc3MoKQogZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCiB7CiAgICAgZGVidWcoImNsZWFuRGF0
YWJhc2UoKToiKTsKLSAgICB3aW5kb3cudHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2Fj
dGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zYWN0aW9uID0gZXZh
bEFuZExvZygidHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgdHJhbnNh
Y3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHRyYW5zYWN0aW9u
Lm9uY29tcGxldGUgPSBzZXRWZXJzaW9uQ29tcGxldGU7CiAKQEAgLTQ0LDExICs0NCwxMSBAQCBm
dW5jdGlvbiBzZXRWZXJzaW9uQ29tcGxldGUoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29t
cGxldGUoKToiKTsKIAotICAgIHdpbmRvdy50cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydteU9iamVjdFN0b3JlJ10sIElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CisgICAgc2VsZi50cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydteU9iamVjdFN0b3JlJ10sIElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IGFib3J0Q2FsbGJhY2s7
CiAgICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNr
OwogCi0gICAgd2luZG93LnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnbXlPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5zdG9yZSA9IGV2YWxBbmRM
b2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ215T2JqZWN0U3RvcmUnKSIpOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoJ3JvbGxiYWNrVmFsdWUnLCAncm9s
bGJhY2tLZXkxMjMnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYWRkU3VjY2VzczsKICAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTY3LDcgKzY3
LDcgQEAgZnVuY3Rpb24gYWRkU3VjY2VzcygpCiBmdW5jdGlvbiBvcGVuQ3Vyc29yU3VjY2Vzcygp
CiB7CiAgICAgZGVidWcoIm9wZW5DdXJzb3JTdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LmN1cnNv
ciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxm
LmN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKIAog
ICAgIHRyYW5zYWN0aW9uLmFib3J0KCk7CiB9CkBAIC03Nyw4ICs3Nyw4IEBAIGZ1bmN0aW9uIGFi
b3J0Q2FsbGJhY2soKQogICAgIGRlYnVnKCJhYm9ydENhbGxiYWNrKCk6Iik7CiAgICAgZGVidWco
J1RyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLicpOwogCi0gICAgd2luZG93LnRyYW5zYWN0aW9uID0g
ZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ215T2JqZWN0U3RvcmUn
XSwgSURCVHJhbnNhY3Rpb24uUkVBRCkiKTsKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9n
KCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdteU9iamVjdFN0b3JlJykiKTsKKyAg
ICBzZWxmLnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbJ215T2JqZWN0U3RvcmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRCkiKTsKKyAgICBzZWxm
LnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnbXlP
YmplY3RTdG9yZScpIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInN0b3JlLmdldCgncm9s
bGJhY2tLZXkxMjMnKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZ2V0U3VjY2VzczsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVx
dWlyZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0
b3JlTmFtZXMtcmVxdWlyZWQuaHRtbAppbmRleCAzNTRmMTEwYTIyMDk1Y2U2MTBjODkxMGY4ZTJj
ZmE2YjlmNjcyYjIyLi4yZjYwMTVhOTAzMjMyY2FkODQxYjUwMjFiM2E3NDA0MWY0ODk5MWVkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9y
ZU5hbWVzLXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1l
ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBh
dGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4cGVjdGVk
LnR4dAppbmRleCAwMDVhNmExYjNhYTNmNDVmMmFhZWE3YTk5NDRjNTU0NzIwMjIxYWU5Li42YTg4
ZGFlODQ3OGZhMTBjOGNiMThjNGEwNDAzMDQ2ZDJhMjU5MGE1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLWV4
cGVjdGVkLnR4dApAQCAtOCwzMiArOCwzMiBAQCBQQVNTIEJvb2xlYW4oaW5kZXhlZERCICYmIElE
QkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElEQkRhdAogCiBQ
QVNTIGluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCiBQQVNTIElEQlRyYW5zYWN0aW9uID09IG51
bGwgaXMgZmFsc2UKLXdpbmRvdy5zdGF0ZSA9ICdzdGFydGluZycKK3NlbGYuc3RhdGUgPSAnc3Rh
cnRpbmcnCiBpbmRleGVkREIub3BlbigndHdvLXZlcnNpb25zLW9uZS1jb25uZWN0aW9uJykKIGRi
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotd2luZG93LnN0YXRlID0gMAorc2VsZi5zdGF0ZSA9IDAK
IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpCiBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDInKQog
c2V0VmVyc2lvbigpICMxIGNhbGxiYWNrCi13aW5kb3cuc3RvcmUxID0gZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3Rlc3Qtc3RvcmUxJykKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgMQotd2luZG93LnN0
b3JlMS5wdXQoJ2FhYScsIDExMSkKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgMgotUEFTUyArK3dp
bmRvdy5zdGF0ZSBpcyAzCitzZWxmLnN0b3JlMSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0
LXN0b3JlMScpCitQQVNTICsrc2VsZi5zdGF0ZSBpcyAxCitzZWxmLnN0b3JlMS5wdXQoJ2FhYScs
IDExMSkKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDIKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDMKIGhh
bGZ3YXkgdGhlcmUuLi4KIHNldFZlcnNpb24oKSAjMiBjYWxsYmFjawotUEFTUyArK3dpbmRvdy5z
dGF0ZSBpcyA0Ci13aW5kb3cuc3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3Rv
cmUyJykKLXdpbmRvdy5zdG9yZTIucHV0KCdiYmInLCAyMjIpCi1QQVNTICsrd2luZG93LnN0YXRl
IGlzIDUKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgNgotUEFTUyB3aW5kb3cuZGIudmVyc2lvbiBp
cyAidmVyc2lvbiAyIgotd2luZG93LnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3Jl
MScsICd0ZXN0LXN0b3JlMiddKQotd2luZG93LnN0b3JlID0gd2luZG93LnRyYW5zLm9iamVjdFN0
b3JlKCd0ZXN0LXN0b3JlMScpCi13aW5kb3cucmVxID0gd2luZG93LnN0b3JlLmdldCgxMTEpCitQ
QVNTICsrc2VsZi5zdGF0ZSBpcyA0CitzZWxmLnN0b3JlMiA9IGRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCd0ZXN0LXN0b3JlMicpCitzZWxmLnN0b3JlMi5wdXQoJ2JiYicsIDIyMikKK1BBU1MgKytzZWxm
LnN0YXRlIGlzIDUKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDYKK1BBU1Mgc2VsZi5kYi52ZXJzaW9u
IGlzICJ2ZXJzaW9uIDIiCitzZWxmLnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3Jl
MScsICd0ZXN0LXN0b3JlMiddKQorc2VsZi5zdG9yZSA9IHNlbGYudHJhbnMub2JqZWN0U3RvcmUo
J3Rlc3Qtc3RvcmUxJykKK3NlbGYucmVxID0gc2VsZi5zdG9yZS5nZXQoMTExKQogUEFTUyBldmVu
dC50YXJnZXQucmVzdWx0IGlzICJhYWEiCi13aW5kb3cuc3RvcmUgPSB3aW5kb3cudHJhbnMub2Jq
ZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykKLXdpbmRvdy5yZXEgPSB3aW5kb3cuc3RvcmUuZ2V0KDIy
MikKK3NlbGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMicpCitz
ZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBp
cyAiYmJiIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFuZ2VzLmh0bWwKaW5k
ZXggZTgwZWFmZTBiYzhhMDY5MTRkMDVhNjY3MjM2YTZhNmFlNjNlZWI5My4uYTIxYWI3MDEwY2Q5
NTZiMzQ3ZTEyNTBmMTI0MTk2MzE0MGI5OGRjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdlcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbApAQCAtMjEsNyArMjEs
NyBAQCBmdW5jdGlvbiB0ZXN0KCkgewogCiBmdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKIHsK
LSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnc3RhcnRpbmcnIik7CisgICAgZXZhbEFu
ZExvZygic2VsZi5zdGF0ZSA9ICdzdGFydGluZyciKTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKCd0d28tdmVyc2lvbnMtb25lLWNvbm5lY3Rpb24nKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CiAgICAgcmVxdWVzdC5vbmVycm9y
ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0yOSw4ICsyOSw4IEBAIGZ1bmN0aW9uIG9w
ZW5EQkNvbm5lY3Rpb24oKQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7Ci0gICAgd2luZG93
LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgZXZhbEFu
ZExvZygid2luZG93LnN0YXRlID0gMCIpOworICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0YXRlID0gMCIp
OwogCiAgICAgdmFyIHZlcnNpb25DaGFuZ2VSZXF1ZXN0MSA9IGV2YWxBbmRMb2coImRiLnNldFZl
cnNpb24oJ3ZlcnNpb24gMScpIik7CiAgICAgdmVyc2lvbkNoYW5nZVJlcXVlc3QxLm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTQ2LDEyICs0NiwxMiBAQCBmdW5jdGlvbiBv
cGVuU3VjY2VzcygpCiBmdW5jdGlvbiBpblNldFZlcnNpb24xKCkKIHsKICAgICBkZWJ1Zygic2V0
VmVyc2lvbigpICMxIGNhbGxiYWNrIik7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0b3JlMSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7Ci0gICAgc2hvdWxkQmUoIisr
d2luZG93LnN0YXRlIiwgIjEiKTsKLSAgICB2YXIgcmVxID0gZXZhbEFuZExvZygid2luZG93LnN0
b3JlMS5wdXQoJ2FhYScsIDExMSkiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0b3JlMSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7CisgICAgc2hvdWxkQmUoIisrc2Vs
Zi5zdGF0ZSIsICIxIik7CisgICAgdmFyIHJlcSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUxLnB1
dCgnYWFhJywgMTExKSIpOwogICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7CiAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgIHNob3VsZEJl
KCIrK3dpbmRvdy5zdGF0ZSIsICIyIik7CisgICAgICAgIHNob3VsZEJlKCIrK3NlbGYuc3RhdGUi
LCAiMiIpOwogICAgICAgICBoYWxmd2F5RG9uZSgpOwogICAgIH07CiB9CkBAIC01OSwxMyArNTks
MTMgQEAgZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCiBmdW5jdGlvbiBpblNldFZlcnNpb24yKCkK
IHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbigpICMyIGNhbGxiYWNrIik7Ci0gICAgc2hvdWxkQmUo
Iisrd2luZG93LnN0YXRlIiwgIjQiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUyID0g
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykiKTsKKyAgICBzaG91bGRCZSgiKytz
ZWxmLnN0YXRlIiwgIjQiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0b3JlMiA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMicpIik7CiAKLSAgICB2YXIgcmVxID0gZXZhbEFuZExv
Zygid2luZG93LnN0b3JlMi5wdXQoJ2JiYicsIDIyMikiKTsKKyAgICB2YXIgcmVxID0gZXZhbEFu
ZExvZygic2VsZi5zdG9yZTIucHV0KCdiYmInLCAyMjIpIik7CiAgICAgcmVxLm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUp
IHsKLSAgICAgICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjUiKTsKKyAgICAgICAgc2hv
dWxkQmUoIisrc2VsZi5zdGF0ZSIsICI1Iik7CiAgICAgICAgIGhhbGZ3YXlEb25lKCk7CiAgICAg
fTsKIH0KQEAgLTc1LDI1ICs3NSwyNSBAQCBmdW5jdGlvbiBoYWxmd2F5RG9uZSgpCiB7CiAgICAg
Y291bnRlciArPSAxOwogICAgIGlmIChjb3VudGVyIDwgMikgewotICAgICAgICBzaG91bGRCZSgi
Kyt3aW5kb3cuc3RhdGUiLCAiMyIpOworICAgICAgICBzaG91bGRCZSgiKytzZWxmLnN0YXRlIiwg
IjMiKTsKICAgICAgICAgZGVidWcoImhhbGZ3YXkgdGhlcmUuLi4iICk7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjYiKTsKKyAgICAgICAgc2hvdWxk
QmUoIisrc2VsZi5zdGF0ZSIsICI2Iik7CiAgICAgICAgIGNoZWNrUmVzdWx0cygpOwogICAgIH0K
IH0KIAogZnVuY3Rpb24gY2hlY2tSZXN1bHRzKCkgewotICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygid2luZG93LmRiLnZlcnNpb24iLCAidmVyc2lvbiAyIik7Ci0gICAgdHJhbnMgPSBldmFsQW5k
TG9nKCJ3aW5kb3cudHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3Rlc3Qtc3RvcmUxJywgJ3Rlc3Qt
c3RvcmUyJ10pIik7Ci0gICAgc3RvcmUgPSBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUgPSB3aW5k
b3cudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsKLSAgICByZXEgPSBldmFsQW5k
TG9nKCJ3aW5kb3cucmVxID0gd2luZG93LnN0b3JlLmdldCgxMTEpIik7CisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJzZWxmLmRiLnZlcnNpb24iLCAidmVyc2lvbiAyIik7CisgICAgdHJhbnMg
PSBldmFsQW5kTG9nKCJzZWxmLnRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0LXN0b3JlMScs
ICd0ZXN0LXN0b3JlMiddKSIpOworICAgIHN0b3JlID0gZXZhbEFuZExvZygic2VsZi5zdG9yZSA9
IHNlbGYudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsKKyAgICByZXEgPSBldmFs
QW5kTG9nKCJzZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDExMSkiKTsKICAgICByZXEub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlv
biAoZSkgewogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1
bHQiLCAiYWFhIik7CiAKLSAgICAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUg
PSB3aW5kb3cudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykiKTsKLSAgICAgICAgcmVx
ID0gZXZhbEFuZExvZygid2luZG93LnJlcSA9IHdpbmRvdy5zdG9yZS5nZXQoMjIyKSIpOworICAg
ICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0
b3JlKCd0ZXN0LXN0b3JlMicpIik7CisgICAgICAgIHJlcSA9IGV2YWxBbmRMb2coInNlbGYucmVx
ID0gc2VsZi5zdG9yZS5nZXQoMjIyKSIpOwogICAgICAgICByZXEub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsK
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdCIs
ICJiYmIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVl
LXVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5k
ZWZpbmVkLmh0bWwKaW5kZXggYmE5NjdhNWE5NjNlMGRhNDc4ZTVlMmE5ODE0MzRkNjlkMThhOWMy
Ni4uOTYwODk3ZDUwNTI2OWI3ZTAzNGI0MDI0YmE4NmY1NWZmNWY1ODg1ZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLmh0bWwKQEAgLTE1
LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMo
KTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNl
bGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFz
ZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2Ny
aXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWwKaW5k
ZXggMTQ4ZTg4NDY2ZTdiZTJjMWY2ZjI5MGMwNTBlMmQ3YmU5MmJkNGVkNy4uZmRlYTBjNWJmMDJk
MDcwZmI4OGI2NzA4NWJhZjBlZWQyZGY2YTkwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdmFsdWVzLW9kZC10eXBlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFt
ZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5w
YXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC5odG1sCmluZGV4IGI1
YjI5ZWRjODkxNjcwNTNlZWNmNjZjMmM1ZWZhZjc5Y2FiYWQzMDMuLmY2MzI3MGI3M2ZhM2MyNDY1
MThhNTYzNDc5MzNlODVjMTVhNjBmMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuaHRtbApAQCAtMjYsNyArMjYsNyBA
QCBmdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKIAogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQog
ewotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OworICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
ICAgICBkZWJ1ZygiIik7CiAKICAgICBldmFsQW5kTG9nKCJ2Y3JlcSA9IGRiLnNldFZlcnNpb24o
J3ZlcnNpb24gMScpIik7CkBAIC03MSw4ICs3MSw4IEBAIGZ1bmN0aW9uIGluU2V0VmVyc2lvbjIo
KQogICAgIGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMicp
Iik7CiAKICAgICAvLyBFbnN1cmUgdGhlIHRlc3QgaGFybmVzcyBlcnJvciBoYW5kbGVyIGlzIG5v
dCBpbnZva2VkLgotICAgIHdpbmRvdy5vcmlnaW5hbFdpbmRvd09uRXJyb3IgPSB3aW5kb3cub25l
cnJvcjsKLSAgICB3aW5kb3cub25lcnJvciA9IG51bGw7CisgICAgc2VsZi5vcmlnaW5hbFdpbmRv
d09uRXJyb3IgPSBzZWxmLm9uZXJyb3I7CisgICAgc2VsZi5vbmVycm9yID0gbnVsbDsKIAogICAg
IGRlYnVnKCJyYWlzaW5nIGV4Y2VwdGlvbiIpOwogICAgIHRocm93IG5ldyBFcnJvcigiVGhpcyBz
aG91bGQgKk5PVCogYmUgY2F1Z2h0ISIpOwpAQCAtODQsNyArODQsNyBAQCBmdW5jdGlvbiBzZXRW
ZXJzaW9uMkFib3J0KCkKICAgICBkZWJ1Zygic2V0VmVyc2lvbjJBYm9ydCgpIGNhbGxiYWNrIik7
CiAKICAgICAvLyBSZXN0b3JlIHRlc3QgaGFybmVzcyBlcnJvciBoYW5kbGVyLgotICAgIHdpbmRv
dy5vbmVycm9yID0gd2luZG93Lm9yaWdpbmFsV2luZG93T25FcnJvcjsKKyAgICBzZWxmLm9uZXJy
b3IgPSBzZWxmLm9yaWdpbmFsV2luZG93T25FcnJvcjsKIAogICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZGIudmVyc2lvbiIsICJ2ZXJzaW9uIDEiKTsKICAgICBzaG91bGRCZVRydWUoImRiLm9i
amVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMScpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVz
aXZlLWV4cGVjdGVkLnR4dAppbmRleCBiMWNlN2QwNTA3MTlhYWU4ODQ5NzQxMGJiYTE3OWJlMDlm
ZDZjZjk5Li43MTIwOTlmZDg1MmFkYmRkNGM4ZGM5ZGE5MzgyZDY5NjQxM2NhN2ViIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNp
dmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNp
b24tY2hhbmdlLWV4Y2x1c2l2ZS1leHBlY3RlZC50eHQKQEAgLTYsNyArNiw3IEBAIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtp
dEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNl
bGYuT0luZGV4ZWREQjsKIFBBU1MgQm9vbGVhbihpbmRleGVkREIgJiYgSURCQ3Vyc29yICYmIElE
QkRhdGFiYXNlICYmIElEQkRhdGFiYXNlRXJyb3IgJiYgSURCRGF0YWJhc2VFeGNlcHRpb24gJiYg
SURCRmFjdG9yeSAmJiBJREJJbmRleCAmJiBJREJLZXlSYW5nZSAmJiBJREJPYmplY3RTdG9yZSAm
JiBJREJSZXF1ZXN0ICYmIElEQlRyYW5zYWN0aW9uKSBpcyB0cnVlCiAKLXdpbmRvdy5zdGF0ZSA9
ICdzdGFydGluZycKK3NlbGYuc3RhdGUgPSAnc3RhcnRpbmcnCiBpbmRleGVkREIub3BlbigndmVy
c2lvbi1jaGFuZ2UtZXhjbHVzaXZlJykKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogY2FsbGlu
ZyBzZXRWZXJzaW9uKCkgLSBjYWxsYmFjayBzaG91bGQgcnVuIGltbWVkaWF0ZWx5CkBAIC0xNSw3
ICsxNSw3IEBAIGNhbGxpbmcgb3BlbigpIC0gY2FsbGJhY2sgc2hvdWxkIHdhaXQgdW50aWwgVkVS
U0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24gaXMgY29tcGxlCiBpbmRleGVkREIub3BlbigndmVyc2lv
bi1jaGFuZ2UtZXhjbHVzaXZlJykKIHNldFZlcnNpb24oKSBjYWxsYmFjawogc3RhcnRpbmcgd29y
ayBpbiBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbgotd2luZG93LnN0YXRlID0gJ1ZFUlNJT05f
Q0hBTkdFIHN0YXJ0ZWQnCitzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIHN0YXJ0ZWQnCiBz
dG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlJykKIHN0b3JlLnB1dCgwLCAw
KQogaW4gcHV0J3Mgb25zdWNjZXNzCkBAIC0zOCw5ICszOCw5IEBAIGluIHB1dCdzIG9uc3VjY2Vz
cwogc3RvcmUucHV0KDksIDkpCiBpbiBwdXQncyBvbnN1Y2Nlc3MKIGVuZGluZyB3b3JrIGluIFZF
UlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uCi13aW5kb3cuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ug
ZmluaXNoZWQnCitzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkJwogb3Blbigp
IGNhbGxiYWNrIC0gdGhpcyBzaG91bGQgYXBwZWFyIGFmdGVyIFZFUlNJT05fQ0hBTkdFIHRyYW5z
YWN0aW9uIGVuZHMKLVBBU1Mgd2luZG93LnN0YXRlIGlzICJWRVJTSU9OX0NIQU5HRSBmaW5pc2hl
ZCIKK1BBU1Mgc2VsZi5zdGF0ZSBpcyAiVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZl
Lmh0bWwKaW5kZXggOGRkYjYyYzJmZWM4ODc0OTExMTYzYjI1OTZlODVkYmMyMDE3ZTVjYS4uMmZj
MjVmYmFhNTBjY2Q3MDU1ZDRiODEzZTA4NmI2NTY4ZTE1YmM4NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZl
Lmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogZnVuY3Rpb24gb3Bl
bkRCQ29ubmVjdGlvbigpCiB7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0gJ3N0YXJ0
aW5nJyIpOworICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1leGNs
dXNpdmUnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CiAgICAgcmVx
dWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0yNiw3ICsyNiw3IEBA
IGZ1bmN0aW9uIG9wZW5EQkNvbm5lY3Rpb24oKQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7
Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwog
CiAgICAgZGVidWcoImNhbGxpbmcgc2V0VmVyc2lvbigpIC0gY2FsbGJhY2sgc2hvdWxkIHJ1biBp
bW1lZGlhdGVseSIpOwogICAgIHZhciB2ZXJzaW9uQ2hhbmdlUmVxdWVzdCA9IGV2YWxBbmRMb2co
ImRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7CkBAIC00NSwxMCArNDUsMTAgQEAgZnVuY3Rp
b24gaW5TZXRWZXJzaW9uKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbigpIGNhbGxiYWNrIik7
CiAgICAgZGVidWcoInN0YXJ0aW5nIHdvcmsgaW4gVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24i
KTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRl
ZCciKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIHN0YXJ0
ZWQnIik7CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlJykiKTsKLSAgICB3aW5kb3cuY291bnQgPSAwOworICAg
IHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0
ZXN0LXN0b3JlJykiKTsKKyAgICBzZWxmLmNvdW50ID0gMDsKICAgICBkb19hc3luY19wdXRzKCk7
CiAKICAgICBmdW5jdGlvbiBkb19hc3luY19wdXRzKCkgewpAQCAtNTYsMTEgKzU2LDExIEBAIGZ1
bmN0aW9uIGluU2V0VmVyc2lvbigpCiAgICAgICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewogICAg
ICAgICAgICAgZGVidWcoImluIHB1dCdzIG9uc3VjY2VzcyIpOwotICAgICAgICAgICAgaWYgKCsr
d2luZG93LmNvdW50IDwgMTApIHsKKyAgICAgICAgICAgIGlmICgrK3NlbGYuY291bnQgPCAxMCkg
ewogICAgICAgICAgICAgICAgIGRvX2FzeW5jX3B1dHMoKTsKICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgZGVidWcoImVuZGluZyB3b3JrIGluIFZFUlNJT05fQ0hBTkdFIHRy
YW5zYWN0aW9uIik7Ci0gICAgICAgICAgICAgICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0g
J1ZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkJyIpOworICAgICAgICAgICAgICAgIGV2YWxBbmRMb2co
InNlbGYuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQnIik7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH07CiAgICAgfQpAQCAtNjksNyArNjksNyBAQCBmdW5jdGlvbiBpblNldFZlcnNp
b24oKQogZnVuY3Rpb24gb3BlbkFnYWluU3VjY2VzcygpCiB7CiAgICAgZGVidWcoIm9wZW4oKSBj
YWxsYmFjayAtIHRoaXMgc2hvdWxkIGFwcGVhciBhZnRlciBWRVJTSU9OX0NIQU5HRSB0cmFuc2Fj
dGlvbiBlbmRzIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RhdGUiLCAi
VkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNl
bGYuc3RhdGUiLCAiVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiKTsKICAgICBmaW5pc2hKU1Rlc3Qo
KTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC1l
eHBlY3RlZC50eHQKaW5kZXggZDQ3MDM4NzQ5ZjkxMzU1Mjc4ODhmYzIxZjkwNmZkYjU4NjRhODVi
ZS4uM2Y0OGNjZDA1YWI2ZGQ0ZjZlZjA5NGU5MTlmNWIyYTA5OWEyZDk1MiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZl
ZG9tb2JqZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC03
LDE4ICs3LDE4IEBAIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5k
ZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYuCiBQQVNTIEJvb2xlYW4oaW5kZXhl
ZERCICYmIElEQkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElE
QkRhdGFiYXNlRXhjZXB0aW9uICYmIElEQkZhY3RvcnkgJiYgSURCSW5kZXggJiYgSURCS2V5UmFu
Z2UgJiYgSURCT2JqZWN0U3RvcmUgJiYgSURCUmVxdWVzdCAmJiBJREJUcmFuc2FjdGlvbikgaXMg
dHJ1ZQogCiAKLXdpbmRvdy5kYm5hbWUgPSAndmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9t
b2JqZWN0Jworc2VsZi5kYm5hbWUgPSAndmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2Jq
ZWN0JwogCiB0ZXN0RGVsZXRlRGF0YWJhc2UoKToKLWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSh3
aW5kb3cuZGJuYW1lKQotd2luZG93LmdjKCkKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShzZWxm
LmRibmFtZSkKK3NlbGYuZ2MoKQogUEFTUyBkZWxldGVEYXRhYmFzZSdzIElEQlZlcnNpb25DaGFu
Z2VSZXF1ZXN0Lm9uc3VjY2VzcyBldmVudCBmaXJlZAogCiB0ZXN0U2V0VmVyc2lvbigpOgotb3Bl
blJlcXVlc3QgPSBpbmRleGVkREIub3Blbih3aW5kb3cuZGJuYW1lKQorb3BlblJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihzZWxmLmRibmFtZSkKIGRiID0gb3BlblJlcXVlc3QucmVzdWx0CiBkYi5z
ZXRWZXJzaW9uKCcxJykKLXdpbmRvdy5nYygpCitzZWxmLmdjKCkKIFBBU1Mgc2V0VmVyc2lvbidz
IElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0Lm9uc3VjY2VzcyBldmVudCBmaXJlZAogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRv
bW9iamVjdC5odG1sCmluZGV4IGYxYjVjZGQwYWExYjczYzhhNGQ2OGY5NGZkNGI3Y2ZhODhlYzNh
OTcuLmQxMGE2YTdkNTk3MzU0ZmE1N2M1ZDIxN2Y5MDgxODZjZDU2NTU2MWEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2
ZWRvbW9iamVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNp
b25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKSB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAogICAgIGRlYnVn
KCIiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3ZlcnNpb25jaGFuZ2VyZXF1
ZXN0LWFjdGl2ZWRvbW9iamVjdCciKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd2
ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QnIik7CiAKICAgICB0ZXN0RGVsZXRl
RGF0YWJhc2UoKTsKIH0KQEAgLTI1LDEzICsyNSwxMyBAQCBmdW5jdGlvbiB0ZXN0RGVsZXRlRGF0
YWJhc2UoKQogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygidGVzdERlbGV0ZURhdGFiYXNlKCk6
Iik7CiAgICAgLy8gTk9URTogZGVsZXRlUmVxdWVzdCBpcyBsb2NhbCB2YXJpYWJsZSBzbyBpdCBp
cyBub3QgY2FwdHVyZWQgaW4gZ2xvYmFsIHNjb3BlLgotICAgIHZhciBkZWxldGVSZXF1ZXN0ID0g
ZXZhbEFuZExvZygiaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKHdpbmRvdy5kYm5hbWUpIik7Cisg
ICAgdmFyIGRlbGV0ZVJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIuZGVsZXRlRGF0YWJh
c2Uoc2VsZi5kYm5hbWUpIik7CiAgICAgZGVsZXRlUmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CiAgICAgZGVsZXRlUmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVk
QmxvY2tlZENhbGxiYWNrOwogICAgIGRlbGV0ZVJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24o
KSB7IGRlbGV0ZVN1Y2Nlc3MoKTsgfTsKICAgICBkZWxldGVSZXF1ZXN0ID0gbnVsbDsKLSAgICBp
ZiAod2luZG93LmdjKSB7Ci0gICAgICAgIGV2YWxBbmRMb2coIndpbmRvdy5nYygpIik7CisgICAg
aWYgKHNlbGYuZ2MpIHsKKyAgICAgICAgZXZhbEFuZExvZygic2VsZi5nYygpIik7CiAgICAgfQog
fQogCkBAIC00Nyw3ICs0Nyw3IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uKCkKICAgICBkZWJ1
ZygidGVzdFNldFZlcnNpb24oKToiKTsKIAogICAgIC8vIE5PVEU6IFRoaXMgaXMganVzdCBhbiBJ
REJSZXF1ZXN0LCBpdCBjYW4gYmUgZ2xvYmFsLgotICAgIGV2YWxBbmRMb2coIm9wZW5SZXF1ZXN0
ID0gaW5kZXhlZERCLm9wZW4od2luZG93LmRibmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJvcGVu
UmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKSIpOwogICAgIG9wZW5SZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICBvcGVuUmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGV2YWxBbmRMb2coImRiID0gb3BlblJlcXVl
c3QucmVzdWx0Iik7CkBAIC01OCw4ICs1OCw4IEBAIGZ1bmN0aW9uIHRlc3RTZXRWZXJzaW9uKCkK
ICAgICAgICAgdmVyc2lvblJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxs
YmFjazsKICAgICAgICAgdmVyc2lvblJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZl
cnNpb25TdWNjZXNzKCk7IH07CiAgICAgICAgIHZlcnNpb25SZXF1ZXN0ID0gbnVsbDsKLSAgICAg
ICAgaWYgKHdpbmRvdy5nYykgewotICAgICAgICAgICAgZXZhbEFuZExvZygid2luZG93LmdjKCki
KTsKKyAgICAgICAgaWYgKHNlbGYuZ2MpIHsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coInNlbGYu
Z2MoKSIpOwogICAgICAgICB9CiAgICAgfTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131945</attachid>
            <date>2012-03-14 16:00:09 -0700</date>
            <delta_ts>2012-03-14 22:06:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81043-20120314160008.patch</filename>
            <type>text/plain</type>
            <size>172370</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNzY5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzBlNGU2NjQzNTRkNmUzZDQ3ZmM3
MzM0MGMwMDQxNWUxNmNhMGU0NC4uYzhiZTNkNGYwMzY2OTQ3MDQzYzNlOGU2NjkxMTNkZDNlOTg5
MWMzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNyBAQAorMjAxMi0wMy0xNCAgRGF2aWQgR3JvZ2FuICA8
ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCIFRlc3RzOiB1c2Ugc2Vs
ZiBpbnN0ZWFkIG9mIHdpbmRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODEwNDMKKworICAgICAgICAnd2luZG93JyBpcyBtZWFuaW5nbGVzcyBpbiBh
IHdvcmtlcjsgdGhlc2UgdGVzdHMgd2lsbCBzb29uIGJlIHJ1biBmcm9tCisgICAgICAgIGEgd29y
a2VyIGNvbnRleHQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1l
LWFyZ3VtZW50LXJlcXVpcmVkLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Jl
YXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWNvbnRpbnVlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWRlbGV0ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNv
bnNpc3RlbmN5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluZGV4
LWRlbGV0ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3Jk
ZXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJpbWFyeS1rZXkt
b3JkZXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxl
dGVkLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS12YWx1
ZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1
cnNvci11cGRhdGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1
cHRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1iYXNpY3Mu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2Vk
LWRhdGFiYXNlLW9iamVjdC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0
ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxsLW5hbWUuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQuaHRtbDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50
ZXJhY3Rpb25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxl
dGVkYXRhYmFzZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWNvdW50
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY3Vyc29yLmh0bWw6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtZ2V0LWtleS1hcmd1bWVudC1yZXF1aXJl
ZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRpb24uaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0b3IuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9rZXktc29ydC1vcmRlci1hY3Jvc3MtdHlwZXMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXR5cGUtaW5maW5pdHkuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9r
ZXlwYXRoLWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgt
ZmV0Y2gta2V5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQt
dHdpY2UtZmFpbHVyZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
YXV0b2luY3JlbWVudC1pbmRleGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9iYWQta2V5cGF0aC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY2xlYXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2Ny
ZWF0ZS1pbmRleC11bmlxdWUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2NyZWF0ZS1pbmRleC13aXRoLWludGVnZXIta2V5cy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLWJhc2ljcy5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwt
bmFtZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11
dGF0aW9uLW9iamVjdHN0b3JlLW9ubHkuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9kZWxldGUtcmVzdWx0Lmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9pbmRleGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLWRlbGV0ZS1udWxsLWtleS5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5k
LXBhc3NlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy1wdXQtbm8ta2V5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy5odG1sOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLWlubGluZS1hdXRvaW5j
cmVtZW50LWtleS1hZGRlZC1vbi1wdXQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3RzdG9yZW5hbWVzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9wdXQtZ2V0LXZhbHVlcy5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rp
b25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkeVN0YXRl
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1vdmUtaW5kZXgu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1vYmplY3Rz
dG9yZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNo
YW5nZS1hYm9ydC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVy
c2lvbmNoYW5nZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1
cnNvci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdFN0b3JlLXJlcXVp
cmVkLWFyZ3VtZW50cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWF1dG9pbmNyZW1lbnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1jbGVhci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWNvdW50Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
Y3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVt
b3Zlb2JqZWN0c3RvcmUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNs
b3NlLXZlcnNpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY2xvc2UtdmVyc2lvbi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4t
Y3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVnZml4
LTEwODA3MS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5k
cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFn
YXRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLW51bGwu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5lZC5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3Jl
LWNhbGxzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFz
aWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZS11bmRlZmluZWQuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRv
bW9iamVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0Lmh0bWw6CisKIDIwMTItMDMtMTQgIEdyYWNl
IEt1ICA8Z3JhY2VrQGNvZGVhdXJvcmEub3JnPiAKIAogICAgICAgICBJbmNvcnJlY3QgaGFuZGxp
bmcgb2Ygc2l6ZXMgaW4gImVtIiB3aGVuIGZpcnN0LWxpbmUgY2hhbmdlcyBmb250IHNpemUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3Zl
LW9iamVjdC1zdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRl
LWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKaW5kZXggNTU0MDM5ZThkZDNjZDNkN2NiZjVi
ZTlkNTljNTZmNGVmNjY5YWQ4Ny4uYmYxZThlYTQ4ZTQ2ZDkwMjU1Y2Q0NWQzM2JiNWZkMjAzNDg3
N2VmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFu
ZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7CiAgICAgZGVidWco
Im9wZW5TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOwogICAgIHRlc3RDcmVhdGVBbmRSZW1vdmUoKTsKICAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygicmVzdWx0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1lLWFyZ3VtZW50LXJl
cXVpcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RT
dG9yZS1uYW1lLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKaW5kZXggYzJjNGYyOTcxNGNjZWY2ZGY2
ZjZjMGZiYmE3YjQwNTRhOTBkODkzZi4uNDgwOTBjMjliNTA3OGM5OGRkNWEyNjU5OWM2YzllZGYz
ZWIxYzAxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRl
T2JqZWN0U3RvcmUtbmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWly
ZWQuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsK
KyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJN
eSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3Vj
Y2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZU9i
amVjdFN0b3JlLW51bGwtbmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3JlYXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWwKaW5kZXggMjYwNTQ0ZWFmYTc5ZjdjZTNj
OWU0ZmNhYmE3MTljMDRlYjQxMDU2My4uYmViMTg2ZjM5M2FkMGE2ZWRjODEzZmVmNmM3MWVlNGFk
M2E3MDZkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRl
T2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY3JlYXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5h
bWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24u
cGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItY29udGludWUuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1jb250aW51ZS5odG1sCmluZGV4IGNkYWZhZjcyM2Y1
YTg5OGU5NTJlNGFiMGNkMTMxNDYwYTY1MGU0ODQuLjQ5N2UxZTE2OWRlNDEzZGRhYjIyMDRlMzBh
YmYxM2Y3NTIwNDRmNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1jb250aW51ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1jb250aW51ZS5odG1sCkBAIC0xMyw3ICsxMyw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0
IEluZGV4ZWREQidzIElEQkN1cnNvci5jb250aW51ZSgpIHdpdGggYSBrZXkgcGFyYW1ldGVyLiIp
OwogdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwogCiAvLyBJbiBvcmRlciBvZiBob3cgaXQgc2hvdWxk
IGJlIHNvcnRlZCBieSBJbmRleGVkREIuCi13aW5kb3cudGVzdERhdGEgPSBbCitzZWxmLnRlc3RE
YXRhID0gWwogICAgIDAsCiAgICAgMSwKICAgICAxLApAQCAtNDksNyArNDksNyBAQCBmdW5jdGlv
biBvcGVuRGF0YWJhc2UoKQogIAogZnVuY3Rpb24gc2V0VmVyc2lvbigpCiB7Ci0gICAgd2luZG93
LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5k
YiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgcmVzdWx0
ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlc3Vs
dC5vbnN1Y2Nlc3MgPSBkZWxldGVFeGlzdGluZzsKQEAgLTU4LDIyICs1OCwyMiBAQCBmdW5jdGlv
biBzZXRWZXJzaW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRv
dy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAg
IHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
ICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9
IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogCiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRi
KTsKIAotICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOwotICAgIHdpbmRvdy5pbmRleE9iamVjdCA9IGV2
YWxBbmRMb2coIm9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7Ci0g
ICAgd2luZG93Lm5leHRUb0FkZCA9IDA7CisgICAgc2VsZi5vYmplY3RTdG9yZSA9IGV2YWxBbmRM
b2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOworICAgIHNlbGYu
aW5kZXhPYmplY3QgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnc29tZUlu
ZGV4JywgJ3gnKSIpOworICAgIHNlbGYubmV4dFRvQWRkID0gMDsKICAgICBhZGREYXRhKCk7CiB9
CiAKIGZ1bmN0aW9uIGFkZERhdGEoKQogewogICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIm9iamVj
dFN0b3JlLmFkZCh7J3gnOiB0ZXN0RGF0YVtuZXh0VG9BZGRdfSwgbmV4dFRvQWRkKSIpOwotICAg
IHJlc3VsdC5vbnN1Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5ndGgg
PyBhZGREYXRhIDogYXNjZW5kaW5nVGVzdDsKKyAgICByZXN1bHQub25zdWNjZXNzID0gKytzZWxm
Lm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBhc2NlbmRpbmdUZXN0Owog
ICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKQEAgLTgz
LDUzICs4Myw1MyBAQCBmdW5jdGlvbiBhc2NlbmRpbmdUZXN0KCkKICAgICB2YXIgcmVxdWVzdCA9
IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLk5F
WFQpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBhc2NlbmRpbmdDYWxsYmFjazsKICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICB3aW5kb3cuc3Rh
Z2UgPSAwOworICAgIHNlbGYuc3RhZ2UgPSAwOwogfQogCiBmdW5jdGlvbiBhc2NlbmRpbmdDYWxs
YmFjaygpCiAKIHsKLSAgICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICBpZiAoc2VsZi5z
dGFnZSA9PSAwKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1h
cnlLZXkiLCAiMCIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNv
bnRpbnVlKDMuMTQxNTkpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgewor
ICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVu
dC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMyIpOwogICAgICAgICBldmFsQW5kTG9nKCJl
dmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5z
dGFnZSA9PSAyKSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDIpIHsKICAgICAgICAg
c2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICI0Iik7CiAgICAgICAg
IGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxz
ZSBpZiAod2luZG93LnN0YWdlID09IDMpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0g
MykgewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5Iiwg
IjUiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgx
MikiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA0KSB7CisgICAgfSBlbHNlIGlm
IChzZWxmLnN0YWdlID09IDQpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1
bHQucHJpbWFyeUtleSIsICI3Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5y
ZXN1bHQuY29udGludWUoZGF0ZSkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA1
KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDUpIHsKICAgICAgICAgc2hvdWxkQmUo
ImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICI5Iik7CiAgICAgICAgIGV2YWxBbmRM
b2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2lu
ZG93LnN0YWdlID09IDYpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNikgewogICAg
ICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjEwIik7CiAg
ICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAg
IH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDcpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3Rh
Z2UgPT0gNykgewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5
S2V5IiwgIjExIik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29u
dGludWUoJ0EgYml0MScpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gOCkgewor
ICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA4KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVu
dC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMTQiKTsKICAgICAgICAgZXZhbEFuZExvZygi
ZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQzJykiKTsKLSAgICB9IGVsc2UgaWYg
KHdpbmRvdy5zdGFnZSA9PSA5KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDkpIHsK
ICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNiIp
OwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCd0aGUg
QklHR0VTVCBzdHJpbmcnKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDEwKSB7
CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDEwKSB7CiAgICAgICAgIHNob3VsZEJlKCJl
dmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMTciKTsKICAgICAgICAgZXZhbEFuZExv
ZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5k
b3cuc3RhZ2UgPT0gMTEpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMTEpIHsKICAg
ICAgICAgc2hvdWxkQmVOdWxsKCJldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgICAgIGRlc2Nl
bmRpbmdUZXN0KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9IGVsc2UgewogICAgICAgICB0ZXN0
RmFpbGVkKCJJbGxlZ2FsIHN0YWdlLiIpOwogICAgIH0KLSAgICB3aW5kb3cuc3RhZ2UrKzsKKyAg
ICBzZWxmLnN0YWdlKys7CiB9CiAKIGZ1bmN0aW9uIGRlc2NlbmRpbmdUZXN0KCkKQEAgLTEzOCw1
NiArMTM4LDU2IEBAIGZ1bmN0aW9uIGRlc2NlbmRpbmdUZXN0KCkKICAgICB2YXIgcmVxdWVzdCA9
IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLlBS
RVYpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZXNjZW5kaW5nQ2FsbGJhY2s7CiAgICAg
cmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgd2luZG93LnN0
YWdlID0gMDsKKyAgICBzZWxmLnN0YWdlID0gMDsKIH0KIAogZnVuY3Rpb24gZGVzY2VuZGluZ0Nh
bGxiYWNrKCkKIHsKLSAgICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICBpZiAoc2VsZi5z
dGFnZSA9PSAwKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1h
cnlLZXkiLCAiMTciKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5j
b250aW51ZSgnQSBiaXQyJykiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7
CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDEpIHsKICAgICAgICAgc2hvdWxkQmUoImV2
ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICBldmFsQW5kTG9n
KCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRv
dy5zdGFnZSA9PSAyKSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDIpIHsKICAgICAg
ICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNCIpOwogICAg
ICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKGRhdGUpIik7Ci0g
ICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMykgeworICAgIH0gZWxzZSBpZiAoc2VsZi5z
dGFnZSA9PSAzKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1h
cnlLZXkiLCAiMTAiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5j
b250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gNCkgeworICAgIH0g
ZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA0KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJn
ZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiOSIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50
YXJnZXQucmVzdWx0LmNvbnRpbnVlKDEpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2Ug
PT0gNSkgeworICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA1KSB7CiAgICAgICAgIHNob3Vs
ZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMiIpOwogICAgICAgICBldmFs
QW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYg
KHdpbmRvdy5zdGFnZSA9PSA2KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDYpIHsK
ICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxIik7
CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwot
ICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDcpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYu
c3RhZ2UgPT0gNykgewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmlt
YXJ5S2V5IiwgIjAiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5j
b250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gOCkgeworICAgIH0g
ZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA4KSB7CiAgICAgICAgIHNob3VsZEJlTnVsbCgiZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOwogICAgICAgICBhc2NlbmRpbmdFcnJvclRlc3RMZXNzVGhhbigpOwog
ICAgICAgICByZXR1cm47CiAgICAgfSBlbHNlIHsKICAgICAgICAgdGVzdEZhaWxlZCgiSWxsZWdh
bCBzdGFnZS4iKTsKICAgICB9Ci0gICAgd2luZG93LnN0YWdlKys7CisgICAgc2VsZi5zdGFnZSsr
OwogfQogCiBmdW5jdGlvbiBhc2NlbmRpbmdFcnJvclRlc3RMZXNzVGhhbigpCiB7CiAgICAgZGVi
dWcoIiIpOwogICAgIHZhciByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3Qub3Blbktl
eUN1cnNvcihudWxsLCBJREJDdXJzb3IuTkVYVCkiKTsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOwor
ICAgIHNlbGYuc3RhZ2UgPSAwOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGlmICh3aW5kb3cuc3RhZ2UgPT09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT09IDAp
IHsKICAgICAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXki
LCAiMCIpOwogICAgICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250
aW51ZSgzLjE0MTU5KSIpOwotICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7
CisgICAgICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgICAgICBzaG91
bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjMiKTsKICAgICAgICAgICAg
IGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoMSki
LCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKICAgICAgICAgICAgIGFzY2VuZGlu
Z0Vycm9yVGVzdEVxdWFsKCk7CkBAIC0xOTUsNyArMTk1LDcgQEAgZnVuY3Rpb24gYXNjZW5kaW5n
RXJyb3JUZXN0TGVzc1RoYW4oKQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0ZXN0RmFp
bGVkKCJJbGxlZ2FsIHN0YWdlLiIpOwogICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5zdGFnZSsr
OworICAgICAgICBzZWxmLnN0YWdlKys7CiAgICAgfTsKIH0KIApAQCAtMjAzLDEzICsyMDMsMTMg
QEAgZnVuY3Rpb24gYXNjZW5kaW5nRXJyb3JUZXN0RXF1YWwoKQogewogICAgIGRlYnVnKCIiKTsK
ICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3Io
bnVsbCwgSURCQ3Vyc29yLk5FWFQpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAgICBzZWxm
LnN0YWdlID0gMDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2lu
ZG93LnN0YWdlID09PSAwKSB7CisgICAgICAgIGlmIChzZWxmLnN0YWdlID09PSAwKSB7CiAgICAg
ICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjAiKTsK
ICAgICAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoMy4x
NDE1OSkiKTsKLSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgICAg
ICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxkQmUoImV2
ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIzIik7CiAgICAgICAgICAgICBldmFsQW5k
RXhwZWN0RXhjZXB0aW9uKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKDMuMTQxNTkpIiwg
IklEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAgICAgICAgICAgICBkZXNjZW5kaW5n
RXJyb3JUZXN0R3JlYXRlclRoYW4oKTsKQEAgLTIxNyw3ICsyMTcsNyBAQCBmdW5jdGlvbiBhc2Nl
bmRpbmdFcnJvclRlc3RFcXVhbCgpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlc3RG
YWlsZWQoIklsbGVnYWwgc3RhZ2UuIik7CiAgICAgICAgIH0KLSAgICAgICAgd2luZG93LnN0YWdl
Kys7CisgICAgICAgIHNlbGYuc3RhZ2UrKzsKICAgICB9OwogfQogCkBAIC0yMjUsMTMgKzIyNSwx
MyBAQCBmdW5jdGlvbiBkZXNjZW5kaW5nRXJyb3JUZXN0R3JlYXRlclRoYW4oKQogewogICAgIGRl
YnVnKCIiKTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5L
ZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsK
KyAgICBzZWxmLnN0YWdlID0gMDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAg
ICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT0gMCkg
ewogICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIs
ICIxNyIpOwogICAgICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250
aW51ZSgnQSBiaXQyJykiKTsKLSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkg
eworICAgICAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hv
dWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICAg
ICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgn
QSBiaXQzJykiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKICAgICAgICAgICAg
IGRlc2NlbmRpbmdFcnJvclRlc3RFcXVhbCgpOwpAQCAtMjM5LDcgKzIzOSw3IEBAIGZ1bmN0aW9u
IGRlc2NlbmRpbmdFcnJvclRlc3RHcmVhdGVyVGhhbigpCiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIklsbGVnYWwgc3RhZ2UuIik7CiAgICAgICAgIH0KLSAgICAgICAg
d2luZG93LnN0YWdlKys7CisgICAgICAgIHNlbGYuc3RhZ2UrKzsKICAgICB9OwogfQogCkBAIC0y
NDcsMjIgKzI0NywyMiBAQCBmdW5jdGlvbiBkZXNjZW5kaW5nRXJyb3JUZXN0RXF1YWwoKQogewog
ICAgIGRlYnVnKCIiKTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0
Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpIik7Ci0gICAgd2luZG93LnN0YWdl
ID0gMDsKKyAgICBzZWxmLnN0YWdlID0gMDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewot
ICAgICAgICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2Ug
PT0gMCkgewogICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFy
eUtleSIsICIxNyIpOwogICAgICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3Vs
dC5jb250aW51ZSgnQSBiaXQyJykiKTsKLSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2Ug
PT0gMSkgeworICAgICAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAg
ICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAg
ICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAg
ICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250
aW51ZSgnQSBiaXQyJykiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKLSAgICAg
ICAgICAgIHdpbmRvdy50cmFucy5vbmNvbXBsZXRlID0gb25UcmFuc2FjdGlvbkNvbXBsZXRlOwor
ICAgICAgICAgICAgc2VsZi50cmFucy5vbmNvbXBsZXRlID0gb25UcmFuc2FjdGlvbkNvbXBsZXRl
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0ZXN0
RmFpbGVkKCJJbGxlZ2FsIHN0YWdlLiIpOwogICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5zdGFn
ZSsrOworICAgICAgICBzZWxmLnN0YWdlKys7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWRlbGV0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWRlbGV0ZS5odG1sCmluZGV4IDZhNTMxYTYxZTBl
ZTlhYzc4YTA4ZTkyYzllODI0OGQxNmIyNmU4NzMuLjVhYWY0MDYyOTIxNWZhOWZmM2MwM2IyNzE2
NGNjMGZlYjIxMTRiNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1kZWxldGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3ItZGVsZXRlLmh0bWwKQEAgLTMyLDcgKzMyLDcgQEAgZnVuY3Rpb24gb3BlblN1Y2Nlc3Mo
KQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9u
U3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZl
bnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxs
Iik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRy
YW5zLm9uY29tcGxldGUgPSBvcGVuQ3Vyc29yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3kuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwKaW5kZXggNmUwN2IxY2Jm
NGIwZWM4NDVjMGYxMjQxMDZhOWQwN2FlOWU5YjBmNi4uNDFjNGFiNjEyMGQ4NTU3MjQ3YzJjYTBj
YjVkNjhiYjA3YTEzNzQ0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWluY29uc2lzdGVuY3kuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0
aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBk
ZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVl
KCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRD
YWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gb3BlbkJhc2ljQ3Vyc29yOwpAQCAtNTUs
NyArNTUsNyBAQCBmdW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogICAgIHRyYW5zLm9uY29tcGxl
dGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlOwogCiAgICAga2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5s
b3dlckJvdW5kKCJzb21lS2V5MSIpOwotICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRM
b2coInRyYW5zLm9iamVjdFN0b3JlKCdiYXNpY1N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0
b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ2Jhc2ljU3RvcmUnKSIpOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKGtleVJhbmdlKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2hlY2tDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5kZXgtZGVsZXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5kZXgtZGVsZXRlLmh0bWwKaW5kZXggYTc1OGM3ODM4
NjdkOTIxNjViMmMyOWMxMmVmODI4Y2RmYTRlOGUwOS4uYjQ2NTIzMTIzODIxNmM1YTA2OGE4NDI0
ZmIxM2NhZmJhNGEzMjA4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWluZGV4LWRlbGV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1pbmRleC1kZWxldGUuaHRtbApAQCAtMzIsNyArMzIsNyBAQCBmdW5jdGlv
biBvcGVuU3VjY2VzcygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVi
dWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExv
ZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgi
dHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2Fs
bGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IG9wZW5DdXJzb3I7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKaW5kZXggZTAx
NGRiYmU0YjdkNDg2NmIwM2Y0OWM2NTAyNWVhYjU3M2UyYzU1NC4uZmE2YjQ1MmNiOTM0NDc3NDk1
ZmYwNzRhNjhlODZhZGY0ZjQwYTU2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLWtleS1vcmRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2N1cnNvci1rZXktb3JkZXIuaHRtbApAQCAtMzMsNyArMzMsNyBAQCBmdW5jdGlv
biBwcmVwYXJlRGF0YWJhc2UoKQogICAgIH07CiB9CiAKLXdpbmRvdy5rZXlzID0gWworc2VsZi5r
ZXlzID0gWwogICAgICItSW5maW5pdHkiLAogICAgICItTnVtYmVyLk1BWF9WQUxVRSIsCiAgICAg
Ii0xIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1w
cmltYXJ5LWtleS1vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLXByaW1hcnkta2V5LW9yZGVyLmh0bWwKaW5kZXggMzVkYTAwMDg2Yzc0ZmExNTA0MWI4ZTY3
ZTAxYzJjZmJjOTU5NzFkYy4uYmQ3MTM4NDNhMDYyODJkM2NkNTMxNTIyOWU3YjUzZTJlZTU4OTMw
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1h
cnkta2V5LW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLXByaW1hcnkta2V5LW9yZGVyLmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcHJl
cGFyZURhdGFiYXNlKCkKICAgICB9OwogfQogCi13aW5kb3cua2V5cyA9IFsKK3NlbGYua2V5cyA9
IFsKICAgICAiLUluZmluaXR5IiwKICAgICAiLTIiLAogICAgICItMSIsCkBAIC02Nyw3ICs2Nyw3
IEBAIGZ1bmN0aW9uIHBvcHVsYXRlU3RvcmUoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVj
dGVkQWJvcnRDYWxsYmFjazsKICAgICB2YXIgY291bnQgPSAwOwogICAgIHZhciBpbmRleEtleSA9
IDA7Ci0gICAgdmFyIGtleXMgPSB3aW5kb3cua2V5cy5zbGljZSgpOworICAgIHZhciBrZXlzID0g
c2VsZi5rZXlzLnNsaWNlKCk7CiAgICAga2V5cy5yZXZlcnNlKCk7CiAgICAga2V5cy5mb3JFYWNo
KGZ1bmN0aW9uKGtleSkgewogICAgICAgICB2YXIgdmFsdWUgPSB7IGluZGV4S2V5OiBpbmRleEtl
eSwgY291bnQ6IGNvdW50KysgfTsKQEAgLTkzLDcgKzkzLDcgQEAgZnVuY3Rpb24gY2hlY2tTdG9y
ZSgpCiAgICAgICAgIGlmIChjdXJzb3JSZXF1ZXN0LnJlc3VsdCkgewogICAgICAgICAgICAgZXZh
bEFuZExvZygiY3Vyc29yID0gY3Vyc29yUmVxdWVzdC5yZXN1bHQiKTsKICAgICAgICAgICAgIHNo
b3VsZEJlKCJjdXJzb3Iua2V5IiwgU3RyaW5nKGluZGV4S2V5KSk7Ci0gICAgICAgICAgICBzaG91
bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCB3aW5kb3cua2V5c1tjb3VudCsrXSk7CisgICAgICAg
ICAgICBzaG91bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCBzZWxmLmtleXNbY291bnQrK10pOwog
ICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBzaG91bGRCZVRydWUoImNvdW50ID09PSBrZXlzLmxlbmd0aCIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sCmlu
ZGV4IGVhZWRiMmQyZmMzNGMyNjM0Njg5ZTJlMmZmYWFlNTgyZjg1OGQ5YWUuLmQzYWU5YTJhZTA0
NzNhMTJhMjhlZjMwMDE4ZmQyOTA2ZTNlYTgwMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVkLmh0bWwKQEAgLTM3LDcgKzM3
LDcgQEAgZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3Mo
KQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYu
dHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBz
aG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhw
ZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBiYXNpY0N1cnNvclRl
c3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBk
YXRlLXZhbHVlLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLXZhbHVlLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKaW5kZXgg
NzJjNjdhMjNiNjBhNjMzMGRlNmE2OGY5MTM5YTZiYjVmNjllOWJiYS4uZGFkMzMwZjRhMGUwMjYx
ZjAyMzI0M2I4YWUzMGViNzBhMjZlNWMwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS12YWx1ZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtdmFsdWUtYXJn
dW1lbnQtcmVxdWlyZWQuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlv
bi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNj
cmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2N1cnNvci11cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1
cnNvci11cGRhdGUuaHRtbAppbmRleCAyY2NhMjhlZmU0ZjY4YmM2MGVlNWVkN2ZiYjU1ZGM4ZmNi
OTA2M2Q4Li4xNzRjOTcwMjk5MDc2NmM1OWVjYjNjZmU5N2I5ZWRmOTI5ZmQzODRlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sCkBAIC0z
Miw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25T
dWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5k
b3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAg
ICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQg
PSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gb3BlbkJh
c2ljQ3Vyc29yOwpAQCAtNjcsNyArNjcsNyBAQCBmdW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQog
ICAgIHRyYW5zLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlOwogCiAgICAga2V5UmFu
Z2UgPSBJREJLZXlSYW5nZS5sb3dlckJvdW5kKCJteUtleTEiKTsKLSAgICB3aW5kb3cub2JqZWN0
U3RvcmUgPSBldmFsQW5kTG9nKCJ0cmFucy5vYmplY3RTdG9yZSgnYmFzaWNTdG9yZScpIik7Cisg
ICAgc2VsZi5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coInRyYW5zLm9iamVjdFN0b3JlKCdiYXNp
Y1N0b3JlJykiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUub3BlbkN1
cnNvcihrZXlSYW5nZSkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGJhc2ljVXBkYXRlQ3Vy
c29yOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbApp
bmRleCBjZDA1NmEyYWZhYmE0ODc4MTAzNGVkYTBhNmY4ODVmMWJmNjBjNzYxLi41YWIzOWMzNGNj
YzI3NjllODEzNmY2MjU4YjBhYjBlOTVlOTk1MWM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbApAQCAtMjEsNyArMjEsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3Bl
blN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRh
cmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbign
bmV3IHZlcnNpb24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nl
c3M7CkBAIC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNl
dFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsK
LSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5z
Lm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRl
ID0gYWRkRGF0YTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Rh
dGFiYXNlLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJh
c2UtYmFzaWNzLmh0bWwKaW5kZXggZDAyOTE0ODc4OWI0NGUyNWNiN2YwZmZhMDFjNDlmNTI0ZTk3
ODA2OC4uNzIzMzBjMTFjMzkwMjZlYzQ4MThlZjA1YWU5Nzg0ODQ0M2U3NDY5NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0bWwKQEAg
LTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkK
IHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24n
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMSw3
ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNj
ZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cu
dHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBz
ZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAg
ICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKIApAQCAtNzYsNyArNzYsNyBAQCBmdW5jdGlvbiBjaGVj
a09iamVjdFN0b3JlKCkKIAogZnVuY3Rpb24gY29tbWl0QW5kQ29udGludWUoKQogewotICAgIHdp
bmRvdy5zZXRUaW1lb3V0KHRlc3RTZXRWZXJzaW9uQWJvcnQsIDApOworICAgIHNlbGYuc2V0VGlt
ZW91dCh0ZXN0U2V0VmVyc2lvbkFib3J0LCAwKTsKIH0KIAogZnVuY3Rpb24gdGVzdFNldFZlcnNp
b25BYm9ydCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRh
YmFzZS1xdW90YS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2Ut
cXVvdGEuaHRtbAppbmRleCBmMWVhZTFhYTg5ODMxNDZmNWNjMDM3NjFjOWJjMmMxNTMzNjViYzg3
Li41OWM3ZGU1ODM5YzY0ZmE3YjBhZDY5MTUyYmJlMzQyNTdiOWFlOTMxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKQEAgLTIwLDcg
KzIwLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAg
ICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAg
ICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMCw3ICszMCw3
IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkK
IHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMg
PSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hv
dWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVj
dGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gY2hlY2tRdW90YUVuZm9y
Y2luZzsKQEAgLTYyLDEyICs2MiwxMiBAQCBmdW5jdGlvbiBjaGVja1F1b3RhRW5mb3JjaW5nKCkK
ICAgICB0cmFucy5vbmFib3J0ID0gdGVzdENvbXBsZXRlOwogICAgIHRyYW5zLm9uY29tcGxldGUg
PSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjazsKICAgICBkZWJ1ZygiQ3JlYXRpbmcgJ2RhdGEn
IHdoaWNoIGNvbnRhaW5zIDY0SyBvZiBkYXRhIik7Ci0gICAgd2luZG93LmRhdGEgPSAiWCI7Cisg
ICAgc2VsZi5kYXRhID0gIlgiOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykKICAg
ICAgICAgZGF0YSArPSBkYXRhOwogICAgIHNob3VsZEJlKCJkYXRhLmxlbmd0aCIsICI2NTUzNiIp
OwotICAgIHdpbmRvdy5kYXRhQWRkZWQgPSAwOwotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRM
b2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3QxMjMnKSIpOworICAgIHNlbGYuZGF0
YUFkZGVkID0gMDsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5v
YmplY3RTdG9yZSgndGVzdDEyMycpIik7CiAgICAgYWRkRGF0YSgpOwogfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9i
amVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUt
Y2xvc2VkLWRhdGFiYXNlLW9iamVjdC1leHBlY3RlZC50eHQKaW5kZXggMzcxNDcyZmQ4NjhhOTBh
NTI5MTgzYTYyY2M3ZGFlNGNlODJkODUwOC4uN2UyYzliODg4MjQwMDY1NzIwMzQwMzg1OWRiMjgy
ZTc3Y2U0YWIxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVs
ZXRlLWNsb3NlZC1kYXRhYmFzZS1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0LWV4cGVjdGVk
LnR4dApAQCAtNiw3ICs2LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIGluZGV4ZWREQiA9
IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhl
ZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogUEFTUyBCb29sZWFu
KGluZGV4ZWREQiAmJiBJREJDdXJzb3IgJiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJv
ciAmJiBJREJEYXRhYmFzZUV4Y2VwdGlvbiAmJiBJREJGYWN0b3J5ICYmIElEQkluZGV4ICYmIElE
QktleVJhbmdlICYmIElEQk9iamVjdFN0b3JlICYmIElEQlJlcXVlc3QgJiYgSURCVHJhbnNhY3Rp
b24pIGlzIHRydWUKIAotd2luZG93LnN0YXRlID0gJ3N0YXJ0aW5nJworc2VsZi5zdGF0ZSA9ICdz
dGFydGluZycKIGluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdCcp
CiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIGluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2Vk
LWRhdGFiYXNlLW9iamVjdCcpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvZGVsZXRlLWNsb3NlZC1kYXRhYmFzZS1vYmplY3QuaHRtbAppbmRleCA4
ZmU4NThmODUwYTZjYmQ5YjdmMmNhYzU4ZjJkNGZkOTAwNThhNTAxLi5mNzM2YjMwMmQ2ZmMzMjdj
ODJjZjVlYjBhNTcxNDJhNzNmMDJlM2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0Lmh0
bWwKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogZnVuY3Rpb24gb3BlbkRC
Q29ubmVjdGlvbigpCiB7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0gJ3N0YXJ0aW5n
JyIpOworICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNl
LW9iamVjdCcpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTI2LDcgKzI2LDcg
QEAgZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkK
IHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CiAKICAgICAvLyBPcGVuIGEgc2Vjb25kIGNvbm5lY3Rpb24gdG8gdGhlIHNhbWUgZGF0YWJhc2Uu
CiAgICAgdmFyIHJlcXVlc3QyID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ2RlbGV0ZS1j
bG9zZWQtZGF0YWJhc2Utb2JqZWN0JykiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW5hbWUt
YXJndW1lbnQtcmVxdWlyZWQuaHRtbAppbmRleCBmNmM1YzZhM2ViZWUzOGIxN2JjMmYxNzY3ZTll
ZTlmNDZjOTM0ZjA5Li4zZjliY2E3ODQ2NWJlMGNmZmNjZTc2NTU5YTdhMGQ4OTU5ZTNiOTQ3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9y
ZS1uYW1lLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZGVsZXRlT2JqZWN0U3RvcmUtbmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBA
IC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZp
eGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUg
PSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0
YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBk
ZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlT2JqZWN0U3RvcmUt
bnVsbC1uYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmpl
Y3RTdG9yZS1udWxsLW5hbWUuaHRtbAppbmRleCA0NjUxY2YxNTdhZWIzY2YzY2Q4ZDI4ZDY3YWQw
OTY2NjZkYWMwNWNlLi43ZWNmOWRlNjY2ZmQ2OTdhMmM1Yzg1NTAyMDYwOTI4ZmJjYzcwZTA0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9y
ZS1udWxsLW5hbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxl
dGVPYmplY3RTdG9yZS1udWxsLW5hbWUuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0
ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRv
dy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsK
ICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2R1cGxpY2F0ZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2R1cGxpY2F0ZXMuaHRtbAppbmRleCAzMjhmOGYyYTA4M2VjYzUzNTVlNDZjZWI5ZTE5M2E1
MzdkZWU1ZTcwLi44YzU3MjQ4ZTdlOGU2ZWNhOTM5NGFlZDIxOWEyMzJkNDM1MDBmYzNiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCkBAIC0zMywx
NCArMzMsMTQgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGlu
ZygpCiB7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2Vs
Zi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAg
IHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5l
eHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwog
Ci0gICAgd2luZG93LnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScsIG51bGwpIik7Ci0gICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygi
c3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICd4JykiKTsKKyAgICBzZWxmLnN0b3JlID0g
ZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7Cisg
ICAgc2VsZi5pbmRleE9iamVjdCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRl
eE5hbWUnLCAneCcpIik7CiAgICAgYWRkRGF0YSgpOwogfQogCkBAIC05Nyw3ICs5Nyw3IEBAIGZ1
bmN0aW9uIG9wZW5LZXlDdXJzb3IoKQogewogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVz
dWx0IiwgInVuZGVmaW5lZCIpOwogCi0gICAgd2luZG93LnJlcXVlc3QgPSBldmFsQW5kTG9nKCJp
bmRleE9iamVjdC5vcGVuS2V5Q3Vyc29yKCkiKTsKKyAgICBzZWxmLnJlcXVlc3QgPSBldmFsQW5k
TG9nKCJpbmRleE9iamVjdC5vcGVuS2V5Q3Vyc29yKCkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IGN1cnNvcjFDb250aW51ZTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKIH0KQEAgLTExMCw3ICsxMTAsNyBAQCBmdW5jdGlvbiBjdXJzb3IxQ29udGlu
dWUoKQogCiAgICAgLy8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlcXVlc3Qgb2JqZWN0LgogICAgIGV2
YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIHdpbmRvdy5y
ZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTI7CisgICAgc2VsZi5yZXF1ZXN0Lm9u
c3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTI7CiB9CiAKIGZ1bmN0aW9uIGN1cnNvcjFDb250aW51
ZTIoKQpAQCAtMTIxLDE0ICsxMjEsMTQgQEAgZnVuY3Rpb24gY3Vyc29yMUNvbnRpbnVlMigpCiAK
ICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3QgcmVxdWVzdCBvYmplY3QuCiAgICAgZXZhbEFuZExv
ZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgd2luZG93LnJlcXVlc3Qu
b25zdWNjZXNzID0gb3Blbk9iamVjdEN1cnNvcjsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNz
ID0gb3Blbk9iamVjdEN1cnNvcjsKIH0KIAogZnVuY3Rpb24gb3Blbk9iamVjdEN1cnNvcigpCiB7
CiAgICAgc2hvdWxkQmVUcnVlKCJldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxsIik7CiAKLSAg
ICB3aW5kb3cucmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIp
OworICAgIHNlbGYucmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3Io
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlOwogICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQpAQCAtMTQyLDcgKzE0Miw3
IEBAIGZ1bmN0aW9uIGN1cnNvcjJDb250aW51ZSgpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxh
c3QgcmVxdWVzdCBvYmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5j
b250aW51ZSgpIik7Ci0gICAgd2luZG93LnJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRp
bnVlMjsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlMjsKIH0K
IAogZnVuY3Rpb24gY3Vyc29yMkNvbnRpbnVlMigpCkBAIC0xNTQsNyArMTU0LDcgQEAgZnVuY3Rp
b24gY3Vyc29yMkNvbnRpbnVlMigpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3QgcmVxdWVz
dCBvYmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgp
Iik7Ci0gICAgd2luZG93LnJlcXVlc3Qub25zdWNjZXNzID0gbGFzdDsKKyAgICBzZWxmLnJlcXVl
c3Qub25zdWNjZXNzID0gbGFzdDsKIH0KIAogZnVuY3Rpb24gbGFzdCgpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVs
dC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0
LWJ5LWRlZmF1bHQuaHRtbAppbmRleCBjNmJjNjI3OWVkMGM5ZDY2MDgyODE5MzJkNjIzYTQ5YTky
MGMyYjk1Li45NmQzNDc3NDdjNTM1NjY3NGM0MmVkZjhmNWE4MjFmNGQ0NTYzMTdhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnkt
ZGVmYXVsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNh
dXNlcy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gc2V0
VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAgZGVidWcoInNldFZl
cnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09
IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAg
ICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IGFkZERhdGEiKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1h
Ym9ydHMuaHRtbAppbmRleCA4YTIxN2EzN2U2NzA1YWZlMmE3ZWE5MmIwNWE4MGU4MjQ3YTE5MjZm
Li40NzU2NzkzMmJkZTI5ZjhhODQ1MDMxMDBhNGZmMDBmYTUzYjI0YTgyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50
LWFib3J0cy5odG1sCkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVu
Y3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2Vzcygp
OiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0
LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRh
cmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAg
dHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2co
InRyYW5zLm9uY29tcGxldGUgPSBzdGFydFRlc3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dAppbmRleCBlMzgyZjVk
ODVmNjkxMjU2Y2U1OTJhOTg2MjhkYjI2OTZhNmM3YmQzLi42ODZlNWFjYWVjM2E1OWVhMTdkMGMx
YWI5MWUxYWZmMWY1MDAwMmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0CkBAIC0zNTEsMTAgKzM1MSwxMCBAQCBQ
QVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIC9yZWdleC8pCiBQQVNTIEV4Y2VwdGlv
biB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJS
Ci1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgvcmVnZXgvLCB3aW5kb3cp
CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgvcmVnZXgvLCBzZWxmKQog
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2lu
ZG93LCAvcmVnZXgvKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2Vs
ZiwgL3JlZ2V4LykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURC
RGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRl
eGVkREIuY21wKC9yZWdleC8sICd2YWxpZCcpCkBAIC0zNjMsNDYgKzM2Myw0NiBAQCBQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIC9yZWdleC8pCiBQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCh3aW5kb3csICd2YWxpZCcpCitFeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLCAndmFsaWQnKQogUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5E
QVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywg
d2luZG93KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywg
c2VsZikKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJh
c2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIu
Y21wKHdpbmRvdywgd2luZG93LmRvY3VtZW50KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGlu
ZGV4ZWREQi5jbXAoc2VsZiwgc2VsZi5kb2N1bWVudCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJv
d24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGlu
ZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdy5kb2N1bWVudCwgd2luZG93KQor
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwgc2Vs
ZikKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VF
eGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21w
KHdpbmRvdywgJ3ZhbGlkJykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21w
KHNlbGYsICd2YWxpZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlz
IElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
aW5kZXhlZERCLmNtcCgndmFsaWQnLCB3aW5kb3cpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
aW5kZXhlZERCLmNtcCgndmFsaWQnLCBzZWxmKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4K
IFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LCAndmFsaWQnKQorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwgJ3ZhbGlk
JykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VF
eGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21w
KCd2YWxpZCcsIHdpbmRvdy5kb2N1bWVudCkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRl
eGVkREIuY21wKCd2YWxpZCcsIHNlbGYuZG9jdW1lbnQpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCh3aW5kb3cuZG9jdW1lbnQsIHdpbmRvdy5k
b2N1bWVudC5ib2R5KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2Vs
Zi5kb2N1bWVudCwgc2VsZi5kb2N1bWVudC5ib2R5KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93
bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LmJvZHksIHdpbmRv
dy5kb2N1bWVudCkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYu
ZG9jdW1lbnQuYm9keSwgc2VsZi5kb2N1bWVudCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24u
CiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdy5kb2N1bWVudCwgJ3ZhbGlkJykKK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYuZG9jdW1lbnQsICd2YWxp
ZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNt
cCgndmFsaWQnLCB3aW5kb3cuZG9jdW1lbnQpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5k
ZXhlZERCLmNtcCgndmFsaWQnLCBzZWxmLmRvY3VtZW50KQogUEFTUyBFeGNlcHRpb24gd2FzIHRo
cm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LmJvZHksICd2
YWxpZCcpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLmRvY3Vt
ZW50LmJvZHksICd2YWxpZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2Rl
IGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gaW5kZXhlZERCLmNtcCgndmFsaWQnLCB3aW5kb3cuZG9jdW1lbnQuYm9keSkKK0V4cGVjdGlu
ZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIHNlbGYuZG9jdW1lbnQuYm9k
eSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VF
eGNlcHRpb24uREFUQV9FUlIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZmFjdG9yeS1jbXAuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Zh
Y3RvcnktY21wLmh0bWwKaW5kZXggZjlmYmVmNjFlNDM2YTJmOTExNzZmOTQyNzdlNTQ0NmRiMTA2
OTgxMi4uY2Q0YTQ3ZmUwMGRhMjNjZmFjZGE3YmRkNDRmMGZmNWM1OWY1M2M3MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCkBAIC0xMTcsOSAr
MTE3LDkgQEAgZnVuY3Rpb24gdGVzdEludmFsaWRLZXlzKCkKICAgICAgICAgInt9IiwKICAgICAg
ICAgImZ1bmN0aW9uICgpIHt9IiwKICAgICAgICAgIi9yZWdleC8iLAotICAgICAgICAid2luZG93
IiwKLSAgICAgICAgIndpbmRvdy5kb2N1bWVudCIsCi0gICAgICAgICJ3aW5kb3cuZG9jdW1lbnQu
Ym9keSIKKyAgICAgICAgInNlbGYiLAorICAgICAgICAic2VsZi5kb2N1bWVudCIsCisgICAgICAg
ICJzZWxmLmRvY3VtZW50LmJvZHkiCiAgICAgXTsKIAogICAgIHZhciBpLCBrZXkxLCBrZXkyOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVk
YXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0
CmluZGV4IGM5YTVhZGMwMTE0NTE3MmE1YTU2NjM4OTU4YmJmMjcyMmUwZDM5NTAuLjM4NGU0MTAz
ZDI5NjA5YWJiZWUyOTkzYmIxZDk1NTFiMDQ3NmE5MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRl
bGV0ZWRhdGFiYXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTgsNyArOCw3IEBAIFBB
U1MgQm9vbGVhbihpbmRleGVkREIgJiYgSURCQ3Vyc29yICYmIElEQkRhdGFiYXNlICYmIElEQkRh
dGFiYXNlRXJyb3IgJiYgSURCRGF0CiAKIAogVEVTVDogZGVsZXRlRGF0YWJhc2UgYmxvY2tlZCBv
biBvcGVuIGhhbmRsZXMKLXdpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsg
d2luZG93LnN0ZXBzID0gW10KK3NlbGYuZGJuYW1lID0gJ3Rlc3QxJzsgc2VsZi52ZXIgPSAxOyBz
ZWxmLnN0ZXBzID0gW10KICdoLm9wZW4nCiAnaC5vcGVuLm9uc3VjY2VzcycKICdkZWxldGVEYXRh
YmFzZSgpJwpAQCAtMTcsMTAgKzE3LDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5k
b3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tl
ZCcKICdoLmNsb3NlJwogJ2RlbGV0ZURhdGFiYXNlKCkub25zdWNjZXNzJwotUEFTUyB3aW5kb3cu
c3RlcHMudG9TdHJpbmcoKSBpcyAiaC5vcGVuLGgub3Blbi5vbnN1Y2Nlc3MsZGVsZXRlRGF0YWJh
c2UoKSxoLm9udmVyc2lvbmNoYW5nZSxkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxoLmNsb3Nl
LGRlbGV0ZURhdGFiYXNlKCkub25zdWNjZXNzIgorUEFTUyBzZWxmLnN0ZXBzLnRvU3RyaW5nKCkg
aXMgImgub3BlbixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZlcnNpb25j
aGFuZ2UsZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgp
Lm9uc3VjY2VzcyIKIAogVEVTVDogZGVsZXRlRGF0YWJhc2Ugbm90IGJsb2NrZWQgd2hlbiBoYW5k
bGVzIGNsb3NlIGltbWVkaWF0ZWx5Ci13aW5kb3cuZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZl
ciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVy
ID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaC5vcGVuJwogJ2gub3Blbi5vbnN1Y2Nlc3MnCiAnZGVs
ZXRlRGF0YWJhc2UoKScKQEAgLTMwLDEwICszMCwxMCBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3Qy
Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiAnZGVsZXRlRGF0YWJhc2UoKS5v
bmJsb2NrZWQnCiAnZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MnCiBOT1RFOiBXaWxsIEZBSUwg
d2l0aCBleHRyYSBib2d1cyBkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCBzdGVwOyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAKLUZBSUwgd2luZG93LnN0ZXBz
LnRvU3RyaW5nKCkgc2hvdWxkIGJlIGgub3BlbixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFi
YXNlKCksaC5vbnZlcnNpb25jaGFuZ2UsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2Vz
cy4gV2FzIGgub3BlbixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZlcnNp
b25jaGFuZ2UsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxkZWxldGVEYXRhYmFz
ZSgpLm9uc3VjY2Vzcy4KK0ZBSUwgc2VsZi5zdGVwcy50b1N0cmluZygpIHNob3VsZCBiZSBoLm9w
ZW4saC5vcGVuLm9uc3VjY2VzcyxkZWxldGVEYXRhYmFzZSgpLGgub252ZXJzaW9uY2hhbmdlLGgu
Y2xvc2UsZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MuIFdhcyBoLm9wZW4saC5vcGVuLm9uc3Vj
Y2VzcyxkZWxldGVEYXRhYmFzZSgpLGgub252ZXJzaW9uY2hhbmdlLGguY2xvc2UsZGVsZXRlRGF0
YWJhc2UoKS5vbmJsb2NrZWQsZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MuCiAKIFRFU1Q6IGRl
bGV0ZURhdGFiYXNlIGlzIGRlbGF5ZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBp
cyBydW5uaW5nCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRv
dy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5z
dGVwcyA9IFtdCiAnaC5vcGVuJwogJ2gub3Blbi5vbnN1Y2Nlc3MnCiAnaC5zZXRWZXJzaW9uJwpA
QCAtNDUsNyArNDUsNyBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7
IHdpbmRvdy5zdGVwcyA9IFtdCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQnCiAnaC5jbG9z
ZScKICdkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2VzcycKLVBBU1Mgd2luZG93LnN0ZXBzLnRvU3Ry
aW5nKCkgaXMgImgub3BlbixoLm9wZW4ub25zdWNjZXNzLGguc2V0VmVyc2lvbixkZWxldGVEYXRh
YmFzZSgpLGguc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaC5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNv
bXBsZXRlLGgub252ZXJzaW9uY2hhbmdlLGRlbGV0ZURhdGFiYXNlKCkub25ibG9ja2VkLGguY2xv
c2UsZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MiCitQQVNTIHNlbGYuc3RlcHMudG9TdHJpbmco
KSBpcyAiaC5vcGVuLGgub3Blbi5vbnN1Y2Nlc3MsaC5zZXRWZXJzaW9uLGRlbGV0ZURhdGFiYXNl
KCksaC5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxl
dGUsaC5vbnZlcnNpb25jaGFuZ2UsZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQsaC5jbG9zZSxk
ZWxldGVEYXRhYmFzZSgpLm9uc3VjY2VzcyIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25z
Lmh0bWwKaW5kZXggMWMyMWFlZmJjOGMwZTc0ZDJlYTM2MzU0NmJhMzg2MmM4NmEzMWM3ZC4uMzNm
ZDcyZTdhYWMzYWMxMzc2YWMyMDgyY2M3ZTFhZDM4OTM2OWI5MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlv
bnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0
ZWRhdGFiYXNlLWludGVyYWN0aW9ucy5odG1sCkBAIC0xMiw0NCArMTIsNDQgQEAgZGVzY3JpcHRp
b24oIlRlc3QgdGhlIGRlbGV0ZURhdGFiYXNlIGNhbGwgYW5kIGl0cyBpbnRlcmFjdGlvbiB3aXRo
IG9wZW4vc2V0VmVyc2kKIAogZnVuY3Rpb24gQ29ubmVjdGlvbihpZCkgewogICAgIGlkID0gU3Ry
aW5nKGlkKTsKLSAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgdmFyIHRoYXQgPSB0aGlzOwogICAg
IHRoaXMub3BlbiA9IGZ1bmN0aW9uKG9wdHMpIHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJyIgKyBpZCArICIub3BlbiciKSk7Ci0gICAgICAgIHZhciByZXEgPSBpbmRl
eGVkREIub3Blbih3aW5kb3cuZGJuYW1lKTsKKyAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxB
bmRMb2coIiciICsgaWQgKyAiLm9wZW4nIikpOworICAgICAgICB2YXIgcmVxID0gaW5kZXhlZERC
Lm9wZW4oc2VsZi5kYm5hbWUpOwogICAgICAgICByZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwogICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAg
ICAgICAgIHNlbGYuaGFuZGxlID0gZS50YXJnZXQucmVzdWx0OwotICAgICAgICAgICAgd2luZG93
LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIub3Blbi5vbnN1Y2Nlc3MnIikpOwot
ICAgICAgICAgICAgc2VsZi5oYW5kbGUub252ZXJzaW9uY2hhbmdlID0gZnVuY3Rpb24oZSkgewot
ICAgICAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAi
Lm9udmVyc2lvbmNoYW5nZSciKSk7Ci0gICAgICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5v
bnZlcnNpb24pIHsgb3B0cy5vbnZlcnNpb24uY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgdGhh
dC5oYW5kbGUgPSBlLnRhcmdldC5yZXN1bHQ7CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJyIgKyBpZCArICIub3Blbi5vbnN1Y2Nlc3MnIikpOworICAgICAgICAgICAg
dGhhdC5oYW5kbGUub252ZXJzaW9uY2hhbmdlID0gZnVuY3Rpb24oZSkgeworICAgICAgICAgICAg
ICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vbnZlcnNpb25jaGFu
Z2UnIikpOworICAgICAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub252ZXJzaW9uKSB7IG9w
dHMub252ZXJzaW9uLmNhbGwodGhhdCk7IH0KICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBp
ZiAob3B0cyAmJiBvcHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vzcy5jYWxsKHNlbGYpOyB9
CisgICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vz
cy5jYWxsKHRoYXQpOyB9CiAgICAgICAgIH07CiAgICAgfTsKIAogICAgIHRoaXMuY2xvc2UgPSBm
dW5jdGlvbigpIHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBp
ZCArICIuY2xvc2UnIikpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIg
KyBpZCArICIuY2xvc2UnIikpOwogICAgICAgICB0aGlzLmhhbmRsZS5jbG9zZSgpOwogICAgIH07
CiAKICAgICB0aGlzLnNldFZlcnNpb24gPSBmdW5jdGlvbihvcHRzKSB7Ci0gICAgICAgIHdpbmRv
dy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24nIikpOwotICAg
ICAgICB2YXIgcmVxID0gdGhpcy5oYW5kbGUuc2V0VmVyc2lvbihTdHJpbmcod2luZG93LnZlcisr
KSk7CisgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRW
ZXJzaW9uJyIpKTsKKyAgICAgICAgdmFyIHJlcSA9IHRoaXMuaGFuZGxlLnNldFZlcnNpb24oU3Ry
aW5nKHNlbGYudmVyKyspKTsKICAgICAgICAgcmVxLm9uYWJvcnQgPSBmdW5jdGlvbiAoZSkgewot
ICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0
VmVyc2lvbi5vbmFib3J0JyIpKTsKLSAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25hYm9y
dCkgeyBvcHRzLm9uYWJvcnQuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgc2VsZi5zdGVwcy5w
dXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25hYm9ydCciKSk7CisgICAg
ICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uYWJvcnQpIHsgb3B0cy5vbmFib3J0LmNhbGwodGhh
dCk7IH0KICAgICAgICAgfTsKICAgICAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uIChlKSB7
Ci0gICAgICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5z
ZXRWZXJzaW9uLm9uYmxvY2tlZCciKSk7Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9u
YmxvY2tlZCkgeyBvcHRzLm9uYmxvY2tlZC5jYWxsKHNlbGYpOyB9CisgICAgICAgICAgICBzZWxm
LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmJsb2NrZWQn
IikpOworICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmJsb2NrZWQpIHsgb3B0cy5vbmJs
b2NrZWQuY2FsbCh0aGF0KTsgfQogICAgICAgICB9OwogICAgICAgICByZXEub25zdWNjZXNzID0g
ZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2co
IiciICsgaWQgKyAiLnNldFZlcnNpb24ub25zdWNjZXNzJyIpKTsKLSAgICAgICAgICAgIGlmIChz
ZWxmLmhhbmRsZS5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJ0ZXN0LXN0b3JlIiArIHdpbmRv
dy52ZXIpKSB7Ci0gICAgICAgICAgICAgICAgc2VsZi5oYW5kbGUuZGVsZXRlT2JqZWN0U3RvcmUo
InRlc3Qtc3RvcmUiICsgd2luZG93LnZlcik7CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MnIikpOworICAgICAg
ICAgICAgaWYgKHRoYXQuaGFuZGxlLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInRlc3Qtc3Rv
cmUiICsgc2VsZi52ZXIpKSB7CisgICAgICAgICAgICAgICAgdGhhdC5oYW5kbGUuZGVsZXRlT2Jq
ZWN0U3RvcmUoInRlc3Qtc3RvcmUiICsgc2VsZi52ZXIpOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgdmFyIHN0b3JlID0gc2VsZi5oYW5kbGUuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3Qtc3Rv
cmUiICsgd2luZG93LnZlcik7CisgICAgICAgICAgICB2YXIgc3RvcmUgPSB0aGF0LmhhbmRsZS5j
cmVhdGVPYmplY3RTdG9yZSgidGVzdC1zdG9yZSIgKyBzZWxmLnZlcik7CiAgICAgICAgICAgICB2
YXIgY291bnQgPSAwOwogICAgICAgICAgICAgZG9fYXN5bmNfcHV0cygpOyAvLyBLZWVwIHRoaXMg
dHJhbnNhY3Rpb24gcnVubmluZyBmb3IgYSB3aGlsZQogICAgICAgICAgICAgZnVuY3Rpb24gZG9f
YXN5bmNfcHV0cygpIHsKQEAgLTU5LDMyICs1OSwzMiBAQCBmdW5jdGlvbiBDb25uZWN0aW9uKGlk
KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICgrK2NvdW50IDwgMTApIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvX2FzeW5jX3B1dHMoKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2co
IiciICsgaWQgKyAiLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUnIikpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0cy5vbnN1
Y2Nlc3MuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGVwcy5w
dXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxl
dGUnIikpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nl
c3MpIHsgb3B0cy5vbnN1Y2Nlc3MuY2FsbCh0aGF0KTsgfQogICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICAgICAgICAg
cmVxLm9uZXJyb3IgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1
c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmVycm9yJyIpKTsKLSAgICAg
ICAgICAgIGlmIChvcHRzICYmIG9wdHMub25lcnJvcikgeyBvcHRzLm9uZXJyb3IuY2FsbChzZWxm
KTsgfQorICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAi
LnNldFZlcnNpb24ub25lcnJvciciKSk7CisgICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9u
ZXJyb3IpIHsgb3B0cy5vbmVycm9yLmNhbGwodGhhdCk7IH0KICAgICAgICAgfTsKICAgICB9Owog
fQogCiBmdW5jdGlvbiBkZWxldGVEYXRhYmFzZShpZCwgbmFtZSwgb3B0cykgewotICAgIHdpbmRv
dy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAiKSciKSk7
CisgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQg
KyAiKSciKSk7CiAgICAgdmFyIHJlcSA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShuYW1lKTsK
ICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgd2luZG93LnN0ZXBz
LnB1c2goZXZhbEFuZExvZygiJ2RlbGV0ZURhdGFiYXNlKCIgKyBpZCArICIpLm9uc3VjY2Vzcyci
KSk7CisgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVsZXRlRGF0YWJhc2Uo
IiArIGlkICsgIikub25zdWNjZXNzJyIpKTsKICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1
Y2Nlc3MpIHsgb3B0cy5vbnN1Y2Nlc3MuY2FsbChudWxsKTsgfQogICAgIH07CiAgICAgcmVxLm9u
ZXJyb3IgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5k
TG9nKCInZGVsZXRlRGF0YWJhc2UoIiArIGlkICsgIikub25lcnJvciciKSk7CisgICAgICAgIHNl
bGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVsZXRlRGF0YWJhc2UoIiArIGlkICsgIikub25l
cnJvciciKSk7CiAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25lcnJvcikgeyBvcHRzLm9uZXJy
b3IuY2FsbChudWxsKTsgfQogICAgIH07CiAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uIChl
KSB7Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFz
ZSgiICsgaWQgKyAiKS5vbmJsb2NrZWQnIikpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZh
bEFuZExvZygiJ2RlbGV0ZURhdGFiYXNlKCIgKyBpZCArICIpLm9uYmxvY2tlZCciKSk7CiAgICAg
ICAgIGlmIChvcHRzICYmIG9wdHMub25ibG9ja2VkKSB7IG9wdHMub25ibG9ja2VkLmNhbGwobnVs
bCk7IH0KICAgICB9OwogfQpAQCAtMTA1LDE4ICsxMDUsMTggQEAgZnVuY3Rpb24gdGVzdCgpIHsK
IGZ1bmN0aW9uIHRlc3QxKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVEVTVDogZGVs
ZXRlRGF0YWJhc2UgYmxvY2tlZCBvbiBvcGVuIGhhbmRsZXMiKTsKLSAgICBldmFsQW5kTG9nKCJ3
aW5kb3cuZGJuYW1lID0gJ3Rlc3QxJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtd
Iik7CisgICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDEnOyBzZWxmLnZlciA9IDE7
IHNlbGYuc3RlcHMgPSBbXSIpOwogICAgIHZhciBoID0gbmV3IENvbm5lY3Rpb24oImgiKTsKICAg
ICBydW5TdGVwcyhbZnVuY3Rpb24oZG9OZXh0KSB7IGgub3Blbih7b25zdWNjZXNzOiBkb05leHQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9udmVyc2lvbjogZnVuY3Rpb24oKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiICAgIGggY2xvc2lu
ZywgYnV0IG5vdCBpbW1lZGlhdGVseSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgaC5jbG9zZSgpOyB9LCAwKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfX0pOyB9LAotICAgICAgICBmdW5jdGlvbihkb05leHQp
IHsgZGVsZXRlRGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsIHsKKyAgICAgICAgZnVuY3Rpb24o
ZG9OZXh0KSB7IGRlbGV0ZURhdGFiYXNlKCIiLCBzZWxmLmRibmFtZSwgewogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb25zdWNjZXNzOiBmaW5pc2hUZXN0fSk7IH0sCiAgICAgICAgIF0pOwog
ICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygid2luZG93LnN0ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInNlbGYuc3RlcHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbImgub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgub3Blbi5vbnN1
Y2Nlc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWxldGVEYXRhYmFzZSgp
IiwKQEAgLTEzMiwxOSArMTMyLDE5IEBAIGZ1bmN0aW9uIHRlc3QxKCkgewogZnVuY3Rpb24gdGVz
dDIoKSB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJURVNUOiBkZWxldGVEYXRhYmFzZSBu
b3QgYmxvY2tlZCB3aGVuIGhhbmRsZXMgY2xvc2UgaW1tZWRpYXRlbHkiKTsKLSAgICBldmFsQW5k
TG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVw
cyA9IFtdIik7CisgICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDInOyBzZWxmLnZl
ciA9IDE7IHNlbGYuc3RlcHMgPSBbXSIpOwogICAgIHZhciBoID0gbmV3IENvbm5lY3Rpb24oImgi
KTsKICAgICBydW5TdGVwcyhbZnVuY3Rpb24oZG9OZXh0KSB7IGgub3Blbih7b25zdWNjZXNzOiBk
b05leHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbnZlcnNp
b246IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRlYnVnKCIgICAgaCBjbG9zaW5nIGltbWVkaWF0ZWx5Iik7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaC5jbG9zZSgpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0pOyB9LAotICAgICAgICBmdW5jdGlvbihk
b05leHQpIHsgZGVsZXRlRGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsIHsKKyAgICAgICAgZnVu
Y3Rpb24oZG9OZXh0KSB7IGRlbGV0ZURhdGFiYXNlKCIiLCBzZWxmLmRibmFtZSwgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb25zdWNjZXNzOiBmaW5pc2hUZXN0fSk7IH0sCiAgICAgICAg
IF0pOwogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CiAgICAgICAgIGRlYnVnKCJOT1RFOiBX
aWxsIEZBSUwgd2l0aCBleHRyYSBib2d1cyBkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCBzdGVw
OyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAiKTsKLSAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFsiaC5vcGVuIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaC5vcGVuLm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImRlbGV0ZURhdGFiYXNlKCkiLApAQCAtMTU5LDcgKzE1OSw3IEBAIGZ1bmN0aW9uIHRl
c3QyKCkgewogZnVuY3Rpb24gdGVzdDMoKSB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJU
RVNUOiBkZWxldGVEYXRhYmFzZSBpcyBkZWxheWVkIGlmIGEgVkVSU0lPTl9DSEFOR0UgdHJhbnNh
Y3Rpb24gaXMgcnVubmluZyIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAndGVz
dDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5kTG9n
KCJzZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7
CiAgICAgdmFyIGggPSBuZXcgQ29ubmVjdGlvbigiaCIpOwogICAgIHJ1blN0ZXBzKFtmdW5jdGlv
bihkb05leHQpIHsgaC5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb252ZXJzaW9uOiBmdW5jdGlvbigpIHsKQEAgLTE2NywxMiArMTY3LDEy
IEBAIGZ1bmN0aW9uIHRlc3QzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgaC5jbG9zZSgpOyB9LCAwKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfX0pOyB9LAogICAgICAgICAgICAgICBmdW5jdGlvbihkb05l
eHQpIHsgaC5zZXRWZXJzaW9uKCk7IGRvTmV4dCgpOyB9LAotICAgICAgICAgICAgICBmdW5jdGlv
bihkb05leHQpIHsgZGVsZXRlRGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsCisgICAgICAgICAg
ICAgIGZ1bmN0aW9uKGRvTmV4dCkgeyBkZWxldGVEYXRhYmFzZSgiIiwgc2VsZi5kYm5hbWUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvbnN1Y2Nlc3M6IGZpbmlzaFRlc3R9KTsg
fSwKICAgICAgICAgICAgICAgXSk7CiAKICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5zdGVwcy50b1N0cmluZygpIiwKKyAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0ZXBzLnRvU3RyaW5nKCkiLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJoLm9wZW4iLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJoLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaC5zZXRWZXJzaW9uIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbAppbmRleCA0N2I2YTllMzUz
MjliNjg1Yzg3ZmM5OWVmZDkxNjMwYjM4YTU0OWM0Li5mMmFmNGVmZmZlMGNiNzgyMzlmZGU1YjYy
MWRlNTFhMTRmNGVmMDE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS5odG1sCkBAIC0yOSwxMiArMjksMTIgQEAg
ZnVuY3Rpb24gc3RhcnRTZXRWZXJzaW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQog
ewotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAKICAgICBz
dG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScsIG51bGwpIik7CiAKLSAgICB3aW5kb3cuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVh
dGVJbmRleCgnaW5kZXhOYW1lJywgJycpIik7CisgICAgc2VsZi5pbmRleCA9IGV2YWxBbmRMb2co
InN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAnJykiKTsKICAgICBzaG91bGRCZVRydWUo
InN0b3JlLmluZGV4TmFtZXMuY29udGFpbnMoJ2luZGV4TmFtZScpIik7CiAKICAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygic3RvcmUuYWRkKCd2YWx1ZScsICdrZXknKSIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY291bnQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWNvdW50Lmh0bWwKaW5kZXggOTM4YjczOTg4MDU0
ZmNiNDNhOTZkZjU5NDQ0NjczYzAxMmMwMDNiZi4uMzIxMWVjNmE5YTQzNTJlYzJlMDc0ZjE5Y2Vl
ZTRlYTRhZWYwNmIzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW5kZXgtY291bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC1jb3VudC5odG1sCkBAIC0yNywxNCArMjcsMTQgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNl
KCkKIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoInByZXBhcmluZyBkYXRhYmFzZSIpOwot
ICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAKICAgICBkZWxl
dGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOwogCi0gICAgd2luZG93
LmluZGV4ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICcnKSIp
OworICAgIHNlbGYuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhO
YW1lJywgJycpIik7CiAgICAgc2hvdWxkQmVUcnVlKCJzdG9yZS5pbmRleE5hbWVzLmNvbnRhaW5z
KCdpbmRleE5hbWUnKSIpOwogCiAgICAgZGVidWcoImFkZGluZyAwIC4uLiA5OSIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY3Vyc29yLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jdXJzb3IuaHRtbAppbmRleCBmMWQw
MzZlM2Q5MGNjYTFhZDgxNzQ5MjA1Njg1YmEwMGQ4ZWQ4MjdhLi4zZjIwN2ZmOGQxMTJkMmUwMzky
MTYwZDMyM2ZkNzRjZTIxODIyYjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC1jdXJzb3IuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oIlRl
c3QgSW5kZXhlZERCJ3Mgd2Via2l0SURCSW5kZXgub3BlbkN1cnNvciArIHRoZSBjdXJzb3IgaXQg
cHJvZHVjZXMgaW4gZGVwdGguIik7CiAgCiAvLyBJbiBvcmRlciBvZiBob3cgaXQgc2hvdWxkIGJl
IHNvcnRlZCBieSBJbmRleGVkREIuCi13aW5kb3cudGVzdERhdGEgPSBbCitzZWxmLnRlc3REYXRh
ID0gWwogICAgIDEsCiAgICAgMSwKICAgICAzLjE0MTU5LApAQCAtMzIsNyArMzIsNyBAQCBmdW5j
dGlvbiBvcGVuRGF0YWJhc2UoKQogIAogZnVuY3Rpb24gc2V0VmVyc2lvbigpCiB7Ci0gICAgd2lu
ZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2Vs
Zi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgcmVz
dWx0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJl
c3VsdC5vbnN1Y2Nlc3MgPSBkZWxldGVFeGlzdGluZzsKQEAgLTQxLDI5ICs0MSwyOSBAQCBmdW5j
dGlvbiBzZXRWZXJzaW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdp
bmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwor
ICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9y
dCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogCiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVz
KGRiKTsKIAotICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOwotICAgIHdpbmRvdy5pbmRleE9iamVjdCA9
IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7
Ci0gICAgd2luZG93Lm5leHRUb0FkZCA9IDA7CisgICAgc2VsZi5vYmplY3RTdG9yZSA9IGV2YWxB
bmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOworICAgIHNl
bGYuaW5kZXhPYmplY3QgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnc29t
ZUluZGV4JywgJ3gnKSIpOworICAgIHNlbGYubmV4dFRvQWRkID0gMDsKICAgICBhZGREYXRhKCk7
CiB9CiAKIGZ1bmN0aW9uIGFkZERhdGEoKQogewogICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIm9i
amVjdFN0b3JlLmFkZCh7J3gnOiB0ZXN0RGF0YVtuZXh0VG9BZGRdfSwgbmV4dFRvQWRkKSIpOwot
ICAgIHJlc3VsdC5vbnN1Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5n
dGggPyBhZGREYXRhIDogc2NoZWR1bGVUZXN0czsKKyAgICByZXN1bHQub25zdWNjZXNzID0gKytz
ZWxmLm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVsZVRlc3Rz
OwogICAgIHJlc3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKIGZ1
bmN0aW9uIHNjaGVkdWxlVGVzdHMoKQogewogICAgIGRlYnVnKCJTY2hlZHVsaW5nIHRlc3RzLi4u
Iik7Ci0gICAgd2luZG93LnNjaGVkdWxlZFRlc3RzID0gW107CisgICAgc2VsZi5zY2hlZHVsZWRU
ZXN0cyA9IFtdOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdERhdGEubGVuZ3RoOyArK2kp
IHsKICAgICAgICAgLyogbGVmdCBib3VuZCwgaXMgb3BlbiwgcmlnaHQgYm91bmQsIGlzIG9wZW4s
IGFzY2VuZGluZyAqLwogICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCB0cnVlLCBu
dWxsLCBudWxsLCB0cnVlXSk7CkBAIC05OCwxMSArOTgsMTEgQEAgZnVuY3Rpb24gcnVuTmV4dFRl
c3QoKQogICAgIH0KICAKICAgICB2YXIgdGVzdCA9IHNjaGVkdWxlZFRlc3RzLnBvcCgpOwotICAg
IHdpbmRvdy5sb3dlciA9IHRlc3RbMF07Ci0gICAgd2luZG93Lmxvd2VySXNPcGVuID0gdGVzdFsx
XTsKLSAgICB3aW5kb3cudXBwZXIgPSB0ZXN0WzJdOwotICAgIHdpbmRvdy51cHBlcklzT3BlbiA9
IHRlc3RbM107Ci0gICAgd2luZG93LmFzY2VuZGluZyA9IHRlc3RbNF07CisgICAgc2VsZi5sb3dl
ciA9IHRlc3RbMF07CisgICAgc2VsZi5sb3dlcklzT3BlbiA9IHRlc3RbMV07CisgICAgc2VsZi51
cHBlciA9IHRlc3RbMl07CisgICAgc2VsZi51cHBlcklzT3BlbiA9IHRlc3RbM107CisgICAgc2Vs
Zi5hc2NlbmRpbmcgPSB0ZXN0WzRdOwogCiAgICAgc3RyID0gIk5leHQgdGVzdDogIjsKICAgICBp
ZiAobG93ZXIgIT09IG51bGwpIHsKQEAgLTEyOSwzOCArMTI5LDM4IEBAIGZ1bmN0aW9uIHJ1bk5l
eHRUZXN0KCkKICAgICBpZiAodXBwZXIgIT09IG51bGwpIHsKICAgICAgICAgaWYgKHVwcGVySXNP
cGVuKSB7CiAgICAgICAgICAgICB3aGlsZSAodXBwZXIgPiAwICYmIHRlc3REYXRhW3VwcGVyXSA9
PT0gdGVzdERhdGFbdXBwZXIgLSAxXSkKLSAgICAgICAgICAgICAgICAtLXdpbmRvdy51cHBlcjsK
KyAgICAgICAgICAgICAgICAtLXNlbGYudXBwZXI7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICB3aGlsZSAodXBwZXIgPCB0ZXN0RGF0YS5sZW5ndGggLSAxICYmIHRlc3REYXRhW3VwcGVy
XSA9PT0gdGVzdERhdGFbdXBwZXIgKyAxXSkKLSAgICAgICAgICAgICAgICArK3dpbmRvdy51cHBl
cjsKKyAgICAgICAgICAgICAgICArK3NlbGYudXBwZXI7CiAgICAgICAgIH0KICAgICB9CiAgICAg
aWYgKGxvd2VyICE9PSBudWxsKSB7CiAgICAgICAgIGlmIChsb3dlcklzT3BlbikgewogICAgICAg
ICAgICAgd2hpbGUgKGxvd2VyIDwgdGVzdERhdGEubGVuZ3RoIC0gMSAmJiB0ZXN0RGF0YVtsb3dl
cl0gPT09IHRlc3REYXRhW2xvd2VyICsgMV0pCi0gICAgICAgICAgICAgICAgKyt3aW5kb3cubG93
ZXI7CisgICAgICAgICAgICAgICAgKytzZWxmLmxvd2VyOwogICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgd2hpbGUgKGxvd2VyID4gMCAmJiB0ZXN0RGF0YVtsb3dlcl0gPT09IHRlc3REYXRh
W2xvd2VyIC0gMV0pCi0gICAgICAgICAgICAgICAgLS13aW5kb3cubG93ZXI7CisgICAgICAgICAg
ICAgICAgLS1zZWxmLmxvd2VyOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKGFzY2VuZGlu
ZykgewogICAgICAgICBpZiAobG93ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghbG93
ZXJJc09wZW4pCi0gICAgICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsK
KyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyICsgMTsK
KyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlciArIDE7CiAgICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSAwOworICAgICAgICAg
ICAgc2VsZi5leHBlY3RlZEluZGV4ID0gMDsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAodXBw
ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghdXBwZXJJc09wZW4pCi0gICAgICAgICAg
ICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKKyAgICAgICAgICAgICAgICBzZWxm
LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IHVwcGVyIC0gMTsKKyAgICAgICAgICAgICAgICBzZWxm
LmV4cGVjdGVkSW5kZXggPSB1cHBlciAtIDE7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAg
d2luZG93LmV4cGVjdGVkSW5kZXggPSB0ZXN0RGF0YS5sZW5ndGggLSAxOworICAgICAgICAgICAg
c2VsZi5leHBlY3RlZEluZGV4ID0gdGVzdERhdGEubGVuZ3RoIC0gMTsKICAgICB9CiAgICAgdGVz
dFdpdGhpbkJvdW5kcygpOwogIApAQCAtMTg2LDE1ICsxODYsMTUgQEAgZnVuY3Rpb24gcnVuTmV4
dFRlc3QoKQogZnVuY3Rpb24gdGVzdFdpdGhpbkJvdW5kcygpCiB7CiAgICAgaWYgKGV4cGVjdGVk
SW5kZXggPCAwIHx8IHRlc3REYXRhLmxlbmd0aCA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3
aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9
IG51bGw7CiAgICAgaWYgKGxvd2VyICE9PSBudWxsICYmIGV4cGVjdGVkSW5kZXggPCBsb3dlcikK
LSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVj
dGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlciA8IGV4cGVj
dGVkSW5kZXgpCi0gICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gbnVsbDsKKyAgICAgICAg
c2VsZi5leHBlY3RlZEluZGV4ID0gbnVsbDsKICAgICBpZiAobG93ZXIgIT09IG51bGwgJiYgbG93
ZXJJc09wZW4gJiYgZXhwZWN0ZWRJbmRleCA8PSBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVj
dGVkSW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAg
IGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlcklzT3BlbiAmJiB1cHBlciA8PSBleHBlY3RlZElu
ZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYu
ZXhwZWN0ZWRJbmRleCA9IG51bGw7CiB9CiAgCiBmdW5jdGlvbiBjdXJzb3JJdGVyYXRpb24oKQpA
QCAtMjEyLDMxICsyMTIsMzEgQEAgZnVuY3Rpb24gY3Vyc29ySXRlcmF0aW9uKCkKICAKICAgICBz
aG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgImV4cGVjdGVkSW5kZXgi
KTsKICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkiLCAidGVzdERhdGFbIiAr
IGV4cGVjdGVkSW5kZXggKyAiXSIpOwotICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gYXNjZW5k
aW5nID8gZXhwZWN0ZWRJbmRleCArIDEgOiBleHBlY3RlZEluZGV4IC0gMTsKKyAgICBzZWxmLmV4
cGVjdGVkSW5kZXggPSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4ICsgMSA6IGV4cGVjdGVkSW5k
ZXggLSAxOwogICAgIHRlc3RXaXRoaW5Cb3VuZHMoKTsKIAogICAgIGV2ZW50LnRhcmdldC5yZXN1
bHQuY29udGludWUoKTsKIH0KICAKLXdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID0gMDsKK3NlbGYu
bnVsbEtleVJhbmdlU3RlcCA9IDA7CiBmdW5jdGlvbiB0ZXN0TnVsbEtleVJhbmdlKCkKIHsKLSAg
ICB3aW5kb3cubG93ZXIgPSAwOwotICAgIHdpbmRvdy5sb3dlcklzT3BlbiA9IGZhbHNlOwotICAg
IHdpbmRvdy51cHBlciA9IHRlc3REYXRhLmxlbmd0aC0xOwotICAgIHdpbmRvdy51cHBlcklzT3Bl
biA9IGZhbHNlOworICAgIHNlbGYubG93ZXIgPSAwOworICAgIHNlbGYubG93ZXJJc09wZW4gPSBm
YWxzZTsKKyAgICBzZWxmLnVwcGVyID0gdGVzdERhdGEubGVuZ3RoLTE7CisgICAgc2VsZi51cHBl
cklzT3BlbiA9IGZhbHNlOwogCiAgICAgc3RyID0gIk5leHQgdGVzdDogbnVsbCBrZXkgcGF0aCAi
OwotICAgIGlmICh3aW5kb3cubnVsbEtleVJhbmdlU3RlcCA9PSAwKSB7CisgICAgaWYgKHNlbGYu
bnVsbEtleVJhbmdlU3RlcCA9PSAwKSB7CiAgICAgICAgIHN0ciArPSAic29ydGVkIGFzY2VuZGlu
Zy4iOwotICAgICAgICB3aW5kb3cuYXNjZW5kaW5nID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmV4
cGVjdGVkSW5kZXggPSBsb3dlcjsKLSAgICAgICAgd2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPSAx
OwotICAgIH0gZWxzZSBpZiAod2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPT0gMSkgeworICAgICAg
ICBzZWxmLmFzY2VuZGluZyA9IHRydWU7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IGxv
d2VyOworICAgICAgICBzZWxmLm51bGxLZXlSYW5nZVN0ZXAgPSAxOworICAgIH0gZWxzZSBpZiAo
c2VsZi5udWxsS2V5UmFuZ2VTdGVwID09IDEpIHsKICAgICAgICAgc3RyICs9ICJzb3J0ZWQgZGVz
Y2VuZGluZy4iOwotICAgICAgICB3aW5kb3cuYXNjZW5kaW5nID0gZmFsc2U7Ci0gICAgICAgIHdp
bmRvdy5leHBlY3RlZEluZGV4ID0gdXBwZXI7Ci0gICAgICAgIHdpbmRvdy5udWxsS2V5UmFuZ2VT
dGVwID0gMjsKKyAgICAgICAgc2VsZi5hc2NlbmRpbmcgPSBmYWxzZTsKKyAgICAgICAgc2VsZi5l
eHBlY3RlZEluZGV4ID0gdXBwZXI7CisgICAgICAgIHNlbGYubnVsbEtleVJhbmdlU3RlcCA9IDI7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWdldC1rZXkt
YXJndW1lbnQtcmVxdWlyZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2lu
ZGV4LWdldC1rZXktYXJndW1lbnQtcmVxdWlyZWQuaHRtbAppbmRleCAyZTI2YTFjNTBkNzYzZDE3
YWViYzBjZjI5ZWIwZDgyNWUyYmIzZjQyLi4wMTllZGMyMTFiMWU1Yzg3ZWZlOGU0MmYzOWQyMDgw
NGI3MDllZDU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC1nZXQta2V5LWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW5kZXgtZ2V0LWtleS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBAIC0xNSw3
ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7
CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxm
LmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2Ui
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlw
dGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi5odG1sCmluZGV4
IGQ3OGQ4YTBjNWI2MzgzY2Q4NzdkZTBiYTMyMGU4NmQyMDU3N2RlM2EuLjQ0MDAxMWY4NTZlNmVm
YTdmY2Q4YTA2Mjc5Zjk4MzVjOGUxZjRiNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9uLmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgZnVu
Y3Rpb24gZG9TZXRWZXJzaW9uMSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJkb1Nl
dFZlcnNpb24xKCk6Iik7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0
VmVyc2lvbigndmVyc2lvbiAxJykiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNp
b24xOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbAppbmRleCBh
M2QyODAzNTZiZGIzYmRkOWU5ODBiODY2MmE5MjkwMGRmYmI1YTA4Li4xMTQxMzIxMjE2MzZlODQ4
YjU0Mjg1NWYzMmNhMmM5ZjRiNDVmZWFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbApAQCAtMzcsOCArMzcsOCBAQCBmdW5jdGlvbiBkZWxl
dGVFeGlzdGluZygpCiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2lu
ZG93LnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsK
LSAgICB3aW5kb3cuaW5kZXhPYmplY3QgPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgn
aW5kZXgnLCAneCcsIHt1bmlxdWU6IHRydWV9KSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5k
TG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhPYmpl
Y3QgPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAneCcsIHt1bmlxdWU6
IHRydWV9KSIpOwogCiAgICAgLy8gTGV0IHNldFZlcnNpb24gdHJhbnNhY3Rpb24gY29tcGxldGUu
CiB9CkBAIC00Niw3ICs0Niw3IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIGZ1bmN0aW9u
IHNldFZlcnNpb25Db21wbGV0ZWQoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVk
KCk6Iik7Ci0gICAgd2luZG93LnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7
CisgICAgc2VsZi50cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJh
bnNhY3Rpb24oWydzdG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogCiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpLnB1
dCh7eDogMX0sICdmb28nKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52
YWxpZC1rZXlzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2lu
dmFsaWQta2V5cy1leHBlY3RlZC50eHQKaW5kZXggMzU4YzY3OTg1ZDhlMzhlZDQ2NTEyNzdhMzM3
ZmFhNTUzNDNkMTY2My4uNTUwYTAwNTI2ZTJhMWQ2MzBiYWEwNjdiMWFkZGNiMzExMzNhOTU5MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtl
eXMtZXhwZWN0ZWQudHh0CkBAIC01MCwxMyArNTAsMTMgQEAgUEFTUyBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9
IG9iamVjdFN0b3JlLnB1dCgndmFsdWUnLCAvcmVnZXgvKQogUEFTUyBFeGNlcHRpb24gd2FzIHRo
cm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5wdXQoJ3ZhbHVlJywgd2lu
ZG93KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5wdXQo
J3ZhbHVlJywgc2VsZikKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBy
ZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1ZScsIHdpbmRvdy5kb2N1bWVudCkKK0V4cGVj
dGluZyBleGNlcHRpb24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1ZScsIHNl
bGYuZG9jdW1lbnQpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElE
QkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gcmVx
dWVzdCA9IG9iamVjdFN0b3JlLnB1dCgndmFsdWUnLCB3aW5kb3cuZG9jdW1lbnQuYm9keSkKK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1ZScs
IHNlbGYuZG9jdW1lbnQuYm9keSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2lu
dmFsaWQta2V5cy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1r
ZXlzLmh0bWwKaW5kZXggNDIyMzg5YTcwZjI0ZGJlNGFjMjFiNDBlNWYyMzgxNDY2ZTIwOThjZS4u
OGUyMDBiMDU2Y2U1M2Y0ZjIzNjgwNTdmODBjOGIzZDZiMTkxZmZiMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKQEAgLTE1LDcgKzE1LDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAg
IG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CkBAIC01NSw5ICs1NSw5IEBA
IGZ1bmN0aW9uIHRlc3RJbnZhbGlkS2V5cygpCiAgICAgICAgICJuZXcgRGF0ZShOYU4pIiwgLy8g
RGF0ZSAoc3BlY2lhbCBjYXNlKQogICAgICAgICAie30iLCAvLyBPYmplY3QKICAgICAgICAgIi9y
ZWdleC8iLCAvLyBSZWdFeHAKLSAgICAgICAgIndpbmRvdyIsIC8vIGdsb2JhbAotICAgICAgICAi
d2luZG93LmRvY3VtZW50IiwgLy8gSFRNTERvY3VtZW50Ci0gICAgICAgICJ3aW5kb3cuZG9jdW1l
bnQuYm9keSIgLy8gSFRNTEJvZHlFbGVtZW50CisgICAgICAgICJzZWxmIiwgLy8gZ2xvYmFsCisg
ICAgICAgICJzZWxmLmRvY3VtZW50IiwgLy8gSFRNTERvY3VtZW50CisgICAgICAgICJzZWxmLmRv
Y3VtZW50LmJvZHkiIC8vIEhUTUxCb2R5RWxlbWVudAogICAgIF07CiAKICAgICBpbnZhbGlkS2V5
cy5mb3JFYWNoKGZ1bmN0aW9uKGtleSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5LWdlbmVyYXRvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIva2V5LWdlbmVyYXRvci5odG1sCmluZGV4IDQ5YWI2MmM4ZTMyOGFhZGVhOTc4MDg5YmQ3
YzgzZjJmMDAxNTU2NjEuLjY5YjI2MTQyNDExYmQ2NTYxNGUxODdmYmQ5ZDdhYjEzN2FjMjg4ZTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0b3Iu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9yLmh0
bWwKQEAgLTc2LDExICs3NiwxMSBAQCBmdW5jdGlvbiBydW5UZXN0cygpIHsKIH0KIAogZnVuY3Rp
b24gY2hlY2soc3RvcmUsIGtleSwgZXhwZWN0ZWQpIHsKLSAgICB3aW5kb3cuc3RvcmUgPSBzdG9y
ZTsKKyAgICBzZWxmLnN0b3JlID0gc3RvcmU7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJl
cXVlc3QgPSBzdG9yZS5nZXQoIiArIEpTT04uc3RyaW5naWZ5KGtleSkgKyAiKSIpOwogICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25z
dWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkID0gZXhwZWN0
ZWQ7CisgICAgICAgIHNlbGYuZXhwZWN0ZWQgPSBleHBlY3RlZDsKICAgICAgICAgaWYgKEpTT04u
c3RyaW5naWZ5KGV2ZW50LnRhcmdldC5yZXN1bHQpID09PSBKU09OLnN0cmluZ2lmeShleHBlY3Rl
ZCkpIHsKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkdvdCAiICsgSlNPTi5zdHJpbmdpZnkoZXZl
bnQudGFyZ2V0LnJlc3VsdCkgKyAiIGZvciBrZXk6ICIgKyBKU09OLnN0cmluZ2lmeShrZXkpKTsK
ICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2tleS1zb3J0LW9yZGVyLWFjcm9zcy10eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKaW5kZXggMzg1MTNj
MjMwMjAzZWU4ZGZkYTdjZWNjOWQ2MTczNjVhZTc3MzBmOS4uMjQ2NmE1YzVlNTI1YjYyM2VjZTNk
ZDk2MDk4YzI1Y2FmYTM5Y2UzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKQEAgLTE1
LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMo
KTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNl
bGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFz
ZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2Ny
aXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0
bWwKaW5kZXggYWM3YjM2YTUwMDNiOWYxODlmZjI4NDIxNDYxMTlkN2I0ZmViOWI0ZC4uZDZkZWNm
M2QwNTE2ZThkM2Y2YmJlNWE1ZGRkNDc1NDQwNGI0NzMzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItZGF0ZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWRhdGUuaHRtbApAQCAtMTUs
NyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygp
OwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2Vs
Zi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNl
IjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3Jp
cHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVj
dGVkLnR4dAppbmRleCA0NTNkNTkwY2ZkZjllOWUxYzYxMGM1NTk3MjcxNTg4NzUxMzYxMjRmLi41
OTY5MDRhYmU2NDAwM2YxZDczZWIxMmM5OWZlMzM2NzEzYWRhNzFjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQu
dHh0CkBAIC02LDkgKzYsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogaW5kZXhlZERCID0g
c2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVk
REIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiBQQVNTIEJvb2xlYW4o
aW5kZXhlZERCICYmIElEQkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9y
ICYmIElEQkRhdGFiYXNlRXhjZXB0aW9uICYmIElEQkZhY3RvcnkgJiYgSURCSW5kZXggJiYgSURC
S2V5UmFuZ2UgJiYgSURCT2JqZWN0U3RvcmUgJiYgSURCUmVxdWVzdCAmJiBJREJUcmFuc2FjdGlv
bikgaXMgdHJ1ZQogCi1JREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3
aW5kb3cuSURCVHJhbnNhY3Rpb247CitJREJUcmFuc2FjdGlvbiA9IHNlbGYuSURCVHJhbnNhY3Rp
b24gfHwgc2VsZi5JREJUcmFuc2FjdGlvbjsKIFBBU1MgSURCVHJhbnNhY3Rpb24gPT0gbnVsbCBp
cyBmYWxzZQotSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRp
b24gfHwgd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uOworSURCRGF0YWJhc2VFeGNlcHRpb24g
PSBzZWxmLklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHNlbGYuSURCRGF0YWJhc2VFeGNlcHRpb247
CiBQQVNTIElEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwgaXMgZmFsc2UKIGluZGV4ZWREQi5v
cGVuKG5hbWUsIGRlc2NyaXB0aW9uKQogZGIgPSBvcGVucmVxLnJlc3VsdApAQCAtMjE3LDE4ICsy
MTcsMTggQEAgRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIC9y
ZWdleC8gXSk7CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRh
dGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiAKLXRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsg
d2luZG93IF0KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3
aW5kb3cgXSk7Cit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHNlbGYgXQorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHNlbGYgXSk7CiBQQVNTIEV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFf
RVJSCiAKLXRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93LmRvY3VtZW50IF0KLUV4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cuZG9jdW1l
bnQgXSk7Cit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHNlbGYuZG9jdW1lbnQgXQorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHNlbGYuZG9jdW1lbnQg
XSk7CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSCiAKLXRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93
LmRvY3VtZW50LmJvZHkgXQotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFs
dWUnLCBbIHdpbmRvdy5kb2N1bWVudC5ib2R5IF0pOwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtl
eTogWyBzZWxmLmRvY3VtZW50LmJvZHkgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3Jl
LnB1dCgndmFsdWUnLCBbIHNlbGYuZG9jdW1lbnQuYm9keSBdKTsKIFBBU1MgRXhjZXB0aW9uIHdh
cyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXku
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwK
aW5kZXggODAyODcwMjhhOWQ2ZGJmNmI5YmJlN2U5NmI3MTExMWY0YzQ5ZGM2Ny4uMmE1OTQ1NDQx
Zjg4ZThiZjhjNzU2NWVlYjllMDgxMDQ3MmJjZDAxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sCkBAIC0xNSwxNCArMTUsMTQgQEAg
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIGV2
YWxBbmRMb2coIklEQlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRv
dy5JREJUcmFuc2FjdGlvbjsiKTsKKyAgICBldmFsQW5kTG9nKCJJREJUcmFuc2FjdGlvbiA9IHNl
bGYuSURCVHJhbnNhY3Rpb24gfHwgc2VsZi5JREJUcmFuc2FjdGlvbjsiKTsKICAgICBzaG91bGRC
ZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9PSBudWxsIik7CiAKLSAgICBldmFsQW5kTG9nKCJJREJE
YXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cu
SURCRGF0YWJhc2VFeGNlcHRpb247Iik7CisgICAgZXZhbEFuZExvZygiSURCRGF0YWJhc2VFeGNl
cHRpb24gPSBzZWxmLklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHNlbGYuSURCRGF0YWJhc2VFeGNl
cHRpb247Iik7CiAgICAgc2hvdWxkQmVGYWxzZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVs
bCIpOwogCiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUg
PSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0
YWJhc2UiOwogICAgIG9wZW5yZXEgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBk
ZXNjcmlwdGlvbikiKTsKICAgICBvcGVucmVxLm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpAQCAt
MTY0LDkgKzE2NCw5IEBAIGZ1bmN0aW9uIHRlc3RJbnZhbGlkQXJyYXlLZXlzKCkKICAgICAgICAg
Ilsge30gXSIsCiAgICAgICAgICJbIGZ1bmN0aW9uICgpIHt9IF0iLAogICAgICAgICAiWyAvcmVn
ZXgvIF0iLAotICAgICAgICAiWyB3aW5kb3cgXSIsCi0gICAgICAgICJbIHdpbmRvdy5kb2N1bWVu
dCBdIiwKLSAgICAgICAgIlsgd2luZG93LmRvY3VtZW50LmJvZHkgXSIsCisgICAgICAgICJbIHNl
bGYgXSIsCisgICAgICAgICJbIHNlbGYuZG9jdW1lbnQgXSIsCisgICAgICAgICJbIHNlbGYuZG9j
dW1lbnQuYm9keSBdIiwKICAgICAgICAgImN5Y2xpY19hcnJheSIsCiAgICAgICAgICJjeWNsaWNf
YXJyYXkyIiwKICAgICAgICAgImN5Y2xpY19hcnJheTMiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtaW5maW5pdHkuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWluZmluaXR5Lmh0bWwKaW5kZXggYmFlM2NiMGY0
YzA3M2VkN2UxZDkxNDljM2NiZGRkYWUzYTgyZmE4Yi4uYmMxZWRlNTdkNWFmMmE3MzM1Y2QyOWNk
MmJlMWNkMmJiMDdjNzQ1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXR5cGUtaW5maW5pdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9rZXktdHlwZS1pbmZpbml0eS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93
LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwog
ICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5cGF0aC1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2tleXBhdGgtYmFzaWNzLmh0bWwKaW5kZXggNTUyYjhmNzViZmRhOTNjNzczZjE1NmVl
M2NiNTVkYWQ2ZTllYjdiNC4uYTY1YzMzMjk4MDhjMWUzMjQ2MTQxZGQxODBjNTBhMDIzNDAxOTQ0
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1iYXNp
Y3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWJhc2lj
cy5odG1sCkBAIC0xNCw3ICsxNCw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0IGZvciB2YWxpZCBhbmQg
aW52YWxpZCBrZXlwYXRocyIpOwogZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9y
UHJlZml4ZXMoKTsKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5h
bWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3Qg
RGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1l
LCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1r
ZXkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtZmV0Y2gta2V5
Lmh0bWwKaW5kZXggOWE2OTc2MTU2MmE2NWQ2MzQ1NjIzODY5MDFkNjZiZDIwN2NkYTBmYy4uOWY2
NTBlNDljMThlODFmYWM2MTM5MTM2NDQxZDQ1OTI3NDczMmEyYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWZldGNoLWtleS5odG1sCkBAIC0xNSw3
ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7
CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxm
LmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2Ui
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlw
dGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVy
ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2Ut
ZmFpbHVyZS5odG1sCmluZGV4IGI1OGM1YjdlMzU3MDZmNDE1NzQ0YmVjOTc5Nzg4MjVkZTUxYTVi
OTYuLjc5MjdhYzhlMGUwZjYzNjNkN2YxZmU5MmI2NTRiYmIwZDNkY2Y2ODMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYWRkLXR3aWNlLWZhaWx1cmUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2FkZC10d2lj
ZS1mYWlsdXJlLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAg
cmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0
aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRp
b24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4
ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
b3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL2F1dG9pbmNyZW1lbnQtaW5kZXhlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbAppbmRleCAzNWZkZjAy
MzA5YzhkY2QwYTIxYmExMzExY2IxOGQ1MjNlZDBjNjYyLi4yMTYwYTlkMGRkOGRiOWQwMzNjNGIz
MDA2ZjE4YjAzNjU4NTkwNzg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL2F1dG9pbmNyZW1lbnQtaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYXV0b2luY3JlbWVudC1pbmRleGVzLmh0bWwKQEAg
LTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4
ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9
IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRh
YmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRl
c2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2JhZC1rZXlwYXRo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2JhZC1rZXlwYXRo
Lmh0bWwKaW5kZXggZTI5OWI5MWEzMjdlZGRiZWQ0MTc1NWE2YWMzNzc1NmRmYTE0MzM3YS4uZTBl
NjI3OGFhYTBmMGY1MTlhOGQxNjMyZDk3ZGNlNzNhN2FlNTc0NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9iYWQta2V5cGF0aC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYmFkLWtleXBhdGguaHRtbApAQCAt
MjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhl
cygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0g
c2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFi
YXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVz
Y3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIuaHRtbAppbmRleCAz
ZDI3Mzg2OWRlZWJkNDRmZDgwNmJkMjc4N2VhMDlmOTI2NjA1MDA0Li4zYmEzY2ZiZGM3NDhkZWEx
MmZhYThmNjVmODVjZGM4Njc2MjJmY2E5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2NsZWFyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9jbGVhci5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93
LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwog
ICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtaW5kZXgtdW5pcXVlLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbAppbmRl
eCBhYTU5NmVjZjhmMmIwZDBhZjA5MmIzYTFhMGY3NjlmYjY1YjNiMzdkLi5iMDY3YzczYTNkYTQz
ZjU5NWE5MjMyOThiZDcxZGI2NjdmZWI4NmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRt
bApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQ
cmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBu
YW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0
IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFt
ZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRl
LWluZGV4LXdpdGgtaW50ZWdlci1rZXlzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC13aXRoLWludGVnZXIta2V5cy5odG1sCmluZGV4IGNj
N2IwYWVlZDljYjZlYmEzMGJiYzNiYTUwZTU5MWY4MTNiMTliOTkuLmJiOWJhZjdmZTYxYzU5YmQy
MzkzZDEyMzg2YWIwZGI2NDY2YTkwMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLWluZGV4LXdpdGgtaW50ZWdlci1rZXlzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtaW5kZXgtd2l0
aC1pbnRlZ2VyLWtleXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlv
bi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNj
cmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwK
aW5kZXggNjUxYTBhNGJmNmVhMDE1NzM0NzMwZmY5OTY1N2RkNDJiZjZkNWY4ZS4uOGQ4MTYzYjQ0
ZjRkMTM5ODA2YTU5YzkzOTk4ZDM4MzI0NzcxNGJjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0
c3RvcmUtYmFzaWNzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAg
ICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24u
cGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3Jp
cHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImlu
ZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2NyZWF0ZS1vYmplY3RzdG9yZS1udWxsLW5hbWUuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwtbmFtZS5o
dG1sCmluZGV4IGZlYzA1MDJjYjcxNzRmZjAxOGQzZDdlMzE0M2RiNmQ0N2RjMmQ5MzcuLmJkYjg5
MmViODRlNzUxZTI3NmM2NGQxZDA5ZGQwNTQ1YTcwZjI0ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwtbmFt
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRl
LW9iamVjdHN0b3JlLW51bGwtbmFtZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93
LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwog
ICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24t
b2JqZWN0c3RvcmUtb25seS5odG1sCmluZGV4IDQ1NTdjZDUzNzE1OWU0Y2E5NTU5MGE2Y2M1MDBj
ZjkyMjIxNDJkNTAuLjJmNmJkMzIzYTZjZmViZjY2ZGQ0MWI1M2YxZGQwNmNjNmEwNzhjZDcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11
dGF0aW9uLW9iamVjdHN0b3JlLW9ubHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci1tdXRhdGlvbi1vYmplY3RzdG9yZS1vbmx5Lmh0bWwKQEAg
LTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4
ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9
IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRh
YmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRl
c2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRh
dGUtdXBkYXRlcy1pbmRleGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWwKaW5kZXggYjMwOTlhZjI2
ZmQ0ZWQwNDAwMGYxMGNkZDlkOWUyMzI1NGU4NTM1NS4uZTEwOTAwNmIwMWFiMjZjZDlkZTQ5NjE5
MThiN2NkOWI5MjU5NDFhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9jdXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWlu
ZGV4ZXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1v
dmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFt
ZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9
ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERC
Lm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVu
U3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvY3Vyc29ycy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9j
dXJzb3JzLmh0bWwKaW5kZXggZWUwNzg3NGFkMGVlZGVmYWQwMzVjNGE3YTM1YjczYjNjOTRlYjNh
NS4uZjNiMTI2YTU1YmViNmY5ODhlMjdjMWE4N2RmNjFiYzI5NjdmOTFmNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwKQEAgLTIx
LDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMo
KTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNl
bGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFz
ZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2Ny
aXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2RlbGV0ZS1yZXN1bHQu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3Vs
dC5odG1sCmluZGV4IDQ4N2ExMTJmOWIzMDllMDI2N2ZjMzkzZTAyNWY3NmE3MDg1OGM1MjEuLjgz
ODJkZjIwODhiOTYzYTYzZjQwYmQyYmRkZjFkYWZlNTM4NWRmMjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1s
CkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclBy
ZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5h
bWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3Qg
RGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1l
LCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1z
b3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZlbnQt
c291cmNlLmh0bWwKaW5kZXggMTUxMzVlMWNhYzIwMTQwNDIxMGRmMTRhMzBjNGNhMWY3ZGQzMGU0
Ni4uYTYzZjNkYWIyMzNkZWNkZjUzZjMyODZjZjllZDllNTAwNGUwMjRiZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2V2ZW50LXNvdXJjZS5o
dG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRv
clByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAg
IG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRl
c3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Blbihu
YW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNz
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9i
YWwtZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9i
YWwtZGF0YS5odG1sCmluZGV4IDJlZjU1MzE4YmFmNDA4NjY3YTdlMzExNWY0OTNjNTNlMzJkYmVj
NDEuLjZkOGRhZTc4ZWE2ZjQzNzUxY2U4MzBhYWU3MTJlYjJlYzQ1NjgzMGEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLmh0
bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9y
UHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAg
bmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVz
dCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5h
bWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4
ZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5o
dG1sCmluZGV4IDgzZWQ4MzlmM2YzMWNjOTZiYWQxZWJjYjY0MGJmOGU5YmM3MDhhYzQuLjZjZGRm
OTRjZTE2OTRjMjk1ZDg0YjdhMTUyMzdiZThlYmFmMzJlNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCkBAIC0yMSw3ICsyMSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAg
ICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0
aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLWRlbGV0
ZS1udWxsLWtleS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9r
ZXktcmVxdWlyZW1lbnRzLWRlbGV0ZS1udWxsLWtleS5odG1sCmluZGV4IDAxMGE4Mjc4YmEyYjRj
ZDE5NDJjMTc4OGZmODg2ODNhM2ViM2Y5ZmQuLjg1Y2FiYzVkMGY3N2ZmNmUxMjQ3NWZkODY2N2I0
NDczZTU0NzJmZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEva2V5LXJlcXVpcmVtZW50cy1kZWxldGUtbnVsbC1rZXkuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtZGVsZXRlLW51
bGwta2V5Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVt
b3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5h
bWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24g
PSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWRE
Qi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3Bl
blN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2tleS1yZXF1aXJlbWVudHMtaW5saW5lLWFuZC1wYXNzZWQuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5kLXBh
c3NlZC5odG1sCmluZGV4IGFjNmNkNGQ1MjQ3YzkzMjE1MmEwYmFhMGZiZmE3YmJjZTllMzg2YzQu
LjEwZDM1ZWZkZDZjN2VkZDJiNDY0Njk1OWMxN2YxMmI5NzU3ODA4NTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxp
bmUtYW5kLXBhc3NlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5kLXBhc3NlZC5odG1sCkBAIC0yMSw3ICsy
MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAK
LSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxv
Y2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlv
bikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1
dC1uby1rZXkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5
LXJlcXVpcmVtZW50cy1wdXQtbm8ta2V5Lmh0bWwKaW5kZXggODg5ZTlhMzFjMDY5NGNmODg1MjZm
OTNhZjQyZDg3YWNhNTljMjkwMy4uMDk3ZTI0ZmRmNzE1YWE4MWJiN2Y0YTM3MGIzYzlhZWE5MWRl
MjE4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9r
ZXktcmVxdWlyZW1lbnRzLXB1dC1uby1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW5vLWtleS5odG1sCkBAIC0y
MSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVz
KCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBz
ZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJh
c2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNj
cmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1l
bnRzLXB1dC1udWxsLWtleS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sCmluZGV4IDE2MzE5Y2EzMjBj
OTNjN2RmOTNiYmYyYmNmMTBkMTY4YmUyZGQ5MjguLjc4ODA5ZWIyZGI0MzFjMjYyODc0YTcwODRj
NjU2NGU5OTVkNzQwOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwt
a2V5Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3Zl
VmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7
CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAi
TXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5v
cGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1
Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L2tleS1yZXF1aXJlbWVudHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEva2V5LXJlcXVpcmVtZW50cy5odG1sCmluZGV4IDRlOTg1OTJmYTFhMWE0ZGJhODhlODFj
Zjg2NjEyOTkxNDM4ZTUwNjAuLjBjZWIzYWM5YTg0MDU3NDFhMGRjYTg2YmU4N2I0NDIzZjM3OTRh
OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5
LXJlcXVpcmVtZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEva2V5LXJlcXVpcmVtZW50cy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93
LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwog
ICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sCmluZGV4IDUwYmI2ZmFk
YWY2OGVkMGJiYmI3OThjM2Y0MjYyODIyNmJlMDcyYzAuLmFjNDM2MDUzZDhjYTYyZWRiNzg2ZWVm
OWJkNTIyNTE1MTk0MDNkMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1jdXJzb3JzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5h
bWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24u
cGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtaWRlbnRpdHkuaHRtbApp
bmRleCA4ZjA5MzMwZjMwZGY5NjE3Zjk1NWEyNTdjNjRmZTQ0NjkzOGU4MjBhLi4yNmE5NmQ3NTIx
MjZkMmFiNTQwYTRhM2M4M2I3MDdiZDFiYzY1ZjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWlkZW50aXR5Lmh0bWwKQEAg
LTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4
ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9
IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRh
YmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRl
c2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9y
ZS1pbmxpbmUtYXV0b2luY3JlbWVudC1rZXktYWRkZWQtb24tcHV0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1pbmxpbmUtYXV0b2luY3Jl
bWVudC1rZXktYWRkZWQtb24tcHV0Lmh0bWwKaW5kZXggODNmZTJmODc0MTI1ZjI4NTc4NGEyNzEw
NmJlMWQwYjQ3YWU5OTc4ZS4uNWY3ZjE1M2I3ZjU3NDE2Y2E5MDFhMjY3ODUwMmVmZTlmYzNiN2Y4
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmpl
Y3Qtc3RvcmUtaW5saW5lLWF1dG9pbmNyZW1lbnQta2V5LWFkZGVkLW9uLXB1dC5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLWlubGlu
ZS1hdXRvaW5jcmVtZW50LWtleS1hZGRlZC1vbi1wdXQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFt
ZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5w
YXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1
ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3Jl
LXJlbW92ZS12YWx1ZXMuaHRtbAppbmRleCA5YjMwODFjODQzMjE3YjdkMjcyNjUxN2E5NDExYTli
NmQ3ZDRjZTEzLi5iMTM1YTBkM2YzMzllZGU1YzcyNDk4YzU2ZWY2NTA4MmRhOTM4MzhiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9y
ZS1yZW1vdmUtdmFsdWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9vYmplY3Qtc3RvcmUtcmVtb3ZlLXZhbHVlcy5odG1sCkBAIC0yMSw3ICsyMSw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBu
YW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3RzdG9yZW5hbWVzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRt
bAppbmRleCAxNDE2MjkwMzc3ZDEyZjM4NTVmYTViNzVlYjdiMzUyYTFiMzEwY2U0Li5hODZmNmYy
Y2Y4ZWI5NmJlYWYzODBjNGM1ZDljM2MxOTYxNThlZDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRt
bApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQ
cmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBu
YW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0
IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFt
ZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2RkLXJl
c3VsdC1vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9v
ZGQtcmVzdWx0LW9yZGVyLmh0bWwKaW5kZXggNzg1MGM1YzY5MmE4M2MxNTczZDE2ZTQzNTZiMWE1
MTEwNjEwM2M0MS4uNDI5NzhmOTRhNjJlMGRhZDczMDE0N2JiZWI3NTlmNWRhM2E2NjA3NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0
LW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9v
ZGQtcmVzdWx0LW9yZGVyLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7
CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRp
b24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVz
Y3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL3B1dC1nZXQtdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL3B1dC1nZXQtdmFsdWVzLmh0bWwKaW5kZXggYTUwYmNjNWY1ZDIxOWRj
ZTliM2ExYjJiNWFlZGE2M2VlYmFkNDE4YS4uNzkwNjQ1NTkyZjI0MjIwYTc1ZDBhNjhlNzM2Njlh
NWZhY2ZkYjc5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9wdXQtZ2V0LXZhbHVlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvcHV0LWdldC12YWx1ZXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlv
biB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdp
bmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFt
ZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWRvbmx5LXRyYW5zYWN0aW9ucy5o
dG1sCmluZGV4IGQzMTk0MjEyMjU3YzYwMWI1MWU0YTc3MDIwNTkyYzMyYzg1MjE4YzguLmQ4NzM4
ZDA2MWIwM2Y1ZGQxNjBkNTNiYmEyNThhNmQ0YTIwYzkzMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkb25seS10cmFu
c2FjdGlvbnMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICBy
ZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRo
bmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlv
biA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhl
ZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBv
cGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvcmVhZHdyaXRlLXRyYW5zYWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKaW5kZXggMjgxMzM0
MjZiNTQ3MzEzNDVmMmEwYWRiZDhmNDA3ZWZiMGViYWRkZS4uNzhhZDU0NDhjNmJhMjcwNjBjOTdm
MTc4NDU3M2VkODRiNTIwNTg4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwK
QEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJl
Zml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFt
ZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBE
YXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUs
IGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWR5U3Rh
dGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0
ZS5odG1sCmluZGV4IDlmZDU5MGFmOGY0ODNiMTY3MzIwMTljODZlZDdlYzNkODY4ZWNlZTguLjA1
NTAwN2U0MDY1NTg0NzJjMTUxN2JjNzAzN2QxNmU1MzkzM2M2ZmYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCkBAIC0y
MSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVz
KCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBz
ZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJh
c2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNj
cmlwdGlvbikiKTsKICAgICBzaG91bGRCZSgicmVxdWVzdC5yZWFkeVN0YXRlIiwgIklEQlJlcXVl
c3QuTE9BRElORyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9yZW1vdmUtaW5kZXguaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvcmVtb3ZlLWluZGV4Lmh0bWwKaW5kZXggYTBhODU5ZTQ4ODEzYjc4NzAzZWI5ODU4
NDNkMDNiMGUzNjcyMjcyOS4uMDRhZTM3ZTdmMzQyODYzNzgzYTU0NmVmNDZmMTJhYzBkOTYyNmM5
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1v
dmUtaW5kZXguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L3JlbW92ZS1pbmRleC5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewog
ICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9u
LnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2Ny
aXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJp
bmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9yZW1vdmUtb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvcmVtb3ZlLW9iamVjdHN0b3JlLmh0bWwKaW5kZXggYTY1MmFjY2Rj
MjUwOGJlZWYxZGZhYWY4OWE5MzRmZjE2MjQyMTlmMS4uNTVjMWZhZTgwMjgwMjYzYTJlOWE0YjA5
NTk2MmE2MGRmNGFmOGYzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9yZW1vdmUtb2JqZWN0c3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1vYmplY3RzdG9yZS5odG1sCkBAIC0yMSw3ICsy
MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAK
LSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxv
Y2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlv
bikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWFib3J0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFu
Z2UtYWJvcnQuaHRtbAppbmRleCAwYmM5NjM1MmYwMWIwNDJmZDBiN2EzMzAwZTUyODA2Yzc1ZjIx
ZDNhLi4yZDJiZDdkYzFhNDQyZjFhNGZhNmQyNmZkZjAxYjBiMmMzNzljMjA1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJv
cnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNp
b25jaGFuZ2UtYWJvcnQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlv
bi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNj
cmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvdmVyc2lvbmNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLmh0bWwKaW5kZXggMWM3N2FmOGNhNjhhZDAzY2Qw
Mzc2MTgyZWFhMDk0ZWQ2MmQ5MTM1ZS4uYzY0M2I5OWE2MDY5M2M0ZjVjODQzNGZhZDg1MmIwYmJi
OTJlMWE4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS92ZXJzaW9uY2hhbmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS92ZXJzaW9uY2hhbmdlLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cu
bG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAg
ICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sCmluZGV4IGY4NDJjNGJkMzQ0M2QwYzQzOTBiYTU3
MTJiMzUxM2EyNjZjNWUyOGQuLjgzZTA0MDhmYzYzMzQ1MjI0Nzg2Yjc0Y2NhNTM1YjlmNDA3OTBj
MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1
cnNvci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1
cnNvci5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0
aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3Mo
KToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAg
IHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNv
bXBsZXRlID0gb3BlbkZvcndhcmRDdXJzb3I7CkBAIC01MywxNyArNTMsMTcgQEAgZnVuY3Rpb24g
b3BlbkZvcndhcmRDdXJzb3IoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRD
YWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gZm9yd2FyZEN1cnNvckNvbXBsZXRlOwog
Ci0gICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUo
J3N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2Jq
ZWN0U3RvcmUoJ3N0b3JlJykiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygib2JqZWN0U3Rv
cmUub3BlbkN1cnNvcigpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmb3J3YXJkQ3Vyc29y
OwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHdp
bmRvdy5jdXJzb3JTdGVwcyA9IDA7CisgICAgc2VsZi5jdXJzb3JTdGVwcyA9IDA7CiB9CiAKIGZ1
bmN0aW9uIGZvcndhcmRDdXJzb3IoKQogewogICAgIGRlYnVnKCJmb3J3YXJkQ3Vyc29yKCkiKTsK
LSAgICB3aW5kb3cuY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAgICBzZWxmLmN1cnNv
ciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAKICAgICBpZiAoZXZlbnQudGFyZ2V0LnJlc3VsdCA9
PSBudWxsKSB7CiAgICAgICAgIHNob3VsZEJlKCJjdXJzb3JTdGVwcyIsICI1Iik7CkBAIC05OCwx
NyArOTgsMTcgQEAgZnVuY3Rpb24gb3BlblJldmVyc2VDdXJzb3IoKQogICAgIHRyYW5zLm9uYWJv
cnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gcmV2
ZXJzZUN1cnNvckNvbXBsZXRlOwogCi0gICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExv
ZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0g
ZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKICAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygib2JqZWN0U3RvcmUub3BlbkN1cnNvcihudWxsLCBJREJDdXJzb3IuUFJFViki
KTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHJldmVyc2VDdXJzb3I7CiAgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgd2luZG93LmN1cnNvclN0ZXBz
ID0gNjsKKyAgICBzZWxmLmN1cnNvclN0ZXBzID0gNjsKIH0KIAogZnVuY3Rpb24gcmV2ZXJzZUN1
cnNvcigpCiB7CiAgICAgZGVidWcoInJldmVyc2VDdXJzb3IoKSIpOwotICAgIHdpbmRvdy5jdXJz
b3IgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgIHNlbGYuY3Vyc29yID0gZXZlbnQudGFyZ2V0
LnJlc3VsdDsKIAogICAgIGlmIChldmVudC50YXJnZXQucmVzdWx0ID09IG51bGwpIHsKICAgICAg
ICAgc2hvdWxkQmUoImN1cnNvclN0ZXBzIiwgIjAiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdFN0b3JlLXJlcXVpcmVkLWFyZ3VtZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1l
bnRzLmh0bWwKaW5kZXggMWJlM2Q5YmZlYzgzMjY5YjA3MmUxYTQyODM0ZmYyOWFjZmZiODIwNi4u
MDQyMjVhMjgxNmUyMTFiZDQxYzEzYjE0ZTIxZGVjYmRiNDAzNTBmOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVx
dWlyZWQtYXJndW1lbnRzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7
CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRp
b24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVz
Y3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwKaW5kZXggYTFlY2JlYmFl
NTViZmI5OTM2ZWYzNDgxZTQzNzk1ZmE3MTA2MTNjNC4uOWY4ODI1YWE3N2VlNmUyZmI0ZjY3Mzgy
MDZlMGU0MDNmNmJiOGRjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbApAQCAtMjEsNyArMjEs
NyBAQCBmdW5jdGlvbiB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1
Zygib3BlblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVy
c2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lv
blN1Y2Nlc3M7CkBAIC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0
aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3Mo
KToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAg
IHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNv
bXBsZXRlID0gc2V0VmVyc2lvbkNvbXBsZXRlZDsKQEAgLTM5LDcgKzM5LDcgQEAgZnVuY3Rpb24g
c2V0VmVyc2lvblN1Y2Nlc3MoKQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAg
ICBkZWJ1ZygiY3JlYXRlT2JqZWN0U3RvcmUoKToiKTsKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFs
QW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJywg
e2tleVBhdGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOworICAgIHNlbGYuc3RvcmUg
PSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQ
YXRoJywge2tleVBhdGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOwogICAgIGV2YWxB
bmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhBdXRvSW5jcmVtZW50Jywge2F1
dG9JbmNyZW1lbnQ6IHRydWV9KSIpOwogICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdQbGFpbk9sZFN0b3JlJywge2F1dG9JbmNyZW1lbnQ6IGZhbHNlfSkiKTsKICAgICBldmFs
QW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnU3RvcmVXaXRoTG9uZ0tleVBhdGgnLCB7a2V5
UGF0aDogJ2EuYi5jLmlkJywgYXV0b0luY3JlbWVudDogdHJ1ZX0pIik7CkBAIC01OSwxMSArNTks
MTEgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbkNvbXBsZXRlZCgpCiB7CiAgICAgZGVidWcoInNldFZl
cnNpb25Db21wbGV0ZWQoKToiKTsKIAotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZGIudHJhbnNhY3Rpb24oWydTdG9yZVdpdGhLZXlQYXRoJywgJ1N0b3JlV2l0aEF1dG9J
bmNyZW1lbnQnLCAnUGxhaW5PbGRTdG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
OworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsn
U3RvcmVXaXRoS2V5UGF0aCcsICdTdG9yZVdpdGhBdXRvSW5jcmVtZW50JywgJ1BsYWluT2xkU3Rv
cmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0g
dW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RMb25n
S2V5UGF0aDsKIAotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMu
b2JqZWN0U3RvcmUoJ1N0b3JlV2l0aEtleVBhdGgnKSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFs
QW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJykiKTsK
IAogICAgIGRlYnVnKCJJbnNlcnQgaW50byBvYmplY3Qgc3RvcmUgd2l0aCBhdXRvIGluY3JlbWVu
dCBhbmQga2V5IHBhdGgsIHdpdGgga2V5IGluIHRoZSBvYmplY3QuIik7CiAgICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coInN0b3JlLmFkZCh7bmFtZTogJ0plZmZlcnNzb24nLCBudW1iZXI6ICc3MDEw
JywgaWQ6IDN9KSIpOwpAQCAtOTksNyArOTksNyBAQCBmdW5jdGlvbiBnZXRMaW5jb2xuQWZ0ZXJJ
bmplY3RlZEtleVN1Y2Nlc3MoKQogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFy
Z2V0LnJlc3VsdC5udW1iZXIiLCAiNzAxMiIpOwogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQu
cmVzdWx0LmlkIiwgIjQiKTsKIAotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3Jl
ID0gdHJhbnMub2JqZWN0U3RvcmUoJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnKSIpOworICAgIHNl
bGYuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdp
dGhBdXRvSW5jcmVtZW50JykiKTsKICAgICBkZWJ1ZygiSW5zZXJ0IGludG8gb2JqZWN0IHN0b3Jl
IHdpdGgga2V5IGdlbiB1c2luZyBleHBsaWNpdCBrZXkiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygic3RvcmUuYWRkKHtuYW1lOiAnTGluY29sbicsIG51bWJlcjogJzcwMTInfSwgNSkiKTsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGFkZExpbmNvbG5XaXRoRXhwbGljaXRLZXlTdWNjZXNz
OwpAQCAtMTQzLDcgKzE0Myw3IEBAIGZ1bmN0aW9uIGdldEFicmFoYW1TdWNjZXNzKCkKICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQubmFtZSIsICJBYnJhaGFt
Iik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50YXJnZXQucmVzdWx0Lm51bWJl
ciIsICIyMTA3Iik7CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRy
YW5zLm9iamVjdFN0b3JlKCdQbGFpbk9sZFN0b3JlJykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZh
bEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnUGxhaW5PbGRTdG9yZScpIik7CiAg
ICAgZGVidWcoIlRyeSBhZGRpbmcgd2l0aCBubyBrZXkgdG8gb2JqZWN0IHN0b3JlIHdpdGhvdXQg
YXV0byBpbmNyZW1lbnQuIik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRk
KHtuYW1lOiAnQWRhbSd9KSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoe25hbWU6ICdBZGFtJ30sIDEpIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVh
ci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXIu
aHRtbAppbmRleCA5YzZlYzMyNDRkMjVjMjQ5NjI3MTE3MjNmMDBkNzhmZjlhYTNmOGI1Li5jNzhj
NWQyNzU4NDhmODBmNDQzNzY4YzYzOWZmOTNhY2U2MGI2ZThmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWwKQEAgLTI5LDE0
ICsyOSwxNCBAQCBmdW5jdGlvbiBzdGFydFNldFZlcnNpb24oKQogCiBmdW5jdGlvbiBkZWxldGVF
eGlzdGluZygpCiB7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwi
KTsKIAogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAgICBzdG9yZSA9IGV2YWxB
bmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7
CiAKLSAgICB3aW5kb3cuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5k
ZXhOYW1lJywgJycpIik7CisgICAgc2VsZi5pbmRleCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0
ZUluZGV4KCdpbmRleE5hbWUnLCAnJykiKTsKICAgICBzaG91bGRCZVRydWUoInN0b3JlLmluZGV4
TmFtZXMuY29udGFpbnMoJ2luZGV4TmFtZScpIik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
Zygic3RvcmUuYWRkKCd2YWx1ZScsICdrZXknKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY291bnQuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNvdW50Lmh0bWwKaW5kZXggM2VjZmFkMzk0MjEy
NTYxMGMzMzM0MmFjYWU4YzkzM2VmZTllODE0OS4uN2FlOTFjMmIwODBlNjAxZTE3YWQ5ZmJmYjJm
MTlkMTdjM2JmOWFiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtY291bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1jb3VudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIGZ1bmN0aW9uIHByZXBh
cmVEYXRhYmFzZSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJwcmVwYXJpbmcgZGF0
YWJhc2UiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRh
cmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwog
CiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKaW5kZXggYTlkNjllNWEx
YjY2N2ZlOGVkMzk0MjM3ZDVjMDZlNTJhZWFiNDM3Zi4uYWM3ZDdkNjg5ZjNkNjRhOTNmYjZmMTFi
NGJiYzg0NDkxOWRiZjdkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGRlc2NyaXB0
aW9uKCJUZXN0IEluZGV4ZWREQidzIG9iamVjdFN0b3JlLm9wZW5DdXJzb3IgKyB0aGUgY3Vyc29y
IGl0IHByb2R1Y2VzIGluIGRlcHRoLiIpOwogIAogLy8gSW4gb3JkZXIgb2YgaG93IGl0IHNob3Vs
ZCBiZSBzb3J0ZWQgYnkgSW5kZXhlZERCLgotd2luZG93LnRlc3REYXRhID0gWworc2VsZi50ZXN0
RGF0YSA9IFsKICAgICAyLjcxODI4MTgyODQ1OSwKICAgICAzLAogICAgIDMuMTQxNTkyNjUsCkBA
IC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5EYXRhYmFzZSgpCiAgCiBmdW5jdGlvbiBzZXRW
ZXJzaW9uKCkKIHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3
IHZlcnNpb24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlRXhpc3Rpbmc7CkBA
IC00MCwyOCArNDAsMjggQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIGRlbGV0
ZUV4aXN0aW5nKCkKIHsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVs
bCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKIAogICAg
IGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKLSAgICB3aW5kb3cub2JqZWN0U3RvcmUgPSBl
dmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc29tZU9iamVjdFN0b3JlJykiKTsKLSAg
ICB3aW5kb3cubmV4dFRvQWRkID0gMDsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExv
ZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3NvbWVPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5u
ZXh0VG9BZGQgPSAwOwogICAgIGFkZERhdGEoKTsKIH0KIAogZnVuY3Rpb24gYWRkRGF0YSgpCiB7
CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFkZCgnJywgdGVzdERhdGFb
bmV4dFRvQWRkXSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9ICsrd2luZG93Lm5leHRUb0Fk
ZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVsZVRlc3RzOworICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gKytzZWxmLm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERh
dGEgOiBzY2hlZHVsZVRlc3RzOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwogfQogCiBmdW5jdGlvbiBzY2hlZHVsZVRlc3RzKCkKIHsKICAgICBkZWJ1Zygi
U2NoZWR1bGluZyB0ZXN0cy4uLiIpOwotICAgIHdpbmRvdy5zY2hlZHVsZWRUZXN0cyA9IFtdOwor
ICAgIHNlbGYuc2NoZWR1bGVkVGVzdHMgPSBbXTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRl
c3REYXRhLmxlbmd0aDsgKytpKSB7CiAgICAgICAgIC8qIGxlZnQgYm91bmQsIGlzIG9wZW4sIHJp
Z2h0IGJvdW5kLCBpcyBvcGVuLCBhc2NlbmRpbmcgKi8KICAgICAgICAgc2NoZWR1bGVkVGVzdHMu
dW5zaGlmdChbaSwgdHJ1ZSwgbnVsbCwgbnVsbCwgdHJ1ZV0pOwpAQCAtOTYsMTEgKzk2LDExIEBA
IGZ1bmN0aW9uIHJ1bk5leHRUZXN0KCkKICAgICB9CiAgCiAgICAgdmFyIHRlc3QgPSBzY2hlZHVs
ZWRUZXN0cy5wb3AoKTsKLSAgICB3aW5kb3cubG93ZXIgPSB0ZXN0WzBdOwotICAgIHdpbmRvdy5s
b3dlcklzT3BlbiA9IHRlc3RbMV07Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdFsyXTsKLSAgICB3
aW5kb3cudXBwZXJJc09wZW4gPSB0ZXN0WzNdOwotICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0ZXN0
WzRdOworICAgIHNlbGYubG93ZXIgPSB0ZXN0WzBdOworICAgIHNlbGYubG93ZXJJc09wZW4gPSB0
ZXN0WzFdOworICAgIHNlbGYudXBwZXIgPSB0ZXN0WzJdOworICAgIHNlbGYudXBwZXJJc09wZW4g
PSB0ZXN0WzNdOworICAgIHNlbGYuYXNjZW5kaW5nID0gdGVzdFs0XTsKIAogICAgIHN0ciA9ICJO
ZXh0IHRlc3Q6ICI7CiAgICAgaWYgKGxvd2VyICE9PSBudWxsKSB7CkBAIC0xMjYsMTkgKzEyNiwx
OSBAQCBmdW5jdGlvbiBydW5OZXh0VGVzdCgpCiAgICAgaWYgKGFzY2VuZGluZykgewogICAgICAg
ICBpZiAobG93ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghbG93ZXJJc09wZW4pCi0g
ICAgICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKKyAgICAgICAgICAg
ICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyKzE7CisgICAgICAgICAgICAg
ICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbG93ZXIrMTsKICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IDA7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVk
SW5kZXggPSAwOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICh1cHBlciAhPT0gbnVsbCkgewog
ICAgICAgICAgICAgaWYgKCF1cHBlcklzT3BlbikKLSAgICAgICAgICAgICAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IHVwcGVyOworICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9
IHVwcGVyOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3Rl
ZEluZGV4ID0gdXBwZXItMTsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1
cHBlci0xOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4
ID0gdGVzdERhdGEubGVuZ3RoLTE7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB0
ZXN0RGF0YS5sZW5ndGgtMTsKICAgICB9CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwogIApAQCAt
MTY0LDE1ICsxNjQsMTUgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogZnVuY3Rpb24gdGVzdFdp
dGhpbkJvdW5kcygpCiB7CiAgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAwIHx8IHRlc3REYXRhLmxl
bmd0aCA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51
bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAgICAgaWYgKGxvd2VyICE9
PSBudWxsICYmIGV4cGVjdGVkSW5kZXggPCBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVk
SW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlm
ICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgpCi0gICAgICAgIHdpbmRv
dy5leHBlY3RlZEluZGV4ID0gbnVsbDsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbnVs
bDsKICAgICBpZiAobG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4gJiYgZXhwZWN0ZWRJbmRl
eCA8PSBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAg
ICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1
cHBlcklzT3BlbiAmJiB1cHBlciA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiB9
CiAgCiBmdW5jdGlvbiBjdXJzb3JJdGVyYXRpb24oKQpAQCAtMTg5LDMxICsxODksMzEgQEAgZnVu
Y3Rpb24gY3Vyc29ySXRlcmF0aW9uKCkKICAgICB9CiAgCiAgICAgc2hvdWxkQmUoImV2ZW50LnRh
cmdldC5yZXN1bHQua2V5IiwgInRlc3REYXRhWyIgKyBleHBlY3RlZEluZGV4ICsgIl0iKTsKLSAg
ICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGFzY2VuZGluZyA/IGV4cGVjdGVkSW5kZXgrMSA6IGV4
cGVjdGVkSW5kZXgtMTsKKyAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBhc2NlbmRpbmcgPyBleHBl
Y3RlZEluZGV4KzEgOiBleHBlY3RlZEluZGV4LTE7CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwog
CiAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpOwogfQogIAotd2luZG93Lm51bGxL
ZXlSYW5nZVN0ZXAgPSAwOworc2VsZi5udWxsS2V5UmFuZ2VTdGVwID0gMDsKIGZ1bmN0aW9uIHRl
c3ROdWxsS2V5UmFuZ2UoKQogewotICAgIHdpbmRvdy5sb3dlciA9IDA7Ci0gICAgd2luZG93Lmxv
d2VySXNPcGVuID0gZmFsc2U7Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdERhdGEubGVuZ3RoLTE7
Ci0gICAgd2luZG93LnVwcGVySXNPcGVuID0gZmFsc2U7CisgICAgc2VsZi5sb3dlciA9IDA7Cisg
ICAgc2VsZi5sb3dlcklzT3BlbiA9IGZhbHNlOworICAgIHNlbGYudXBwZXIgPSB0ZXN0RGF0YS5s
ZW5ndGgtMTsKKyAgICBzZWxmLnVwcGVySXNPcGVuID0gZmFsc2U7CiAKICAgICBzdHIgPSAiTmV4
dCB0ZXN0OiBudWxsIGtleSBwYXRoICI7Ci0gICAgaWYgKHdpbmRvdy5udWxsS2V5UmFuZ2VTdGVw
ID09IDApIHsKKyAgICBpZiAoc2VsZi5udWxsS2V5UmFuZ2VTdGVwID09IDApIHsKICAgICAgICAg
c3RyICs9ICJzb3J0ZWQgYXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0
cnVlOwotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOwotICAgICAgICB3aW5k
b3cubnVsbEtleVJhbmdlU3RlcCA9IDE7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cubnVsbEtleVJh
bmdlU3RlcCA9PSAxKSB7CisgICAgICAgIHNlbGYuYXNjZW5kaW5nID0gdHJ1ZTsKKyAgICAgICAg
c2VsZi5leHBlY3RlZEluZGV4ID0gbG93ZXI7CisgICAgICAgIHNlbGYubnVsbEtleVJhbmdlU3Rl
cCA9IDE7CisgICAgfSBlbHNlIGlmIChzZWxmLm51bGxLZXlSYW5nZVN0ZXAgPT0gMSkgewogICAg
ICAgICBzdHIgKz0gInNvcnRlZCBkZXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRp
bmcgPSBmYWxzZTsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKLSAgICAg
ICAgd2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPSAyOworICAgICAgICBzZWxmLmFzY2VuZGluZyA9
IGZhbHNlOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKKyAgICAgICAgc2Vs
Zi5udWxsS2V5UmFuZ2VTdGVwID0gMjsKICAgICB9IGVsc2UgewogICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKaW5k
ZXggZmIzMTZmZDJlMmM5ZjdmZDRhYTRiMzFmNmE4MjBjZjRhYmNjMTRlNC4uNzQ4ZWNkNDkxZjgx
NGEyZDY4ZGYxOGNlY2NlYjMyMzdmYjZiYThkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9y
ZS5odG1sCkBAIC0yOSwxNCArMjksMTQgQEAgZnVuY3Rpb24gc3RhcnRTZXRWZXJzaW9uKCkKIAog
ZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUo
InRyYW5zICE9PSBudWxsIik7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCiAg
ICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnLCBudWxsKSIpOwogCi0gICAgd2luZG93LmluZGV4ID0gZXZhbEFuZExvZygic3RvcmUu
Y3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICcnKSIpOworICAgIHNlbGYuaW5kZXggPSBldmFsQW5k
TG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpIik7CiAgICAgc2hvdWxkQmVU
cnVlKCJzdG9yZS5pbmRleE5hbWVzLmNvbnRhaW5zKCdpbmRleE5hbWUnKSIpOwogCiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInN0b3JlLmFkZCgndmFsdWUnLCAna2V5JykiKTsKQEAgLTY2LDcg
KzY2LDcgQEAgZnVuY3Rpb24gYWRkSW5kZXgoKQogCiBmdW5jdGlvbiBkZWxldGVPYmplY3RTdG9y
ZSgpCiB7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAg
ICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24t
ZXhwZWN0ZWQudHh0CmluZGV4IGQ1ZTliNDU0NzAyMjdhZjFkY2RhNDVjOGIwMTRlNDRlMmZmODJl
OGYuLmI5NzY0MzkzMjI4YmE0ODcwZTAxNWYxZTk0MzZiNzY1MjRkNGZiN2YgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12ZXJz
aW9uLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBCb29sZWFuKGluZGV4ZWREQiAm
JiBJREJDdXJzb3IgJiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJvciAmJiBJREJEYXQK
IAogCiBURVNUOiBzZXRWZXJzaW9uIGJsb2NrZWQgb24gb3BlbiBoYW5kbGVzCi13aW5kb3cuZGJu
YW1lID0gJ3Rlc3QxJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRi
bmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicK
ICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtMjAsMTAgKzIwLDEwIEBAIHdpbmRv
dy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdo
Mi5jbG9zZScKICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5z
YWN0aW9uLWNvbXBsZXRlJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3Bl
bixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNp
b24saDIub252ZXJzaW9uY2hhbmdlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgx
LnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUi
CitQQVNTIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vz
cyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJzaW9uY2hh
bmdlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNj
ZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUiCiAKIFRFU1Q6IHNldFZlcnNp
b24gbm90IGJsb2NrZWQgaWYgaGFuZGxlIGNsb3NlZCBpbW1lZGlhdGVseQotd2luZG93LmRibmFt
ZSA9ICd0ZXN0Mic7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXQorc2VsZi5kYm5h
bWUgPSAndGVzdDInOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gxLm9wZW4nCiAn
aDEub3Blbi5vbnN1Y2Nlc3MnCiAnaDIub3BlbicKQEAgLTM2LDEwICszNiwxMCBAQCB3aW5kb3cu
ZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiAnaDEu
c2V0VmVyc2lvbi5vbnN1Y2Nlc3MnCiAnaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0
ZScKIE5PVEU6IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNpb24ub25ibG9j
a2VkIHN0ZXA7IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMAot
RkFJTCB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3BlbixoMS5vcGVuLm9u
c3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJz
aW9uY2hhbmdlLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24u
dHJhbnNhY3Rpb24tY29tcGxldGUuIFdhcyBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9w
ZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIu
Y2xvc2UsaDEuc2V0VmVyc2lvbi5vbmJsb2NrZWQsaDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEu
c2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZS4KK0ZBSUwgc2VsZi5zdGVwcy50b1N0cmlu
ZygpIHNob3VsZCBiZSBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5v
bnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIuY2xvc2UsaDEuc2V0
VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZS4gV2Fz
IGgxLm9wZW4saDEub3Blbi5vbnN1Y2Nlc3MsaDIub3BlbixoMi5vcGVuLm9uc3VjY2VzcyxoMS5z
ZXRWZXJzaW9uLGgyLm9udmVyc2lvbmNoYW5nZSxoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uYmxv
Y2tlZCxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNv
bXBsZXRlLgogCiBURVNUOiBvcGVuIGFuZCBzZXRWZXJzaW9uIGJsb2NrZWQgaWYgYSBWRVJTSU9O
X0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nIC0gY2xvc2Ugd2hlbiBibG9ja2VkCi13aW5k
b3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitz
ZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEu
b3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtNTcsMTAgKzU3LDEwIEBA
IHdpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0g
W10KICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9u
LWNvbXBsZXRlJwogJ2gzLm9wZW4ub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJp
bmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNj
ZXNzLGgxLnNldFZlcnNpb24saDIuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDEuc2V0
VmVyc2lvbi5vbmJsb2NrZWQsaDEub252ZXJzaW9uY2hhbmdlLGgyLnNldFZlcnNpb24ub25ibG9j
a2VkLGgyLmNsb3NlLGgzLm9wZW4saDIuc2V0VmVyc2lvbi5vbmVycm9yLGgxLnNldFZlcnNpb24u
b25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1
Y2Nlc3MiCitQQVNTIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9u
c3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIuc2V0VmVy
c2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDEuc2V0VmVyc2lvbi5vbmJsb2NrZWQsaDEub252ZXJz
aW9uY2hhbmdlLGgyLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgzLm9wZW4saDIuc2V0
VmVyc2lvbi5vbmVycm9yLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJh
bnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MiCiAKIFRFU1Q6IG9wZW4gYW5kIHNl
dFZlcnNpb24gYmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5p
bmcgLSBqdXN0IGNsb3NlCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q0Jzsgd2luZG93LnZlciA9IDE7
IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0NCc7IHNlbGYudmVyID0gMTsg
c2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVu
JwpAQCAtNzMsMTAgKzczLDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDQnOyB3aW5kb3cudmVy
ID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBs
ZXRlJwogJ2gzLm9wZW4ub25zdWNjZXNzJwogTk9URTogV2lsbCBGQUlMIHdpdGggZXh0cmEgYm9n
dXMgaDEuc2V0VmVyc2lvbi5vbmJsb2NrZWQgc3RlcDsgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcxMTMwCi1GQUlMIHdpbmRvdy5zdGVwcy50b1N0cmluZygpIHNob3Vs
ZCBiZSBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3Ms
aDEuc2V0VmVyc2lvbixoMy5vcGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgx
LnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MuIFdhcyBo
MS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0
VmVyc2lvbixoMy5vcGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgxLnNldFZl
cnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Bl
bi5vbnN1Y2Nlc3MuCitGQUlMIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3Bl
bixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNp
b24saDMub3BlbixoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9u
LnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNzLiBXYXMgaDEub3BlbixoMS5v
cGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDMu
b3BlbixoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCxoMS5zZXRWZXJzaW9uLm9uc3Vj
Y2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNz
LgogCiBURVNUOiBvcGVuIGJsb2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBp
cyBydW5uaW5nCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRv
dy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0NSc7IHNlbGYudmVyID0gMTsgc2VsZi5z
dGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9u
JwpAQCAtODQsMTAgKzg0LDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDUnOyB3aW5kb3cudmVy
ID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5z
ZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwogJ2gyLm9wZW4ub25zdWNjZXNzJwotUEFT
UyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vzcyxo
MS5zZXRWZXJzaW9uLGgyLm9wZW4saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lv
bi50cmFuc2FjdGlvbi1jb21wbGV0ZSxoMi5vcGVuLm9uc3VjY2VzcyIKK1BBU1Mgc2VsZi5zdGVw
cy50b1N0cmluZygpIGlzICJoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24s
aDIub3BlbixoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9u
LWNvbXBsZXRlLGgyLm9wZW4ub25zdWNjZXNzIgogCiBURVNUOiB0d28gc2V0VmVyc2lvbnMgZnJv
bSB0aGUgc2FtZSBjb25uZWN0aW9uCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZl
ciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Nic7IHNlbGYudmVy
ID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdo
MS5zZXRWZXJzaW9uJwpAQCAtOTcsNyArOTcsNyBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsg
d2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiBoYWxmIGRvbmUKICdoMS5zZXRWZXJz
aW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwotUEFT
UyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vzcyxo
MS5zZXRWZXJzaW9uLGgxLnNldFZlcnNpb24saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0
VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5z
ZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlIgorUEFTUyBzZWxmLnN0ZXBzLnRvU3RyaW5n
KCkgaXMgImgxLm9wZW4saDEub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMS5zZXRWZXJz
aW9uLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29t
cGxldGUsaDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1j
b21wbGV0ZSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVU
RQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12
ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZl
cnNpb24uaHRtbAppbmRleCBmY2M1MGIzYWVkNzQwNTk0MjYyMjQyZGEyNzEwMjY2NDU3MWY1ZmQ5
Li41MWY1MmIwMjgwMjVkOGYyZDNmNWZlNDg0YjJlOWM2MDdjZDIyNWFmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbApA
QCAtMTIsNDQgKzEyLDQ0IEBAIGRlc2NyaXB0aW9uKCJUZXN0IGludGVybGVhdmVkIG9wZW4vY2xv
c2Uvc2V0VmVyc2lvbiBjYWxscyBpbiB2YXJpb3VzIHBlcm11dGF0aW9uCiAKIGZ1bmN0aW9uIENv
bm5lY3Rpb24oaWQpIHsKICAgICBpZCA9IFN0cmluZyhpZCk7Ci0gICAgdmFyIHNlbGYgPSB0aGlz
OworICAgIHZhciB0aGF0ID0gdGhpczsKICAgICB0aGlzLm9wZW4gPSBmdW5jdGlvbihvcHRzKSB7
Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4n
IikpOwotICAgICAgICB2YXIgcmVxID0gaW5kZXhlZERCLm9wZW4od2luZG93LmRibmFtZSk7Cisg
ICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vcGVuJyIpKTsK
KyAgICAgICAgdmFyIHJlcSA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKTsKICAgICAgICAg
cmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxLm9uc3Vj
Y2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICBzZWxmLmhhbmRsZSA9IGUudGFyZ2V0
LnJlc3VsdDsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsg
aWQgKyAiLm9wZW4ub25zdWNjZXNzJyIpKTsKLSAgICAgICAgICAgIHNlbGYuaGFuZGxlLm9udmVy
c2lvbmNoYW5nZSA9IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAgICB3aW5kb3cuc3RlcHMu
cHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vbnZlcnNpb25jaGFuZ2UnIikpOwotICAgICAg
ICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub252ZXJzaW9uKSB7IG9wdHMub252ZXJzaW9uLmNh
bGwoc2VsZik7IH0KKyAgICAgICAgICAgIHRoYXQuaGFuZGxlID0gZS50YXJnZXQucmVzdWx0Owor
ICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4u
b25zdWNjZXNzJyIpKTsKKyAgICAgICAgICAgIHRoYXQuaGFuZGxlLm9udmVyc2lvbmNoYW5nZSA9
IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIub252ZXJzaW9uY2hhbmdlJyIpKTsKKyAgICAgICAgICAgICAgICBpZiAo
b3B0cyAmJiBvcHRzLm9udmVyc2lvbikgeyBvcHRzLm9udmVyc2lvbi5jYWxsKHRoYXQpOyB9CiAg
ICAgICAgICAgICB9OwotICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsg
b3B0cy5vbnN1Y2Nlc3MuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0
cy5vbnN1Y2Nlc3MpIHsgb3B0cy5vbnN1Y2Nlc3MuY2FsbCh0aGF0KTsgfQogICAgICAgICB9Owog
ICAgIH07CiAKICAgICB0aGlzLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHdpbmRvdy5z
dGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKKyAgICAgICAgc2Vs
Zi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKICAgICAgICAg
dGhpcy5oYW5kbGUuY2xvc2UoKTsKICAgICB9OwogCiAgICAgdGhpcy5zZXRWZXJzaW9uID0gZnVu
Y3Rpb24ob3B0cykgewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiAr
IGlkICsgIi5zZXRWZXJzaW9uJyIpKTsKLSAgICAgICAgdmFyIHJlcSA9IHRoaXMuaGFuZGxlLnNl
dFZlcnNpb24oU3RyaW5nKHdpbmRvdy52ZXIrKykpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2go
ZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbiciKSk7CisgICAgICAgIHZhciByZXEg
PSB0aGlzLmhhbmRsZS5zZXRWZXJzaW9uKFN0cmluZyhzZWxmLnZlcisrKSk7CiAgICAgICAgIHJl
cS5vbmFib3J0ID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNo
KGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25hYm9ydCciKSk7Ci0gICAgICAg
ICAgICBpZiAob3B0cyAmJiBvcHRzLm9uYWJvcnQpIHsgb3B0cy5vbmFib3J0LmNhbGwoc2VsZik7
IH0KKyAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5z
ZXRWZXJzaW9uLm9uYWJvcnQnIikpOworICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmFi
b3J0KSB7IG9wdHMub25hYm9ydC5jYWxsKHRoYXQpOyB9CiAgICAgICAgIH07CiAgICAgICAgIHJl
cS5vbmJsb2NrZWQgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1
c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmJsb2NrZWQnIikpOwotICAg
ICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmJsb2NrZWQpIHsgb3B0cy5vbmJsb2NrZWQuY2Fs
bChzZWxmKTsgfQorICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsg
aWQgKyAiLnNldFZlcnNpb24ub25ibG9ja2VkJyIpKTsKKyAgICAgICAgICAgIGlmIChvcHRzICYm
IG9wdHMub25ibG9ja2VkKSB7IG9wdHMub25ibG9ja2VkLmNhbGwodGhhdCk7IH0KICAgICAgICAg
fTsKICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICB3
aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uc3Vj
Y2VzcyciKSk7Ci0gICAgICAgICAgICBpZiAoc2VsZi5oYW5kbGUub2JqZWN0U3RvcmVOYW1lcy5j
b250YWlucygidGVzdC1zdG9yZSIgKyB3aW5kb3cudmVyKSkgewotICAgICAgICAgICAgICAgIHNl
bGYuaGFuZGxlLmRlbGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOwor
ICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZl
cnNpb24ub25zdWNjZXNzJyIpKTsKKyAgICAgICAgICAgIGlmICh0aGF0LmhhbmRsZS5vYmplY3RT
dG9yZU5hbWVzLmNvbnRhaW5zKCJ0ZXN0LXN0b3JlIiArIHNlbGYudmVyKSkgeworICAgICAgICAg
ICAgICAgIHRoYXQuaGFuZGxlLmRlbGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHNlbGYu
dmVyKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHZhciBzdG9yZSA9IHNlbGYuaGFuZGxl
LmNyZWF0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOworICAgICAgICAg
ICAgdmFyIHN0b3JlID0gdGhhdC5oYW5kbGUuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUi
ICsgc2VsZi52ZXIpOwogICAgICAgICAgICAgdmFyIGNvdW50ID0gMDsKICAgICAgICAgICAgIGRv
X2FzeW5jX3B1dHMoKTsgLy8gS2VlcCB0aGlzIHRyYW5zYWN0aW9uIHJ1bm5pbmcgZm9yIGEgd2hp
bGUKICAgICAgICAgICAgIGZ1bmN0aW9uIGRvX2FzeW5jX3B1dHMoKSB7CkBAIC01OSwxNSArNTks
MTUgQEAgZnVuY3Rpb24gQ29ubmVjdGlvbihpZCkgewogICAgICAgICAgICAgICAgICAgICBpZiAo
Kytjb3VudCA8IDEwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBkb19hc3luY19wdXRzKCk7
CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB3
aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLnRyYW5z
YWN0aW9uLWNvbXBsZXRlJyIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzICYm
IG9wdHMub25zdWNjZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwoc2VsZik7IH0KKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5z
ZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJyIpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChvcHRzICYmIG9wdHMub25zdWNjZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwodGhh
dCk7IH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH07CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH07CiAgICAgICAgIHJlcS5vbmVycm9yID0gZnVuY3Rpb24gKGUpIHsK
LSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNl
dFZlcnNpb24ub25lcnJvciciKSk7Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uZXJy
b3IpIHsgb3B0cy5vbmVycm9yLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgIHNlbGYuc3RlcHMu
cHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uZXJyb3InIikpOworICAg
ICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmVycm9yKSB7IG9wdHMub25lcnJvci5jYWxsKHRo
YXQpOyB9CiAgICAgICAgIH07CiAgICAgfTsKIH0KQEAgLTg4LDcgKzg4LDcgQEAgZnVuY3Rpb24g
dGVzdCgpIHsKIGZ1bmN0aW9uIHRlc3QxKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1Zygi
VEVTVDogc2V0VmVyc2lvbiBibG9ja2VkIG9uIG9wZW4gaGFuZGxlcyIpOwotICAgIGV2YWxBbmRM
b2coIndpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBz
ID0gW10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVy
ID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgx
Iik7CiAgICAgdmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1
bmN0aW9uKGRvTmV4dCkgeyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTAw
LDcgKzEwMCw3IEBAIGZ1bmN0aW9uIHRlc3QxKCkgewogICAgICAgICAgZnVuY3Rpb24oZG9OZXh0
KSB7IGgxLnNldFZlcnNpb24oe29uc3VjY2VzczogZmluaXNoVGVzdH0pOyB9LAogICAgICAgICAg
XSk7CiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9w
ZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIub3BlbiIs
CkBAIC0xMTksNyArMTE5LDcgQEAgZnVuY3Rpb24gdGVzdDEoKSB7CiBmdW5jdGlvbiB0ZXN0Migp
IHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IHNldFZlcnNpb24gbm90IGJsb2Nr
ZWQgaWYgaGFuZGxlIGNsb3NlZCBpbW1lZGlhdGVseSIpOwotICAgIGV2YWxBbmRMb2coIndpbmRv
dy5kYm5hbWUgPSAndGVzdDInOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsK
KyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2Vs
Zi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7CiAgICAg
dmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRv
TmV4dCkgeyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTM0LDcgKzEzNCw3
IEBAIGZ1bmN0aW9uIHRlc3QyKCkgewogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKICAg
ICAgICAgZGVidWcoIk5PVEU6IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNp
b24ub25ibG9ja2VkIHN0ZXA7IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MTEzMCIpOwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5zdGVwcy50
b1N0cmluZygpIiwKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0ZXBzLnRv
U3RyaW5nKCkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJoMS5vcGVuIiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDEub3Blbi5vbnN1Y2Nlc3MiLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJoMi5vcGVuIiwKQEAgLTE1Miw3ICsxNTIsNyBAQCBm
dW5jdGlvbiB0ZXN0MigpIHsKIGZ1bmN0aW9uIHRlc3QzKCkgewogICAgIGRlYnVnKCIiKTsKICAg
ICBkZWJ1ZygiVEVTVDogb3BlbiBhbmQgc2V0VmVyc2lvbiBibG9ja2VkIGlmIGEgVkVSU0lPTl9D
SEFOR0UgdHJhbnNhY3Rpb24gaXMgcnVubmluZyAtIGNsb3NlIHdoZW4gYmxvY2tlZCIpOwotICAg
IGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2lu
ZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Myc7
IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5l
Y3Rpb24oImgxIik7CiAgICAgdmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgdmFy
IGgzID0gbmV3IENvbm5lY3Rpb24oImgzIik7CkBAIC0xNjksNyArMTY5LDcgQEAgZnVuY3Rpb24g
dGVzdDMoKSB7CiAgICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgp
IHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmco
KSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygp
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiaDIub3BlbiIsCkBAIC0xOTQsNyArMTk0LDcgQEAgZnVuY3Rpb24g
dGVzdDMoKSB7CiBmdW5jdGlvbiB0ZXN0NCgpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWco
IlRFU1Q6IG9wZW4gYW5kIHNldFZlcnNpb24gYmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRy
YW5zYWN0aW9uIGlzIHJ1bm5pbmcgLSBqdXN0IGNsb3NlIik7Ci0gICAgZXZhbEFuZExvZygid2lu
ZG93LmRibmFtZSA9ICd0ZXN0NCc7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXSIp
OworICAgIGV2YWxBbmRMb2coInNlbGYuZGJuYW1lID0gJ3Rlc3Q0Jzsgc2VsZi52ZXIgPSAxOyBz
ZWxmLnN0ZXBzID0gW10iKTsKICAgICB2YXIgaDEgPSBuZXcgQ29ubmVjdGlvbigiaDEiKTsKICAg
ICB2YXIgaDIgPSBuZXcgQ29ubmVjdGlvbigiaDIiKTsKICAgICB2YXIgaDMgPSBuZXcgQ29ubmVj
dGlvbigiaDMiKTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBmdW5jdGlvbiB0ZXN0NCgpIHsKIAogICAg
IGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CiAgICAgICAgIGRlYnVnKCJOT1RFOiBXaWxsIEZBSUwg
d2l0aCBleHRyYSBib2d1cyBoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAiKTsKLSAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIu
b3BlbiIsCkBAIC0yMjYsNyArMjI2LDcgQEAgZnVuY3Rpb24gdGVzdDQoKSB7CiBmdW5jdGlvbiB0
ZXN0NSgpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IG9wZW4gYmxvY2tlZCBp
ZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmciKTsKLSAgICBldmFsQW5k
TG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVw
cyA9IFtdIik7CisgICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDUnOyBzZWxmLnZl
ciA9IDE7IHNlbGYuc3RlcHMgPSBbXSIpOwogICAgIHZhciBoMSA9IG5ldyBDb25uZWN0aW9uKCJo
MSIpOwogICAgIHZhciBoMiA9IG5ldyBDb25uZWN0aW9uKCJoMiIpOwogCkBAIC0yMzYsNyArMjM2
LDcgQEAgZnVuY3Rpb24gdGVzdDUoKSB7CiAgICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rp
b24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cu
c3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5z
dGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3Bl
biIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDEuc2V0VmVyc2lvbiIsCkBAIC0yNTMs
NyArMjUzLDcgQEAgZnVuY3Rpb24gdGVzdDUoKSB7CiBmdW5jdGlvbiB0ZXN0NigpIHsKICAgICBk
ZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IHR3byBzZXRWZXJzaW9ucyBmcm9tIHRoZSBzYW1l
IGNvbm5lY3Rpb24iKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsg
d2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7CisgICAgZXZhbEFuZExvZygic2Vs
Zi5kYm5hbWUgPSAndGVzdDYnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXSIpOwogICAg
IHZhciBoMSA9IG5ldyBDb25uZWN0aW9uKCJoMSIpOwogCiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9u
KGRvTmV4dCkgeyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKQEAgLTI3Miw3ICsyNzIsNyBAQCBmdW5jdGlvbiB0ZXN0Nigp
IHsKICAgICB9ICAKIAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygid2luZG93LnN0ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInNlbGYuc3RlcHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbImgxLm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJoMS5vcGVuLm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImgxLnNldFZlcnNpb24iLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb3Blbi1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4t
Y3Vyc29yLmh0bWwKaW5kZXggMDllZDc5OGRmNjljN2RiNGQ1NmJmZmZjNWYyZjQ1MTZjYTYyYzcy
NC4uZjRiMzhjY2Q3ZWNjNmY4NDk5NGNkZWU2MGZhZDM2OTExOTM5NzkxMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sCkBAIC01Nyw3ICs1Nyw3
IEBAIGZ1bmN0aW9uIG9wZW5DdXJzb3IoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQog
ewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91
bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0
ZWRBYm9ydENhbGxiYWNrOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9wcmVmZXRjaC1idWdmaXgtMTA4MDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9wcmVmZXRjaC1idWdmaXgtMTA4MDcxLmh0bWwKaW5kZXggZDAyNjIxYzdkN2EwZDVl
YzAwMDk3MDk1MTU0NTg1ZDMxYjBmMGRmMC4uMjI3ODI2ZTQ2YTY3ZmNlYjYyY2FjZTcxNGM2Nzli
MzJiMDUzMDRmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcHJl
ZmV0Y2gtYnVnZml4LTEwODA3MS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3ByZWZldGNoLWJ1Z2ZpeC0xMDgwNzEuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBmdW5jdGlv
biBvcGVuU3VjY2VzcygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVi
dWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExv
ZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgi
dHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2Fs
bGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IGl0ZXJhdGVBbmREZWxldGVGaXJzdEVsZW1l
bnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9xdWV1ZWQtY29t
bWFuZHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5k
cy5odG1sCmluZGV4IGM5NzMwZGIwNDU3NjUwYjQ0ZDFmYTAyNWMwYjk3NjhhMmMzMmE2YmMuLmU3
YTlhYzcxMTVhMDY3OWQzOWEwNzRlNWY3OGI4YjNiMzU3ZDc1NjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCkBAIC0zMCwxNCAr
MzAsMTQgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygp
CiB7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNo
b3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBl
Y3RlZEFib3J0Q2FsbGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0g
ICAgd2luZG93LnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpIik7Ci0gICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygic3RvcmUuY3Jl
YXRlSW5kZXgoJ2luZGV4TmFtZScsICd4JykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExv
ZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CisgICAgc2VsZi5pbmRleE9i
amVjdCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcpIik7
CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygic3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAn
enp6J30sICdrZXknKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZl
cmlmeUFkZCgwKTsgfTsKQEAgLTUxLDcgKzUxLDcgQEAgZnVuY3Rpb24gZGVsZXRlRXhpc3Rpbmco
KQogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZlcmlmeUFkZCgyKTsgfTsK
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIAotICAgIHdp
bmRvdy5hZGRDb3VudCA9IDA7CisgICAgc2VsZi5hZGRDb3VudCA9IDA7CiB9CiAKIGZ1bmN0aW9u
IHZlcmlmeUFkZChleHBlY3RlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCAxNzY2YjYy
NmYxY2Y5MGQxZjQxYTAxZmI1YmYxNzJlZTUwOTEwZjM0Li4yMTU3MjcwZmExMzZhMmU1MTQ3YTg0
YjNiNTE3YTBhMGZlMmUxOWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCkBAIC0zMCw3ICsz
MCw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQog
ewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91
bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0
ZWRBYm9ydENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBzdGFy
dFRlc3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZl
cnNpb24tbnVsbC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lv
bi1udWxsLmh0bWwKaW5kZXggODVlNmE4Mjg1OTY2ZjQwOTJlYzliZDE0MjUxYTRiMTc5Mzk3OTll
MC4uNmE4ODAxNDBmZjUxNjMzNDFlNGY3NzhkNzRkMzg2YWQ1ZmEyODEwNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKQEAgLTE1
LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMo
KTsKICAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBz
ZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJh
c2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNj
cmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZlcnNpb24tdW5kZWZpbmVk
Lmh0bWwKaW5kZXggMjM3MDBiZTgwOTlhNjM0NGQwNjhiMThiNzYzMTFkYzhiMjQ2ZTFmNi4uZGZh
OGE1MWM4Y2NmMGE5MWQ0OTI0NTU0NGY3YjY0NGJiOTE2MWE2NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5lZC5odG1sCkBA
IC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZp
eGVzKCk7CiAgCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1l
ID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERh
dGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwg
ZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX2Jsb2Nr
ZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX2Jsb2Nr
ZWQuaHRtbAppbmRleCA5YTgyODIyZjViNGNmN2FkMGQ1ZDBkOWUyMjdmZmNhNzYyNTIxMzJlLi4y
NzU2ZTUzNjA2M2EzNjZkY2E0ZWQzYWE5OWQwNzVlZTkzNTkwMTViIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9ibG9ja2VkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fYmxvY2tlZC5odG1sCkBA
IC02MCw3ICs2MCw3IEBAIGZ1bmN0aW9uIGluU2V0VmVyc2lvbigpCiANCiB0ZXN0KCk7DQogDQot
PC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+DQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4NCiA8L2h0bWw+
DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25f
cXVldWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1
ZXVlLmh0bWwKaW5kZXggZmY1NjBhZjA4NDNiNmNkOTQxMTljNWIwMTNjZTc2Y2I4MTVhYWNlNS4u
ZjQyZTAwODg1YTdkMjAyNTg3OTgyZmZmZTZjMTcyODg5NjJiN2M3MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS5odG1sCkBAIC0x
Miw3ICsxMiw2IEBAIGRlc2NyaXB0aW9uKCI0IG9wZW4gY29ubmVjdGlvbnMgdHJ5IHRvIHNldFZl
cnNpb24gYXQgdGhlIHNhbWUgdGltZS4gIDMgY29ubmVjdGlvCiANCiBjb25uZWN0aW9ucyA9IFtd
DQogZnVuY3Rpb24gdGVzdCgpDQotew0KICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOw0KIA0K
ICAgICBvcGVuREJDb25uZWN0aW9uKCk7DQpAQCAtMTI3LDcgKzEyNiw3IEBAIGZ1bmN0aW9uIGlu
U2V0VmVyc2lvbjEoZXZlbnQpCiANCiB0ZXN0KCk7DQogDQotPC9zY3JpcHQ+DQotPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+DQor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4NCiA8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4
dAppbmRleCBmOTY0ZDIyMTA1YjRmMGJkZjZmOTRiMThkMDQ4ZjgwNmZhZmIzNzk4Li5hODE5YThl
ZTNjYTI2MmU0OWYyN2Y4YmU5ZGI1ZDE4NjdiMDIxZTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLWV4cGVjdGVkLnR4
dApAQCAtNTk4LDcgKzU5OCw3IEBAIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNv
ZGUgaXMgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSCiAKIE90aGVyIGhvc3Qgb2JqZWN0IHR5
cGVzOgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCh3aW5kb3csICdrZXknKQor
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChzZWxmLCAna2V5JykKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVf
RVJSCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KGRvY3VtZW50LCAna2V5JykK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xv
bmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUu
aHRtbAppbmRleCBhMzMzYTY5MmNmODhjZjZjOTBmOTk0ZTNiOWFmMGFlMTFmNWY5NWYzLi43ZDY0
OTlmMjc0ZDEzZjQ4N2JiZjgzNmQwM2FkOTkwY2E0ODEzNDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCkBAIC0xMSw3ICsx
MSw3IEBACiAKIGRlc2NyaXB0aW9uKCJUZXN0IHN0cnVjdHVyZWQgY2xvbmUgcGVybXV0YXRpb25z
IGluIEluZGV4ZWREQi4gRmlsZS9GaWxlTGlzdCB0ZXN0cyByZXF1aXJlIER1bXBSZW5kZXJUcmVl
LiIpOwogCi1pZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CitpZiAoc2VsZi5ldmVudFNlbmRlcikg
ewogICAgIHZhciBmaWxlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZUlucHV0
Iik7CiAgICAgdmFyIGZpbGVSZWN0ID0gZmlsZUlucHV0LmdldENsaWVudFJlY3RzKClbMF07CiAg
ICAgdmFyIHRhcmdldFggPSBmaWxlUmVjdC5sZWZ0ICsgZmlsZVJlY3Qud2lkdGggLyAyOwpAQCAt
MTA5LDcgKzEwOSw3IEBAIGZ1bmN0aW9uIHRlc3RWYWx1ZSh2YWx1ZSwgY2FsbGJhY2spCiAgICAg
dHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIGV2YWxB
bmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CiAK
LSAgICB3aW5kb3cudmFsdWUgPSB2YWx1ZTsKKyAgICBzZWxmLnZhbHVlID0gdmFsdWU7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coInN0b3JlLnB1dCh2YWx1ZSwgJ2tleScpIik7CiAgICAgcmVx
dWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbihlKSB7CkBAIC0xNDcsNyArMTQ3LDcgQEAgZnVuY3Rpb24gdGVzdFBy
aW1pdGl2ZVZhbHVlKHN0cmluZywgY2FsbGJhY2spCiAgICAgdmFyIHZhbHVlID0gZXZhbCgidmFs
dWUgPSAoIiArIHN0cmluZyArICIpIik7CiAgICAgdGVzdF9kYXRhID0gdmFsdWU7CiAgICAgdGVz
dFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHdpbmRvdy5yZXN1
bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICBzaG91
bGRCZVRydWUoImlzKHRlc3RfZGF0YSwgcmVzdWx0KSIpOwogICAgICAgICBkZWJ1ZygiIik7CiAg
ICAgICAgIGNhbGxiYWNrKCk7CkBAIC0xNjAsNyArMTYwLDcgQEAgZnVuY3Rpb24gdGVzdE9iamVj
dFdpdGhWYWx1ZShzdHJpbmcsIGNhbGxiYWNrKQogICAgIHZhciB2YWx1ZSA9IGV2YWwoInZhbHVl
ID0gKCIgKyBzdHJpbmcgKyAiKSIpOwogICAgIHRlc3RfZGF0YSA9IHZhbHVlOwogICAgIHRlc3RW
YWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICB3aW5kb3cucmVzdWx0
ID0gcmVzdWx0OworICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgcmVzdWx0IiwgIm9iamVjdCIpOwogICAgICAgICBzaG91
bGRCZSgiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkiLCAiT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKHRlc3RfZGF0YSkiKTsKICAgICAgICAgc2hvdWxkQmVUcnVl
KCJ0ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwpAQCAtMjgyLDcgKzI4Miw3IEBAIGZ1bmN0aW9uIHRl
c3RSZWdFeHBPYmplY3QoY2FsbGJhY2spCiAgICAgICAgIHZhciB2YWx1ZSA9IGV2YWwoInZhbHVl
ID0gKCIgKyBzdHJpbmcgKyAiKSIpOwogICAgICAgICB0ZXN0X2RhdGEgPSB2YWx1ZTsKICAgICAg
ICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgICAgICB3
aW5kb3cucmVzdWx0ID0gcmVzdWx0OworICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSByZXN1bHQ7
CiAgICAgICAgICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7CiAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChyZXN1bHQpIiwgIltvYmplY3QgUmVnRXhwXSIpOwogICAgICAgICAgICAgc2hvdWxkQmUo
InJlc3VsdC50b1N0cmluZygpIiwgInRlc3RfZGF0YS50b1N0cmluZygpIik7CkBAIC0zMTcsNyAr
MzE3LDcgQEAgZnVuY3Rpb24gdGVzdEltYWdlRGF0YShjYWxsYmFjaykKICAgICB9CiAKICAgICB0
ZXN0VmFsdWUodGVzdF9kYXRhLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgd2luZG93LnJl
c3VsdCA9IHJlc3VsdDsKKyAgICAgICAgc2VsZi5yZXN1bHQgPSByZXN1bHQ7CiAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgidGVzdF9kYXRhICE9PSByZXN1bHQiKTsKICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0KSIsICJbb2Jq
ZWN0IEltYWdlRGF0YV0iKTsKICAgICAgICAgc2hvdWxkQmUoInJlc3VsdC53aWR0aCIsICJ0ZXN0
X2RhdGEud2lkdGgiKTsKQEAgLTM1MCw3ICszNTAsNyBAQCBmdW5jdGlvbiByZWFkQmxvYkFzVGV4
dChibG9iLCBjYWxsYmFjaykKIGZ1bmN0aW9uIGNoZWNrQmxvYkNvbnRlbnRzKGJsb2IsIGV4cGVj
dGVkLCBjYWxsYmFjaykKIHsKICAgICByZWFkQmxvYkFzVGV4dChibG9iLCBmdW5jdGlvbih0ZXh0
KSB7Ci0gICAgICAgIHdpbmRvdy50ZXh0ID0gdGV4dDsKKyAgICAgICAgc2VsZi50ZXh0ID0gdGV4
dDsKICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0ZXh0IiwgZXhwZWN0ZWQpOwogICAg
ICAgICBjYWxsYmFjaygpOwogICAgIH0pOwpAQCAtMzYwLDggKzM2MCw4IEBAIGZ1bmN0aW9uIGNv
bXBhcmVCbG9icyhibG9iMSwgYmxvYjIsIGNhbGxiYWNrKQogewogICAgIHJlYWRCbG9iQXNUZXh0
KGJsb2IxLCBmdW5jdGlvbih0ZXh0MSkgewogICAgICAgICByZWFkQmxvYkFzVGV4dChibG9iMiwg
ZnVuY3Rpb24odGV4dDIpIHsKLSAgICAgICAgICAgIHdpbmRvdy50ZXh0MSA9IHRleHQxOwotICAg
ICAgICAgICAgd2luZG93LnRleHQyID0gdGV4dDI7CisgICAgICAgICAgICBzZWxmLnRleHQxID0g
dGV4dDE7CisgICAgICAgICAgICBzZWxmLnRleHQyID0gdGV4dDI7CiAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInRleHQyIiwgdGV4dDEpOwogICAgICAgICAgICAgY2FsbGJhY2so
KTsKICAgICAgICAgfSk7CkBAIC0zNzgsNyArMzc4LDcgQEAgZnVuY3Rpb24gdGVzdEJsb2IoY2Fs
bGJhY2spCiAgICAgY2FsbGJhY2soKTsKICAgICByZXR1cm47CiAKLSAgICBldmFsQW5kTG9nKCJC
bG9iQnVpbGRlciA9IHdpbmRvdy5CbG9iQnVpbGRlciB8fCB3aW5kb3cuV2ViS2l0QmxvYkJ1aWxk
ZXIiKTsKKyAgICBldmFsQW5kTG9nKCJCbG9iQnVpbGRlciA9IHNlbGYuQmxvYkJ1aWxkZXIgfHwg
c2VsZi5XZWJLaXRCbG9iQnVpbGRlciIpOwogICAgIHNob3VsZEJlVHJ1ZSgiQmxvYkJ1aWxkZXIg
IT0gbnVsbCIpOwogICAgIHNob3VsZEJlVHJ1ZSgiRmlsZVJlYWRlciAhPSBudWxsIik7CiAgICAg
ZXZhbEFuZExvZygiYnVpbGRlciA9IG5ldyBCbG9iQnVpbGRlcigpIik7CkBAIC0zODYsNyArMzg2
LDcgQEAgZnVuY3Rpb24gdGVzdEJsb2IoY2FsbGJhY2spCiAgICAgZXZhbEFuZExvZygiYnVpbGRl
ci5hcHBlbmQodGVzdF9jb250ZW50KSIpOwogICAgIGV2YWxBbmRMb2coInRlc3RfZGF0YSA9IGJ1
aWxkZXIuZ2V0QmxvYigpIik7CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVz
dWx0KSB7Ci0gICAgICAgIHdpbmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVz
dWx0ID0gcmVzdWx0OwogICAgICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0
Iik7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKHJlc3VsdCkiLCAiW29iamVjdCBCbG9iXSIpOwogICAgICAgICBzaG91bGRCZSgi
cmVzdWx0LnNpemUiLCAidGVzdF9kYXRhLnNpemUiKTsKQEAgLTM5Nyw4ICszOTcsOCBAQCBmdW5j
dGlvbiB0ZXN0QmxvYihjYWxsYmFjaykKIAogZnVuY3Rpb24gY29tcGFyZUZpbGVzKGZpbGUxLCBm
aWxlMiwgY2FsbGJhY2spCiB7Ci0gICAgd2luZG93LmZpbGUxID0gZmlsZTE7Ci0gICAgd2luZG93
LmZpbGUyID0gZmlsZTI7CisgICAgc2VsZi5maWxlMSA9IGZpbGUxOworICAgIHNlbGYuZmlsZTIg
PSBmaWxlMjsKICAgICBzaG91bGRCZVRydWUoImZpbGUxICE9PSBmaWxlMiIpOwogICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGZpbGUxKSIs
ICJbb2JqZWN0IEZpbGVdIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwoZmlsZTIpIiwgIltvYmplY3QgRmlsZV0iKTsKQEAgLTQyNiw5
ICs0MjYsOSBAQCBmdW5jdGlvbiB0ZXN0RmlsZShjYWxsYmFjaykKIAogICAgIGV2YWxBbmRMb2co
InRlc3RfY29udGVudCA9IGZpbGVJbnB1dC5maWxlc1swXSIpOwogCi0gICAgd2luZG93LnRlc3Rf
ZGF0YSA9IHRlc3RfY29udGVudDsKKyAgICBzZWxmLnRlc3RfZGF0YSA9IHRlc3RfY29udGVudDsK
ICAgICB0ZXN0VmFsdWUodGVzdF9kYXRhLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgd2lu
ZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAgICAgc2VsZi5yZXN1bHQgPSByZXN1bHQ7CiAgICAg
ICAgIGNvbXBhcmVGaWxlcyhyZXN1bHQsIHRlc3RfZGF0YSwgY2FsbGJhY2spOwogICAgIH0pOwog
fQpAQCAtNDQ2LDkgKzQ0Niw5IEBAIGZ1bmN0aW9uIHRlc3RGaWxlTGlzdChjYWxsYmFjaykKIAog
ICAgIGV2YWxBbmRMb2coInRlc3RfY29udGVudCA9IGZpbGVJbnB1dC5maWxlcyIpOwogCi0gICAg
d2luZG93LnRlc3RfZGF0YSA9IHRlc3RfY29udGVudDsKKyAgICBzZWxmLnRlc3RfZGF0YSA9IHRl
c3RfY29udGVudDsKICAgICB0ZXN0VmFsdWUodGVzdF9kYXRhLCBmdW5jdGlvbihyZXN1bHQpIHsK
LSAgICAgICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAgICAgc2VsZi5yZXN1bHQgPSBy
ZXN1bHQ7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdF9kYXRhICE9PSByZXN1bHQiKTsKICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNh
bGwocmVzdWx0KSIsICJbb2JqZWN0IEZpbGVMaXN0XSIpOwogICAgICAgICBzaG91bGRCZSgicmVz
dWx0Lmxlbmd0aCIsICJ0ZXN0X2RhdGEubGVuZ3RoIik7CkBAIC00NzcsNyArNDc3LDcgQEAgZnVu
Y3Rpb24gdGVzdEFycmF5KGNhbGxiYWNrKSB7CiAgICAgZXZhbEFuZExvZygidGVzdF9kYXRhWzMw
XSA9IG51bGwiKTsKIAogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkg
ewotICAgICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0OworICAgICAgICBzZWxmLnJlc3VsdCA9
IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwog
ICAgICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YS5sZW5ndGggPT09IHJlc3VsdC5sZW5ndGgi
KTsKICAgICAgICAgT2JqZWN0LmtleXModGVzdF9kYXRhKS5mb3JFYWNoKApAQCAtNTAwLDcgKzUw
MCw3IEBAIGZ1bmN0aW9uIHRlc3RPYmplY3QoY2FsbGJhY2spIHsKICAgICBldmFsQW5kTG9nKCJ0
ZXN0X2RhdGFbJyddID0gbnVsbCIpOwogCiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rp
b24ocmVzdWx0KSB7Ci0gICAgICAgIHdpbmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNl
bGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0g
cmVzdWx0Iik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgiYXJyYXlDb21wYXJlKE9iamVjdC5rZXlz
KHJlc3VsdCkuc29ydCgpLCBPYmplY3Qua2V5cyh0ZXN0X2RhdGEpLnNvcnQoKSkiKTsKICAgICAg
ICAgT2JqZWN0LmtleXModGVzdF9kYXRhKS5mb3JFYWNoKApAQCAtNTMwLDcgKzUzMCw3IEBAIGZ1
bmN0aW9uIHRlc3RCYWRUeXBlcygpCiAKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIk90aGVy
IGhvc3Qgb2JqZWN0IHR5cGVzOiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3Jl
LnB1dCh3aW5kb3csICdrZXknKSIsICJET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIiKTsKKyAg
ICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQoc2VsZiwgJ2tleScpIiwgIkRPTUV4
Y2VwdGlvbi5EQVRBX0NMT05FX0VSUiIpOwogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0
b3JlLnB1dChkb2N1bWVudCwgJ2tleScpIiwgIkRPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUiIp
OwogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLnB1dChkb2N1bWVudC5ib2R5LCAn
a2V5JykiLCAiRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSIik7CiB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJl
Y3Vyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YWJvcnQtd2l0aC1qcy1yZWN1cnNpb24uaHRtbAppbmRleCA3OThlODI3MDNmODZjOGIwOGY2ZGU0
NzFlNTZjMWZjNTBhNGYyZDgyLi43OWFiMzczMGZhZTU2ODg4ZmRhZWVhZWU4YmJhMzJjYzk3Mjky
MDViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9uLmh0bWwKQEAgLTQ2
LDcgKzQ2LDcgQEAgZnVuY3Rpb24gY2xpY2soKSB7CiB9DQogDQogZnVuY3Rpb24gdGVzdCgpDQot
ew0KK3sKICAgICBkZWJ1ZygiU3RhcnQgcmUtZW50cmFudCBKUyIpOw0KICAgICB0cmFuc2FjdGlv
biA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9y
ZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICBkZWJ1ZygiRW5kIHJlLWVu
dHJhbnQgSlMiKTsNCkBAIC02MSw3ICs2MSw3IEBAIGZ1bmN0aW9uIGFib3J0Q2FsbGJhY2soKQog
DQogc2V0dXAoKTsNCiANCi08L3NjcmlwdD4NCi08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4NCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9ib2R5Pg0KIDwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAppbmRleCA1ZmE5MDAyMDhhNWZjODJiNjBlODg1YmRj
ZDA5ZDU5ODBlOWMzMDhjLi40NTU0NTc3NmNjM2FlNTEwY2U2MDBiMTQ4ODNiMzMxOWQ0ODFhYTNl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1h
Ym9ydC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFib3J0Lmh0bWwKQEAgLTMxLDcgKzMxLDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBmdW5j
dGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6
Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0
cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgZXZhbEFuZExvZygi
dHJhbnMub25jb21wbGV0ZSA9IHN0YXJ0VGVzdCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwKaW5kZXgg
OTY1YzBhOTViNzQ2NTAyMDdhODZmMmNiYTM2YjhkYTgyNDU1NmFlNS4uYjFmMjViOWE5NmU1NzE5
YWMyZDQ5YWRjYmJhZjk2YTlhYTUxMTY5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sCkBAIC0yMiw3
ICsyMiw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQ0KIHsNCiAg
ICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7DQotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2co
ImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOw0KKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygi
ZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7DQogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJy
ZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsNCiAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBpblNldFZlcnNpb247DQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLmh0bWwKaW5k
ZXggZTBiZTk5N2QxZWMyMmZlNjJjN2Q5NzgwMWZhZDIwNDBhZTk4NjIzOC4uMWQ1NzRkYzI2M2E0
MTUxOWFhZDRmYTgyMzRiNjMxZjQ0MjU2YmE4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0
b3JlLWNhbGxzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKIGZ1bmN0
aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlc3VsdCA9IGRi
LnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjbGVh
bkRhdGFiYXNlOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggMzFmMDdiOTdiN2RhMTRkZTdkMTM4ZWMw
YTAyZDQ4NDdiYzU0MmQ1OS4uMmRhN2YzYzAyMmVjNWFjODBjY2YzYzdjMTgwOGJiYjY4YzFjMjE0
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC0xMSw5ICsxMSw5IEBAIG9wZW5TdWNj
ZXNzKCk6CiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIHJlcXVlc3QgPSBkYi5zZXRWZXJzaW9u
KCd2ZXJzaW9uIDEnKQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KLVBBU1Mgd2luZG93LmRi
Lm9iamVjdFN0b3JlTmFtZXMgaXMgW10KLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMu
bGVuZ3RoIGlzIDAKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0
b3JlRmFpbCcpIGlzIGZhbHNlCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbXQor
UEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZi5kYi5v
YmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxzZQogcmVxdWVzdCA9
IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBmYWlsJykKIGFkZFJlbW92ZUlEQk9iamVjdHMoKToK
IHRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdApAQCAtMjQsOSArMjQsOSBAQCBkYi5kZWxldGVP
YmplY3RTdG9yZSgnc3RvcmVGYWlsJykKIHN0b3JlLmRlbGV0ZUluZGV4KCdpbmRleEZhaWwnKQog
CiB0ZXN0U2V0VmVyc2lvbkFib3J0MigpOgotUEFTUyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1l
cyBpcyBbXQotUEFTUyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAotUEFT
UyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmVGYWlsJykgaXMgZmFs
c2UKK1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCitQQVNTIHNlbGYuZGIub2Jq
ZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMu
Y29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCiByZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9u
KCd2ZXJzaW9uIGZhaWwnKQogYWRkUmVtb3ZlQWRkSURCT2JqZWN0cygpOgogdHJhbnMgPSBldmVu
dC50YXJnZXQucmVzdWx0CkBAIC00MCw5ICs0MCw5IEBAIGluZGV4ID0gc3RvcmUuY3JlYXRlSW5k
ZXgoJ2luZGV4RmFpbCcsICd4JykKIAogdGVzdFNldFZlcnNpb25BYm9ydDMoKToKIFBBU1MgZXZl
bnQuY2FuY2VsYWJsZSBpcyBmYWxzZQotUEFTUyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcyBp
cyBbXQotUEFTUyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAotUEFTUyB3
aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UK
K1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCitQQVNTIHNlbGYuZGIub2JqZWN0
U3RvcmVOYW1lcy5sZW5ndGggaXMgMAorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMuY29u
dGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCiByZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2
ZXJzaW9uIGZhaWwnKQogYWRkSURCT2JqZWN0cygpOgogUEFTUyBldmVudC5jYW5jZWxhYmxlIGlz
IGZhbHNlCkBAIC04Nyw5ICs4Nyw5IEBAIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNT
IGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uVFJBTlNBQ1RJT05fSU5BQ1RJVkVfRVJSCiAK
IHRlc3RTZXRWZXJzaW9uQWJvcnQ0KCk6Ci1QQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVz
IGlzIFtdCi1QQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCi1QQVNT
IHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBpcyBmYWxz
ZQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KK1BBU1Mgc2VsZi5kYi5vYmpl
Y3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5j
b250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UKIHJlcXVlc3QgPSBzdGFydFNldFZlcnNpb24o
J3ZlcnNpb24gZmFpbCcpCiBhZGRJREJPYmplY3RzQW5kQ29tbWl0KCk6CiB0cmFucyA9IGV2ZW50
LnRhcmdldC5yZXN1bHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tYmFzaWNzLmh0bWwKaW5kZXggOWY1OTUwYTU0Nzk0YTBmMDAyODQ5ODhiMmM3
NzIzZjJlY2Q2MDU1Zi4uMzliODQ4YzcxYjMxOTc2YmFkYTgzOTcyOTMwMDg2YjMxOWIwZjg3OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFz
aWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YmFzaWNzLmh0bWwKQEAgLTIyLDcgKzIyLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiBmdW5jdGlvbiBv
cGVuU3VjY2VzcygpDQogew0KICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToiKTsNCi0gICAgd2lu
ZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7DQorICAgIHNl
bGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsNCiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIp
Ow0KICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7DQogICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOw0KQEAgLTIxNSw5ICsyMTUsOSBAQCBm
dW5jdGlvbiBzdGFydFNldFZlcnNpb24odmVyc2lvbk5hbWUpCiANCiBmdW5jdGlvbiBjaGVja01l
dGFkYXRhRW1wdHkoKQ0KIHsNCi0gICAgc2hvdWxkQmUoIndpbmRvdy5kYi5vYmplY3RTdG9yZU5h
bWVzIiwgIltdIik7DQotICAgIHNob3VsZEJlKCJ3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcy5s
ZW5ndGgiLCAiMCIpOw0KLSAgICBzaG91bGRCZSgid2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMu
Y29udGFpbnMoJ3N0b3JlRmFpbCcpIiwgImZhbHNlIik7DQorICAgIHNob3VsZEJlKCJzZWxmLmRi
Lm9iamVjdFN0b3JlTmFtZXMiLCAiW10iKTsNCisgICAgc2hvdWxkQmUoInNlbGYuZGIub2JqZWN0
U3RvcmVOYW1lcy5sZW5ndGgiLCAiMCIpOw0KKyAgICBzaG91bGRCZSgic2VsZi5kYi5vYmplY3RT
dG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSIsICJmYWxzZSIpOw0KIH0NCiANCiBmdW5j
dGlvbiBjaGVja01ldGFkYXRhRXhpc3RpbmdPYmplY3RTdG9yZSgpDQpAQCAtMjM4LDExICsyMzgs
MTEgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogew0KICAgICBkZWJ1ZygiIik7DQog
ICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOw0KLSAgICB3aW5kb3cudHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsNCisgICAgc2VsZi50cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOw0KICAgICBzaG91
bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7DQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVj
dGVkQWJvcnRDYWxsYmFjazsNCiAgICAgdHJhbnMuYWRkRXZlbnRMaXN0ZW5lcignY29tcGxldGUn
LCBjb21wbGV0ZUNhbGxiYWNrLCBmYWxzZSk7DQotICAgIHdpbmRvdy5jb21wbGV0ZUV2ZW50Rmly
ZWQgPSBmYWxzZTsNCisgICAgc2VsZi5jb21wbGV0ZUV2ZW50RmlyZWQgPSBmYWxzZTsNCiANCiAg
ICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsNCiANCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1h
Ym9ydC1leHBlY3RlZC50eHQKaW5kZXggOWI0M2U1YTA5NDA5OGE0ZjY2Y2QxMWYyNWY2NmY3YTkw
MGZkMjdiOS4uNjM2YzlhZTk1ZWYzZTc0OTliNjFmYzQ1Y2JkYzNlZGI5MzAyOTVhNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24t
YWJvcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Ry
YW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBk
YiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIGRiLnNldFZlcnNpb24oJzEuMCcpCiBkYi5jcmVhdGVP
YmplY3RTdG9yZSgnZm9vJykKIGRiLnRyYW5zYWN0aW9uKCdmb28nKQotd2luZG93LmdjKCkKK3Nl
bGYuZ2MoKQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbAppbmRleCAzOTUzMzc5ZDM3MjlhMDJlODI1ODM0ZTA4
ZDNlZmY5MDUzNDMyZGI0Li4xY2Y1MjdiZWIzYjEwYjgwMGMzZDk2Mzc2ODZiOTYwYTdiZmY3NDlk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Ry
YW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwKQEAgLTMyLDcgKzMyLDcgQEAgZnVuY3Rpb24g
c2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdmb28nKSIpOwogICAgIGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKCdmb28nKSIpOwot
ICAgIGV2YWxBbmRMb2coIndpbmRvdy5nYygpIik7CisgICAgZXZhbEFuZExvZygic2VsZi5nYygp
Iik7CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5o
dG1sCmluZGV4IGMzNjcyOWU2N2E3MzJlOTIzODY2MjA0OGU1ZDRmM2ZiMTZjNGRkYjQuLmI2Yjdl
ZGQ4NmUyZDI3YmMwNWU0YThhNGIzZTNiZjI1OTZkNmE0OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJv
cGFnYXRpb24uaHRtbApAQCAtMjksNyArMjksNyBAQCBmdW5jdGlvbiBzZXRWZXJzaW9uKCkKIAog
ZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUo
InRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENh
bGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBzdGFydFRlc3QiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJl
YWQtb25seS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
cmVhZC1vbmx5Lmh0bWwKaW5kZXggNDA2N2E4MWI5YjM1M2RlNDZhY2I4MTY3Yjk3Y2FjZGIzYmIw
Y2U4Zi4uMDEyNTRlNDRiOGI2MWNjNjVkZTg2MjQyNGY3M2U3MTk2Mjg4ZDA3NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcmVhZC1vbmx5Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcmVhZC1v
bmx5Lmh0bWwKQEAgLTIyLDcgKzIyLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiBmdW5jdGlvbiBvcGVu
U3VjY2VzcygpDQogew0KICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToiKTsNCi0gICAgd2luZG93
LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7DQorICAgIHNlbGYu
ZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsNCiAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coInJlc3VsdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7DQog
ICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsNCiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcm9sbGJhY2suaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0bWwKaW5kZXggNzE2MmE1
MGNhOWM1ZThlMTU0ZmMxOWMxYTYxYmYyNmUxNGRlYzUzMi4uODY0MWVlMzEzNDVjMThkNTA4MDky
MjgxNjU4NzllODY3ZTRjMGIzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tcm9sbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yb2xsYmFjay5odG1sCkBAIC0yMiw3ICsyMiw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogewogICAgIGRlYnVnKCJvcGVu
U3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOworICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZl
cnNpb24oJ3ZlcnNpb24gMScpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRhdGFi
YXNlOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpAQCAt
MzEsNyArMzEsNyBAQCBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiBmdW5jdGlvbiBjbGVhbkRhdGFi
YXNlKCkKIHsKICAgICBkZWJ1ZygiY2xlYW5EYXRhYmFzZSgpOiIpOwotICAgIHdpbmRvdy50cmFu
c2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OworICAgIHNlbGYudHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7CiAgICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHNldFZlcnNpb25Db21w
bGV0ZTsKIApAQCAtNDQsMTEgKzQ0LDExIEBAIGZ1bmN0aW9uIHNldFZlcnNpb25Db21wbGV0ZSgp
CiB7CiAgICAgZGVidWcoInNldFZlcnNpb25Db21wbGV0ZSgpOiIpOwogCi0gICAgd2luZG93LnRy
YW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ215
T2JqZWN0U3RvcmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICBzZWxmLnRy
YW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ215
T2JqZWN0U3RvcmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFuc2Fj
dGlvbi5vbmFib3J0ID0gYWJvcnRDYWxsYmFjazsKICAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRl
ID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2s7CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFs
QW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdteU9iamVjdFN0b3JlJyki
KTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5vYmpl
Y3RTdG9yZSgnbXlPYmplY3RTdG9yZScpIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInN0
b3JlLmFkZCgncm9sbGJhY2tWYWx1ZScsICdyb2xsYmFja0tleTEyMycpIik7CiAgICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBhZGRTdWNjZXNzOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwpAQCAtNjcsNyArNjcsNyBAQCBmdW5jdGlvbiBhZGRTdWNjZXNzKCkK
IGZ1bmN0aW9uIG9wZW5DdXJzb3JTdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlbkN1cnNvclN1
Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cuY3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29yID0gZXZl
bnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYuY3Vyc29yID0gZXZhbEFuZExvZygiY3Vyc29y
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgdHJhbnNhY3Rpb24uYWJvcnQoKTsKIH0K
QEAgLTc3LDggKzc3LDggQEAgZnVuY3Rpb24gYWJvcnRDYWxsYmFjaygpCiAgICAgZGVidWcoImFi
b3J0Q2FsbGJhY2soKToiKTsKICAgICBkZWJ1ZygnVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQuJyk7
CiAKLSAgICB3aW5kb3cudHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKFsnbXlPYmplY3RTdG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEKSIpOwot
ICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ215T2JqZWN0U3RvcmUnKSIpOworICAgIHNlbGYudHJhbnNhY3Rpb24gPSBldmFsQW5k
TG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnbXlPYmplY3RTdG9yZSddLCBJREJU
cmFuc2FjdGlvbi5SRUFEKSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdteU9iamVjdFN0b3JlJykiKTsKICAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygic3RvcmUuZ2V0KCdyb2xsYmFja0tleTEyMycpIik7CiAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBnZXRTdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sCmluZGV4
IDM1NGYxMTBhMjIwOTVjZTYxMGM4OTEwZjhlMmNmYTZiOWY2NzJiMjIuLjJmNjAxNWE5MDMyMzJj
YWQ4NDFiNTAyMWIzYTc0MDQxZjQ4OTkxZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVxdWlyZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVp
cmVkLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3Zl
VmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7
CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAi
TXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5v
cGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1
Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVy
c2lvbi1jaGFuZ2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3R3by12ZXJzaW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0CmluZGV4IDAwNWE2YTFiM2FhM2Y0NWYy
YWFlYTdhOTk0NGM1NTQ3MjAyMjFhZTkuLjZhODhkYWU4NDc4ZmExMGM4Y2IxOGM0YTA0MDMwNDZk
MmEyNTkwYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12
ZXJzaW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0CkBAIC04LDMyICs4LDMyIEBA
IFBBU1MgQm9vbGVhbihpbmRleGVkREIgJiYgSURCQ3Vyc29yICYmIElEQkRhdGFiYXNlICYmIElE
QkRhdGFiYXNlRXJyb3IgJiYgSURCRGF0CiAKIFBBU1MgaW5kZXhlZERCID09IG51bGwgaXMgZmFs
c2UKIFBBU1MgSURCVHJhbnNhY3Rpb24gPT0gbnVsbCBpcyBmYWxzZQotd2luZG93LnN0YXRlID0g
J3N0YXJ0aW5nJworc2VsZi5zdGF0ZSA9ICdzdGFydGluZycKIGluZGV4ZWREQi5vcGVuKCd0d28t
dmVyc2lvbnMtb25lLWNvbm5lY3Rpb24nKQogZGIgPSBldmVudC50YXJnZXQucmVzdWx0Ci13aW5k
b3cuc3RhdGUgPSAwCitzZWxmLnN0YXRlID0gMAogZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykK
IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMicpCiBzZXRWZXJzaW9uKCkgIzEgY2FsbGJhY2sKLXdp
bmRvdy5zdG9yZTEgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgndGVzdC1zdG9yZTEnKQotUEFTUyAr
K3dpbmRvdy5zdGF0ZSBpcyAxCi13aW5kb3cuc3RvcmUxLnB1dCgnYWFhJywgMTExKQotUEFTUyAr
K3dpbmRvdy5zdGF0ZSBpcyAyCi1QQVNTICsrd2luZG93LnN0YXRlIGlzIDMKK3NlbGYuc3RvcmUx
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykKK1BBU1MgKytzZWxmLnN0YXRl
IGlzIDEKK3NlbGYuc3RvcmUxLnB1dCgnYWFhJywgMTExKQorUEFTUyArK3NlbGYuc3RhdGUgaXMg
MgorUEFTUyArK3NlbGYuc3RhdGUgaXMgMwogaGFsZndheSB0aGVyZS4uLgogc2V0VmVyc2lvbigp
ICMyIGNhbGxiYWNrCi1QQVNTICsrd2luZG93LnN0YXRlIGlzIDQKLXdpbmRvdy5zdG9yZTIgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgndGVzdC1zdG9yZTInKQotd2luZG93LnN0b3JlMi5wdXQoJ2Ji
YicsIDIyMikKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgNQotUEFTUyArK3dpbmRvdy5zdGF0ZSBp
cyA2Ci1QQVNTIHdpbmRvdy5kYi52ZXJzaW9uIGlzICJ2ZXJzaW9uIDIiCi13aW5kb3cudHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbJ3Rlc3Qtc3RvcmUxJywgJ3Rlc3Qtc3RvcmUyJ10pCi13aW5kb3cu
c3RvcmUgPSB3aW5kb3cudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykKLXdpbmRvdy5y
ZXEgPSB3aW5kb3cuc3RvcmUuZ2V0KDExMSkKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDQKK3NlbGYu
c3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykKK3NlbGYuc3RvcmUy
LnB1dCgnYmJiJywgMjIyKQorUEFTUyArK3NlbGYuc3RhdGUgaXMgNQorUEFTUyArK3NlbGYuc3Rh
dGUgaXMgNgorUEFTUyBzZWxmLmRiLnZlcnNpb24gaXMgInZlcnNpb24gMiIKK3NlbGYudHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbJ3Rlc3Qtc3RvcmUxJywgJ3Rlc3Qtc3RvcmUyJ10pCitzZWxmLnN0
b3JlID0gc2VsZi50cmFucy5vYmplY3RTdG9yZSgndGVzdC1zdG9yZTEnKQorc2VsZi5yZXEgPSBz
ZWxmLnN0b3JlLmdldCgxMTEpCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgImFhYSIKLXdp
bmRvdy5zdG9yZSA9IHdpbmRvdy50cmFucy5vYmplY3RTdG9yZSgndGVzdC1zdG9yZTInKQotd2lu
ZG93LnJlcSA9IHdpbmRvdy5zdG9yZS5nZXQoMjIyKQorc2VsZi5zdG9yZSA9IHNlbGYudHJhbnMu
b2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykKK3NlbGYucmVxID0gc2VsZi5zdG9yZS5nZXQoMjIy
KQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzICJiYmIiCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbAppbmRleCBlODBlYWZlMGJjOGEwNjkxNGQwNWE2Njcy
MzZhNmE2YWU2M2VlYjkzLi5hMjFhYjcwMTBjZDk1NmIzNDdlMTI1MGYxMjQxOTYzMTQwYjk4ZGNm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1j
aGFuZ2VzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHdvLXZlcnNp
b24tY2hhbmdlcy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAKIGZ1
bmN0aW9uIG9wZW5EQkNvbm5lY3Rpb24oKQogewotICAgIGV2YWxBbmRMb2coIndpbmRvdy5zdGF0
ZSA9ICdzdGFydGluZyciKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0YXRlID0gJ3N0YXJ0aW5n
JyIpOwogICAgIHZhciByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ3R3by12
ZXJzaW9ucy1vbmUtY29ubmVjdGlvbicpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVu
U3VjY2VzczsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
QEAgLTI5LDggKzI5LDggQEAgZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigpCiAKIGZ1bmN0aW9u
IG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAwIik7Cisg
ICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAg
IGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAwIik7CiAKICAgICB2YXIgdmVyc2lvbkNoYW5nZVJl
cXVlc3QxID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsKICAgICB2
ZXJzaW9uQ2hhbmdlUmVxdWVzdDEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpA
QCAtNDYsMTIgKzQ2LDEyIEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIGluU2V0
VmVyc2lvbjEoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uKCkgIzEgY2FsbGJhY2siKTsKLSAg
ICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUxID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qt
c3RvcmUxJykiKTsKLSAgICBzaG91bGRCZSgiKyt3aW5kb3cuc3RhdGUiLCAiMSIpOwotICAgIHZh
ciByZXEgPSBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUxLnB1dCgnYWFhJywgMTExKSIpOworICAg
IGV2YWxBbmRMb2coInNlbGYuc3RvcmUxID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3Rv
cmUxJykiKTsKKyAgICBzaG91bGRCZSgiKytzZWxmLnN0YXRlIiwgIjEiKTsKKyAgICB2YXIgcmVx
ID0gZXZhbEFuZExvZygic2VsZi5zdG9yZTEucHV0KCdhYWEnLCAxMTEpIik7CiAgICAgcmVxLm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICByZXEub25zdWNjZXNzID0gZnVu
Y3Rpb24gKGUpIHsKLSAgICAgICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjIiKTsKKyAg
ICAgICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0ZSIsICIyIik7CiAgICAgICAgIGhhbGZ3YXlEb25l
KCk7CiAgICAgfTsKIH0KQEAgLTU5LDEzICs1OSwxMyBAQCBmdW5jdGlvbiBpblNldFZlcnNpb24x
KCkKIGZ1bmN0aW9uIGluU2V0VmVyc2lvbjIoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uKCkg
IzIgY2FsbGJhY2siKTsKLSAgICBzaG91bGRCZSgiKyt3aW5kb3cuc3RhdGUiLCAiNCIpOwotICAg
IGV2YWxBbmRMb2coIndpbmRvdy5zdG9yZTIgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgndGVzdC1z
dG9yZTInKSIpOworICAgIHNob3VsZEJlKCIrK3NlbGYuc3RhdGUiLCAiNCIpOworICAgIGV2YWxB
bmRMb2coInNlbGYuc3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJyki
KTsKIAotICAgIHZhciByZXEgPSBldmFsQW5kTG9nKCJ3aW5kb3cuc3RvcmUyLnB1dCgnYmJiJywg
MjIyKSIpOworICAgIHZhciByZXEgPSBldmFsQW5kTG9nKCJzZWxmLnN0b3JlMi5wdXQoJ2JiYics
IDIyMikiKTsKICAgICByZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAg
IHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICBzaG91bGRCZSgiKyt3aW5k
b3cuc3RhdGUiLCAiNSIpOworICAgICAgICBzaG91bGRCZSgiKytzZWxmLnN0YXRlIiwgIjUiKTsK
ICAgICAgICAgaGFsZndheURvbmUoKTsKICAgICB9OwogfQpAQCAtNzUsMjUgKzc1LDI1IEBAIGZ1
bmN0aW9uIGhhbGZ3YXlEb25lKCkKIHsKICAgICBjb3VudGVyICs9IDE7CiAgICAgaWYgKGNvdW50
ZXIgPCAyKSB7Ci0gICAgICAgIHNob3VsZEJlKCIrK3dpbmRvdy5zdGF0ZSIsICIzIik7CisgICAg
ICAgIHNob3VsZEJlKCIrK3NlbGYuc3RhdGUiLCAiMyIpOwogICAgICAgICBkZWJ1ZygiaGFsZndh
eSB0aGVyZS4uLiIgKTsKICAgICB9IGVsc2UgewotICAgICAgICBzaG91bGRCZSgiKyt3aW5kb3cu
c3RhdGUiLCAiNiIpOworICAgICAgICBzaG91bGRCZSgiKytzZWxmLnN0YXRlIiwgIjYiKTsKICAg
ICAgICAgY2hlY2tSZXN1bHRzKCk7CiAgICAgfQogfQogCiBmdW5jdGlvbiBjaGVja1Jlc3VsdHMo
KSB7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZGIudmVyc2lvbiIsICJ2ZXJz
aW9uIDIiKTsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coIndpbmRvdy50cmFucyA9IGRiLnRyYW5z
YWN0aW9uKFsndGVzdC1zdG9yZTEnLCAndGVzdC1zdG9yZTInXSkiKTsKLSAgICBzdG9yZSA9IGV2
YWxBbmRMb2coIndpbmRvdy5zdG9yZSA9IHdpbmRvdy50cmFucy5vYmplY3RTdG9yZSgndGVzdC1z
dG9yZTEnKSIpOwotICAgIHJlcSA9IGV2YWxBbmRMb2coIndpbmRvdy5yZXEgPSB3aW5kb3cuc3Rv
cmUuZ2V0KDExMSkiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlbGYuZGIudmVyc2lv
biIsICJ2ZXJzaW9uIDIiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInNlbGYudHJhbnMgPSBk
Yi50cmFuc2FjdGlvbihbJ3Rlc3Qtc3RvcmUxJywgJ3Rlc3Qtc3RvcmUyJ10pIik7CisgICAgc3Rv
cmUgPSBldmFsQW5kTG9nKCJzZWxmLnN0b3JlID0gc2VsZi50cmFucy5vYmplY3RTdG9yZSgndGVz
dC1zdG9yZTEnKSIpOworICAgIHJlcSA9IGV2YWxBbmRMb2coInNlbGYucmVxID0gc2VsZi5zdG9y
ZS5nZXQoMTExKSIpOwogICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
CiAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdCIsICJhYWEiKTsKIAotICAgICAgICBzdG9y
ZSA9IGV2YWxBbmRMb2coIndpbmRvdy5zdG9yZSA9IHdpbmRvdy50cmFucy5vYmplY3RTdG9yZSgn
dGVzdC1zdG9yZTInKSIpOwotICAgICAgICByZXEgPSBldmFsQW5kTG9nKCJ3aW5kb3cucmVxID0g
d2luZG93LnN0b3JlLmdldCgyMjIpIik7CisgICAgICAgIHN0b3JlID0gZXZhbEFuZExvZygic2Vs
Zi5zdG9yZSA9IHNlbGYudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykiKTsKKyAgICAg
ICAgcmVxID0gZXZhbEFuZExvZygic2VsZi5yZXEgPSBzZWxmLnN0b3JlLmdldCgyMjIpIik7CiAg
ICAgICAgIHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJl
cS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJldmVudC50YXJnZXQucmVzdWx0IiwgImJiYiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1ZS11bmRlZmluZWQuaHRtbAppbmRleCBiYTk2N2E1YTk2
M2UwZGE0NzhlNWUyYTk4MTQzNGQ2OWQxOGE5YzI2Li45NjA4OTdkNTA1MjY5YjdlMDM0YjQwMjRi
YTg2ZjU1ZmY1ZjU4ODVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi92YWx1ZS11bmRlZmluZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi92YWx1ZS11bmRlZmluZWQuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
IHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2Nh
dGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBk
ZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3ZhbHVlcy1vZGQtdHlwZXMuaHRtbAppbmRleCAxNDhlODg0NjZlN2JlMmMxZjZmMjkwYzA1
MGUyZDdiZTkyYmQ0ZWQ3Li5mZGVhMGM1YmYwMmQwNzBmYjg4YjY3MDg1YmFmMGVlZDJkZjZhOTA4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5
cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWVzLW9kZC10
eXBlcy5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92
ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1l
OworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0g
Ik15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIu
b3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5T
dWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bi1jaGFuZ2UtYWJvcnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNp
b24tY2hhbmdlLWFib3J0Lmh0bWwKaW5kZXggYjViMjllZGM4OTE2NzA1M2VlY2Y2NmMyYzVlZmFm
NzljYWJhZDMwMy4uZjYzMjcwYjczZmEzYzI0NjUxOGE1NjM0NzkzM2U4NWMxNWE2MGYyYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJv
cnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5n
ZS1hYm9ydC5odG1sCkBAIC0yNiw3ICsyNiw3IEBAIGZ1bmN0aW9uIG9wZW5EQkNvbm5lY3Rpb24o
KQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExv
ZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2co
ImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIGRlYnVnKCIiKTsKIAogICAgIGV2YWxB
bmRMb2coInZjcmVxID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsKQEAgLTcxLDggKzcx
LDggQEAgZnVuY3Rpb24gaW5TZXRWZXJzaW9uMigpCiAgICAgZXZhbEFuZExvZygic3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUyJykiKTsKIAogICAgIC8vIEVuc3VyZSB0aGUgdGVz
dCBoYXJuZXNzIGVycm9yIGhhbmRsZXIgaXMgbm90IGludm9rZWQuCi0gICAgd2luZG93Lm9yaWdp
bmFsV2luZG93T25FcnJvciA9IHdpbmRvdy5vbmVycm9yOwotICAgIHdpbmRvdy5vbmVycm9yID0g
bnVsbDsKKyAgICBzZWxmLm9yaWdpbmFsV2luZG93T25FcnJvciA9IHNlbGYub25lcnJvcjsKKyAg
ICBzZWxmLm9uZXJyb3IgPSBudWxsOwogCiAgICAgZGVidWcoInJhaXNpbmcgZXhjZXB0aW9uIik7
CiAgICAgdGhyb3cgbmV3IEVycm9yKCJUaGlzIHNob3VsZCAqTk9UKiBiZSBjYXVnaHQhIik7CkBA
IC04NCw3ICs4NCw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24yQWJvcnQoKQogICAgIGRlYnVnKCJz
ZXRWZXJzaW9uMkFib3J0KCkgY2FsbGJhY2siKTsKIAogICAgIC8vIFJlc3RvcmUgdGVzdCBoYXJu
ZXNzIGVycm9yIGhhbmRsZXIuCi0gICAgd2luZG93Lm9uZXJyb3IgPSB3aW5kb3cub3JpZ2luYWxX
aW5kb3dPbkVycm9yOworICAgIHNlbGYub25lcnJvciA9IHNlbGYub3JpZ2luYWxXaW5kb3dPbkVy
cm9yOwogCiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkYi52ZXJzaW9uIiwgInZlcnNpb24g
MSIpOwogICAgIHNob3VsZEJlVHJ1ZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3Rv
cmUxJykiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNp
b24tY2hhbmdlLWV4Y2x1c2l2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGIxY2U3
ZDA1MDcxOWFhZTg4NDk3NDEwYmJhMTc5YmUwOWZkNmNmOTkuLjcxMjA5OWZkODUyYWRiZGQ0Yzhk
YzlkYTkzODJkNjk2NDEzY2E3ZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLWV4cGVjdGVk
LnR4dApAQCAtNiw3ICs2LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIGluZGV4ZWREQiA9
IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhl
ZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogUEFTUyBCb29sZWFu
KGluZGV4ZWREQiAmJiBJREJDdXJzb3IgJiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJv
ciAmJiBJREJEYXRhYmFzZUV4Y2VwdGlvbiAmJiBJREJGYWN0b3J5ICYmIElEQkluZGV4ICYmIElE
QktleVJhbmdlICYmIElEQk9iamVjdFN0b3JlICYmIElEQlJlcXVlc3QgJiYgSURCVHJhbnNhY3Rp
b24pIGlzIHRydWUKIAotd2luZG93LnN0YXRlID0gJ3N0YXJ0aW5nJworc2VsZi5zdGF0ZSA9ICdz
dGFydGluZycKIGluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUnKQogZGIg
PSBldmVudC50YXJnZXQucmVzdWx0CiBjYWxsaW5nIHNldFZlcnNpb24oKSAtIGNhbGxiYWNrIHNo
b3VsZCBydW4gaW1tZWRpYXRlbHkKQEAgLTE1LDcgKzE1LDcgQEAgY2FsbGluZyBvcGVuKCkgLSBj
YWxsYmFjayBzaG91bGQgd2FpdCB1bnRpbCBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBj
b21wbGUKIGluZGV4ZWREQi5vcGVuKCd2ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUnKQogc2V0VmVy
c2lvbigpIGNhbGxiYWNrCiBzdGFydGluZyB3b3JrIGluIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0
aW9uCi13aW5kb3cuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCcKK3NlbGYuc3RhdGUg
PSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCcKIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J3Rlc3Qtc3RvcmUnKQogc3RvcmUucHV0KDAsIDApCiBpbiBwdXQncyBvbnN1Y2Nlc3MKQEAgLTM4
LDkgKzM4LDkgQEAgaW4gcHV0J3Mgb25zdWNjZXNzCiBzdG9yZS5wdXQoOSwgOSkKIGluIHB1dCdz
IG9uc3VjY2VzcwogZW5kaW5nIHdvcmsgaW4gVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24KLXdp
bmRvdy5zdGF0ZSA9ICdWRVJTSU9OX0NIQU5HRSBmaW5pc2hlZCcKK3NlbGYuc3RhdGUgPSAnVkVS
U0lPTl9DSEFOR0UgZmluaXNoZWQnCiBvcGVuKCkgY2FsbGJhY2sgLSB0aGlzIHNob3VsZCBhcHBl
YXIgYWZ0ZXIgVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24gZW5kcwotUEFTUyB3aW5kb3cuc3Rh
dGUgaXMgIlZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkIgorUEFTUyBzZWxmLnN0YXRlIGlzICJWRVJT
SU9OX0NIQU5HRSBmaW5pc2hlZCIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuaHRtbAppbmRleCA4ZGRiNjJjMmZlYzg4NzQ5
MTExNjNiMjU5NmU4NWRiYzIwMTdlNWNhLi4yZmMyNWZiYWE1MGNjZDcwNTVkNGI4MTNlMDg2YjY1
NjhlMTViYzg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJz
aW9uLWNoYW5nZS1leGNsdXNpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUuaHRtbApAQCAtMTgsNyArMTgsNyBAQCBmdW5j
dGlvbiB0ZXN0KCkgewogCiBmdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKIHsKLSAgICBldmFs
QW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnc3RhcnRpbmcnIik7CisgICAgZXZhbEFuZExvZygic2Vs
Zi5zdGF0ZSA9ICdzdGFydGluZyciKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhl
ZERCLm9wZW4oJ3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZScpIik7CiAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBvcGVuU3VjY2VzczsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKQEAgLTI2LDcgKzI2LDcgQEAgZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigp
CiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9n
KCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygi
ZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICBkZWJ1ZygiY2FsbGluZyBzZXRWZXJz
aW9uKCkgLSBjYWxsYmFjayBzaG91bGQgcnVuIGltbWVkaWF0ZWx5Iik7CiAgICAgdmFyIHZlcnNp
b25DaGFuZ2VSZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJyki
KTsKQEAgLTQ1LDEwICs0NSwxMCBAQCBmdW5jdGlvbiBpblNldFZlcnNpb24oKQogewogICAgIGRl
YnVnKCJzZXRWZXJzaW9uKCkgY2FsbGJhY2siKTsKICAgICBkZWJ1Zygic3RhcnRpbmcgd29yayBp
biBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5z
dGF0ZSA9ICdWRVJTSU9OX0NIQU5HRSBzdGFydGVkJyIpOworICAgIGV2YWxBbmRMb2coInNlbGYu
c3RhdGUgPSAnVkVSU0lPTl9DSEFOR0Ugc3RhcnRlZCciKTsKIAotICAgIHdpbmRvdy5zdG9yZSA9
IGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUnKSIp
OwotICAgIHdpbmRvdy5jb3VudCA9IDA7CisgICAgc2VsZi5zdG9yZSA9IGV2YWxBbmRMb2coInN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUnKSIpOworICAgIHNlbGYuY291
bnQgPSAwOwogICAgIGRvX2FzeW5jX3B1dHMoKTsKIAogICAgIGZ1bmN0aW9uIGRvX2FzeW5jX3B1
dHMoKSB7CkBAIC01NiwxMSArNTYsMTEgQEAgZnVuY3Rpb24gaW5TZXRWZXJzaW9uKCkKICAgICAg
ICAgcmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxLm9u
c3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICBkZWJ1ZygiaW4gcHV0J3Mgb25z
dWNjZXNzIik7Ci0gICAgICAgICAgICBpZiAoKyt3aW5kb3cuY291bnQgPCAxMCkgeworICAgICAg
ICAgICAgaWYgKCsrc2VsZi5jb3VudCA8IDEwKSB7CiAgICAgICAgICAgICAgICAgZG9fYXN5bmNf
cHV0cygpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBkZWJ1ZygiZW5k
aW5nIHdvcmsgaW4gVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24iKTsKLSAgICAgICAgICAgICAg
ICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQnIik7
CisgICAgICAgICAgICAgICAgZXZhbEFuZExvZygic2VsZi5zdGF0ZSA9ICdWRVJTSU9OX0NIQU5H
RSBmaW5pc2hlZCciKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICAgICB9CkBAIC02OSw3
ICs2OSw3IEBAIGZ1bmN0aW9uIGluU2V0VmVyc2lvbigpCiBmdW5jdGlvbiBvcGVuQWdhaW5TdWNj
ZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlbigpIGNhbGxiYWNrIC0gdGhpcyBzaG91bGQgYXBwZWFy
IGFmdGVyIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGVuZHMiKTsKLSAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIndpbmRvdy5zdGF0ZSIsICJWRVJTSU9OX0NIQU5HRSBmaW5pc2hlZCIpOwor
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGF0ZSIsICJWRVJTSU9OX0NIQU5HRSBm
aW5pc2hlZCIpOwogICAgIGZpbmlzaEpTVGVzdCgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmpl
Y3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbmNo
YW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LWV4cGVjdGVkLnR4dAppbmRleCBkNDcwMzg3NDlm
OTEzNTUyNzg4OGZjMjFmOTA2ZmRiNTg2NGE4NWJlLi4zZjQ4Y2NkMDVhYjZkZDRmNmVmMDk0ZTkx
OWY1YjJhMDk5YTJkOTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2
ZWRvbW9iamVjdC1leHBlY3RlZC50eHQKQEAgLTcsMTggKzcsMTggQEAgaW5kZXhlZERCID0gc2Vs
Zi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIg
fHwgc2VsZi4KIFBBU1MgQm9vbGVhbihpbmRleGVkREIgJiYgSURCQ3Vyc29yICYmIElEQkRhdGFi
YXNlICYmIElEQkRhdGFiYXNlRXJyb3IgJiYgSURCRGF0YWJhc2VFeGNlcHRpb24gJiYgSURCRmFj
dG9yeSAmJiBJREJJbmRleCAmJiBJREJLZXlSYW5nZSAmJiBJREJPYmplY3RTdG9yZSAmJiBJREJS
ZXF1ZXN0ICYmIElEQlRyYW5zYWN0aW9uKSBpcyB0cnVlCiAKIAotd2luZG93LmRibmFtZSA9ICd2
ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QnCitzZWxmLmRibmFtZSA9ICd2ZXJz
aW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QnCiAKIHRlc3REZWxldGVEYXRhYmFzZSgp
OgotaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKHdpbmRvdy5kYm5hbWUpCi13aW5kb3cuZ2MoKQor
aW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKHNlbGYuZGJuYW1lKQorc2VsZi5nYygpCiBQQVNTIGRl
bGV0ZURhdGFiYXNlJ3MgSURCVmVyc2lvbkNoYW5nZVJlcXVlc3Qub25zdWNjZXNzIGV2ZW50IGZp
cmVkCiAKIHRlc3RTZXRWZXJzaW9uKCk6Ci1vcGVuUmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKHdp
bmRvdy5kYm5hbWUpCitvcGVuUmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKQog
ZGIgPSBvcGVuUmVxdWVzdC5yZXN1bHQKIGRiLnNldFZlcnNpb24oJzEnKQotd2luZG93LmdjKCkK
K3NlbGYuZ2MoKQogUEFTUyBzZXRWZXJzaW9uJ3MgSURCVmVyc2lvbkNoYW5nZVJlcXVlc3Qub25z
dWNjZXNzIGV2ZW50IGZpcmVkCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1
ZXN0LWFjdGl2ZWRvbW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0Lmh0bWwKaW5kZXggZjFiNWNkZDBh
YTFiNzNjOGE0ZDY4Zjk0ZmQ0YjdjZmE4OGVjM2E5Ny4uZDEwYTZhN2Q1OTczNTRmYTU3YzVkMjE3
ZjkwODE4NmNkNTY1NTYxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2Jq
ZWN0Lmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwogCiAgICAgZGVidWcoIiIpOwotICAgIGV2YWxBbmRMb2coIndpbmRv
dy5kYm5hbWUgPSAndmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0JyIpOworICAg
IGV2YWxBbmRMb2coInNlbGYuZGJuYW1lID0gJ3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRv
bW9iamVjdCciKTsKIAogICAgIHRlc3REZWxldGVEYXRhYmFzZSgpOwogfQpAQCAtMjUsMTMgKzI1
LDEzIEBAIGZ1bmN0aW9uIHRlc3REZWxldGVEYXRhYmFzZSgpCiAgICAgZGVidWcoIiIpOwogICAg
IGRlYnVnKCJ0ZXN0RGVsZXRlRGF0YWJhc2UoKToiKTsKICAgICAvLyBOT1RFOiBkZWxldGVSZXF1
ZXN0IGlzIGxvY2FsIHZhcmlhYmxlIHNvIGl0IGlzIG5vdCBjYXB0dXJlZCBpbiBnbG9iYWwgc2Nv
cGUuCi0gICAgdmFyIGRlbGV0ZVJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIuZGVsZXRl
RGF0YWJhc2Uod2luZG93LmRibmFtZSkiKTsKKyAgICB2YXIgZGVsZXRlUmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShzZWxmLmRibmFtZSkiKTsKICAgICBkZWxl
dGVSZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICBkZWxldGVS
ZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CiAgICAgZGVsZXRl
UmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsgZGVsZXRlU3VjY2VzcygpOyB9OwogICAg
IGRlbGV0ZVJlcXVlc3QgPSBudWxsOwotICAgIGlmICh3aW5kb3cuZ2MpIHsKLSAgICAgICAgZXZh
bEFuZExvZygid2luZG93LmdjKCkiKTsKKyAgICBpZiAoc2VsZi5nYykgeworICAgICAgICBldmFs
QW5kTG9nKCJzZWxmLmdjKCkiKTsKICAgICB9CiB9CiAKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVuY3Rp
b24gdGVzdFNldFZlcnNpb24oKQogICAgIGRlYnVnKCJ0ZXN0U2V0VmVyc2lvbigpOiIpOwogCiAg
ICAgLy8gTk9URTogVGhpcyBpcyBqdXN0IGFuIElEQlJlcXVlc3QsIGl0IGNhbiBiZSBnbG9iYWwu
Ci0gICAgZXZhbEFuZExvZygib3BlblJlcXVlc3QgPSBpbmRleGVkREIub3Blbih3aW5kb3cuZGJu
YW1lKSIpOworICAgIGV2YWxBbmRMb2coIm9wZW5SZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oc2Vs
Zi5kYm5hbWUpIik7CiAgICAgb3BlblJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwogICAgIG9wZW5SZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uICgpIHsKICAgICAg
ICAgZXZhbEFuZExvZygiZGIgPSBvcGVuUmVxdWVzdC5yZXN1bHQiKTsKQEAgLTU4LDggKzU4LDgg
QEAgZnVuY3Rpb24gdGVzdFNldFZlcnNpb24oKQogICAgICAgICB2ZXJzaW9uUmVxdWVzdC5vbmJs
b2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogICAgICAgICB2ZXJzaW9uUmVxdWVz
dC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsgdmVyc2lvblN1Y2Nlc3MoKTsgfTsKICAgICAgICAg
dmVyc2lvblJlcXVlc3QgPSBudWxsOwotICAgICAgICBpZiAod2luZG93LmdjKSB7Ci0gICAgICAg
ICAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZ2MoKSIpOworICAgICAgICBpZiAoc2VsZi5nYykgewor
ICAgICAgICAgICAgZXZhbEFuZExvZygic2VsZi5nYygpIik7CiAgICAgICAgIH0KICAgICB9Owog
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131985</attachid>
            <date>2012-03-14 22:08:04 -0700</date>
            <delta_ts>2012-03-15 19:55:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81043-20120314220803.patch</filename>
            <type>text/plain</type>
            <size>172416</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwODE0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjE3NmM1OGZhMjM2NDNkZTFjODgw
Y2NiNzE4MmVhMzQzYTlhZDIxOC4uYjc5ZTIxODNiOTk3NTYyNjA1ZmRjODllMzgyYzc2NTM0NThh
NjdhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNyBAQAorMjAxMi0wMy0xNCAgRGF2aWQgR3JvZ2FuICA8
ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCIFRlc3RzOiB1c2Ugc2Vs
ZiBpbnN0ZWFkIG9mIHdpbmRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODEwNDMKKworICAgICAgICAnd2luZG93JyBpcyBtZWFuaW5nbGVzcyBpbiBh
IHdvcmtlcjsgdGhlc2UgdGVzdHMgd2lsbCBzb29uIGJlIHJ1biBmcm9tCisgICAgICAgIGEgd29y
a2VyIGNvbnRleHQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1l
LWFyZ3VtZW50LXJlcXVpcmVkLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Jl
YXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWNvbnRpbnVlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWRlbGV0ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNv
bnNpc3RlbmN5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluZGV4
LWRlbGV0ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3Jk
ZXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItcHJpbWFyeS1rZXkt
b3JkZXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxl
dGVkLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS12YWx1
ZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1
cnNvci11cGRhdGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1
cHRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1iYXNpY3Mu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2Vk
LWRhdGFiYXNlLW9iamVjdC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0
ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxsLW5hbWUuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQuaHRtbDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50
ZXJhY3Rpb25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxl
dGVkYXRhYmFzZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWNvdW50
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY3Vyc29yLmh0bWw6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtZ2V0LWtleS1hcmd1bWVudC1yZXF1aXJl
ZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRpb24uaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0b3IuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9rZXktc29ydC1vcmRlci1hY3Jvc3MtdHlwZXMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXR5cGUtaW5maW5pdHkuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9r
ZXlwYXRoLWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgt
ZmV0Y2gta2V5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQt
dHdpY2UtZmFpbHVyZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
YXV0b2luY3JlbWVudC1pbmRleGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9iYWQta2V5cGF0aC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY2xlYXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2Ny
ZWF0ZS1pbmRleC11bmlxdWUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2NyZWF0ZS1pbmRleC13aXRoLWludGVnZXIta2V5cy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLWJhc2ljcy5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwt
bmFtZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11
dGF0aW9uLW9iamVjdHN0b3JlLW9ubHkuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9kZWxldGUtcmVzdWx0Lmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9pbmRleGVzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLWRlbGV0ZS1udWxsLWtleS5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5k
LXBhc3NlZC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJl
cXVpcmVtZW50cy1wdXQtbm8ta2V5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy5odG1sOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLWlubGluZS1hdXRvaW5j
cmVtZW50LWtleS1hZGRlZC1vbi1wdXQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3RzdG9yZW5hbWVzLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9wdXQtZ2V0LXZhbHVlcy5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rp
b25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkeVN0YXRl
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1vdmUtaW5kZXgu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1vYmplY3Rz
dG9yZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVyc2lvbmNo
YW5nZS1hYm9ydC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvdmVy
c2lvbmNoYW5nZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1
cnNvci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdFN0b3JlLXJlcXVp
cmVkLWFyZ3VtZW50cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWF1dG9pbmNyZW1lbnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1jbGVhci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWNvdW50Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
Y3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVt
b3Zlb2JqZWN0c3RvcmUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNs
b3NlLXZlcnNpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY2xvc2UtdmVyc2lvbi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4t
Y3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVnZml4
LTEwODA3MS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5k
cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFn
YXRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLW51bGwu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5lZC5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3Jl
LWNhbGxzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFz
aWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMuaHRtbDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZS11bmRlZmluZWQuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMtb2RkLXR5cGVzLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRv
bW9iamVjdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0Lmh0bWw6CisKIDIwMTItMDMtMTQgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE1v
cmUgY29tcG9zaXRpbmcgYmFzZWxpbmUgdXBkYXRlcy4gVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1z
dG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1v
dmUtb2JqZWN0LXN0b3JlLmh0bWwKaW5kZXggNTU0MDM5ZThkZDNjZDNkN2NiZjViZTlkNTljNTZm
NGVmNjY5YWQ4Ny4uYmYxZThlYTQ4ZTQ2ZDkwMjU1Y2Q0NWQzM2JiNWZkMjAzNDg3N2VmNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUt
b2JqZWN0LXN0b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Jl
YXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rp
b24gdGVzdCgpCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7CiAgICAgZGVidWcoIm9wZW5TdWNj
ZXNzKCk6Iik7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOwogICAgIHRlc3RDcmVhdGVBbmRSZW1vdmUoKTsKICAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygicmVzdWx0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsKICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1lLWFyZ3VtZW50LXJlcXVpcmVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGVPYmplY3RTdG9yZS1uYW1l
LWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKaW5kZXggYzJjNGYyOTcxNGNjZWY2ZGY2ZjZjMGZiYmE3
YjQwNTRhOTBkODkzZi4uNDgwOTBjMjliNTA3OGM5OGRkNWEyNjU5OWM2YzllZGYzZWIxYzAxZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0U3Rv
cmUtbmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2NyZWF0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbApA
QCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVm
aXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1l
ID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERh
dGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwg
ZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZU9iamVjdFN0b3Jl
LW51bGwtbmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2Jq
ZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWwKaW5kZXggMjYwNTQ0ZWFmYTc5ZjdjZTNjOWU0ZmNhYmE3
MTljMDRlYjQxMDU2My4uYmViMTg2ZjM5M2FkMGE2ZWRjODEzZmVmNmM3MWVlNGFkM2E3MDZkOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlT2JqZWN0U3Rv
cmUtbnVsbC1uYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Jl
YXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1lLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24g
dGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5k
b3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7
CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3ItY29udGludWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2N1cnNvci1jb250aW51ZS5odG1sCmluZGV4IGNkYWZhZjcyM2Y1YTg5OGU5NTJl
NGFiMGNkMTMxNDYwYTY1MGU0ODQuLjQ5N2UxZTE2OWRlNDEzZGRhYjIyMDRlMzBhYmYxM2Y3NTIw
NDRmNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1j
b250aW51ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1j
b250aW51ZS5odG1sCkBAIC0xMyw3ICsxMyw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWRE
QidzIElEQkN1cnNvci5jb250aW51ZSgpIHdpdGggYSBrZXkgcGFyYW1ldGVyLiIpOwogdmFyIGRh
dGUgPSBuZXcgRGF0ZSgpOwogCiAvLyBJbiBvcmRlciBvZiBob3cgaXQgc2hvdWxkIGJlIHNvcnRl
ZCBieSBJbmRleGVkREIuCi13aW5kb3cudGVzdERhdGEgPSBbCitzZWxmLnRlc3REYXRhID0gWwog
ICAgIDAsCiAgICAgMSwKICAgICAxLApAQCAtNDksNyArNDksNyBAQCBmdW5jdGlvbiBvcGVuRGF0
YWJhc2UoKQogIAogZnVuY3Rpb24gc2V0VmVyc2lvbigpCiB7Ci0gICAgd2luZG93LmRiID0gZXZh
bEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxB
bmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgcmVzdWx0ID0gZXZhbEFu
ZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlc3VsdC5vbnN1Y2Nl
c3MgPSBkZWxldGVFeGlzdGluZzsKQEAgLTU4LDIyICs1OCwyMiBAQCBmdW5jdGlvbiBzZXRWZXJz
aW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91
bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0
ZWRBYm9ydENhbGxiYWNrOwogCiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKIAotICAg
IHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdz
b21lT2JqZWN0U3RvcmUnKSIpOwotICAgIHdpbmRvdy5pbmRleE9iamVjdCA9IGV2YWxBbmRMb2co
Im9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7Ci0gICAgd2luZG93
Lm5leHRUb0FkZCA9IDA7CisgICAgc2VsZi5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhPYmpl
Y3QgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnc29tZUluZGV4JywgJ3gn
KSIpOworICAgIHNlbGYubmV4dFRvQWRkID0gMDsKICAgICBhZGREYXRhKCk7CiB9CiAKIGZ1bmN0
aW9uIGFkZERhdGEoKQogewogICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFk
ZCh7J3gnOiB0ZXN0RGF0YVtuZXh0VG9BZGRdfSwgbmV4dFRvQWRkKSIpOwotICAgIHJlc3VsdC5v
bnN1Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5ndGggPyBhZGREYXRh
IDogYXNjZW5kaW5nVGVzdDsKKyAgICByZXN1bHQub25zdWNjZXNzID0gKytzZWxmLm5leHRUb0Fk
ZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBhc2NlbmRpbmdUZXN0OwogICAgIHJlc3Vs
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKQEAgLTgzLDUzICs4Myw1
MyBAQCBmdW5jdGlvbiBhc2NlbmRpbmdUZXN0KCkKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRM
b2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLk5FWFQpIik7CiAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBhc2NlbmRpbmdDYWxsYmFjazsKICAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOwor
ICAgIHNlbGYuc3RhZ2UgPSAwOwogfQogCiBmdW5jdGlvbiBhc2NlbmRpbmdDYWxsYmFjaygpCiAK
IHsKLSAgICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICBpZiAoc2VsZi5zdGFnZSA9PSAw
KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAi
MCIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKDMu
MTQxNTkpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgIH0gZWxz
ZSBpZiAoc2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQu
cmVzdWx0LnByaW1hcnlLZXkiLCAiMyIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJn
ZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAy
KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDIpIHsKICAgICAgICAgc2hvdWxkQmUo
ImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICI0Iik7CiAgICAgICAgIGV2YWxBbmRM
b2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2lu
ZG93LnN0YWdlID09IDMpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMykgewogICAg
ICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjUiKTsKICAg
ICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgxMikiKTsKLSAg
ICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA0KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0
YWdlID09IDQpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFy
eUtleSIsICI3Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29u
dGludWUoZGF0ZSkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSA1KSB7CisgICAg
fSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDUpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRh
cmdldC5yZXN1bHQucHJpbWFyeUtleSIsICI5Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50
LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdl
ID09IDYpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNikgewogICAgICAgICBzaG91
bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjEwIik7CiAgICAgICAgIGV2
YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxzZSBp
ZiAod2luZG93LnN0YWdlID09IDcpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gNykg
ewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjEx
Iik7CiAgICAgICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoJ0Eg
Yml0MScpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gOCkgeworICAgIH0gZWxz
ZSBpZiAoc2VsZi5zdGFnZSA9PSA4KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQu
cmVzdWx0LnByaW1hcnlLZXkiLCAiMTQiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFy
Z2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQzJykiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5z
dGFnZSA9PSA5KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDkpIHsKICAgICAgICAg
c2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNiIpOwogICAgICAg
ICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCd0aGUgQklHR0VTVCBz
dHJpbmcnKSIpOwotICAgIH0gZWxzZSBpZiAod2luZG93LnN0YWdlID09IDEwKSB7CisgICAgfSBl
bHNlIGlmIChzZWxmLnN0YWdlID09IDEwKSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJn
ZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMTciKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQu
dGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2Ug
PT0gMTEpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMTEpIHsKICAgICAgICAgc2hv
dWxkQmVOdWxsKCJldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgICAgIGRlc2NlbmRpbmdUZXN0
KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9IGVsc2UgewogICAgICAgICB0ZXN0RmFpbGVkKCJJ
bGxlZ2FsIHN0YWdlLiIpOwogICAgIH0KLSAgICB3aW5kb3cuc3RhZ2UrKzsKKyAgICBzZWxmLnN0
YWdlKys7CiB9CiAKIGZ1bmN0aW9uIGRlc2NlbmRpbmdUZXN0KCkKQEAgLTEzOCw1NiArMTM4LDU2
IEBAIGZ1bmN0aW9uIGRlc2NlbmRpbmdUZXN0KCkKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRM
b2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpIik7CiAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZXNjZW5kaW5nQ2FsbGJhY2s7CiAgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgd2luZG93LnN0YWdlID0gMDsK
KyAgICBzZWxmLnN0YWdlID0gMDsKIH0KIAogZnVuY3Rpb24gZGVzY2VuZGluZ0NhbGxiYWNrKCkK
IHsKLSAgICBpZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICBpZiAoc2VsZi5zdGFnZSA9PSAw
KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAi
MTciKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgn
QSBiaXQyJykiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgfSBl
bHNlIGlmIChzZWxmLnN0YWdlID09IDEpIHsKICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdl
dC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50
YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9
PSAyKSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDIpIHsKICAgICAgICAgc2hvdWxk
QmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNCIpOwogICAgICAgICBldmFs
QW5kTG9nKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKGRhdGUpIik7Ci0gICAgfSBlbHNl
IGlmICh3aW5kb3cuc3RhZ2UgPT0gMykgeworICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAz
KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAi
MTAiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgp
Iik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gNCkgeworICAgIH0gZWxzZSBpZiAo
c2VsZi5zdGFnZSA9PSA0KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0
LnByaW1hcnlLZXkiLCAiOSIpOwogICAgICAgICBldmFsQW5kTG9nKCJldmVudC50YXJnZXQucmVz
dWx0LmNvbnRpbnVlKDEpIik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gNSkgewor
ICAgIH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSA1KSB7CiAgICAgICAgIHNob3VsZEJlKCJldmVu
dC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMiIpOwogICAgICAgICBldmFsQW5kTG9nKCJl
dmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkiKTsKLSAgICB9IGVsc2UgaWYgKHdpbmRvdy5z
dGFnZSA9PSA2KSB7CisgICAgfSBlbHNlIGlmIChzZWxmLnN0YWdlID09IDYpIHsKICAgICAgICAg
c2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxIik7CiAgICAgICAg
IGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIH0gZWxz
ZSBpZiAod2luZG93LnN0YWdlID09IDcpIHsKKyAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0g
NykgewogICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5Iiwg
IjAiKTsKICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgp
Iik7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gOCkgeworICAgIH0gZWxzZSBpZiAo
c2VsZi5zdGFnZSA9PSA4KSB7CiAgICAgICAgIHNob3VsZEJlTnVsbCgiZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOwogICAgICAgICBhc2NlbmRpbmdFcnJvclRlc3RMZXNzVGhhbigpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfSBlbHNlIHsKICAgICAgICAgdGVzdEZhaWxlZCgiSWxsZWdhbCBzdGFnZS4i
KTsKICAgICB9Ci0gICAgd2luZG93LnN0YWdlKys7CisgICAgc2VsZi5zdGFnZSsrOwogfQogCiBm
dW5jdGlvbiBhc2NlbmRpbmdFcnJvclRlc3RMZXNzVGhhbigpCiB7CiAgICAgZGVidWcoIiIpOwog
ICAgIHZhciByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhPYmplY3Qub3BlbktleUN1cnNvcihu
dWxsLCBJREJDdXJzb3IuTkVYVCkiKTsKLSAgICB3aW5kb3cuc3RhZ2UgPSAwOworICAgIHNlbGYu
c3RhZ2UgPSAwOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5k
b3cuc3RhZ2UgPT09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT09IDApIHsKICAgICAg
ICAgICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnByaW1hcnlLZXkiLCAiMCIpOwog
ICAgICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgzLjE0
MTU5KSIpOwotICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5zdGFnZSA9PSAxKSB7CisgICAgICAg
IH0gZWxzZSBpZiAoc2VsZi5zdGFnZSA9PSAxKSB7CiAgICAgICAgICAgICBzaG91bGRCZSgiZXZl
bnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjMiKTsKICAgICAgICAgICAgIGV2YWxBbmRF
eHBlY3RFeGNlcHRpb24oImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoMSkiLCAiSURCRGF0
YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKICAgICAgICAgICAgIGFzY2VuZGluZ0Vycm9yVGVz
dEVxdWFsKCk7CkBAIC0xOTUsNyArMTk1LDcgQEAgZnVuY3Rpb24gYXNjZW5kaW5nRXJyb3JUZXN0
TGVzc1RoYW4oKQogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0ZXN0RmFpbGVkKCJJbGxl
Z2FsIHN0YWdlLiIpOwogICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5zdGFnZSsrOworICAgICAg
ICBzZWxmLnN0YWdlKys7CiAgICAgfTsKIH0KIApAQCAtMjAzLDEzICsyMDMsMTMgQEAgZnVuY3Rp
b24gYXNjZW5kaW5nRXJyb3JUZXN0RXF1YWwoKQogewogICAgIGRlYnVnKCIiKTsKICAgICB2YXIg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3IobnVsbCwgSURC
Q3Vyc29yLk5FWFQpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAgICBzZWxmLnN0YWdlID0g
MDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LnN0YWdl
ID09PSAwKSB7CisgICAgICAgIGlmIChzZWxmLnN0YWdlID09PSAwKSB7CiAgICAgICAgICAgICBz
aG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgIjAiKTsKICAgICAgICAg
ICAgIGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoMy4xNDE1OSkiKTsK
LSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgICAgICB9IGVsc2Ug
aWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdl
dC5yZXN1bHQucHJpbWFyeUtleSIsICIzIik7CiAgICAgICAgICAgICBldmFsQW5kRXhwZWN0RXhj
ZXB0aW9uKCJldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKDMuMTQxNTkpIiwgIklEQkRhdGFi
YXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAgICAgICAgICAgICBkZXNjZW5kaW5nRXJyb3JUZXN0
R3JlYXRlclRoYW4oKTsKQEAgLTIxNyw3ICsyMTcsNyBAQCBmdW5jdGlvbiBhc2NlbmRpbmdFcnJv
clRlc3RFcXVhbCgpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRlc3RGYWlsZWQoIkls
bGVnYWwgc3RhZ2UuIik7CiAgICAgICAgIH0KLSAgICAgICAgd2luZG93LnN0YWdlKys7CisgICAg
ICAgIHNlbGYuc3RhZ2UrKzsKICAgICB9OwogfQogCkBAIC0yMjUsMTMgKzIyNSwxMyBAQCBmdW5j
dGlvbiBkZXNjZW5kaW5nRXJyb3JUZXN0R3JlYXRlclRoYW4oKQogewogICAgIGRlYnVnKCIiKTsK
ICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlDdXJzb3Io
bnVsbCwgSURCQ3Vyc29yLlBSRVYpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAgICBzZWxm
LnN0YWdlID0gMDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2lu
ZG93LnN0YWdlID09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT0gMCkgewogICAgICAg
ICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNyIpOwog
ICAgICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBi
aXQyJykiKTsKLSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgeworICAgICAg
ICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxkQmUoImV2
ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICAgICAgZXZhbEFu
ZEV4cGVjdEV4Y2VwdGlvbigiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBiaXQzJyki
LCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKICAgICAgICAgICAgIGRlc2NlbmRp
bmdFcnJvclRlc3RFcXVhbCgpOwpAQCAtMjM5LDcgKzIzOSw3IEBAIGZ1bmN0aW9uIGRlc2NlbmRp
bmdFcnJvclRlc3RHcmVhdGVyVGhhbigpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRl
c3RGYWlsZWQoIklsbGVnYWwgc3RhZ2UuIik7CiAgICAgICAgIH0KLSAgICAgICAgd2luZG93LnN0
YWdlKys7CisgICAgICAgIHNlbGYuc3RhZ2UrKzsKICAgICB9OwogfQogCkBAIC0yNDcsMjIgKzI0
NywyMiBAQCBmdW5jdGlvbiBkZXNjZW5kaW5nRXJyb3JUZXN0RXF1YWwoKQogewogICAgIGRlYnVn
KCIiKTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5LZXlD
dXJzb3IobnVsbCwgSURCQ3Vyc29yLlBSRVYpIik7Ci0gICAgd2luZG93LnN0YWdlID0gMDsKKyAg
ICBzZWxmLnN0YWdlID0gMDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICBp
ZiAod2luZG93LnN0YWdlID09IDApIHsKKyAgICAgICAgaWYgKHNlbGYuc3RhZ2UgPT0gMCkgewog
ICAgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIx
NyIpOwogICAgICAgICAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51
ZSgnQSBiaXQyJykiKTsKLSAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuc3RhZ2UgPT0gMSkgewor
ICAgICAgICB9IGVsc2UgaWYgKHNlbGYuc3RhZ2UgPT0gMSkgewogICAgICAgICAgICAgc2hvdWxk
QmUoImV2ZW50LnRhcmdldC5yZXN1bHQucHJpbWFyeUtleSIsICIxNSIpOwogICAgICAgICAgICAg
ZXZhbEFuZExvZygiY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgICAgICAgICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgnQSBi
aXQyJykiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKLSAgICAgICAgICAgIHdp
bmRvdy50cmFucy5vbmNvbXBsZXRlID0gb25UcmFuc2FjdGlvbkNvbXBsZXRlOworICAgICAgICAg
ICAgc2VsZi50cmFucy5vbmNvbXBsZXRlID0gb25UcmFuc2FjdGlvbkNvbXBsZXRlOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0ZXN0RmFpbGVkKCJJ
bGxlZ2FsIHN0YWdlLiIpOwogICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5zdGFnZSsrOworICAg
ICAgICBzZWxmLnN0YWdlKys7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWRlbGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLWRlbGV0ZS5odG1sCmluZGV4IDZhNTMxYTYxZTBlZTlhYzc4YTA4
ZTkyYzllODI0OGQxNmIyNmU4NzMuLjVhYWY0MDYyOTIxNWZhOWZmM2MwM2IyNzE2NGNjMGZlYjIx
MTRiNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1k
ZWxldGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItZGVs
ZXRlLmh0bWwKQEAgLTMyLDcgKzMyLDcgQEAgZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rp
b24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2Vzcygp
OiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0
LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRh
cmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAg
dHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uY29t
cGxldGUgPSBvcGVuQ3Vyc29yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3kuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwKaW5kZXggNmUwN2IxY2JmNGIwZWM4NDVj
MGYxMjQxMDZhOWQwN2FlOWU5YjBmNi4uNDFjNGFiNjEyMGQ4NTU3MjQ3YzJjYTBjYjVkNjhiYjA3
YTEzNzQ0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29y
LWluY29uc2lzdGVuY3kuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3ItaW5jb25zaXN0ZW5jeS5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5T
dWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0
VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygi
dHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAh
PT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsK
ICAgICB0cmFucy5vbmNvbXBsZXRlID0gb3BlbkJhc2ljQ3Vyc29yOwpAQCAtNTUsNyArNTUsNyBA
QCBmdW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogICAgIHRyYW5zLm9uY29tcGxldGUgPSB0cmFu
c2FjdGlvbkNvbXBsZXRlOwogCiAgICAga2V5UmFuZ2UgPSBJREJLZXlSYW5nZS5sb3dlckJvdW5k
KCJzb21lS2V5MSIpOwotICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coInRyYW5z
Lm9iamVjdFN0b3JlKCdiYXNpY1N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZh
bEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ2Jhc2ljU3RvcmUnKSIpOwogICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKGtleVJhbmdlKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gY2hlY2tDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3ItaW5kZXgtZGVsZXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3ItaW5kZXgtZGVsZXRlLmh0bWwKaW5kZXggYTc1OGM3ODM4NjdkOTIxNjVi
MmMyOWMxMmVmODI4Y2RmYTRlOGUwOS4uYjQ2NTIzMTIzODIxNmM1YTA2OGE4NDI0ZmIxM2NhZmJh
NGEzMjA4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29y
LWluZGV4LWRlbGV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1
cnNvci1pbmRleC1kZWxldGUuaHRtbApAQCAtMzIsNyArMzIsNyBAQCBmdW5jdGlvbiBvcGVuU3Vj
Y2VzcygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVidWcoInNldFZl
cnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09
IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAg
ICAgdHJhbnMub25jb21wbGV0ZSA9IG9wZW5DdXJzb3I7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKaW5kZXggZTAxNGRiYmU0Yjdk
NDg2NmIwM2Y0OWM2NTAyNWVhYjU3M2UyYzU1NC4uZmE2YjQ1MmNiOTM0NDc3NDk1ZmYwNzRhNjhl
ODZhZGY0ZjQwYTU2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLWtleS1vcmRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1rZXktb3JkZXIuaHRtbApAQCAtMzMsNyArMzMsNyBAQCBmdW5jdGlvbiBwcmVwYXJl
RGF0YWJhc2UoKQogICAgIH07CiB9CiAKLXdpbmRvdy5rZXlzID0gWworc2VsZi5rZXlzID0gWwog
ICAgICItSW5maW5pdHkiLAogICAgICItTnVtYmVyLk1BWF9WQUxVRSIsCiAgICAgIi0xIiwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1wcmltYXJ5LWtl
eS1vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1h
cnkta2V5LW9yZGVyLmh0bWwKaW5kZXggMzVkYTAwMDg2Yzc0ZmExNTA0MWI4ZTY3ZTAxYzJjZmJj
OTU5NzFkYy4uYmQ3MTM4NDNhMDYyODJkM2NkNTMxNTIyOWU3YjUzZTJlZTU4OTMwYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1hcnkta2V5LW9y
ZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXByaW1h
cnkta2V5LW9yZGVyLmh0bWwKQEAgLTM2LDcgKzM2LDcgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFi
YXNlKCkKICAgICB9OwogfQogCi13aW5kb3cua2V5cyA9IFsKK3NlbGYua2V5cyA9IFsKICAgICAi
LUluZmluaXR5IiwKICAgICAiLTIiLAogICAgICItMSIsCkBAIC02Nyw3ICs2Nyw3IEBAIGZ1bmN0
aW9uIHBvcHVsYXRlU3RvcmUoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRD
YWxsYmFjazsKICAgICB2YXIgY291bnQgPSAwOwogICAgIHZhciBpbmRleEtleSA9IDA7Ci0gICAg
dmFyIGtleXMgPSB3aW5kb3cua2V5cy5zbGljZSgpOworICAgIHZhciBrZXlzID0gc2VsZi5rZXlz
LnNsaWNlKCk7CiAgICAga2V5cy5yZXZlcnNlKCk7CiAgICAga2V5cy5mb3JFYWNoKGZ1bmN0aW9u
KGtleSkgewogICAgICAgICB2YXIgdmFsdWUgPSB7IGluZGV4S2V5OiBpbmRleEtleSwgY291bnQ6
IGNvdW50KysgfTsKQEAgLTkzLDcgKzkzLDcgQEAgZnVuY3Rpb24gY2hlY2tTdG9yZSgpCiAgICAg
ICAgIGlmIChjdXJzb3JSZXF1ZXN0LnJlc3VsdCkgewogICAgICAgICAgICAgZXZhbEFuZExvZygi
Y3Vyc29yID0gY3Vyc29yUmVxdWVzdC5yZXN1bHQiKTsKICAgICAgICAgICAgIHNob3VsZEJlKCJj
dXJzb3Iua2V5IiwgU3RyaW5nKGluZGV4S2V5KSk7Ci0gICAgICAgICAgICBzaG91bGRCZSgiY3Vy
c29yLnByaW1hcnlLZXkiLCB3aW5kb3cua2V5c1tjb3VudCsrXSk7CisgICAgICAgICAgICBzaG91
bGRCZSgiY3Vyc29yLnByaW1hcnlLZXkiLCBzZWxmLmtleXNbY291bnQrK10pOwogICAgICAgICAg
ICAgY3Vyc29yLmNvbnRpbnVlKCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBzaG91
bGRCZVRydWUoImNvdW50ID09PSBrZXlzLmxlbmd0aCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sCmluZGV4IGVhZWRi
MmQyZmMzNGMyNjM0Njg5ZTJlMmZmYWFlNTgyZjg1OGQ5YWUuLmQzYWU5YTJhZTA0NzNhMTJhMjhl
ZjMwMDE4ZmQyOTA2ZTNlYTgwMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVkLmh0bWwKQEAgLTM3LDcgKzM3LDcgQEAgZnVu
Y3Rpb24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAg
IGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRy
dWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9y
dENhbGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBiYXNpY0N1cnNvclRlc3Q7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLXZhbHVl
LWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3ItdXBkYXRlLXZhbHVlLWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKaW5kZXggNzJjNjdhMjNi
NjBhNjMzMGRlNmE2OGY5MTM5YTZiYjVmNjllOWJiYS4uZGFkMzMwZjRhMGUwMjYxZjAyMzI0M2I4
YWUzMGViNzBhMjZlNWMwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLXVwZGF0ZS12YWx1ZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtdmFsdWUtYXJndW1lbnQtcmVx
dWlyZWQuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1v
dmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFt
ZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9
ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERC
Lm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVu
U3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci11cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRh
dGUuaHRtbAppbmRleCAyY2NhMjhlZmU0ZjY4YmM2MGVlNWVkN2ZiYjU1ZGM4ZmNiOTA2M2Q4Li4x
NzRjOTcwMjk5MDc2NmM1OWVjYjNjZmU5N2I5ZWRmOTI5ZmQzODRlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sCkBAIC0zMiw3ICszMiw3
IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkK
IHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMg
PSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hv
dWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVj
dGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gb3BlbkJhc2ljQ3Vyc29y
OwpAQCAtNjcsNyArNjcsNyBAQCBmdW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogICAgIHRyYW5z
Lm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlOwogCiAgICAga2V5UmFuZ2UgPSBJREJL
ZXlSYW5nZS5sb3dlckJvdW5kKCJteUtleTEiKTsKLSAgICB3aW5kb3cub2JqZWN0U3RvcmUgPSBl
dmFsQW5kTG9nKCJ0cmFucy5vYmplY3RTdG9yZSgnYmFzaWNTdG9yZScpIik7CisgICAgc2VsZi5v
YmplY3RTdG9yZSA9IGV2YWxBbmRMb2coInRyYW5zLm9iamVjdFN0b3JlKCdiYXNpY1N0b3JlJyki
KTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUub3BlbkN1cnNvcihrZXlS
YW5nZSkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGJhc2ljVXBkYXRlQ3Vyc29yOwogICAg
IHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbAppbmRleCBjZDA1
NmEyYWZhYmE0ODc4MTAzNGVkYTBhNmY4ODVmMWJmNjBjNzYxLi41YWIzOWMzNGNjYzI3NjllODEz
NmY2MjU4YjBhYjBlOTVlOTk1MWM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0
ZXN0KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nlc3Mo
KToiKTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNp
b24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0z
MSw3ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25T
dWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5k
b3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAg
ICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQg
PSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gYWRkRGF0
YTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLWJh
c2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNz
Lmh0bWwKaW5kZXggZDAyOTE0ODc4OWI0NGUyNWNiN2YwZmZhMDFjNDlmNTI0ZTk3ODA2OC4uNzIz
MzBjMTFjMzkwMjZlYzQ4MThlZjA1YWU5Nzg0ODQ0M2U3NDY5NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLmh0bWwKQEAgLTIxLDcgKzIx
LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3
aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBz
ZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMSw3ICszMSw3IEBA
IGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsK
ICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxk
QmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVk
QWJvcnRDYWxsYmFjazsKIApAQCAtNzYsNyArNzYsNyBAQCBmdW5jdGlvbiBjaGVja09iamVjdFN0
b3JlKCkKIAogZnVuY3Rpb24gY29tbWl0QW5kQ29udGludWUoKQogewotICAgIHdpbmRvdy5zZXRU
aW1lb3V0KHRlc3RTZXRWZXJzaW9uQWJvcnQsIDApOworICAgIHNlbGYuc2V0VGltZW91dCh0ZXN0
U2V0VmVyc2lvbkFib3J0LCAwKTsKIH0KIAogZnVuY3Rpb24gdGVzdFNldFZlcnNpb25BYm9ydCgp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90
YS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRt
bAppbmRleCBmMWVhZTFhYTg5ODMxNDZmNWNjMDM3NjFjOWJjMmMxNTMzNjViYzg3Li41OWM3ZGU1
ODM5YzY0ZmE3YjBhZDY5MTUyYmJlMzQyNTdiOWFlOTMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKQEAgLTIwLDcgKzIwLDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3aW5kb3cu
ZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLmRi
ID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0
aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsKICAgICBk
ZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVl
KCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRD
YWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gY2hlY2tRdW90YUVuZm9yY2luZzsKQEAg
LTYyLDEyICs2MiwxMiBAQCBmdW5jdGlvbiBjaGVja1F1b3RhRW5mb3JjaW5nKCkKICAgICB0cmFu
cy5vbmFib3J0ID0gdGVzdENvbXBsZXRlOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVj
dGVkQ29tcGxldGVDYWxsYmFjazsKICAgICBkZWJ1ZygiQ3JlYXRpbmcgJ2RhdGEnIHdoaWNoIGNv
bnRhaW5zIDY0SyBvZiBkYXRhIik7Ci0gICAgd2luZG93LmRhdGEgPSAiWCI7CisgICAgc2VsZi5k
YXRhID0gIlgiOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykKICAgICAgICAgZGF0
YSArPSBkYXRhOwogICAgIHNob3VsZEJlKCJkYXRhLmxlbmd0aCIsICI2NTUzNiIpOwotICAgIHdp
bmRvdy5kYXRhQWRkZWQgPSAwOwotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3Jl
ID0gdHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3QxMjMnKSIpOworICAgIHNlbGYuZGF0YUFkZGVkID0g
MDsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9y
ZSgndGVzdDEyMycpIik7CiAgICAgYWRkRGF0YSgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGUtY2xvc2VkLWRh
dGFiYXNlLW9iamVjdC1leHBlY3RlZC50eHQKaW5kZXggMzcxNDcyZmQ4NjhhOTBhNTI5MTgzYTYy
Y2M3ZGFlNGNlODJkODUwOC4uN2UyYzliODg4MjQwMDY1NzIwMzQwMzg1OWRiMjgyZTc3Y2U0YWIx
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlLWNsb3Nl
ZC1kYXRhYmFzZS1vYmplY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAt
Niw3ICs2LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIGluZGV4ZWREQiA9IHNlbGYuaW5k
ZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNl
bGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogUEFTUyBCb29sZWFuKGluZGV4ZWRE
QiAmJiBJREJDdXJzb3IgJiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJvciAmJiBJREJE
YXRhYmFzZUV4Y2VwdGlvbiAmJiBJREJGYWN0b3J5ICYmIElEQkluZGV4ICYmIElEQktleVJhbmdl
ICYmIElEQk9iamVjdFN0b3JlICYmIElEQlJlcXVlc3QgJiYgSURCVHJhbnNhY3Rpb24pIGlzIHRy
dWUKIAotd2luZG93LnN0YXRlID0gJ3N0YXJ0aW5nJworc2VsZi5zdGF0ZSA9ICdzdGFydGluZycK
IGluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdCcpCiBkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQKIGluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNl
LW9iamVjdCcpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxl
dGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZGVsZXRlLWNsb3NlZC1kYXRhYmFzZS1vYmplY3QuaHRtbAppbmRleCA4ZmU4NThmODUw
YTZjYmQ5YjdmMmNhYzU4ZjJkNGZkOTAwNThhNTAxLi5mNzM2YjMwMmQ2ZmMzMjdjODJjZjVlYjBh
NTcxNDJhNzNmMDJlM2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9kZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZS1jbG9zZWQtZGF0YWJhc2Utb2JqZWN0Lmh0bWwKQEAgLTE4
LDcgKzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlv
bigpCiB7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0gJ3N0YXJ0aW5nJyIpOworICAg
IGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnc3RhcnRpbmcnIik7CiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCdkZWxldGUtY2xvc2VkLWRhdGFiYXNlLW9iamVjdCcp
Iik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKICAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTI2LDcgKzI2LDcgQEAgZnVuY3Rp
b24gb3BlbkRCQ29ubmVjdGlvbigpCiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKLSAgICB3
aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBz
ZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICAv
LyBPcGVuIGEgc2Vjb25kIGNvbm5lY3Rpb24gdG8gdGhlIHNhbWUgZGF0YWJhc2UuCiAgICAgdmFy
IHJlcXVlc3QyID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ2RlbGV0ZS1jbG9zZWQtZGF0
YWJhc2Utb2JqZWN0JykiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQtcmVxdWlyZWQuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZU9iamVjdFN0b3JlLW5hbWUtYXJndW1lbnQt
cmVxdWlyZWQuaHRtbAppbmRleCBmNmM1YzZhM2ViZWUzOGIxN2JjMmYxNzY3ZTllZTlmNDZjOTM0
ZjA5Li4zZjliY2E3ODQ2NWJlMGNmZmNjZTc2NTU5YTdhMGQ4OTU5ZTNiOTQ3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1uYW1lLWFy
Z3VtZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
ZGVsZXRlT2JqZWN0U3RvcmUtbmFtZS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBAIC0xNSw3ICsx
NSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAK
LSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxv
Y2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlv
bikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlT2JqZWN0U3RvcmUtbnVsbC1uYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1u
dWxsLW5hbWUuaHRtbAppbmRleCA0NjUxY2YxNTdhZWIzY2YzY2Q4ZDI4ZDY3YWQwOTY2NjZkYWMw
NWNlLi43ZWNmOWRlNjY2ZmQ2OTdhMmM1Yzg1NTAyMDYwOTI4ZmJjYzcwZTA0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RTdG9yZS1udWxsLW5h
bWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxldGVPYmplY3RT
dG9yZS1udWxsLW5hbWUuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlv
bi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNj
cmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2R1cGxpY2F0ZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2R1cGxp
Y2F0ZXMuaHRtbAppbmRleCAzMjhmOGYyYTA4M2VjYzUzNTVlNDZjZWI5ZTE5M2E1MzdkZWU1ZTcw
Li44YzU3MjQ4ZTdlOGU2ZWNhOTM5NGFlZDIxOWEyMzJkNDM1MDBmYzNiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kdXBsaWNhdGVzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZHVwbGljYXRlcy5odG1sCkBAIC0zMywxNCArMzMsMTQg
QEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAg
ICAgZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJl
VHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFi
b3J0Q2FsbGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2lu
ZG93LnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScs
IG51bGwpIik7Ci0gICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygic3RvcmUuY3Jl
YXRlSW5kZXgoJ2luZGV4TmFtZScsICd4JykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExv
ZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7CisgICAgc2VsZi5p
bmRleE9iamVjdCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAn
eCcpIik7CiAgICAgYWRkRGF0YSgpOwogfQogCkBAIC05Nyw3ICs5Nyw3IEBAIGZ1bmN0aW9uIG9w
ZW5LZXlDdXJzb3IoKQogewogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0IiwgInVu
ZGVmaW5lZCIpOwogCi0gICAgd2luZG93LnJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleE9iamVj
dC5vcGVuS2V5Q3Vyc29yKCkiKTsKKyAgICBzZWxmLnJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eE9iamVjdC5vcGVuS2V5Q3Vyc29yKCkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGN1cnNv
cjFDb250aW51ZTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKIH0KQEAgLTExMCw3ICsxMTAsNyBAQCBmdW5jdGlvbiBjdXJzb3IxQ29udGludWUoKQogCiAg
ICAgLy8gV2UgcmUtdXNlIHRoZSBsYXN0IHJlcXVlc3Qgb2JqZWN0LgogICAgIGV2YWxBbmRMb2co
ImV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKSIpOwotICAgIHdpbmRvdy5yZXF1ZXN0Lm9u
c3VjY2VzcyA9IGN1cnNvcjFDb250aW51ZTI7CisgICAgc2VsZi5yZXF1ZXN0Lm9uc3VjY2VzcyA9
IGN1cnNvcjFDb250aW51ZTI7CiB9CiAKIGZ1bmN0aW9uIGN1cnNvcjFDb250aW51ZTIoKQpAQCAt
MTIxLDE0ICsxMjEsMTQgQEAgZnVuY3Rpb24gY3Vyc29yMUNvbnRpbnVlMigpCiAKICAgICAvLyBX
ZSByZS11c2UgdGhlIGxhc3QgcmVxdWVzdCBvYmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQu
dGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAgd2luZG93LnJlcXVlc3Qub25zdWNjZXNz
ID0gb3Blbk9iamVjdEN1cnNvcjsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNjZXNzID0gb3Blbk9i
amVjdEN1cnNvcjsKIH0KIAogZnVuY3Rpb24gb3Blbk9iamVjdEN1cnNvcigpCiB7CiAgICAgc2hv
dWxkQmVUcnVlKCJldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxsIik7CiAKLSAgICB3aW5kb3cu
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOworICAgIHNl
bGYucmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4T2JqZWN0Lm9wZW5DdXJzb3IoKSIpOwogICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlOwogICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQpAQCAtMTQyLDcgKzE0Miw3IEBAIGZ1bmN0
aW9uIGN1cnNvcjJDb250aW51ZSgpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3QgcmVxdWVz
dCBvYmplY3QuCiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgp
Iik7Ci0gICAgd2luZG93LnJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlMjsKKyAg
ICBzZWxmLnJlcXVlc3Qub25zdWNjZXNzID0gY3Vyc29yMkNvbnRpbnVlMjsKIH0KIAogZnVuY3Rp
b24gY3Vyc29yMkNvbnRpbnVlMigpCkBAIC0xNTQsNyArMTU0LDcgQEAgZnVuY3Rpb24gY3Vyc29y
MkNvbnRpbnVlMigpCiAKICAgICAvLyBXZSByZS11c2UgdGhlIGxhc3QgcmVxdWVzdCBvYmplY3Qu
CiAgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpIik7Ci0gICAg
d2luZG93LnJlcXVlc3Qub25zdWNjZXNzID0gbGFzdDsKKyAgICBzZWxmLnJlcXVlc3Qub25zdWNj
ZXNzID0gbGFzdDsKIH0KIAogZnVuY3Rpb24gbGFzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1
bHQuaHRtbAppbmRleCBjNmJjNjI3OWVkMGM5ZDY2MDgyODE5MzJkNjIzYTQ5YTkyMGMyYjk1Li45
NmQzNDc3NDdjNTM1NjY3NGM0MmVkZjhmNWE4MjFmNGQ0NTYzMTdhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9y
dC1ieS1kZWZhdWx0Lmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigp
CiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAgZGVidWcoInNldFZlcnNpb25TdWNj
ZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZl
bnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsK
ICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgZXZhbEFu
ZExvZygidHJhbnMub25jb21wbGV0ZSA9IGFkZERhdGEiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRt
bAppbmRleCA4YTIxN2EzN2U2NzA1YWZlMmE3ZWE5MmIwNWE4MGU4MjQ3YTE5MjZmLi40NzU2Nzkz
MmJkZTI5ZjhhODQ1MDMxMDBhNGZmMDBmYTUzYjI0YTgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5o
dG1sCkBAIC0zMCw3ICszMCw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVs
ZXRlRXhpc3RpbmcoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAg
IHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25h
Ym9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9u
Y29tcGxldGUgPSBzdGFydFRlc3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dAppbmRleCBlMzgyZjVkODVmNjkxMjU2
Y2U1OTJhOTg2MjhkYjI2OTZhNmM3YmQzLi42ODZlNWFjYWVjM2E1OWVhMTdkMGMxYWI5MWUxYWZm
MWY1MDAwMmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0
b3J5LWNtcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
ZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0CkBAIC0zNTEsMTAgKzM1MSwxMCBAQCBQQVNTIGNvZGUg
aXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBpbmRleGVkREIuY21wKCd2YWxpZCcsIC9yZWdleC8pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgvcmVnZXgvLCB3aW5kb3cpCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgvcmVnZXgvLCBzZWxmKQogUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LCAvcmVn
ZXgvKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZiwgL3JlZ2V4
LykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VF
eGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21w
KC9yZWdleC8sICd2YWxpZCcpCkBAIC0zNjMsNDYgKzM2Myw0NiBAQCBQQVNTIGNvZGUgaXMgSURC
RGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRl
eGVkREIuY21wKCd2YWxpZCcsIC9yZWdleC8pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgog
UEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCh3aW5kb3csICd2YWxpZCcpCitFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLCAndmFsaWQnKQogUEFTUyBFeGNlcHRpb24g
d2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgot
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywgd2luZG93KQor
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoJ3ZhbGlkJywgc2VsZikKIFBB
U1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHdpbmRv
dywgd2luZG93LmRvY3VtZW50KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5j
bXAoc2VsZiwgc2VsZi5kb2N1bWVudCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNT
IGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdy5kb2N1bWVudCwgd2luZG93KQorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwgc2VsZikKIFBBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdywg
J3ZhbGlkJykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYsICd2
YWxpZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERC
LmNtcCgndmFsaWQnLCB3aW5kb3cpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERC
LmNtcCgndmFsaWQnLCBzZWxmKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LCAndmFsaWQnKQorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVudCwgJ3ZhbGlkJykKIFBBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcs
IHdpbmRvdy5kb2N1bWVudCkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21w
KCd2YWxpZCcsIHNlbGYuZG9jdW1lbnQpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFT
UyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gaW5kZXhlZERCLmNtcCh3aW5kb3cuZG9jdW1lbnQsIHdpbmRvdy5kb2N1bWVudC5i
b2R5KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAoc2VsZi5kb2N1bWVu
dCwgc2VsZi5kb2N1bWVudC5ib2R5KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1Mg
Y29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LmJvZHksIHdpbmRvdy5kb2N1bWVu
dCkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYuZG9jdW1lbnQu
Ym9keSwgc2VsZi5kb2N1bWVudCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBpbmRleGVkREIuY21wKHdpbmRvdy5kb2N1bWVudCwgJ3ZhbGlkJykKK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHNlbGYuZG9jdW1lbnQsICd2YWxpZCcpCiBQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCgndmFsaWQn
LCB3aW5kb3cuZG9jdW1lbnQpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNt
cCgndmFsaWQnLCBzZWxmLmRvY3VtZW50KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBB
U1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIGluZGV4ZWREQi5jbXAod2luZG93LmRvY3VtZW50LmJvZHksICd2YWxpZCcpCitF
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcChzZWxmLmRvY3VtZW50LmJvZHks
ICd2YWxpZCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRh
dGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhl
ZERCLmNtcCgndmFsaWQnLCB3aW5kb3cuZG9jdW1lbnQuYm9keSkKK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBpbmRleGVkREIuY21wKCd2YWxpZCcsIHNlbGYuZG9jdW1lbnQuYm9keSkKIFBBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1jbXAuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21w
Lmh0bWwKaW5kZXggZjlmYmVmNjFlNDM2YTJmOTExNzZmOTQyNzdlNTQ0NmRiMTA2OTgxMi4uY2Q0
YTQ3ZmUwMGRhMjNjZmFjZGE3YmRkNDRmMGZmNWM1OWY1M2M3MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCkBAIC0xMTcsOSArMTE3LDkgQEAg
ZnVuY3Rpb24gdGVzdEludmFsaWRLZXlzKCkKICAgICAgICAgInt9IiwKICAgICAgICAgImZ1bmN0
aW9uICgpIHt9IiwKICAgICAgICAgIi9yZWdleC8iLAotICAgICAgICAid2luZG93IiwKLSAgICAg
ICAgIndpbmRvdy5kb2N1bWVudCIsCi0gICAgICAgICJ3aW5kb3cuZG9jdW1lbnQuYm9keSIKKyAg
ICAgICAgInNlbGYiLAorICAgICAgICAic2VsZi5kb2N1bWVudCIsCisgICAgICAgICJzZWxmLmRv
Y3VtZW50LmJvZHkiCiAgICAgXTsKIAogICAgIHZhciBpLCBrZXkxLCBrZXkyOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1p
bnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
ZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMtZXhwZWN0ZWQudHh0CmluZGV4IGM5
YTVhZGMwMTE0NTE3MmE1YTU2NjM4OTU4YmJmMjcyMmUwZDM5NTAuLjM4NGU0MTAzZDI5NjA5YWJi
ZWUyOTkzYmIxZDk1NTFiMDQ3NmE5MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFi
YXNlLWludGVyYWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTgsNyArOCw3IEBAIFBBU1MgQm9vbGVh
bihpbmRleGVkREIgJiYgSURCQ3Vyc29yICYmIElEQkRhdGFiYXNlICYmIElEQkRhdGFiYXNlRXJy
b3IgJiYgSURCRGF0CiAKIAogVEVTVDogZGVsZXRlRGF0YWJhc2UgYmxvY2tlZCBvbiBvcGVuIGhh
bmRsZXMKLXdpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0
ZXBzID0gW10KK3NlbGYuZGJuYW1lID0gJ3Rlc3QxJzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBz
ID0gW10KICdoLm9wZW4nCiAnaC5vcGVuLm9uc3VjY2VzcycKICdkZWxldGVEYXRhYmFzZSgpJwpA
QCAtMTcsMTAgKzE3LDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0g
MTsgd2luZG93LnN0ZXBzID0gW10KICdkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCcKICdoLmNs
b3NlJwogJ2RlbGV0ZURhdGFiYXNlKCkub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3RlcHMudG9T
dHJpbmcoKSBpcyAiaC5vcGVuLGgub3Blbi5vbnN1Y2Nlc3MsZGVsZXRlRGF0YWJhc2UoKSxoLm9u
dmVyc2lvbmNoYW5nZSxkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxoLmNsb3NlLGRlbGV0ZURh
dGFiYXNlKCkub25zdWNjZXNzIgorUEFTUyBzZWxmLnN0ZXBzLnRvU3RyaW5nKCkgaXMgImgub3Bl
bixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZlcnNpb25jaGFuZ2UsZGVs
ZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2Vz
cyIKIAogVEVTVDogZGVsZXRlRGF0YWJhc2Ugbm90IGJsb2NrZWQgd2hlbiBoYW5kbGVzIGNsb3Nl
IGltbWVkaWF0ZWx5Ci13aW5kb3cuZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdp
bmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2Vs
Zi5zdGVwcyA9IFtdCiAnaC5vcGVuJwogJ2gub3Blbi5vbnN1Y2Nlc3MnCiAnZGVsZXRlRGF0YWJh
c2UoKScKQEAgLTMwLDEwICszMCwxMCBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93
LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQn
CiAnZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MnCiBOT1RFOiBXaWxsIEZBSUwgd2l0aCBleHRy
YSBib2d1cyBkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAKLUZBSUwgd2luZG93LnN0ZXBzLnRvU3RyaW5n
KCkgc2hvdWxkIGJlIGgub3BlbixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5v
bnZlcnNpb25jaGFuZ2UsaC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uc3VjY2Vzcy4gV2FzIGgu
b3BlbixoLm9wZW4ub25zdWNjZXNzLGRlbGV0ZURhdGFiYXNlKCksaC5vbnZlcnNpb25jaGFuZ2Us
aC5jbG9zZSxkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCxkZWxldGVEYXRhYmFzZSgpLm9uc3Vj
Y2Vzcy4KK0ZBSUwgc2VsZi5zdGVwcy50b1N0cmluZygpIHNob3VsZCBiZSBoLm9wZW4saC5vcGVu
Lm9uc3VjY2VzcyxkZWxldGVEYXRhYmFzZSgpLGgub252ZXJzaW9uY2hhbmdlLGguY2xvc2UsZGVs
ZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MuIFdhcyBoLm9wZW4saC5vcGVuLm9uc3VjY2VzcyxkZWxl
dGVEYXRhYmFzZSgpLGgub252ZXJzaW9uY2hhbmdlLGguY2xvc2UsZGVsZXRlRGF0YWJhc2UoKS5v
bmJsb2NrZWQsZGVsZXRlRGF0YWJhc2UoKS5vbnN1Y2Nlc3MuCiAKIFRFU1Q6IGRlbGV0ZURhdGFi
YXNlIGlzIGRlbGF5ZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5n
Ci13aW5kb3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9
IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtd
CiAnaC5vcGVuJwogJ2gub3Blbi5vbnN1Y2Nlc3MnCiAnaC5zZXRWZXJzaW9uJwpAQCAtNDUsNyAr
NDUsNyBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5z
dGVwcyA9IFtdCiAnZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQnCiAnaC5jbG9zZScKICdkZWxl
dGVEYXRhYmFzZSgpLm9uc3VjY2VzcycKLVBBU1Mgd2luZG93LnN0ZXBzLnRvU3RyaW5nKCkgaXMg
Imgub3BlbixoLm9wZW4ub25zdWNjZXNzLGguc2V0VmVyc2lvbixkZWxldGVEYXRhYmFzZSgpLGgu
c2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaC5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgu
b252ZXJzaW9uY2hhbmdlLGRlbGV0ZURhdGFiYXNlKCkub25ibG9ja2VkLGguY2xvc2UsZGVsZXRl
RGF0YWJhc2UoKS5vbnN1Y2Nlc3MiCitQQVNTIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaC5v
cGVuLGgub3Blbi5vbnN1Y2Nlc3MsaC5zZXRWZXJzaW9uLGRlbGV0ZURhdGFiYXNlKCksaC5zZXRW
ZXJzaW9uLm9uc3VjY2VzcyxoLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaC5vbnZl
cnNpb25jaGFuZ2UsZGVsZXRlRGF0YWJhc2UoKS5vbmJsb2NrZWQsaC5jbG9zZSxkZWxldGVEYXRh
YmFzZSgpLm9uc3VjY2VzcyIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtaW50ZXJhY3Rpb25zLmh0bWwKaW5k
ZXggMWMyMWFlZmJjOGMwZTc0ZDJlYTM2MzU0NmJhMzg2MmM4NmEzMWM3ZC4uMzNmZDcyZTdhYWMz
YWMxMzc2YWMyMDgyY2M3ZTFhZDM4OTM2OWI5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1pbnRlcmFjdGlvbnMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNl
LWludGVyYWN0aW9ucy5odG1sCkBAIC0xMiw0NCArMTIsNDQgQEAgZGVzY3JpcHRpb24oIlRlc3Qg
dGhlIGRlbGV0ZURhdGFiYXNlIGNhbGwgYW5kIGl0cyBpbnRlcmFjdGlvbiB3aXRoIG9wZW4vc2V0
VmVyc2kKIAogZnVuY3Rpb24gQ29ubmVjdGlvbihpZCkgewogICAgIGlkID0gU3RyaW5nKGlkKTsK
LSAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgdmFyIHRoYXQgPSB0aGlzOwogICAgIHRoaXMub3Bl
biA9IGZ1bmN0aW9uKG9wdHMpIHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIub3BlbiciKSk7Ci0gICAgICAgIHZhciByZXEgPSBpbmRleGVkREIub3Bl
bih3aW5kb3cuZGJuYW1lKTsKKyAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIici
ICsgaWQgKyAiLm9wZW4nIikpOworICAgICAgICB2YXIgcmVxID0gaW5kZXhlZERCLm9wZW4oc2Vs
Zi5kYm5hbWUpOwogICAgICAgICByZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwogICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHNl
bGYuaGFuZGxlID0gZS50YXJnZXQucmVzdWx0OwotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1
c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIub3Blbi5vbnN1Y2Nlc3MnIikpOwotICAgICAgICAg
ICAgc2VsZi5oYW5kbGUub252ZXJzaW9uY2hhbmdlID0gZnVuY3Rpb24oZSkgewotICAgICAgICAg
ICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9udmVyc2lv
bmNoYW5nZSciKSk7Ci0gICAgICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnZlcnNpb24p
IHsgb3B0cy5vbnZlcnNpb24uY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgdGhhdC5oYW5kbGUg
PSBlLnRhcmdldC5yZXN1bHQ7CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIub3Blbi5vbnN1Y2Nlc3MnIikpOworICAgICAgICAgICAgdGhhdC5oYW5k
bGUub252ZXJzaW9uY2hhbmdlID0gZnVuY3Rpb24oZSkgeworICAgICAgICAgICAgICAgIHNlbGYu
c3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vbnZlcnNpb25jaGFuZ2UnIikpOwor
ICAgICAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub252ZXJzaW9uKSB7IG9wdHMub252ZXJz
aW9uLmNhbGwodGhhdCk7IH0KICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBpZiAob3B0cyAm
JiBvcHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vzcy5jYWxsKHNlbGYpOyB9CisgICAgICAg
ICAgICBpZiAob3B0cyAmJiBvcHRzLm9uc3VjY2VzcykgeyBvcHRzLm9uc3VjY2Vzcy5jYWxsKHRo
YXQpOyB9CiAgICAgICAgIH07CiAgICAgfTsKIAogICAgIHRoaXMuY2xvc2UgPSBmdW5jdGlvbigp
IHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuY2xv
c2UnIikpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIu
Y2xvc2UnIikpOwogICAgICAgICB0aGlzLmhhbmRsZS5jbG9zZSgpOwogICAgIH07CiAKICAgICB0
aGlzLnNldFZlcnNpb24gPSBmdW5jdGlvbihvcHRzKSB7Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5w
dXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24nIikpOwotICAgICAgICB2YXIg
cmVxID0gdGhpcy5oYW5kbGUuc2V0VmVyc2lvbihTdHJpbmcod2luZG93LnZlcisrKSk7CisgICAg
ICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uJyIp
KTsKKyAgICAgICAgdmFyIHJlcSA9IHRoaXMuaGFuZGxlLnNldFZlcnNpb24oU3RyaW5nKHNlbGYu
dmVyKyspKTsKICAgICAgICAgcmVxLm9uYWJvcnQgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICAg
ICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5v
bmFib3J0JyIpKTsKLSAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25hYm9ydCkgeyBvcHRz
Lm9uYWJvcnQuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxB
bmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25hYm9ydCciKSk7CisgICAgICAgICAgICBp
ZiAob3B0cyAmJiBvcHRzLm9uYWJvcnQpIHsgb3B0cy5vbmFib3J0LmNhbGwodGhhdCk7IH0KICAg
ICAgICAgfTsKICAgICAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAg
ICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9u
Lm9uYmxvY2tlZCciKSk7Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uYmxvY2tlZCkg
eyBvcHRzLm9uYmxvY2tlZC5jYWxsKHNlbGYpOyB9CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1
c2goZXZhbEFuZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmJsb2NrZWQnIikpOworICAg
ICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmJsb2NrZWQpIHsgb3B0cy5vbmJsb2NrZWQuY2Fs
bCh0aGF0KTsgfQogICAgICAgICB9OwogICAgICAgICByZXEub25zdWNjZXNzID0gZnVuY3Rpb24g
KGUpIHsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQg
KyAiLnNldFZlcnNpb24ub25zdWNjZXNzJyIpKTsKLSAgICAgICAgICAgIGlmIChzZWxmLmhhbmRs
ZS5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpKSB7
Ci0gICAgICAgICAgICAgICAgc2VsZi5oYW5kbGUuZGVsZXRlT2JqZWN0U3RvcmUoInRlc3Qtc3Rv
cmUiICsgd2luZG93LnZlcik7CisgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MnIikpOworICAgICAgICAgICAgaWYg
KHRoYXQuaGFuZGxlLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInRlc3Qtc3RvcmUiICsgc2Vs
Zi52ZXIpKSB7CisgICAgICAgICAgICAgICAgdGhhdC5oYW5kbGUuZGVsZXRlT2JqZWN0U3RvcmUo
InRlc3Qtc3RvcmUiICsgc2VsZi52ZXIpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgdmFy
IHN0b3JlID0gc2VsZi5oYW5kbGUuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUiICsgd2lu
ZG93LnZlcik7CisgICAgICAgICAgICB2YXIgc3RvcmUgPSB0aGF0LmhhbmRsZS5jcmVhdGVPYmpl
Y3RTdG9yZSgidGVzdC1zdG9yZSIgKyBzZWxmLnZlcik7CiAgICAgICAgICAgICB2YXIgY291bnQg
PSAwOwogICAgICAgICAgICAgZG9fYXN5bmNfcHV0cygpOyAvLyBLZWVwIHRoaXMgdHJhbnNhY3Rp
b24gcnVubmluZyBmb3IgYSB3aGlsZQogICAgICAgICAgICAgZnVuY3Rpb24gZG9fYXN5bmNfcHV0
cygpIHsKQEAgLTU5LDMyICs1OSwzMiBAQCBmdW5jdGlvbiBDb25uZWN0aW9uKGlkKSB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmICgrK2NvdW50IDwgMTApIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvX2FzeW5jX3B1dHMoKTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQg
KyAiLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUnIikpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0cy5vbnN1Y2Nlc3MuY2Fs
bChzZWxmKTsgfQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxB
bmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUnIikpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0
cy5vbnN1Y2Nlc3MuY2FsbCh0aGF0KTsgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgfTsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICAgICAgICAgcmVxLm9uZXJy
b3IgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFu
ZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmVycm9yJyIpKTsKLSAgICAgICAgICAgIGlm
IChvcHRzICYmIG9wdHMub25lcnJvcikgeyBvcHRzLm9uZXJyb3IuY2FsbChzZWxmKTsgfQorICAg
ICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNp
b24ub25lcnJvciciKSk7CisgICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uZXJyb3IpIHsg
b3B0cy5vbmVycm9yLmNhbGwodGhhdCk7IH0KICAgICAgICAgfTsKICAgICB9OwogfQogCiBmdW5j
dGlvbiBkZWxldGVEYXRhYmFzZShpZCwgbmFtZSwgb3B0cykgewotICAgIHdpbmRvdy5zdGVwcy5w
dXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAiKSciKSk7CisgICAgc2Vs
Zi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQgKyAiKSciKSk7
CiAgICAgdmFyIHJlcSA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShuYW1lKTsKICAgICByZXEu
b25zdWNjZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZh
bEFuZExvZygiJ2RlbGV0ZURhdGFiYXNlKCIgKyBpZCArICIpLm9uc3VjY2VzcyciKSk7CisgICAg
ICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVsZXRlRGF0YWJhc2UoIiArIGlkICsg
Iikub25zdWNjZXNzJyIpKTsKICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsg
b3B0cy5vbnN1Y2Nlc3MuY2FsbChudWxsKTsgfQogICAgIH07CiAgICAgcmVxLm9uZXJyb3IgPSBm
dW5jdGlvbiAoZSkgewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInZGVs
ZXRlRGF0YWJhc2UoIiArIGlkICsgIikub25lcnJvciciKSk7CisgICAgICAgIHNlbGYuc3RlcHMu
cHVzaChldmFsQW5kTG9nKCInZGVsZXRlRGF0YWJhc2UoIiArIGlkICsgIikub25lcnJvciciKSk7
CiAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25lcnJvcikgeyBvcHRzLm9uZXJyb3IuY2FsbChu
dWxsKTsgfQogICAgIH07CiAgICAgcmVxLm9uYmxvY2tlZCA9IGZ1bmN0aW9uIChlKSB7Ci0gICAg
ICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIidkZWxldGVEYXRhYmFzZSgiICsgaWQg
KyAiKS5vbmJsb2NrZWQnIikpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygi
J2RlbGV0ZURhdGFiYXNlKCIgKyBpZCArICIpLm9uYmxvY2tlZCciKSk7CiAgICAgICAgIGlmIChv
cHRzICYmIG9wdHMub25ibG9ja2VkKSB7IG9wdHMub25ibG9ja2VkLmNhbGwobnVsbCk7IH0KICAg
ICB9OwogfQpAQCAtMTA1LDE4ICsxMDUsMTggQEAgZnVuY3Rpb24gdGVzdCgpIHsKIGZ1bmN0aW9u
IHRlc3QxKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVEVTVDogZGVsZXRlRGF0YWJh
c2UgYmxvY2tlZCBvbiBvcGVuIGhhbmRsZXMiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJu
YW1lID0gJ3Rlc3QxJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7CisgICAg
ZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDEnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3Rl
cHMgPSBbXSIpOwogICAgIHZhciBoID0gbmV3IENvbm5lY3Rpb24oImgiKTsKICAgICBydW5TdGVw
cyhbZnVuY3Rpb24oZG9OZXh0KSB7IGgub3Blbih7b25zdWNjZXNzOiBkb05leHQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9udmVyc2lvbjogZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiICAgIGggY2xvc2luZywgYnV0IG5v
dCBpbW1lZGlhdGVseSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsgaC5jbG9zZSgpOyB9LCAwKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfX0pOyB9LAotICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgZGVsZXRl
RGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsIHsKKyAgICAgICAgZnVuY3Rpb24oZG9OZXh0KSB7
IGRlbGV0ZURhdGFiYXNlKCIiLCBzZWxmLmRibmFtZSwgewogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb25zdWNjZXNzOiBmaW5pc2hUZXN0fSk7IH0sCiAgICAgICAgIF0pOwogICAgIGZ1bmN0
aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93
LnN0ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlbGYu
c3RlcHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbImgub3Bl
biIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgub3Blbi5vbnN1Y2Nlc3MiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWxldGVEYXRhYmFzZSgpIiwKQEAgLTEz
MiwxOSArMTMyLDE5IEBAIGZ1bmN0aW9uIHRlc3QxKCkgewogZnVuY3Rpb24gdGVzdDIoKSB7CiAg
ICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJURVNUOiBkZWxldGVEYXRhYmFzZSBub3QgYmxvY2tl
ZCB3aGVuIGhhbmRsZXMgY2xvc2UgaW1tZWRpYXRlbHkiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5k
b3cuZGJuYW1lID0gJ3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7
CisgICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDInOyBzZWxmLnZlciA9IDE7IHNl
bGYuc3RlcHMgPSBbXSIpOwogICAgIHZhciBoID0gbmV3IENvbm5lY3Rpb24oImgiKTsKICAgICBy
dW5TdGVwcyhbZnVuY3Rpb24oZG9OZXh0KSB7IGgub3Blbih7b25zdWNjZXNzOiBkb05leHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbnZlcnNpb246IGZ1bmN0
aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl
YnVnKCIgICAgaCBjbG9zaW5nIGltbWVkaWF0ZWx5Iik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaC5jbG9zZSgpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfX0pOyB9LAotICAgICAgICBmdW5jdGlvbihkb05leHQpIHsg
ZGVsZXRlRGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsIHsKKyAgICAgICAgZnVuY3Rpb24oZG9O
ZXh0KSB7IGRlbGV0ZURhdGFiYXNlKCIiLCBzZWxmLmRibmFtZSwgewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb25zdWNjZXNzOiBmaW5pc2hUZXN0fSk7IH0sCiAgICAgICAgIF0pOwogICAg
IGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CiAgICAgICAgIGRlYnVnKCJOT1RFOiBXaWxsIEZBSUwg
d2l0aCBleHRyYSBib2d1cyBkZWxldGVEYXRhYmFzZSgpLm9uYmxvY2tlZCBzdGVwOyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAiKTsKLSAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFsiaC5vcGVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaC5vcGVuLm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRl
bGV0ZURhdGFiYXNlKCkiLApAQCAtMTU5LDcgKzE1OSw3IEBAIGZ1bmN0aW9uIHRlc3QyKCkgewog
ZnVuY3Rpb24gdGVzdDMoKSB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJURVNUOiBkZWxl
dGVEYXRhYmFzZSBpcyBkZWxheWVkIGlmIGEgVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24gaXMg
cnVubmluZyIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5k
b3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRi
bmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFy
IGggPSBuZXcgQ29ubmVjdGlvbigiaCIpOwogICAgIHJ1blN0ZXBzKFtmdW5jdGlvbihkb05leHQp
IHsgaC5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb252ZXJzaW9uOiBmdW5jdGlvbigpIHsKQEAgLTE2NywxMiArMTY3LDEyIEBAIGZ1bmN0
aW9uIHRlc3QzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsgaC5jbG9zZSgpOyB9LCAwKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfX0pOyB9LAogICAgICAgICAgICAgICBmdW5jdGlvbihkb05leHQpIHsgaC5z
ZXRWZXJzaW9uKCk7IGRvTmV4dCgpOyB9LAotICAgICAgICAgICAgICBmdW5jdGlvbihkb05leHQp
IHsgZGVsZXRlRGF0YWJhc2UoIiIsIHdpbmRvdy5kYm5hbWUsCisgICAgICAgICAgICAgIGZ1bmN0
aW9uKGRvTmV4dCkgeyBkZWxldGVEYXRhYmFzZSgiIiwgc2VsZi5kYm5hbWUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHtvbnN1Y2Nlc3M6IGZpbmlzaFRlc3R9KTsgfSwKICAgICAg
ICAgICAgICAgXSk7CiAKICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5zdGVwcy50b1N0cmluZygpIiwKKyAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0ZXBzLnRvU3RyaW5nKCkiLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgWyJoLm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJoLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
aC5zZXRWZXJzaW9uIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbAppbmRleCA0N2I2YTllMzUzMjliNjg1Yzg3
ZmM5OWVmZDkxNjMwYjM4YTU0OWM0Li5mMmFmNGVmZmZlMGNiNzgyMzlmZGU1YjYyMWRlNTFhMTRm
NGVmMDE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5
LWRlbGV0ZWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
ZmFjdG9yeS1kZWxldGVkYXRhYmFzZS5odG1sCkBAIC0yOSwxMiArMjksMTIgQEAgZnVuY3Rpb24g
c3RhcnRTZXRWZXJzaW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdp
bmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwor
ICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAKICAgICBzdG9yZSA9IGV2
YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwp
Iik7CiAKLSAgICB3aW5kb3cuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgn
aW5kZXhOYW1lJywgJycpIik7CisgICAgc2VsZi5pbmRleCA9IGV2YWxBbmRMb2coInN0b3JlLmNy
ZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAnJykiKTsKICAgICBzaG91bGRCZVRydWUoInN0b3JlLmlu
ZGV4TmFtZXMuY29udGFpbnMoJ2luZGV4TmFtZScpIik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygic3RvcmUuYWRkKCd2YWx1ZScsICdrZXknKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY291bnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2luZGV4LWNvdW50Lmh0bWwKaW5kZXggOTM4YjczOTg4MDU0ZmNiNDNhOTZk
ZjU5NDQ0NjczYzAxMmMwMDNiZi4uMzIxMWVjNmE5YTQzNTJlYzJlMDc0ZjE5Y2VlZTRlYTRhZWYw
NmIzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY291
bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jb3VudC5o
dG1sCkBAIC0yNywxNCArMjcsMTQgQEAgZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKIHsKICAg
ICBkZWJ1ZygiIik7CiAgICAgZGVidWcoInByZXBhcmluZyBkYXRhYmFzZSIpOwotICAgIHdpbmRv
dy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAg
IHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
ICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAKICAgICBkZWxldGVBbGxPYmpl
Y3RTdG9yZXMoZGIpOwogCiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOwogCi0gICAgd2luZG93LmluZGV4ID0g
ZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICcnKSIpOworICAgIHNl
bGYuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycp
Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJzdG9yZS5pbmRleE5hbWVzLmNvbnRhaW5zKCdpbmRleE5h
bWUnKSIpOwogCiAgICAgZGVidWcoImFkZGluZyAwIC4uLiA5OSIpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jdXJzb3IuaHRtbAppbmRleCBmMWQwMzZlM2Q5MGNj
YTFhZDgxNzQ5MjA1Njg1YmEwMGQ4ZWQ4MjdhLi4zZjIwN2ZmOGQxMTJkMmUwMzkyMTYwZDMyM2Zk
NzRjZTIxODIyYjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bmRleC1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC1jdXJzb3IuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhl
ZERCJ3Mgd2Via2l0SURCSW5kZXgub3BlbkN1cnNvciArIHRoZSBjdXJzb3IgaXQgcHJvZHVjZXMg
aW4gZGVwdGguIik7CiAgCiAvLyBJbiBvcmRlciBvZiBob3cgaXQgc2hvdWxkIGJlIHNvcnRlZCBi
eSBJbmRleGVkREIuCi13aW5kb3cudGVzdERhdGEgPSBbCitzZWxmLnRlc3REYXRhID0gWwogICAg
IDEsCiAgICAgMSwKICAgICAzLjE0MTU5LApAQCAtMzIsNyArMzIsNyBAQCBmdW5jdGlvbiBvcGVu
RGF0YWJhc2UoKQogIAogZnVuY3Rpb24gc2V0VmVyc2lvbigpCiB7Ci0gICAgd2luZG93LmRiID0g
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2
YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgcmVzdWx0ID0gZXZh
bEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKSIpOwogICAgIHJlc3VsdC5vbnN1
Y2Nlc3MgPSBkZWxldGVFeGlzdGluZzsKQEAgLTQxLDI5ICs0MSwyOSBAQCBmdW5jdGlvbiBzZXRW
ZXJzaW9uKCkKIAogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYu
dHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBz
aG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhw
ZWN0ZWRBYm9ydENhbGxiYWNrOwogCiAgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKIAot
ICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCdzb21lT2JqZWN0U3RvcmUnKSIpOwotICAgIHdpbmRvdy5pbmRleE9iamVjdCA9IGV2YWxBbmRM
b2coIm9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdzb21lSW5kZXgnLCAneCcpIik7Ci0gICAgd2lu
ZG93Lm5leHRUb0FkZCA9IDA7CisgICAgc2VsZi5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRi
LmNyZWF0ZU9iamVjdFN0b3JlKCdzb21lT2JqZWN0U3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhP
YmplY3QgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnc29tZUluZGV4Jywg
J3gnKSIpOworICAgIHNlbGYubmV4dFRvQWRkID0gMDsKICAgICBhZGREYXRhKCk7CiB9CiAKIGZ1
bmN0aW9uIGFkZERhdGEoKQogewogICAgIHJlc3VsdCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3Jl
LmFkZCh7J3gnOiB0ZXN0RGF0YVtuZXh0VG9BZGRdfSwgbmV4dFRvQWRkKSIpOwotICAgIHJlc3Vs
dC5vbnN1Y2Nlc3MgPSArK3dpbmRvdy5uZXh0VG9BZGQgPCB0ZXN0RGF0YS5sZW5ndGggPyBhZGRE
YXRhIDogc2NoZWR1bGVUZXN0czsKKyAgICByZXN1bHQub25zdWNjZXNzID0gKytzZWxmLm5leHRU
b0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVsZVRlc3RzOwogICAgIHJl
c3VsdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKIGZ1bmN0aW9uIHNj
aGVkdWxlVGVzdHMoKQogewogICAgIGRlYnVnKCJTY2hlZHVsaW5nIHRlc3RzLi4uIik7Ci0gICAg
d2luZG93LnNjaGVkdWxlZFRlc3RzID0gW107CisgICAgc2VsZi5zY2hlZHVsZWRUZXN0cyA9IFtd
OwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdERhdGEubGVuZ3RoOyArK2kpIHsKICAgICAg
ICAgLyogbGVmdCBib3VuZCwgaXMgb3BlbiwgcmlnaHQgYm91bmQsIGlzIG9wZW4sIGFzY2VuZGlu
ZyAqLwogICAgICAgICBzY2hlZHVsZWRUZXN0cy51bnNoaWZ0KFtpLCB0cnVlLCBudWxsLCBudWxs
LCB0cnVlXSk7CkBAIC05OCwxMSArOTgsMTEgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogICAg
IH0KICAKICAgICB2YXIgdGVzdCA9IHNjaGVkdWxlZFRlc3RzLnBvcCgpOwotICAgIHdpbmRvdy5s
b3dlciA9IHRlc3RbMF07Ci0gICAgd2luZG93Lmxvd2VySXNPcGVuID0gdGVzdFsxXTsKLSAgICB3
aW5kb3cudXBwZXIgPSB0ZXN0WzJdOwotICAgIHdpbmRvdy51cHBlcklzT3BlbiA9IHRlc3RbM107
Ci0gICAgd2luZG93LmFzY2VuZGluZyA9IHRlc3RbNF07CisgICAgc2VsZi5sb3dlciA9IHRlc3Rb
MF07CisgICAgc2VsZi5sb3dlcklzT3BlbiA9IHRlc3RbMV07CisgICAgc2VsZi51cHBlciA9IHRl
c3RbMl07CisgICAgc2VsZi51cHBlcklzT3BlbiA9IHRlc3RbM107CisgICAgc2VsZi5hc2NlbmRp
bmcgPSB0ZXN0WzRdOwogCiAgICAgc3RyID0gIk5leHQgdGVzdDogIjsKICAgICBpZiAobG93ZXIg
IT09IG51bGwpIHsKQEAgLTEyOSwzOCArMTI5LDM4IEBAIGZ1bmN0aW9uIHJ1bk5leHRUZXN0KCkK
ICAgICBpZiAodXBwZXIgIT09IG51bGwpIHsKICAgICAgICAgaWYgKHVwcGVySXNPcGVuKSB7CiAg
ICAgICAgICAgICB3aGlsZSAodXBwZXIgPiAwICYmIHRlc3REYXRhW3VwcGVyXSA9PT0gdGVzdERh
dGFbdXBwZXIgLSAxXSkKLSAgICAgICAgICAgICAgICAtLXdpbmRvdy51cHBlcjsKKyAgICAgICAg
ICAgICAgICAtLXNlbGYudXBwZXI7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB3aGls
ZSAodXBwZXIgPCB0ZXN0RGF0YS5sZW5ndGggLSAxICYmIHRlc3REYXRhW3VwcGVyXSA9PT0gdGVz
dERhdGFbdXBwZXIgKyAxXSkKLSAgICAgICAgICAgICAgICArK3dpbmRvdy51cHBlcjsKKyAgICAg
ICAgICAgICAgICArK3NlbGYudXBwZXI7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKGxvd2Vy
ICE9PSBudWxsKSB7CiAgICAgICAgIGlmIChsb3dlcklzT3BlbikgewogICAgICAgICAgICAgd2hp
bGUgKGxvd2VyIDwgdGVzdERhdGEubGVuZ3RoIC0gMSAmJiB0ZXN0RGF0YVtsb3dlcl0gPT09IHRl
c3REYXRhW2xvd2VyICsgMV0pCi0gICAgICAgICAgICAgICAgKyt3aW5kb3cubG93ZXI7CisgICAg
ICAgICAgICAgICAgKytzZWxmLmxvd2VyOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
d2hpbGUgKGxvd2VyID4gMCAmJiB0ZXN0RGF0YVtsb3dlcl0gPT09IHRlc3REYXRhW2xvd2VyIC0g
MV0pCi0gICAgICAgICAgICAgICAgLS13aW5kb3cubG93ZXI7CisgICAgICAgICAgICAgICAgLS1z
ZWxmLmxvd2VyOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKGFzY2VuZGluZykgewogICAg
ICAgICBpZiAobG93ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghbG93ZXJJc09wZW4p
Ci0gICAgICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKKyAgICAgICAg
ICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyICsgMTsKKyAgICAgICAg
ICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBsb3dlciArIDE7CiAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSAwOworICAgICAgICAgICAgc2VsZi5l
eHBlY3RlZEluZGV4ID0gMDsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAodXBwZXIgIT09IG51
bGwpIHsKICAgICAgICAgICAgIGlmICghdXBwZXJJc09wZW4pCi0gICAgICAgICAgICAgICAgd2lu
ZG93LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVk
SW5kZXggPSB1cHBlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB3aW5kb3cu
ZXhwZWN0ZWRJbmRleCA9IHVwcGVyIC0gMTsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVk
SW5kZXggPSB1cHBlciAtIDE7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgd2luZG93LmV4
cGVjdGVkSW5kZXggPSB0ZXN0RGF0YS5sZW5ndGggLSAxOworICAgICAgICAgICAgc2VsZi5leHBl
Y3RlZEluZGV4ID0gdGVzdERhdGEubGVuZ3RoIC0gMTsKICAgICB9CiAgICAgdGVzdFdpdGhpbkJv
dW5kcygpOwogIApAQCAtMTg2LDE1ICsxODYsMTUgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQog
ZnVuY3Rpb24gdGVzdFdpdGhpbkJvdW5kcygpCiB7CiAgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAw
IHx8IHRlc3REYXRhLmxlbmd0aCA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhw
ZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAg
ICAgaWYgKGxvd2VyICE9PSBudWxsICYmIGV4cGVjdGVkSW5kZXggPCBsb3dlcikKLSAgICAgICAg
d2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXgg
PSBudWxsOwogICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgp
Ci0gICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gbnVsbDsKKyAgICAgICAgc2VsZi5leHBl
Y3RlZEluZGV4ID0gbnVsbDsKICAgICBpZiAobG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4g
JiYgZXhwZWN0ZWRJbmRleCA8PSBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXgg
PSBudWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBl
ciAhPT0gbnVsbCAmJiB1cHBlcklzT3BlbiAmJiB1cHBlciA8PSBleHBlY3RlZEluZGV4KQotICAg
ICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJ
bmRleCA9IG51bGw7CiB9CiAgCiBmdW5jdGlvbiBjdXJzb3JJdGVyYXRpb24oKQpAQCAtMjEyLDMx
ICsyMTIsMzEgQEAgZnVuY3Rpb24gY3Vyc29ySXRlcmF0aW9uKCkKICAKICAgICBzaG91bGRCZSgi
ZXZlbnQudGFyZ2V0LnJlc3VsdC5wcmltYXJ5S2V5IiwgImV4cGVjdGVkSW5kZXgiKTsKICAgICBz
aG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkiLCAidGVzdERhdGFbIiArIGV4cGVjdGVk
SW5kZXggKyAiXSIpOwotICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gYXNjZW5kaW5nID8gZXhw
ZWN0ZWRJbmRleCArIDEgOiBleHBlY3RlZEluZGV4IC0gMTsKKyAgICBzZWxmLmV4cGVjdGVkSW5k
ZXggPSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4ICsgMSA6IGV4cGVjdGVkSW5kZXggLSAxOwog
ICAgIHRlc3RXaXRoaW5Cb3VuZHMoKTsKIAogICAgIGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGlu
dWUoKTsKIH0KICAKLXdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID0gMDsKK3NlbGYubnVsbEtleVJh
bmdlU3RlcCA9IDA7CiBmdW5jdGlvbiB0ZXN0TnVsbEtleVJhbmdlKCkKIHsKLSAgICB3aW5kb3cu
bG93ZXIgPSAwOwotICAgIHdpbmRvdy5sb3dlcklzT3BlbiA9IGZhbHNlOwotICAgIHdpbmRvdy51
cHBlciA9IHRlc3REYXRhLmxlbmd0aC0xOwotICAgIHdpbmRvdy51cHBlcklzT3BlbiA9IGZhbHNl
OworICAgIHNlbGYubG93ZXIgPSAwOworICAgIHNlbGYubG93ZXJJc09wZW4gPSBmYWxzZTsKKyAg
ICBzZWxmLnVwcGVyID0gdGVzdERhdGEubGVuZ3RoLTE7CisgICAgc2VsZi51cHBlcklzT3BlbiA9
IGZhbHNlOwogCiAgICAgc3RyID0gIk5leHQgdGVzdDogbnVsbCBrZXkgcGF0aCAiOwotICAgIGlm
ICh3aW5kb3cubnVsbEtleVJhbmdlU3RlcCA9PSAwKSB7CisgICAgaWYgKHNlbGYubnVsbEtleVJh
bmdlU3RlcCA9PSAwKSB7CiAgICAgICAgIHN0ciArPSAic29ydGVkIGFzY2VuZGluZy4iOwotICAg
ICAgICB3aW5kb3cuYXNjZW5kaW5nID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5k
ZXggPSBsb3dlcjsKLSAgICAgICAgd2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPSAxOwotICAgIH0g
ZWxzZSBpZiAod2luZG93Lm51bGxLZXlSYW5nZVN0ZXAgPT0gMSkgeworICAgICAgICBzZWxmLmFz
Y2VuZGluZyA9IHRydWU7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOworICAg
ICAgICBzZWxmLm51bGxLZXlSYW5nZVN0ZXAgPSAxOworICAgIH0gZWxzZSBpZiAoc2VsZi5udWxs
S2V5UmFuZ2VTdGVwID09IDEpIHsKICAgICAgICAgc3RyICs9ICJzb3J0ZWQgZGVzY2VuZGluZy4i
OwotICAgICAgICB3aW5kb3cuYXNjZW5kaW5nID0gZmFsc2U7Ci0gICAgICAgIHdpbmRvdy5leHBl
Y3RlZEluZGV4ID0gdXBwZXI7Ci0gICAgICAgIHdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID0gMjsK
KyAgICAgICAgc2VsZi5hc2NlbmRpbmcgPSBmYWxzZTsKKyAgICAgICAgc2VsZi5leHBlY3RlZElu
ZGV4ID0gdXBwZXI7CisgICAgICAgIHNlbGYubnVsbEtleVJhbmdlU3RlcCA9IDI7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWdldC1rZXktYXJndW1lbnQt
cmVxdWlyZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWdldC1r
ZXktYXJndW1lbnQtcmVxdWlyZWQuaHRtbAppbmRleCAyZTI2YTFjNTBkNzYzZDE3YWViYzBjZjI5
ZWIwZDgyNWUyYmIzZjQyLi4wMTllZGMyMTFiMWU1Yzg3ZWZlOGU0MmYzOWQyMDgwNGI3MDllZDU5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1nZXQta2V5
LWFyZ3VtZW50LXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvaW5kZXgtZ2V0LWtleS1hcmd1bWVudC1yZXF1aXJlZC5odG1sCkBAIC0xNSw3ICsxNSw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBu
YW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi5odG1sCmluZGV4IGQ3OGQ4YTBj
NWI2MzgzY2Q4NzdkZTBiYTMyMGU4NmQyMDU3N2RlM2EuLjQ0MDAxMWY4NTZlNmVmYTdmY2Q4YTA2
Mjc5Zjk4MzVjOGUxZjRiNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2luZGV4LXBvcHVsYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC1wb3B1bGF0aW9uLmh0bWwKQEAgLTMwLDcgKzMwLDcgQEAgZnVuY3Rpb24gZG9T
ZXRWZXJzaW9uMSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJkb1NldFZlcnNpb24x
KCk6Iik7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dCIpOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbign
dmVyc2lvbiAxJykiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb24xOwogICAg
IHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbAppbmRleCBhM2QyODAzNTZi
ZGIzYmRkOWU5ODBiODY2MmE5MjkwMGRmYmI1YTA4Li4xMTQxMzIxMjE2MzZlODQ4YjU0Mjg1NWYz
MmNhMmM5ZjRiNDVmZWFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9pbmRleC11bmlxdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9p
bmRleC11bmlxdWUuaHRtbApAQCAtMzcsOCArMzcsOCBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGlu
ZygpCiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93LnN0b3Jl
ID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKLSAgICB3aW5k
b3cuaW5kZXhPYmplY3QgPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAn
eCcsIHt1bmlxdWU6IHRydWV9KSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgIHNlbGYuaW5kZXhPYmplY3QgPSBldmFs
QW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAneCcsIHt1bmlxdWU6IHRydWV9KSIp
OwogCiAgICAgLy8gTGV0IHNldFZlcnNpb24gdHJhbnNhY3Rpb24gY29tcGxldGUuCiB9CkBAIC00
Niw3ICs0Niw3IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIGZ1bmN0aW9uIHNldFZlcnNp
b25Db21wbGV0ZWQoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7Ci0g
ICAgd2luZG93LnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbihbJ3N0b3JlJ10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgc2Vs
Zi50cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
WydzdG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogCiAgICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpLnB1dCh7eDogMX0s
ICdmb28nKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5
cy1leHBlY3RlZC50eHQKaW5kZXggMzU4YzY3OTg1ZDhlMzhlZDQ2NTEyNzdhMzM3ZmFhNTUzNDNk
MTY2My4uNTUwYTAwNTI2ZTJhMWQ2MzBiYWEwNjdiMWFkZGNiMzExMzNhOTU5MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbnZhbGlkLWtleXMtZXhwZWN0
ZWQudHh0CkBAIC01MCwxMyArNTAsMTMgQEAgUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9IG9iamVjdFN0
b3JlLnB1dCgndmFsdWUnLCAvcmVnZXgvKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBB
U1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5wdXQoJ3ZhbHVlJywgd2luZG93KQorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5wdXQoJ3ZhbHVlJywg
c2VsZikKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJh
c2VFeGNlcHRpb24uREFUQV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSByZXF1ZXN0ID0g
b2JqZWN0U3RvcmUucHV0KCd2YWx1ZScsIHdpbmRvdy5kb2N1bWVudCkKK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1ZScsIHNlbGYuZG9jdW1l
bnQpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gcmVxdWVzdCA9IG9i
amVjdFN0b3JlLnB1dCgndmFsdWUnLCB3aW5kb3cuZG9jdW1lbnQuYm9keSkKK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSByZXF1ZXN0ID0gb2JqZWN0U3RvcmUucHV0KCd2YWx1ZScsIHNlbGYuZG9j
dW1lbnQuYm9keSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURC
RGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5
cy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwK
aW5kZXggNDIyMzg5YTcwZjI0ZGJlNGFjMjFiNDBlNWYyMzgxNDY2ZTIwOThjZS4uOGUyMDBiMDU2
Y2U1M2Y0ZjIzNjgwNTdmODBjOGIzZDZiMTkxZmZiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rp
b24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3
aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5h
bWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CkBAIC01NSw5ICs1NSw5IEBAIGZ1bmN0aW9u
IHRlc3RJbnZhbGlkS2V5cygpCiAgICAgICAgICJuZXcgRGF0ZShOYU4pIiwgLy8gRGF0ZSAoc3Bl
Y2lhbCBjYXNlKQogICAgICAgICAie30iLCAvLyBPYmplY3QKICAgICAgICAgIi9yZWdleC8iLCAv
LyBSZWdFeHAKLSAgICAgICAgIndpbmRvdyIsIC8vIGdsb2JhbAotICAgICAgICAid2luZG93LmRv
Y3VtZW50IiwgLy8gSFRNTERvY3VtZW50Ci0gICAgICAgICJ3aW5kb3cuZG9jdW1lbnQuYm9keSIg
Ly8gSFRNTEJvZHlFbGVtZW50CisgICAgICAgICJzZWxmIiwgLy8gZ2xvYmFsCisgICAgICAgICJz
ZWxmLmRvY3VtZW50IiwgLy8gSFRNTERvY3VtZW50CisgICAgICAgICJzZWxmLmRvY3VtZW50LmJv
ZHkiIC8vIEhUTUxCb2R5RWxlbWVudAogICAgIF07CiAKICAgICBpbnZhbGlkS2V5cy5mb3JFYWNo
KGZ1bmN0aW9uKGtleSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIva2V5LWdlbmVyYXRvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5
LWdlbmVyYXRvci5odG1sCmluZGV4IDQ5YWI2MmM4ZTMyOGFhZGVhOTc4MDg5YmQ3YzgzZjJmMDAx
NTU2NjEuLjY5YjI2MTQyNDExYmQ2NTYxNGUxODdmYmQ5ZDdhYjEzN2FjMjg4ZTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS1nZW5lcmF0b3IuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktZ2VuZXJhdG9yLmh0bWwKQEAgLTc2
LDExICs3NiwxMSBAQCBmdW5jdGlvbiBydW5UZXN0cygpIHsKIH0KIAogZnVuY3Rpb24gY2hlY2so
c3RvcmUsIGtleSwgZXhwZWN0ZWQpIHsKLSAgICB3aW5kb3cuc3RvcmUgPSBzdG9yZTsKKyAgICBz
ZWxmLnN0b3JlID0gc3RvcmU7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBz
dG9yZS5nZXQoIiArIEpTT04uc3RyaW5naWZ5KGtleSkgKyAiKSIpOwogICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
ZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkID0gZXhwZWN0ZWQ7CisgICAg
ICAgIHNlbGYuZXhwZWN0ZWQgPSBleHBlY3RlZDsKICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5
KGV2ZW50LnRhcmdldC5yZXN1bHQpID09PSBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkpIHsKICAg
ICAgICAgICAgIHRlc3RQYXNzZWQoIkdvdCAiICsgSlNPTi5zdHJpbmdpZnkoZXZlbnQudGFyZ2V0
LnJlc3VsdCkgKyAiIGZvciBrZXk6ICIgKyBKU09OLnN0cmluZ2lmeShrZXkpKTsKICAgICAgICAg
fSBlbHNlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS1z
b3J0LW9yZGVyLWFjcm9zcy10eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKaW5kZXggMzg1MTNjMjMwMjAzZWU4
ZGZkYTdjZWNjOWQ2MTczNjVhZTc3MzBmOS4uMjQ2NmE1YzVlNTI1YjYyM2VjZTNkZDk2MDk4YzI1
Y2FmYTM5Y2UzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5
LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLmh0bWwKQEAgLTE1LDcgKzE1LDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAg
IG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRlci1kYXRlLmh0bWwKaW5kZXgg
YWM3YjM2YTUwMDNiOWYxODlmZjI4NDIxNDYxMTlkN2I0ZmViOWI0ZC4uZDZkZWNmM2QwNTE2ZThk
M2Y2YmJlNWE1ZGRkNDc1NDQwNGI0NzMzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWRhdGUuaHRtbApAQCAtMTUsNyArMTUsNyBA
QCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAg
bmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlv
bi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7
CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dApp
bmRleCA0NTNkNTkwY2ZkZjllOWUxYzYxMGM1NTk3MjcxNTg4NzUxMzYxMjRmLi41OTY5MDRhYmU2
NDAwM2YxZDczZWIxMmM5OWZlMzM2NzEzYWRhNzFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0CkBAIC02
LDkgKzYsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogaW5kZXhlZERCID0gc2VsZi5pbmRl
eGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2Vs
Zi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiBQQVNTIEJvb2xlYW4oaW5kZXhlZERC
ICYmIElEQkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVycm9yICYmIElEQkRh
dGFiYXNlRXhjZXB0aW9uICYmIElEQkZhY3RvcnkgJiYgSURCSW5kZXggJiYgSURCS2V5UmFuZ2Ug
JiYgSURCT2JqZWN0U3RvcmUgJiYgSURCUmVxdWVzdCAmJiBJREJUcmFuc2FjdGlvbikgaXMgdHJ1
ZQogCi1JREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cuSURC
VHJhbnNhY3Rpb247CitJREJUcmFuc2FjdGlvbiA9IHNlbGYuSURCVHJhbnNhY3Rpb24gfHwgc2Vs
Zi5JREJUcmFuc2FjdGlvbjsKIFBBU1MgSURCVHJhbnNhY3Rpb24gPT0gbnVsbCBpcyBmYWxzZQot
SURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2lu
ZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uOworSURCRGF0YWJhc2VFeGNlcHRpb24gPSBzZWxmLklE
QkRhdGFiYXNlRXhjZXB0aW9uIHx8IHNlbGYuSURCRGF0YWJhc2VFeGNlcHRpb247CiBQQVNTIElE
QkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwgaXMgZmFsc2UKIGluZGV4ZWREQi5vcGVuKG5hbWUs
IGRlc2NyaXB0aW9uKQogZGIgPSBvcGVucmVxLnJlc3VsdApAQCAtMjE3LDE4ICsyMTcsMTggQEAg
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIC9yZWdleC8gXSk7
CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLkRBVEFfRVJSCiAKLXRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93IF0K
LUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cgXSk7
Cit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHNlbGYgXQorRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHNlbGYgXSk7CiBQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiAKLXRl
c3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93LmRvY3VtZW50IF0KLUV4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cuZG9jdW1lbnQgXSk7Cit0
ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHNlbGYuZG9jdW1lbnQgXQorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHNlbGYuZG9jdW1lbnQgXSk7CiBQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LkRBVEFfRVJSCiAKLXRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93LmRvY3VtZW50
LmJvZHkgXQotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHdp
bmRvdy5kb2N1bWVudC5ib2R5IF0pOwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBzZWxm
LmRvY3VtZW50LmJvZHkgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFs
dWUnLCBbIHNlbGYuZG9jdW1lbnQuYm9keSBdKTsKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24u
CiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwKaW5kZXggODAy
ODcwMjhhOWQ2ZGJmNmI5YmJlN2U5NmI3MTExMWY0YzQ5ZGM2Ny4uMmE1OTQ1NDQxZjg4ZThiZjhj
NzU2NWVlYjllMDgxMDQ3MmJjZDAxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sCkBAIC0xNSwxNCArMTUsMTQgQEAgZnVuY3Rpb24g
dGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIGV2YWxBbmRMb2co
IklEQlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy5JREJUcmFu
c2FjdGlvbjsiKTsKKyAgICBldmFsQW5kTG9nKCJJREJUcmFuc2FjdGlvbiA9IHNlbGYuSURCVHJh
bnNhY3Rpb24gfHwgc2VsZi5JREJUcmFuc2FjdGlvbjsiKTsKICAgICBzaG91bGRCZUZhbHNlKCJJ
REJUcmFuc2FjdGlvbiA9PSBudWxsIik7CiAKLSAgICBldmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4
Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cuSURCRGF0YWJh
c2VFeGNlcHRpb247Iik7CisgICAgZXZhbEFuZExvZygiSURCRGF0YWJhc2VFeGNlcHRpb24gPSBz
ZWxmLklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHNlbGYuSURCRGF0YWJhc2VFeGNlcHRpb247Iik7
CiAgICAgc2hvdWxkQmVGYWxzZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCIpOwogCiAK
LSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxv
Y2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwog
ICAgIG9wZW5yZXEgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlv
bikiKTsKICAgICBvcGVucmVxLm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpAQCAtMTY0LDkgKzE2
NCw5IEBAIGZ1bmN0aW9uIHRlc3RJbnZhbGlkQXJyYXlLZXlzKCkKICAgICAgICAgIlsge30gXSIs
CiAgICAgICAgICJbIGZ1bmN0aW9uICgpIHt9IF0iLAogICAgICAgICAiWyAvcmVnZXgvIF0iLAot
ICAgICAgICAiWyB3aW5kb3cgXSIsCi0gICAgICAgICJbIHdpbmRvdy5kb2N1bWVudCBdIiwKLSAg
ICAgICAgIlsgd2luZG93LmRvY3VtZW50LmJvZHkgXSIsCisgICAgICAgICJbIHNlbGYgXSIsCisg
ICAgICAgICJbIHNlbGYuZG9jdW1lbnQgXSIsCisgICAgICAgICJbIHNlbGYuZG9jdW1lbnQuYm9k
eSBdIiwKICAgICAgICAgImN5Y2xpY19hcnJheSIsCiAgICAgICAgICJjeWNsaWNfYXJyYXkyIiwK
ICAgICAgICAgImN5Y2xpY19hcnJheTMiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5LXR5cGUtaW5maW5pdHkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2tleS10eXBlLWluZmluaXR5Lmh0bWwKaW5kZXggYmFlM2NiMGY0YzA3M2VkN2Ux
ZDkxNDljM2NiZGRkYWUzYTgyZmE4Yi4uYmMxZWRlNTdkNWFmMmE3MzM1Y2QyOWNkMmJlMWNkMmJi
MDdjNzQ1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5
cGUtaW5maW5pdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXkt
dHlwZS1pbmZpbml0eS5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewog
ICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9u
LnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2Ny
aXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJp
bmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIva2V5cGF0aC1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tl
eXBhdGgtYmFzaWNzLmh0bWwKaW5kZXggNTUyYjhmNzViZmRhOTNjNzczZjE1NmVlM2NiNTVkYWQ2
ZTllYjdiNC4uYTY1YzMzMjk4MDhjMWUzMjQ2MTQxZGQxODBjNTBhMDIzNDAxOTQ0MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1iYXNpY3MuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWJhc2ljcy5odG1sCkBA
IC0xNCw3ICsxNCw3IEBAIGRlc2NyaXB0aW9uKCJUZXN0IGZvciB2YWxpZCBhbmQgaW52YWxpZCBr
ZXlwYXRocyIpOwogZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMo
KTsKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxm
LmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2Ui
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlw
dGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtZmV0Y2gta2V5Lmh0bWwKaW5k
ZXggOWE2OTc2MTU2MmE2NWQ2MzQ1NjIzODY5MDFkNjZiZDIwN2NkYTBmYy4uOWY2NTBlNDljMThl
ODFmYWM2MTM5MTM2NDQxZDQ1OTI3NDczMmEyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWZldGNoLWtleS5odG1sCkBAIC0xNSw3ICsxNSw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBu
YW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
ICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVyZS5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVyZS5o
dG1sCmluZGV4IGI1OGM1YjdlMzU3MDZmNDE1NzQ0YmVjOTc5Nzg4MjVkZTUxYTViOTYuLjc5Mjdh
YzhlMGUwZjYzNjNkN2YxZmU5MmI2NTRiYmIwZDNkY2Y2ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYWRkLXR3aWNlLWZhaWx1cmUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2FkZC10d2ljZS1mYWlsdXJl
Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVu
ZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7Cisg
ICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkg
VGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVu
KG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nl
c3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2F1
dG9pbmNyZW1lbnQtaW5kZXhlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbAppbmRleCAzNWZkZjAyMzA5YzhkY2Qw
YTIxYmExMzExY2IxOGQ1MjNlZDBjNjYyLi4yMTYwYTlkMGRkOGRiOWQwMzNjNGIzMDA2ZjE4YjAz
NjU4NTkwNzg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2F1dG9pbmNyZW1lbnQtaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvYXV0b2luY3JlbWVudC1pbmRleGVzLmh0bWwKQEAgLTIxLDcgKzIx
LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAot
ICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9j
YXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9u
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2JhZC1rZXlwYXRoLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2JhZC1rZXlwYXRoLmh0bWwKaW5k
ZXggZTI5OWI5MWEzMjdlZGRiZWQ0MTc1NWE2YWMzNzc1NmRmYTE0MzM3YS4uZTBlNjI3OGFhYTBm
MGY1MTlhOGQxNjMyZDk3ZGNlNzNhN2FlNTc0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9iYWQta2V5cGF0aC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYmFkLWtleXBhdGguaHRtbApAQCAtMjEsNyArMjEs
NyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0g
ICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2Nh
dGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24p
Iik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIuaHRtbAppbmRleCAzZDI3Mzg2OWRl
ZWJkNDRmZDgwNmJkMjc4N2VhMDlmOTI2NjA1MDA0Li4zYmEzY2ZiZGM3NDhkZWExMmZhYThmNjVm
ODVjZGM4Njc2MjJmY2E5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2NsZWFyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9jbGVhci5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewog
ICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9u
LnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2Ny
aXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJp
bmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9jcmVhdGUtaW5kZXgtdW5pcXVlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbAppbmRleCBhYTU5NmVj
ZjhmMmIwZDBhZjA5MmIzYTFhMGY3NjlmYjY1YjNiMzdkLi5iMDY3YzczYTNkYTQzZjU5NWE5MjMy
OThiZDcxZGI2NjdmZWI4NmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2NyZWF0ZS1pbmRleC11bmlxdWUuaHRtbApAQCAtMjEs
NyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygp
OwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2Vs
Zi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNl
IjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3Jp
cHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLWluZGV4LXdp
dGgtaW50ZWdlci1rZXlzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2NyZWF0ZS1pbmRleC13aXRoLWludGVnZXIta2V5cy5odG1sCmluZGV4IGNjN2IwYWVlZDlj
YjZlYmEzMGJiYzNiYTUwZTU5MWY4MTNiMTliOTkuLmJiOWJhZjdmZTYxYzU5YmQyMzkzZDEyMzg2
YWIwZGI2NDY2YTkwMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvY3JlYXRlLWluZGV4LXdpdGgtaW50ZWdlci1rZXlzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtaW5kZXgtd2l0aC1pbnRlZ2Vy
LWtleXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1v
dmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFt
ZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9
ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERC
Lm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVu
U3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvY3JlYXRlLW9iamVjdHN0b3JlLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKaW5kZXggNjUx
YTBhNGJmNmVhMDE1NzM0NzMwZmY5OTY1N2RkNDJiZjZkNWY4ZS4uOGQ4MTYzYjQ0ZjRkMTM5ODA2
YTU5YzkzOTk4ZDM4MzI0NzcxNGJjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jcmVhdGUtb2JqZWN0c3RvcmUtYmFz
aWNzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3Zl
VmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7
CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAi
TXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5v
cGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1
Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L2NyZWF0ZS1vYmplY3RzdG9yZS1udWxsLW5hbWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwtbmFtZS5odG1sCmluZGV4
IGZlYzA1MDJjYjcxNzRmZjAxOGQzZDdlMzE0M2RiNmQ0N2RjMmQ5MzcuLmJkYjg5MmViODRlNzUx
ZTI3NmM2NGQxZDA5ZGQwNTQ1YTcwZjI0ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0b3JlLW51bGwtbmFtZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3JlYXRlLW9iamVjdHN0
b3JlLW51bGwtbmFtZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewog
ICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9u
LnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2Ny
aXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJp
bmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3Rv
cmUtb25seS5odG1sCmluZGV4IDQ1NTdjZDUzNzE1OWU0Y2E5NTU5MGE2Y2M1MDBjZjkyMjIxNDJk
NTAuLjJmNmJkMzIzYTZjZmViZjY2ZGQ0MWI1M2YxZGQwNmNjNmEwNzhjZDcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11dGF0aW9uLW9i
amVjdHN0b3JlLW9ubHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL2N1cnNvci1tdXRhdGlvbi1vYmplY3RzdG9yZS1vbmx5Lmh0bWwKQEAgLTIxLDcgKzIx
LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAot
ICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9j
YXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9u
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRl
cy1pbmRleGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1
cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWwKaW5kZXggYjMwOTlhZjI2ZmQ0ZWQwNDAw
MGYxMGNkZDlkOWUyMzI1NGU4NTM1NS4uZTEwOTAwNmIwMWFiMjZjZDlkZTQ5NjE5MThiN2NkOWI5
MjU5NDFhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS9jdXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuaHRt
bApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQ
cmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBu
YW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0
IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFt
ZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29y
cy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0
bWwKaW5kZXggZWUwNzg3NGFkMGVlZGVmYWQwMzVjNGE3YTM1YjczYjNjOTRlYjNhNS4uZjNiMTI2
YTU1YmViNmY5ODhlMjdjMWE4N2RmNjFiYzI5NjdmOTFmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3JzLmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAg
IG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRp
b24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIp
OwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2RlbGV0ZS1yZXN1bHQuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCmlu
ZGV4IDQ4N2ExMTJmOWIzMDllMDI2N2ZjMzkzZTAyNWY3NmE3MDg1OGM1MjEuLjgzODJkZjIwODhi
OTYzYTYzZjQwYmQyYmRkZjFkYWZlNTM4NWRmMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZGVsZXRlLXJlc3VsdC5odG1sCkBAIC0yMSw3
ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7
CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxm
LmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2Ui
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlw
dGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZlbnQtc291cmNlLmh0
bWwKaW5kZXggMTUxMzVlMWNhYzIwMTQwNDIxMGRmMTRhMzBjNGNhMWY3ZGQzMGU0Ni4uYTYzZjNk
YWIyMzNkZWNkZjUzZjMyODZjZjllZDllNTAwNGUwMjRiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2V2ZW50LXNvdXJjZS5odG1sCkBAIC0y
MSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVz
KCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBz
ZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJh
c2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNj
cmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS5o
dG1sCmluZGV4IDJlZjU1MzE4YmFmNDA4NjY3YTdlMzExNWY0OTNjNTNlMzJkYmVjNDEuLjZkOGRh
ZTc4ZWE2ZjQzNzUxY2U4MzBhYWU3MTJlYjJlYzQ1NjgzMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLmh0bWwKQEAgLTIx
LDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMo
KTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNl
bGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFz
ZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2Ny
aXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCmluZGV4
IDgzZWQ4MzlmM2YzMWNjOTZiYWQxZWJjYjY0MGJmOGU5YmM3MDhhYzQuLjZjZGRmOTRjZTE2OTRj
Mjk1ZDg0YjdhMTUyMzdiZThlYmFmMzJlNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0
aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0g
d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhu
YW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLWRlbGV0ZS1udWxsLWtl
eS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWly
ZW1lbnRzLWRlbGV0ZS1udWxsLWtleS5odG1sCmluZGV4IDAxMGE4Mjc4YmEyYjRjZDE5NDJjMTc4
OGZmODg2ODNhM2ViM2Y5ZmQuLjg1Y2FiYzVkMGY3N2ZmNmUxMjQ3NWZkODY2N2I0NDczZTU0NzJm
ZjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5
LXJlcXVpcmVtZW50cy1kZWxldGUtbnVsbC1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtZGVsZXRlLW51bGwta2V5Lmh0
bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9y
UHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAg
bmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVz
dCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5h
bWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1y
ZXF1aXJlbWVudHMtaW5saW5lLWFuZC1wYXNzZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5kLXBhc3NlZC5odG1s
CmluZGV4IGFjNmNkNGQ1MjQ3YzkzMjE1MmEwYmFhMGZiZmE3YmJjZTllMzg2YzQuLjEwZDM1ZWZk
ZDZjN2VkZDJiNDY0Njk1OWMxN2YxMmI5NzU3ODA4NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5kLXBh
c3NlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5
LXJlcXVpcmVtZW50cy1pbmxpbmUtYW5kLXBhc3NlZC5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1l
ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBh
dGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1uby1rZXku
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVt
ZW50cy1wdXQtbm8ta2V5Lmh0bWwKaW5kZXggODg5ZTlhMzFjMDY5NGNmODg1MjZmOTNhZjQyZDg3
YWNhNTljMjkwMy4uMDk3ZTI0ZmRmNzE1YWE4MWJiN2Y0YTM3MGIzYzlhZWE5MWRlMjE4ZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWly
ZW1lbnRzLXB1dC1uby1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW5vLWtleS5odG1sCkBAIC0yMSw3ICsyMSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAg
ICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0
aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1u
dWxsLWtleS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXkt
cmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sCmluZGV4IDE2MzE5Y2EzMjBjOTNjN2RmOTNi
YmYyYmNmMTBkMTY4YmUyZGQ5MjguLjc4ODA5ZWIyZGI0MzFjMjYyODc0YTcwODRjNjU2NGU5OTVk
NzQwOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
a2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwta2V5Lmh0bWwK
QEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJl
Zml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFt
ZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBE
YXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUs
IGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1
aXJlbWVudHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5
LXJlcXVpcmVtZW50cy5odG1sCmluZGV4IDRlOTg1OTJmYTFhMWE0ZGJhODhlODFjZjg2NjEyOTkx
NDM4ZTUwNjAuLjBjZWIzYWM5YTg0MDU3NDFhMGRjYTg2YmU4N2I0NDIzZjM3OTRhOWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVt
ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5
LXJlcXVpcmVtZW50cy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewog
ICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9u
LnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2Ny
aXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJp
bmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sCmluZGV4IDUwYmI2ZmFkYWY2OGVkMGJi
YmI3OThjM2Y0MjYyODIyNmJlMDcyYzAuLmFjNDM2MDUzZDhjYTYyZWRiNzg2ZWVmOWJkNTIyNTE1
MTk0MDNkMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvb2JqZWN0LWN1cnNvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL29iamVjdC1jdXJzb3JzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24g
dGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5k
b3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7
CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtaWRlbnRpdHkuaHRtbAppbmRleCA4ZjA5
MzMwZjMwZGY5NjE3Zjk1NWEyNTdjNjRmZTQ0NjkzOGU4MjBhLi4yNmE5NmQ3NTIxMjZkMmFiNTQw
YTRhM2M4M2I3MDdiZDFiYzY1ZjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1pZGVudGl0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWlkZW50aXR5Lmh0bWwKQEAgLTIxLDcgKzIx
LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAot
ICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9j
YXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9u
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1pbmxpbmUt
YXV0b2luY3JlbWVudC1rZXktYWRkZWQtb24tcHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1pbmxpbmUtYXV0b2luY3JlbWVudC1rZXkt
YWRkZWQtb24tcHV0Lmh0bWwKaW5kZXggODNmZTJmODc0MTI1ZjI4NTc4NGEyNzEwNmJlMWQwYjQ3
YWU5OTc4ZS4uNWY3ZjE1M2I3ZjU3NDE2Y2E5MDFhMjY3ODUwMmVmZTlmYzNiN2Y4MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3Qtc3RvcmUt
aW5saW5lLWF1dG9pbmNyZW1lbnQta2V5LWFkZGVkLW9uLXB1dC5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLWlubGluZS1hdXRvaW5j
cmVtZW50LWtleS1hZGRlZC1vbi1wdXQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0
ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRv
dy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsK
ICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12
YWx1ZXMuaHRtbAppbmRleCA5YjMwODFjODQzMjE3YjdkMjcyNjUxN2E5NDExYTliNmQ3ZDRjZTEz
Li5iMTM1YTBkM2YzMzllZGU1YzcyNDk4YzU2ZWY2NTA4MmRhOTM4MzhiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUt
dmFsdWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9v
YmplY3Qtc3RvcmUtcmVtb3ZlLXZhbHVlcy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2lu
ZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1l
OwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBl
dmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3RzdG9yZW5hbWVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbAppbmRleCAx
NDE2MjkwMzc3ZDEyZjM4NTVmYTViNzVlYjdiMzUyYTFiMzEwY2U0Li5hODZmNmYyY2Y4ZWI5NmJl
YWYzODBjNGM1ZDljM2MxOTYxNThlZDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdHN0b3JlbmFtZXMuaHRtbApAQCAtMjEs
NyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygp
OwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2Vs
Zi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNl
IjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3Jp
cHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2RkLXJlc3VsdC1vcmRl
ci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0
LW9yZGVyLmh0bWwKaW5kZXggNzg1MGM1YzY5MmE4M2MxNTczZDE2ZTQzNTZiMWE1MTEwNjEwM2M0
MS4uNDI5NzhmOTRhNjJlMGRhZDczMDE0N2JiZWI3NTlmNWRhM2E2NjA3NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0
LW9yZGVyLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVt
b3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5h
bWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24g
PSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWRE
Qi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3Bl
blN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL3B1dC1nZXQtdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL3B1dC1nZXQtdmFsdWVzLmh0bWwKaW5kZXggYTUwYmNjNWY1ZDIxOWRjZTliM2ExYjJi
NWFlZGE2M2VlYmFkNDE4YS4uNzkwNjQ1NTkyZjI0MjIwYTc1ZDBhNjhlNzM2NjlhNWZhY2ZkYjc5
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9wdXQt
Z2V0LXZhbHVlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvcHV0LWdldC12YWx1ZXMuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
IHsKICAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2Nh
dGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBk
ZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWRvbmx5LXRyYW5zYWN0aW9ucy5odG1sCmluZGV4
IGQzMTk0MjEyMjU3YzYwMWI1MWU0YTc3MDIwNTkyYzMyYzg1MjE4YzguLmQ4NzM4ZDA2MWIwM2Y1
ZGQxNjBkNTNiYmEyNThhNmQ0YTIwYzkzMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkb25seS10cmFuc2FjdGlvbnMu
aHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5k
b3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAg
ICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBU
ZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4o
bmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2Vz
czsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVh
ZHdyaXRlLXRyYW5zYWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKaW5kZXggMjgxMzM0MjZiNTQ3MzEz
NDVmMmEwYWRiZDhmNDA3ZWZiMGViYWRkZS4uNzhhZDU0NDhjNmJhMjcwNjBjOTdmMTc4NDU3M2Vk
ODRiNTIwNTg4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLmh0bWwKQEAgLTIxLDcg
KzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsK
IAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYu
bG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7
CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0
aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWR5U3RhdGUuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCmlu
ZGV4IDlmZDU5MGFmOGY0ODNiMTY3MzIwMTljODZlZDdlYzNkODY4ZWNlZTguLjA1NTAwN2U0MDY1
NTg0NzJjMTUxN2JjNzAzN2QxNmU1MzkzM2M2ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHlTdGF0ZS5odG1sCkBAIC0yMSw3ICsyMSw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAg
ICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0
aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKICAgICBzaG91bGRCZSgicmVxdWVzdC5yZWFkeVN0YXRlIiwgIklEQlJlcXVlc3QuTE9BRElO
RyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9y
ZW1vdmUtaW5kZXguaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
cmVtb3ZlLWluZGV4Lmh0bWwKaW5kZXggYTBhODU5ZTQ4ODEzYjc4NzAzZWI5ODU4NDNkMDNiMGUz
NjcyMjcyOS4uMDRhZTM3ZTdmMzQyODYzNzgzYTU0NmVmNDZmMTJhYzBkOTYyNmM5OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1vdmUtaW5kZXgu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1p
bmRleC5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92
ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1l
OworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0g
Ik15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIu
b3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5T
dWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS9yZW1vdmUtb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvcmVtb3ZlLW9iamVjdHN0b3JlLmh0bWwKaW5kZXggYTY1MmFjY2RjMjUwOGJlZWYx
ZGZhYWY4OWE5MzRmZjE2MjQyMTlmMS4uNTVjMWZhZTgwMjgwMjYzYTJlOWE0YjA5NTk2MmE2MGRm
NGFmOGYzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS9yZW1vdmUtb2JqZWN0c3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL3JlbW92ZS1vYmplY3RzdG9yZS5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAKLSAgICBuYW1l
ID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBh
dGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9uY2hhbmdlLWFib3J0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJvcnQu
aHRtbAppbmRleCAwYmM5NjM1MmYwMWIwNDJmZDBiN2EzMzAwZTUyODA2Yzc1ZjIxZDNhLi4yZDJi
ZDdkYzFhNDQyZjFhNGZhNmQyNmZkZjAxYjBiMmMzNzljMjA1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2UtYWJvcnQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3ZlcnNpb25jaGFuZ2Ut
YWJvcnQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1v
dmVWZW5kb3JQcmVmaXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFt
ZTsKKyAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9
ICJNeSBUZXN0IERhdGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERC
Lm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVu
U3VjY2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvdmVyc2lvbmNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS92ZXJzaW9uY2hhbmdlLmh0bWwKaW5kZXggMWM3N2FmOGNhNjhhZDAzY2QwMzc2MTgyZWFh
MDk0ZWQ2MmQ5MTM1ZS4uYzY0M2I5OWE2MDY5M2M0ZjVjODQzNGZhZDg1MmIwYmJiOTJlMWE4ZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92ZXJzaW9u
Y2hhbmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS92
ZXJzaW9uY2hhbmdlLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAg
ICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24u
cGF0aG5hbWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3Jp
cHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImlu
ZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gb3BlblN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tdXRhdGluZy1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211
dGF0aW5nLWN1cnNvci5odG1sCmluZGV4IGY4NDJjNGJkMzQ0M2QwYzQzOTBiYTU3MTJiMzUxM2Ey
NjZjNWUyOGQuLjgzZTA0MDhmYzYzMzQ1MjI0Nzg2Yjc0Y2NhNTM1YjlmNDA3OTBjMTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1s
CkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZl
cnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAg
ICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9u
YWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0g
b3BlbkZvcndhcmRDdXJzb3I7CkBAIC01MywxNyArNTMsMTcgQEAgZnVuY3Rpb24gb3BlbkZvcndh
cmRDdXJzb3IoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsK
ICAgICB0cmFucy5vbmNvbXBsZXRlID0gZm9yd2FyZEN1cnNvckNvbXBsZXRlOwogCi0gICAgd2lu
ZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJyki
KTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUo
J3N0b3JlJykiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUub3BlbkN1
cnNvcigpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmb3J3YXJkQ3Vyc29yOwogICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHdpbmRvdy5jdXJz
b3JTdGVwcyA9IDA7CisgICAgc2VsZi5jdXJzb3JTdGVwcyA9IDA7CiB9CiAKIGZ1bmN0aW9uIGZv
cndhcmRDdXJzb3IoKQogewogICAgIGRlYnVnKCJmb3J3YXJkQ3Vyc29yKCkiKTsKLSAgICB3aW5k
b3cuY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAgICBzZWxmLmN1cnNvciA9IGV2ZW50
LnRhcmdldC5yZXN1bHQ7CiAKICAgICBpZiAoZXZlbnQudGFyZ2V0LnJlc3VsdCA9PSBudWxsKSB7
CiAgICAgICAgIHNob3VsZEJlKCJjdXJzb3JTdGVwcyIsICI1Iik7CkBAIC05OCwxNyArOTgsMTcg
QEAgZnVuY3Rpb24gb3BlblJldmVyc2VDdXJzb3IoKQogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4
cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gcmV2ZXJzZUN1cnNv
ckNvbXBsZXRlOwogCi0gICAgd2luZG93Lm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygidHJhbnMu
b2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExv
ZygidHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
Zygib2JqZWN0U3RvcmUub3BlbkN1cnNvcihudWxsLCBJREJDdXJzb3IuUFJFVikiKTsKICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IHJldmVyc2VDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgd2luZG93LmN1cnNvclN0ZXBzID0gNjsKKyAg
ICBzZWxmLmN1cnNvclN0ZXBzID0gNjsKIH0KIAogZnVuY3Rpb24gcmV2ZXJzZUN1cnNvcigpCiB7
CiAgICAgZGVidWcoInJldmVyc2VDdXJzb3IoKSIpOwotICAgIHdpbmRvdy5jdXJzb3IgPSBldmVu
dC50YXJnZXQucmVzdWx0OworICAgIHNlbGYuY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsK
IAogICAgIGlmIChldmVudC50YXJnZXQucmVzdWx0ID09IG51bGwpIHsKICAgICAgICAgc2hvdWxk
QmUoImN1cnNvclN0ZXBzIiwgIjAiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdFN0b3JlLXJlcXVpcmVkLWFyZ3VtZW50cy5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRzLmh0bWwK
aW5kZXggMWJlM2Q5YmZlYzgzMjY5YjA3MmUxYTQyODM0ZmYyOWFjZmZiODIwNi4uMDQyMjVhMjgx
NmUyMTFiZDQxYzEzYjE0ZTIxZGVjYmRiNDAzNTBmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJn
dW1lbnRzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVt
b3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5h
bWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24g
PSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWRE
Qi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3Bl
blN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwKaW5kZXggYTFlY2JlYmFlNTViZmI5OTM2
ZWYzNDgxZTQzNzk1ZmE3MTA2MTNjNC4uOWY4ODI1YWE3N2VlNmUyZmI0ZjY3MzgyMDZlMGU0MDNm
NmJiOGRjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtYXV0b2luY3JlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5j
dGlvbiB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1
Y2Nlc3MoKToiKTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3
IHZlcnNpb24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7
CkBAIC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIGZ1bmN0aW9uIHNldFZl
cnNpb25TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsKLSAg
ICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAgIHRyYW5zLm9u
YWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0g
c2V0VmVyc2lvbkNvbXBsZXRlZDsKQEAgLTM5LDcgKzM5LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lv
blN1Y2Nlc3MoKQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAgICBkZWJ1Zygi
Y3JlYXRlT2JqZWN0U3RvcmUoKToiKTsKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJz
dG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJywge2tleVBhdGg6
ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5k
TG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJywge2tl
eVBhdGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IHRydWV9KSIpOwogICAgIGV2YWxBbmRMb2coImRi
LmNyZWF0ZU9iamVjdFN0b3JlKCdTdG9yZVdpdGhBdXRvSW5jcmVtZW50Jywge2F1dG9JbmNyZW1l
bnQ6IHRydWV9KSIpOwogICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdQbGFp
bk9sZFN0b3JlJywge2F1dG9JbmNyZW1lbnQ6IGZhbHNlfSkiKTsKICAgICBldmFsQW5kTG9nKCJk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnU3RvcmVXaXRoTG9uZ0tleVBhdGgnLCB7a2V5UGF0aDogJ2Eu
Yi5jLmlkJywgYXV0b0luY3JlbWVudDogdHJ1ZX0pIik7CkBAIC01OSwxMSArNTksMTEgQEAgZnVu
Y3Rpb24gc2V0VmVyc2lvbkNvbXBsZXRlZCgpCiB7CiAgICAgZGVidWcoInNldFZlcnNpb25Db21w
bGV0ZWQoKToiKTsKIAotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oWydTdG9yZVdpdGhLZXlQYXRoJywgJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQn
LCAnUGxhaW5PbGRTdG9yZSddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHNl
bGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnU3RvcmVXaXRo
S2V5UGF0aCcsICdTdG9yZVdpdGhBdXRvSW5jcmVtZW50JywgJ1BsYWluT2xkU3RvcmUnXSwgSURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3Rl
ZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RMb25nS2V5UGF0aDsK
IAotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3Rv
cmUoJ1N0b3JlV2l0aEtleVBhdGgnKSIpOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJz
dG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJykiKTsKIAogICAgIGRl
YnVnKCJJbnNlcnQgaW50byBvYmplY3Qgc3RvcmUgd2l0aCBhdXRvIGluY3JlbWVudCBhbmQga2V5
IHBhdGgsIHdpdGgga2V5IGluIHRoZSBvYmplY3QuIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coInN0b3JlLmFkZCh7bmFtZTogJ0plZmZlcnNzb24nLCBudW1iZXI6ICc3MDEwJywgaWQ6IDN9
KSIpOwpAQCAtOTksNyArOTksNyBAQCBmdW5jdGlvbiBnZXRMaW5jb2xuQWZ0ZXJJbmplY3RlZEtl
eVN1Y2Nlc3MoKQogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQudGFyZ2V0LnJlc3Vs
dC5udW1iZXIiLCAiNzAxMiIpOwogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0Lmlk
IiwgIjQiKTsKIAotICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMu
b2JqZWN0U3RvcmUoJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnKSIpOworICAgIHNlbGYuc3RvcmUg
PSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdpdGhBdXRvSW5j
cmVtZW50JykiKTsKICAgICBkZWJ1ZygiSW5zZXJ0IGludG8gb2JqZWN0IHN0b3JlIHdpdGgga2V5
IGdlbiB1c2luZyBleHBsaWNpdCBrZXkiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygic3Rv
cmUuYWRkKHtuYW1lOiAnTGluY29sbicsIG51bWJlcjogJzcwMTInfSwgNSkiKTsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IGFkZExpbmNvbG5XaXRoRXhwbGljaXRLZXlTdWNjZXNzOwpAQCAtMTQz
LDcgKzE0Myw3IEBAIGZ1bmN0aW9uIGdldEFicmFoYW1TdWNjZXNzKCkKICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQubmFtZSIsICJBYnJhaGFtIik7CiAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50YXJnZXQucmVzdWx0Lm51bWJlciIsICIyMTA3
Iik7CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVj
dFN0b3JlKCdQbGFpbk9sZFN0b3JlJykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygi
c3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnUGxhaW5PbGRTdG9yZScpIik7CiAgICAgZGVidWco
IlRyeSBhZGRpbmcgd2l0aCBubyBrZXkgdG8gb2JqZWN0IHN0b3JlIHdpdGhvdXQgYXV0byBpbmNy
ZW1lbnQuIik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRkKHtuYW1lOiAn
QWRhbSd9KSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoe25hbWU6ICdBZGFtJ30sIDEpIik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXIuaHRtbAppbmRl
eCA5YzZlYzMyNDRkMjVjMjQ5NjI3MTE3MjNmMDBkNzhmZjlhYTNmOGI1Li5jNzhjNWQyNzU4NDhm
ODBmNDQzNzY4YzYzOWZmOTNhY2U2MGI2ZThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWwKQEAgLTI5LDE0ICsyOSwxNCBA
QCBmdW5jdGlvbiBzdGFydFNldFZlcnNpb24oKQogCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygp
CiB7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKIAogICAg
IGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CiAKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpIik7CiAKLSAgICB3
aW5kb3cuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywg
JycpIik7CisgICAgc2VsZi5pbmRleCA9IGV2YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdp
bmRleE5hbWUnLCAnJykiKTsKICAgICBzaG91bGRCZVRydWUoInN0b3JlLmluZGV4TmFtZXMuY29u
dGFpbnMoJ2luZGV4TmFtZScpIik7CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygic3RvcmUu
YWRkKCd2YWx1ZScsICdrZXknKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtY291bnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLWNvdW50Lmh0bWwKaW5kZXggM2VjZmFkMzk0MjEyNTYxMGMzMzM0
MmFjYWU4YzkzM2VmZTllODE0OS4uN2FlOTFjMmIwODBlNjAxZTE3YWQ5ZmJmYjJmMTlkMTdjM2Jm
OWFiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtY291bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3Rz
dG9yZS1jb3VudC5odG1sCkBAIC0yNyw3ICsyNyw3IEBAIGZ1bmN0aW9uIHByZXBhcmVEYXRhYmFz
ZSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJwcmVwYXJpbmcgZGF0YWJhc2UiKTsK
LSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogCiAgICAgZGVs
ZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtY3Vyc29yLmh0bWwKaW5kZXggYTlkNjllNWExYjY2N2ZlOGVk
Mzk0MjM3ZDVjMDZlNTJhZWFiNDM3Zi4uYWM3ZDdkNjg5ZjNkNjRhOTNmYjZmMTFiNGJiYzg0NDkx
OWRiZjdkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtY3Vyc29yLmh0bWwKQEAgLTExLDcgKzExLDcgQEAKIGRlc2NyaXB0aW9uKCJUZXN0
IEluZGV4ZWREQidzIG9iamVjdFN0b3JlLm9wZW5DdXJzb3IgKyB0aGUgY3Vyc29yIGl0IHByb2R1
Y2VzIGluIGRlcHRoLiIpOwogIAogLy8gSW4gb3JkZXIgb2YgaG93IGl0IHNob3VsZCBiZSBzb3J0
ZWQgYnkgSW5kZXhlZERCLgotd2luZG93LnRlc3REYXRhID0gWworc2VsZi50ZXN0RGF0YSA9IFsK
ICAgICAyLjcxODI4MTgyODQ1OSwKICAgICAzLAogICAgIDMuMTQxNTkyNjUsCkBAIC0zMSw3ICsz
MSw3IEBAIGZ1bmN0aW9uIG9wZW5EYXRhYmFzZSgpCiAgCiBmdW5jdGlvbiBzZXRWZXJzaW9uKCkK
IHsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24n
KSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlRXhpc3Rpbmc7CkBAIC00MCwyOCAr
NDAsMjggQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5n
KCkKIHsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50
YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwogICAg
IHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKIAogICAgIGRlbGV0ZUFs
bE9iamVjdFN0b3JlcyhkYik7CiAKLSAgICB3aW5kb3cub2JqZWN0U3RvcmUgPSBldmFsQW5kTG9n
KCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc29tZU9iamVjdFN0b3JlJykiKTsKLSAgICB3aW5kb3cu
bmV4dFRvQWRkID0gMDsKKyAgICBzZWxmLm9iamVjdFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3Jl
YXRlT2JqZWN0U3RvcmUoJ3NvbWVPYmplY3RTdG9yZScpIik7CisgICAgc2VsZi5uZXh0VG9BZGQg
PSAwOwogICAgIGFkZERhdGEoKTsKIH0KIAogZnVuY3Rpb24gYWRkRGF0YSgpCiB7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmFkZCgnJywgdGVzdERhdGFbbmV4dFRvQWRk
XSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9ICsrd2luZG93Lm5leHRUb0FkZCA8IHRlc3RE
YXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hlZHVsZVRlc3RzOworICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gKytzZWxmLm5leHRUb0FkZCA8IHRlc3REYXRhLmxlbmd0aCA/IGFkZERhdGEgOiBzY2hl
ZHVsZVRlc3RzOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwogfQogCiBmdW5jdGlvbiBzY2hlZHVsZVRlc3RzKCkKIHsKICAgICBkZWJ1ZygiU2NoZWR1bGlu
ZyB0ZXN0cy4uLiIpOwotICAgIHdpbmRvdy5zY2hlZHVsZWRUZXN0cyA9IFtdOworICAgIHNlbGYu
c2NoZWR1bGVkVGVzdHMgPSBbXTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlc3REYXRhLmxl
bmd0aDsgKytpKSB7CiAgICAgICAgIC8qIGxlZnQgYm91bmQsIGlzIG9wZW4sIHJpZ2h0IGJvdW5k
LCBpcyBvcGVuLCBhc2NlbmRpbmcgKi8KICAgICAgICAgc2NoZWR1bGVkVGVzdHMudW5zaGlmdChb
aSwgdHJ1ZSwgbnVsbCwgbnVsbCwgdHJ1ZV0pOwpAQCAtOTYsMTEgKzk2LDExIEBAIGZ1bmN0aW9u
IHJ1bk5leHRUZXN0KCkKICAgICB9CiAgCiAgICAgdmFyIHRlc3QgPSBzY2hlZHVsZWRUZXN0cy5w
b3AoKTsKLSAgICB3aW5kb3cubG93ZXIgPSB0ZXN0WzBdOwotICAgIHdpbmRvdy5sb3dlcklzT3Bl
biA9IHRlc3RbMV07Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdFsyXTsKLSAgICB3aW5kb3cudXBw
ZXJJc09wZW4gPSB0ZXN0WzNdOwotICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0ZXN0WzRdOworICAg
IHNlbGYubG93ZXIgPSB0ZXN0WzBdOworICAgIHNlbGYubG93ZXJJc09wZW4gPSB0ZXN0WzFdOwor
ICAgIHNlbGYudXBwZXIgPSB0ZXN0WzJdOworICAgIHNlbGYudXBwZXJJc09wZW4gPSB0ZXN0WzNd
OworICAgIHNlbGYuYXNjZW5kaW5nID0gdGVzdFs0XTsKIAogICAgIHN0ciA9ICJOZXh0IHRlc3Q6
ICI7CiAgICAgaWYgKGxvd2VyICE9PSBudWxsKSB7CkBAIC0xMjYsMTkgKzEyNiwxOSBAQCBmdW5j
dGlvbiBydW5OZXh0VGVzdCgpCiAgICAgaWYgKGFzY2VuZGluZykgewogICAgICAgICBpZiAobG93
ZXIgIT09IG51bGwpIHsKICAgICAgICAgICAgIGlmICghbG93ZXJJc09wZW4pCi0gICAgICAgICAg
ICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKKyAgICAgICAgICAgICAgICBzZWxm
LmV4cGVjdGVkSW5kZXggPSBsb3dlcjsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyKzE7CisgICAgICAgICAgICAgICAgc2VsZi5l
eHBlY3RlZEluZGV4ID0gbG93ZXIrMTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB3aW5k
b3cuZXhwZWN0ZWRJbmRleCA9IDA7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSAw
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICh1cHBlciAhPT0gbnVsbCkgewogICAgICAgICAg
ICAgaWYgKCF1cHBlcklzT3BlbikKLSAgICAgICAgICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRl
eCA9IHVwcGVyOworICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IHVwcGVyOwog
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0g
dXBwZXItMTsKKyAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1cHBlci0xOwog
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHdpbmRvdy5leHBlY3RlZEluZGV4ID0gdGVzdERh
dGEubGVuZ3RoLTE7CisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB0ZXN0RGF0YS5s
ZW5ndGgtMTsKICAgICB9CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwogIApAQCAtMTY0LDE1ICsx
NjQsMTUgQEAgZnVuY3Rpb24gcnVuTmV4dFRlc3QoKQogZnVuY3Rpb24gdGVzdFdpdGhpbkJvdW5k
cygpCiB7CiAgICAgaWYgKGV4cGVjdGVkSW5kZXggPCAwIHx8IHRlc3REYXRhLmxlbmd0aCA8PSBl
eHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IG51bGw7CisgICAg
ICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiAgICAgaWYgKGxvd2VyICE9PSBudWxsICYm
IGV4cGVjdGVkSW5kZXggPCBsb3dlcikKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBu
dWxsOworICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAh
PT0gbnVsbCAmJiB1cHBlciA8IGV4cGVjdGVkSW5kZXgpCi0gICAgICAgIHdpbmRvdy5leHBlY3Rl
ZEluZGV4ID0gbnVsbDsKKyAgICAgICAgc2VsZi5leHBlY3RlZEluZGV4ID0gbnVsbDsKICAgICBp
ZiAobG93ZXIgIT09IG51bGwgJiYgbG93ZXJJc09wZW4gJiYgZXhwZWN0ZWRJbmRleCA8PSBsb3dl
cikKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSBudWxsOworICAgICAgICBzZWxmLmV4
cGVjdGVkSW5kZXggPSBudWxsOwogICAgIGlmICh1cHBlciAhPT0gbnVsbCAmJiB1cHBlcklzT3Bl
biAmJiB1cHBlciA8PSBleHBlY3RlZEluZGV4KQotICAgICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRl
eCA9IG51bGw7CisgICAgICAgIHNlbGYuZXhwZWN0ZWRJbmRleCA9IG51bGw7CiB9CiAgCiBmdW5j
dGlvbiBjdXJzb3JJdGVyYXRpb24oKQpAQCAtMTg5LDMxICsxODksMzEgQEAgZnVuY3Rpb24gY3Vy
c29ySXRlcmF0aW9uKCkKICAgICB9CiAgCiAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1
bHQua2V5IiwgInRlc3REYXRhWyIgKyBleHBlY3RlZEluZGV4ICsgIl0iKTsKLSAgICB3aW5kb3cu
ZXhwZWN0ZWRJbmRleCA9IGFzY2VuZGluZyA/IGV4cGVjdGVkSW5kZXgrMSA6IGV4cGVjdGVkSW5k
ZXgtMTsKKyAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSBhc2NlbmRpbmcgPyBleHBlY3RlZEluZGV4
KzEgOiBleHBlY3RlZEluZGV4LTE7CiAgICAgdGVzdFdpdGhpbkJvdW5kcygpOwogCiAgICAgZXZl
bnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSgpOwogfQogIAotd2luZG93Lm51bGxLZXlSYW5nZVN0
ZXAgPSAwOworc2VsZi5udWxsS2V5UmFuZ2VTdGVwID0gMDsKIGZ1bmN0aW9uIHRlc3ROdWxsS2V5
UmFuZ2UoKQogewotICAgIHdpbmRvdy5sb3dlciA9IDA7Ci0gICAgd2luZG93Lmxvd2VySXNPcGVu
ID0gZmFsc2U7Ci0gICAgd2luZG93LnVwcGVyID0gdGVzdERhdGEubGVuZ3RoLTE7Ci0gICAgd2lu
ZG93LnVwcGVySXNPcGVuID0gZmFsc2U7CisgICAgc2VsZi5sb3dlciA9IDA7CisgICAgc2VsZi5s
b3dlcklzT3BlbiA9IGZhbHNlOworICAgIHNlbGYudXBwZXIgPSB0ZXN0RGF0YS5sZW5ndGgtMTsK
KyAgICBzZWxmLnVwcGVySXNPcGVuID0gZmFsc2U7CiAKICAgICBzdHIgPSAiTmV4dCB0ZXN0OiBu
dWxsIGtleSBwYXRoICI7Ci0gICAgaWYgKHdpbmRvdy5udWxsS2V5UmFuZ2VTdGVwID09IDApIHsK
KyAgICBpZiAoc2VsZi5udWxsS2V5UmFuZ2VTdGVwID09IDApIHsKICAgICAgICAgc3RyICs9ICJz
b3J0ZWQgYXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRpbmcgPSB0cnVlOwotICAg
ICAgICB3aW5kb3cuZXhwZWN0ZWRJbmRleCA9IGxvd2VyOwotICAgICAgICB3aW5kb3cubnVsbEtl
eVJhbmdlU3RlcCA9IDE7Ci0gICAgfSBlbHNlIGlmICh3aW5kb3cubnVsbEtleVJhbmdlU3RlcCA9
PSAxKSB7CisgICAgICAgIHNlbGYuYXNjZW5kaW5nID0gdHJ1ZTsKKyAgICAgICAgc2VsZi5leHBl
Y3RlZEluZGV4ID0gbG93ZXI7CisgICAgICAgIHNlbGYubnVsbEtleVJhbmdlU3RlcCA9IDE7Cisg
ICAgfSBlbHNlIGlmIChzZWxmLm51bGxLZXlSYW5nZVN0ZXAgPT0gMSkgewogICAgICAgICBzdHIg
Kz0gInNvcnRlZCBkZXNjZW5kaW5nLiI7Ci0gICAgICAgIHdpbmRvdy5hc2NlbmRpbmcgPSBmYWxz
ZTsKLSAgICAgICAgd2luZG93LmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKLSAgICAgICAgd2luZG93
Lm51bGxLZXlSYW5nZVN0ZXAgPSAyOworICAgICAgICBzZWxmLmFzY2VuZGluZyA9IGZhbHNlOwor
ICAgICAgICBzZWxmLmV4cGVjdGVkSW5kZXggPSB1cHBlcjsKKyAgICAgICAgc2VsZi5udWxsS2V5
UmFuZ2VTdGVwID0gMjsKICAgICB9IGVsc2UgewogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAg
ICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKaW5kZXggZmIzMTZm
ZDJlMmM5ZjdmZDRhYTRiMzFmNmE4MjBjZjRhYmNjMTRlNC4uNzQ4ZWNkNDkxZjgxNGEyZDY4ZGYx
OGNlY2NlYjMyMzdmYjZiYThkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sCkBA
IC0yOSwxNCArMjksMTQgQEAgZnVuY3Rpb24gc3RhcnRTZXRWZXJzaW9uKCkKIAogZnVuY3Rpb24g
ZGVsZXRlRXhpc3RpbmcoKQogewotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5z
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9
PSBudWxsIik7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCiAgICAgc3RvcmUg
PSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBu
dWxsKSIpOwogCi0gICAgd2luZG93LmluZGV4ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5k
ZXgoJ2luZGV4TmFtZScsICcnKSIpOworICAgIHNlbGYuaW5kZXggPSBldmFsQW5kTG9nKCJzdG9y
ZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpIik7CiAgICAgc2hvdWxkQmVUcnVlKCJzdG9y
ZS5pbmRleE5hbWVzLmNvbnRhaW5zKCdpbmRleE5hbWUnKSIpOwogCiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInN0b3JlLmFkZCgndmFsdWUnLCAna2V5JykiKTsKQEAgLTY2LDcgKzY2LDcgQEAg
ZnVuY3Rpb24gYWRkSW5kZXgoKQogCiBmdW5jdGlvbiBkZWxldGVPYmplY3RTdG9yZSgpCiB7Ci0g
ICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0
Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5v
bmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24tZXhwZWN0ZWQu
dHh0CmluZGV4IGQ1ZTliNDU0NzAyMjdhZjFkY2RhNDVjOGIwMTRlNDRlMmZmODJlOGYuLmI5NzY0
MzkzMjI4YmE0ODcwZTAxNWYxZTk0MzZiNzY1MjRkNGZiN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY2xvc2UtdmVyc2lvbi1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12ZXJzaW9uLWV4cGVj
dGVkLnR4dApAQCAtOCw3ICs4LDcgQEAgUEFTUyBCb29sZWFuKGluZGV4ZWREQiAmJiBJREJDdXJz
b3IgJiYgSURCRGF0YWJhc2UgJiYgSURCRGF0YWJhc2VFcnJvciAmJiBJREJEYXQKIAogCiBURVNU
OiBzZXRWZXJzaW9uIGJsb2NrZWQgb24gb3BlbiBoYW5kbGVzCi13aW5kb3cuZGJuYW1lID0gJ3Rl
c3QxJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0
ZXN0MSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVu
Lm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtMjAsMTAgKzIwLDEwIEBAIHdpbmRvdy5kYm5hbWUg
PSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMi5jbG9zZScK
ICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNv
bXBsZXRlJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVu
Lm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252
ZXJzaW9uY2hhbmdlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgxLnNldFZlcnNp
b24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUiCitQQVNTIHNl
bGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVu
LGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJzaW9uY2hhbmdlLGgxLnNl
dFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNl
dFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUiCiAKIFRFU1Q6IHNldFZlcnNpb24gbm90IGJs
b2NrZWQgaWYgaGFuZGxlIGNsb3NlZCBpbW1lZGlhdGVseQotd2luZG93LmRibmFtZSA9ICd0ZXN0
Mic7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXQorc2VsZi5kYm5hbWUgPSAndGVz
dDInOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXQogJ2gxLm9wZW4nCiAnaDEub3Blbi5v
bnN1Y2Nlc3MnCiAnaDIub3BlbicKQEAgLTM2LDEwICszNiwxMCBAQCB3aW5kb3cuZGJuYW1lID0g
J3Rlc3QyJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiAnaDEuc2V0VmVyc2lv
bi5vbnN1Y2Nlc3MnCiAnaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZScKIE5PVEU6
IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNpb24ub25ibG9ja2VkIHN0ZXA7
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMAotRkFJTCB3aW5k
b3cuc3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vzcyxo
Mi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub252ZXJzaW9uY2hhbmdl
LGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rp
b24tY29tcGxldGUuIFdhcyBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Bl
bi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIuY2xvc2UsaDEu
c2V0VmVyc2lvbi5vbmJsb2NrZWQsaDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lv
bi50cmFuc2FjdGlvbi1jb21wbGV0ZS4KK0ZBSUwgc2VsZi5zdGVwcy50b1N0cmluZygpIHNob3Vs
ZCBiZSBoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3Ms
aDEuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDIuY2xvc2UsaDEuc2V0VmVyc2lvbi5v
bnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZS4gV2FzIGgxLm9wZW4s
aDEub3Blbi5vbnN1Y2Nlc3MsaDIub3BlbixoMi5vcGVuLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9u
LGgyLm9udmVyc2lvbmNoYW5nZSxoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCxoMS5z
ZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLgog
CiBURVNUOiBvcGVuIGFuZCBzZXRWZXJzaW9uIGJsb2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0
cmFuc2FjdGlvbiBpcyBydW5uaW5nIC0gY2xvc2Ugd2hlbiBibG9ja2VkCi13aW5kb3cuZGJuYW1l
ID0gJ3Rlc3QzJzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFt
ZSA9ICd0ZXN0Myc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdo
MS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtNTcsMTAgKzU3LDEwIEBAIHdpbmRvdy5k
Ym5hbWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10KICdoMS5z
ZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRl
JwogJ2gzLm9wZW4ub25zdWNjZXNzJwotUEFTUyB3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSBpcyAi
aDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNl
dFZlcnNpb24saDIuc2V0VmVyc2lvbixoMi5vbnZlcnNpb25jaGFuZ2UsaDEuc2V0VmVyc2lvbi5v
bmJsb2NrZWQsaDEub252ZXJzaW9uY2hhbmdlLGgyLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNs
b3NlLGgzLm9wZW4saDIuc2V0VmVyc2lvbi5vbmVycm9yLGgxLnNldFZlcnNpb24ub25zdWNjZXNz
LGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MiCitQ
QVNTIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2Vzcyxo
Mi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIuc2V0VmVyc2lvbixoMi5v
bnZlcnNpb25jaGFuZ2UsaDEuc2V0VmVyc2lvbi5vbmJsb2NrZWQsaDEub252ZXJzaW9uY2hhbmdl
LGgyLnNldFZlcnNpb24ub25ibG9ja2VkLGgyLmNsb3NlLGgzLm9wZW4saDIuc2V0VmVyc2lvbi5v
bmVycm9yLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24t
Y29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MiCiAKIFRFU1Q6IG9wZW4gYW5kIHNldFZlcnNpb24g
YmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmcgLSBqdXN0
IGNsb3NlCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q0Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5z
dGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0NCc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVw
cyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMi5vcGVuJwpAQCAtNzMs
MTAgKzczLDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDQnOyB3aW5kb3cudmVyID0gMTsgd2lu
ZG93LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwogJ2gz
Lm9wZW4ub25zdWNjZXNzJwogTk9URTogV2lsbCBGQUlMIHdpdGggZXh0cmEgYm9ndXMgaDEuc2V0
VmVyc2lvbi5vbmJsb2NrZWQgc3RlcDsgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxMTMwCi1GQUlMIHdpbmRvdy5zdGVwcy50b1N0cmluZygpIHNob3VsZCBiZSBoMS5v
cGVuLGgxLm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVy
c2lvbixoMy5vcGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNp
b24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nlc3MuIFdhcyBoMS5vcGVuLGgx
Lm9wZW4ub25zdWNjZXNzLGgyLm9wZW4saDIub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixo
My5vcGVuLGgyLmNsb3NlLGgxLnNldFZlcnNpb24ub25ibG9ja2VkLGgxLnNldFZlcnNpb24ub25z
dWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDMub3Blbi5vbnN1Y2Nl
c3MuCitGQUlMIHNlbGYuc3RlcHMudG9TdHJpbmcoKSBzaG91bGQgYmUgaDEub3BlbixoMS5vcGVu
Lm9uc3VjY2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDMub3Bl
bixoMi5jbG9zZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0
aW9uLWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNzLiBXYXMgaDEub3BlbixoMS5vcGVuLm9uc3Vj
Y2VzcyxoMi5vcGVuLGgyLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDMub3BlbixoMi5j
bG9zZSxoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5z
ZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlLGgzLm9wZW4ub25zdWNjZXNzLgogCiBURVNU
OiBvcGVuIGJsb2NrZWQgaWYgYSBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBpcyBydW5uaW5n
Ci13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9
IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0NSc7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9IFtd
CiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9uJwpAQCAtODQs
MTAgKzg0LDEwIEBAIHdpbmRvdy5kYm5hbWUgPSAndGVzdDUnOyB3aW5kb3cudmVyID0gMTsgd2lu
ZG93LnN0ZXBzID0gW10KICdoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcycKICdoMS5zZXRWZXJzaW9u
LnRyYW5zYWN0aW9uLWNvbXBsZXRlJwogJ2gyLm9wZW4ub25zdWNjZXNzJwotUEFTUyB3aW5kb3cu
c3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMS5zZXRWZXJz
aW9uLGgyLm9wZW4saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2Fj
dGlvbi1jb21wbGV0ZSxoMi5vcGVuLm9uc3VjY2VzcyIKK1BBU1Mgc2VsZi5zdGVwcy50b1N0cmlu
ZygpIGlzICJoMS5vcGVuLGgxLm9wZW4ub25zdWNjZXNzLGgxLnNldFZlcnNpb24saDIub3Blbixo
MS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRl
LGgyLm9wZW4ub25zdWNjZXNzIgogCiBURVNUOiB0d28gc2V0VmVyc2lvbnMgZnJvbSB0aGUgc2Ft
ZSBjb25uZWN0aW9uCi13aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZlciA9IDE7IHdp
bmRvdy5zdGVwcyA9IFtdCitzZWxmLmRibmFtZSA9ICd0ZXN0Nic7IHNlbGYudmVyID0gMTsgc2Vs
Zi5zdGVwcyA9IFtdCiAnaDEub3BlbicKICdoMS5vcGVuLm9uc3VjY2VzcycKICdoMS5zZXRWZXJz
aW9uJwpAQCAtOTcsNyArOTcsNyBAQCB3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZl
ciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdCiBoYWxmIGRvbmUKICdoMS5zZXRWZXJzaW9uLm9uc3Vj
Y2VzcycKICdoMS5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNvbXBsZXRlJwotUEFTUyB3aW5kb3cu
c3RlcHMudG9TdHJpbmcoKSBpcyAiaDEub3BlbixoMS5vcGVuLm9uc3VjY2VzcyxoMS5zZXRWZXJz
aW9uLGgxLnNldFZlcnNpb24saDEuc2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50
cmFuc2FjdGlvbi1jb21wbGV0ZSxoMS5zZXRWZXJzaW9uLm9uc3VjY2VzcyxoMS5zZXRWZXJzaW9u
LnRyYW5zYWN0aW9uLWNvbXBsZXRlIgorUEFTUyBzZWxmLnN0ZXBzLnRvU3RyaW5nKCkgaXMgImgx
Lm9wZW4saDEub3Blbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbixoMS5zZXRWZXJzaW9uLGgxLnNl
dFZlcnNpb24ub25zdWNjZXNzLGgxLnNldFZlcnNpb24udHJhbnNhY3Rpb24tY29tcGxldGUsaDEu
c2V0VmVyc2lvbi5vbnN1Y2Nlc3MsaDEuc2V0VmVyc2lvbi50cmFuc2FjdGlvbi1jb21wbGV0ZSIK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jbG9zZS12ZXJzaW9uLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRt
bAppbmRleCBmY2M1MGIzYWVkNzQwNTk0MjYyMjQyZGEyNzEwMjY2NDU3MWY1ZmQ5Li41MWY1MmIw
MjgwMjVkOGYyZDNmNWZlNDg0YjJlOWM2MDdjZDIyNWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWNsb3NlLXZlcnNpb24uaHRtbApAQCAtMTIsNDQg
KzEyLDQ0IEBAIGRlc2NyaXB0aW9uKCJUZXN0IGludGVybGVhdmVkIG9wZW4vY2xvc2Uvc2V0VmVy
c2lvbiBjYWxscyBpbiB2YXJpb3VzIHBlcm11dGF0aW9uCiAKIGZ1bmN0aW9uIENvbm5lY3Rpb24o
aWQpIHsKICAgICBpZCA9IFN0cmluZyhpZCk7Ci0gICAgdmFyIHNlbGYgPSB0aGlzOworICAgIHZh
ciB0aGF0ID0gdGhpczsKICAgICB0aGlzLm9wZW4gPSBmdW5jdGlvbihvcHRzKSB7Ci0gICAgICAg
IHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4nIikpOwotICAg
ICAgICB2YXIgcmVxID0gaW5kZXhlZERCLm9wZW4od2luZG93LmRibmFtZSk7CisgICAgICAgIHNl
bGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5vcGVuJyIpKTsKKyAgICAgICAg
dmFyIHJlcSA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKTsKICAgICAgICAgcmVxLm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1
bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICBzZWxmLmhhbmRsZSA9IGUudGFyZ2V0LnJlc3VsdDsK
LSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9w
ZW4ub25zdWNjZXNzJyIpKTsKLSAgICAgICAgICAgIHNlbGYuaGFuZGxlLm9udmVyc2lvbmNoYW5n
ZSA9IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFs
QW5kTG9nKCInIiArIGlkICsgIi5vbnZlcnNpb25jaGFuZ2UnIikpOwotICAgICAgICAgICAgICAg
IGlmIChvcHRzICYmIG9wdHMub252ZXJzaW9uKSB7IG9wdHMub252ZXJzaW9uLmNhbGwoc2VsZik7
IH0KKyAgICAgICAgICAgIHRoYXQuaGFuZGxlID0gZS50YXJnZXQucmVzdWx0OworICAgICAgICAg
ICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLm9wZW4ub25zdWNjZXNz
JyIpKTsKKyAgICAgICAgICAgIHRoYXQuaGFuZGxlLm9udmVyc2lvbmNoYW5nZSA9IGZ1bmN0aW9u
KGUpIHsKKyAgICAgICAgICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExvZygiJyIgKyBp
ZCArICIub252ZXJzaW9uY2hhbmdlJyIpKTsKKyAgICAgICAgICAgICAgICBpZiAob3B0cyAmJiBv
cHRzLm9udmVyc2lvbikgeyBvcHRzLm9udmVyc2lvbi5jYWxsKHRoYXQpOyB9CiAgICAgICAgICAg
ICB9OwotICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nlc3MpIHsgb3B0cy5vbnN1
Y2Nlc3MuY2FsbChzZWxmKTsgfQorICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbnN1Y2Nl
c3MpIHsgb3B0cy5vbnN1Y2Nlc3MuY2FsbCh0aGF0KTsgfQogICAgICAgICB9OwogICAgIH07CiAK
ICAgICB0aGlzLmNsb3NlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHdpbmRvdy5zdGVwcy5wdXNo
KGV2YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKKyAgICAgICAgc2VsZi5zdGVwcy5w
dXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLmNsb3NlJyIpKTsKICAgICAgICAgdGhpcy5oYW5k
bGUuY2xvc2UoKTsKICAgICB9OwogCiAgICAgdGhpcy5zZXRWZXJzaW9uID0gZnVuY3Rpb24ob3B0
cykgewotICAgICAgICB3aW5kb3cuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5z
ZXRWZXJzaW9uJyIpKTsKLSAgICAgICAgdmFyIHJlcSA9IHRoaXMuaGFuZGxlLnNldFZlcnNpb24o
U3RyaW5nKHdpbmRvdy52ZXIrKykpOworICAgICAgICBzZWxmLnN0ZXBzLnB1c2goZXZhbEFuZExv
ZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbiciKSk7CisgICAgICAgIHZhciByZXEgPSB0aGlzLmhh
bmRsZS5zZXRWZXJzaW9uKFN0cmluZyhzZWxmLnZlcisrKSk7CiAgICAgICAgIHJlcS5vbmFib3J0
ID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRM
b2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25hYm9ydCciKSk7Ci0gICAgICAgICAgICBpZiAo
b3B0cyAmJiBvcHRzLm9uYWJvcnQpIHsgb3B0cy5vbmFib3J0LmNhbGwoc2VsZik7IH0KKyAgICAg
ICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9u
Lm9uYWJvcnQnIikpOworICAgICAgICAgICAgaWYgKG9wdHMgJiYgb3B0cy5vbmFib3J0KSB7IG9w
dHMub25hYm9ydC5jYWxsKHRoYXQpOyB9CiAgICAgICAgIH07CiAgICAgICAgIHJlcS5vbmJsb2Nr
ZWQgPSBmdW5jdGlvbiAoZSkgewotICAgICAgICAgICAgd2luZG93LnN0ZXBzLnB1c2goZXZhbEFu
ZExvZygiJyIgKyBpZCArICIuc2V0VmVyc2lvbi5vbmJsb2NrZWQnIikpOwotICAgICAgICAgICAg
aWYgKG9wdHMgJiYgb3B0cy5vbmJsb2NrZWQpIHsgb3B0cy5vbmJsb2NrZWQuY2FsbChzZWxmKTsg
fQorICAgICAgICAgICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNl
dFZlcnNpb24ub25ibG9ja2VkJyIpKTsKKyAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25i
bG9ja2VkKSB7IG9wdHMub25ibG9ja2VkLmNhbGwodGhhdCk7IH0KICAgICAgICAgfTsKICAgICAg
ICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICB3aW5kb3cuc3Rl
cHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uc3VjY2VzcyciKSk7
Ci0gICAgICAgICAgICBpZiAoc2VsZi5oYW5kbGUub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygi
dGVzdC1zdG9yZSIgKyB3aW5kb3cudmVyKSkgewotICAgICAgICAgICAgICAgIHNlbGYuaGFuZGxl
LmRlbGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOworICAgICAgICAg
ICAgc2VsZi5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24ub25z
dWNjZXNzJyIpKTsKKyAgICAgICAgICAgIGlmICh0aGF0LmhhbmRsZS5vYmplY3RTdG9yZU5hbWVz
LmNvbnRhaW5zKCJ0ZXN0LXN0b3JlIiArIHNlbGYudmVyKSkgeworICAgICAgICAgICAgICAgIHRo
YXQuaGFuZGxlLmRlbGV0ZU9iamVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHNlbGYudmVyKTsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHZhciBzdG9yZSA9IHNlbGYuaGFuZGxlLmNyZWF0ZU9i
amVjdFN0b3JlKCJ0ZXN0LXN0b3JlIiArIHdpbmRvdy52ZXIpOworICAgICAgICAgICAgdmFyIHN0
b3JlID0gdGhhdC5oYW5kbGUuY3JlYXRlT2JqZWN0U3RvcmUoInRlc3Qtc3RvcmUiICsgc2VsZi52
ZXIpOwogICAgICAgICAgICAgdmFyIGNvdW50ID0gMDsKICAgICAgICAgICAgIGRvX2FzeW5jX3B1
dHMoKTsgLy8gS2VlcCB0aGlzIHRyYW5zYWN0aW9uIHJ1bm5pbmcgZm9yIGEgd2hpbGUKICAgICAg
ICAgICAgIGZ1bmN0aW9uIGRvX2FzeW5jX3B1dHMoKSB7CkBAIC01OSwxNSArNTksMTUgQEAgZnVu
Y3Rpb24gQ29ubmVjdGlvbihpZCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoKytjb3VudCA8
IDEwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBkb19hc3luY19wdXRzKCk7CiAgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc3Rl
cHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLnRyYW5zYWN0aW9uLWNv
bXBsZXRlJyIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRzICYmIG9wdHMub25z
dWNjZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFsQW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9u
LnRyYW5zYWN0aW9uLWNvbXBsZXRlJyIpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChv
cHRzICYmIG9wdHMub25zdWNjZXNzKSB7IG9wdHMub25zdWNjZXNzLmNhbGwodGhhdCk7IH0KICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH07CiAgICAgICAgIHJlcS5vbmVycm9yID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAg
ICAgIHdpbmRvdy5zdGVwcy5wdXNoKGV2YWxBbmRMb2coIiciICsgaWQgKyAiLnNldFZlcnNpb24u
b25lcnJvciciKSk7Ci0gICAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLm9uZXJyb3IpIHsgb3B0
cy5vbmVycm9yLmNhbGwoc2VsZik7IH0KKyAgICAgICAgICAgIHNlbGYuc3RlcHMucHVzaChldmFs
QW5kTG9nKCInIiArIGlkICsgIi5zZXRWZXJzaW9uLm9uZXJyb3InIikpOworICAgICAgICAgICAg
aWYgKG9wdHMgJiYgb3B0cy5vbmVycm9yKSB7IG9wdHMub25lcnJvci5jYWxsKHRoYXQpOyB9CiAg
ICAgICAgIH07CiAgICAgfTsKIH0KQEAgLTg4LDcgKzg4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsK
IGZ1bmN0aW9uIHRlc3QxKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVEVTVDogc2V0
VmVyc2lvbiBibG9ja2VkIG9uIG9wZW4gaGFuZGxlcyIpOwotICAgIGV2YWxBbmRMb2coIndpbmRv
dy5kYm5hbWUgPSAndGVzdDEnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsK
KyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0MSc7IHNlbGYudmVyID0gMTsgc2Vs
Zi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7CiAgICAg
dmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRv
TmV4dCkgeyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTAwLDcgKzEwMCw3
IEBAIGZ1bmN0aW9uIHRlc3QxKCkgewogICAgICAgICAgZnVuY3Rpb24oZG9OZXh0KSB7IGgxLnNl
dFZlcnNpb24oe29uc3VjY2VzczogZmluaXNoVGVzdH0pOyB9LAogICAgICAgICAgXSk7CiAgICAg
ZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3
aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
c2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsi
aDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNj
ZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIub3BlbiIsCkBAIC0xMTks
NyArMTE5LDcgQEAgZnVuY3Rpb24gdGVzdDEoKSB7CiBmdW5jdGlvbiB0ZXN0MigpIHsKICAgICBk
ZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IHNldFZlcnNpb24gbm90IGJsb2NrZWQgaWYgaGFu
ZGxlIGNsb3NlZCBpbW1lZGlhdGVseSIpOwotICAgIGV2YWxBbmRMb2coIndpbmRvdy5kYm5hbWUg
PSAndGVzdDInOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBzID0gW10iKTsKKyAgICBldmFs
QW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Mic7IHNlbGYudmVyID0gMTsgc2VsZi5zdGVwcyA9
IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgxIik7CiAgICAgdmFyIGgyID0g
bmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRvTmV4dCkgeyBo
MS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LApAQCAtMTM0LDcgKzEzNCw3IEBAIGZ1bmN0
aW9uIHRlc3QyKCkgewogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKICAgICAgICAgZGVi
dWcoIk5PVEU6IFdpbGwgRkFJTCB3aXRoIGV4dHJhIGJvZ3VzIGgxLnNldFZlcnNpb24ub25ibG9j
a2VkIHN0ZXA7IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEzMCIp
OwotICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5zdGVwcy50b1N0cmluZygp
IiwKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWxmLnN0ZXBzLnRvU3RyaW5nKCki
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJoMS5vcGVuIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiaDEub3Blbi5vbnN1Y2Nlc3MiLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJoMi5vcGVuIiwKQEAgLTE1Miw3ICsxNTIsNyBAQCBmdW5jdGlvbiB0
ZXN0MigpIHsKIGZ1bmN0aW9uIHRlc3QzKCkgewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1Zygi
VEVTVDogb3BlbiBhbmQgc2V0VmVyc2lvbiBibG9ja2VkIGlmIGEgVkVSU0lPTl9DSEFOR0UgdHJh
bnNhY3Rpb24gaXMgcnVubmluZyAtIGNsb3NlIHdoZW4gYmxvY2tlZCIpOwotICAgIGV2YWxBbmRM
b2coIndpbmRvdy5kYm5hbWUgPSAndGVzdDMnOyB3aW5kb3cudmVyID0gMTsgd2luZG93LnN0ZXBz
ID0gW10iKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLmRibmFtZSA9ICd0ZXN0Myc7IHNlbGYudmVy
ID0gMTsgc2VsZi5zdGVwcyA9IFtdIik7CiAgICAgdmFyIGgxID0gbmV3IENvbm5lY3Rpb24oImgx
Iik7CiAgICAgdmFyIGgyID0gbmV3IENvbm5lY3Rpb24oImgyIik7CiAgICAgdmFyIGgzID0gbmV3
IENvbm5lY3Rpb24oImgzIik7CkBAIC0xNjksNyArMTY5LDcgQEAgZnVuY3Rpb24gdGVzdDMoKSB7
CiAgICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaDIub3BlbiIsCkBAIC0xOTQsNyArMTk0LDcgQEAgZnVuY3Rpb24gdGVzdDMoKSB7
CiBmdW5jdGlvbiB0ZXN0NCgpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IG9w
ZW4gYW5kIHNldFZlcnNpb24gYmxvY2tlZCBpZiBhIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9u
IGlzIHJ1bm5pbmcgLSBqdXN0IGNsb3NlIik7Ci0gICAgZXZhbEFuZExvZygid2luZG93LmRibmFt
ZSA9ICd0ZXN0NCc7IHdpbmRvdy52ZXIgPSAxOyB3aW5kb3cuc3RlcHMgPSBbXSIpOworICAgIGV2
YWxBbmRMb2coInNlbGYuZGJuYW1lID0gJ3Rlc3Q0Jzsgc2VsZi52ZXIgPSAxOyBzZWxmLnN0ZXBz
ID0gW10iKTsKICAgICB2YXIgaDEgPSBuZXcgQ29ubmVjdGlvbigiaDEiKTsKICAgICB2YXIgaDIg
PSBuZXcgQ29ubmVjdGlvbigiaDIiKTsKICAgICB2YXIgaDMgPSBuZXcgQ29ubmVjdGlvbigiaDMi
KTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBmdW5jdGlvbiB0ZXN0NCgpIHsKIAogICAgIGZ1bmN0aW9u
IGZpbmlzaFRlc3QoKSB7CiAgICAgICAgIGRlYnVnKCJOT1RFOiBXaWxsIEZBSUwgd2l0aCBleHRy
YSBib2d1cyBoMS5zZXRWZXJzaW9uLm9uYmxvY2tlZCBzdGVwOyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAiKTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ3aW5kb3cuc3RlcHMudG9TdHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygic2VsZi5zdGVwcy50b1N0cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFsiaDEub3BlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4u
b25zdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaDIub3BlbiIsCkBA
IC0yMjYsNyArMjI2LDcgQEAgZnVuY3Rpb24gdGVzdDQoKSB7CiBmdW5jdGlvbiB0ZXN0NSgpIHsK
ICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlRFU1Q6IG9wZW4gYmxvY2tlZCBpZiBhIFZFUlNJ
T05fQ0hBTkdFIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmciKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5k
b3cuZGJuYW1lID0gJ3Rlc3Q1Jzsgd2luZG93LnZlciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7
CisgICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUgPSAndGVzdDUnOyBzZWxmLnZlciA9IDE7IHNl
bGYuc3RlcHMgPSBbXSIpOwogICAgIHZhciBoMSA9IG5ldyBDb25uZWN0aW9uKCJoMSIpOwogICAg
IHZhciBoMiA9IG5ldyBDb25uZWN0aW9uKCJoMiIpOwogCkBAIC0yMzYsNyArMjM2LDcgQEAgZnVu
Y3Rpb24gdGVzdDUoKSB7CiAgICAgICAgICAgICAgIF0pOwogCiAgICAgZnVuY3Rpb24gZmluaXNo
VGVzdCgpIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuc3RlcHMudG9T
dHJpbmcoKSIsCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2VsZi5zdGVwcy50b1N0
cmluZygpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiaDEub3BlbiIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLm9wZW4ub25zdWNjZXNzIiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiaDEuc2V0VmVyc2lvbiIsCkBAIC0yNTMsNyArMjUzLDcg
QEAgZnVuY3Rpb24gdGVzdDUoKSB7CiBmdW5jdGlvbiB0ZXN0NigpIHsKICAgICBkZWJ1ZygiIik7
CiAgICAgZGVidWcoIlRFU1Q6IHR3byBzZXRWZXJzaW9ucyBmcm9tIHRoZSBzYW1lIGNvbm5lY3Rp
b24iKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1lID0gJ3Rlc3Q2Jzsgd2luZG93LnZl
ciA9IDE7IHdpbmRvdy5zdGVwcyA9IFtdIik7CisgICAgZXZhbEFuZExvZygic2VsZi5kYm5hbWUg
PSAndGVzdDYnOyBzZWxmLnZlciA9IDE7IHNlbGYuc3RlcHMgPSBbXSIpOwogICAgIHZhciBoMSA9
IG5ldyBDb25uZWN0aW9uKCJoMSIpOwogCiAgICAgcnVuU3RlcHMoW2Z1bmN0aW9uKGRvTmV4dCkg
eyBoMS5vcGVuKHtvbnN1Y2Nlc3M6IGRvTmV4dH0pOyB9LCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKQEAgLTI3Miw3ICsyNzIsNyBAQCBmdW5jdGlvbiB0ZXN0NigpIHsKICAgICB9
ICAKIAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygid2luZG93LnN0ZXBzLnRvU3RyaW5nKCkiLAorICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInNlbGYuc3RlcHMudG9TdHJpbmcoKSIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbImgxLm9wZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoMS5v
cGVuLm9uc3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImgxLnNldFZl
cnNpb24iLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1j
dXJzb3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0
bWwKaW5kZXggMDllZDc5OGRmNjljN2RiNGQ1NmJmZmZjNWYyZjQ1MTZjYTYyYzcyNC4uZjRiMzhj
Y2Q3ZWNjNmY4NDk5NGNkZWU2MGZhZDM2OTExOTM5NzkxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sCkBAIC01Nyw3ICs1Nyw3IEBAIGZ1bmN0
aW9uIG9wZW5DdXJzb3IoKQogZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogewogICAgIGRl
YnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUo
InRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENh
bGxiYWNrOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9wcmVm
ZXRjaC1idWdmaXgtMTA4MDcxLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9w
cmVmZXRjaC1idWdmaXgtMTA4MDcxLmh0bWwKaW5kZXggZDAyNjIxYzdkN2EwZDVlYzAwMDk3MDk1
MTU0NTg1ZDMxYjBmMGRmMC4uMjI3ODI2ZTQ2YTY3ZmNlYjYyY2FjZTcxNGM2NzliMzJiMDUzMDRm
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVn
Zml4LTEwODA3MS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ByZWZl
dGNoLWJ1Z2ZpeC0xMDgwNzEuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBmdW5jdGlvbiBvcGVuU3Vj
Y2VzcygpCiBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiB7CiAgICAgZGVidWcoInNldFZl
cnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1ZSgidHJhbnMgIT09
IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAg
ICAgdHJhbnMub25jb21wbGV0ZSA9IGl0ZXJhdGVBbmREZWxldGVGaXJzdEVsZW1lbnQ7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9xdWV1ZWQtY29tbWFuZHMuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCmlu
ZGV4IGM5NzMwZGIwNDU3NjUwYjQ0ZDFmYTAyNWMwYjk3NjhhMmMzMmE2YmMuLmU3YTlhYzcxMTVh
MDY3OWQzOWEwNzRlNWY3OGI4YjNiMzU3ZDc1NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy5odG1sCkBAIC0zMCwxNCArMzAsMTQgQEAg
ZnVuY3Rpb24gc2V0VmVyc2lvbigpCiBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiB7CiAgICAg
ZGVidWcoInNldFZlcnNpb25TdWNjZXNzKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi50cmFucyA9IGV2
YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogICAgIHNob3VsZEJlVHJ1
ZSgidHJhbnMgIT09IG51bGwiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0
Q2FsbGJhY2s7CiAKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwogCi0gICAgd2luZG93
LnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7
Ci0gICAgd2luZG93LmluZGV4T2JqZWN0ID0gZXZhbEFuZExvZygic3RvcmUuY3JlYXRlSW5kZXgo
J2luZGV4TmFtZScsICd4JykiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygiZGIuY3Jl
YXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CisgICAgc2VsZi5pbmRleE9iamVjdCA9IGV2
YWxBbmRMb2coInN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAneCcpIik7CiAKICAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygic3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30sICdr
ZXknKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZlcmlmeUFkZCgw
KTsgfTsKQEAgLTUxLDcgKzUxLDcgQEAgZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IHZlcmlmeUFkZCgyKTsgfTsKICAgICByZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIAotICAgIHdpbmRvdy5hZGRD
b3VudCA9IDA7CisgICAgc2VsZi5hZGRDb3VudCA9IDA7CiB9CiAKIGZ1bmN0aW9uIHZlcmlmeUFk
ZChleHBlY3RlZCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
cXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCAxNzY2YjYyNmYxY2Y5MGQx
ZjQxYTAxZmI1YmYxNzJlZTUwOTEwZjM0Li4yMTU3MjcwZmExMzZhMmU1MTQ3YTg0YjNiNTE3YTBh
MGZlMmUxOWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1
ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCkBAIC0zMCw3ICszMCw3IEBAIGZ1
bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogewogICAgIGRl
YnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYudHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91bGRCZVRydWUo
InRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENh
bGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBzdGFydFRlc3QiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZlcnNpb24tbnVs
bC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0
bWwKaW5kZXggODVlNmE4Mjg1OTY2ZjQwOTJlYzliZDE0MjUxYTRiMTc5Mzk3OTllMC4uNmE4ODAx
NDBmZjUxNjMzNDFlNGY3NzhkNzRkMzg2YWQ1ZmEyODEwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi1udWxsLmh0bWwKQEAgLTE1LDcgKzE1LDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKICAKLSAg
ICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUgPSBzZWxmLmxvY2F0
aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOwogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldFZlcnNpb24tdW5kZWZpbmVkLmh0bWwKaW5k
ZXggMjM3MDBiZTgwOTlhNjM0NGQwNjhiMThiNzYzMTFkYzhiMjQ2ZTFmNi4uZGZhOGE1MWM4Y2Nm
MGE5MWQ0OTI0NTU0NGY3YjY0NGJiOTE2MWE2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvc2V0VmVyc2lvbi11bmRlZmluZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRWZXJzaW9uLXVuZGVmaW5lZC5odG1sCkBAIC0xNSw3ICsx
NSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7CiAg
Ci0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1lID0gc2VsZi5s
b2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsK
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRp
b24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX2Jsb2NrZWQuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX2Jsb2NrZWQuaHRtbApp
bmRleCA5YTgyODIyZjViNGNmN2FkMGQ1ZDBkOWUyMjdmZmNhNzYyNTIxMzJlLi4yNzU2ZTUzNjA2
M2EzNjZkY2E0ZWQzYWE5OWQwNzVlZTkzNTkwMTViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9ibG9ja2VkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fYmxvY2tlZC5odG1sCkBAIC02MCw3ICs2
MCw3IEBAIGZ1bmN0aW9uIGluU2V0VmVyc2lvbigpCiANCiB0ZXN0KCk7DQogDQotPC9zY3JpcHQ+
DQotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+DQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4NCiA8L2h0bWw+DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3NldF92ZXJzaW9uX3F1ZXVlLmh0bWwK
aW5kZXggZmY1NjBhZjA4NDNiNmNkOTQxMTljNWIwMTNjZTc2Y2I4MTVhYWNlNS4uZjJmNDUwMDI0
YWRiNThlZDIyOGUxMTEwOGEzMjMyMWNmZjc0YWI2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fcXVldWUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVyc2lvbl9xdWV1ZS5odG1sCkBAIC0xMSw3ICsxMSw3
IEBACiBkZXNjcmlwdGlvbigiNCBvcGVuIGNvbm5lY3Rpb25zIHRyeSB0byBzZXRWZXJzaW9uIGF0
IHRoZSBzYW1lIHRpbWUuICAzIGNvbm5lY3Rpb25zIGV2ZW50dWFsbHkgY2xvc2UsIGFsbG93aW5n
IDEgc2V0VmVyc2lvbiBjYWxsIHRvIHByb2NlZWQuIik7DQogDQogY29ubmVjdGlvbnMgPSBbXQ0K
LWZ1bmN0aW9uIHRlc3QoKQ0KK2Z1bmN0aW9uIHRlc3QoKQogew0KICAgICByZW1vdmVWZW5kb3JQ
cmVmaXhlcygpOw0KIA0KQEAgLTEyNyw3ICsxMjcsNyBAQCBmdW5jdGlvbiBpblNldFZlcnNpb24x
KGV2ZW50KQogDQogdGVzdCgpOw0KIA0KLTwvc2NyaXB0Pg0KLTxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pg0KKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CiA8L2JvZHk+DQogPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQKaW5kZXggZjk2
NGQyMjEwNWI0ZjBiZGY2Zjk0YjE4ZDA0OGY4MDZmYWZiMzc5OC4uYTgxOWE4ZWUzY2EyNjJlNDlm
MjdmOGJlOWRiNWQxODY3YjAyMWUxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS1leHBlY3RlZC50eHQKQEAgLTU5OCw3
ICs1OTgsNyBAQCBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIERPTUV4
Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgogCiBPdGhlciBob3N0IG9iamVjdCB0eXBlczoKLUV4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQod2luZG93LCAna2V5JykKK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoc2VsZiwgJ2tleScpCiBQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgogUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUgogRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChkb2N1bWVudCwgJ2tleScpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLmh0bWwKaW5kZXgg
YTMzM2E2OTJjZjg4Y2Y2YzkwZjk5NGUzYjlhZjBhZTExZjVmOTVmMy4uN2Q2NDk5ZjI3NGQxM2Y0
ODdiYmY4MzZkMDNhZDk5MGNhNDgxMzQ0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvc3RydWN0dXJlZC1jbG9uZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUuaHRtbApAQCAtMTEsNyArMTEsNyBAQAogCiBk
ZXNjcmlwdGlvbigiVGVzdCBzdHJ1Y3R1cmVkIGNsb25lIHBlcm11dGF0aW9ucyBpbiBJbmRleGVk
REIuIEZpbGUvRmlsZUxpc3QgdGVzdHMgcmVxdWlyZSBEdW1wUmVuZGVyVHJlZS4iKTsKIAotaWYg
KHdpbmRvdy5ldmVudFNlbmRlcikgeworaWYgKHNlbGYuZXZlbnRTZW5kZXIpIHsKICAgICB2YXIg
ZmlsZUlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGVJbnB1dCIpOwogICAgIHZh
ciBmaWxlUmVjdCA9IGZpbGVJbnB1dC5nZXRDbGllbnRSZWN0cygpWzBdOwogICAgIHZhciB0YXJn
ZXRYID0gZmlsZVJlY3QubGVmdCArIGZpbGVSZWN0LndpZHRoIC8gMjsKQEAgLTEwOSw3ICsxMDks
NyBAQCBmdW5jdGlvbiB0ZXN0VmFsdWUodmFsdWUsIGNhbGxiYWNrKQogICAgIHRyYW5zYWN0aW9u
Lm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICBldmFsQW5kTG9nKCJzdG9y
ZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwogCi0gICAgd2luZG93
LnZhbHVlID0gdmFsdWU7CisgICAgc2VsZi52YWx1ZSA9IHZhbHVlOwogICAgIHJlcXVlc3QgPSBl
dmFsQW5kTG9nKCJzdG9yZS5wdXQodmFsdWUsICdrZXknKSIpOwogICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVu
Y3Rpb24oZSkgewpAQCAtMTQ3LDcgKzE0Nyw3IEBAIGZ1bmN0aW9uIHRlc3RQcmltaXRpdmVWYWx1
ZShzdHJpbmcsIGNhbGxiYWNrKQogICAgIHZhciB2YWx1ZSA9IGV2YWwoInZhbHVlID0gKCIgKyBz
dHJpbmcgKyAiKSIpOwogICAgIHRlc3RfZGF0YSA9IHZhbHVlOwogICAgIHRlc3RWYWx1ZSh0ZXN0
X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0
OworICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJp
cyh0ZXN0X2RhdGEsIHJlc3VsdCkiKTsKICAgICAgICAgZGVidWcoIiIpOwogICAgICAgICBjYWxs
YmFjaygpOwpAQCAtMTYwLDcgKzE2MCw3IEBAIGZ1bmN0aW9uIHRlc3RPYmplY3RXaXRoVmFsdWUo
c3RyaW5nLCBjYWxsYmFjaykKICAgICB2YXIgdmFsdWUgPSBldmFsKCJ2YWx1ZSA9ICgiICsgc3Ry
aW5nICsgIikiKTsKICAgICB0ZXN0X2RhdGEgPSB2YWx1ZTsKICAgICB0ZXN0VmFsdWUodGVzdF9k
YXRhLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgd2luZG93LnJlc3VsdCA9IHJlc3VsdDsK
KyAgICAgICAgc2VsZi5yZXN1bHQgPSByZXN1bHQ7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygidHlwZW9mIHJlc3VsdCIsICJvYmplY3QiKTsKICAgICAgICAgc2hvdWxkQmUoIk9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpIiwgIk9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbCh0ZXN0X2RhdGEpIik7CiAgICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdF9kYXRh
ICE9PSByZXN1bHQiKTsKQEAgLTI4Miw3ICsyODIsNyBAQCBmdW5jdGlvbiB0ZXN0UmVnRXhwT2Jq
ZWN0KGNhbGxiYWNrKQogICAgICAgICB2YXIgdmFsdWUgPSBldmFsKCJ2YWx1ZSA9ICgiICsgc3Ry
aW5nICsgIikiKTsKICAgICAgICAgdGVzdF9kYXRhID0gdmFsdWU7CiAgICAgICAgIHRlc3RWYWx1
ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICAgICAgd2luZG93LnJlc3Vs
dCA9IHJlc3VsdDsKKyAgICAgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwogICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocmVzdWx0
KSIsICJbb2JqZWN0IFJlZ0V4cF0iKTsKICAgICAgICAgICAgIHNob3VsZEJlKCJyZXN1bHQudG9T
dHJpbmcoKSIsICJ0ZXN0X2RhdGEudG9TdHJpbmcoKSIpOwpAQCAtMzE3LDcgKzMxNyw3IEBAIGZ1
bmN0aW9uIHRlc3RJbWFnZURhdGEoY2FsbGJhY2spCiAgICAgfQogCiAgICAgdGVzdFZhbHVlKHRl
c3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHdpbmRvdy5yZXN1bHQgPSByZXN1
bHQ7CisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICBzaG91bGRCZVRydWUo
InRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7CiAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkiLCAiW29iamVjdCBJbWFnZURh
dGFdIik7CiAgICAgICAgIHNob3VsZEJlKCJyZXN1bHQud2lkdGgiLCAidGVzdF9kYXRhLndpZHRo
Iik7CkBAIC0zNTAsNyArMzUwLDcgQEAgZnVuY3Rpb24gcmVhZEJsb2JBc1RleHQoYmxvYiwgY2Fs
bGJhY2spCiBmdW5jdGlvbiBjaGVja0Jsb2JDb250ZW50cyhibG9iLCBleHBlY3RlZCwgY2FsbGJh
Y2spCiB7CiAgICAgcmVhZEJsb2JBc1RleHQoYmxvYiwgZnVuY3Rpb24odGV4dCkgewotICAgICAg
ICB3aW5kb3cudGV4dCA9IHRleHQ7CisgICAgICAgIHNlbGYudGV4dCA9IHRleHQ7CiAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygidGV4dCIsIGV4cGVjdGVkKTsKICAgICAgICAgY2FsbGJh
Y2soKTsKICAgICB9KTsKQEAgLTM2MCw4ICszNjAsOCBAQCBmdW5jdGlvbiBjb21wYXJlQmxvYnMo
YmxvYjEsIGJsb2IyLCBjYWxsYmFjaykKIHsKICAgICByZWFkQmxvYkFzVGV4dChibG9iMSwgZnVu
Y3Rpb24odGV4dDEpIHsKICAgICAgICAgcmVhZEJsb2JBc1RleHQoYmxvYjIsIGZ1bmN0aW9uKHRl
eHQyKSB7Ci0gICAgICAgICAgICB3aW5kb3cudGV4dDEgPSB0ZXh0MTsKLSAgICAgICAgICAgIHdp
bmRvdy50ZXh0MiA9IHRleHQyOworICAgICAgICAgICAgc2VsZi50ZXh0MSA9IHRleHQxOworICAg
ICAgICAgICAgc2VsZi50ZXh0MiA9IHRleHQyOwogICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ0ZXh0MiIsIHRleHQxKTsKICAgICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAg
IH0pOwpAQCAtMzc4LDcgKzM3OCw3IEBAIGZ1bmN0aW9uIHRlc3RCbG9iKGNhbGxiYWNrKQogICAg
IGNhbGxiYWNrKCk7CiAgICAgcmV0dXJuOwogCi0gICAgZXZhbEFuZExvZygiQmxvYkJ1aWxkZXIg
PSB3aW5kb3cuQmxvYkJ1aWxkZXIgfHwgd2luZG93LldlYktpdEJsb2JCdWlsZGVyIik7CisgICAg
ZXZhbEFuZExvZygiQmxvYkJ1aWxkZXIgPSBzZWxmLkJsb2JCdWlsZGVyIHx8IHNlbGYuV2ViS2l0
QmxvYkJ1aWxkZXIiKTsKICAgICBzaG91bGRCZVRydWUoIkJsb2JCdWlsZGVyICE9IG51bGwiKTsK
ICAgICBzaG91bGRCZVRydWUoIkZpbGVSZWFkZXIgIT0gbnVsbCIpOwogICAgIGV2YWxBbmRMb2co
ImJ1aWxkZXIgPSBuZXcgQmxvYkJ1aWxkZXIoKSIpOwpAQCAtMzg2LDcgKzM4Niw3IEBAIGZ1bmN0
aW9uIHRlc3RCbG9iKGNhbGxiYWNrKQogICAgIGV2YWxBbmRMb2coImJ1aWxkZXIuYXBwZW5kKHRl
c3RfY29udGVudCkiKTsKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2RhdGEgPSBidWlsZGVyLmdldEJs
b2IoKSIpOwogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkgewotICAg
ICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0OworICAgICAgICBzZWxmLnJlc3VsdCA9IHJlc3Vs
dDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwogICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChy
ZXN1bHQpIiwgIltvYmplY3QgQmxvYl0iKTsKICAgICAgICAgc2hvdWxkQmUoInJlc3VsdC5zaXpl
IiwgInRlc3RfZGF0YS5zaXplIik7CkBAIC0zOTcsOCArMzk3LDggQEAgZnVuY3Rpb24gdGVzdEJs
b2IoY2FsbGJhY2spCiAKIGZ1bmN0aW9uIGNvbXBhcmVGaWxlcyhmaWxlMSwgZmlsZTIsIGNhbGxi
YWNrKQogewotICAgIHdpbmRvdy5maWxlMSA9IGZpbGUxOwotICAgIHdpbmRvdy5maWxlMiA9IGZp
bGUyOworICAgIHNlbGYuZmlsZTEgPSBmaWxlMTsKKyAgICBzZWxmLmZpbGUyID0gZmlsZTI7CiAg
ICAgc2hvdWxkQmVUcnVlKCJmaWxlMSAhPT0gZmlsZTIiKTsKICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmaWxlMSkiLCAiW29iamVjdCBG
aWxlXSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKGZpbGUyKSIsICJbb2JqZWN0IEZpbGVdIik7CkBAIC00MjYsOSArNDI2LDkgQEAg
ZnVuY3Rpb24gdGVzdEZpbGUoY2FsbGJhY2spCiAKICAgICBldmFsQW5kTG9nKCJ0ZXN0X2NvbnRl
bnQgPSBmaWxlSW5wdXQuZmlsZXNbMF0iKTsKIAotICAgIHdpbmRvdy50ZXN0X2RhdGEgPSB0ZXN0
X2NvbnRlbnQ7CisgICAgc2VsZi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CiAgICAgdGVzdFZh
bHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHdpbmRvdy5yZXN1bHQg
PSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAgICAgICBjb21wYXJl
RmlsZXMocmVzdWx0LCB0ZXN0X2RhdGEsIGNhbGxiYWNrKTsKICAgICB9KTsKIH0KQEAgLTQ0Niw5
ICs0NDYsOSBAQCBmdW5jdGlvbiB0ZXN0RmlsZUxpc3QoY2FsbGJhY2spCiAKICAgICBldmFsQW5k
TG9nKCJ0ZXN0X2NvbnRlbnQgPSBmaWxlSW5wdXQuZmlsZXMiKTsKIAotICAgIHdpbmRvdy50ZXN0
X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7CisgICAgc2VsZi50ZXN0X2RhdGEgPSB0ZXN0X2NvbnRlbnQ7
CiAgICAgdGVzdFZhbHVlKHRlc3RfZGF0YSwgZnVuY3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgIHdp
bmRvdy5yZXN1bHQgPSByZXN1bHQ7CisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0OwogICAg
ICAgICBzaG91bGRCZVRydWUoInRlc3RfZGF0YSAhPT0gcmVzdWx0Iik7CiAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCki
LCAiW29iamVjdCBGaWxlTGlzdF0iKTsKICAgICAgICAgc2hvdWxkQmUoInJlc3VsdC5sZW5ndGgi
LCAidGVzdF9kYXRhLmxlbmd0aCIpOwpAQCAtNDc3LDcgKzQ3Nyw3IEBAIGZ1bmN0aW9uIHRlc3RB
cnJheShjYWxsYmFjaykgewogICAgIGV2YWxBbmRMb2coInRlc3RfZGF0YVszMF0gPSBudWxsIik7
CiAKICAgICB0ZXN0VmFsdWUodGVzdF9kYXRhLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAg
d2luZG93LnJlc3VsdCA9IHJlc3VsdDsKKyAgICAgICAgc2VsZi5yZXN1bHQgPSByZXN1bHQ7CiAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgidGVzdF9kYXRhICE9PSByZXN1bHQiKTsKICAgICAgICAgc2hv
dWxkQmVUcnVlKCJ0ZXN0X2RhdGEubGVuZ3RoID09PSByZXN1bHQubGVuZ3RoIik7CiAgICAgICAg
IE9iamVjdC5rZXlzKHRlc3RfZGF0YSkuZm9yRWFjaCgKQEAgLTUwMCw3ICs1MDAsNyBAQCBmdW5j
dGlvbiB0ZXN0T2JqZWN0KGNhbGxiYWNrKSB7CiAgICAgZXZhbEFuZExvZygidGVzdF9kYXRhWycn
XSA9IG51bGwiKTsKIAogICAgIHRlc3RWYWx1ZSh0ZXN0X2RhdGEsIGZ1bmN0aW9uKHJlc3VsdCkg
ewotICAgICAgICB3aW5kb3cucmVzdWx0ID0gcmVzdWx0OworICAgICAgICBzZWxmLnJlc3VsdCA9
IHJlc3VsdDsKICAgICAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0X2RhdGEgIT09IHJlc3VsdCIpOwog
ICAgICAgICBzaG91bGRCZVRydWUoImFycmF5Q29tcGFyZShPYmplY3Qua2V5cyhyZXN1bHQpLnNv
cnQoKSwgT2JqZWN0LmtleXModGVzdF9kYXRhKS5zb3J0KCkpIik7CiAgICAgICAgIE9iamVjdC5r
ZXlzKHRlc3RfZGF0YSkuZm9yRWFjaCgKQEAgLTUzMCw3ICs1MzAsNyBAQCBmdW5jdGlvbiB0ZXN0
QmFkVHlwZXMoKQogCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJPdGhlciBob3N0IG9iamVj
dCB0eXBlczoiKTsKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQod2luZG93
LCAna2V5JykiLCAiRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSIik7CisgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KHNlbGYsICdrZXknKSIsICJET01FeGNlcHRpb24uREFU
QV9DTE9ORV9FUlIiKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQoZG9j
dW1lbnQsICdrZXknKSIsICJET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIiKTsKICAgICBldmFs
QW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQoZG9jdW1lbnQuYm9keSwgJ2tleScpIiwgIkRP
TUV4Y2VwdGlvbi5EQVRBX0NMT05FX0VSUiIpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24uaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdpdGgt
anMtcmVjdXJzaW9uLmh0bWwKaW5kZXggNzk4ZTgyNzAzZjg2YzhiMDhmNmRlNDcxZTU2YzFmYzUw
YTRmMmQ4Mi4uNzlhYjM3MzBmYWU1Njg4OGZkYWVlYWVlOGJiYTMyY2M5NzI5MjA1YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0
aC1qcy1yZWN1cnNpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1sCkBAIC00Niw3ICs0Niw3IEBA
IGZ1bmN0aW9uIGNsaWNrKCkgewogfQ0KIA0KIGZ1bmN0aW9uIHRlc3QoKQ0KLXsNCit7CiAgICAg
ZGVidWcoIlN0YXJ0IHJlLWVudHJhbnQgSlMiKTsNCiAgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5k
TG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnb2JqZWN0U3RvcmUnXSwgSURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkiKTsNCiAgICAgZGVidWcoIkVuZCByZS1lbnRyYW50IEpTIik7
DQpAQCAtNjEsNyArNjEsNyBAQCBmdW5jdGlvbiBhYm9ydENhbGxiYWNrKCkKIA0KIHNldHVwKCk7
DQogDQotPC9zY3JpcHQ+DQotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+DQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4NCiA8
L2h0bWw+DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYWJvcnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWFib3J0Lmh0bWwKaW5kZXggNWZhOTAwMjA4YTVmYzgyYjYwZTg4NWJkY2QwOWQ1OTgwZTlj
MzA4Yy4uNDU1NDU3NzZjYzNhZTUxMGNlNjAwYjE0ODgzYjMzMTlkNDgxYWEzZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1s
CkBAIC0zMSw3ICszMSw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogZnVuY3Rpb24gZGVsZXRl
RXhpc3RpbmcoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uU3VjY2VzcygpOiIpOwotICAgIHdp
bmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwor
ICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKICAgICBzaG91bGRCZVRydWUoInRyYW5zICE9PSBudWxsIik7CiAgICAgdHJhbnMub25hYm9y
dCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29t
cGxldGUgPSBzdGFydFRlc3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sCmluZGV4IDk2NWMwYTk1Yjc0
NjUwMjA3YTg2ZjJjYmEzNmI4ZGE4MjQ1NTZhZTUuLmIxZjI1YjlhOTZlNTcxOWFjMmQ0OWFkY2Ji
YWY5NmE5YWE1MTE2OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbApAQCAtMjIsNyArMjIsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkNCiB7DQogICAgIGRlYnVnKCJv
cGVuU3VjY2VzcygpOiIpOw0KLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsNCisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOw0KICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRi
LnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7DQogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gaW5T
ZXRWZXJzaW9uOw0KICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCmluZGV4IGUwYmU5OTdk
MWVjMjJmZTYyYzdkOTc4MDFmYWQyMDQwYWU5ODYyMzguLjFkNTc0ZGMyNjNhNDE1MTlhYWQ0ZmE4
MjM0YjYzMWY0NDI1NmJhOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5o
dG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiBmdW5jdGlvbiBvcGVuU3Vj
Y2VzcygpCiB7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQu
cmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXN1bHQgPSBkYi5zZXRWZXJzaW9u
KCd2ZXJzaW9uIDEnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsK
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNp
Y3MtZXhwZWN0ZWQudHh0CmluZGV4IDMxZjA3Yjk3YjdkYTE0ZGU3ZDEzOGVjMGEwMmQ0ODQ3YmM1
NDJkNTkuLjJkYTdmM2MwMjJlYzVhYzgwY2NmM2M3YzE4MDhiYmI2OGMxYzIxNGUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtMTEsOSArMTEsOSBAQCBvcGVuU3VjY2VzcygpOgogZGIg
PSBldmVudC50YXJnZXQucmVzdWx0CiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAx
JykKIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCi1QQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9y
ZU5hbWVzIGlzIFtdCi1QQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAw
Ci1QQVNTIHdpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9yZUZhaWwnKSBp
cyBmYWxzZQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KK1BBU1Mgc2VsZi5k
Yi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAwCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVO
YW1lcy5jb250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UKIHJlcXVlc3QgPSBzdGFydFNldFZl
cnNpb24oJ3ZlcnNpb24gZmFpbCcpCiBhZGRSZW1vdmVJREJPYmplY3RzKCk6CiB0cmFucyA9IGV2
ZW50LnRhcmdldC5yZXN1bHQKQEAgLTI0LDkgKzI0LDkgQEAgZGIuZGVsZXRlT2JqZWN0U3RvcmUo
J3N0b3JlRmFpbCcpCiBzdG9yZS5kZWxldGVJbmRleCgnaW5kZXhGYWlsJykKIAogdGVzdFNldFZl
cnNpb25BYm9ydDIoKToKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KLVBB
U1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKLVBBU1Mgd2luZG93LmRi
Lm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCitQQVNTIHNl
bGYuZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbXQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFt
ZXMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdz
dG9yZUZhaWwnKSBpcyBmYWxzZQogcmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBm
YWlsJykKIGFkZFJlbW92ZUFkZElEQk9iamVjdHMoKToKIHRyYW5zID0gZXZlbnQudGFyZ2V0LnJl
c3VsdApAQCAtNDAsOSArNDAsOSBAQCBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZh
aWwnLCAneCcpCiAKIHRlc3RTZXRWZXJzaW9uQWJvcnQzKCk6CiBQQVNTIGV2ZW50LmNhbmNlbGFi
bGUgaXMgZmFsc2UKLVBBU1Mgd2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMgaXMgW10KLVBBU1Mg
d2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKLVBBU1Mgd2luZG93LmRiLm9i
amVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlRmFpbCcpIGlzIGZhbHNlCitQQVNTIHNlbGYu
ZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbXQorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMu
bGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZi5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdzdG9y
ZUZhaWwnKSBpcyBmYWxzZQogcmVxdWVzdCA9IHN0YXJ0U2V0VmVyc2lvbigndmVyc2lvbiBmYWls
JykKIGFkZElEQk9iamVjdHMoKToKIFBBU1MgZXZlbnQuY2FuY2VsYWJsZSBpcyBmYWxzZQpAQCAt
ODcsOSArODcsOSBAQCBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElE
QkRhdGFiYXNlRXhjZXB0aW9uLlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUgogCiB0ZXN0U2V0VmVy
c2lvbkFib3J0NCgpOgotUEFTUyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbXQotUEFT
UyB3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAotUEFTUyB3aW5kb3cuZGIu
b2JqZWN0U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmVGYWlsJykgaXMgZmFsc2UKK1BBU1Mgc2Vs
Zi5kYi5vYmplY3RTdG9yZU5hbWVzIGlzIFtdCitQQVNTIHNlbGYuZGIub2JqZWN0U3RvcmVOYW1l
cy5sZW5ndGggaXMgMAorUEFTUyBzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0
b3JlRmFpbCcpIGlzIGZhbHNlCiByZXF1ZXN0ID0gc3RhcnRTZXRWZXJzaW9uKCd2ZXJzaW9uIGZh
aWwnKQogYWRkSURCT2JqZWN0c0FuZENvbW1pdCgpOgogdHJhbnMgPSBldmVudC50YXJnZXQucmVz
dWx0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWJhc2ljcy5odG1sCmluZGV4IDlmNTk1MGE1NDc5NGEwZjAwMjg0OTg4YjJjNzcyM2YyZWNkNjA1
NWYuLjM5Yjg0OGM3MWIzMTk3NmJhZGE4Mzk3MjkzMDA4NmIzMTliMGY4NzggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1s
CkBAIC0yMiw3ICsyMiw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3Mo
KQ0KIHsNCiAgICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7DQotICAgIHdpbmRvdy5kYiA9IGV2
YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOw0KKyAgICBzZWxmLmRiID0gZXZh
bEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7DQogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykiKTsNCiAgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlOw0KICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsNCkBAIC0yMTUsOSArMjE1LDkgQEAgZnVuY3Rpb24gc3Rh
cnRTZXRWZXJzaW9uKHZlcnNpb25OYW1lKQogDQogZnVuY3Rpb24gY2hlY2tNZXRhZGF0YUVtcHR5
KCkNCiB7DQotICAgIHNob3VsZEJlKCJ3aW5kb3cuZGIub2JqZWN0U3RvcmVOYW1lcyIsICJbXSIp
Ow0KLSAgICBzaG91bGRCZSgid2luZG93LmRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAi
KTsNCi0gICAgc2hvdWxkQmUoIndpbmRvdy5kYi5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCdz
dG9yZUZhaWwnKSIsICJmYWxzZSIpOw0KKyAgICBzaG91bGRCZSgic2VsZi5kYi5vYmplY3RTdG9y
ZU5hbWVzIiwgIltdIik7DQorICAgIHNob3VsZEJlKCJzZWxmLmRiLm9iamVjdFN0b3JlTmFtZXMu
bGVuZ3RoIiwgIjAiKTsNCisgICAgc2hvdWxkQmUoInNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcy5j
b250YWlucygnc3RvcmVGYWlsJykiLCAiZmFsc2UiKTsNCiB9DQogDQogZnVuY3Rpb24gY2hlY2tN
ZXRhZGF0YUV4aXN0aW5nT2JqZWN0U3RvcmUoKQ0KQEAgLTIzOCwxMSArMjM4LDExIEBAIGZ1bmN0
aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKIHsNCiAgICAgZGVidWcoIiIpOw0KICAgICBkZWJ1Zygi
c2V0VmVyc2lvblN1Y2Nlc3MoKToiKTsNCi0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygi
dHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7DQorICAgIHNlbGYudHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsNCiAgICAgc2hvdWxkQmVUcnVlKCJ0
cmFucyAhPT0gbnVsbCIpOw0KICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2Fs
bGJhY2s7DQogICAgIHRyYW5zLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBsZXRlJywgY29tcGxldGVD
YWxsYmFjaywgZmFsc2UpOw0KLSAgICB3aW5kb3cuY29tcGxldGVFdmVudEZpcmVkID0gZmFsc2U7
DQorICAgIHNlbGYuY29tcGxldGVFdmVudEZpcmVkID0gZmFsc2U7DQogDQogICAgIGRlbGV0ZUFs
bE9iamVjdFN0b3JlcyhkYik7DQogDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0
ZWQudHh0CmluZGV4IDliNDNlNWEwOTQwOThhNGY2NmNkMTFmMjVmNjZmN2E5MDBmZDI3YjkuLjYz
NmM5YWU5NWVmM2U3NDk5YjYxZmM0NWNiZGMzZWRiOTMwMjk1YTYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgZGIgPSBldmVudC50
YXJnZXQucmVzdWx0CiBkYi5zZXRWZXJzaW9uKCcxLjAnKQogZGIuY3JlYXRlT2JqZWN0U3RvcmUo
J2ZvbycpCiBkYi50cmFuc2FjdGlvbignZm9vJykKLXdpbmRvdy5nYygpCitzZWxmLmdjKCkKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJv
cnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNo
LW9uLWFib3J0Lmh0bWwKaW5kZXggMzk1MzM3OWQzNzI5YTAyZTgyNTgzNGUwOGQzZWZmOTA1MzQz
MmRiNC4uMWNmNTI3YmViM2IxMGI4MDBjM2Q5NjM3Njg2Yjk2MGE3YmZmNzQ5ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJv
cnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC5odG1sCkBAIC0zMiw3ICszMiw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb25T
dWNjZXNzKCkKIHsKICAgICBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnZm9vJyki
KTsKICAgICBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbignZm9vJykiKTsKLSAgICBldmFsQW5k
TG9nKCJ3aW5kb3cuZ2MoKSIpOworICAgIGV2YWxBbmRMb2coInNlbGYuZ2MoKSIpOwogICAgIGZp
bmlzaEpTVGVzdCgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCBj
MzY3MjllNjdhNzMyZTkyMzg2NjIwNDhlNWQ0ZjNmYjE2YzRkZGI0Li5iNmI3ZWRkODZlMmQyN2Jj
MDVlNGE4YTRiM2UzYmYyNTk2ZDZhNDk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0
bWwKQEAgLTI5LDcgKzI5LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIGRl
bGV0ZUV4aXN0aW5nKCkKIHsKLSAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJh
bnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0g
bnVsbCIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAg
ICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gc3RhcnRUZXN0Iik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkLW9ubHkuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5o
dG1sCmluZGV4IDQwNjdhODFiOWIzNTNkZTQ2YWNiODE2N2I5N2NhY2RiM2JiMGNlOGYuLjAxMjU0
ZTQ0YjhiNjFjYzY1ZGU4NjI0MjRmNzNlNzE5NjI4OGQwNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCkBA
IC0yMiw3ICsyMiw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQ0K
IHsNCiAgICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7DQotICAgIHdpbmRvdy5kYiA9IGV2YWxB
bmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOw0KKyAgICBzZWxmLmRiID0gZXZhbEFu
ZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7DQogICAgIHJlcXVlc3QgPSBldmFsQW5k
TG9nKCJyZXN1bHQgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKSIpOw0KICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7DQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1yb2xsYmFjay5odG1sCmluZGV4IDcxNjJhNTBjYTljNWU4ZTE1
NGZjMTljMWE2MWJmMjZlMTRkZWM1MzIuLjg2NDFlZTMxMzQ1YzE4ZDUwODA5MjI4MTY1ODc5ZTg2
N2U0YzBiMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLXJvbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tcm9sbGJhY2suaHRtbApAQCAtMjIsNyArMjIsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToi
KTsKLSAgICB3aW5kb3cuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQi
KTsKKyAgICBzZWxmLmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCd2ZXJz
aW9uIDEnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsKICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTMxLDcgKzMxLDcg
QEAgZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCiB7CiAg
ICAgZGVidWcoImNsZWFuRGF0YWJhc2UoKToiKTsKLSAgICB3aW5kb3cudHJhbnNhY3Rpb24gPSBl
dmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBzZWxm
LnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVz
dWx0Iik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OwogICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBzZXRWZXJzaW9uQ29tcGxldGU7CiAKQEAg
LTQ0LDExICs0NCwxMSBAQCBmdW5jdGlvbiBzZXRWZXJzaW9uQ29tcGxldGUoKQogewogICAgIGRl
YnVnKCJzZXRWZXJzaW9uQ29tcGxldGUoKToiKTsKIAotICAgIHdpbmRvdy50cmFuc2FjdGlvbiA9
IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydteU9iamVjdFN0b3Jl
J10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgc2VsZi50cmFuc2FjdGlvbiA9
IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydteU9iamVjdFN0b3Jl
J10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9y
dCA9IGFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHVuZXhwZWN0
ZWRDb21wbGV0ZUNhbGxiYWNrOwogCi0gICAgd2luZG93LnN0b3JlID0gZXZhbEFuZExvZygic3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnbXlPYmplY3RTdG9yZScpIik7CisgICAgc2Vs
Zi5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ215
T2JqZWN0U3RvcmUnKSIpOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5hZGQoJ3Jv
bGxiYWNrVmFsdWUnLCAncm9sbGJhY2tLZXkxMjMnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gYWRkU3VjY2VzczsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKQEAgLTY3LDcgKzY3LDcgQEAgZnVuY3Rpb24gYWRkU3VjY2VzcygpCiBmdW5jdGlvbiBv
cGVuQ3Vyc29yU3VjY2VzcygpCiB7CiAgICAgZGVidWcoIm9wZW5DdXJzb3JTdWNjZXNzKCk6Iik7
Ci0gICAgd2luZG93LmN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQiKTsKKyAgICBzZWxmLmN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRh
cmdldC5yZXN1bHQiKTsKIAogICAgIHRyYW5zYWN0aW9uLmFib3J0KCk7CiB9CkBAIC03Nyw4ICs3
Nyw4IEBAIGZ1bmN0aW9uIGFib3J0Q2FsbGJhY2soKQogICAgIGRlYnVnKCJhYm9ydENhbGxiYWNr
KCk6Iik7CiAgICAgZGVidWcoJ1RyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLicpOwogCi0gICAgd2lu
ZG93LnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bihbJ215T2JqZWN0U3RvcmUnXSwgSURCVHJhbnNhY3Rpb24uUkVBRCkiKTsKLSAgICB3aW5kb3cu
c3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdteU9i
amVjdFN0b3JlJykiKTsKKyAgICBzZWxmLnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ215T2JqZWN0U3RvcmUnXSwgSURCVHJhbnNhY3Rpb24u
UkVBRCkiKTsKKyAgICBzZWxmLnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnbXlPYmplY3RTdG9yZScpIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coInN0b3JlLmdldCgncm9sbGJhY2tLZXkxMjMnKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZ2V0U3Vj
Y2VzczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLXN0b3JlTmFtZXMtcmVxdWlyZWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVxdWlyZWQuaHRtbAppbmRleCAzNTRmMTEwYTIy
MDk1Y2U2MTBjODkxMGY4ZTJjZmE2YjlmNjcyYjIyLi4yZjYwMTVhOTAzMjMyY2FkODQxYjUwMjFi
M2E3NDA0MWY0ODk5MWVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC5odG1sCkBA
IC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogewogICAgIHJlbW92ZVZlbmRvclByZWZp
eGVzKCk7CiAKLSAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIG5hbWUg
PSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwogICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0
YWJhc2UiOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBk
ZXNjcmlwdGlvbikiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lv
bi1jaGFuZ2VzLWV4cGVjdGVkLnR4dAppbmRleCAwMDVhNmExYjNhYTNmNDVmMmFhZWE3YTk5NDRj
NTU0NzIwMjIxYWU5Li42YTg4ZGFlODQ3OGZhMTBjOGNiMThjNGEwNDAzMDQ2ZDJhMjU5MGE1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lvbi1jaGFu
Z2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28t
dmVyc2lvbi1jaGFuZ2VzLWV4cGVjdGVkLnR4dApAQCAtOCwzMiArOCwzMiBAQCBQQVNTIEJvb2xl
YW4oaW5kZXhlZERCICYmIElEQkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJEYXRhYmFzZUVy
cm9yICYmIElEQkRhdAogCiBQQVNTIGluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCiBQQVNTIElE
QlRyYW5zYWN0aW9uID09IG51bGwgaXMgZmFsc2UKLXdpbmRvdy5zdGF0ZSA9ICdzdGFydGluZycK
K3NlbGYuc3RhdGUgPSAnc3RhcnRpbmcnCiBpbmRleGVkREIub3BlbigndHdvLXZlcnNpb25zLW9u
ZS1jb25uZWN0aW9uJykKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotd2luZG93LnN0YXRlID0g
MAorc2VsZi5zdGF0ZSA9IDAKIGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpCiBkYi5zZXRWZXJz
aW9uKCd2ZXJzaW9uIDInKQogc2V0VmVyc2lvbigpICMxIGNhbGxiYWNrCi13aW5kb3cuc3RvcmUx
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykKLVBBU1MgKyt3aW5kb3cuc3Rh
dGUgaXMgMQotd2luZG93LnN0b3JlMS5wdXQoJ2FhYScsIDExMSkKLVBBU1MgKyt3aW5kb3cuc3Rh
dGUgaXMgMgotUEFTUyArK3dpbmRvdy5zdGF0ZSBpcyAzCitzZWxmLnN0b3JlMSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpCitQQVNTICsrc2VsZi5zdGF0ZSBpcyAxCitzZWxm
LnN0b3JlMS5wdXQoJ2FhYScsIDExMSkKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDIKK1BBU1MgKytz
ZWxmLnN0YXRlIGlzIDMKIGhhbGZ3YXkgdGhlcmUuLi4KIHNldFZlcnNpb24oKSAjMiBjYWxsYmFj
awotUEFTUyArK3dpbmRvdy5zdGF0ZSBpcyA0Ci13aW5kb3cuc3RvcmUyID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykKLXdpbmRvdy5zdG9yZTIucHV0KCdiYmInLCAyMjIpCi1Q
QVNTICsrd2luZG93LnN0YXRlIGlzIDUKLVBBU1MgKyt3aW5kb3cuc3RhdGUgaXMgNgotUEFTUyB3
aW5kb3cuZGIudmVyc2lvbiBpcyAidmVyc2lvbiAyIgotd2luZG93LnRyYW5zID0gZGIudHJhbnNh
Y3Rpb24oWyd0ZXN0LXN0b3JlMScsICd0ZXN0LXN0b3JlMiddKQotd2luZG93LnN0b3JlID0gd2lu
ZG93LnRyYW5zLm9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpCi13aW5kb3cucmVxID0gd2luZG93
LnN0b3JlLmdldCgxMTEpCitQQVNTICsrc2VsZi5zdGF0ZSBpcyA0CitzZWxmLnN0b3JlMiA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMicpCitzZWxmLnN0b3JlMi5wdXQoJ2JiYics
IDIyMikKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDUKK1BBU1MgKytzZWxmLnN0YXRlIGlzIDYKK1BB
U1Mgc2VsZi5kYi52ZXJzaW9uIGlzICJ2ZXJzaW9uIDIiCitzZWxmLnRyYW5zID0gZGIudHJhbnNh
Y3Rpb24oWyd0ZXN0LXN0b3JlMScsICd0ZXN0LXN0b3JlMiddKQorc2VsZi5zdG9yZSA9IHNlbGYu
dHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykKK3NlbGYucmVxID0gc2VsZi5zdG9yZS5n
ZXQoMTExKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzICJhYWEiCi13aW5kb3cuc3RvcmUg
PSB3aW5kb3cudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykKLXdpbmRvdy5yZXEgPSB3
aW5kb3cuc3RvcmUuZ2V0KDIyMikKK3NlbGYuc3RvcmUgPSBzZWxmLnRyYW5zLm9iamVjdFN0b3Jl
KCd0ZXN0LXN0b3JlMicpCitzZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDIyMikKIFBBU1MgZXZl
bnQudGFyZ2V0LnJlc3VsdCBpcyAiYmJiIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lv
bi1jaGFuZ2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90d28tdmVyc2lv
bi1jaGFuZ2VzLmh0bWwKaW5kZXggZTgwZWFmZTBiYzhhMDY5MTRkMDVhNjY3MjM2YTZhNmFlNjNl
ZWI5My4uYTIxYWI3MDEwY2Q5NTZiMzQ3ZTEyNTBmMTI0MTk2MzE0MGI5OGRjZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHdvLXZlcnNpb24tY2hhbmdlcy5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R3by12ZXJzaW9uLWNoYW5nZXMu
aHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkgewogCiBmdW5jdGlvbiBvcGVu
REJDb25uZWN0aW9uKCkKIHsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnc3RhcnRp
bmcnIik7CisgICAgZXZhbEFuZExvZygic2VsZi5zdGF0ZSA9ICdzdGFydGluZyciKTsKICAgICB2
YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd0d28tdmVyc2lvbnMtb25l
LWNvbm5lY3Rpb24nKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CiAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0yOSw4ICsy
OSw4IEBAIGZ1bmN0aW9uIG9wZW5EQkNvbm5lY3Rpb24oKQogCiBmdW5jdGlvbiBvcGVuU3VjY2Vz
cygpCiB7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVz
dWx0Iik7Ci0gICAgZXZhbEFuZExvZygid2luZG93LnN0YXRlID0gMCIpOworICAgIHNlbGYuZGIg
PSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBldmFsQW5kTG9n
KCJzZWxmLnN0YXRlID0gMCIpOwogCiAgICAgdmFyIHZlcnNpb25DaGFuZ2VSZXF1ZXN0MSA9IGV2
YWxBbmRMb2coImRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7CiAgICAgdmVyc2lvbkNoYW5n
ZVJlcXVlc3QxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTQ2LDEyICs0
NiwxMiBAQCBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiBmdW5jdGlvbiBpblNldFZlcnNpb24xKCkK
IHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbigpICMxIGNhbGxiYWNrIik7Ci0gICAgZXZhbEFuZExv
Zygid2luZG93LnN0b3JlMSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7
Ci0gICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjEiKTsKLSAgICB2YXIgcmVxID0gZXZh
bEFuZExvZygid2luZG93LnN0b3JlMS5wdXQoJ2FhYScsIDExMSkiKTsKKyAgICBldmFsQW5kTG9n
KCJzZWxmLnN0b3JlMSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMScpIik7Cisg
ICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0ZSIsICIxIik7CisgICAgdmFyIHJlcSA9IGV2YWxBbmRM
b2coInNlbGYuc3RvcmUxLnB1dCgnYWFhJywgMTExKSIpOwogICAgIHJlcS5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgcmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uIChlKSB7
Ci0gICAgICAgIHNob3VsZEJlKCIrK3dpbmRvdy5zdGF0ZSIsICIyIik7CisgICAgICAgIHNob3Vs
ZEJlKCIrK3NlbGYuc3RhdGUiLCAiMiIpOwogICAgICAgICBoYWxmd2F5RG9uZSgpOwogICAgIH07
CiB9CkBAIC01OSwxMyArNTksMTMgQEAgZnVuY3Rpb24gaW5TZXRWZXJzaW9uMSgpCiBmdW5jdGlv
biBpblNldFZlcnNpb24yKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbigpICMyIGNhbGxiYWNr
Iik7Ci0gICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjQiKTsKLSAgICBldmFsQW5kTG9n
KCJ3aW5kb3cuc3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUyJykiKTsK
KyAgICBzaG91bGRCZSgiKytzZWxmLnN0YXRlIiwgIjQiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxm
LnN0b3JlMiA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMicpIik7CiAKLSAgICB2
YXIgcmVxID0gZXZhbEFuZExvZygid2luZG93LnN0b3JlMi5wdXQoJ2JiYicsIDIyMikiKTsKKyAg
ICB2YXIgcmVxID0gZXZhbEFuZExvZygic2VsZi5zdG9yZTIucHV0KCdiYmInLCAyMjIpIik7CiAg
ICAgcmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICByZXEub25zdWNj
ZXNzID0gZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwg
IjUiKTsKKyAgICAgICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0ZSIsICI1Iik7CiAgICAgICAgIGhh
bGZ3YXlEb25lKCk7CiAgICAgfTsKIH0KQEAgLTc1LDI1ICs3NSwyNSBAQCBmdW5jdGlvbiBoYWxm
d2F5RG9uZSgpCiB7CiAgICAgY291bnRlciArPSAxOwogICAgIGlmIChjb3VudGVyIDwgMikgewot
ICAgICAgICBzaG91bGRCZSgiKyt3aW5kb3cuc3RhdGUiLCAiMyIpOworICAgICAgICBzaG91bGRC
ZSgiKytzZWxmLnN0YXRlIiwgIjMiKTsKICAgICAgICAgZGVidWcoImhhbGZ3YXkgdGhlcmUuLi4i
ICk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgc2hvdWxkQmUoIisrd2luZG93LnN0YXRlIiwgIjYi
KTsKKyAgICAgICAgc2hvdWxkQmUoIisrc2VsZi5zdGF0ZSIsICI2Iik7CiAgICAgICAgIGNoZWNr
UmVzdWx0cygpOwogICAgIH0KIH0KIAogZnVuY3Rpb24gY2hlY2tSZXN1bHRzKCkgewotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmRiLnZlcnNpb24iLCAidmVyc2lvbiAyIik7Ci0g
ICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ3aW5kb3cudHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3Rl
c3Qtc3RvcmUxJywgJ3Rlc3Qtc3RvcmUyJ10pIik7Ci0gICAgc3RvcmUgPSBldmFsQW5kTG9nKCJ3
aW5kb3cuc3RvcmUgPSB3aW5kb3cudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJykiKTsK
LSAgICByZXEgPSBldmFsQW5kTG9nKCJ3aW5kb3cucmVxID0gd2luZG93LnN0b3JlLmdldCgxMTEp
Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWxmLmRiLnZlcnNpb24iLCAidmVyc2lv
biAyIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJzZWxmLnRyYW5zID0gZGIudHJhbnNhY3Rp
b24oWyd0ZXN0LXN0b3JlMScsICd0ZXN0LXN0b3JlMiddKSIpOworICAgIHN0b3JlID0gZXZhbEFu
ZExvZygic2VsZi5zdG9yZSA9IHNlbGYudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUxJyki
KTsKKyAgICByZXEgPSBldmFsQW5kTG9nKCJzZWxmLnJlcSA9IHNlbGYuc3RvcmUuZ2V0KDExMSki
KTsKICAgICByZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcS5v
bnN1Y2Nlc3MgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImV2ZW50LnRhcmdldC5yZXN1bHQiLCAiYWFhIik7CiAKLSAgICAgICAgc3RvcmUgPSBldmFsQW5k
TG9nKCJ3aW5kb3cuc3RvcmUgPSB3aW5kb3cudHJhbnMub2JqZWN0U3RvcmUoJ3Rlc3Qtc3RvcmUy
JykiKTsKLSAgICAgICAgcmVxID0gZXZhbEFuZExvZygid2luZG93LnJlcSA9IHdpbmRvdy5zdG9y
ZS5nZXQoMjIyKSIpOworICAgICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInNlbGYuc3RvcmUgPSBz
ZWxmLnRyYW5zLm9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlMicpIik7CisgICAgICAgIHJlcSA9IGV2
YWxBbmRMb2coInNlbGYucmVxID0gc2VsZi5zdG9yZS5nZXQoMjIyKSIpOwogICAgICAgICByZXEu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgICAgICByZXEub25zdWNjZXNz
ID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZl
bnQudGFyZ2V0LnJlc3VsdCIsICJiYmIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3ZhbHVlLXVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLmh0bWwKaW5kZXggYmE5NjdhNWE5NjNlMGRhNDc4ZTVl
MmE5ODE0MzRkNjlkMThhOWMyNi4uOTYwODk3ZDUwNTI2OWI3ZTAzNGI0MDI0YmE4NmY1NWZmNWY1
ODg1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5k
ZWZpbmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWUtdW5k
ZWZpbmVkLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgcmVt
b3ZlVmVuZG9yUHJlZml4ZXMoKTsKIAotICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5h
bWU7CisgICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7CiAgICAgZGVzY3JpcHRpb24g
PSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWRE
Qi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3Bl
blN1Y2Nlc3M7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1
ZXMtb2RkLXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92YWx1ZXMt
b2RkLXR5cGVzLmh0bWwKaW5kZXggMTQ4ZTg4NDY2ZTdiZTJjMWY2ZjI5MGMwNTBlMmQ3YmU5MmJk
NGVkNy4uZmRlYTBjNWJmMDJkMDcwZmI4OGI2NzA4NWJhZjBlZWQyZGY2YTkwOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmFsdWVzLW9kZC10eXBlcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMuaHRtbApA
QCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICByZW1vdmVWZW5kb3JQcmVm
aXhlcygpOwogCi0gICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBuYW1l
ID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKICAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERh
dGFiYXNlIjsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwg
ZGVzY3JpcHRpb24pIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFi
b3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1h
Ym9ydC5odG1sCmluZGV4IGI1YjI5ZWRjODkxNjcwNTNlZWNmNjZjMmM1ZWZhZjc5Y2FiYWQzMDMu
LmY2MzI3MGI3M2ZhM2MyNDY1MThhNTYzNDc5MzNlODVjMTVhNjBmMmEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQuaHRt
bApAQCAtMjYsNyArMjYsNyBAQCBmdW5jdGlvbiBvcGVuREJDb25uZWN0aW9uKCkKIAogZnVuY3Rp
b24gb3BlblN1Y2Nlc3MoKQogewotICAgIHdpbmRvdy5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZl
bnQudGFyZ2V0LnJlc3VsdCIpOworICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsKICAgICBkZWJ1ZygiIik7CiAKICAgICBldmFsQW5kTG9nKCJ2Y3Jl
cSA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7CkBAIC03MSw4ICs3MSw4IEBAIGZ1bmN0
aW9uIGluU2V0VmVyc2lvbjIoKQogICAgIGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlMicpIik7CiAKICAgICAvLyBFbnN1cmUgdGhlIHRlc3QgaGFybmVzcyBl
cnJvciBoYW5kbGVyIGlzIG5vdCBpbnZva2VkLgotICAgIHdpbmRvdy5vcmlnaW5hbFdpbmRvd09u
RXJyb3IgPSB3aW5kb3cub25lcnJvcjsKLSAgICB3aW5kb3cub25lcnJvciA9IG51bGw7CisgICAg
c2VsZi5vcmlnaW5hbFdpbmRvd09uRXJyb3IgPSBzZWxmLm9uZXJyb3I7CisgICAgc2VsZi5vbmVy
cm9yID0gbnVsbDsKIAogICAgIGRlYnVnKCJyYWlzaW5nIGV4Y2VwdGlvbiIpOwogICAgIHRocm93
IG5ldyBFcnJvcigiVGhpcyBzaG91bGQgKk5PVCogYmUgY2F1Z2h0ISIpOwpAQCAtODQsNyArODQs
NyBAQCBmdW5jdGlvbiBzZXRWZXJzaW9uMkFib3J0KCkKICAgICBkZWJ1Zygic2V0VmVyc2lvbjJB
Ym9ydCgpIGNhbGxiYWNrIik7CiAKICAgICAvLyBSZXN0b3JlIHRlc3QgaGFybmVzcyBlcnJvciBo
YW5kbGVyLgotICAgIHdpbmRvdy5vbmVycm9yID0gd2luZG93Lm9yaWdpbmFsV2luZG93T25FcnJv
cjsKKyAgICBzZWxmLm9uZXJyb3IgPSBzZWxmLm9yaWdpbmFsV2luZG93T25FcnJvcjsKIAogICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIudmVyc2lvbiIsICJ2ZXJzaW9uIDEiKTsKICAgICBz
aG91bGRCZVRydWUoImRiLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMScpIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1l
eGNsdXNpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVy
c2lvbi1jaGFuZ2UtZXhjbHVzaXZlLWV4cGVjdGVkLnR4dAppbmRleCBiMWNlN2QwNTA3MTlhYWU4
ODQ5NzQxMGJiYTE3OWJlMDlmZDZjZjk5Li43MTIwOTlmZDg1MmFkYmRkNGM4ZGM5ZGE5MzgyZDY5
NjQxM2NhN2ViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJz
aW9uLWNoYW5nZS1leGNsdXNpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS1leHBlY3RlZC50eHQKQEAgLTYs
NyArNiw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBpbmRleGVkREIgPSBzZWxmLmluZGV4
ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxm
Lm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKIFBBU1MgQm9vbGVhbihpbmRleGVkREIg
JiYgSURCQ3Vyc29yICYmIElEQkRhdGFiYXNlICYmIElEQkRhdGFiYXNlRXJyb3IgJiYgSURCRGF0
YWJhc2VFeGNlcHRpb24gJiYgSURCRmFjdG9yeSAmJiBJREJJbmRleCAmJiBJREJLZXlSYW5nZSAm
JiBJREJPYmplY3RTdG9yZSAmJiBJREJSZXF1ZXN0ICYmIElEQlRyYW5zYWN0aW9uKSBpcyB0cnVl
CiAKLXdpbmRvdy5zdGF0ZSA9ICdzdGFydGluZycKK3NlbGYuc3RhdGUgPSAnc3RhcnRpbmcnCiBp
bmRleGVkREIub3BlbigndmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlJykKIGRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdAogY2FsbGluZyBzZXRWZXJzaW9uKCkgLSBjYWxsYmFjayBzaG91bGQgcnVuIGlt
bWVkaWF0ZWx5CkBAIC0xNSw3ICsxNSw3IEBAIGNhbGxpbmcgb3BlbigpIC0gY2FsbGJhY2sgc2hv
dWxkIHdhaXQgdW50aWwgVkVSU0lPTl9DSEFOR0UgdHJhbnNhY3Rpb24gaXMgY29tcGxlCiBpbmRl
eGVkREIub3BlbigndmVyc2lvbi1jaGFuZ2UtZXhjbHVzaXZlJykKIHNldFZlcnNpb24oKSBjYWxs
YmFjawogc3RhcnRpbmcgd29yayBpbiBWRVJTSU9OX0NIQU5HRSB0cmFuc2FjdGlvbgotd2luZG93
LnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIHN0YXJ0ZWQnCitzZWxmLnN0YXRlID0gJ1ZFUlNJT05f
Q0hBTkdFIHN0YXJ0ZWQnCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3Jl
JykKIHN0b3JlLnB1dCgwLCAwKQogaW4gcHV0J3Mgb25zdWNjZXNzCkBAIC0zOCw5ICszOCw5IEBA
IGluIHB1dCdzIG9uc3VjY2Vzcwogc3RvcmUucHV0KDksIDkpCiBpbiBwdXQncyBvbnN1Y2Nlc3MK
IGVuZGluZyB3b3JrIGluIFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uCi13aW5kb3cuc3RhdGUg
PSAnVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQnCitzZWxmLnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdF
IGZpbmlzaGVkJwogb3BlbigpIGNhbGxiYWNrIC0gdGhpcyBzaG91bGQgYXBwZWFyIGFmdGVyIFZF
UlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIGVuZHMKLVBBU1Mgd2luZG93LnN0YXRlIGlzICJWRVJT
SU9OX0NIQU5HRSBmaW5pc2hlZCIKK1BBU1Mgc2VsZi5zdGF0ZSBpcyAiVkVSU0lPTl9DSEFOR0Ug
ZmluaXNoZWQiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExF
VEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hh
bmdlLWV4Y2x1c2l2ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwKaW5kZXggOGRkYjYyYzJmZWM4ODc0OTExMTYzYjI1OTZl
ODVkYmMyMDE3ZTVjYS4uMmZjMjVmYmFhNTBjY2Q3MDU1ZDRiODEzZTA4NmI2NTY4ZTE1YmM4NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2Ut
ZXhjbHVzaXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lv
bi1jaGFuZ2UtZXhjbHVzaXZlLmh0bWwKQEAgLTE4LDcgKzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgp
IHsKIAogZnVuY3Rpb24gb3BlbkRCQ29ubmVjdGlvbigpCiB7Ci0gICAgZXZhbEFuZExvZygid2lu
ZG93LnN0YXRlID0gJ3N0YXJ0aW5nJyIpOworICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAn
c3RhcnRpbmcnIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCd2
ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUnKSIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3Bl
blN1Y2Nlc3M7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
CkBAIC0yNiw3ICsyNiw3IEBAIGZ1bmN0aW9uIG9wZW5EQkNvbm5lY3Rpb24oKQogCiBmdW5jdGlv
biBvcGVuU3VjY2VzcygpCiB7Ci0gICAgd2luZG93LmRiID0gZXZhbEFuZExvZygiZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CisgICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdCIpOwogCiAgICAgZGVidWcoImNhbGxpbmcgc2V0VmVyc2lvbigpIC0gY2Fs
bGJhY2sgc2hvdWxkIHJ1biBpbW1lZGlhdGVseSIpOwogICAgIHZhciB2ZXJzaW9uQ2hhbmdlUmVx
dWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7CkBAIC00NSwx
MCArNDUsMTAgQEAgZnVuY3Rpb24gaW5TZXRWZXJzaW9uKCkKIHsKICAgICBkZWJ1Zygic2V0VmVy
c2lvbigpIGNhbGxiYWNrIik7CiAgICAgZGVidWcoInN0YXJ0aW5nIHdvcmsgaW4gVkVSU0lPTl9D
SEFOR0UgdHJhbnNhY3Rpb24iKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuc3RhdGUgPSAnVkVS
U0lPTl9DSEFOR0Ugc3RhcnRlZCciKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmLnN0YXRlID0gJ1ZF
UlNJT05fQ0hBTkdFIHN0YXJ0ZWQnIik7CiAKLSAgICB3aW5kb3cuc3RvcmUgPSBldmFsQW5kTG9n
KCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlJykiKTsKLSAgICB3aW5k
b3cuY291bnQgPSAwOworICAgIHNlbGYuc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCd0ZXN0LXN0b3JlJykiKTsKKyAgICBzZWxmLmNvdW50ID0gMDsKICAg
ICBkb19hc3luY19wdXRzKCk7CiAKICAgICBmdW5jdGlvbiBkb19hc3luY19wdXRzKCkgewpAQCAt
NTYsMTEgKzU2LDExIEBAIGZ1bmN0aW9uIGluU2V0VmVyc2lvbigpCiAgICAgICAgIHJlcS5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSBm
dW5jdGlvbiAoZSkgewogICAgICAgICAgICAgZGVidWcoImluIHB1dCdzIG9uc3VjY2VzcyIpOwot
ICAgICAgICAgICAgaWYgKCsrd2luZG93LmNvdW50IDwgMTApIHsKKyAgICAgICAgICAgIGlmICgr
K3NlbGYuY291bnQgPCAxMCkgewogICAgICAgICAgICAgICAgIGRvX2FzeW5jX3B1dHMoKTsKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgZGVidWcoImVuZGluZyB3b3JrIGlu
IFZFUlNJT05fQ0hBTkdFIHRyYW5zYWN0aW9uIik7Ci0gICAgICAgICAgICAgICAgZXZhbEFuZExv
Zygid2luZG93LnN0YXRlID0gJ1ZFUlNJT05fQ0hBTkdFIGZpbmlzaGVkJyIpOworICAgICAgICAg
ICAgICAgIGV2YWxBbmRMb2coInNlbGYuc3RhdGUgPSAnVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQn
Iik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAgICAgfQpAQCAtNjksNyArNjksNyBAQCBm
dW5jdGlvbiBpblNldFZlcnNpb24oKQogZnVuY3Rpb24gb3BlbkFnYWluU3VjY2VzcygpCiB7CiAg
ICAgZGVidWcoIm9wZW4oKSBjYWxsYmFjayAtIHRoaXMgc2hvdWxkIGFwcGVhciBhZnRlciBWRVJT
SU9OX0NIQU5HRSB0cmFuc2FjdGlvbiBlbmRzIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ3aW5kb3cuc3RhdGUiLCAiVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInNlbGYuc3RhdGUiLCAiVkVSU0lPTl9DSEFOR0UgZmluaXNoZWQiKTsK
ICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0
LWFjdGl2ZWRvbW9iamVjdC1leHBlY3RlZC50eHQKaW5kZXggZDQ3MDM4NzQ5ZjkxMzU1Mjc4ODhm
YzIxZjkwNmZkYjU4NjRhODViZS4uM2Y0OGNjZDA1YWI2ZGQ0ZjZlZjA5NGU5MTlmNWIyYTA5OWEy
ZDk1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbmNo
YW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3Qt
ZXhwZWN0ZWQudHh0CkBAIC03LDE4ICs3LDE4IEBAIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERC
IHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYuCiBQ
QVNTIEJvb2xlYW4oaW5kZXhlZERCICYmIElEQkN1cnNvciAmJiBJREJEYXRhYmFzZSAmJiBJREJE
YXRhYmFzZUVycm9yICYmIElEQkRhdGFiYXNlRXhjZXB0aW9uICYmIElEQkZhY3RvcnkgJiYgSURC
SW5kZXggJiYgSURCS2V5UmFuZ2UgJiYgSURCT2JqZWN0U3RvcmUgJiYgSURCUmVxdWVzdCAmJiBJ
REJUcmFuc2FjdGlvbikgaXMgdHJ1ZQogCiAKLXdpbmRvdy5kYm5hbWUgPSAndmVyc2lvbmNoYW5n
ZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0Jworc2VsZi5kYm5hbWUgPSAndmVyc2lvbmNoYW5nZXJl
cXVlc3QtYWN0aXZlZG9tb2JqZWN0JwogCiB0ZXN0RGVsZXRlRGF0YWJhc2UoKToKLWluZGV4ZWRE
Qi5kZWxldGVEYXRhYmFzZSh3aW5kb3cuZGJuYW1lKQotd2luZG93LmdjKCkKK2luZGV4ZWREQi5k
ZWxldGVEYXRhYmFzZShzZWxmLmRibmFtZSkKK3NlbGYuZ2MoKQogUEFTUyBkZWxldGVEYXRhYmFz
ZSdzIElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0Lm9uc3VjY2VzcyBldmVudCBmaXJlZAogCiB0ZXN0
U2V0VmVyc2lvbigpOgotb3BlblJlcXVlc3QgPSBpbmRleGVkREIub3Blbih3aW5kb3cuZGJuYW1l
KQorb3BlblJlcXVlc3QgPSBpbmRleGVkREIub3BlbihzZWxmLmRibmFtZSkKIGRiID0gb3BlblJl
cXVlc3QucmVzdWx0CiBkYi5zZXRWZXJzaW9uKCcxJykKLXdpbmRvdy5nYygpCitzZWxmLmdjKCkK
IFBBU1Mgc2V0VmVyc2lvbidzIElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0Lm9uc3VjY2VzcyBldmVu
dCBmaXJlZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVk
b21vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFu
Z2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC5odG1sCmluZGV4IGYxYjVjZGQwYWExYjczYzhhNGQ2
OGY5NGZkNGI3Y2ZhODhlYzNhOTcuLmQxMGE2YTdkNTk3MzU0ZmE1N2M1ZDIxN2Y5MDgxODZjZDU2
NTU2MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25j
aGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC5odG1sCkBA
IC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgcmVtb3ZlVmVuZG9yUHJlZml4
ZXMoKTsKIAogICAgIGRlYnVnKCIiKTsKLSAgICBldmFsQW5kTG9nKCJ3aW5kb3cuZGJuYW1lID0g
J3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdCciKTsKKyAgICBldmFsQW5kTG9n
KCJzZWxmLmRibmFtZSA9ICd2ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21vYmplY3QnIik7
CiAKICAgICB0ZXN0RGVsZXRlRGF0YWJhc2UoKTsKIH0KQEAgLTI1LDEzICsyNSwxMyBAQCBmdW5j
dGlvbiB0ZXN0RGVsZXRlRGF0YWJhc2UoKQogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygidGVz
dERlbGV0ZURhdGFiYXNlKCk6Iik7CiAgICAgLy8gTk9URTogZGVsZXRlUmVxdWVzdCBpcyBsb2Nh
bCB2YXJpYWJsZSBzbyBpdCBpcyBub3QgY2FwdHVyZWQgaW4gZ2xvYmFsIHNjb3BlLgotICAgIHZh
ciBkZWxldGVSZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKHdp
bmRvdy5kYm5hbWUpIik7CisgICAgdmFyIGRlbGV0ZVJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIuZGVsZXRlRGF0YWJhc2Uoc2VsZi5kYm5hbWUpIik7CiAgICAgZGVsZXRlUmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgZGVsZXRlUmVxdWVzdC5vbmJs
b2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogICAgIGRlbGV0ZVJlcXVlc3Qub25z
dWNjZXNzID0gZnVuY3Rpb24oKSB7IGRlbGV0ZVN1Y2Nlc3MoKTsgfTsKICAgICBkZWxldGVSZXF1
ZXN0ID0gbnVsbDsKLSAgICBpZiAod2luZG93LmdjKSB7Ci0gICAgICAgIGV2YWxBbmRMb2coIndp
bmRvdy5nYygpIik7CisgICAgaWYgKHNlbGYuZ2MpIHsKKyAgICAgICAgZXZhbEFuZExvZygic2Vs
Zi5nYygpIik7CiAgICAgfQogfQogCkBAIC00Nyw3ICs0Nyw3IEBAIGZ1bmN0aW9uIHRlc3RTZXRW
ZXJzaW9uKCkKICAgICBkZWJ1ZygidGVzdFNldFZlcnNpb24oKToiKTsKIAogICAgIC8vIE5PVEU6
IFRoaXMgaXMganVzdCBhbiBJREJSZXF1ZXN0LCBpdCBjYW4gYmUgZ2xvYmFsLgotICAgIGV2YWxB
bmRMb2coIm9wZW5SZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4od2luZG93LmRibmFtZSkiKTsKKyAg
ICBldmFsQW5kTG9nKCJvcGVuUmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKHNlbGYuZGJuYW1lKSIp
OwogICAgIG9wZW5SZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAg
ICBvcGVuUmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgIGV2YWxBbmRM
b2coImRiID0gb3BlblJlcXVlc3QucmVzdWx0Iik7CkBAIC01OCw4ICs1OCw4IEBAIGZ1bmN0aW9u
IHRlc3RTZXRWZXJzaW9uKCkKICAgICAgICAgdmVyc2lvblJlcXVlc3Qub25ibG9ja2VkID0gdW5l
eHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKICAgICAgICAgdmVyc2lvblJlcXVlc3Qub25zdWNjZXNz
ID0gZnVuY3Rpb24oKSB7IHZlcnNpb25TdWNjZXNzKCk7IH07CiAgICAgICAgIHZlcnNpb25SZXF1
ZXN0ID0gbnVsbDsKLSAgICAgICAgaWYgKHdpbmRvdy5nYykgewotICAgICAgICAgICAgZXZhbEFu
ZExvZygid2luZG93LmdjKCkiKTsKKyAgICAgICAgaWYgKHNlbGYuZ2MpIHsKKyAgICAgICAgICAg
IGV2YWxBbmRMb2coInNlbGYuZ2MoKSIpOwogICAgICAgICB9CiAgICAgfTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>