<?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>218308</bug_id>
          
          <creation_ts>2020-10-28 15:13:00 -0700</creation_ts>
          <short_desc>Resync web-platform-tests/payment-request tests from upstream</short_desc>
          <delta_ts>2020-11-02 14:36:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=175611</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>marcos</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1702516</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 15:13:00 -0700</bug_when>
    <thetext>Resync web-platform-tests/payment-request tests from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702518</commentid>
    <comment_count>1</comment_count>
      <attachid>412576</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-28 15:21:23 -0700</bug_when>
    <thetext>Created attachment 412576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702732</commentid>
    <comment_count>2</comment_count>
      <attachid>412652</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-29 08:36:42 -0700</bug_when>
    <thetext>Created attachment 412652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702757</commentid>
    <comment_count>3</comment_count>
      <attachid>412652</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-10-29 09:33:37 -0700</bug_when>
    <thetext>Comment on attachment 412652
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702836</commentid>
    <comment_count>4</comment_count>
      <attachid>412677</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-29 13:21:15 -0700</bug_when>
    <thetext>Created attachment 412677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702840</commentid>
    <comment_count>5</comment_count>
      <attachid>412677</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-29 13:24:02 -0700</bug_when>
    <thetext>Comment on attachment 412677
Patch

Clearing flags on attachment: 412677

Committed r269164: &lt;https://trac.webkit.org/changeset/269164&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702841</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-29 13:24:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702843</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-29 13:25:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/70822990&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703705</commentid>
    <comment_count>8</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-11-02 14:31:18 -0800</bug_when>
    <thetext>imported/w3c/web-platform-tests/payment-request/show-method-optional-promise-rejects.https.html

is a flaky failure after its move.



 Diff:
--- /Volumes/Data/slave/catalina-release-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/payment-request/show-method-optional-promise-rejects.https-expected.txt
+++ /Volumes/Data/slave/catalina-release-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/payment-request/show-method-optional-promise-rejects.https-actual.txt
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: Unhandled Promise Rejection: SyntaxError: test
 
 FAIL Rejection of detailsPromise must abort the update with an &apos;AbortError&apos; DOMException. promise_rejects_dom: badDetails must cause acceptPromise to reject with expectedError function &quot;function () { throw e }&quot; threw object &quot;SecurityError: show() must be triggered by user activation.&quot; that is not a DOMException AbortError: property &quot;code&quot; is equal to 18, expected 20
 FAIL Total in the update is a string, so converting to IDL must abort the update with a TypeError. promise_rejects_js: badDetails must cause acceptPromise to reject with expectedError function &quot;function () { throw e }&quot; threw object &quot;SecurityError: show() must be triggered by user activation.&quot; (&quot;SecurityError&quot;) expected instance of function &quot;function TypeError() {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703706</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-11-02 14:36:00 -0800</bug_when>
    <thetext>(In reply to Truitt Savell from comment #8)
&gt; imported/w3c/web-platform-tests/payment-request/show-method-optional-promise-
&gt; rejects.https.html
&gt; 
&gt; is a flaky failure after its move.
&gt; 
&gt; 
&gt; 
&gt;  Diff:
&gt; ---
&gt; /Volumes/Data/slave/catalina-release-tests-wk2/build/layout-test-results/
&gt; imported/w3c/web-platform-tests/payment-request/show-method-optional-promise-
&gt; rejects.https-expected.txt
&gt; +++
&gt; /Volumes/Data/slave/catalina-release-tests-wk2/build/layout-test-results/
&gt; imported/w3c/web-platform-tests/payment-request/show-method-optional-promise-
&gt; rejects.https-actual.txt
&gt; @@ -1,3 +1,4 @@
&gt; +CONSOLE MESSAGE: Unhandled Promise Rejection: SyntaxError: test
&gt;  
&gt;  FAIL Rejection of detailsPromise must abort the update with an &apos;AbortError&apos;
&gt; DOMException. promise_rejects_dom: badDetails must cause acceptPromise to
&gt; reject with expectedError function &quot;function () { throw e }&quot; threw object
&gt; &quot;SecurityError: show() must be triggered by user activation.&quot; that is not a
&gt; DOMException AbortError: property &quot;code&quot; is equal to 18, expected 20
&gt;  FAIL Total in the update is a string, so converting to IDL must abort the
&gt; update with a TypeError. promise_rejects_js: badDetails must cause
&gt; acceptPromise to reject with expectedError function &quot;function () { throw e
&gt; }&quot; threw object &quot;SecurityError: show() must be triggered by user
&gt; activation.&quot; (&quot;SecurityError&quot;) expected instance of function &quot;function
&gt; TypeError() {

Fixed in &lt;https://trac.webkit.org/changeset/269276&gt;, thanks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412576</attachid>
            <date>2020-10-28 15:21:23 -0700</date>
            <delta_ts>2020-10-29 08:36:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218308-20201028152122.patch</filename>
            <type>text/plain</type>
            <size>264396</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzZlNjkwZjZkYjdjNTAyOWM3M2Nk
NzNiMWZlOGNkNGM1M2IxZmI4Ni4uYWQxYWVjMDk4MGVhZDFmNzNiNWZjYzFlODk1ZGFmNTBlN2Vj
OWU3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QgdGVzdHMgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU2tpcCBhIGZldyBuZXcgdGVzdHMgdGhhdCBhcmUgZmFp
bGluZy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMTAtMjgg
IFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVjZSBQcmVmZXJl
bmNlIE92ZXJyaWRlIE1ldGhvZHM6IFRhYnNUb0xpbmtzL1NwYXRpYWxOYXZpZ2F0aW9uCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA0NDY5ZDlmMWJiY2IzMDlhZjMxOTNkNWEwNzgx
ZmRmYmIxYzEzNWEwLi5lZTRlZWY2MWYwZWJlZGUwZDgzOTJjNjU5MDZmNjRhNzQ4ZTIwNjYyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMC0y
OCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0IHRlc3RzIGZyb20gdXBzdHJlYW0KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODMwOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc3luYyB3ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0IHRlc3RzIGZyb20gdXBzdHJlYW0gMzI2ZjEzN2Yy
YzNkMjNjLgorCisgICAgICAgIEl0IGRyb3BzIGEgbG90IG9mIG1hbnVhbCB0ZXN0cyB0b28sIG5v
dyB0aGF0IG91ciB0ZXN0IGltcG9ydGVyIGlzIHNtYXJ0IGVub3VnaCBub3QgdG8KKyAgICAgICAg
aW1wb3J0IHRoZW0uCisKKyAgICAgICAgKiByZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbjoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0Lyo6IFVwZGF0ZWQu
CisKIDIwMjAtMTAtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBBdWRpb0J1ZmZlciBjaGFubmVscyBzaG91bGQgYmUgbmV1dGVyYWJsZSAvIGRldGFjaGFibGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2Ut
ZmlsZXMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2Ut
ZmlsZXMuanNvbgppbmRleCBiZmVhMWE5NWY0M2RlZGVjZWQ2Yzk3MGIzNjE0YmQ2Nzg3ZTA0Mjdm
Li4zOWY5MGJkZTdmMjYzOTg0OGY3NjY3OTIwMDQ3MDc2MzIwOTg1NDlhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb24KKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29u
CkBAIC0yNTY3LDYgKzI1NjcsNyBAQAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21hdGht
bC9yZWxhdGlvbnMvaHRtbDUtdHJlZS91bmlxdWUtaWRlbnRpZmllci0xLWlmcmFtZS0yLmh0bWwi
LAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvc3VwcG9y
dC9NZWRpYVJlY29yZGVyLWlmcmFtZS5odG1sIiwKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYXNlc3Npb24vaGVscGVyL2FydHdvcmstZ2VuZXJhdG9yLmh0bWwiLAorICAgICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvZWNoby1QYXlt
ZW50UmVxdWVzdC5odG1sIiwKICAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvYWxsb3dwYXltZW50cmVxdWVzdC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwiLAogICAg
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9ibGFuay5odG1sIiwKICAg
ICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0
LXJlc3BvbnNlLWlkLmh0bWwiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudEFkZHJlc3MvYXR0cmli
dXRlcy1hbmQtdG9KU09OLW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRBZGRy
ZXNzL2F0dHJpYnV0ZXMtYW5kLXRvSlNPTi1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhZmNhMTlmOTIzZDQ1YTJkOTdhMTM0ZWNjMWM5YTAy
YmY0YWVhODIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvUGF5bWVudEFkZHJlc3MvYXR0cmlidXRlcy1hbmQtdG9KU09OLW1ldGhvZC1tYW51YWwuaHR0
cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwOSArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4K
LTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3
dy53My5vcmcvVFIvcGF5bWVudC1yZXF1ZXN0LyNwYXltZW50YWRkcmVzcy1pbnRlcmZhY2UiPgot
PHRpdGxlPgotICBQYXltZW50UmVzcG9uc2UucHJvdG90eXBlLnNoaXBwaW5nQWRkcmVzcwotPC90
aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9wYXltZW50LXJlc3BvbnNlL2hlbHBlcnMuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLWNvbnN0IG9wdGlvbnMgPSB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9OwotZnVu
Y3Rpb24gcnVuTWFudWFsVGVzdChidXR0b24sIGV4cGVjdGVkID0ge30pIHsKLSAgYnV0dG9uLmRp
c2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBjb25zdCB7
IHJlc3BvbnNlIH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKG9wdGlvbnMpOwot
ICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCk7Ci0gICAgYXNzZXJ0X2lkbF9hdHRyaWJ1dGUo
cmVzcG9uc2UsICJzaGlwcGluZ0FkZHJlc3MiKTsKLSAgICBjb25zdCB7IHNoaXBwaW5nQWRkcmVz
czogYWRkciB9ID0gcmVzcG9uc2U7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBhZGRyIGluc3Rh
bmNlb2YgUGF5bWVudEFkZHJlc3MsCi0gICAgICAiRXhwZWN0IGluc3RhbmNlIG9mIFBheW1lbnRB
ZGRyZXNzIgotICAgICk7Ci0gICAgLy8gQW4gW0lTTzMxNjZdIGFscGhhLTIgY29kZS4gVGhlIGNh
bm9uaWNhbCBmb3JtIGlzIHVwcGVyIGNhc2UuCi0gICAgY29uc3QgeyBjb3VudHJ5IH0gPSBhZGRy
OwotICAgIGFzc2VydF9lcXVhbHMoY291bnRyeS5sZW5ndGgsIDIsICJFeHBlY3RlZCBsZW5ndGgg
aXMgMiIpOwotICAgIGFzc2VydF90cnVlKC9eW0EtWl17Mn0kLy50ZXN0KGNvdW50cnkpLCAiQ2Fu
b25pY2FsIGZvcm0gaXMgdXBwZXIgY2FzZSIpOwotICAgIGFzc2VydF90cnVlKAotICAgICAgYWRk
ci5hZGRyZXNzTGluZSBpbnN0YW5jZW9mIEFycmF5LAotICAgICAgIkV4cGVjdGVkIGFkZHJlc3NM
aW5lIHRvIGJlIGFuIGFycmF5IgotICAgICk7Ci0gICAgYXNzZXJ0X3Rocm93c19qcygKLSAgICAg
IFR5cGVFcnJvciwKLSAgICAgICgpID0+IHsKLSAgICAgICAgYWRkci5hZGRyZXNzTGluZS5wdXNo
KCJ0aGlzIG11c3QgdGhyb3ciKTsKLSAgICAgIH0sCi0gICAgICAiQXJyYXkgbXVzdCBiZSBmcm96
ZW4iCi0gICAgKTsKLSAgICBmb3IgKGxldCBbYXR0ciwgZXhwZWN0ZWRWYWx1ZV0gb2YgT2JqZWN0
LmVudHJpZXMoZXhwZWN0ZWQpKSB7Ci0gICAgICBhc3NlcnRfaWRsX2F0dHJpYnV0ZShhZGRyLCBh
dHRyKTsKLSAgICAgIGNvbnN0IG1zZyA9IGBFeHBlY3RlZCBwYXltZW50QWRkcmVzcy4ke2F0dHJ9
IHRvIGVxdWFsICR7ZXhwZWN0ZWRWYWx1ZX0uYDsKLSAgICAgIC8vLnRvU3RyaW5nKCkgZmxhdHRl
bnMgYXJyYXkgYWRkcmVzc0xpbmUsCi0gICAgICAvLy50b0xvd2VyQ2FzZSgpIGJlY2F1c2UgY2Fz
ZSBjYW4ndCBiZSBlbmZvcmNlZCBmb3Igc29tZSBhdHRyaWJ1dGVzCi0gICAgICBjb25zdCBhY3R1
YWxWYWx1ZSA9IGFkZHJbYXR0cl0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOwotICAgICAgZXhw
ZWN0ZWRWYWx1ZSA9IGV4cGVjdGVkVmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOwotICAg
ICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxWYWx1ZSwgZXhwZWN0ZWRWYWx1ZSwgbXNnKTsKLSAgICB9
Ci0gICAgLy8gQ2hlY2sgdG9KU09OIHJlc3VsdAotICAgIGZvciAobGV0IFtwcm9wLCBqc29uVmFs
dWVdIG9mIE9iamVjdC5lbnRyaWVzKGFkZHIudG9KU09OKCkpKSB7Ci0gICAgICBjb25zdCBhY3R1
YWxWYWx1ZSA9IGpzb25WYWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICBjb25z
dCBleHBlY3RlZFZhbHVlID0gZXhwZWN0ZWRbcHJvcF0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgp
OwotICAgICAgY29uc3QgbXNnID0gYEV4cGVjdGVkIEpTT04gJHtwcm9wfSB0byBiZSAke2V4cGVj
dGVkVmFsdWV9YDsKLSAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsVmFsdWUsIGV4cGVjdGVkVmFs
dWUsIG1zZyk7Ci0gICAgfQotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLSAgZG9u
ZSgpOwotfQotPC9zY3JpcHQ+Ci08aDI+UGF5bWVudEFkZHJlc3MgaW50ZXJmYWNlPC9oMj4KLTxw
PgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20g
d2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVw
IHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gcHJvbXB0
ZWQsIHBsZWFzZSBlbnRlciBhZGRyZXNzZXMgYXMgZm9sbG93cy4uLgotPC9wPgotPG9sPgotICA8
bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBleHBlY3RlZEFkZHJlc3MgPSB7
Ci0gICAgICBjb3VudHJ5OiAnQVUnLAotICAgICAgcmVnaW9uQ29kZTogJ1FMRCcsCi0gICAgICBh
ZGRyZXNzTGluZTogJzU1IHRlc3Qgc3QnLAotICAgICAgY2l0eTogJ0NoYXBlbCBIaWxsJywKLSAg
ICAgIGRlcGVuZGVudExvY2FsaXR5OiAnJywKLSAgICAgIHBvc3RhbENvZGU6ICc2MDk1JywKLSAg
ICAgIHJlZ2lvbjogJ1FMRCcsCi0gICAgICBzb3J0aW5nQ29kZTogJycsCi0gICAgICBvcmdhbml6
YXRpb246ICd3M2MnLAotICAgICAgcmVjaXBpZW50OiAnd2ViIHBsYXRmb3JtIHRlc3QnLAotICAg
ICAgcGhvbmU6ICcrNjE3MzM3ODAwMDAnLAotICAgIH07Ci0gICAgcnVuTWFudWFsVGVzdCh0aGlz
LCBleHBlY3RlZEFkZHJlc3MpOyI+Ci0gICAgICBJZiB0aGUgcmVxdWVzdFNoaXBwaW5nIG1lbWJl
ciBpcyB0cnVlLCB0aGVuIHNoaXBwaW5nQWRkcmVzcydzIFBheW1lbnRBZGRyZXNzIG11c3QgbWF0
Y2ggdGhlIGV4cGVjdGVkIHZhbHVlcy4KLSAgICA8L2J1dHRvbj4KLSAgICBQbGVhc2UgdXNlOgot
ICAgIDxkbD4KLSAgICAgIDxkdD5SZWNpcGllbnQ6PC9kdD4KLSAgICAgIDxkZD53ZWIgcGxhdGZv
cm0gdGVzdDwvZGQ+Ci0gICAgICA8ZHQ+QWRkcmVzcyBsaW5lOjwvZHQ+Ci0gICAgICA8ZGQ+NTUg
dGVzdCBzdDwvZGQ+Ci0gICAgICA8ZHQ+Q291bnRyeTwvZHQ+Ci0gICAgICA8ZGQ+QXVzdHJhbGlh
PC9kZD4KLSAgICAgIDxkdD5DaXR5PC9kdD4KLSAgICAgIDxkZD5DaGFwZWwgSGlsbDwvZGQ+Ci0g
ICAgICA8ZGQ+U3RhdGUvUmVnaW9uPC9kZD4KLSAgICAgIDxkZD5RdWVlbnNsYW5kPC9kZD4KLSAg
ICAgIDxkdD5wb3N0YWwgY29kZSA8L2R0PgotICAgICAgPGRkPjYwOTU8L2RkPgotICAgICAgPGR0
Pm9yZ2FuaXphdGlvbjwvZHQ+Ci0gICAgICA8ZGQ+dzNjPC9kZD4KLSAgICAgIDxkdD5QaG9uZSBu
dW1iZXI8L2R0PgotICAgICAgPGRkPis2MSA3IDMzNzggMDAwMDwvZGQ+Ci0gICAgPC9kbD4KLSAg
PC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNl
IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3Vl
cyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVx
dWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLWNhbGwtaW1tZWRp
YXRlLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRh
dGVXaXRoLWNhbGwtaW1tZWRpYXRlLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAxMzY1ZWNlZmViZWIyNzlkYjJlZGU5ZGU5OWQyZjBjOTg0NzA4YzVhLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRS
ZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1jYWxsLWltbWVkaWF0ZS1tYW51YWwuaHR0cHMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIwNiArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxt
ZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53
My5vcmcvVFIvcGF5bWVudC1yZXF1ZXN0LyN1cGRhdGV3aXRoKCktbWV0aG9kIj4KLTxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3czYy9wYXltZW50LXJlcXVlc3QvcHVs
bC81OTEiPgotPHRpdGxlPgotICBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LnVwZGF0ZVdpdGgo
KSBuZWVkcyB0byBiZSBjYWxsZWQgaW1tZWRpYXRlbHkKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBl
eHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgYXBw
bGVQYXkgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBw
bGUuY29tL2FwcGxlLXBheSIsCi0gIGRhdGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNo
YW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTog
IlVTIiwKLSAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1
cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgfQotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZCA9
IE9iamVjdC5mcmVlemUoeyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSk7Ci1jb25z
dCB2YWxpZE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFt2YWxpZE1ldGhvZCwgYXBwbGVQYXldKTsK
LWNvbnN0IHZhbGlkQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7IGN1cnJlbmN5OiAiVVNEIiwgdmFs
dWU6ICI1LjAwIiB9KTsKLWNvbnN0IHZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFi
ZWw6ICJsYWJlbCIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQsCi19KTsKLWNvbnN0IHZhbGlkU2hp
cHBpbmdPcHRpb25BID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGlkOiAiYS1zaGlwcGluZy1vcHRpb24i
LAotICBsYWJlbDogIkEgc2hpcHBpbmcgb3B0aW9uIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwK
LSAgc2VsZWN0ZWQ6IHRydWUsCi19KTsKLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb25CID0gT2Jq
ZWN0LmZyZWV6ZSh7Ci0gIGlkOiAiYi1zaGlwcGluZy1vcHRpb24iLAotICBsYWJlbDogIkIgc2hp
cHBpbmcgb3B0aW9uIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLX0pOwotY29uc3QgdmFsaWRE
ZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB2YWxpZFRvdGFsLAotICBzaGlwcGlu
Z09wdGlvbnM6IFt2YWxpZFNoaXBwaW5nT3B0aW9uQSwgdmFsaWRTaGlwcGluZ09wdGlvbkJdLAot
fSk7Ci1jb25zdCB2YWxpZE9wdGlvbnMgPSBPYmplY3QuZnJlZXplKHsKLSAgcmVxdWVzdFNoaXBw
aW5nOiB0cnVlLAotfSk7Ci0KLWZ1bmN0aW9uIHRlc3RJbW1lZGlhdGVVcGRhdGUoeyB0ZXh0Q29u
dGVudDogdGVzdE5hbWUgfSkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29u
c3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKLSAgICAgIHZhbGlkTWV0aG9kcywKLSAg
ICAgIHZhbGlkRGV0YWlscywKLSAgICAgIHZhbGlkT3B0aW9ucwotICAgICk7Ci0gICAgY29uc3Qg
ZXZlbnRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewotICAgICAg
cmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKAotICAgICAgICAic2hpcHBpbmdhZGRyZXNzY2hhbmdl
IiwKLSAgICAgICAgZXYgPT4gewotICAgICAgICAgIC8vIEZvcmNlcyB1cGRhdGVXaXRoKCkgdG8g
YmUgcnVuIGluIHRoZSBuZXh0IGV2ZW50IGxvb3AgdGljayBzbyB0aGF0Ci0gICAgICAgICAgLy8g
W1t3YWl0Rm9yVXBkYXRlXV0gaXMgYWxyZWFkeSB0cnVlIHdoZW4gaXQgcnVucy4KLSAgICAgICAg
ICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICB0cnkgewotICAgICAgICAgICAg
ICBldi51cGRhdGVXaXRoKHZhbGlkRGV0YWlscyk7Ci0gICAgICAgICAgICAgIHJlc29sdmUoKTsg
Ly8gVGhpcyBpcyBiYWQuCi0gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHsKLSAgICAgICAgICAg
ICAgcmVqZWN0KGVycik7IC8vIHRoaXMgaXMgZ29vZC4KLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICB9KTsKLSAgICAgICAgfSwKLSAgICAgICAgeyBvbmNlOiB0cnVlIH0KLSAgICAgICk7Ci0gICAg
fSk7Ci0gICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJlcXVlc3Quc2hvdygpOwotICAgIGF3YWl0
IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAgICAgIkludmFsaWRTdGF0ZUVycm9y
IiwKLSAgICAgIGV2ZW50UHJvbWlzZSwKLSAgICAgICJUaGUgZXZlbnQgbG9vcCBhbHJlYWR5IHNw
dW4sIHNvIFtbd2FpdEZvclVwZGF0ZV1dIGlzIG5vdyB0cnVlIgotICAgICk7Ci0gICAgY29uc3Qg
cmVzcG9uc2UgPSBhd2FpdCBhY2NlcHRQcm9taXNlOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBs
ZXRlKCk7Ci0gIH0sIHRlc3ROYW1lLnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RTdWJzZXF1
ZW50VXBkYXRlV2l0aENhbGxzKHsgdGV4dENvbnRlbnQ6IHRlc3ROYW1lIH0pIHsKLSAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVl
c3QoCi0gICAgICB2YWxpZE1ldGhvZHMsCi0gICAgICB2YWxpZERldGFpbHMsCi0gICAgICB2YWxp
ZE9wdGlvbnMKLSAgICApOwotICAgIGNvbnN0IGV2ZW50UHJvbWlzZSA9IG5ldyBQcm9taXNlKChy
ZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hp
cHBpbmdhZGRyZXNzY2hhbmdlIiwgYXN5bmMgZXYgPT4gewotICAgICAgICBjb25zdCBwID0gUHJv
bWlzZS5yZXNvbHZlKHZhbGlkRGV0YWlscyk7Ci0gICAgICAgIGV2LnVwZGF0ZVdpdGgocCk7Ci0g
ICAgICAgIGF3YWl0IHA7Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgZXYudXBkYXRlV2l0aCh2
YWxpZERldGFpbHMpOwotICAgICAgICAgIHJlc29sdmUoKTsgLy8gdGhpcyBpcyBiYWQsIHdlIHNo
b3VsZCBuZXZlciBnZXQgdG8gaGVyZS4KLSAgICAgICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICAg
ICAgcmVqZWN0KGVycik7IC8vIHRoaXMgaXMgZ29vZCEKLSAgICAgICAgfQotICAgICAgfSk7Ci0g
ICAgfSk7Ci0gICAgY29uc3QgcmVzcG9uc2VQcm9taXNlID0gcmVxdWVzdC5zaG93KCk7Ci0gICAg
YXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRl
RXJyb3IiLAotICAgICAgZXZlbnRQcm9taXNlLAotICAgICAgIkV4cGVjdGVkIGV2ZW50UHJvbWlz
ZSB0byBoYXZlIHJlamVjdGVkLCBiZWNhdXNlIHVwZGF0ZVdpdGgoKSB3YXMgYSBjYWxsZWQgdHdp
Y2UiCi0gICAgKTsKLSAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlc3BvbnNlUHJvbWlzZTsK
LSAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgpOwotICB9LCB0ZXN0TmFtZS50cmltKCkpOwot
fQotCi1mdW5jdGlvbiB0ZXN0UmVjeWNsZUV2ZW50cyh7IHRleHRDb250ZW50OiB0ZXN0TmFtZSB9
KSB7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3
IFBheW1lbnRSZXF1ZXN0KAotICAgICAgdmFsaWRNZXRob2RzLAotICAgICAgdmFsaWREZXRhaWxz
LAotICAgICAgdmFsaWRPcHRpb25zCi0gICAgKTsKLQotICAgIC8vIFJlZ2lzdGVyIGJvdGggbGlz
dGVuZXJzLgotICAgIGNvbnN0IGFkZHJlc3NDaGFuZ2VkUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gewotICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJl
c3NjaGFuZ2UiLCByZXNvbHZlLCB7Ci0gICAgICAgIG9uY2U6IHRydWUsCi0gICAgICB9KTsKLSAg
ICB9KTsKLQotICAgIGNvbnN0IG9wdGlvbkNoYW5nZWRQcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7Ci0gICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nb3B0aW9u
Y2hhbmdlIiwgcmVzb2x2ZSwgewotICAgICAgICBvbmNlOiB0cnVlLAotICAgICAgfSk7Ci0gICAg
fSk7Ci0KLSAgICBjb25zdCByZXNwb25zZVByb21pc2UgPSByZXF1ZXN0LnNob3coKTsKLQotICAg
IC8vIExldCdzIHdhaXQgZm9yIHRoZSBhZGRyZXNzIHRvIGNoYW5nZS4KLSAgICBjb25zdCBhZGRy
ZXNzQ2hhbmdlRXZlbnQgPSBhd2FpdCBhZGRyZXNzQ2hhbmdlZFByb21pc2U7Ci0KLSAgICAvLyBT
ZXRzIFtbd2FpdGluZ0ZvclVwZGF0ZV1dIHRvIHRydWUuCi0gICAgYWRkcmVzc0NoYW5nZUV2ZW50
LnVwZGF0ZVdpdGgodmFsaWREZXRhaWxzKTsKLQotICAgIC8vIExldCdzIHdhaXQgZm9yIHRoZSBz
aGlwcGluZ09wdGlvbi4KLSAgICBjb25zdCBvcHRpb25DaGFuZ2VFdmVudCA9IGF3YWl0IG9wdGlv
bkNoYW5nZWRQcm9taXNlOwotCi0gICAgLy8gSGVyZSwgd2UgdHJ5IHRvIGJlIHNuZWFreSwgYW5k
IHJldXNlIHRoZSBhZGRyZXNzQ2hhbmdlRXZlbnQgdG8gcGVyZm9ybSB0aGUgdXBkYXRlLgotICAg
IC8vIEhvd2V2ZXIsIGFkZHJlc3NDaGFuZ2VFdmVudCBbW3dhaXRpbmdGb3JVcGRhdGVdXSBpcyB0
cnVlLCBzbyBpdCB0aHJvd3MuCi0gICAgYXNzZXJ0X3Rocm93c19kb20oCi0gICAgICAiSW52YWxp
ZFN0YXRlRXJyb3IiLAotICAgICAgKCkgPT4gewotICAgICAgICBhZGRyZXNzQ2hhbmdlRXZlbnQu
dXBkYXRlV2l0aCh2YWxpZERldGFpbHMpOwotICAgICAgfSwKLSAgICAgICJhZGRyZXNzQ2hhbmdl
RXZlbnQgW1t3YWl0aW5nRm9yVXBkYXRlXV0gaXMgdHJ1ZSwgc28gaXQgbXVzdCB0aHJvdyIKLSAg
ICApOwotCi0gICAgLy8gQnV0IG9wdGlvbkNoYW5nZUV2ZW50IGlzIHN0aWxsIHVzYWJsZSB0aG8s
IHNvLi4uCi0gICAgb3B0aW9uQ2hhbmdlRXZlbnQudXBkYXRlV2l0aCh2YWxpZERldGFpbHMpOwot
Ci0gICAgYXNzZXJ0X3Rocm93c19kb20oCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAg
ICAgKCkgPT4gewotICAgICAgICBvcHRpb25DaGFuZ2VFdmVudC51cGRhdGVXaXRoKHZhbGlkRGV0
YWlscyk7Ci0gICAgICB9LAotICAgICAgIm9wdGlvbkNoYW5nZUV2ZW50IFtbd2FpdGluZ0ZvclVw
ZGF0ZV1dIGlzIHRydWUsIHNvIGl0IG11c3QgdGhyb3ciCi0gICAgKTsKLQotICAgIGNvbnN0IHJl
c3BvbnNlID0gYXdhaXQgcmVzcG9uc2VQcm9taXNlOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBs
ZXRlKCk7Ci0gIH0sIHRlc3ROYW1lLnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj51cGRhdGVX
aXRoKCkgbWV0aG9kPC9oMj4KLTxwPgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5j
ZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNo
IGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9w
PgotPHA+Ci0gIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHNlbGVjdCBhIGRpZmZl
cmVudCBzaGlwcGluZyBhZGRyZXNzIG9uY2UuIFRoZW4gcGF5LgotPC9wPgotPG9sPgotICA8bGkg
aWQ9InRlc3QtMCI+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0SW1tZWRpYXRlVXBkYXRlKHRo
aXMpOyI+Ci0gICAgICB1cGRhdGVXaXRoKCkgbXVzdCBiZSBjYWxsZWQgaW1tZWRpYXRlbHksIG90
aGVyd2lzZSBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yLgotICAgIDwvYnV0dG9uPgot
ICA8L2xpPgotICA8bGkgaWQ9InRlc3QtMSI+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0U3Vi
c2VxdWVudFVwZGF0ZVdpdGhDYWxscyh0aGlzKTsiPgotICAgICAgT25jZSB0aGUgZXZlbnQgaGFz
IHBlcmZvcm1lZCBhbiB1cGRhdGUsIHN1YnNlcXVlbnQgY2FsbHMgdG8gdXBkYXRlV2l0aCgpIG11
c3QgdGhyb3cgSW52YWxpZFN0YXRlRXJyb3IuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxs
aSBpZD0idGVzdC0yIj4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RSZWN5Y2xlRXZlbnRzKHRo
aXMpOyI+Ci0gICAgICBSZWN5Y2xpbmcgZXZlbnRzIG11c3Qgbm90IGJlIHBvc3NpYmxlLgotICAg
IDwvYnV0dG9uPiBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCBzZWxlY3QgYSBkaWZm
ZXJlbnQgc2hpcHBpbmcgYWRkcmVzcyBvbmNlLCB0aGVuIGNoYW5nZSBzaGlwcGluZyBvcHRpb24g
b25jZS4gVGhlbiBwYXkuCi0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImRv
bmUoKTsiPkRvbmUhPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3Ug
ZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2Vi
LXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25l
IG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdl
cnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZl
bnQvdXBkYXRlV2l0aC1kdXBsaWNhdGUtc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1kdXBsaWNhdGUtc2hp
cHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTRhN2FmZDdmNjMzN2MzMTM0ZDI1NGYxMjU3NDYzZDY5ZWZkMzBmYy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtZHVwbGljYXRlLXNoaXBwaW5nLW9wdGlvbnMtbWFudWFsLmh0
dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+
Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jdXBkYXRld2l0aCgpLW1ldGhvZCI+Ci08dGl0
bGU+Ci0gIHVwZGF0ZVdpdGgoKSBtZXRob2QgLSBkdXBsaWNhdGUgc2hpcHBpbmdPcHRpb24gaWRz
Ci08L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLXNldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRfdGlt
ZW91dDogdHJ1ZSB9KTsKLWNvbnN0IGFwcGxlUGF5ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1cHBv
cnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICBkYXRhOiB7Ci0g
ICAgdmVyc2lvbjogMywKLSAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhh
bXBsZSIsCi0gICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6
IFsic3VwcG9ydHMzRFMiXSwKLSAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gIH0K
LX0pOwotY29uc3QgdmFsaWRNZXRob2QgPSBPYmplY3QuZnJlZXplKHsgc3VwcG9ydGVkTWV0aG9k
czogImJhc2ljLWNhcmQiIH0pOwotY29uc3QgdmFsaWRNZXRob2RzID0gW3ZhbGlkTWV0aG9kLCBh
cHBsZVBheV07Ci1jb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5j
eTogIlVTRCIsCi0gIHZhbHVlOiAiNS4wMCIsCi19KTsKLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRp
b24gPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJvcHRpb24xIiwKLSAgbGFiZWw6ICJPcHRpb24g
MSIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQsCi0gIHNlbGVjdGVkOiB0cnVlLAotfSk7Ci1jb25z
dCB2YWxpZFNoaXBwaW5nT3B0aW9ucyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkU2hpcHBpbmdPcHRp
b25dKTsKLWNvbnN0IHZhbGlkRGV0YWlscyA9IE9iamVjdC5mcmVlemUoewotICB0b3RhbDogewot
ICAgIGxhYmVsOiAiVG90YWwgZHVlIiwKLSAgICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICB9LAot
ICBzaGlwcGluZ09wdGlvbnM6IHZhbGlkU2hpcHBpbmdPcHRpb25zLAotfSk7Ci1jb25zdCB2YWxp
ZE9wdGlvbnMgPSBPYmplY3QuZnJlZXplKHsKLSAgcmVxdWVzdFNoaXBwaW5nOiB0cnVlLAotfSk7
Ci0KLXRlc3QoKCkgPT4gewotICB0cnkgewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVu
dFJlcXVlc3QodmFsaWRNZXRob2RzLCB2YWxpZERldGFpbHMpOwotICB9IGNhdGNoIChlcnIpIHsK
LSAgICBkb25lKCk7Ci0gICAgdGhyb3cgZXJyOwotICB9Ci19LCAiTXVzdCBjb25zdHJ1Y3QgYSBQ
YXltZW50UmVxdWVzdCAoc21va2UgdGVzdCkiKTsKLQotZnVuY3Rpb24gdGVzdEZpcmVFdmVudHMo
YnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAotICAgICAg
dmFsaWRNZXRob2RzLAotICAgICAgdmFsaWREZXRhaWxzLAotICAgICAgdmFsaWRPcHRpb25zCi0g
ICAgKTsKLSAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5n
ZSIsIGV2ZW50ID0+IHsKLSAgICAgIC8vIFNhbWUgb3B0aW9uLCBzbyBkdXBsaWNhdGUgaWRzCi0g
ICAgICBjb25zdCBvdGhlclNoaXBwaW5nT3B0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWRT
aGlwcGluZ09wdGlvbiwgewotICAgICAgICBpZDogIm90aGVyIiwKLSAgICAgIH0pOwotICAgICAg
Y29uc3Qgc2hpcHBpbmdPcHRpb25zID0gWwotICAgICAgICB2YWxpZFNoaXBwaW5nT3B0aW9uLAot
ICAgICAgICBvdGhlclNoaXBwaW5nT3B0aW9uLAotICAgICAgICB2YWxpZFNoaXBwaW5nT3B0aW9u
LAotICAgICAgXTsKLSAgICAgIGNvbnN0IG5ld0RldGFpbHMgPSBPYmplY3QuYXNzaWduKHt9LCB2
YWxpZERldGFpbHMsIHsgc2hpcHBpbmdPcHRpb25zIH0pOwotICAgICAgZXZlbnQudXBkYXRlV2l0
aChuZXdEZXRhaWxzKTsKLSAgICB9KTsKLSAgICBjb25zdCBhY2NlcHRQcm9taXNlID0gcmVxdWVz
dC5zaG93KCk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2pzKAotICAgICAgdCwKLSAgICAg
IFR5cGVFcnJvciwKLSAgICAgIGFjY2VwdFByb21pc2UsCi0gICAgICAiRHVwbGljYXRlIHNoaXBw
aW5nT3B0aW9uIGlkcyBtdXN0IGFib3J0IHdpdGggVHlwZUVycm9yIgotICAgICk7Ci0gIH0sIGJ1
dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotICBkb25lKCk7Ci19Ci08L3NjcmlwdD4KLTxoMj51
cGRhdGVXaXRoKCkgbWV0aG9kIC0gZHVwbGljYXRlIHNoaXBwaW5nT3B0aW9ucyBpZHM8L2gyPgot
PHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRv
bSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcg
dXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hlbiB0aGUg
cGF5bWVudCBzaGVldCBpcyBzaG93biwgc2VsZWN0IGEgZGlmZmVyZW50IHNoaXBwaW5nIGFkZHJl
c3MuCi0gIElmIHlvdSBoYXZlIHRvIG1hbnVhbGx5IGFib3J0IHRoZSB0ZXN0IGZyb20gdGhlIHBh
eW1lbnQgc2hlZXQsIHRoZW4gdGhlCi0gIHRlc3QgaGFzIGZhaWxlZC4KLTwvcD4KLTxvbD4KLSAg
PGxpPgotICAgIDxidXR0b24gb25jbGljaz0idGVzdEZpcmVFdmVudHModGhpcykiPgotICAgICAg
SWYgdGhlcmUgYXJlIGR1cGxpY2F0ZSBzaGlwcGluZ09wdGlvbiBpZHMsIHRoZW4gYWJvcnQgcGF5
bWVudCByZXF1ZXN0LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAg
SWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQg
dGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQg
cmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtaW5jcmVtZW50YWwtdXBkYXRlLW1hbnVhbC5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLWluY3JlbWVudGFsLXVw
ZGF0ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzFl
ZDFiNWY2ODUwYzdmMjY1NjZmZmI2ZTk4YjA2ZWE1MTczOWUxNS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50
L3VwZGF0ZVdpdGgtaW5jcmVtZW50YWwtdXBkYXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTk2ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0i
dXRmOCI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXlt
ZW50LXJlcXVlc3QvI3VwZGF0ZXdpdGgtbWV0aG9kIj4KLTx0aXRsZT4KLSAgSW5jcmVtZW50YWwg
dXBkYXRlcyB2aWEgdXBkYXRlV2l0aCgpCi08L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsKLSAgZXhwbGlj
aXRfZG9uZTogdHJ1ZSwKLSAgZXhwbGljaXRfdGltZW91dDogdHJ1ZSwKLX0pOwotCi1jb25zdCBt
ZXRob2RzID0gW3sKLSAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotfSwgewotICBz
dXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTog
ewotICAgIHZlcnNpb246IDMsCi0gICAgbWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29t
LmV4YW1wbGUiLAotICAgIGNvdW50cnlDb2RlOiAiVVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0
aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAot
ICB9Ci19XTsKLQotY29uc3Qgb3B0aW9ucyA9IHsKLSAgcmVxdWVzdFNoaXBwaW5nOiB0cnVlLAot
fTsKLQotY29uc3QgaW5pdGlhbERldGFpbHMgPSB7Ci0gIHRvdGFsOiB7Ci0gICAgbGFiZWw6ICJJ
bml0aWFsIHRvdGFsIiwKLSAgICBhbW91bnQ6IHsKLSAgICAgIGN1cnJlbmN5OiAiVVNEIiwKLSAg
ICAgIHZhbHVlOiAiMS4wIiwKLSAgICB9LAotICB9LAotICBzaGlwcGluZ09wdGlvbnM6IFsKLSAg
ICB7Ci0gICAgICBpZDogIm5ldXRyYWwiLAotICAgICAgbGFiZWw6ICJORVVUUkFMIFNISVBQSU5H
IE9QVElPTiIsCi0gICAgICBzZWxlY3RlZDogdHJ1ZSwKLSAgICAgIGFtb3VudDogewotICAgICAg
ICBjdXJyZW5jeTogIlVTRCIsCi0gICAgICAgIHZhbHVlOiAiMC4wMCIsCi0gICAgICB9LAotICAg
IH0sCi0gIF0sCi19OwotCi1mdW5jdGlvbiB0ZXN0RmlyZUV2ZW50KGJ1dHRvbiwgdXBkYXRlRGV0
YWlscykgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBjb25zdCByZXF1ZXN0ID0gbmV3
IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGluaXRpYWxEZXRhaWxzLCBvcHRpb25zKTsKLSAgY29u
c3QgaGFuZGxlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICByZXF1ZXN0
Lm9uc2hpcHBpbmdhZGRyZXNzY2hhbmdlID0gZXZlbnQgPT4gewotICAgICAgZXZlbnQudXBkYXRl
V2l0aCh1cGRhdGVEZXRhaWxzKTsKLSAgICAgIHJlc29sdmUoZXZlbnQpOwotICAgIH07Ci0gIH0p
OwotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgcmVzcG9uc2UgPSBhd2Fp
dCByZXF1ZXN0LnNob3coKTsKLSAgICBjb25zdCBldmVudCA9IGF3YWl0IGhhbmRsZXJQcm9taXNl
OwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Ci0gIH0sIGJ1dHRvbi50
ZXh0Q29udGVudC50cmltKCkpOwotfQotCi08L3NjcmlwdD4KLTxoMj4KLSAgSW5jcmVtZW50YWwg
dXBkYXRlcwotPC9oMj4KLTxwPgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBm
cm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1
dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgot
PHA+Ci0gIFVubGVzcyBzdGF0ZWQgb3RoZXJ3aXNlLCBlYWNoIHRlc3Qgd2lsbCB1cGRhdGUgc29t
ZSBwYXJ0IG9mIHRoZSBkaXNwbGF5ZWQgcGF5bWVudCBzaGVldCBpbgotICBhIG1hbm5lciBpbmRp
Y2F0ZWQgYmVsb3cuIFdoZW4gcHJvbXB0ZWQsIHBsZWFzZSBjaGFuZ2Ugb3IgZW50ZXIgYSBuZXcK
LSAgc2hpcHBpbmcgYWRkcmVzcywgbG9vayBmb3IgdGhlIHRlc3RlZCBjaGFuZ2UsIGFuZCBjb21w
bGV0ZSB0aGUgcGF5bWVudC4KLTwvcD4KLTxwPgotICBJZiB0aGUgcGF5bWVudCByZXF1ZXN0IGxv
Y2tzIHVwIG9yIG90aGVyd2lzZSBhYm9ydHMsIHRoZSB0ZXN0IGhhcyBmYWlsZWQuCi08L3A+Ci08
b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RGaXJlRXZlbnQodGhpcywge30p
OyI+Ci0gICAgICBQYXNzaW5nIGFuIGVtcHR5IGRpY3Rpb25hcnkgZG9lcyBub3QgY2F1c2UgdGhl
IHNoZWV0IHRvIGNoYW5nZS4KLSAgICAgIE5vIHZhbHVlcyBpbiB0aGUgc2hlZXQgbXVzdCBjaGFu
Z2UuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotCi08c2VjdGlvbj4KLSAgPGgzPklu
Y3JlbWVudGFsIHVwZGF0ZXMgdmlhIFBheW1lbnREZXRhaWxzVXBkYXRlLnRvdGFsPC9oMz4KLSAg
PG9sPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICBjb25zdCB0b3Rh
bCA9IHsKLSAgICAgICAgbGFiZWw6ICdQQVNTJywKLSAgICAgICAgYW1vdW50OiB7Ci0gICAgICAg
ICAgY3VycmVuY3k6ICdYWFgnLAotICAgICAgICAgIHZhbHVlOiAnMjAnLAotICAgICAgICB9LAot
ICAgICAgfTsKLSAgICAgIGNvbnN0IHVwZGF0ZWREZXRhaWxzID0geyB0b3RhbCB9OwotICAgICAg
dGVzdEZpcmVFdmVudCh0aGlzLCB1cGRhdGVkRGV0YWlscyk7Ij4KLSAgICAgICAgQWZ0ZXIgY2hh
bmdpbmcgc2hpcHBpbmcgYWRkcmVzcywgdGhlIHRvdGFsIGJlY29tZXMgWFhYMjAsIHdpdGggdGhl
IGxhYmVsICJQQVNTIi4KLSAgICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0gIDwvb2w+Ci08L3Nl
Y3Rpb24+Ci0KLTxzZWN0aW9uPgotICA8aDM+SW5jcmVtZW50YWwgdXBkYXRlcyB2aWEgUGF5bWVu
dERldGFpbHNCYXNlLmRpc3BsYXlJdGVtczwvaDM+Ci0gIDxvbD4KLSAgICA8bGk+Ci0gICAgICA8
YnV0dG9uIG9uY2xpY2s9IgotICAgICAgY29uc3QgaXRlbSA9IHsKLSAgICAgICAgbGFiZWw6ICdQ
QVNTJywKLSAgICAgICAgYW1vdW50OiB7IGN1cnJlbmN5OiAnQUJDJywgdmFsdWU6ICc1NS4wMCcg
fSwKLSAgICAgIH07Ci0gICAgICBjb25zdCB1cGRhdGVkRGV0YWlscyA9IHsKLSAgICAgICAgZGlz
cGxheUl0ZW1zOiBbIGl0ZW0gXQotICAgICAgfTsKLSAgICAgIHRlc3RGaXJlRXZlbnQodGhpcywg
dXBkYXRlZERldGFpbHMpOyI+Ci0gICAgICAgIEFmdGVyIGNoYW5naW5nIHNoaXBwaW5nIGFkZHJl
c3MsIGEgbmV3IGRpc3BsYXkgaXRlbSBpcyBzaG93bgotICAgICAgICB3aXRoIGEgd2l0aCBsYWJl
bCBQQVNTLCBhbmQgdmFsdWUgb2YgQUJDNTUuMDAuCi0gICAgICA8L2J1dHRvbj4KLSAgICA8L2xp
PgotICA8L29sPgotPC9zZWN0aW9uPgotCi08c2VjdGlvbj4KLSAgPGgzPkluY3JlbWVudGFsIHVw
ZGF0ZXMgdmlhIFBheW1lbnREZXRhaWxzQmFzZS5zaGlwcGluZ09wdGlvbnM8L2gzPgotICA8b2w+
Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgIGNvbnN0IHNoaXBwaW5n
T3B0aW9ucyA9IFsKLSAgICAgICAgewotICAgICAgICAgIGlkOiAncGFzcycsCi0gICAgICAgICAg
bGFiZWw6ICdQQVNTJywKLSAgICAgICAgICBhbW91bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2YWx1
ZTogJzEuMDAnIH0sCi0gICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICBpZDogJ2ZhaWwnLAotICAgICAgICAgIGxhYmVsOiAnRkFJTCBJRiBU
SElTIElTIFNFTEVDVEVEJywKLSAgICAgICAgICBhbW91bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2
YWx1ZTogJzI1LjAwJyB9Ci0gICAgICAgIH0sCi0gICAgICBdOwotICAgICAgY29uc3QgdXBkYXRl
ZERldGFpbHMgPSB7Ci0gICAgICAgIHNoaXBwaW5nT3B0aW9ucwotICAgICAgfTsKLSAgICAgIHRl
c3RGaXJlRXZlbnQodGhpcywgdXBkYXRlZERldGFpbHMpOyI+Ci0gICAgICAgIEFmdGVyIGNoYW5n
aW5nIHNoaXBwaW5nIGFkZHJlc3MsIHR3byBuZXcgc2hpcHBpbmcgb3B0aW9ucyBhcHBlYXIuCi0g
ICAgICAgIFRoZSBzaGlwcGluZyBvcHRpb24gbGFiZWxsZWQgIlBBU1MiIHdpdGggYSB2YWx1ZSBv
ZiBVU0QxLjAgaXMgc2VsZWN0ZWQuCi0gICAgICA8L2J1dHRvbj4KLSAgICA8L2xpPgotICA8L29s
PgotPC9zZWN0aW9uPgotCi08c2VjdGlvbj4KLSAgPGgzPkluY3JlbWVudGFsIHVwZGF0ZXMgdmlh
IFBheW1lbnREZXRhaWxzQmFzZS5tb2RpZmllcnM8L2gzPgotICA8b2w+Ci0gICAgPGxpPgotICAg
ICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgIGNvbnN0IGFkZGl0aW9uYWxJdGVtID0gewotICAg
ICAgICBsYWJlbDogJ1BBU1MtRElTUExBWS1JVEVNJywKLSAgICAgICAgYW1vdW50OiB7IGN1cnJl
bmN5OiAnVVNEJywgdmFsdWU6ICczLjAwJyB9LAotICAgICAgfTsKLSAgICAgIGNvbnN0IG1vZGlm
aWVycyA9IFt7Ci0gICAgICAgIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXM6IFsgYWRkaXRpb25hbEl0
ZW0gXSwKLSAgICAgICAgc3VwcG9ydGVkTWV0aG9kczogJ2Jhc2ljLWNhcmQnLAotICAgICAgICB0
b3RhbDogewotICAgICAgICAgIGxhYmVsOiAnUEFTUy1UT1RBTCcsCi0gICAgICAgICAgYW1vdW50
OiB7IGN1cnJlbmN5OiAnVVNEJywgdmFsdWU6ICcxMjMuMDAnIH0sCi0gICAgICAgIH0sCi0gICAg
ICB9XTsKLSAgICAgIGNvbnN0IHVwZGF0ZWREZXRhaWxzID0geyBtb2RpZmllcnMgfTsKLSAgICAg
IHRlc3RGaXJlRXZlbnQodGhpcywgdXBkYXRlZERldGFpbHMpOyI+Ci0gICAgICAgIEFmdGVyIGNo
YW5naW5nIHNoaXBwaW5nIGFkZHJlc3MsIGEgbmV3IGRpc3BsYXkgaXRlbSBpcyBzaG93bgotICAg
ICAgICB3aXRoIGEgd2l0aCBsYWJlbCBQQVNTLURJU1BMQVktSVRFTSwgYW5kIHZhbHVlIG9mIEFC
QzU1LjAwIGFuZCB0aGUgdG90YWwgaXMKLSAgICAgICAgbGFiZWxsZWQgUEFTUy1UT1RBTCB3aXRo
IGEgdmFsdWUgb2YgVVNEMTIzLjAKLSAgICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0gICAgPGxp
PgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCkiPkRPTkUgLSBzZWUgcmVzdWx0czwvYnV0
dG9uPgotICAgIDwvbGk+Ci0gIDwvb2w+Ci08L3NlY3Rpb24+Ci0KLTxzbWFsbD4KLSAgSWYgeW91
IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9u
ZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3
ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2
ZW50L3VwZGF0ZVdpdGgtbWV0aG9kLWFib3J0LXVwZGF0ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1tZXRob2QtYWJvcnQtdXBkYXRl
LW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjQ0NTJj
MmE5OWQzMDFiOGVhYzAzMzA4M2UzNzk1ZTU0YmJlMTZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBk
YXRlV2l0aC1tZXRob2QtYWJvcnQtdXBkYXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjg2ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRm
OCI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50
LXJlcXVlc3QvI2Rmbi1hYm9ydC10aGUtdXBkYXRlIj4KLTx0aXRsZT4KLSAgdXBkYXRlV2l0aCgp
IG1ldGhvZCAtICJhYm9ydCB0aGUgdXBkYXRlIgotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IGV4cGxp
Y2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7Ci0KLS8vIFBheW1lbnRN
ZXRob2QKLWNvbnN0IHZhbGlkTWV0aG9kID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1l
dGhvZHM6ICJ2YWxpZC1idXQtd29udC1ldmVyLW1hdGNoIiwKLX0pOwotCi1jb25zdCB2YWxpZE1l
dGhvZEJhc2ljQ2FyZCA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFz
aWMtY2FyZCIsCi19KTsKLQotY29uc3QgYXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsKLSAgc3Vw
cG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gIGRhdGE6IHsK
LSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5l
eGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICBtZXJjaGFudENhcGFiaWxpdGll
czogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAg
fQotfSk7Ci0KLS8vIE1ldGhvZHMKLWNvbnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5mcmVlemUo
W3ZhbGlkTWV0aG9kQmFzaWNDYXJkLCB2YWxpZE1ldGhvZCwgYXBwbGVQYXldKTsKLQotLy8gQW1v
dW50cwotY29uc3QgdmFsaWRBbW91bnQgPSBPYmplY3QuZnJlZXplKHsKLSAgY3VycmVuY3k6ICJV
U0QiLAotICB2YWx1ZTogIjEuMDAiLAotfSk7Ci0KLWNvbnN0IGludmFsaWRBbW91bnQgPSBPYmpl
Y3QuZnJlZXplKHsKLSAgY3VycmVuY3k6ICLCoUlOVkFMSUQhIiwKLSAgdmFsdWU6ICJBMS4wIiwK
LX0pOwotCi1jb25zdCBuZWdhdGl2ZUFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5j
eTogIlVTRCIsCi0gIHZhbHVlOiAiLTEuMDAiLAotfSk7Ci0KLS8vIFRvdGFscwotY29uc3QgdmFs
aWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICBsYWJlbDogIlZhbGlkIFRvdGFsIiwKLSAgYW1v
dW50OiB2YWxpZEFtb3VudCwKLX0pOwotCi1jb25zdCBpbnZhbGlkVG90YWwgPSBPYmplY3QuZnJl
ZXplKHsKLSAgbGFiZWw6ICJJbnZhbGlkIFRvdGFsIiwKLSAgYW1vdW50OiBpbnZhbGlkQW1vdW50
LAotfSk7Ci0KLWNvbnN0IGludmFsaWROZWdhdGl2ZVRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0g
IGxhYmVsOiAiSW52YWxpZCBuZWdhdGl2ZSB0b3RhbCIsCi0gIGFtb3VudDogbmVnYXRpdmVBbW91
bnQsCi19KTsKLQotLy8gUGF5bWVudERldGFpbHNJbml0Ci1jb25zdCB2YWxpZERldGFpbHMgPSBP
YmplY3QuZnJlZXplKHsKLSAgdG90YWw6IHZhbGlkVG90YWwsCi19KTsKLQotY29uc3QgaW52YWxp
ZERldGFpbHNOZWdhdGl2ZVRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiBpbnZhbGlk
TmVnYXRpdmVUb3RhbCwKLX0pOwotCi0vLyBQYXltZW50T3B0aW9ucwotY29uc3QgdmFsaWRPcHRp
b25zID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwKLX0pOwotCi0v
LyBQYXltZW50SXRlbQotY29uc3QgdmFsaWRQYXltZW50SXRlbSA9IE9iamVjdC5mcmVlemUoewot
ICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICBsYWJlbDogIlZhbGlkIHBheW1lbnQgaXRlbSIsCi19
KTsKLQotY29uc3QgaW52YWxpZFBheW1lbnRJdGVtID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGFtb3Vu
dDogaW52YWxpZEFtb3VudCwKLSAgbGFiZWw6ICJJbnZhbGlkIHBheW1lbnQgaXRlbSIsCi19KTsK
LQotLy8gUGF5bWVudEl0ZW0KLWNvbnN0IHZhbGlkUGF5bWVudEl0ZW1zID0gT2JqZWN0LmZyZWV6
ZShbdmFsaWRQYXltZW50SXRlbV0pOwotY29uc3QgaW52YWxpZFBheW1lbnRJdGVtcyA9IE9iamVj
dC5mcmVlemUoW2ludmFsaWRQYXltZW50SXRlbV0pOwotCi0vLyBQYXltZW50U2hpcHBpbmdPcHRp
b24KLWNvbnN0IGludmFsaWRTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUoewotICBpZDog
ImFiYyIsCi0gIGxhYmVsOiAiSW52YWxpZCBzaGlwcGluZyBvcHRpb24iLAotICBhbW91bnQ6IGlu
dmFsaWRBbW91bnQsCi0gIHNlbGVjdGVkOiB0cnVlLAotfSk7Ci0KLS8vIFBheW1lbnRTaGlwcGlu
Z09wdGlvbnMKLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAg
aWQ6ICJhYmMiLAotICBsYWJlbDogInZhbGlkIHNoaXBwaW5nIG9wdGlvbiIsCi0gIGFtb3VudDog
dmFsaWRBbW91bnQsCi19KTsKLQotY29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbnMgPSBPYmplY3Qu
ZnJlZXplKFt2YWxpZFNoaXBwaW5nT3B0aW9uXSk7Ci1jb25zdCBpbnZhbGlkU2hpcHBpbmdPcHRp
b25zID0gT2JqZWN0LmZyZWV6ZShbaW52YWxpZFNoaXBwaW5nT3B0aW9uXSk7Ci0KLS8vIFBheW1l
bnREZXRhaWxzTW9kaWZpZXIKLWNvbnN0IHZhbGlkTW9kaWZpZXIgPSBPYmplY3QuZnJlZXplKHsK
LSAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogdmFsaWRQYXltZW50SXRlbXMsCi0gIHN1cHBvcnRl
ZE1ldGhvZHM6ICJ2YWxpZC1idXQtd29udC1ldmVyLW1hdGNoIiwKLSAgdG90YWw6IHZhbGlkVG90
YWwsCi19KTsKLQotY29uc3QgbW9kaWZpZXJXaXRoSW52YWxpZERpc3BsYXlJdGVtcyA9IE9iamVj
dC5mcmVlemUoewotICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiBpbnZhbGlkUGF5bWVudEl0ZW1z
LAotICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0gIHRvdGFsOiB2YWxpZFRvdGFs
LAotfSk7Ci0KLWNvbnN0IG1vZGlmaWVyV2l0aFZhbGlkRGlzcGxheUl0ZW1zID0gT2JqZWN0LmZy
ZWV6ZSh7Ci0gIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXM6IHZhbGlkUGF5bWVudEl0ZW1zLAotICBz
dXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0gIHRvdGFsOiB2YWxpZFRvdGFsLAotfSk7
Ci0KLWNvbnN0IG1vZGlmaWVyV2l0aEludmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICBh
ZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiB2YWxpZFBheW1lbnRJdGVtcywKLSAgc3VwcG9ydGVkTWV0
aG9kczogImJhc2ljLWNhcmQiLAotICB0b3RhbDogaW52YWxpZFRvdGFsLAotfSk7Ci0KLWNvbnN0
IHJlY3Vyc2l2ZURhdGEgPSB7fTsKLXJlY3Vyc2l2ZURhdGEuZm9vID0gcmVjdXJzaXZlRGF0YTsK
LU9iamVjdC5mcmVlemUocmVjdXJzaXZlRGF0YSk7Ci0KLWNvbnN0IG1vZGlmaWVyV2l0aFJlY3Vy
c2l2ZURhdGEgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNh
cmQiLAotICB0b3RhbDogdmFsaWRUb3RhbCwKLSAgZGF0YTogcmVjdXJzaXZlRGF0YSwKLX0pOwot
Ci1mdW5jdGlvbiB0ZXN0QmFkVXBkYXRlKGJ1dHRvbiwgYmFkRGV0YWlscywgZXhwZWN0ZWRFcnJv
ciwgZXJyb3JDb2RlKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAot
ICAgICAgdmFsaWRNZXRob2RzLAotICAgICAgdmFsaWREZXRhaWxzLAotICAgICAgdmFsaWRPcHRp
b25zCi0gICAgKTsKLSAgICByZXF1ZXN0Lm9uc2hpcHBpbmdhZGRyZXNzY2hhbmdlID0gZXZlbnQg
PT4gewotICAgICAgZXZlbnQudXBkYXRlV2l0aChiYWREZXRhaWxzKTsKLSAgICB9OwotICAgIC8v
IEZpcnN0IHdlIGNoZWNrIHRoZSBiYWQgdXBkYXRlLgotICAgIGNvbnN0IGFjY2VwdFByb21pc2Ug
PSByZXF1ZXN0LnNob3coKTsKLSAgICBsZXQgdGVzdF9mdW5jOwotICAgIGlmICh0eXBlb2YgZXhw
ZWN0ZWRFcnJvciA9PSAiZnVuY3Rpb24iKSB7Ci0gICAgICB0ZXN0X2Z1bmMgPSBwcm9taXNlX3Jl
amVjdHNfanM7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHRlc3RfZnVuYyA9IHByb21pc2VfcmVqZWN0
c19kb207Ci0gICAgfQotICAgIGF3YWl0IHRlc3RfZnVuYygKLSAgICAgIHQsCi0gICAgICBleHBl
Y3RlZEVycm9yLAotICAgICAgYWNjZXB0UHJvbWlzZSwKLSAgICAgICJiYWREZXRhaWxzIG11c3Qg
Y2F1c2UgYWNjZXB0UHJvbWlzZSB0byByZWplY3Qgd2l0aCBleHBlY3RlZEVycm9yIgotICAgICk7
Ci0gICAgLy8gVGhlIHJlcXVlc3QgW1tzdGF0ZV1dIGlzIG5vdyAiY2xvc2VkIiwgc28gbGV0J3Mg
Y2hlY2sgZm9yIEludmFsaWRTdGF0ZUVycm9yCi0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2Rv
bSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAgICAgcmVxdWVzdC5z
aG93KCksCi0gICAgICAic2hvdygpIG11c3QgcmVqZWN0IHdpdGggSW52YWxpZFN0YXRlRXJyb3Ii
Ci0gICAgKTsKLSAgfSwgYnV0dG9uLmlubmVyVGV4dC50cmltKCkpOwotfQotPC9zY3JpcHQ+Ci08
aDI+dXBkYXRlV2l0aCgpIG1ldGhvZCAtICJhYm9ydCB0aGUgdXBkYXRlIjwvaDI+Ci08cD4KLSAg
Q2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhv
dXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUg
UGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHRoZSBwYXltZW50
IHNoZWV0IGlzIHNob3duLCBjaGFuZ2UgdGhlIHNoaXBwaW5nIGFkZHJlc3MuCi08L3A+Ci08b2w+
Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAgY29uc3QgcmVqZWN0ZWRQcm9t
aXNlID0gUHJvbWlzZS5yZWplY3QobmV3IFN5bnRheEVycm9yKCd0ZXN0JykpOwotICAgICAgdGVz
dEJhZFVwZGF0ZSh0aGlzLCByZWplY3RlZFByb21pc2UsICdBYm9ydEVycm9yJyk7Ci0gICAgIj4K
LSAgICAgIFJlamVjdGlvbiBvZiBkZXRhaWxzUHJvbWlzZSBtdXN0IGFib3J0IHRoZSB1cGRhdGUg
d2l0aCBhbiAiQWJvcnRFcnJvciIgRE9NRXhjZXB0aW9uLgotICAgIDwvYnV0dG9uPgotICA8L2xp
PgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgIGNvbnN0IGludmFsaWREZXRh
aWxzID0geyB0b3RhbDogYHRoaXMgd2lsbCBjYXVzZSBhIFR5cGVFcnJvciFgIH07Ci0gICAgICB0
ZXN0QmFkVXBkYXRlKHRoaXMsIGludmFsaWREZXRhaWxzLCBUeXBlRXJyb3IpOwotICAgICI+Ci0g
ICAgICBUb3RhbCBpbiB0aGUgdXBkYXRlIGlzIGEgc3RyaW5nLCBzbyBjb252ZXJ0aW5nIHRvIElE
TCBtdXN0IGFib3J0IHRoZSB1cGRhdGUgd2l0aCBhIFR5cGVFcnJvci4KLSAgICA8L2J1dHRvbj4K
LSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICBjb25zdCBpbnZh
bGlkRGV0YWlscyA9IHsgdG90YWw6IHJlY3Vyc2l2ZURhdGEgfTsKLSAgICAgIHRlc3RCYWRVcGRh
dGUodGhpcywgaW52YWxpZERldGFpbHMsIFR5cGVFcnJvcik7Ci0gICAgIj4KLSAgICAgIFRvdGFs
IGlzIHJlY3Vyc2l2ZSwgc28gY29udmVydGluZyB0byBJREwgbXVzdCBhYm9ydCB0aGUgdXBkYXRl
IHdpdGggYSBUeXBlRXJyb3IuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8
YnV0dG9uIG9uY2xpY2s9IgotICAgICAgdGVzdEJhZFVwZGF0ZSh0aGlzLCBpbnZhbGlkRGV0YWls
c05lZ2F0aXZlVG90YWwsIFR5cGVFcnJvcik7Ci0gICAgIj4KLSAgICAgIFVwZGF0aW5nIHdpdGgg
YSBuZWdhdGl2ZSB0b3RhbCByZXN1bHRzIGluIGEgVHlwZUVycm9yLgotICAgIDwvYnV0dG9uPgot
ICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgIGNvbnN0IGJhZERl
dGFpbHMgPSBPYmplY3QuYXNzaWduKHt9LCB2YWxpZERldGFpbHMsIHsgZGlzcGxheUl0ZW1zOiBp
bnZhbGlkUGF5bWVudEl0ZW1zIH0pOwotICAgICAgdGVzdEJhZFVwZGF0ZSh0aGlzLCBiYWREZXRh
aWxzLCBSYW5nZUVycm9yKTsKLSAgICAiPgotICAgICAgVXBkYXRpbmcgd2l0aCBhIGRpc3BsYXlJ
dGVtIHdpdGggYW4gaW52YWxpZCBjdXJyZW5jeSByZXN1bHRzIGluIFJhbmdlRXJyb3IuCi0gICAg
PC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAg
Y29uc3QgZHVwbGljYXRlU2hpcHBpbmdPcHRpb25zID0gW3ZhbGlkU2hpcHBpbmdPcHRpb24sIHZh
bGlkU2hpcHBpbmdPcHRpb25dOwotICAgICAgY29uc3QgYmFkRGV0YWlscyA9IE9iamVjdC5hc3Np
Z24oe30sIHZhbGlkRGV0YWlscywgeyBzaGlwcGluZ09wdGlvbnM6IGR1cGxpY2F0ZVNoaXBwaW5n
T3B0aW9ucyB9KTsKLSAgICAgIHRlc3RCYWRVcGRhdGUodGhpcywgYmFkRGV0YWlscywgVHlwZUVy
cm9yKTsKLSAgICAiPgotICAgICAgVXBkYXRpbmcgd2l0aCBkdXBsaWNhdGUgc2hpcHBpbmdPcHRp
b25zIChzYW1lIElEcykgcmVzdWx0cyBpbiBhIFR5cGVFcnJvci4KLSAgICA8L2J1dHRvbj4KLSAg
PC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICBjb25zdCBiYWREZXRh
aWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCB7IHNoaXBwaW5nT3B0aW9uczog
aW52YWxpZFNoaXBwaW5nT3B0aW9ucyB9KTsKLSAgICAgIHRlc3RCYWRVcGRhdGUodGhpcywgYmFk
RGV0YWlscywgUmFuZ2VFcnJvcik7Ci0gICAgIj4KLSAgICAgIFVwZGF0aW5nIHdpdGggYSBzaGlw
cGluZ09wdGlvbiB3aXRoIGFuIGludmFsaWQgY3VycmVuY3kgdmFsdWUgcmVzdWx0cyBpbiBhIFJh
bmdFcnJvci4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25j
bGljaz0iCi0gICAgICAvLyB2YWxpZE1vZGlmaWVyIGlzIHRoZXJlIGFzIHRvIGF2b2lkIGZhbHNl
IHBvc2l0aXZlcyAtIGl0IHNob3VsZCBqdXN0IGdldCBpZ25vcmVkCi0gICAgICBjb25zdCBiYWRN
b2RpZmllcnMgPSB7IG1vZGlmaWVyczogWyBtb2RpZmllcldpdGhJbnZhbGlkVG90YWwsIHZhbGlk
TW9kaWZpZXIgXSB9OwotICAgICAgY29uc3QgYmFkRGV0YWlscyA9IE9iamVjdC5hc3NpZ24oe30s
IHZhbGlkRGV0YWlscywgYmFkTW9kaWZpZXJzKTsKLSAgICAgIHRlc3RCYWRVcGRhdGUodGhpcywg
YmFkRGV0YWlscywgUmFuZ2VFcnJvcik7Ci0gICAgIj4KLSAgICAgIE11c3QgdGhyb3cgYSBSYW5n
ZUVycm9yIHdoZW4gYSBtb2RpZmllcidzIHRvdGFsIGl0ZW0gaGFzIGFuIGludmFsaWQgY3VycmVu
Y3kuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9
IgotICAgICAgLy8gdmFsaWRNb2RpZmllciBpcyB0aGVyZSBhcyB0byBhdm9pZCBmYWxzZSBwb3Np
dGl2ZXMgLSBpdCBzaG91bGQganVzdCBnZXQgaWdub3JlZAotICAgICAgY29uc3QgYmFkTW9kaWZp
ZXJzID0geyBtb2RpZmllcnM6IFsgbW9kaWZpZXJXaXRoSW52YWxpZERpc3BsYXlJdGVtcywgdmFs
aWRNb2RpZmllciBdIH07Ci0gICAgICBjb25zdCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7
fSwgdmFsaWREZXRhaWxzLCBiYWRNb2RpZmllcnMpOwotICAgICAgdGVzdEJhZFVwZGF0ZSh0aGlz
LCBiYWREZXRhaWxzLCBSYW5nZUVycm9yKTsKLSAgICAiPgotICAgICAgTXVzdCB0aHJvdyBhIFJh
bmdlRXJyb3Igd2hlbiBhIG1vZGlmaWVyIGRpc3BsYXkgaXRlbSBoYXMgYW4gaW52YWxpZCBjdXJy
ZW5jeS4KLSAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNr
PSIKLSAgICAgIC8vIHZhbGlkTW9kaWZpZXIgaXMgdGhlcmUgYXMgdG8gYXZvaWQgZmFsc2UgcG9z
aXRpdmVzIC0gaXQgc2hvdWxkIGp1c3QgZ2V0IGlnbm9yZWQKLSAgICAgIGNvbnN0IGJhZE1vZGlm
aWVycyA9IHsgbW9kaWZpZXJzOiBbIG1vZGlmaWVyV2l0aFJlY3Vyc2l2ZURhdGEsIHZhbGlkTW9k
aWZpZXIgXSB9OwotICAgICAgY29uc3QgYmFkRGV0YWlscyA9IE9iamVjdC5hc3NpZ24oe30sIHZh
bGlkRGV0YWlscywgYmFkTW9kaWZpZXJzKTsKLSAgICAgIHRlc3RCYWRVcGRhdGUodGhpcywgYmFk
RGV0YWlscywgVHlwZUVycm9yKTsKLSAgICAiPgotICAgICAgTXVzdCB0aHJvdyBhcyBNb2RpZmll
ciBoYXMgYSByZWN1cnNpdmUgZGljdGlvbmFyeS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAg
PGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+RG9uZSE8L2J1dHRvbj4KLSAgPC9s
aT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxh
IGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+
ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0
aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVz
dC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLXN0YXRlLWNoZWNrcy1t
YW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0
aC1zdGF0ZS1jaGVja3MtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGZiMTZkZTU2OTlhYTc0ZTlmYjcxNzg4ZTIzNzhkZjZlMjE4NDdmMTIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RV
cGRhdGVFdmVudC91cGRhdGVXaXRoLXN0YXRlLWNoZWNrcy1tYW51YWwuaHR0cHMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDEyNSArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJz
ZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIv
cGF5bWVudC1yZXF1ZXN0LyN1cGRhdGV3aXRoKCktbWV0aG9kIj4KLTx0aXRsZT51cGRhdGVXaXRo
KCkgbWV0aG9kIC0gc3RhdGUgbWFjaGluZSBjaGVja3M8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsgZXhw
bGljaXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKLWNvbnN0IGFwcGxl
UGF5ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxl
LmNvbS9hcHBsZS1wYXkiLAotICBkYXRhOiB7Ci0gICAgdmVyc2lvbjogMywKLSAgICBtZXJjaGFu
dElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCi0gICAgY291bnRyeUNvZGU6ICJV
UyIsCi0gICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAgICBzdXBw
b3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gIH0KLX0pOwotY29uc3QgdmFsaWRNZXRob2QgPSBP
YmplY3QuZnJlZXplKHsgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiIH0pOwotY29uc3Qg
dmFsaWRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbdmFsaWRNZXRob2QsIGFwcGxlUGF5XSk7Ci1j
b25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoeyBjdXJyZW5jeTogIlVTRCIsIHZhbHVl
OiAiNS4wMCIgfSk7Ci1jb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGxhYmVs
OiAibGFiZWwiLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotfSk7Ci1jb25zdCB2YWxpZFNoaXBw
aW5nT3B0aW9uID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGlkOiAiYS1zaGlwcGluZy1vcHRpb24iLAot
ICBsYWJlbDogIkEgc2hpcHBpbmcgb3B0aW9uIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAg
c2VsZWN0ZWQ6IHRydWUsCi19KTsKLWNvbnN0IHZhbGlkRGV0YWlscyA9IE9iamVjdC5mcmVlemUo
ewotICB0b3RhbDogdmFsaWRUb3RhbCwKLSAgc2hpcHBpbmdPcHRpb25zOiBbdmFsaWRTaGlwcGlu
Z09wdGlvbl0sCi19KTsKLWNvbnN0IHZhbGlkT3B0aW9ucyA9IE9iamVjdC5mcmVlemUoewotICBy
ZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi19KTsKLQotZnVuY3Rpb24gZ2V0UGF5bWVudFByb21pc2Vz
KCkgewotICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KHZhbGlkTWV0aG9kcywg
dmFsaWREZXRhaWxzLCB2YWxpZE9wdGlvbnMpOwotICBjb25zdCBldmVudFByb21pc2UgPSBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBw
aW5nYWRkcmVzc2NoYW5nZSIsIHJlc29sdmUpOwotICB9KTsKLSAgY29uc3QgcmVzcG9uc2VQcm9t
aXNlID0gcmVxdWVzdC5zaG93KCk7Ci0gIHJldHVybiB7IGV2ZW50UHJvbWlzZSwgcmVzcG9uc2VQ
cm9taXNlIH07Ci19Ci0KLWZ1bmN0aW9uIHRlc3RSZXF1ZXN0SXNDbG9zZWQoYnV0dG9uKSB7Ci0g
IGJ1dHRvbi5kaXNhYmxlZCA9ICJ0cnVlIjsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewot
ICAgIGNvbnN0IHsgZXZlbnRQcm9taXNlLCByZXNwb25zZVByb21pc2UgfSA9IGdldFBheW1lbnRQ
cm9taXNlcygpOwotICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgZXZlbnRQcm9taXNlOwotICAgIC8v
IFdlIGFyZSBnb2luZyB0byBhYm9ydCB0aGUgcmVzcG9uc2VQcm9taXNlLCBzbyB3ZSBjYW4gaWdu
b3JlIGVycm9yLgotICAgIHJlc3BvbnNlUHJvbWlzZS5jYXRjaChlcnIgPT4gZXJyKTsKLSAgICAv
LyBTZXQgcmVxdWVzdC5bW3N0YXRlXV0gdG8gY2xvc2VkCi0gICAgYXdhaXQgZXZlbnQudGFyZ2V0
LmFib3J0KCk7Ci0gICAgYXNzZXJ0X3Rocm93c19kb20oCi0gICAgICAiSW52YWxpZFN0YXRlRXJy
b3IiLAotICAgICAgKCkgPT4gewotICAgICAgICBldmVudC51cGRhdGVXaXRoKHZhbGlkRGV0YWls
cyk7Ci0gICAgICB9LAotICAgICAgInJlcXVlc3QuW1tzdGF0ZV1dIGlzIG5vdCBpbnRlcmFjdGl2
ZSwgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvci4iCi0gICAgKTsKLSAgICByZXNwb25z
ZVByb21pc2UuY2F0Y2goZXJyID0+IGVycik7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmlt
KCkpOwotfQotCi1mdW5jdGlvbiB0ZXN0UmVxdWVzdElzVXBkYXRpbmcoYnV0dG9uKSB7Ci0gIGJ1
dHRvbi5kaXNhYmxlZCA9ICJ0cnVlIjsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAg
IGNvbnN0IHsgZXZlbnRQcm9taXNlLCByZXNwb25zZVByb21pc2UgfSA9IGdldFBheW1lbnRQcm9t
aXNlcygpOwotICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgZXZlbnRQcm9taXNlOwotICAgIC8vIFdl
IGFyZSBnb2luZyB0byBwdXQgYSBwcm9taXNlIGludG8gYSBwZW5kaW5nIHN0YXRlCi0gICAgLy8g
Y2hlY2sgdGhhdCBhIHNlY29uZCBjYWxsIHRvIHVwZGF0ZVdpdGgoKSB0aHJvd3MsCi0gICAgLy8g
dGhlbiByZXNvbHZlIHRoZSBwZW5kaW5nIHByb21pc2UgYmVsb3cuCi0gICAgbGV0IHJlc29sdmVy
OwotICAgIGNvbnN0IHBlbmRpbmdQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0g
ICAgICByZXNvbHZlciA9IHJlc29sdmU7Ci0gICAgfSk7Ci0gICAgLy8gU2V0IHJlcXVlc3QuW1t1
cGRhdGluZ11dIHRvIHRydWUKLSAgICBldmVudC51cGRhdGVXaXRoKHBlbmRpbmdQcm9taXNlKTsK
LSAgICBhc3NlcnRfdGhyb3dzX2RvbSgKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAg
ICAoKSA9PiB7Ci0gICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgodmFsaWREZXRhaWxzKTsKLSAgICAg
IH0sCi0gICAgICAicmVxdWVzdC5bW3VwZGF0aW5nXV0gdG8gdHJ1ZSwgbXVzdCB0aHJvdyBhbiBJ
bnZhbGlkU3RhdGVFcnJvci4iCi0gICAgKTsKLSAgICAvLyBXZSBnb3QgdGhlIGVycm9yIHdlIHdh
bnRlZCwgc28gbGV0J3MgcmVzb2x2ZSB3aXRoIHZhbGlkIGRldGFpbHMuCi0gICAgcmVzb2x2ZXIo
dmFsaWREZXRhaWxzKTsKLSAgICBhd2FpdCBwZW5kaW5nUHJvbWlzZTsKLSAgICBhd2FpdCBldmVu
dC50YXJnZXQuYWJvcnQoKTsKLSAgICByZXNwb25zZVByb21pc2UuY2F0Y2goZXJyID0+IGVycik7
Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfQotCi08L3NjcmlwdD4KLTxoMj51
cGRhdGVXaXRoKCkgbWV0aG9kIC0gc3RhdGUgbWFjaGluZSBjaGVja3M8L2gyPgotPHA+Ci0gIENs
aWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0
IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBh
eW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hlbiB0aGUgcGF5bWVudCBz
aGVldCBpcyBzaG93biwgc2VsZWN0IGEgZGlmZmVyZW50IHNoaXBwaW5nIGFkZHJlc3Mgb25jZS4g
VGhlbiBwYXkuCi08L3A+Ci08b2w+Ci0gIDxsaSBpZD0idGVzdC0wIj4KLSAgICA8YnV0dG9uIG9u
Y2xpY2s9InRlc3RSZXF1ZXN0SXNDbG9zZWQodGhpcyk7Ij4KLSAgICAgIFdoZW4gdXBkYXRlV2l0
aCgpIGlzIGNhbGxlZCwgaWYgcmVxdWVzdC5bW3N0YXRlXV0gaXMgbm90ICJpbnRlcmFjdGl2ZSIs
IHRoZW4gdGhyb3cgYW4gIiBJbnZhbGlkU3RhdGVFcnJvciIgRE9NRXhjZXB0aW9uLgotICAgIDwv
YnV0dG9uPgotICA8L2xpPgotICA8bGkgaWQ9InRlc3QtMSI+Ci0gICAgPGJ1dHRvbiBvbmNsaWNr
PSJ0ZXN0UmVxdWVzdElzVXBkYXRpbmcodGhpcyk7Ij4KLSAgICAgIFdoZW4gdXBkYXRlV2l0aCgp
IGlzIGNhbGxlZCwgSWYgcmVxdWVzdC5bW3VwZGF0aW5nXV0gaXMgdHJ1ZSwgdGhlbiB0aHJvdyBh
biAiSW52YWxpZFN0YXRlRXJyb3IiIERPTUV4Y2VwdGlvbi4KLSAgICA8L2J1dHRvbj4KLSAgPC9s
aT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+RG9uZSE8L2J1dHRvbj4K
LSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxl
YXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lz
c3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQt
cmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdzNjLWltcG9ydC5sb2cKaW5kZXggZDQ2ODk5Mzk3
MWY1YTFmOTUyNmU3NDYxYmExODNjMzQ0MDgxYjk2MS4uYWZlN2I1YzM1ZDI4YTBmNzM2YWU3Mjc3
OTA1M2JkZjQxY2Y1NjIxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVu
dC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3czYy1p
bXBvcnQubG9nCkBAIC0xNiw5ICsxNiw0IEBAIE5vbmUKIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5
bWVudFJlcXVlc3RVcGRhdGVFdmVudC9jb25zdHJ1Y3Rvci5odHRwLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50
UmVxdWVzdFVwZGF0ZUV2ZW50L2NvbnN0cnVjdG9yLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVx
dWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtY2FsbC1pbW1lZGlhdGUtbWFudWFsLmh0dHBzLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtZHVwbGljYXRlLXNo
aXBwaW5nLW9wdGlvbnMtbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0
ZUV2ZW50L3VwZGF0ZVdpdGgtaW5jcmVtZW50YWwtdXBkYXRlLW1hbnVhbC5odHRwcy5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLW1ldGhvZC1hYm9ydC11cGRh
dGUtbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0
ZVdpdGgtc3RhdGUtY2hlY2tzLW1hbnVhbC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RV
cGRhdGVFdmVudC91cGRhdGV3aXRoLW1ldGhvZC5odHRwcy5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9Q
YXltZW50VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1lcnJvci1tZW1iZXItbWFudWFsLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1lcnJvci1t
ZW1iZXItbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkx
MzU1MjBjZDc2MmYzZTYyODZiNWYzYmE1NzJmODhjYWU5MjBmYTEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMv
cmV0cnktc2hvd3MtZXJyb3ItbWVtYmVyLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNTAgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
LTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVx
dWVzdC8jZG9tLXBheW1lbnR2YWxpZGF0aW9uZXJyb3JzLWVycm9yIj4KLTx0aXRsZT4KLSAgUGF5
bWVudFZhbGlkYXRpb25FcnJvcnMnIGBlcnJvcmAgbWVtYmVyCi08L3RpdGxlPgotPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L3BheW1lbnQtcmVzcG9uc2UvaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rp
b24gcmV0cnlTaG93c0Vycm9yTWVtYmVyKGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0
cnVlOwotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgeyByZXNwb25zZSB9
ID0gYXdhaXQgZ2V0UGF5bWVudFJlcXVlc3RSZXNwb25zZSgpOwotICAgIGF3YWl0IHJlc3BvbnNl
LnJldHJ5KHsgZXJyb3I6ICJQQVNTIiB9KTsKLSAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgi
c3VjY2VzcyIpOwotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLTwvc2NyaXB0
PgotPGgyPgotICBNYW51YWwgVGVzdCBmb3IgUGF5bWVudFZhbGlkYXRpb25FcnJvcnMncyBgZXJy
b3JgIG1lbWJlciAtIFBsZWFzZSBydW4gaW4gb3JkZXIhCi08L2gyPgotPHA+Ci0gIENsaWNrIG9u
IGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJl
c2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQg
UmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hlbiBwcmVzZW50ZWQgd2l0aCB0aGUg
cGF5bWVudCBzaGVldCwgdXNlIGFueSBjYXJkIGFuZCBzZWxlY3QgdG8gIlBheSIuCi0gIFlvdSB3
aWxsIGJlIGFza2VkIHRvIHJldHJ5IHRoZSBwYXltZW50IGFuZCBhbiBlcnJvciBzaG91bGQgYmUg
c2hvd24gc29tZXdoZXJlCi0gIGluIHRoZSBVSS4gVGhlIGV4cGVjdGVkIGVycm9yIHN0cmluZyBp
cyBkZXNjcmliZWQgaW4gZWFjaCBpbmRpdmlkdWFsIHRlc3QuCi0gIElmIHlvdSBzZWUgdGhlIGVy
cm9yLCBoaXQgIlBheSIgYWdhaW4uIElmIHlvdSBkb24ndCBzZWUgdGhlIGVycm9yLAotICBhYm9y
dCB0aGUgcGF5bWVudCByZXF1ZXN0IGJ5IGhpdHRpbmcgImVzYyIgLSB3aGljaCBtZWFucyB0aGF0
IHBhcnRpY3VsYXIgdGVzdAotICBoYXMgZmFpbGVkLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAg
PGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzRXJyb3JNZW1iZXIodGhpcyk7Ij4KLSAgICAgIFRo
ZSBwYXltZW50IHNoZWV0IHNob3dzIHRoZSBlcnJvciAiUEFTUyIgc29tZXdoZXJlIGluIHRoZSBV
SS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0i
ZG9uZSgpOyI+Ci0gICAgICBEb25lIQotICAgIDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxz
bWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9h
PgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5v
d25lcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJy
b3JzL3JldHJ5LXNob3dzLXBheWVyLW1lbWJlci1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1l
bnRWYWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNob3dzLXBheWVyLW1lbWJlci1tYW51YWwuaHR0cHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjgxMTVlNjllYzVkN2MzMTcyYTZl
NDJkNGU0NDY4OThkMDRmOWE4Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1wYXllci1t
ZW1iZXItbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08
IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5bWVudHZh
bGlkYXRpb25lcnJvcnMtcGF5ZXIiPgotPHRpdGxlPgotICBQYXltZW50VmFsaWRhdGlvbkVycm9y
cycgYHBheWVyYCBtZW1iZXIKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcGF5bWVudC1yZXNwb25zZS9o
ZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiByZXRyeVNob3dzUGF5ZXJN
ZW1iZXIoYnV0dG9uLCBlcnJvcikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3Qgb3B0aW9ucyA9IHsKLSAgICAgIHJlcXVl
c3RQYXllck5hbWU6IHRydWUsCi0gICAgICByZXF1ZXN0UGF5ZXJFbWFpbDogdHJ1ZSwKLSAgICAg
IHJlcXVlc3RQYXllclBob25lOiB0cnVlLAotICAgIH0KLSAgICBjb25zdCB7IHJlc3BvbnNlIH0g
PSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKG9wdGlvbnMpOwotICAgIGF3YWl0IHJl
c3BvbnNlLnJldHJ5KHsgcGF5ZXI6IGVycm9yIH0pOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBs
ZXRlKCJzdWNjZXNzIik7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfQotPC9z
Y3JpcHQ+Ci08aDI+Ci0gIE1hbnVhbCBUZXN0IGZvciBQYXltZW50VmFsaWRhdGlvbkVycm9ycycg
YHBheWVyYCBtZW1iZXIgLSBQbGVhc2UgcnVuIGluIG9yZGVyIQotPC9oMj4KLTxwPgotICBDbGlj
ayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCBy
ZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXlt
ZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gcHJlc2VudGVkIHdpdGgg
dGhlIHBheW1lbnQgc2hlZXQsIHVzZSBhbnkgY2FyZCBhbmQgc2VsZWN0IHRvICJQYXkiLgotICBZ
b3Ugd2lsbCBiZSBhc2tlZCB0byByZXRyeSB0aGUgcGF5bWVudCBhbmQgYW4gZXJyb3Igc2hvdWxk
IGJlIHNob3duIHNvbWV3aGVyZQotICBpbiB0aGUgVUkuIFRoZSBleHBlY3RlZCBlcnJvciBzdHJp
bmcgaXMgZGVzY3JpYmVkIGluIGVhY2ggaW5kaXZpZHVhbCB0ZXN0LgotICBJZiB5b3Ugc2VlIHRo
ZSBlcnJvciwgaGl0ICJQYXkiIGFnYWluLiBJZiB5b3UgZG9uJ3Qgc2VlIHRoZSBlcnJvciwKLSAg
YWJvcnQgdGhlIHBheW1lbnQgcmVxdWVzdCBieSBoaXR0aW5nICJlc2MiIC0gd2hpY2ggbWVhbnMg
dGhhdCBwYXJ0aWN1bGFyIHRlc3QKLSAgaGFzIGZhaWxlZC4KLTwvcD4KLTxvbD4KLSAgPGxpPgot
ICAgIDxidXR0b24gb25jbGljaz0icmV0cnlTaG93c1BheWVyTWVtYmVyKHRoaXMsIHsgZW1haWw6
ICdFTUFJTCBFUlJPUicgfSk7Ij4KLSAgICAgIFRoZSBwYXltZW50IHNoZWV0IHNob3dzICJFTUFJ
TCBFUlJPUiIgZm9yIHRoZSBwYXllcidzIGVtYWlsLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzUGF5ZXJNZW1iZXIodGhpcywg
eyBuYW1lOiAnTkFNRSBFUlJPUicgfSk7Ij4KLSAgICAgIFRoZSBwYXltZW50IHNoZWV0IHNob3dz
ICJOQU1FIEVSUk9SIiBmb3IgdGhlIHBheWVyJ3MgbmFtZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9s
aT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icmV0cnlTaG93c1BheWVyTWVtYmVyKHRo
aXMsIHsgcGhvbmU6ICdQSE9ORSBFUlJPUicgfSk7Ij4KLSAgICAgIFRoZSBwYXltZW50IHNoZWV0
IHNob3dzICJQSE9ORSBFUlJPUiIgZm9yIHRoZSBwYXllcidzIHBob25lIG51bWJlci4KLSAgICA8
L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+
Ci0gICAgICBEb25lIQotICAgIDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAg
SWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQg
dGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5vd25lcnM8L2E+
LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzL3JldHJ5
LXNob3dzLXNoaXBwaW5nQWRkcmVzcy1tZW1iZXItbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXlt
ZW50VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1zaGlwcGluZ0FkZHJlc3MtbWVtYmVyLW1h
bnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NGU2ZmE1MTA1
YjIwYTcxMjcyOTJkZTU3YWRjZmIyMGYzYjgwNmU4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNo
b3dzLXNoaXBwaW5nQWRkcmVzcy1tZW1iZXItbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMDMgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQt
cmVxdWVzdC8jZG9tLXBheW1lbnR2YWxpZGF0aW9uZXJyb3JzLXNoaXBwaW5nYWRkcmVzcyI+Ci08
dGl0bGU+Ci0gIFBheW1lbnRWYWxpZGF0aW9uRXJyb3JzJyBgc2hpcHBpbmdBZGRyZXNzYCBtZW1i
ZXIgKEFkZHJlc3NFcnJvcnMpCi08L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3BheW1lbnQtcmVzcG9uc2Uv
aGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gcmV0cnlTaG93c1NoaXBw
aW5nQWRkcmVzc01lbWJlcihidXR0b24sIGVycm9yKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRy
dWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCBvcHRpb25zID0gewot
ICAgICAgcmVxdWVzdFNoaXBwaW5nOiB0cnVlLAotICAgIH0KLSAgICBjb25zdCB7IHJlc3BvbnNl
IH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKG9wdGlvbnMpOwotICAgIGF3YWl0
IHJlc3BvbnNlLnJldHJ5KHsgc2hpcHBpbmdBZGRyZXNzOiBlcnJvciB9KTsKLSAgICBhd2FpdCBy
ZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOwotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJp
bSgpKTsKLX0KLTwvc2NyaXB0PgotPGgyPgotICBNYW51YWwgVGVzdCBmb3IgUGF5bWVudFZhbGlk
YXRpb25FcnJvcnMnIGBzaGlwcGluZ0FkZHJlc3NgIG1lbWJlciAtIFBsZWFzZSBydW4gaW4gb3Jk
ZXIhCi08L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20g
dG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9u
IHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4K
LSAgV2hlbiBwcmVzZW50ZWQgd2l0aCB0aGUgcGF5bWVudCBzaGVldCwgdXNlIGFueSBjYXJkIGFu
ZCBzZWxlY3QgdG8gIlBheSIuCi0gIFlvdSB3aWxsIGJlIGFza2VkIHRvIHJldHJ5IHRoZSBwYXlt
ZW50IGFuZCBhbiBlcnJvciBzaG91bGQgYmUgc2hvd24gc29tZXdoZXJlCi0gIGluIHRoZSBVSS4g
VGhlIGV4cGVjdGVkIGVycm9yIHN0cmluZyBpcyBkZXNjcmliZWQgaW4gZWFjaCBpbmRpdmlkdWFs
IHRlc3QuCi0gIElmIHlvdSBzZWUgdGhlIGVycm9yLCBoaXQgIlBheSIgYWdhaW4uIElmIHlvdSBk
b24ndCBzZWUgdGhlIGVycm9yLAotICBhYm9ydCB0aGUgcGF5bWVudCByZXF1ZXN0IGJ5IGhpdHRp
bmcgImVzYyIgLSB3aGljaCBtZWFucyB0aGF0IHBhcnRpY3VsYXIgdGVzdAotICBoYXMgZmFpbGVk
LgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzU2hp
cHBpbmdBZGRyZXNzTWVtYmVyKHRoaXMsIHsgYWRkcmVzc0xpbmU6ICdBRERSRVNTTElORSBFUlJP
UicgfSk7Ij4KLSAgICAgIFRoZSBwYXltZW50IHNoZWV0IHNob3dzICJBRERSRVNTTElORSBFUlJP
UiIgZm9yIHRoZSBzaGlwcGluZyBhZGRyZXNzJyBhZGRyZXNzTGluZS4KLSAgICA8L2J1dHRvbj4K
LSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icmV0cnlTaG93c1NoaXBwaW5n
QWRkcmVzc01lbWJlcih0aGlzLCB7IGNpdHk6ICdDSVRZIEVSUk9SJyB9KTsiPgotICAgICAgVGhl
IHBheW1lbnQgc2hlZXQgc2hvd3MgIkNJVFkgRVJST1IiIGZvciB0aGUgc2hpcHBpbmcgYWRkcmVz
cycgY2l0eS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25j
bGljaz0icmV0cnlTaG93c1NoaXBwaW5nQWRkcmVzc01lbWJlcih0aGlzLCB7IGNvdW50cnk6ICdD
T1VOVFJZIEVSUk9SJyB9KTsiPgotICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgIkNPVU5U
UlkgRVJST1IiIGZvciB0aGUgc2hpcHBpbmcgYWRkcmVzcycgY291bnRyeS4KLSAgICA8L2J1dHRv
bj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icmV0cnlTaG93c1NoaXBw
aW5nQWRkcmVzc01lbWJlcih0aGlzLCB7IGRlcGVuZGVudExvY2FsaXR5OiAnREVQRU5ERU5UTE9D
QUxJVFkgRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93cyAiREVQRU5E
RU5UTE9DQUxJVFkgRVJST1IiIGZvciB0aGUgc2hpcHBpbmcgYWRkcmVzcycgZGVwZW5kZW50TG9j
YWxpdHkuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xp
Y2s9InJldHJ5U2hvd3NTaGlwcGluZ0FkZHJlc3NNZW1iZXIodGhpcywgeyBvcmdhbml6YXRpb246
ICdPUkdBTklaQVRJT04gRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93
cyAiT1JHQU5JWkFUSU9OIEVSUk9SIiBmb3IgdGhlIHNoaXBwaW5nIGFkZHJlc3MnIG9yZ2FuaXph
dGlvbi4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGlj
az0icmV0cnlTaG93c1NoaXBwaW5nQWRkcmVzc01lbWJlcih0aGlzLCB7IHBob25lOiAnUEhPTkUg
RVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93cyAiUEhPTkUgRVJST1Ii
IGZvciB0aGUgc2hpcHBpbmcgYWRkcmVzcycgcGhvbmUuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+
Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJldHJ5U2hvd3NTaGlwcGluZ0FkZHJlc3NN
ZW1iZXIodGhpcywgeyBwb3N0YWxDb2RlOiAnUE9TVEFMQ09ERSBFUlJPUicgfSk7Ij4KLSAgICAg
IFRoZSBwYXltZW50IHNoZWV0IHNob3dzICJQT1NUQUxDT0RFIEVSUk9SIiBmb3IgdGhlIHNoaXBw
aW5nIGFkZHJlc3MnIHBvc3RhbCBjb2RlLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVyKHRo
aXMsIHsgcmVjaXBpZW50OiAnUkVDSVBJRU5UIEVSUk9SJyB9KTsiPgotICAgICAgVGhlIHBheW1l
bnQgc2hlZXQgc2hvd3MgIlJFQ0lQSUVOVCBFUlJPUiIgZm9yIHRoZSBzaGlwcGluZyBhZGRyZXNz
JyByZWNpcGllbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9u
IG9uY2xpY2s9InJldHJ5U2hvd3NTaGlwcGluZ0FkZHJlc3NNZW1iZXIodGhpcywgeyByZWdpb246
ICdSRUdJT04gRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93cyAiUkVH
SU9OIEVSUk9SIiBmb3IgdGhlIHNoaXBwaW5nIGFkZHJlc3MnIHJlZ2lvbi4KLSAgICA8L2J1dHRv
bj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icmV0cnlTaG93c1NoaXBw
aW5nQWRkcmVzc01lbWJlcih0aGlzLCB7IHJlZ2lvbkNvZGU6ICdSRUdJT05DT0RFIEVSUk9SJyB9
KTsiPgotICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgIlJFR0lPTkNPREUgRVJST1IiIGZv
ciB0aGUgc2hpcHBpbmcgYWRkcmVzcycgcmVnaW9uIGNvZGUuCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJldHJ5U2hvd3NTaGlwcGluZ0FkZHJl
c3NNZW1iZXIodGhpcywgeyBzb3J0aW5nQ29kZTogJ1NPUlRJTkdDT0RFIEVSUk9SJyB9KTsiPgot
ICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgIlNPUlRJTkdDT0RFIEVSUk9SIiBmb3IgdGhl
IHNoaXBwaW5nIGFkZHJlc3MnIHNvcnRpbmcgY29kZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4K
LSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+Ci0gICAgICBEb25lIQotICAg
IDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdn
eSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEg
aHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0
ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5vd25lcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L2FsZ29yaXRobXMtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGdvcml0aG1zLW1h
bnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTBjMzEyYWJh
M2JmNDk3ODk4NmRlZmUwMGY1MTk1Yzc0Yjg4YjYxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsZ29yaXRobXMtbWFudWFsLmh0dHBzLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxNzYgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3BheW1lbnQtcmVxdWVzdC8jYWxnb3JpdGhtcyI+Ci08dGl0bGU+Ci0gIFBheW1lbnQgUmVxdWVz
dCBhbGdvcml0aG1zCi08L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsKLSAgZXhwbGljaXRfZG9uZTogdHJ1
ZSwKLSAgZXhwbGljaXRfdGltZW91dDogdHJ1ZSwKLX0pOwotY29uc3QgbWV0aG9kcyA9IFsKLSAg
ewotICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiwKLSAgfSwKLSAgewotICAgIHN1
cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICAgIGRhdGE6
IHsKLSAgICAgIHZlcnNpb246IDMsCi0gICAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFu
dC5jb20uZXhhbXBsZSIsCi0gICAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICAgIG1lcmNoYW50
Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgICBzdXBwb3J0ZWROZXR3b3Jrczog
WyJ2aXNhIl0sCi0gICAgfSwKLSAgfQotXTsKLWNvbnN0IHNoaXBwaW5nT3B0aW9ucyA9IHsKLSAg
c2hpcHBpbmdPcHRpb25zOiBbCi0gICAgewotICAgICAgaWQ6ICJmYWlsIiwKLSAgICAgIGxhYmVs
OiAiT3B0aW9uIDEiLAotICAgICAgYW1vdW50OiB7Ci0gICAgICAgIGN1cnJlbmN5OiAiVVNEIiwK
LSAgICAgICAgdmFsdWU6ICI1LjAwIiwKLSAgICAgIH0sCi0gICAgICBzZWxlY3RlZDogdHJ1ZSwK
LSAgICB9LAotICAgIHsKLSAgICAgIGlkOiAicGFzcyIsCi0gICAgICBsYWJlbDogIk9wdGlvbiAy
IiwKLSAgICAgIGFtb3VudDogewotICAgICAgICBjdXJyZW5jeTogIlVTRCIsCi0gICAgICAgIHZh
bHVlOiAiNS4wMCIsCi0gICAgICB9LAotICAgIH0sCi0gIF0sCi19OwotCi1jb25zdCBkZXRhaWxz
Tm9TaGlwcGluZ09wdGlvbnMgPSB7Ci0gIHRvdGFsOiB7Ci0gICAgbGFiZWw6ICJUb3RhbCBkdWUi
LAotICAgIGFtb3VudDogewotICAgICAgY3VycmVuY3k6ICJVU0QiLAotICAgICAgdmFsdWU6ICIx
LjAiLAotICAgIH0sCi0gIH0sCi19OwotCi1jb25zdCBkZXRhaWxzV2l0aFNoaXBwaW5nT3B0aW9u
cyA9IE9iamVjdC5hc3NpZ24oCi0gIHsKLSAgICB0b3RhbDogewotICAgICAgbGFiZWw6ICJUb3Rh
bCBkdWUiLAotICAgICAgYW1vdW50OiB7Ci0gICAgICAgIGN1cnJlbmN5OiAiVVNEIiwKLSAgICAg
ICAgdmFsdWU6ICIxLjAiLAotICAgICAgfSwKLSAgICB9LAotICB9LAotICBzaGlwcGluZ09wdGlv
bnMKLSk7Ci0KLWNvbnN0IG9wdGlvbnMgPSB7Ci0gIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwKLX07
Ci0KLWZ1bmN0aW9uIHRlc3RGaXJlRXZlbnQoYnV0dG9uLCBkZXRhaWxzLCBldmVudE5hbWUsIGV4
cGVjdFJlcXVlc3RQcm9wcykgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgbmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGRldGFp
bHNOb1NoaXBwaW5nT3B0aW9ucywgb3B0aW9ucyk7Ci0gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQ
YXltZW50UmVxdWVzdChtZXRob2RzLCBkZXRhaWxzLCBvcHRpb25zKTsKLSAgICBjb25zdCBoYW5k
bGVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgcmVxdWVzdFtgb24k
e2V2ZW50TmFtZX1gXSA9IGV2ZW50ID0+IHsKLSAgICAgICAgLy8gInByZXZlbnQgaW1tZWRpYXRl
IHByb3BhZ2F0aW9uIiBmbGFnIGlzIHNldC4KLSAgICAgICAgLy8gVGhpcyBsaXN0ZW5lciBiZWxv
dyB3b24ndCBmaXJlIQotICAgICAgICBldmVudC51cGRhdGVXaXRoKGRldGFpbHMpOwotICAgICAg
ICByZXNvbHZlKGV2ZW50KTsKLSAgICAgIH07Ci0gICAgfSk7Ci0gICAgLy8gVGhpcyBsaXN0ZW5l
ciBzaG91bGQgbmV2ZXIgZmlyZSBiZWNhdXNlIHRoZQotICAgIC8vIHRoZSBldmVudCBoYW5kbGVy
IGNhdXNlZCAicHJldmVudCBpbW1lZGlhdGUgcHJvcGFnYXRpb24iIHRvIGJlIHNldC4KLSAgICBy
ZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoCi0gICAgICBldmVudE5hbWUsCi0gICAgICB0LnVucmVh
Y2hlZF9mdW5jKCJTZWNvbmQgZXZlbnQgbGlzdGVuZXIgc2hvdWxkIG5ldmVyIGZpcmUiKQotICAg
ICk7Ci0gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKLSAgICBjb25z
dCBldmVudCA9IGF3YWl0IGhhbmRsZXJQcm9taXNlOwotICAgIGFzc2VydF90cnVlKAotICAgICAg
ZXZlbnQgaW5zdGFuY2VvZiB3aW5kb3cuUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCwKLSAgICAg
ICJFeHBlY3RlZCBpbnN0YW5jZXMgb2YgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCIKLSAgICAp
OwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Ci0gIH0sIGJ1dHRvbi50
ZXh0Q29udGVudC50cmltKCkpOwotfQotCi1hc3luYyBmdW5jdGlvbiBydW5BYm9ydFRlc3QoYnV0
dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIGNvbnN0IHsgdGV4dENvbnRlbnQ6
IHRlc3ROYW1lIH0gPSBidXR0b247Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBj
b25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGRldGFpbHNOb1NoaXBw
aW5nT3B0aW9ucyk7Ci0gICAgLy8gQXdhaXQgdGhlIHVzZXIgdG8gYWJvcnQKLSAgICBhd2FpdCBw
cm9taXNlX3JlamVjdHNfZG9tKHQsICJBYm9ydEVycm9yIiwgcmVxdWVzdC5zaG93KCkpOwotICAg
IC8vIFtbc3RhdGVdXSBpcyBub3cgY2xvc2VkCi0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2Rv
bSh0LCAiSW52YWxpZFN0YXRlRXJyb3IiLCByZXF1ZXN0LnNob3coKSk7Ci0gIH0sIHRlc3ROYW1l
LnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj4KLSAgVGVzdHMgZm9yICJhbGdvcml0aG1zIiBz
ZWN0aW9uCi08L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZy
b20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0
dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08
c2VjdGlvbj4KLSAgPGgzIGlkPSJhYm9ydC1hbGdvIj4KLSAgICBVc2VyIGFib3J0cyB0aGUgcGF5
bWVudCByZXF1ZXN0IGFsZ29yaXRobQotICA8L2gzPgotICA8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI3VzZXItYWJvcnRzLXRoZS1w
YXltZW50LXJlcXVlc3QtYWxnb3JpdGhtIj4KLSAgPHA+Ci0gICAgV2hlbiBwcmVzZW50ZWQgd2l0
aCB0aGUgcGF5bWVudCBzaGVldCwgYWJvcnQgdGhlIHBheW1lbnQgcmVxdWVzdCAoZS5nLiwgYnkg
aGl0dGluZyB0aGUgZXNjIGtleSBvciBwcmVzc2luZyBhIFVBIHByb3ZpZGVkIGJ1dHRvbikuCi0g
IDwvcD4KLSAgPG9sPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0icnVuQWJvcnRU
ZXN0KHRoaXMpOyI+Ci0gICAgICBJZiB0aGUgdXNlciBhYm9ydHMsIHRoZSBVQSBtdXN0IHJ1biB0
aGUgdXNlciBhYm9ydHMgdGhlIHBheW1lbnQgcmVxdWVzdCBhbGdvcml0aG0uCi0gICAgPC9idXR0
b24+Ci0gICAgPC9saT4KLSAgPC9vbD4KLTwvc2VjdGlvbj4KLQotPHNlY3Rpb24+Ci0gIDxoMyBp
ZD0ic2hpcHBpbmctYWRkcmVzcy1jaGFuZ2VkLWFsZ28iPlNoaXBwaW5nIGFkZHJlc3MgY2hhbmdl
ZCBhbGdvcml0aG08L2gzPgotICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9wYXltZW50LXJlcXVlc3QvI3NoaXBwaW5nLWFkZHJlc3MtY2hhbmdlZC1hbGdvcml0
aG0iPgotICA8cD4KLSAgICBXaGVuIHByb21wdGVkLCBwbGVhc2UgY2hhbmdlIG9yIGVudGVyIGEg
bmV3IHNoaXBwaW5nIGFkZHJlc3MgYW5kIHRoZW4gc2VsZWN0IFBheS4KLSAgPC9wPgotICA8b2w+
Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0RmlyZUV2ZW50KHRoaXMsIGRl
dGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zLCAnc2hpcHBpbmdhZGRyZXNzY2hhbmdlJywge30pOyI+
Ci0gICAgICBUaGUgc2hpcHBpbmcgYWRkcmVzcyBjaGFuZ2VkIGFsZ29yaXRobSBydW5zIHdoZW4g
dGhlIHVzZXIgcHJvdmlkZXMgYSBuZXcgc2hpcHBpbmcgYWRkcmVzcy4KLSAgICA8L2J1dHRvbj4K
LSAgICA8L2xpPgotICA8L29sPgotPC9zZWN0aW9uPgotCi08c2VjdGlvbj4KLSAgPGgzIGlkPSJz
aGlwcGluZy1vcHRpb24tY2hhbmdlZC1hbGdvIj5TaGlwcGluZyBvcHRpb24gY2hhbmdlZCBhbGdv
cml0aG08L2gzPgotICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9wYXltZW50LXJlcXVlc3QvI3NoaXBwaW5nLW9wdGlvbi1jaGFuZ2VkLWFsZ29yaXRobSI+Ci0g
IDxwPgotICAgIEZpbmFsbHksIHdoZW4gcHJvbXB0ZWQsIHBsZWFzZSBzZWxlY3QgInNoaXBwaW5n
IG9wdGlvbiAyIiBhbmQgdGhlbiBzZWxlY3QgUGF5LgotICA8L3A+Ci0gIDxvbD4KLSAgICA8bGk+
Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RGaXJlRXZlbnQodGhpcywgZGV0YWlsc1dpdGhT
aGlwcGluZ09wdGlvbnMsICdzaGlwcGluZ29wdGlvbmNoYW5nZScsIHt9LCAncGFzcycpOyBkb25l
KCk7Ij4KLSAgICAgIFRoZSBzaGlwcGluZyBvcHRpb24gY2hhbmdlZCBhbGdvcml0aG0gcnVucyB3
aGVuIHRoZSB1c2VyIGNob29zZXMgYSBuZXcgc2hpcHBpbmcgb3B0aW9uLgotICAgIDwvYnV0dG9u
PgotICAgIDwvbGk+Ci0gIDwvb2w+Ci08L3NlY3Rpb24+Ci0KLTxzbWFsbD4KLSAgSWYgeW91IGZp
bmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBv
ZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQv
YmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJz
PC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZlLWRvY3Vt
ZW50LWNyb3NzLW9yaWdpbi5odHRwcy5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50
L2FjdGl2ZS1kb2N1bWVudC1jcm9zcy1vcmlnaW4uaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40YTk5Y2ZiY2Q1ZGJkZjViMGZlMTY3MDM0MWZjNWJhZGJhOGU1ZjRjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1bWVudC1jcm9zcy1vcmlnaW4u
aHR0cHMuc3ViLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0Jsb2NrZWQgYWNjZXNzIHRv
IGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvY29tbW9uL2JsYW5rLmh0
bWwKKworCitQQVNTIFBheW1lbnRSZXF1ZXN0IDxpZnJhbWUgYWxsb3c9InBheW1lbnQiPiBpbiBu
b24tYWN0aXZlIGRvY3VtZW50IChjcm9zcy1vcmlnaW4pCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93
cGF5bWVudC9hY3RpdmUtZG9jdW1lbnQtY3Jvc3Mtb3JpZ2luLmh0dHBzLnN1Yi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
YWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1bWVudC1jcm9zcy1vcmlnaW4uaHR0cHMuc3ViLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYmI3NjczNTAyN2QwYjg4MzI3NjZhYWM1MzQ4ZjU0NWE3NjY3ZDljNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9hY3RpdmUtZG9jdW1lbnQtY3Jvc3Mtb3Jp
Z2luLmh0dHBzLnN1Yi5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhZG9jdHlwZSBodG1sPgorPHRp
dGxlPlBheW1lbnRSZXF1ZXN0ICZsdDtpZnJhbWUgYWxsb3c9InBheW1lbnQiPiBpbiBub24tYWN0
aXZlIGRvY3VtZW50IChjcm9zcy1vcmlnaW4pPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L2NvbW1vbi91dGlscy5qcz48
L3NjcmlwdD4KKzxpZnJhbWUgaWQ9ImlmcmFtZSIgYWxsb3c9InBheW1lbnQiPjwvaWZyYW1lPgor
PHNjcmlwdD4KK2FzeW5jX3Rlc3QoKHQpID0+IHsKKyAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpOworICBjb25zdCBwYXltZW50QXJncyA9IFtbe3N1cHBv
cnRlZE1ldGhvZHM6ICdmb28nfV0sIHt0b3RhbDoge2xhYmVsOiAnbGFiZWwnLCBhbW91bnQ6IHtj
dXJyZW5jeTogJ1VTRCcsIHZhbHVlOiAnNS4wMCd9fX1dOworCisgIG9ubG9hZCA9ICgpID0+IHsK
KyAgICBjb25zdCB3aW4gPSB3aW5kb3dbMF07CisgICAgY29uc3QgZG9tRXhjZXB0aW9uID0gd2lu
LkRPTUV4Y2VwdGlvbjsKKyAgICBjb25zdCBwckNvbnN0cnVjdG9yID0gd2luLlBheW1lbnRSZXF1
ZXN0OworICAgIHdpbi5sb2NhdGlvbi5ocmVmID0gbWFrZV9hYnNvbHV0ZV91cmwoeworICAgICAg
aG9zdG5hbWU6ICd7e2RvbWFpbnNbd3d3MV19fScsCisgICAgICBwYXRoOiAnL2NvbW1vbi9ibGFu
ay5odG1sJworICAgIH0pOworICAgIGlmcmFtZS5vbmxvYWQgPSB0LnN0ZXBfZnVuY19kb25lKCgp
ID0+IHsKKyAgICAgIGNvbnN0IGZ1bmMgPSAoKSA9PiB7CisgICAgICAgIG5ldyBwckNvbnN0cnVj
dG9yKC4uLnBheW1lbnRBcmdzKTsKKyAgICAgIH0KKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdT
ZWN1cml0eUVycm9yJywgZG9tRXhjZXB0aW9uLCBmdW5jKTsKKyAgICB9KTsKKyAgfQorfSk7Cis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9hY3RpdmUtZG9jdW1lbnQtc2Ft
ZS1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1
bWVudC1zYW1lLW9yaWdpbi5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI4NmE0ODJm
MzBkYTcxYWI5MmJmZTUwNGQ4MTZmYmI4N2NhOTlmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2Fs
bG93cGF5bWVudC9hY3RpdmUtZG9jdW1lbnQtc2FtZS1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCisKK1BBU1MgUGF5bWVudFJlcXVlc3QgPGlmcmFtZSBhbGxvdz0i
cGF5bWVudCI+IGluIG5vbi1hY3RpdmUgZG9jdW1lbnQgKHNhbWUtb3JpZ2luKQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZlLWRvY3VtZW50LXNhbWUtb3JpZ2luLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZlLWRvY3VtZW50LXNhbWUtb3JpZ2luLmh0dHBzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTE2NzNmNjVjYjcwNTFmOGIxMmY2MWM3MjgzMDdkMDEzMmFhNDlhNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9hY3RpdmUtZG9jdW1lbnQtc2FtZS1v
cmlnaW4uaHR0cHMuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRs
ZT5QYXltZW50UmVxdWVzdCAmbHQ7aWZyYW1lIGFsbG93PSJwYXltZW50Ij4gaW4gbm9uLWFjdGl2
ZSBkb2N1bWVudCAoc2FtZS1vcmlnaW4pPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGlmcmFtZSBpZD0iaWZyYW1lIiBhbGxvdz0icGF5bWVu
dCI+PC9pZnJhbWU+Cis8c2NyaXB0PgorYXN5bmNfdGVzdCgodCkgPT4geworICBjb25zdCBpZnJh
bWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7CisgIGNvbnN0IHBheW1lbnRB
cmdzID0gW1t7c3VwcG9ydGVkTWV0aG9kczogJ2Zvbyd9XSwge3RvdGFsOiB7bGFiZWw6ICdsYWJl
bCcsIGFtb3VudDoge2N1cnJlbmN5OiAnVVNEJywgdmFsdWU6ICc1LjAwJ319fV07CisKKyAgb25s
b2FkID0gKCkgPT4geworICAgIGNvbnN0IHdpbiA9IHdpbmRvd1swXTsKKyAgICBjb25zdCBkb21F
eGNlcHRpb24gPSB3aW4uRE9NRXhjZXB0aW9uOworICAgIGNvbnN0IHByQ29uc3RydWN0b3IgPSB3
aW4uUGF5bWVudFJlcXVlc3Q7CisgICAgd2luLmxvY2F0aW9uLmhyZWYgPSAnL2NvbW1vbi9ibGFu
ay5odG1sJzsKKyAgICBpZnJhbWUub25sb2FkID0gdC5zdGVwX2Z1bmNfZG9uZSgoKSA9PiB7Cisg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgnU2VjdXJpdHlFcnJvcicsIGRvbUV4Y2VwdGlvbiwgKCkg
PT4geworICAgICAgICBuZXcgcHJDb25zdHJ1Y3RvciguLi5wYXltZW50QXJncyk7CisgICAgICB9
KTsKKyAgICB9KTsKKyAgfQorfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5
bWVudC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFp
bmVycy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWxsb3dwYXltZW50cmVx
dWVzdC1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM5ZmU2MzY1YzJjODQ3YmRmZmU5MzBjYzc2YzdlY2U1YjBjOWQ0NmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWxsb3dwYXltZW50cmVxdWVzdC1h
dHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3
dzEubG9jYWxob3N0Ojk0NDMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1l
bnRSZXF1ZXN0Lmh0bWw/aWZyYW1lCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0
cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvZWNo
by1QYXltZW50UmVxdWVzdC5odG1sP2ZyYW1lCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBV
UkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1l
bnQvZWNoby1QYXltZW50UmVxdWVzdC5odG1sP29iamVjdAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0
ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My9wYXltZW50LXJlcXVlc3QvYWxs
b3dwYXltZW50L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbD9lbWJlZAorCitIYXJuZXNzIEVycm9y
IChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBpZnJhbWUgVGVzdCB0aW1lZCBv
dXQKK1RJTUVPVVQgZnJhbWUgVGVzdCB0aW1lZCBvdXQKK1RJTUVPVVQgb2JqZWN0IFRlc3QgdGlt
ZWQgb3V0CitUSU1FT1VUIGVtYmVkIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2Fs
bG93cGF5bWVudC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMt
Y29udGFpbmVycy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FsbG93cGF5bWVudHJlcXVl
c3QtYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjdkOWVhMTcyYjQxNzA4OTllMDhjYzU5MmI4MzUyMDhmODM4NjE4NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1j
cm9zcy1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPHRpdGxlPlBheW1lbnRSZXF1ZXN0IGFsbG93PSJwYXltZW50IiBhdHRy
aWJ1dGUgY3Jvc3Mtb3JpZ2luIGJyb3dzaW5nIGNvbnRleHQgY29udGFpbmVyczwvdGl0bGU+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9bG9n
PjwvZGl2PgorPHNjcmlwdD4KK2NvbnN0IGV4cGVjdFN1Y2Nlc3MgPSB7J2lmcmFtZSc6IHRydWUs
ICdmcmFtZSc6IGZhbHNlLCAnb2JqZWN0JzogZmFsc2UsICdlbWJlZCc6IGZhbHNlfTsKK2NvbnN0
IHNldEFsbG93UGF5bWVudCA9IHRydWU7Citjb25zdCB0ZXN0Q3Jvc3NPcmlnaW4gPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1jb21tb24uc3ViLmpzPjwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvYWxsb3dwYXltZW50L2NvbW1vbi5zdWIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvY29tbW9u
LnN1Yi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MDg5NGNiYTA1NzZiZWVjMzFmYzllODBjNzIzMWY0YTUwMDJh
YWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2NvbW1vbi5zdWIuanMKQEAg
LTAsMCArMSw2MSBAQAorLy8gVGVzdCBzaG91bGQgc2V0IHRoZXNlOgorLy8gY29uc3QgZXhwZWN0
U3VjY2VzcyA9IHsnaWZyYW1lJzogYm9vbCwgJ2ZyYW1lJzogYm9vbCwgJ29iamVjdCc6IGJvb2ws
ICdlbWJlZCc6IGJvb2x9OworLy8gY29uc3Qgc2V0QWxsb3dQYXltZW50ID0gYm9vbDsKKy8vIGNv
bnN0IHRlc3RDcm9zc09yaWdpbiA9IGJvb2w7CisKK2NvbnN0IHRlc3RzID0ge307CisKK3dpbmRv
dy5vbm1lc3NhZ2UgPSBlID0+IHsKKyAgY29uc3QgcmVzdWx0ID0gZS5kYXRhOworICBjb25zdCB0
YWdOYW1lID0gcmVzdWx0LnVybFF1ZXJ5OworICBjb25zdCB0ID0gdGVzdHNbdGFnTmFtZV07Cisg
IHQuc3RlcCgoKSA9PiB7CisgICAgaWYgKGV4cGVjdFN1Y2Nlc3NbdGFnTmFtZV0pIHsKKyAgICAg
IGFzc2VydF9lcXVhbHMocmVzdWx0Lm1lc3NhZ2UsICJTdWNjZXNzIik7CisgICAgICBpZiAocmVz
dWx0Lm1lc3NhZ2UgPT09ICJFeGNlcHRpb24iKSB7CisgICAgICAgIGNvbnN0IFssIGNvZGUsIG5h
bWUsIHN0YWNrXSA9IHJlc3VsdC5kZXRhaWxzOworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKGBV
bmV4cGVjdGVkIGV4Y2VwdGlvbiAiJHtuYW1lfSIgKCR7Y29kZX0pICR7c3RhY2t9YCk7CisgICAg
ICB9CisgICAgfSBlbHNlIHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0Lm1lc3NhZ2UsICJF
eGNlcHRpb24iKTsKKyAgICAgIGNvbnN0IGRldGFpbHNBcnJheSA9IHJlc3VsdC5kZXRhaWxzLnNs
aWNlKDAsMyk7CisgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGRldGFpbHNBcnJheSwgWworICAg
ICAgICB0cnVlIC8qZXggaW5zdGFuY2VvZiBET01FeGNlcHRpb24qLywKKyAgICAgICAgRE9NRXhj
ZXB0aW9uLlNFQ1VSSVRZX0VSUiAvKmV4LmNvZGUqLywKKyAgICAgICAgIlNlY3VyaXR5RXJyb3Ii
IC8qZXgubmFtZSovLAorICAgICAgXSk7CisgICAgfQorICAgIHQuZG9uZSgpOworICB9KTsKK307
CisKK1siaWZyYW1lIiwgImZyYW1lIiwgIm9iamVjdCIsICJlbWJlZCJdLmZvckVhY2goKHRhZ05h
bWUsIGkpID0+IHsKKyAgdGVzdHNbdGFnTmFtZV0gPSBhc3luY190ZXN0KHQgPT4geworICAgIGNv
bnN0IGVsbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CisgICAgaWYgKHNldEFs
bG93UGF5bWVudCkgeworICAgICAgZWxtLnNldEF0dHJpYnV0ZSgiYWxsb3ciLCAicGF5bWVudCIp
OworICAgIH0KKyAgICBjb25zdCBwYXRoID0gbG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKAor
ICAgICAgMCwKKyAgICAgIGxvY2F0aW9uLnBhdGhuYW1lLmxhc3RJbmRleE9mKCIvIikgKyAxCisg
ICAgKTsKKyAgICBjb25zdCB1cmwgPQorICAgICAgKHRlc3RDcm9zc09yaWdpbiA/ICJodHRwczov
L3t7ZG9tYWluc1t3d3cxXX19Ont7cG9ydHNbaHR0cHNdWzBdfX0iIDogIiIpICsKKyAgICAgIHBh
dGggKworICAgICAgImVjaG8tUGF5bWVudFJlcXVlc3QuaHRtbD8iICsKKyAgICAgIHRhZ05hbWU7
CisgICAgaWYgKHRhZ05hbWUgPT09ICJvYmplY3QiKSB7CisgICAgICBlbG0uZGF0YSA9IHVybDsK
KyAgICB9IGVsc2UgeworICAgICAgZWxtLnNyYyA9IHVybDsKKyAgICB9CisgICAgZWxtLm9ubG9h
ZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAgIHdpbmRvd1tpXS5wb3N0TWVzc2FnZSgKKyAg
ICAgICAgIldoYXQgaXMgdGhlIHJlc3VsdCBvZiBuZXcgUGF5bWVudFJlcXVlc3QoLi4uKT8iLAor
ICAgICAgICAiKiIKKyAgICAgICk7CisgICAgfSk7CisgICAgZWxtLm9uZXJyb3IgPSB0LnVucmVh
Y2hlZF9mdW5jKCJlbG0ub25lcnJvciIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZWxtKTsKKyAgfSwgdGFnTmFtZSk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9l
Y2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvZWNoby1QYXltZW50UmVx
dWVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMTFjN2U1Y2U3OGMwNjIxMDM2NTc4ZmVmNzlhZWIyYzk4
ZjJhMjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvZWNoby1QYXltZW50UmVx
dWVzdC5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhZG9jdHlwZSBodG1sPgorPHNjcmlwdD4KK3dp
bmRvdy5vbm1lc3NhZ2UgPSAoZSkgPT4geworICBjb25zdCBwYXltZW50QXJncyA9IFtbe3N1cHBv
cnRlZE1ldGhvZHM6ICdmb28nfV0sIHt0b3RhbDoge2xhYmVsOiAnbGFiZWwnLCBhbW91bnQ6IHtj
dXJyZW5jeTogJ1VTRCcsIHZhbHVlOiAnNS4wMCd9fX1dOworCisgIGlmIChlLmRhdGEgPT09ICdX
aGF0IGlzIHRoZSByZXN1bHQgb2YgbmV3IFBheW1lbnRSZXF1ZXN0KC4uLik/JykgeworICAgIGNv
bnN0IHJlc3VsdCA9IHt1cmxRdWVyeTogbG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKX07IC8v
IFVzZWQgdG8gZGlzdGluZ3Vpc2ggc3VidGVzdHMKKyAgICB0cnkgeworICAgICAgbmV3IFBheW1l
bnRSZXF1ZXN0KC4uLnBheW1lbnRBcmdzKTsKKyAgICAgIHJlc3VsdC5tZXNzYWdlID0gJ1N1Y2Nl
c3MnOworICAgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UocmVzdWx0LCAnKicpOworICAgIH0gY2F0
Y2goZXgpIHsKKyAgICAgIHJlc3VsdC5tZXNzYWdlID0gJ0V4Y2VwdGlvbic7CisgICAgICBjb25z
dCBpc0RvbUV4Y2VwdGlvbiA9IGV4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uOworICAgICAgY29u
c3Qgc3RhY2sgPSAic3RhY2siIGluIGV4ID8gZXguc3RhY2sgOiAiIjsKKyAgICAgIHJlc3VsdC5k
ZXRhaWxzID0gWyBpc0RvbUV4Y2VwdGlvbiwgZXguY29kZSwgZXgubmFtZSwgc3RhY2sgXTsKKyAg
ICAgIGUuc291cmNlLnBvc3RNZXNzYWdlKHJlc3VsdCwgJyonKTsKKyAgICB9CisgIH0gZWxzZSB7
CisgICAgcmVzdWx0Lm1lc3NhZ2UgPSAnSW5jb3JyZWN0IG1lc3NhZ2UnOworICAgIGUuc291cmNl
LnBvc3RNZXNzYWdlKHJlc3VsdCwgJyonKTsKKyAgfQorfQorPC9zY3JpcHQ+Cis8cD5UaGlzIHBh
Z2UgZWNob3MgdGhlIHJlc3VsdCBvZiBuZXcgUGF5bWVudFJlcXVlc3QoLi4uKS48L3A+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvbm8tYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250
YWluZXJzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUt
Y3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM5ZmU2MzY1YzJjODQ3YmRmZmU5MzBjYzc2YzdlY2U1YjBjOWQ0NmMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9hbGxvd3BheW1lbnQvbm8tYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWlu
ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitCbG9ja2VkIGFjY2VzcyB0
byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVz
dC9hbGxvd3BheW1lbnQvZWNoby1QYXltZW50UmVxdWVzdC5odG1sP2lmcmFtZQorQmxvY2tlZCBh
Y2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My9wYXltZW50
LXJlcXVlc3QvYWxsb3dwYXltZW50L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbD9mcmFtZQorQmxv
Y2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My9w
YXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbD9vYmpl
Y3QKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0
Ojk0NDMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0
bWw/ZW1iZWQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJ
TUVPVVQgaWZyYW1lIFRlc3QgdGltZWQgb3V0CitUSU1FT1VUIGZyYW1lIFRlc3QgdGltZWQgb3V0
CitUSU1FT1VUIG9iamVjdCBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBlbWJlZCBUZXN0IHRpbWVk
IG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvbm8tYXR0cmlidXRlLWNyb3NzLW9y
aWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvbm8tYXR0cmli
dXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZl
ZGQ2YzljYzhlYjIxYzI3ZGIwYTM4ZmVjYzhiYjJjY2RlNDk0MgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMu
aHR0cHMuaHRtbApAQCAtMCwwICsxLDExIEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5QYXlt
ZW50UmVxdWVzdCBubyBhdHRyaWJ1dGUgY3Jvc3Mtb3JpZ2luIGJyb3dzaW5nIGNvbnRleHQgY29u
dGFpbmVyczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2NvbnN0IGV4cGVjdFN1Y2Nlc3Mg
PSB7J2lmcmFtZSc6IGZhbHNlLCAnZnJhbWUnOiBmYWxzZSwgJ29iamVjdCc6IGZhbHNlLCAnZW1i
ZWQnOiBmYWxzZX07Citjb25zdCBzZXRBbGxvd1BheW1lbnQgPSBmYWxzZTsKK2NvbnN0IHRlc3RD
cm9zc09yaWdpbiA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPWNvbW1vbi5zdWIuanM+
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvbm8tYXR0cmlidXRlLXNhbWUt
b3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50
L25vLWF0dHJpYnV0ZS1zYW1lLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45NTNmYzFmNjVkYzBkMjNiODM5YTcwOGMxZTVmNTYyOGM1N2NiNjdmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0dHJpYnV0ZS1zYW1lLW9yaWdp
bi1iYy1jb250YWluZXJzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworUEFT
UyBpZnJhbWUKK1BBU1MgZnJhbWUKK1BBU1Mgb2JqZWN0CitQQVNTIGVtYmVkCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUtc2FtZS1vcmlnaW4tYmMtY29udGFpbmVy
cy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0dHJpYnV0ZS1zYW1lLW9yaWdpbi1i
Yy1jb250YWluZXJzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWM0NjUyNTAwMWQyMGYzY2MzNmQ2
ODc3ZDJlMGZjYmQzYTFlNTEzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9u
by1hdHRyaWJ1dGUtc2FtZS1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sCkBAIC0wLDAg
KzEsMTEgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlBheW1lbnRSZXF1ZXN0IG5vIGF0dHJp
YnV0ZSBzYW1lIG9yaWdpbiBicm93c2luZyBjb250ZXh0IGNvbnRhaW5lcnM8L3RpdGxlPgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48
L2Rpdj4KKzxzY3JpcHQ+Citjb25zdCBleHBlY3RTdWNjZXNzID0geydpZnJhbWUnOiB0cnVlLCAn
ZnJhbWUnOiB0cnVlLCAnb2JqZWN0JzogdHJ1ZSwgJ2VtYmVkJzogdHJ1ZX07Citjb25zdCBzZXRB
bGxvd1BheW1lbnQgPSBmYWxzZTsKK2NvbnN0IHRlc3RDcm9zc09yaWdpbiA9IGZhbHNlOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz1jb21tb24uc3ViLmpzPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvYWxsb3dwYXltZW50L3JlbW92aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9yZW1vdmluZy1hbGxvd3BheW1lbnRyZXF1ZXN0
Lmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzAxYTQ0YjFkYTUwMzZmOWIxZjRj
M2M5NjZlYzk0OGVlODU5NDJmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9y
ZW1vdmluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2IEBACitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxv
Y2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvZWNoby1QYXltZW50UmVx
dWVzdC5odG1sCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitU
SU1FT1VUIFBheW1lbnRSZXF1ZXN0IHJlbW92aW5nIGFsbG93PSJwYXltZW50IiBhZnRlciBsb2Fk
IGFuZCB0aGVuIG5hdmlnYXRpbmcgVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxs
b3dwYXltZW50L3JlbW92aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9hbGxvd3BheW1lbnQvcmVtb3ZpbmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMjA5ZjlkOTJmODhhYjI3ZDdhNzdkODJhYzlhZTdiM2NjYzg0Mjk0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3JlbW92aW5nLWFsbG93cGF5bWVudHJl
cXVlc3QuaHR0cHMuc3ViLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
dGl0bGU+UGF5bWVudFJlcXVlc3QgcmVtb3ZpbmcgYWxsb3c9InBheW1lbnQiIGFmdGVyIGxvYWQg
YW5kIHRoZW4gbmF2aWdhdGluZzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNf
dGVzdCgodCkgPT4geworICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
ZnJhbWUnKTsKKyAgaWZyYW1lLmFsbG93ID0gInBheW1lbnQiOworCisgIGxldCBpID0gMDsKKwor
ICBjb25zdCBwYXRoID0gbG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIGxvY2F0aW9uLnBh
dGhuYW1lLmxhc3RJbmRleE9mKCcvJykgKyAxKTsKKyAgaWZyYW1lLnNyYyA9ICJodHRwczovL3t7
ZG9tYWluc1t3d3cxXX19Ont7cG9ydHNbaHR0cHNdWzBdfX0iICsgcGF0aCArICJlY2hvLVBheW1l
bnRSZXF1ZXN0Lmh0bWwiOworICBpZnJhbWUub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4gewor
ICAgIGlmIChpID09PSAwKSB7CisgICAgICAvLyAyLiBUaGUgaWZyYW1lIGhhcyBub3cgbG9hZGVk
ICh0aGUgZmlyc3QgbG9hZCkuCisgICAgICAvLyBUaGUgYWxsb3c9InBheW1lbnQiIGlzIHNldC4K
KyAgICAgIGlmcmFtZS5hbGxvdyA9ICIiOworICAgICAgLy8gMy4gVGhlIGFsbG93IGF0dHJpYnV0
ZSBoYXMgbm93IGJlZW4gY2xlYXJlZC4KKyAgICAgIC8vIFRoZSBhbGxvdz0icGF5bWVudCIgaXMg
KnN0aWxsIHNldCogZm9yIHRoZSBkb2N1bWVudC4KKyAgICB9CisgICAgLy8gNC4gKGZpcnN0IGxv
YWQpIEFzayB0aGUgc3ViZG9jdW1lbnQgdG8gaW52b2tlIFBheW1lbnRSZXF1ZXN0IGFuZCBwb3N0
IGJhY2sgdGhlIHJlc3VsdC4KKyAgICAvLyAoU2VlIGJlbG93IGZvciBzdGVwcyA1IGFuZCA2LikK
KyAgICAvLyA3LiAoc2Vjb25kIGxvYWQpIEFzayB0aGUgc3ViZG9jdW1lbnQgdG8gaW52b2tlIFBh
eW1lbnRSZXF1ZXN0IGFuZCBwb3N0IGJhY2sgdGhlIHJlc3VsdC4KKyAgICBpZnJhbWUuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZSgnV2hhdCBpcyB0aGUgcmVzdWx0IG9mIG5ldyBQYXltZW50UmVx
dWVzdCguLi4pPycsICcqJyk7CisgIH0pOworCisgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnN0ZXBf
ZnVuYygoZSkgPT4geworICAgIC8vIElnbm9yZSBtZXNzYWdlcyB0aGF0IGFyZSBub3QgcGFydCBv
ZiB0aGUgdGVzdC4KKyAgICBpZiAoZS5zb3VyY2UgIT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHJl
dHVybjsKKworICAgIGkrKzsKKyAgICBpZiAoaSA9PT0gMSkgeworICAgICAgLy8gNS4gVGhpcyBp
cyB0aGUgZmlyc3QgbWVzc2FnZSB3ZSByZWNlaXZlLCBmcm9tIHRoZSBmaXJzdCBsb2FkLgorICAg
ICAgLy8gU2luY2UgdGhlIGFsbG93PSJwYXltZW50IiB3YXMgc2V0LCB3ZSBleHBlY3Qgc3VjY2Vz
cy4KKyAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLm1lc3NhZ2UsICdTdWNjZXNzJywgJ2JlZm9y
ZSBuYXZpZ2F0aW9uJyk7CisKKyAgICAgIC8vIDYuIE5hdmlnYXRlIHRoZSBpZnJhbWUuIFRoaXMg
d2lsbCBmaXJlIGEgc2Vjb25kICdsb2FkJyBldmVudCBvbiB0aGUgaWZyYW1lLgorICAgICAgLy8g
QXQgdGhpcyB0aW1lLCB0aGUgaWZyYW1lIGRvZXMgbm90IGhhdmUgYW4gYWxsb3cgYXR0cmlidXRl
LgorICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWxvY2F0aW9uLWlu
dGVyZmFjZTpkb20tbG9jYXRpb24taHJlZi0zCisgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnLyNsb2NhdGlvbi1vYmplY3Qtc2V0dGVyLW5hdmlnYXRlCisgICAgICAvLyBodHRw
czovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNsb2NhdGlvbi1vYmplY3QtbmF2aWdhdGUKKyAgICAg
IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI25hdmlnYXRlIHN0ZXAgMTIKKyAgICAg
IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3Byb2Nlc3MtYS1uYXZpZ2F0ZS1yZXNw
b25zZSBzdGVwIDUKKyAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3JlYWQt
aHRtbAorICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jaW5pdGlhbGlzZS10
aGUtZG9jdW1lbnQtb2JqZWN0IHN0ZXAgOAorICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy8jc2V0LXRoZS1hbGxvdyotZmxhZ3Mgc3RlcCAzIGRvZXMgKm5vdCogc2V0IHRoZSBh
bGxvdz0icGF5bWVudCIuCisgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVm
ID0gaWZyYW1lLnNyYyArICc/Mic7CisgICAgfSBlbHNlIHsKKyAgICAgIC8vIDguIFRoaXMgaXMg
dGhlIHNlY29uZCBtZXNzYWdlIHdlIHJlY2VpdmUsIGZyb20gdGhlIHNlY29uZCBsb2FkLgorICAg
ICAgLy8gU2luY2UgdGhlIGFsbG93PSJwYXltZW50IiB3YXMgbm90IHNldCwgd2UgZXhwZWN0IGFu
IGV4Y2VwdGlvbi4KKyAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLm1lc3NhZ2UsICdFeGNlcHRp
b24nLCAnYWZ0ZXIgbmF2aWdhdGlvbicpOworICAgICAgYXNzZXJ0X2VxdWFscyg0LCBlLmRhdGEu
ZGV0YWlscy5sZW5ndGgpOworICAgICAgLy8gVGhlIGxhc3QgZW50cnkgaXMgdGhlIGVycm9yIHN0
YWNrdHJhY2UuIElnbm9yZSBpdCBpbiBjb21wYXJpc29uLgorICAgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhlLmRhdGEuZGV0YWlscy5zbGljZSgwLCAzKSwgW3RydWUgLyogZXggaW5zdGFuY2VvZiBE
T01FeGNlcHRpb24qLywgMTggLyogZXguY29kZSAqLywgJ1NlY3VyaXR5RXJyb3InIC8qIGV4Lm5h
bWUgKi9dLCAnYWZ0ZXIgbmF2aWdhdGlvbicpOworICAgICAgdC5kb25lKCk7CisgICAgfQorICB9
KTsKKworICAvLyAxLiBUaGUgYnJvd3NpbmcgY29udGV4dCBmb3IgdGhlIGlmcmFtZSBpcyBjcmVh
dGVkIHdoZW4gdGhlIGlmcmFtZSBpcyBpbnNlcnRlZCB0byB0aGUgZG9jdW1lbnQuCisgIC8vIGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3RoZS1pZnJhbWUtZWxlbWVudDpjcmVhdGluZy1h
LW5ldy1icm93c2luZy1jb250ZXh0CisgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
I2NyZWF0aW5nLWEtbmV3LWJyb3dzaW5nLWNvbnRleHQgc3RlcCAxMQorICAvLyBodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnLyNzZXQtdGhlLWFsbG93Ki1mbGFncyBzdGVwIDMgc2V0cyB0aGUg
YWxsb3c9InBheW1lbnQiLgorICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Cit9
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3NldHRpbmctYWxsb3dw
YXltZW50cmVxdWVzdC5odHRwcy5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3Nl
dHRpbmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjI4ZDg0OWE3Njc0ZGE4YTlmZDQ2YTc3Y2QwNjEyZWJhZTRlYWNlNWQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBz
LnN1Yi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxv
d3BheW1lbnQvZWNoby1QYXltZW50UmVxdWVzdC5odG1sCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIFBheW1lbnRSZXF1ZXN0IHNldHRpbmcgYWxs
b3c9InBheW1lbnQiIGFmdGVyIGxvYWQgYW5kIHRoZW4gbmF2aWdhdGluZyBUZXN0IHRpbWVkIG91
dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1
ZXN0Lmh0dHBzLnN1Yi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3NldHRpbmctYWxsb3dwYXltZW50
cmVxdWVzdC5odHRwcy5zdWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjg4MWNkODkzM2YyMjRmZTNmNDUy
ODY4YzY4YWM2YjdmMzZhOGFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3Nl
dHRpbmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWIuaHRtbApAQCAtMCwwICsxLDQzIEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5QYXltZW50UmVxdWVzdCBzZXR0aW5nIGFsbG93PSJw
YXltZW50IiBhZnRlciBsb2FkIGFuZCB0aGVuIG5hdmlnYXRpbmc8L3RpdGxlPgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2
PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoKHQpID0+IHsKKyAgY29uc3QgaWZyYW1lID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgIC8vIG5vIGFsbG93PSJwYXltZW50IiBhdHRy
aWJ1dGUKKworICBsZXQgaSA9IDA7CisKKyAgY29uc3QgcGF0aCA9IGxvY2F0aW9uLnBhdGhuYW1l
LnN1YnN0cmluZygwLCBsb2NhdGlvbi5wYXRobmFtZS5sYXN0SW5kZXhPZignLycpICsgMSk7Cisg
IGlmcmFtZS5zcmMgPSAiaHR0cHM6Ly97e2RvbWFpbnNbd3d3MV19fTp7e3BvcnRzW2h0dHBzXVsw
XX19IiArIHBhdGggKyAiZWNoby1QYXltZW50UmVxdWVzdC5odG1sIjsKKyAgaWZyYW1lLm9ubG9h
ZCA9IHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBpZiAoaSA9PT0gMCkgeworICAgICAgaWZyYW1l
LmFsbG93ID0gInBheW1lbnQiOworICAgIH0KKyAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0
TWVzc2FnZSgnV2hhdCBpcyB0aGUgcmVzdWx0IG9mIG5ldyBQYXltZW50UmVxdWVzdCguLi4pPycs
ICcqJyk7CisgIH0pOworCisgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuYygoZSkgPT4g
eworICAgIC8vIElnbm9yZSBtZXNzYWdlcyB0aGF0IGFyZSBub3QgcGFydCBvZiB0aGUgdGVzdC4K
KyAgICBpZiAoZS5zb3VyY2UgIT0gaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHJldHVybjsKKworICAg
IGkrKzsKKyAgICBpZiAoaSA9PT0gMSkgeworICAgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEubWVz
c2FnZSwgJ0V4Y2VwdGlvbicsICdiZWZvcmUgbmF2aWdhdGlvbicpOworICAgICAgYXNzZXJ0X2Vx
dWFscyg0LCBlLmRhdGEuZGV0YWlscy5sZW5ndGgpOworICAgICAgLy8gVGhlIGxhc3QgZW50cnkg
aXMgdGhlIGVycm9yIHN0YWNrdHJhY2UuIElnbm9yZSBpdCBpbiBjb21wYXJpc29uLgorICAgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhlLmRhdGEuZGV0YWlscy5zbGljZSgwLCAzKSwgW3RydWUgLyog
ZXggaW5zdGFuY2VvZiBET01FeGNlcHRpb24qLywgMTggLyogZXguY29kZSAqLywgJ1NlY3VyaXR5
RXJyb3InIC8qIGV4Lm5hbWUgKi9dLCAnYmVmb3JlIG5hdmlnYXRpb24nKTsKKworICAgICAgLy8g
TmF2aWdhdGUgdGhlIGlmcmFtZS4gVGhpcyB3aWxsIGZpcmUgYSBzZWNvbmQgJ2xvYWQnIGV2ZW50
IG9uIHRoZSBpZnJhbWUuCisgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVm
ID0gaWZyYW1lLnNyYyArICc/Mic7CisgICAgfSBlbHNlIHsKKyAgICAgIGFzc2VydF9lcXVhbHMo
ZS5kYXRhLm1lc3NhZ2UsICdTdWNjZXNzJywgJ2FmdGVyIG5hdmlnYXRpb24nKTsKKyAgICAgIHQu
ZG9uZSgpOworICAgIH0KKyAgfSk7CisKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJh
bWUpOworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmYz
YWY5OGI3NWJiZjNkYTZjZjI2OTdlMmQxOWMyMDU2NDJkMjEwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvYWxsb3dwYXltZW50L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjUgQEAKK1RoZSB0ZXN0
cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5
LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFk
LCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlm
eSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L2FsbG93cGF5bWVudC9hY3RpdmUtZG9jdW1lbnQtY3Jvc3Mtb3JpZ2luLmh0dHBzLnN1Yi5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvYWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1bWVudC1zYW1lLW9yaWdpbi5odHRwcy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvYWxsb3dwYXltZW50L2FsbG93cGF5bWVudHJlcXVlc3QtYXR0cmlidXRlLWNyb3Nz
LW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvY29tbW9u
LnN1Yi5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9h
bGxvd3BheW1lbnQvbm8tYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBz
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvbm8tYXR0cmlidXRlLXNhbWUtb3JpZ2luLWJjLWNvbnRh
aW5lcnMuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9yZW1vdmluZy1hbGxvd3BheW1lbnRy
ZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3NldHRpbmctYWxsb3dwYXlt
ZW50cmVxdWVzdC5odHRwcy5zdWIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYmlsbGluZy1hZGRyZXNz
LWNoYW5nZWQtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2JpbGxpbmctYWRkcmVzcy1j
aGFuZ2VkLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDkwN2ZmZDc4MGQxY2U3NmMzNzBmNzgwZTJjMjk1M2E3YWQ2YTRmNDUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYmlsbGluZy1hZGRyZXNz
LWNoYW5nZWQtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1
ICswLDAgQEAKLVJlcXVlc3QgYmlsbGluZyBhZGRyZXNzCi0KLUNsaWNrIG9uIGVhY2ggYnV0dG9u
IGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBh
Z2UuIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5k
b3cuCi0KLVdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgcHJlc2VudGVkLCBzZWxlY3QgYSBwYXlt
ZW50IG1ldGhvZCAoZS5nLiwgYSBjcmVkaXQgY2FyZCkuCi0KLVdoZW4gbm8gYmlsbGluZyBhZGRy
ZXNzIGlzIHJlcXVlc3RlZCwgYFBheW1lbnRNZXRob2RDaGFuZ2VFdmVudC5tZXRob2REZXRhaWxz
LmJpbGxpbmdBZGRyZXNzYCBpcyBudWxsLgotV2hlbiBiaWxsaW5nIGFkZHJlc3MgaXMgcmVxdWVz
dGVkLGBQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnQubWV0aG9kRGV0YWlscy5iaWxsaW5nQWRkcmVz
c2AgaXMgYSBgUGF5bWVudEFkZHJlc3NgLgotRG9uZSEKLUlmIHlvdSBmaW5kIGEgYnVnZ3kgdGVz
dCwgcGxlYXNlIGZpbGUgYSBidWcgYW5kIHRhZyBvbmUgb2YgdGhlIHN1Z2dlc3RlZCByZXZpZXdl
cnMuCi0KLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1QQVNTIG9u
cGF5bWVudG1ldGhvZGNoYW5nZSBpcyBpbiBwcm90b3R5cGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYmls
bGluZy1hZGRyZXNzLWNoYW5nZWQtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9iaWxsaW5nLWFkZHJl
c3MtY2hhbmdlZC1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMGZmOWNiMjg1N2ZmNmE1YzZlNTdiM2ZlNDNhNzFlMmZlZDc1YWFiYy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9iaWxsaW5nLWFkZHJlc3MtY2hh
bmdlZC1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExNCArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4gPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Ci08dGl0bGU+VGVzdCBmb3Ig
cmVxdWVzdGluZyBiaWxsaW5nIGFkZHJlc3M8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgc2V0dXAoewotICAgIGV4
cGxpY2l0X2RvbmU6IHRydWUsCi0gICAgZXhwbGljaXRfdGltZW91dDogdHJ1ZSwKLSAgfSk7Ci0K
LSAgY29uc3QgbWV0aG9kcyA9IFsKLSAgICB7IHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJk
IiB9LAotICAgIHsKLSAgICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9h
cHBsZS1wYXkiLAotICAgICAgZGF0YTogewotICAgICAgICB2ZXJzaW9uOiAzLAotICAgICAgICBt
ZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCi0gICAgICAgIGNvdW50
cnlDb2RlOiAiVVMiLAotICAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNE
UyJdLAotICAgICAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gICAgICB9LAotICAg
IH0sCi0gIF07Ci0KLSAgY29uc3QgZGV0YWlscyA9IHsKLSAgICB0b3RhbDogewotICAgICAgbGFi
ZWw6ICJsYWJlbCIsCi0gICAgICBhbW91bnQ6IHsgY3VycmVuY3k6ICJVU0QiLCB2YWx1ZTogIjUu
MDAiIH0sCi0gICAgfSwKLSAgfTsKLSAgdGVzdCgoKSA9PiB7Ci0gICAgYXNzZXJ0X3RydWUoCi0g
ICAgICAib25wYXltZW50bWV0aG9kY2hhbmdlIiBpbiBQYXltZW50UmVxdWVzdC5wcm90b3R5cGUs
Ci0gICAgICAiVGhlIHBheW1lbnRtZXRob2RjaGFuZ2UgaXMgbm90IHN1cHBvcnRlZCIKLSAgICAp
OwotICB9LCAib25wYXltZW50bWV0aG9kY2hhbmdlIGlzIGluIHByb3RvdHlwZSIpOwotCi0gIGZ1
bmN0aW9uIGRvbnRSZXF1ZXN0QmlsbGluZ0FkZHJlc3MoKSB7Ci0gICAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4gewotICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChtZXRo
b2RzLCBkZXRhaWxzLCB7fSk7Ci0gICAgICBjb25zdCBzaG93UHJvbWlzZSA9IHJlcXVlc3Quc2hv
dygpOwotCi0gICAgICAvLyBMZXQncyBjaGVjayB0aGUgbWV0aG9kIGRhdGEgZnJvbSBldmVudC4K
LSAgICAgIGNvbnN0IHsgbWV0aG9kRGV0YWlscyB9ID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2
ZSA9PgotICAgICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInBheW1lbnRtZXRob2RjaGFu
Z2UiLCByZXNvbHZlKQotICAgICAgKTsKLQotICAgICAgYXNzZXJ0X3RydWUoImJpbGxpbmdBZGRy
ZXNzIiBpbiBtZXRob2REZXRhaWxzKTsKLSAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIG1l
dGhvZERldGFpbHMuYmlsbGluZ0FkZHJlc3MsCi0gICAgICAgIG51bGwsCi0gICAgICAgICJFeHBl
Y3RlZCBtZXRob2REZXRhaWxzLmJpbGxpbmdBZGRyZXNzIHRvIGJlIG51bGwiCi0gICAgICApOwot
ICAgICAgYXdhaXQgcmVxdWVzdC5hYm9ydCgpOwotICAgIH0pOwotICB9Ci0KLSAgZnVuY3Rpb24g
cmVxdWVzdEJpbGxpbmdBZGRyZXNzKCkgewotICAgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
LSAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QobWV0aG9kcywgZGV0YWls
cywgewotICAgICAgICByZXF1ZXN0QmlsbGluZ0FkZHJlc3M6IHRydWUsCi0gICAgICB9KTsKLSAg
ICAgIGNvbnN0IHNob3dQcm9taXNlID0gcmVxdWVzdC5zaG93KCk7Ci0KLSAgICAgIC8vIExldCdz
IGNoZWNrIHRoZSBtZXRob2QgZGF0YSBmcm9tIGV2ZW50LgotICAgICAgY29uc3QgeyBtZXRob2RE
ZXRhaWxzIH0gPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+Ci0gICAgICAgIHJlcXVlc3Qu
YWRkRXZlbnRMaXN0ZW5lcigicGF5bWVudG1ldGhvZGNoYW5nZSIsIHJlc29sdmUpCi0gICAgICAp
OwotCi0gICAgICBhc3NlcnRfdHJ1ZSgiYmlsbGluZ0FkZHJlc3MiIGluIG1ldGhvZERldGFpbHMp
OwotCi0gICAgICBjb25zdCB7IGJpbGxpbmdBZGRyZXNzIH0gPSBtZXRob2REZXRhaWxzOwotICAg
ICAgYXNzZXJ0X3RydWUoCi0gICAgICAgIGJpbGxpbmdBZGRyZXNzIGluc3RhbmNlb2YgUGF5bWVu
dEFkZHJlc3MsCi0gICAgICAgICJFeHBlY3RlZCBpbnN0YW5jZSBvZiBQYXltZW50QWRkcmVzcyIK
LSAgICAgICk7Ci0gICAgICBhd2FpdCByZXF1ZXN0LmFib3J0KCk7Ci0gICAgfSk7Ci0gIH0KLTwv
c2NyaXB0PgotCi08aDI+UmVxdWVzdCBiaWxsaW5nIGFkZHJlc3M8L2gyPgotPHA+Ci0gIENsaWNr
IG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJl
ZnJlc2hpbmcgdGhlCi0gIHBhZ2UuIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1l
bnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hlbiB0aGUgcGF5bWVudCBzaGVl
dCBpcyBwcmVzZW50ZWQsIHNlbGVjdCBhIHBheW1lbnQgbWV0aG9kIChlLmcuLCBhIGNyZWRpdAot
ICBjYXJkKS4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9udFJl
cXVlc3RCaWxsaW5nQWRkcmVzcygpIj4KLSAgICAgIFdoZW4gbm8gYmlsbGluZyBhZGRyZXNzIGlz
IHJlcXVlc3RlZCwKLSAgICAgIGBQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnQubWV0aG9kRGV0YWls
cy5iaWxsaW5nQWRkcmVzc2AgaXMgbnVsbC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxp
PgotICAgIDxidXR0b24gb25jbGljaz0icmVxdWVzdEJpbGxpbmdBZGRyZXNzKCkiPgotICAgICAg
V2hlbiBiaWxsaW5nIGFkZHJlc3MgaXMKLSAgICAgIHJlcXVlc3RlZCxgUGF5bWVudE1ldGhvZENo
YW5nZUV2ZW50Lm1ldGhvZERldGFpbHMuYmlsbGluZ0FkZHJlc3NgIGlzIGEKLSAgICAgIGBQYXlt
ZW50QWRkcmVzc2AuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT48YnV0dG9uIG9uY2xp
Y2s9ImRvbmUoKSI+RG9uZSE8L2J1dHRvbj48L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91
IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UKLSAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPiBhbmQKLSAgdGFn
IG9uZSBvZiB0aGUKLSAgPGEKLSAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiCi0gICAg
PnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5n
ZS1zaGlwcGluZy1vcHRpb24tbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmct
b3B0aW9uLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0
MzgwMDE4MDRhY2RhY2EyMTQxMGNlMGQzNjdhODIwOGNhYzYwYWZmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5nZS1zaGlwcGluZy1vcHRpb24t
bWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDQgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08IS0tIENvcHlyaWdodCDCqSAyMDE3IENocm9taXVtIGF1dGhvcnMgYW5kIFdv
cmxkIFdpZGUgV2ViIENvbnNvcnRpdW0sIChNYXNzYWNodXNldHRzIEluc3RpdHV0ZSBvZiBUZWNo
bm9sb2d5LCBFUkNJTSwgS2VpbyBVbml2ZXJzaXR5LCBCZWloYW5nKS4gLS0+Ci08bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdCBmb3IgUGF5bWVudFJlcXVlc3Qgc2hpcHBpbmdPcHRp
b24gYXR0cmlidXRlPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jc2hpcHBpbmdvcHRpb24tYXR0cmlidXRlIj4KLTxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVz
dC8jb25zaGlwcGluZ29wdGlvbmNoYW5nZS1hdHRyaWJ1dGUiPgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsgZXhwbGlj
aXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKLWNvbnN0IHZhbGlkTWV0
aG9kID0gT2JqZWN0LmZyZWV6ZSh7IHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiB9KTsK
LWNvbnN0IGFwcGxlUGF5TWV0aG9kID0gewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9h
cHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0gICAgbWVy
Y2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50cnlDb2Rl
OiAiVVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAg
c3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9LAotfTsKLWNvbnN0IHZhbGlkTWV0aG9k
cyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkTWV0aG9kLCBhcHBsZVBheU1ldGhvZF0pOwotY29uc3Qg
dmFsaWRBbW91bnQgPSBPYmplY3QuZnJlZXplKHsgY3VycmVuY3k6ICJVU0QiLCB2YWx1ZTogIjUu
MDAiIH0pOwotY29uc3QgdmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICBsYWJlbDogImxh
YmVsIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLX0pOwotY29uc3QgdmFsaWREZXRhaWxzID0g
T2JqZWN0LmZyZWV6ZSh7IHRvdGFsOiB2YWxpZFRvdGFsIH0pOwotCi1jb25zdCB2YWxpZFNoaXBw
aW5nT3B0aW9uMSA9IE9iamVjdC5mcmVlemUoewotICBpZDogInZhbGlkLTEiLAotICBsYWJlbDog
IlBJQ0sgTUUhIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgc2VsZWN0ZWQ6IGZhbHNlLAot
fSk7Ci0KLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24yID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGlk
OiAiaW5pdGlhbGx5LXNlbGVjdGVkIiwKLSAgbGFiZWw6ICJWYWxpZCBzaGlwcGluZyBvcHRpb24g
MiIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQsCi0gIHNlbGVjdGVkOiB0cnVlLAotfSk7Ci0KLWNv
bnN0IHJlcXVlc3RTaGlwcGluZyA9IE9iamVjdC5mcmVlemUoewotICByZXF1ZXN0U2hpcHBpbmc6
IHRydWUsCi19KTsKLQotZnVuY3Rpb24gdGVzdFNoaXBwaW5nT3B0aW9uQ2hhbmdlZCgpIHsKLSAg
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IGRldGFpbHNXaXRoU2hpcHBpbmdP
cHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCB7Ci0gICAgICBzaGlwcGlu
Z09wdGlvbnM6IFt2YWxpZFNoaXBwaW5nT3B0aW9uMSwgdmFsaWRTaGlwcGluZ09wdGlvbjJdLAot
ICAgIH0pOwotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCi0gICAgICB2
YWxpZE1ldGhvZHMsCi0gICAgICBkZXRhaWxzV2l0aFNoaXBwaW5nT3B0aW9ucywKLSAgICAgIHJl
cXVlc3RTaGlwcGluZwotICAgICk7Ci0gICAgYXNzZXJ0X2VxdWFscygKLSAgICAgIHJlcXVlc3Qu
c2hpcHBpbmdPcHRpb24sCi0gICAgICAiaW5pdGlhbGx5LXNlbGVjdGVkIiwKLSAgICAgICJNdXN0
IGJlICdpbml0aWFsbHktc2VsZWN0ZWQnLCBhcyB0aGUgc2VsZWN0ZWQgbWVtYmVyIGlzIHRydWUi
Ci0gICAgKTsKLSAgICBjb25zdCBsaXN0ZW5lclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKLSAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdvcHRpb25jaGFu
Z2UiLCAoKSA9PiB7Ci0gICAgICAgIHJlc29sdmUocmVxdWVzdC5zaGlwcGluZ09wdGlvbik7Ci0g
ICAgICB9KTsKLSAgICB9KTsKLSAgICBjb25zdCBoYW5kbGVyUHJvbWlzZSA9IG5ldyBQcm9taXNl
KHJlc29sdmUgPT4gewotICAgICAgcmVxdWVzdC5vbnNoaXBwaW5nb3B0aW9uY2hhbmdlID0gKCkg
PT4gewotICAgICAgICByZXNvbHZlKHJlcXVlc3Quc2hpcHBpbmdPcHRpb24pOwotICAgICAgfTsK
LSAgICB9KTsKLSAgICByZXF1ZXN0LnNob3coKS5jYXRjaChlcnIgPT4gZXJyKTsKLQotICAgIGNv
bnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChbbGlzdGVuZXJQcm9taXNlLCBoYW5kbGVy
UHJvbWlzZV0pOwotICAgIGFzc2VydF90cnVlKAotICAgICAgcmVzdWx0cy5ldmVyeShyZXN1bHQg
PT4gcmVzdWx0ID09PSAidmFsaWQtMSIpLAotICAgICAgIkV4cGVjdGVkIHZhbGlkLTEgYXMgdGhl
IHNoaXBwaW5nT3B0aW9uIgotICAgICk7Ci0gICAgYXdhaXQgcmVxdWVzdC5hYm9ydCgpOwotICB9
KTsKLSAgZG9uZSgpOwotfQotPC9zY3JpcHQ+Ci0KLTxoMj5QYXltZW50UmVxdWVzdCBzaGlwcGlu
Z09wdGlvbiBhdHRyaWJ1dGU8L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNl
cXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0g
IEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cu
Ci08L3A+Ci08cD4KLSAgV2hlbiB0aGUgcGF5bWVudCBzaGVldCBpcyBwcmVzZW50ZWQsIHNlbGVj
dCAiUElDSyBNRSEiIGFzIHRoZSBzaGlwcGluZyBvcHRpb24uCi08L3A+Ci08b2w+Ci0gIDxsaT4K
LSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RTaGlwcGluZ09wdGlvbkNoYW5nZWQoKSI+Ci0gICAg
ICBXaGVuIHRoZSBzaGlwcGluZyBvcHRpb24gaXMgbWFudWFsbHkgY2hhbmdlZCwgcmVxdWVzdC5z
aGlwcGluZ09wdGlvbiByZXByZXNlbnRzIHRoZSB1c2VyJ3MgY2hvaWNlLgotICAgIDwvYnV0dG9u
PgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBw
bGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQv
aXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0
cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVu
dC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLXNlbGVjdC1sYXN0LW1hbnVhbC5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi1zZWxlY3QtbGFzdC1tYW51YWwu
aHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGFkMzFkNjUzMTczMzhm
MDQ3NGMyNGU2ZTM1Njg4ZWI4ZjJiNGNiZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLXNlbGVjdC1sYXN0LW1h
bnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHRpdGxlPlRlc3QgZm9yIFBheW1lbnRE
ZXRhaWxzQmFzZSdzIHNoaXBwaW5nT3B0aW9ucyBtZW1iZXI8L3RpdGxlPgotPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5
bWVudGRldGFpbHNiYXNlLXNoaXBwaW5nb3B0aW9ucyI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9k
b25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgdmFsaWRNZXRob2Rz
ID0gT2JqZWN0LmZyZWV6ZShbCi0gIHsgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiIH0s
Ci0gIHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5
IiwKLSAgICBkYXRhOiB7Ci0gICAgICB2ZXJzaW9uOiAzLAotICAgICAgbWVyY2hhbnRJZGVudGlm
aWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgICAgY291bnRyeUNvZGU6ICJVUyIsCi0g
ICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgICAgc3VwcG9y
dGVkTmV0d29ya3M6IFsidmlzYSJdLAotICAgIH0sCi0gIH0sCi1dKTsKLWNvbnN0IHZhbGlkQW1v
dW50ID0gT2JqZWN0LmZyZWV6ZSh7IGN1cnJlbmN5OiAiVVNEIiwgdmFsdWU6ICI1LjAwIiB9KTsK
LWNvbnN0IHZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6ICJsYWJlbCIsCi0g
IGFtb3VudDogdmFsaWRBbW91bnQsCi19KTsKLWNvbnN0IHZhbGlkRGV0YWlscyA9IE9iamVjdC5m
cmVlemUoeyB0b3RhbDogdmFsaWRUb3RhbCB9KTsKLQotY29uc3QgdmFsaWRTaGlwcGluZ09wdGlv
bjEgPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJmYWlsLWlmLXNlbGVjdGVkLTEiLAotICBsYWJl
bDogIkZBSUwgaWYgc2VsZWN0ZWQgMSIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQsCi0gIHNlbGVj
dGVkOiB0cnVlLAotfSk7Ci0KLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24yID0gT2JqZWN0LmZy
ZWV6ZSh7Ci0gIGlkOiAiZmFpbC1pZi1zZWxlY3RlZC0yIiwKLSAgbGFiZWw6ICJGQUlMIGlmIHNl
bGVjdGVkIDIiLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICBzZWxlY3RlZDogZmFsc2UsCi19
KTsKLQotY29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbjMgPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6
ICJwYXNzLWlmLXNlbGVjdGVkIiwKLSAgbGFiZWw6ICJUSElTIE1VU1QgQkUgQVVUT01BVElDQUxM
WSBTRUxFQ1RFRCIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQsCi0gIHNlbGVjdGVkOiB0cnVlLAot
fSk7Ci0KLWZ1bmN0aW9uIHRlc3RTaGlwcGluZ09wdGlvbkNoYW5nZWQoYnV0dG9uKSB7Ci0gIGJ1
dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBj
b25zdCBkZXRhaWxzV2l0aFNoaXBwaW5nT3B0aW9ucyA9IHsKLSAgICAgIC4uLnZhbGlkRGV0YWls
cywKLSAgICAgIHNoaXBwaW5nT3B0aW9uczogWwotICAgICAgICB2YWxpZFNoaXBwaW5nT3B0aW9u
MSwKLSAgICAgICAgdmFsaWRTaGlwcGluZ09wdGlvbjIsCi0gICAgICAgIHZhbGlkU2hpcHBpbmdP
cHRpb24zLAotICAgICAgXSwKLSAgICB9OwotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVu
dFJlcXVlc3QoCi0gICAgICB2YWxpZE1ldGhvZHMsCi0gICAgICBkZXRhaWxzV2l0aFNoaXBwaW5n
T3B0aW9ucywKLSAgICAgIHsgcmVxdWVzdFNoaXBwaW5nOiB0cnVlIH0KLSAgICApOwotICAgIGFz
c2VydF9lcXVhbHMoCi0gICAgICByZXF1ZXN0LnNoaXBwaW5nT3B0aW9uLAotICAgICAgInBhc3Mt
aWYtc2VsZWN0ZWQiLAotICAgICAgIk11c3QgYmUgJ3Bhc3MtaWYtc2VsZWN0ZWQnLCBhcyB0aGUg
c2VsZWN0ZWQgbWVtYmVyIGlzIHRydWUiCi0gICAgKTsKLSAgICByZXF1ZXN0Lm9uc2hpcHBpbmdv
cHRpb25jaGFuZ2UgPSAoKSA9PiB7Ci0gICAgICBhc3NlcnRfdW5yZWFjaGVkKCJvbnNoaXBwaW5n
b3B0aW9uY2hhbmdlIGZpcmVkIHVuZXhwZWN0ZWRseSIpOwotICAgIH07Ci0gICAgY29uc3QgcmVz
cG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNl
LnNoaXBwaW5nT3B0aW9uLCAicGFzcy1pZi1zZWxlY3RlZCIpOwotICAgIHJlc3BvbnNlLmNvbXBs
ZXRlKCk7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotICBkb25lKCk7Ci19Ci08
L3NjcmlwdD4KLQotPGgyPlBheW1lbnRSZXF1ZXN0IHNoaXBwaW5nT3B0aW9uIGF0dHJpYnV0ZTwv
aDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8g
Ym90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBi
cmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVu
IHRoZSBwYXltZW50IHNoZWV0IGlzIHByZXNlbnRlZCwgaGl0IHBheS4KLTwvcD4KLTxvbD4KLSAg
PGxpPgotICAgIDxidXR0b24gb25jbGljaz0idGVzdFNoaXBwaW5nT3B0aW9uQ2hhbmdlZCh0aGlz
KSI+Ci0gICAgICBXaGVuIGRlZmF1bHQgc2hpcHBpbmcgb3B0aW9uIGlzIHByZS1zZWxlY3RlZCwg
bXVzdCBub3QgZmlyZSBvbnNoaXBwaW5nb3B0aW9uY2hhbmdlCi0gICAgICBhbmQgUGF5bWVudFJl
c3BvbnNlIG11c3QgcmVmbGVjdCB0aGUgcHJlLXNlbGVjdGVkIG9wdGlvbi4KLSAgICA8L2J1dHRv
bj4KLSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwg
cGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1l
bnQtcmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvZHluYW1pY2FsbHktY2hhbmdlLXNoaXBwaW5nLW9wdGlvbnMtbWFudWFs
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2R5bmFtaWNhbGx5LWNoYW5nZS1zaGlwcGluZy1vcHRp
b25zLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDM5MWM5ZmViYjg0M2MyNzQyZTg5NjhlMGZkOTM1ODNlYzVjZjczNjUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvZHluYW1pY2FsbHktY2hhbmdl
LXNoaXBwaW5nLW9wdGlvbnMtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDE1ICswLDAgQEAKLVBheW1lbnRSZXF1ZXN0IHNoaXBwaW5nT3B0aW9uIGF0dHJpYnV0
ZQotCi1DbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20g
d2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLiBFYWNoIGJ1dHRvbiAoZXhjZXB0IHRoZSAnRG9u
ZScgYnV0dG9uKSB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93Lgot
Ci1XaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHByZXNlbnRlZCwgdmlldyBvcHRpb25zIGZvciBT
aGlwcGluZyBNZXRob2QuIFRoZXJlIHNob3VsZCBvbmx5IGJlIG9uZTogIkRlZmF1bHQgc2hpcHBp
bmcgbWV0aG9kIgotQ2hhbmdlIHlvdXIgU2hpcHBpbmcgQWRkcmVzcyAtIGVpdGhlciB1cGRhdGUg
eW91ciBleGlzdGluZyBvbmUgYnkgY2hhbmdpbmcgc29tZXRoaW5nIChuYW1lLCBhZGRyZXNzLCBl
dGMpLCBvciBzZWxlY3QgYSBkaWZmZXJlbnQgU2hpcHBpbmcgQWRkcmVzcywgb3IgYWRkIGEgbmV3
IFNoaXBwaW5nIEFkZHJlc3MgYW5kIHNlbGVjdCBpdC4KLUdvIGJhY2sgdG8gU2hpcHBpbmcgTWV0
aG9kLCBhbmQgdGhlcmUgaXMgbm93IGFuIG9wdGlvbiBjYWxsZWQgIkR5bmFtaWNhbGx5IGFkZGVk
IHNoaXBwaW5nIG9wdGlvbiIuIFNlbGVjdCBpdAotQ2xpY2sgb24gdGhlICdEb25lJyBidXR0b24K
LVdoZW4gdGhlIGFkZHJlc3MgaXMgY2hhbmdlZCwgc2hpcHBpbmcgbWV0aG9kcyBjYW4gYmUgdXBk
YXRlZAotRG9uZQotSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgZmlsZSBhIGJ1ZyBh
bmQgdGFnIG9uZSBvZiB0aGUgc3VnZ2VzdGVkIHJldmlld2Vycy4KLQotSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvZHluYW1pY2FsbHkt
Y2hhbmdlLXNoaXBwaW5nLW9wdGlvbnMtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9keW5hbWljYWxs
eS1jaGFuZ2Utc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYWNiNzA1MzUwZDRkOWY1NTg1MzM0NDQ2OTUyMTk4ZGZhYzQ3ZDA0
Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9keW5h
bWljYWxseS1jaGFuZ2Utc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDE0MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9
InV0Zi04IiAvPgotPHRpdGxlPlRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0IHNoaXBwaW5nT3B0aW9u
IGR5bmFtaWMgdXBkYXRpbmc8L3RpdGxlPgotPGxpbmsKLSAgcmVsPSJoZWxwIgotICBocmVmPSJo
dHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNzaGlwcGluZ29wdGlvbi1hdHRy
aWJ1dGUiCi0vPgotPGxpbmsKLSAgcmVsPSJoZWxwIgotICBocmVmPSJodHRwczovL3czYy5naXRo
dWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNvbnNoaXBwaW5nb3B0aW9uY2hhbmdlLWF0dHJpYnV0ZSIK
LS8+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotICBzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6
IHRydWUgfSk7Ci0gIGNvbnN0IHZhbGlkTWV0aG9kID0gT2JqZWN0LmZyZWV6ZSh7IHN1cHBvcnRl
ZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiB9KTsKLSAgY29uc3QgYXBwbGVQYXlNZXRob2QgPSB7Ci0g
ICAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gICAg
ZGF0YTogewotICAgICAgdmVyc2lvbjogMywKLSAgICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1l
cmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICAgIGNvdW50cnlDb2RlOiAiVVMiLAotICAgICAgbWVy
Y2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAgICAgIHN1cHBvcnRlZE5ldHdv
cmtzOiBbInZpc2EiXSwKLSAgICB9LAotICB9OwotICBjb25zdCB2YWxpZE1ldGhvZHMgPSBPYmpl
Y3QuZnJlZXplKFt2YWxpZE1ldGhvZCwgYXBwbGVQYXlNZXRob2RdKTsKLSAgY29uc3QgdmFsaWRB
bW91bnQgPSBPYmplY3QuZnJlZXplKHsgY3VycmVuY3k6ICJVU0QiLCB2YWx1ZTogIjUuMDAiIH0p
OwotICBjb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgbGFiZWw6ICJsYWJl
bCIsCi0gICAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgfSk7Ci0gIGNvbnN0IHZhbGlkRGV0YWls
cyA9IE9iamVjdC5mcmVlemUoeyB0b3RhbDogdmFsaWRUb3RhbCB9KTsKLQotICBjb25zdCBpbml0
aWFsVmFsaWRTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUoewotICAgIGlkOiAiZGVmYXVs
dC1tZXRob2QiLAotICAgIGxhYmVsOiAiRGVmYXVsdCBzaGlwcGluZyBtZXRob2QiLAotICAgIGFt
b3VudDogdmFsaWRBbW91bnQsCi0gICAgc2VsZWN0ZWQ6IHRydWUsCi0gIH0pOwotCi0gIGNvbnN0
IHZhbGlkRHluYW1pY1NoaXBwaW5nT3B0aW9uID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgaWQ6ICJk
eW5hbWljYWxseS1hZGRlZC1pZCIsCi0gICAgbGFiZWw6ICJEeW5hbWljYWxseSBhZGRlZCBzaGlw
cGluZyBvcHRpb24iLAotICAgIGFtb3VudDogdmFsaWRBbW91bnQsCi0gICAgc2VsZWN0ZWQ6IGZh
bHNlLAotICB9KTsKLQotICBjb25zdCByZXF1ZXN0U2hpcHBpbmcgPSBPYmplY3QuZnJlZXplKHsK
LSAgICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi0gIH0pOwotCi0gIGZ1bmN0aW9uIHRlc3RTaGlw
cGluZ09wdGlvbkNoYW5nZWQoKSB7Ci0gICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7Ci0g
ICAgICBjb25zdCBkZXRhaWxzV2l0aFNoaXBwaW5nT3B0aW9ucyA9IHsKLSAgICAgICAgLi4udmFs
aWREZXRhaWxzLAotICAgICAgICBzaGlwcGluZ09wdGlvbnM6IFtpbml0aWFsVmFsaWRTaGlwcGlu
Z09wdGlvbl0sCi0gICAgICB9OwotICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVx
dWVzdCgKLSAgICAgICAgdmFsaWRNZXRob2RzLAotICAgICAgICBkZXRhaWxzV2l0aFNoaXBwaW5n
T3B0aW9ucywKLSAgICAgICAgcmVxdWVzdFNoaXBwaW5nCi0gICAgICApOwotICAgICAgY29uc3Qg
c2hpcHBpbmdBZGRyZXNzQ2hhbmdlTGlzdGVuZXIgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
ewotICAgICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoCi0gICAgICAgICAgInNoaXBwaW5n
YWRkcmVzc2NoYW5nZSIsCi0gICAgICAgICAgKGV2KSA9PiB7Ci0gICAgICAgICAgICAvLyByZXNv
bHZlKHJlcXVlc3Quc2hpcHBpbmdPcHRpb24pOwotICAgICAgICAgICAgZXYudXBkYXRlV2l0aCh7
Ci0gICAgICAgICAgICAgIHNoaXBwaW5nT3B0aW9uczogWwotICAgICAgICAgICAgICAgIGluaXRp
YWxWYWxpZFNoaXBwaW5nT3B0aW9uLAotICAgICAgICAgICAgICAgIHZhbGlkRHluYW1pY1NoaXBw
aW5nT3B0aW9uLAotICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICByZXNvbHZlKCk7Ci0gICAgICAgICAgfSwKLSAgICAgICAgICB7IG9uY2U6IHRydWUgfQotICAg
ICAgICApOwotICAgICAgfSk7Ci0gICAgICBjb25zdCBoYW5kbGVyUHJvbWlzZSA9IG5ldyBQcm9t
aXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgIHJlcXVlc3Qub25zaGlwcGluZ29wdGlvbmNoYW5n
ZSA9ICgpID0+IHsKLSAgICAgICAgICByZXNvbHZlKHJlcXVlc3Quc2hpcHBpbmdPcHRpb24pOwot
ICAgICAgICB9OwotICAgICAgfSk7Ci0gICAgICByZXF1ZXN0LnNob3coKS5jYXRjaCgoZXJyKSA9
PiBlcnIpOwotCi0gICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoWwotICAg
ICAgICBzaGlwcGluZ0FkZHJlc3NDaGFuZ2VMaXN0ZW5lciwKLSAgICAgICAgaGFuZGxlclByb21p
c2UsCi0gICAgICBdKTsKLSAgICAgIGFzc2VydF90cnVlKAotICAgICAgICByZXN1bHRzWzFdID09
PSAiZHluYW1pY2FsbHktYWRkZWQtaWQiLAotICAgICAgICAiRXhwZWN0ZWQgZHluYW1pY2FsbHkt
YWRkZWQtaWQgYXMgdGhlIHNoaXBwaW5nT3B0aW9uIgotICAgICAgKTsKLSAgICAgIGF3YWl0IHJl
cXVlc3QuYWJvcnQoKTsKLSAgICB9KTsKLSAgfQotPC9zY3JpcHQ+Ci0KLTxoMj5QYXltZW50UmVx
dWVzdCBzaGlwcGluZ09wdGlvbiBhdHRyaWJ1dGU8L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2gg
YnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcg
dGhlCi0gIHBhZ2UuIEVhY2ggYnV0dG9uIChleGNlcHQgdGhlICdEb25lJyBidXR0b24pIHdpbGwg
YnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdAotICBVSSB3aW5kb3cuCi08L3A+Ci08b2w+Ci0g
IDxsaT4KLSAgICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHByZXNlbnRlZCwgdmlldyBvcHRp
b25zIGZvciBTaGlwcGluZyBNZXRob2QuIFRoZXJlCi0gICAgc2hvdWxkIG9ubHkgYmUgb25lOiAi
RGVmYXVsdCBzaGlwcGluZyBtZXRob2QiCi0gIDwvbGk+Ci0gIDxsaT4KLSAgICBDaGFuZ2UgeW91
ciBTaGlwcGluZyBBZGRyZXNzIC0gZWl0aGVyIHVwZGF0ZSB5b3VyIGV4aXN0aW5nIG9uZSBieSBj
aGFuZ2luZwotICAgIHNvbWV0aGluZyAobmFtZSwgYWRkcmVzcywgZXRjKSwgb3Igc2VsZWN0IGEg
ZGlmZmVyZW50IFNoaXBwaW5nIEFkZHJlc3MsIG9yCi0gICAgYWRkIGEgbmV3IFNoaXBwaW5nIEFk
ZHJlc3MgYW5kIHNlbGVjdCBpdC4KLSAgPC9saT4KLSAgPGxpPgotICAgIEdvIGJhY2sgdG8gU2hp
cHBpbmcgTWV0aG9kLCBhbmQgdGhlcmUgaXMgbm93IGFuIG9wdGlvbiBjYWxsZWQgIkR5bmFtaWNh
bGx5Ci0gICAgYWRkZWQgc2hpcHBpbmcgb3B0aW9uIi4gU2VsZWN0IGl0Ci0gIDwvbGk+Ci0gIDxs
aT4KLSAgICBDbGljayBvbiB0aGUgJ0RvbmUnIGJ1dHRvbgotICA8L2xpPgotPC9vbD4KLTx1bD4K
LSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0idGVzdFNoaXBwaW5nT3B0aW9uQ2hhbmdlZCgp
Ij4KLSAgICAgIFdoZW4gdGhlIGFkZHJlc3MgaXMgY2hhbmdlZCwgc2hpcHBpbmcgbWV0aG9kcyBj
YW4gYmUgdXBkYXRlZAotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRv
biBvbmNsaWNrPSJkb25lKCkiPkRvbmU8L2J1dHRvbj4KLSAgPC9saT4KLTwvdWw+Ci08c21hbGw+
Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlCi0gIDxhIGhyZWY9Imh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4g
YW5kCi0gIHRhZyBvbmUgb2YgdGhlCi0gIDxhCi0gICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEu
eW1sIgotICAgID5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9oaXN0b3JpY2FsLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2hpc3RvcmljYWwuaHR0cHMt
ZXhwZWN0ZWQudHh0CmluZGV4IGI3YjY2ZTIyMzM4ZTc1YjdkMDA0MzIzNzEwNTE0MTU0YzIxMGVj
ZjAuLjZmOTZjNTk2ZGQwYTA5OWNiNzQzMGUxMGFjNWI2MDBmMjI5ZGY2OGUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L2hpc3RvcmljYWwuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2hpc3RvcmljYWwuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC02LDUgKzYsNiBAQCBQQVNTIHRvdGFsQW1vdW50IGluIFBheW1l
bnRSZXNwb25zZQogUEFTUyBwYXltZW50UmVxdWVzdElkIGluIFBheW1lbnRSZXF1ZXN0CiBQQVNT
IHBheW1lbnRSZXF1ZXN0SWQgaW4gUGF5bWVudFJlc3BvbnNlCiBQQVNTIGxhbmd1YWdlQ29kZSBp
biBQYXltZW50QWRkcmVzcworUEFTUyBhbGxvd1BheW1lbnRSZXF1ZXN0IGluIEhUTUxJRnJhbWVF
bGVtZW50CiBQQVNTIHN1cHBvcnRlZE1ldGhvZHMgbXVzdCBub3Qgc3VwcG9ydCBzZXF1ZW5jZTxE
T01TdHJpbmc+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2hpc3RvcmljYWwuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2hp
c3RvcmljYWwuaHR0cHMuaHRtbAppbmRleCA2NjYzZTYzMWJmZDI4NTdkYzYzZmY5ODU0ZTg2NTc4
OTNjNzFhN2VkLi5hYTE4M2E1OGNkYjlmY2FmMjA2YjgyNjY3NzUyNDMzNmE4NmZmYmFiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9oaXN0b3JpY2FsLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvaGlzdG9yaWNhbC5odHRw
cy5odG1sCkBAIC0yMSw2ICsyMSwxMCBAQAogCiAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
cGF5bWVudC1yZXF1ZXN0L3B1bGwvNzY1CiAgIFsibGFuZ3VhZ2VDb2RlIiwgIlBheW1lbnRBZGRy
ZXNzIl0sCisKKyAgLy9odHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvcHVsbC81OTE1Cisg
IFsiYWxsb3dQYXltZW50UmVxdWVzdCIsICJIVE1MSUZyYW1lRWxlbWVudCJdLAorCiBdLmZvckVh
Y2goKFttZW1iZXIsIGludGVyZl0pID0+IHsKICAgdGVzdCgoKSA9PiB7CiAgICAgYXNzZXJ0X2Zh
bHNlKG1lbWJlciBpbiB3aW5kb3dbaW50ZXJmXS5wcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
b25tZXJjaGFudHZhbGlkYXRpb24tYXR0cmlidXRlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L29u
bWVyY2hhbnR2YWxpZGF0aW9uLWF0dHJpYnV0ZS5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjOGQ1YTY5MTcwZTg0YTZmMmZhMDZiNTU4OTNiYmE5NzE1
MzBjYjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
b25tZXJjaGFudHZhbGlkYXRpb24tYXR0cmlidXRlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDYgKzAsMCBAQAotCi1QQVNTIE11c3QgaGF2ZSBhIG9ubWVyY2hhbnR2YWxp
ZGF0aW9uIElETCBhdHRyaWJ1dGUKLVBBU1Mgb25tZXJjaGFudHZhbGlkYXRpb24gYXR0cmlidXRl
IGlzIGEgZ2VuZXJpYyBoYW5kbGVyIGZvciAibWVyY2hhbnR2YWxpZGF0aW9uIgotUEFTUyBvbm1l
cmNoYW50dmFsaWRhdGlvbiBhdHRyaWJ1dGUgaXMgYSBoYW5kbGVyIGZvciBNZXJjaGFudFZhbGlk
YXRpb25FdmVudAotUEFTUyBvbm1lcmNoYW50dmFsaWRhdGlvbiBhdHRyaWJ1dGUgYW5kIGxpc3Rl
bmVycyBib3RoIHdvcmsKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvb25tZXJjaGFudHZhbGlkYXRpb24tYXR0
cmlidXRlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9vbm1lcmNoYW50dmFsaWRhdGlvbi1hdHRyaWJ1dGUuaHR0
cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDMxYWMyZGQ3MmFiY2Y1MWEy
OGVjZWM4NTA0MDBmNWYwYzZiOWJiNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9vbm1lcmNoYW50dmFsaWRhdGlvbi1hdHRyaWJ1dGUuaHR0cHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgotPHRpdGxlPlRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0J3Mgb25tZXJj
aGFudHZhbGlkYXRpb24gYXR0cmlidXRlPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL2Jyb3dzZXItcGF5bWVudC1hcGkvI2RvbS1wYXltZW50cmVx
dWVzdC1vbm1lcmNoYW50dmFsaWRhdGlvbiI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotY29uc3QgdGVz
dE1ldGhvZCA9IE9iamVjdC5mcmVlemUoeyBzdXBwb3J0ZWRNZXRob2RzOiAibm90LWEtcmVhbC1t
ZXRob2QiIH0pOwotY29uc3QgYXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVk
TWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gIGRhdGE6IHsKLSAgICB2
ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxl
IiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJz
dXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgfSwKLX0p
OwotY29uc3QgZGVmYXVsdE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFt0ZXN0TWV0aG9kLCBhcHBs
ZVBheV0pOwotY29uc3QgZGVmYXVsdERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6
IHsKLSAgICBsYWJlbDogIlRvdGFsIiwKLSAgICBhbW91bnQ6IHsKLSAgICAgIGN1cnJlbmN5OiAi
VVNEIiwKLSAgICAgIHZhbHVlOiAiMS4wMCIsCi0gICAgfSwKLSAgfSwKLX0pOwotY29uc3QgdmFs
aWRhdGlvblVSTCA9ICJodHRwczovL2V4YW1wbGUuY29tIjsKLQotdGVzdCgoKSA9PiB7Ci0gIGNv
bnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRlZmF1bHRE
ZXRhaWxzKTsKLSAgYXNzZXJ0X2lkbF9hdHRyaWJ1dGUocmVxdWVzdCwgIm9ubWVyY2hhbnR2YWxp
ZGF0aW9uIik7Ci19LCAiTXVzdCBoYXZlIGEgb25tZXJjaGFudHZhbGlkYXRpb24gSURMIGF0dHJp
YnV0ZSIpOwotCi10ZXN0KCgpID0+IHsKLSAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVx
dWVzdChkZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOwotICBjb25zdCBldiA9IG5ldyBF
dmVudCgibWVyY2hhbnR2YWxpZGF0aW9uIik7Ci0gIGxldCBkaWRIYW5kbGUgPSBmYWxzZTsKLSAg
cmVxdWVzdC5vbm1lcmNoYW50dmFsaWRhdGlvbiA9IGV2dCA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhldiwgZXZ0LCAibXVzdCBiZSBzYW1lIGV2ZW50Iik7Ci0gICAgZGlkSGFuZGxlID0gdHJ1ZTsK
LSAgfTsKLSAgcmVxdWVzdC5kaXNwYXRjaEV2ZW50KGV2KTsKLSAgYXNzZXJ0X3RydWUoZGlkSGFu
ZGxlLCAiZXZlbnQgZGlkIG5vdCBmaXJlIik7Ci19LCBgb25tZXJjaGFudHZhbGlkYXRpb24gYXR0
cmlidXRlIGlzIGEgZ2VuZXJpYyBoYW5kbGVyIGZvciAibWVyY2hhbnR2YWxpZGF0aW9uImApOwot
Ci10ZXN0KCgpID0+IHsKLSAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChkZWZh
dWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOwotICBjb25zdCBldiA9IG5ldyBNZXJjaGFudFZh
bGlkYXRpb25FdmVudCgibWVyY2hhbnR2YWxpZGF0aW9uIiwgeyB2YWxpZGF0aW9uVVJMIH0pOwot
ICBsZXQgZGlkSGFuZGxlID0gZmFsc2U7Ci0gIHJlcXVlc3Qub25tZXJjaGFudHZhbGlkYXRpb24g
PSBldnQgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZXYsIGV2dCwgIm11c3QgYmUgc2FtZSBldmVu
dCIpOwotICAgIGRpZEhhbmRsZSA9IHRydWU7Ci0gIH07Ci0gIHJlcXVlc3QuZGlzcGF0Y2hFdmVu
dChldik7Ci0gIGFzc2VydF90cnVlKGRpZEhhbmRsZSwgImV2ZW50IGRpZCBub3QgZmlyZSIpOwot
fSwgYG9ubWVyY2hhbnR2YWxpZGF0aW9uIGF0dHJpYnV0ZSBpcyBhIGhhbmRsZXIgZm9yIE1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50YCk7Ci0KLXRlc3QoKCkgPT4gewotICBjb25zdCByZXF1ZXN0ID0g
bmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gIGNv
bnN0IGV2ID0gbmV3IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KCJtZXJjaGFudHZhbGlkYXRpb24i
LCB7IHZhbGlkYXRpb25VUkwgfSk7Ci0gIGxldCBkaWRIYW5kbGUgPSBmYWxzZTsKLSAgbGV0IGRp
ZExpc3RlbiA9IGZhbHNlOwotICByZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0aW9uID0gZXZ0ID0+
IHsKLSAgICBhc3NlcnRfZXF1YWxzKGV2LCBldnQsICJtdXN0IGJlIHNhbWUgZXZlbnQiKTsKLSAg
ICBkaWRIYW5kbGUgPSB0cnVlOwotICB9OwotICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1l
cmNoYW50dmFsaWRhdGlvbiIsIGV2dCA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhldiwgZXZ0LCAi
bXVzdCBiZSBzYW1lIGV2ZW50Iik7Ci0gICAgZGlkTGlzdGVuID0gdHJ1ZTsKLSAgfSk7Ci0gIHJl
cXVlc3QuZGlzcGF0Y2hFdmVudChldik7Ci0gIGFzc2VydF90cnVlKGRpZEhhbmRsZSwgIm9ubWVy
Y2hhbnR2YWxpZGF0aW9uIG11c3QgcmVjZWl2ZSB0aGUgZXZlbnQiKTsKLSAgYXNzZXJ0X3RydWUo
ZGlkTGlzdGVuLCAiYWRkRXZlbnRMaXN0ZW5lciBtdXN0IHJlY2VpdmUgdGhlIGV2ZW50Iik7Ci19
LCBgb25tZXJjaGFudHZhbGlkYXRpb24gYXR0cmlidXRlIGFuZCBsaXN0ZW5lcnMgYm90aCB3b3Jr
YCk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtaXMtc2hvd2luZy5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvcGF5bWVudC1pcy1zaG93aW5nLmh0dHBzLmh0bWwKaW5kZXggMGVhMDI4MDhlZTJh
MTIwMTNlNDFlODE5ZGEzMjNmZWRmOGQ4NTNmZi4uZmVkNmVhZjZkOWZhZGExMTQ0NmIzMmNhYWJh
MDdiNWRlMmQ4OGIwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1pcy1zaG93aW5nLmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvcGF5bWVudC1pcy1zaG93aW5nLmh0dHBzLmh0bWwKQEAgLTcsOCArNyw4IEBA
CiA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanMiPjwvc2NyaXB0PgogPGJvZHk+CiAgIDxzY3JpcHQ+CiAgICAgInVzZSBz
dHJpY3QiOwpAQCAtNDEsNyArNDEsNyBAQAogICAgICAqLwogICAgIGFzeW5jIGZ1bmN0aW9uIGF0
dGFjaElmcmFtZShzcmMgPSAiYmxhbmsuaHRtbCIpIHsKICAgICAgIGNvbnN0IGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAgaWZyYW1lLmFsbG93UGF5bWVu
dFJlcXVlc3QgPSB0cnVlOworICAgICAgaWZyYW1lLmFsbG93ID0gInBheW1lbnQiOwogICAgICAg
aWZyYW1lLnNyYyA9IHNyYzsKICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1l
KTsKICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
cGF5bWVudC1yZXF1ZXN0LWFib3J0LW1ldGhvZC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1
ZXN0LWFib3J0LW1ldGhvZC5odHRwcy5odG1sCmluZGV4IDgyMzBlMjQ1OGFhYTNlMDM2NGRjNDU5
ODVmNTk2NzU5ZjAwOTU0N2QuLjU5OTY4YzZkNzBlZjJkYjFmMGRiYzQwMjBmNmU1MjRhZDI0NDMz
ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1hYm9ydC1tZXRob2QuaHR0cHMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtYWJvcnQtbWV0aG9kLmh0dHBzLmh0bWwKQEAgLTEs
MTEgKzEsMTEgQEAKIDwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiIC8+CiA8dGl0bGU+VGVzdCBmb3IgUGF5bWVudFJlcXVlc3QuYWJv
cnQoKSBtZXRob2Q8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5n
aXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNhYm9ydC1tZXRob2QiPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNhYm9ydC1tZXRo
b2QiIC8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPScvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzJz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQ+CiAidXNlIHN0cmljdCI7CiBzZXR1cCh7CkBAIC0yMyw3ICsyMyw3IEBAIGNvbnN0IGFwcGxl
UGF5ID0gT2JqZWN0LmZyZWV6ZSh7CiAgICAgY291bnRyeUNvZGU6ICJVUyIsCiAgICAgbWVyY2hh
bnRDYXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKICAgICBzdXBwb3J0ZWROZXR3b3Jrczog
WyJ2aXNhIl0sCi0gIH0KKyAgfSwKIH0pOwogY29uc3QgZGVmYXVsdE1ldGhvZHMgPSBPYmplY3Qu
ZnJlZXplKFtiYXNpY0NhcmQsIGFwcGxlUGF5XSk7CiBjb25zdCBkZWZhdWx0RGV0YWlscyA9IE9i
amVjdC5mcmVlemUoewpAQCAtNDQsMjQgKzQ0LDIyIEBAIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKIAogcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBjb25zdCByZXF1ZXN0ID0gbmV3IFBh
eW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gIGNvbnN0IHBy
b21pc2VzID0gbmV3IFNldChbcmVxdWVzdC5hYm9ydCgpLCByZXF1ZXN0LmFib3J0KCksIHJlcXVl
c3QuYWJvcnQoKV0pOworICBjb25zdCBwcm9taXNlcyA9IG5ldyBTZXQoWworICAgIHJlcXVlc3Qu
YWJvcnQoKSwKKyAgICByZXF1ZXN0LmFib3J0KCksCisgICAgcmVxdWVzdC5hYm9ydCgpLAorICBd
KTsKICAgYXNzZXJ0X2VxdWFscyhwcm9taXNlcy5zaXplLCAzLCAiTXVzdCBoYXZlIHRocmVlIHVu
aXF1ZSBvYmplY3RzIik7CiB9LCAiQ2FsbGluZyBhYm9ydCgpIG11bHRpcGxlIHRpbWVzIGlzIGFs
d2F5cyBhIG5ldyBvYmplY3QuIik7CiAKIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgY29u
c3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChkZWZhdWx0TWV0aG9kcywgZGVmYXVsdERl
dGFpbHMpOwotICBjb25zdCBbYWJvcnRQcm9taXNlLCBhY2NlcHRQcm9taXNlXSA9IGF3YWl0IHRl
c3RfZHJpdmVyLmJsZXNzKAotICAgICJzaG93IHBheW1lbnQgcmVxdWVzdCIsCi0gICAgKCkgPT4g
ewotICAgICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJlcXVlc3Quc2hvdygpCi0gICAgICBhY2Nl
cHRQcm9taXNlLmNhdGNoKCgpID0+IHt9KTsgLy8gbm8tb3AsIGp1c3QgdG8gc2lsZW5jZSB1bmhh
bmRsZWQgcmVqZWN0aW9uIGluIGRldnRvb2xzLgotICAgICAgY29uc3QgYWJvcnRQcm9taXNlID0g
cmVxdWVzdC5hYm9ydCgpOwotICAgICAgcmV0dXJuIFthYm9ydFByb21pc2UsIGFjY2VwdFByb21p
c2VdOwotICAgIH0pOwotCi0gIGF3YWl0IGFib3J0UHJvbWlzZTsKKyAgYXdhaXQgdGVzdF9kcml2
ZXIuYmxlc3MoInNob3cgcGF5bWVudCByZXF1ZXN0Iik7CisgIGNvbnN0IGFjY2VwdFByb21pc2Ug
PSByZXF1ZXN0LnNob3coKTsKKyAgYXdhaXQgcmVxdWVzdC5hYm9ydCgpOwogICBhd2FpdCBwcm9t
aXNlX3JlamVjdHNfZG9tKHQsICJBYm9ydEVycm9yIiwgYWNjZXB0UHJvbWlzZSk7CiAgIC8vIEFz
IHJlcXVlc3QgaXMgbm93ICJjbG9zZWQiLCB0cnlpbmcgdG8gc2hvdyBpdCB3aWxsIGZhaWwKKyAg
YXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoInNob3cgcGF5bWVudCByZXF1ZXN0Iik7CiAgIGF3YWl0
IHByb21pc2VfcmVqZWN0c19kb20odCwgIkludmFsaWRTdGF0ZUVycm9yIiwgcmVxdWVzdC5zaG93
KCkpOwogfSwgIlRoZSBzYW1lIHJlcXVlc3QgY2Fubm90IGJlIHNob3duIG11bHRpcGxlIHRpbWVz
LiIpOwogCkBAIC03MywyMiArNzEsMjAgQEAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBh
d2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIHJlcXVlc3Qu
YWJvcnQoKSk7CiAgIC8vIFRoZSByZXF1ZXN0J3Mgc3RhdGUgaXMgImNyZWF0ZWQiLCBzbyBsZXQn
cyBzaG93IGl0CiAgIC8vIHdoaWNoIGNoYW5nZXMgdGhlIHN0YXRlIHRvICJpbnRlcmFjdGl2ZS4i
LgotICBjb25zdCBbYWJvcnRQcm9taXNlLCBhY2NlcHRQcm9taXNlXSA9IGF3YWl0IHRlc3RfZHJp
dmVyLmJsZXNzKAotICAgICJzaG93IHBheW1lbnQgcmVxdWVzdCIsCi0gICAgKCkgPT4gewotICAg
ICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJlcXVlc3Quc2hvdygpCi0gICAgICAvLyBMZXQncyBz
ZXQgcmVxdWVzdCB0aGUgc3RhdGUgdG8gImNsb3NlZCIgYnkgY2FsbGluZyAuYWJvcnQoKQotICAg
ICAgY29uc3QgYWJvcnRQcm9taXNlID0gcmVxdWVzdC5hYm9ydCgpOwotICAgICAgcmV0dXJuIFth
Ym9ydFByb21pc2UsIGFjY2VwdFByb21pc2VdOwotICAgIH0pOwotCi0gIGF3YWl0IGFib3J0UHJv
bWlzZTsKKyAgYXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoInNob3cgcGF5bWVudCByZXF1ZXN0Iik7
CisgIGNvbnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coKTsKKyAgLy8gTGV0J3Mgc2V0
IHJlcXVlc3QgdGhlIHN0YXRlIHRvICJjbG9zZWQiIGJ5IGNhbGxpbmcgLmFib3J0KCkKKyAgYXdh
aXQgcmVxdWVzdC5hYm9ydCgpOwogICAvLyBUaGUgcmVxdWVzdCBpcyBub3cgImNsb3NlZCIsIHNv
Li4uCiAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkludmFsaWRTdGF0ZUVycm9yIiwg
cmVxdWVzdC5hYm9ydCgpKTsKICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiQWJvcnRF
cnJvciIsIGFjY2VwdFByb21pc2UpOwogfSwgIkFib3J0aW5nIGEgcmVxdWVzdCBiZWZvcmUgaXQg
aXMgc2hvd24gZG9lc24ndCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgc2hvd24gbGF0ZXIuIik7CiA8
L3NjcmlwdD4KIDxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEg
aHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5m
aWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0
L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KKyAgSWYgeW91IGZpbmQgYSBidWdn
eSB0ZXN0LCBwbGVhc2UKKyAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPiBhbmQKKyAgdGFnIG9uZSBvZiB0aGUK
KyAgPGEKKyAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiCisgICAgPnN1Z2dlc3RlZCBy
ZXZpZXdlcnM8L2E+LgogPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1j
YW5tYWtlcGF5bWVudC1tZXRob2QtcHJvdGVjdGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQtbWV0aG9kLXByb3RlY3Rpb24uaHR0cHMtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYWU1YTJmYTc2YjljYWQx
YjI0YzM1OTIzZjU0OGJmYjA4Nzc4ZjIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jYW5tYWtlcGF5bWVudC1tZXRob2Qt
cHJvdGVjdGlvbi5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLUlmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIGZpbGUgYSBidWcgYW5kIHRhZyBv
bmUgb2YgdGhlIHN1Z2dlc3RlZCByZXZpZXdlcnMuCi0KLVBBU1MgT3B0aW9uYWxseSwgYXQgdGhl
IHVzZXIgYWdlbnQncyBkaXNjcmV0aW9uLCByZXR1cm4gYSBwcm9taXNlIHJlamVjdGVkIHdpdGgg
YSAiTm90QWxsb3dlZEVycm9yIiBET01FeGNlcHRpb24uCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVxdWVzdC1jYW5tYWtlcGF5bWVudC1tZXRob2QtcHJvdGVjdGlvbi5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvcGF5bWVudC1yZXF1ZXN0LWNhbm1ha2VwYXltZW50LW1ldGhvZC1wcm90ZWN0aW9uLmh0dHBz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyMjEwMzRkZDRlYmQwNWM1YmQ3
MDFlMDVhODE4OTViODQ1N2MzYjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWNhbm1ha2VwYXltZW50LW1ldGhvZC1wcm90
ZWN0aW9uLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5UZXN0cyBmb3IgUGF5bWVu
dFJlcXVlc3QuY2FuTWFrZVBheW1lbnQoKSBtZXRob2Q8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vYnJvd3Nlci1wYXltZW50LWFwaS8jc2hvdy1t
ZXRob2QiPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMnPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotY29uc3QgYmFzaWNDYXJkID0gT2JqZWN0LmZyZWV6ZSh7IHN1cHBvcnRlZE1ldGhvZHM6
ICJiYXNpYy1jYXJkIiB9KTsKLWNvbnN0IGFwcGxlUGF5ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1
cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICBkYXRhOiB7
Ci0gICAgdmVyc2lvbjogMywKLSAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20u
ZXhhbXBsZSIsCi0gICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgbWVyY2hhbnRDYXBhYmlsaXRp
ZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0g
IH0KLX0pOwotY29uc3QgZGVmYXVsdE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFtiYXNpY0NhcmQs
IGFwcGxlUGF5XSk7Ci1jb25zdCBkZWZhdWx0RGV0YWlscyA9IE9iamVjdC5mcmVlemUoewotICB0
b3RhbDogewotICAgIGxhYmVsOiAiVG90YWwiLAotICAgIGFtb3VudDogewotICAgICAgY3VycmVu
Y3k6ICJVU0QiLAotICAgICAgdmFsdWU6ICIxLjAwIiwKLSAgICB9LAotICB9LAotfSk7Ci0KLXBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgLy8gVGhpcyB0ZXN0IG1pZ2h0IG5ldmVyIGFjdHVh
bGx5IGhpdCBpdHMgYXNzZXJ0aW9uLCBidXQgdGhhdCdzIGFsbG93ZWQuCi0gIGNvbnN0IHJlcXVl
c3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRlZmF1bHREZXRhaWxzKTsK
LSAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsKLSAgICB0cnkgewotICAgICAgYXdh
aXQgcmVxdWVzdC5jYW5NYWtlUGF5bWVudCgpOwotICAgIH0gY2F0Y2ggKGVycikgewotICAgICAg
YXNzZXJ0X2VxdWFscygKLSAgICAgICAgZXJyLm5hbWUsCi0gICAgICAgICJOb3RBbGxvd2VkRXJy
b3IiLAotICAgICAgICAiaWYgaXQgdGhyb3dzLCB0aGVuIGl0IG11c3QgYmUgYSBOb3RBbGxvd2Vk
RXJyb3IuIgotICAgICAgKTsKLSAgICAgIGJyZWFrOwotICAgIH0KLSAgfQotICBmb3IgKGxldCBp
ID0gMDsgaSA8IDEwMDA7IGkrKykgewotICAgIHRyeSB7Ci0gICAgICBhd2FpdCBuZXcgUGF5bWVu
dFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRlZmF1bHREZXRhaWxzKS5jYW5NYWtlUGF5bWVudCgp
OwotICAgIH0gY2F0Y2ggKGVycikgewotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgZXJy
Lm5hbWUsCi0gICAgICAgICJOb3RBbGxvd2VkRXJyb3IiLAotICAgICAgICAiaWYgaXQgdGhyb3dz
LCB0aGVuIGl0IG11c3QgYmUgYSBOb3RBbGxvd2VkRXJyb3IuIgotICAgICAgKTsKLSAgICAgIGJy
ZWFrOwotICAgIH0KLSAgfQotfSwgYE9wdGlvbmFsbHksIGF0IHRoZSB1c2VyIGFnZW50J3MgZGlz
Y3JldGlvbiwgcmV0dXJuIGEgcHJvbWlzZSByZWplY3RlZCB3aXRoIGEgIk5vdEFsbG93ZWRFcnJv
ciIgRE9NRXhjZXB0aW9uLmApOwotPC9zY3JpcHQ+Ci0KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQg
YSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0
aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxv
Yi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9h
Pi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRp
bnN0cnVtZW50LW1ldGhvZC1tYW51YWwudGVudGF0aXZlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLW1hbnVhbC50ZW50
YXRpdmUuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
MGY3MjAwZWRlYTQ4NmI0ODA0ZjJjYmI5ZjI4MjQ3MWM0NmVkMjU1Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJv
bGxlZGluc3RydW1lbnQtbWV0aG9kLW1hbnVhbC50ZW50YXRpdmUuaHR0cHMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotTWFudWFsIHRlc3RzIGZvciBoYXNFbnJv
bGxlZEluc3RydW1lbnQoKSBtZXRob2QKLQotRm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgZnJvbSB0
b3AgdG8gYm90dG9tLiBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSB3aXRob3V0IHJl
ZnJlc2hpbmcgdGhlIHBhZ2UuIFNvbWUgb2YgdGhlIHRlc3RzIHdpbGwgYnJpbmcgdXAgdGhlIFBh
eW1lbnQgUmVxdWVzdCBVSSBhbmQgY2xvc2UgdGhlbSBhdXRvbWF0aWNhbGx5LiBJZiBhIHBheW1l
bnQgc2hlZXQgc3RheXMgb3BlbiwgdGhlIHRlc3QgaGFzIGZhaWxlZC4KLQotRm9sbG93IGJyb3dz
ZXItc3BlY2lmaWMgaW5zdHJ1Y3Rpb25zIHRvIHJlbW92ZSBhbGwgY2FyZHMgZnJvbSB0aGUgdGVz
dCBwcm9maWxlLgotaGFzRW5yb2xsZWRJbnN0cnVtZW50KCkgcmVzb2x2ZXMgdG8gZmFsc2Ugd2hl
biB1c2VyIGhhcyBubyBlbnJvbGxlZCBpbnN0cnVtZW50LgotQWRkIGEgdGVzdCBWaXNhIGNhcmQg
dG8geW91ciB0ZXN0IHByb2ZpbGUsIGUuZy4gNDAxMjg4ODg4ODg4MTg4MS4KLWhhc0Vucm9sbGVk
SW5zdHJ1bWVudCgpIHJlc29sdmVzIHRvIHRydWUgd2hlbiB1c2VyIGhhcyBhbiBlbnJvbGxlZCBp
bnN0cnVtZW50LgotaGFzRW5yb2xsZWRJbnN0cnVtZW50KCkgY2FuIGJlIGNhbGxlZCBtdWx0aXBs
ZSB0aW1lcyBpZiB0aGUgcGF5bWVudCBtZXRob2QgZGV0YWlscyBhcmUgaWRlbnRpY2FsLgotRG9u
ZSEKLUlmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIGZpbGUgYSBidWcgYW5kIHRhZyBv
bmUgb2YgdGhlIHN1Z2dlc3RlZCByZXZpZXdlcnMuCi0KLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQp
LCBtZXNzYWdlID0gbnVsbAotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNl
bnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLW1hbnVhbC50ZW50YXRpdmUuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLW1hbnVhbC50ZW50
YXRpdmUuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTZiMTY0Zjdj
YzdiOGYxYzU3YjhmYTlmZDE0Y2JjN2Y1ZWY4MWVlYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0
cnVtZW50LW1ldGhvZC1tYW51YWwudGVudGF0aXZlLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw5NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
LTx0aXRsZT5NYW51YWwgdGVzdHMgZm9yIFBheW1lbnRSZXF1ZXN0Lmhhc0Vucm9sbGVkSW5zdHJ1
bWVudCgpIG1ldGhvZDwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI2hhc2Vucm9sbGVkaW5zdHJ1bWVudC1tZXRob2Qi
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLXNldHVwKHsKLSAgZXhwbGljaXRfZG9uZTogdHJ1ZSwKLSAgZXhwbGljaXRfdGltZW91
dDogdHJ1ZSwKLX0pOwotCi1jb25zdCBkZWZhdWx0TWV0aG9kcyA9IE9iamVjdC5mcmVlemUoWwot
ICB7Ci0gICAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotICAgIGRhdGE6IHsKLSAg
ICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbICd2aXNhJyBdLAotICAgIH0sCi0gIH0KLV0pOwotY29u
c3QgZGVmYXVsdERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6IHsKLSAgICBsYWJl
bDogIlRvdGFsIiwKLSAgICBhbW91bnQ6IHsKLSAgICAgIGN1cnJlbmN5OiAiVVNEIiwKLSAgICAg
IHZhbHVlOiAiMS4wMCIsCi0gICAgfSwKLSAgfSwKLX0pOwotCi1mdW5jdGlvbiB0ZXN0SGFzTm9F
bnJvbGxlZEluc3RydW1lbnQoKSB7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBj
b25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0
RGV0YWlscyk7Ci0gICAgYXNzZXJ0X2ZhbHNlKAotICAgICAgYXdhaXQgcmVxdWVzdC5oYXNFbnJv
bGxlZEluc3RydW1lbnQoKSwKLSAgICAgICJObyB0ZXN0IGVucm9sbGVkIGluIHRoZSB0ZXN0IHBy
b2ZpbGUuIgotICAgICk7Ci0gIH0sIGBoYXNFbnJvbGxlZEluc3RydW1lbnQoKSByZXNvbHZlcyB0
byBmYWxzZSB3aGVuIHVzZXIgaGFzIG5vIGVucm9sbGVkIGluc3RydW1lbnQuYCk7Ci19Ci0KLWZ1
bmN0aW9uIHRlc3RIYXNFbnJvbGxlZEluc3RydW1lbnQoKSB7Ci0gIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRN
ZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBhd2FpdCBy
ZXF1ZXN0Lmhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpLAotICAgICAgIkEgY2FyZCBpcyBlbnJvbGxl
ZCBpbiB0aGUgdGVzdCBwcm9maWxlLiIKLSAgICApOwotICB9LCBgaGFzRW5yb2xsZWRJbnN0cnVt
ZW50KCkgcmVzb2x2ZXMgdG8gdHJ1ZSB3aGVuIHVzZXIgaGFzIGFuIGVucm9sbGVkIGluc3RydW1l
bnQuYCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RIYXNFbnJvbGxlZEluc3RydW1lbnRBZ2FpbigpIHsK
LSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5
bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRlZmF1bHREZXRhaWxzKTsKLSAgICBhc3NlcnRf
dHJ1ZSgKLSAgICAgIGF3YWl0IHJlcXVlc3QuaGFzRW5yb2xsZWRJbnN0cnVtZW50KCksCi0gICAg
ICAiQSBjYXJkIGlzIGVucm9sbGVkIGluIHRoZSB0ZXN0IHByb2ZpbGUuIgotICAgICk7Ci0gIH0s
IGBoYXNFbnJvbGxlZEluc3RydW1lbnQoKSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGlm
IHRoZSBwYXltZW50IG1ldGhvZCBkZXRhaWxzIGFyZSBpZGVudGljYWwuYCk7Ci19Ci08L3Njcmlw
dD4KLQotPGgyPk1hbnVhbCB0ZXN0cyBmb3IgaGFzRW5yb2xsZWRJbnN0cnVtZW50KCkgbWV0aG9k
PC9oMj4KLTxwPgotICBGb2xsb3cgdGhlIGluc3RydWN0aW9ucyBmcm9tIHRvcCB0byBib3R0b20u
IENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlCi0gIHdpdGhvdXQgcmVmcmVzaGluZyB0
aGUgcGFnZS4gU29tZSBvZiB0aGUgdGVzdHMgd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudAotICBS
ZXF1ZXN0IFVJIGFuZCBjbG9zZSB0aGVtIGF1dG9tYXRpY2FsbHkuIElmIGEgcGF5bWVudCBzaGVl
dCBzdGF5cyBvcGVuLCB0aGUKLSAgdGVzdCBoYXMgZmFpbGVkLgotPC9wPgotPG9sPgotICA8bGk+
Rm9sbG93IGJyb3dzZXItc3BlY2lmaWMgaW5zdHJ1Y3Rpb25zIHRvIHJlbW92ZSBhbGwgY2FyZHMg
ZnJvbSB0aGUgdGVzdCBwcm9maWxlLjwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9
InRlc3RIYXNOb0Vucm9sbGVkSW5zdHJ1bWVudCgpIj4KLSAgICAgIGhhc0Vucm9sbGVkSW5zdHJ1
bWVudCgpIHJlc29sdmVzIHRvIGZhbHNlIHdoZW4gdXNlciBoYXMgbm8gZW5yb2xsZWQgaW5zdHJ1
bWVudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPkFkZCBhIHRlc3QgVmlzYSBjYXJk
IHRvIHlvdXIgdGVzdCBwcm9maWxlLCBlLmcuIDQwMTI4ODg4ODg4ODE4ODEuPC9saT4KLSAgPGxp
PgotICAgIDxidXR0b24gb25jbGljaz0idGVzdEhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpIj4KLSAg
ICAgIGhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpIHJlc29sdmVzIHRvIHRydWUgd2hlbiB1c2VyIGhh
cyBhbiBlbnJvbGxlZCBpbnN0cnVtZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0SGFzRW5yb2xsZWRJbnN0cnVtZW50QWdhaW4oKSI+
Ci0gICAgICBoYXNFbnJvbGxlZEluc3RydW1lbnQoKSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRp
bWVzIGlmIHRoZSBwYXltZW50IG1ldGhvZAotICAgICAgZGV0YWlscyBhcmUgaWRlbnRpY2FsLgot
ICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25l
KCkiPkRvbmUhPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmlu
ZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9m
IHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9i
bG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8
L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxl
ZGluc3RydW1lbnQtbWV0aG9kLnRlbnRhdGl2ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1
ZXN0LWhhc2Vucm9sbGVkaW5zdHJ1bWVudC1tZXRob2QudGVudGF0aXZlLmh0dHBzLmh0bWwKaW5k
ZXggYzU1MzEyY2UzM2IwZGEyZmNkMWQxNjE5YjZkN2ZmOGM2MTRhNGY2Yi4uNGY2YjdlOTIzOWI2
N2U0MzE3YzMyNWFmNjUxYWI2ODVmMGM2M2M0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1
ZXN0LWhhc2Vucm9sbGVkaW5zdHJ1bWVudC1tZXRob2QudGVudGF0aXZlLmh0dHBzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvcGF5bWVudC1yZXF1ZXN0LWhhc2Vucm9sbGVkaW5zdHJ1bWVudC1tZXRob2QudGVudGF0
aXZlLmh0dHBzLmh0bWwKQEAgLTgsNiArOCw5IEBACiA8c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90
ZXN0ZHJpdmVyLXZlbmRvci5qcyc+PC9zY3JpcHQ+CiA8c2NyaXB0PgogInVzZSBzdHJpY3QiOwor
CitzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsKKwogY29uc3QgdW5z
dXBwb3J0ZWRNZXRob2RzID0gWwogICB7IHN1cHBvcnRlZE1ldGhvZHM6ICJ0aGlzLWlzLW5vdC1z
dXBwb3J0ZWQiIH0sCiAgIHsgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vbm90LnN1cHBvcnRl
ZCIgfSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1zaG93LW1ldGhvZC5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LXNob3ctbWV0aG9kLmh0dHBzLmh0bWwKaW5kZXggZGNm
NzhlZjQyODFjNDI1NmVjYjQxNDFiM2Y5M2QxNWE5NDc4MDVhMy4uOTc4ODcyMWFhMzU0NzJkNDc5
OWE0NDIzOTIzMDY2MDc0NzVhZmFlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LXNo
b3ctbWV0aG9kLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LXNob3ctbWV0aG9k
Lmh0dHBzLmh0bWwKQEAgLTEsMTMgKzEsMTYgQEAKIDwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+CiA8dGl0bGU+VGVzdCBmb3Ig
UGF5bWVudFJlcXVlc3Quc2hvdygpIG1ldGhvZDwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI3Nob3ctbWV0aG9kIj4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVx
dWVzdC8jc2hvdy1tZXRob2QiIC8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQ+CiAidXNlIHN0cmljdCI7CisKK3NldHVwKHsgYWxsb3dfdW5jYXVn
aHRfZXhjZXB0aW9uOiB0cnVlIH0pOworCiBjb25zdCBkZWZhdWx0TWV0aG9kcyA9IE9iamVjdC5m
cmVlemUoWwogICB7IHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiB9LAogICB7CkBAIC0x
OCw3ICsyMSw3IEBAIGNvbnN0IGRlZmF1bHRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbCiAgICAg
ICBjb3VudHJ5Q29kZTogIlVTIiwKICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBv
cnRzM0RTIl0sCiAgICAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gICAgfQorICAg
IH0sCiAgIH0sCiBdKTsKIApAQCAtMzIsNyArMzUsNyBAQCBjb25zdCBkZWZhdWx0RGV0YWlscyA9
IE9iamVjdC5mcmVlemUoewogICB9LAogfSk7CiAKLXByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
K3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4gewogICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1l
bnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7CiAgIGNvbnN0IGFjY2Vw
dFByb21pc2UgPSByZXF1ZXN0LnNob3coKTsKICAgLy8gQWJvcnQgdGhlIHJlcXVlc3QgYWZ0ZXIg
MiBzZWNvbmRzIGlmIGl0IGhhcyBub3QgcmVqZWN0ZWQuIFRoaXMgYWxsb3dzIHRoZQpAQCAtNDMs
NjIgKzQ2LDY0IEBAIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgICByZXF1ZXN0LmFib3J0
KCk7CiAgIH0sIDIwMDApOwogCi0gIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIlNlY3Vy
aXR5RXJyb3IiLCBhY2NlcHRQcm9taXNlKTsKKyAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0
LCAiTm90QWxsb3dlZEVycm9yIiwgYWNjZXB0UHJvbWlzZSk7CiB9LCBgQ2FsbGluZyBzaG93KCkg
d2l0aG91dCBiZWluZyB0cmlnZ2VyZWQgYnkgdXNlciBpbnRlcmFjdGlvbiB0aHJvd3NgKTsKIAot
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CiAg
IGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRlZmF1
bHREZXRhaWxzKTsKLSAgY29uc3QgW2FjY2VwdFByb21pc2VdID0gYXdhaXQgdGVzdF9kcml2ZXIu
Ymxlc3MoCi0gICAgInRlc3Q6IHRocm93cyBpZiB0aGUgcHJvbWlzZSBbW3N0YXRlXV0gaXMgbm90
ICdjcmVhdGVkJyIsCi0gICAgKCkgPT4gewotICAgICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJl
cXVlc3Quc2hvdygpOyAvLyBTZXRzIHN0YXRlIHRvICJpbnRlcmFjdGl2ZSIKLSAgICAgIHJldHVy
biBbYWNjZXB0UHJvbWlzZV07Ci0gICAgfSk7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKAor
ICAgICJ0ZXN0OiB0aHJvd3MgaWYgdGhlIHByb21pc2UgW1tzdGF0ZV1dIGlzIG5vdCAnY3JlYXRl
ZCciCisgICk7CisgIGNvbnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coKTsgLy8gU2V0
cyBzdGF0ZSB0byAiaW50ZXJhY3RpdmUiCisgIC8vIE5vIHVzZXIgYWN0aXZhdGlvbi4uLgorICBh
d2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJOb3RBbGxvd2VkRXJyb3IiLCByZXF1ZXN0LnNo
b3coKSk7CisKKyAgLy8gR2V0IHVzZXIgYWN0aXZhdGlvbgorICBhd2FpdCB0ZXN0X2RyaXZlci5i
bGVzcygKKyAgICAidGVzdDogdGhyb3dzIGlmIHRoZSBwcm9taXNlIFtbc3RhdGVdXSBpcyBub3Qg
J2NyZWF0ZWQnIgorICApOwogICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJJbnZhbGlk
U3RhdGVFcnJvciIsIHJlcXVlc3Quc2hvdygpKTsKKwogICBhd2FpdCByZXF1ZXN0LmFib3J0KCk7
CiAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkFib3J0RXJyb3IiLCBhY2NlcHRQcm9t
aXNlKTsKIH0sICJUaHJvd3MgaWYgdGhlIHByb21pc2UgW1tzdGF0ZV1dIGlzIG5vdCAnY3JlYXRl
ZCcuIik7CiAKLXByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKK3Byb21pc2VfdGVzdChhc3luYyAo
dCkgPT4gewogICBjb25zdCByZXF1ZXN0MSA9IG5ldyBQYXltZW50UmVxdWVzdChkZWZhdWx0TWV0
aG9kcywgZGVmYXVsdERldGFpbHMpOwogICBjb25zdCByZXF1ZXN0MiA9IG5ldyBQYXltZW50UmVx
dWVzdChkZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOwotICBjb25zdCBbYWNjZXB0UHJv
bWlzZTFdID0gYXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoCi0gICAgYHRlc3Q6IHJlamVjdCBwcm9t
aXNlIHdpdGggIkFib3J0ZWRFcnJvciIgaWYgcGF5bWVudCByZXF1ZXN0IGlzIGFscmVhZHkgc2hv
d2luZ2AsCi0gICAgYXN5bmMgKCkgPT4gewotICAgICAgY29uc3QgYWNjZXB0UHJvbWlzZTEgPSBy
ZXF1ZXN0MS5zaG93KCk7Ci0gICAgICBjb25zdCBhY2NlcHRQcm9taXNlMiA9IHJlcXVlc3QyLnNo
b3coKTsKLSAgICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkFib3J0RXJyb3IiLCBh
Y2NlcHRQcm9taXNlMik7Ci0gICAgICByZXR1cm4gW2FjY2VwdFByb21pc2UxXTsKLSAgICB9KTsK
KworICBhd2FpdCB0ZXN0X2RyaXZlci5ibGVzcygicGF5bWVudCByZXF1ZXN0Iik7CisgIGNvbnN0
IGFjY2VwdFByb21pc2UxID0gcmVxdWVzdDEuc2hvdygpOworCisgIC8vIFVzZXIgYWN0aXZhdGlv
biBjb25zdW1lZCwgc28uLi4KKyAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiTm90QWxs
b3dlZEVycm9yIiwgcmVxdWVzdDIuc2hvdygpKTsKKworICAvLyBQYXltZW50IHJlcXVlc3QgYWxy
ZWFkeSBzaG93aW5nLCBzby4uLgorICBhd2FpdCB0ZXN0X2RyaXZlci5ibGVzcygicGF5bWVudCBy
ZXF1ZXN0Iik7CisgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkFib3J0RXJyb3IiLCBy
ZXF1ZXN0Mi5zaG93KCkpOwogCiAgIGF3YWl0IHJlcXVlc3QxLmFib3J0KCk7CiAgIGF3YWl0IHBy
b21pc2VfcmVqZWN0c19kb20odCwgIkFib3J0RXJyb3IiLCBhY2NlcHRQcm9taXNlMSk7CiB9LCBg
SWYgdGhlIHVzZXIgYWdlbnQncyAicGF5bWVudCByZXF1ZXN0IGlzIHNob3dpbmciIGJvb2xlYW4g
aXMgdHJ1ZSwgdGhlbiByZXR1cm4gYSBwcm9taXNlIHJlamVjdGVkIHdpdGggYW4gIkFib3J0RXJy
b3IiIERPTUV4Y2VwdGlvbi5gKTsKIAotcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworcHJvbWlz
ZV90ZXN0KGFzeW5jICh0KSA9PiB7CiAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVl
c3QoCiAgICAgW3sgc3VwcG9ydGVkTWV0aG9kczogInRoaXMtaXMtbm90LXN1cHBvcnRlZCIgfV0s
CiAgICAgZGVmYXVsdERldGFpbHMKICAgKTsKLSAgY29uc3QgW2FjY2VwdFByb21pc2VdID0gYXdh
aXQgdGVzdF9kcml2ZXIuYmxlc3MoCi0gICAgYHRlc3Q6IHJlamVjdCBwcm9taXNlIHdpdGggIk5v
dFN1cHBvcnRlZEVycm9yImAsCi0gICAgKCkgPT4gewotICAgICAgY29uc3QgYWNjZXB0UHJvbWlz
ZSA9IHJlcXVlc3Quc2hvdygpOwotICAgICAgcmV0dXJuIFthY2NlcHRQcm9taXNlXTsKLSAgICB9
KTsKKyAgYXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoYHRlc3Q6IHJlamVjdCBwcm9taXNlIHdpdGgg
Ik5vdFN1cHBvcnRlZEVycm9yImApOworICBjb25zdCBhY2NlcHRQcm9taXNlID0gcmVxdWVzdC5z
aG93KCk7CiAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIk5vdFN1cHBvcnRlZEVycm9y
IiwgYWNjZXB0UHJvbWlzZSk7CiB9LCBgSWYgcGF5bWVudCBtZXRob2QgY29uc3VsdGF0aW9uIHBy
b2R1Y2VzIG5vIHN1cHBvcnRlZCBtZXRob2Qgb2YgcGF5bWVudCwgdGhlbiByZXR1cm4gYSBwcm9t
aXNlIHJlamVjdGVkIHdpdGggYSAiTm90U3VwcG9ydGVkRXJyb3IiIERPTUV4Y2VwdGlvbi5gKTsK
IAotcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7
CiAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRl
ZmF1bHREZXRhaWxzKTsKLSAgY29uc3QgW3AxLCBwMiwgcDNdID0gYXdhaXQgdGVzdF9kcml2ZXIu
Ymxlc3MoCi0gICAgYHRlc3Q6IGNhbGxpbmcgc2hvdygpIG11bHRpcGxlIHRpbWVzIGFsd2F5cyBy
ZXR1cm5zIGEgbmV3IHByb21pc2VgLAotICAgICgpID0+IHsKLSAgICAgIGNvbnN0IHAxID0gcmVx
dWVzdC5zaG93KCk7Ci0gICAgICBjb25zdCBwMiA9IHJlcXVlc3Quc2hvdygpOwotICAgICAgY29u
c3QgcDMgPSByZXF1ZXN0LnNob3coKTsKLSAgICAgIHJldHVybiBbcDEsIHAyLCBwM107Ci0gICAg
fSk7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKCJjYWxsIHNob3coKSIpOworICBjb25zdCBw
MSA9IHJlcXVlc3Quc2hvdygpOworICBhd2FpdCB0ZXN0X2RyaXZlci5ibGVzcygiY2FsbCBzaG93
KCkiKTsKKyAgY29uc3QgcDIgPSByZXF1ZXN0LnNob3coKTsKKyAgYXdhaXQgdGVzdF9kcml2ZXIu
Ymxlc3MoImNhbGwgc2hvdygpIik7CisgIGNvbnN0IHAzID0gcmVxdWVzdC5zaG93KCk7CiAgIGNv
bnN0IHByb21pc2VzID0gbmV3IFNldChbcDEsIHAyLCBwM10pOwogICBhc3NlcnRfZXF1YWxzKHBy
b21pc2VzLnNpemUsIDMsICJNdXN0IGhhdmUgdGhyZWUgdW5pcXVlIG9iamVjdHMiKTsKIApAQCAt
MTA4LDkgKzExMywxMiBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGF3YWl0IHJlcXVl
c3QuYWJvcnQoKTsKICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiQWJvcnRFcnJvciIs
IHAxKTsKIH0sICJDYWxsaW5nIHNob3coKSBtdWx0aXBsZSB0aW1lcyBhbHdheXMgcmV0dXJucyBh
IG5ldyBwcm9taXNlLiIpOwotCiA8L3NjcmlwdD4KIDxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBi
dWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUg
PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9t
YXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4K
KyAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UKKyAgPGEgaHJlZj0iaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPiBh
bmQKKyAgdGFnIG9uZSBvZiB0aGUKKyAgPGEKKyAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55
bWwiCisgICAgPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgogPC9zbWFsbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3BheW1lbnQtcmVzcG9uc2UvY29tcGxldGUtbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvcGF5bWVudC1yZXNwb25zZS9jb21wbGV0ZS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3ZmFjZDc5ODAwMTYxODlkM2RiZWU2NTNhMzg4
OTlkYTI2YmVkOTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvcGF5bWVudC1yZXNwb25zZS9jb21wbGV0ZS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBj
aGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3BheW1lbnQtcmVxdWVzdC8jZG9tLXBheW1lbnRyZXNwb25zZS1jb21wbGV0ZSgpIj4KLTx0
aXRsZT4KLSAgUGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZS5jb21wbGV0ZSgpIG1ldGhvZAotPC90
aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1hc3luYyBmdW5j
dGlvbiBydW5NYW51YWxUZXN0KHsgY29tcGxldGVXaXRoOiByZXN1bHQgfSwgYnV0dG9uKSB7Ci0g
IGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIGNvbnN0IHsgcmVzcG9uc2UsIHJlcXVlc3QgfSA9
IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2UoKTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4gewotICAgIGxldCBjb21wbGV0ZVByb21pc2U7Ci0gICAgbGV0IGludmFsaWRDb21wbGV0
ZTsKLSAgICBsZXQgYWZ0ZXJDb21wbGV0ZTsKLSAgICB0cnkgewotICAgICAgLy8gV2UgLmNvbXBs
ZXRlKCkgYXMgbm9ybWFsLCB1c2luZyB0aGUgcGFzc2VkIHRlc3QgdmFsdWUKLSAgICAgIGNvbXBs
ZXRlUHJvbWlzZSA9IHJlc3BvbnNlLmNvbXBsZXRlKHJlc3VsdCk7Ci0gICAgICBhc3NlcnRfdHJ1
ZShjb21wbGV0ZVByb21pc2UgaW5zdGFuY2VvZiBQcm9taXNlLCAicmV0dXJucyBhIHByb21pc2Ui
KTsKLSAgICAgIC8vIEltbWVkaWF0ZWx5IGNhbGxpbmcgY29tcGxldGUoKSBhZ2FpbiB5aWVsZHMg
YSByZWplY3RlZCBwcm9taXNlLgotICAgICAgaW52YWxpZENvbXBsZXRlID0gcmVzcG9uc2UuY29t
cGxldGUocmVzdWx0KTsKLSAgICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkludmFs
aWRTdGF0ZUVycm9yIiwgaW52YWxpZENvbXBsZXRlKTsKLSAgICAgIC8vIGJ1dCB0aGUgb3JpZ2lu
YWwgcHJvbWlzZSBpcyB1bmFmZmVjdGVkCi0gICAgICBjb25zdCByZXR1cm5lZFZhbHVlID0gYXdh
aXQgY29tcGxldGVQcm9taXNlOwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgcmV0dXJu
ZWRWYWx1ZSwKLSAgICAgICAgdW5kZWZpbmVkLAotICAgICAgICAiUmV0dXJuZWQgdmFsdWUgbXVz
dCBhbHdheXMgYmUgdW5kZWZpbmVkIgotICAgICAgKTsKLSAgICAgIC8vIFdlIG5vdyBjYWxsIC5j
b21wbGV0ZSgpIGFnYWluLCB0byBmb3JjZSBhbiBleGNlcHRpb24KLSAgICAgIC8vIGJlY2F1c2Ug
W1tjb21wbGV0ZV1dIGlzIHRydWUuCi0gICAgICBhZnRlckNvbXBsZXRlID0gcmVzcG9uc2UuY29t
cGxldGUocmVzdWx0KTsKLSAgICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkludmFs
aWRTdGF0ZUVycm9yIiwgYWZ0ZXJDb21wbGV0ZSk7Ci0gICAgICBidXR0b24uaW5uZXJIVE1MID0g
YOKchSAgJHtidXR0b24udGV4dENvbnRlbnR9YDsKLSAgICB9IGNhdGNoIChlcnIpIHsKLSAgICAg
IGJ1dHRvbi5pbm5lckhUTUwgPSBg4p2MICAke2J1dHRvbi50ZXh0Q29udGVudH1gOwotICAgICAg
YXNzZXJ0X3VucmVhY2hlZCgiVW5leHBlY3RlZCBleGNlcHRpb246ICIgKyBlcnIubWVzc2FnZSk7
Ci0gICAgfQotICAgIGNvbnN0IGFsbFByb21pc2VzID0gbmV3IFNldChbCi0gICAgICBjb21wbGV0
ZVByb21pc2UsCi0gICAgICBpbnZhbGlkQ29tcGxldGUsCi0gICAgICBhZnRlckNvbXBsZXRlLAot
ICAgIF0pOwotICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICBhbGxQcm9taXNlcy5zaXplLAotICAg
ICAgMywKLSAgICAgICJDYWxsaW5nIGNvbXBsZXRlKCkgbXVsdGlwbGUgdGltZXMgaXMgYWx3YXlz
IGEgbmV3IG9iamVjdC4iCi0gICAgKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7
Ci19Ci08L3NjcmlwdD4KLQotPGgyPgotICAgIE1hbnVhbCBUZXN0cyBmb3IgUGF5bWVudFJlc3Bv
bnNlLmNvbXBsZXRlKCkgLSBQbGVhc2UgcnVuIGluIG9yZGVyIQotPC9oMj4KLTxwPgotICBDbGlj
ayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCBy
ZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXlt
ZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gcHJlc2VudGVkIHdpdGgg
dGhlIHBheW1lbnQgc2hlZXQsIHVzZSBhbnkgY3JlZGl0IGNhcmQgc2VsZWN0IHRvICJQYXkiLgot
ICBBbHNvIGNvbmZpcm0gYW55IHByb21wdHMgdGhhdCBjb21lIHVwLgotPC9wPgotPG9sPgotICA8
bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHtjb21wbGV0ZVdpdGg6ICdz
dWNjZXNzJ30sIHRoaXMpIj4KLSAgICAgIElmIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgc2xv
dCBbW2NvbXBsZXRlQ2FsbGVkXV0gaXMgdHJ1ZSwKLSAgICAgIHJlamVjdCBwcm9taXNlIHdpdGgg
YW4gIkludmFsaWRTdGF0ZUVycm9yIiBET01FeGNlcHRpb24uCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3Qoe2NvbXBsZXRl
V2l0aDogdW5kZWZpbmVkfSwgdGhpcykiPgotICAgICAgUGFzc2luZyBubyBhcmd1bWVudCBkZWZh
dWx0cyB0byAidW5rbm93biIsCi0gICAgICBldmVudHVhbGx5IGNsb3NpbmcgdGhlIHNoZWV0IGFu
ZCBkb2Vzbid0IHRocm93LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1
dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHtjb21wbGV0ZVdpdGg6ICdzdWNjZXNzJ30sIHRo
aXMpIj4KLSAgICAgIFBhc3NpbmcgInN1Y2Nlc3MiIGV2ZW50dWFsbHkgY2xvc2VzIHRoZSBzaGVl
dCBhbmQgZG9lc24ndCB0aHJvdy4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAg
IDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh7Y29tcGxldGVXaXRoOiAnZmFpbCd9LCB0
aGlzKSI+Ci0gICAgICBQYXNzaW5nICJmYWlsIiBldmVudHVhbGx5IGNsb3NlcyB0aGUgc2hlZXQg
YW5kIGRvZXNuJ3QgdGhyb3cuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8
YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3Qoe2NvbXBsZXRlV2l0aDogJ3Vua25vd24nfSwg
dGhpcykiPgotICAgICAgUGFzc2luZyAidW5rbm93biIgZXZlbnR1YWxseSBjbG9zZXMgdGhlIHNo
ZWV0IGFuZCBkb2Vzbid0IHRocm93LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0g
ICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCkiPkRvbmUhPC9idXR0b24+Ci0gIDwvbGk+Ci08L29s
PgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBi
dWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55
bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVzcG9uc2UvbWV0aG9kTmFtZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9wYXltZW50LXJlc3BvbnNlL21ldGhvZE5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYThlZjZjNzdlODdlNjhhMWI3ZjlhYTI4
NTg4YmU0ZGUzZGE5OGYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvbWV0aG9kTmFtZS1hdHRyaWJ1dGUtbWFudWFsLmh0
dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4K
LTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3cz
Yy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5bWVudHJlc3BvbnNlLW1ldGhvZG5h
bWUiPgotPHRpdGxlPgotICBQYXltZW50UmVzcG9uc2UucHJvdG90eXBlLm1ldGhvZE5hbWUgYXR0
cmlidXRlCi08L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImhlbHBlcnMuanMiPjwvc2NyaXB0PgotPGgyPm1ldGhv
ZE5hbWUgYXR0cmlidXRlPC9oMj4KLTxwPgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1
ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBF
YWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93Lgot
PC9wPgotPHA+Ci0gIFVzZSBhbnkgY3JlZGl0IGNhcmQgYW5kIGFueSB2YWx1ZXMuCi08L3A+Ci08
b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywge30s
IHsgbWV0aG9kTmFtZTogJ2Jhc2ljLWNhcmQnIH0pLnRoZW4oZG9uZSkiPgotICAgICAgRXhwZWN0
IHRoZSBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVyIHRvIGJlICdiYXNpYy1jYXJkJy4KLSAgICA8
L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kg
dGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhy
ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVy
L3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3Nt
YWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9vbnBheWVyZGV0YWlsY2hhbmdl
LWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvb25wYXll
cmRldGFpbGNoYW5nZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDU3MzE5NTJjMGViYzBlODA4NWNiMzQwYjViN2NmYzQ3ODg0OWZjOTku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVu
dC1yZXNwb25zZS9vbnBheWVyZGV0YWlsY2hhbmdlLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEg
Y2hhcnNldD11dGYtOD4KLTx0aXRsZT5QYXltZW50UmVzcG9uc2UucHJvdG90eXBlLm9ucGF5ZXJk
ZXRhaWxjaGFuZ2UgYXR0cmlidXRlPC90aXRsZT4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImhlbHBlcnMuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLWZ1bmN0aW9uIHJ1blRlc3QoYnV0dG9uLCBvcHRpb25zLCBleHBlY3RlZCl7Ci0g
IGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Ci0g
ICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRQYXltZW50UmVzcG9uc2Uob3B0aW9ucyk7Ci0g
ICAgY29uc3QgZXZlbnRQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICBy
ZXNwb25zZS5hZGRFdmVudExpc3RlbmVyKCJwYXllcmRldGFpbGNoYW5nZSIsIHJlc29sdmUpOwot
ICAgIH0pOwotICAgIGNvbnN0IGVycm9yID0gYnV0dG9uLnByZXZpb3VzRWxlbWVudFNpYmxpbmcu
dGV4dENvbnRlbnQudHJpbSgpOwotICAgIGF3YWl0IHJlc3BvbnNlLnJldHJ5KHsgZXJyb3IgfSk7
Ci0gICAgY29uc3QgZXZlbnQgPSBhd2FpdCBldmVudFByb21pc2U7Ci0gICAgYXNzZXJ0X3RydWUo
ZXZlbnQgaW5zdGFuY2VvZiBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50KTsKLSAgICBmb3IoW3By
b3AsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhleHBlY3RlZCkpewotICAgICAgaWYgKHByb3Ag
PT09ICdwYXllclBob25lJykgewotICAgICAgICAvLyB8cGF5ZXJQaG9uZXwgbWF5IG9wdGlvbmFs
bHkgYWRoZXJlIHRvIEUxNjQgc3RydWN0dXJlLCB3aGljaCBkb2VzIG5vdAotICAgICAgICAvLyBj
b250YWluIGZvcm1hdHRpbmcsIGUuZy4gKzE4MDAwMDAwMCBpbnN0ZWFkIG9mICsxLTgwMC0wMDAt
MDAwMC4KLSAgICAgICAgLy8gU3RyaXAgb3V0IHRoZSBmb3JtYXR0aW5nIGluIGNhc2UgdGhlIHVz
ZXIgYWdlbnQgaW1wbGVtZW50cyBFMTY0LgotICAgICAgICAvLyBodHRwczovL3czYy5naXRodWIu
aW8vcGF5bWVudC1yZXF1ZXN0LyNhZGRyZXNzaW5pdC1kaWN0aW9uYXJ5Ci0gICAgICAgIHZhbHVl
ID0gdmFsdWUucmVwbGFjZSgvWy1cKFwpIF0vZywgJycpOwotICAgICAgfQotICAgICAgYXNzZXJ0
X2VxdWFscyhyZXNwb25zZVtwcm9wXSwgdmFsdWUpOwotICAgIH0KLSAgICBhd2FpdCByZXNwb25z
ZS5jb21wbGV0ZSgic3VjY2VzcyIpOwotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsK
LX0KLTwvc2NyaXB0PgotPGgyPkhhbmRsaW5nIFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUub25w
YXllcmRldGFpbGNoYW5nZSBldmVudHM8L2gyPgotPHA+Ci0gIEVhY2ggYnV0dG9uIHdpbGwgYnJp
bmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi0gIFdoZW4gc2hvd24gdGhlIHBh
eW1lbnQgc2hlZXQsIHVzZSBhbnkgZGV0YWlscyBhbmQgaGl0IHBheS4KLTwvcD4KLTxwPgotICBX
aGVuIGFza2VkIHRvIHJldHJ5IHRoZSBwYXltZW50OgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAg
PHA+Ci0gICAgICBDaGFuZ2UgcGF5ZXIncyBuYW1lIHRvICJwYXNzIi4KLSAgICA8L3A+Ci0gICAg
PGJ1dHRvbiBvbmNsaWNrPSJydW5UZXN0KHRoaXMsIHsgcmVxdWVzdFBheWVyTmFtZTogdHJ1ZSB9
LCB7IHBheWVyTmFtZTogJ3Bhc3MnIH0pOyI+Ci0gICAgICBQYXltZW50UmVxdWVzdFVwZGF0ZUV2
ZW50IGlzIGRpc3BhdGNoZWQgd2hlbiBwYXllciBuYW1lIGNoYW5nZXMuCi0gICAgPC9idXR0b24+
Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8cD4KLSAgICAgIENoYW5nZSBwYXllcidzIGVtYWlsIHRv
ICJwYXNzQHBhc3MucGFzcyIuCi0gICAgPC9wPgotICAgIDxidXR0b24gb25jbGljaz0icnVuVGVz
dCh0aGlzLCB7cmVxdWVzdFBheWVyRW1haWw6IHRydWV9LCB7IHBheWVyRW1haWw6ICdwYXNzQHBh
c3MucGFzcycgfSk7Ij4KLSAgICAgIFBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQgaXMgZGlzcGF0
Y2hlZCB3aGVuIHBheWVyIGVtYWlsIGNoYW5nZXMuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0g
IDxsaT4KLSAgICA8cD4KLSAgICAgIENoYW5nZSBwYXllcidzIHBob25lIHRvICIrMS04MDAtMDAw
LTAwMDAiLgotICAgIDwvcD4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1blRlc3QodGhpcywge3Jl
cXVlc3RQYXllclBob25lOiB0cnVlfSwgeyBwYXllclBob25lOiAnKzE4MDAwMDAwMDAwJyB9KSI+
Ci0gICAgICBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IGlzIGRpc3BhdGNoZWQgd2hlbiBwYXll
ciBwaG9uZSBjaGFuZ2VzLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1
dHRvbiBvbmNsaWNrPSJkb25lKCk7Ij5ET05FITwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxz
bWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9h
PgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5v
d25lcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5
ZXJFbWFpbC1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNl
L3BheWVyRW1haWwtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyOGNlNGMyOGE4NWM1YmRiNzlmMDg0MzhlZGQyMDg2ZmQ2YjA5YzA4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVzcG9uc2UvcGF5ZXJFbWFpbC1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0OCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVu
dC1yZXF1ZXN0LyNkb20tcGF5bWVudHJlc3BvbnNlLXBheWVyZW1haWwiPgotPHRpdGxlPgotICBQ
YXltZW50UmVzcG9uc2UucHJvdG90eXBlLnBheWVyRW1haWwgYXR0cmlidXRlCi08L3RpdGxlPgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9ImhlbHBlcnMuanMiPjwvc2NyaXB0PgotPGgyPnBheWVyRW1haWwgYXR0cmlidXRlPC9o
Mj4KLTxwPgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBi
b3R0b20gd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJy
aW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4g
cmVxdWVzdGVkLCBwbGVhc2UgdXNlICJ3cHRAdzMub3JnIiBhcyB0aGUgZW1haWwuCi08L3A+Ci08
b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgdW5k
ZWZpbmVkLCB7IHBheWVyRW1haWw6IG51bGwgfSkiPgotICAgICAgcGF5ZXJFbWFpbCBhdHRyaWJ1
dGUgaXMgbnVsbCB3aGVuIG9wdGlvbnMgdW5kZWZpbmVkLgotICAgIDwvYnV0dG9uPgotICA8L2xp
PgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHsgcmVx
dWVzdFBheWVyRW1haWw6IHVuZGVmaW5lZCB9LCB7IHBheWVyRW1haWw6IG51bGwgfSkiPgotICAg
ICAgcGF5ZXJFbWFpbCBhdHRyaWJ1dGUgaXMgbnVsbCB3aGVuIHJlcXVlc3RQYXllckVtYWlsIGlz
IHVuZGVmaW5lZC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24g
b25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllckVtYWlsOiBmYWxzZSB9
LCB7IHBheWVyRW1haWw6IG51bGwgfSkiPgotICAgICAgcGF5ZXJFbWFpbCBhdHRyaWJ1dGUgaXMg
bnVsbCB3aGVuIHJlcXVlc3RQYXllckVtYWlsIGlzIGZhbHNlLgotICAgIDwvYnV0dG9uPgotICA8
L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHsg
cmVxdWVzdFBheWVyRW1haWw6IHRydWUgfSwgeyBwYXllckVtYWlsOiAnd3B0QHczLm9yZycgfSki
PgotICAgICAgcGF5ZXJFbWFpbCBhdHRyaWJ1dGUgaXMgJ3dwdEB3My5vcmcnIHdoZW4gcmVxdWVz
dFBheWVyRW1haWwgaXMgdHJ1ZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAg
IDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllckVtYWls
OiAneWVwJyB9LCB7IHBheWVyRW1haWw6ICd3cHRAdzMub3JnJyB9KS50aGVuKGRvbmUpIj4KLSAg
ICAgIHBheWVyRW1haWwgYXR0cmlidXRlIGlzICd3cHRAdzMub3JnJyB3aGVuIHJlcXVlc3RQYXll
ckVtYWlsIGlzIHRydXRoeS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci08c21hbGw+
Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0
aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAg
YW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZv
cm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+c3VnZ2Vz
dGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNw
b25zZS9wYXllck5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS9wYXllck5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0NGQ3NDFhZTQ1Y2I3ZjhmMzRmYTE1NTBiNDdiNDljZjNlMGM0
NTBiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVzcG9uc2UvcGF5ZXJOYW1lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNl
dD0idXRmOCI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9w
YXltZW50LXJlcXVlc3QvI2RvbS1wYXltZW50cmVzcG9uc2UtcGF5ZXJuYW1lIj4KLTx0aXRsZT4K
LSAgUGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZS5wYXllck5hbWUgYXR0cmlidXRlCi08L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9ImhlbHBlcnMuanMiPjwvc2NyaXB0PgotPGgyPnBheWVyTmFtZSBhdHRyaWJ1dGU8
L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRv
IGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwg
YnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hl
biByZXF1ZXN0ZWQsIHBsZWFzZSB1c2UgIndlYiBwbGF0Zm9ybSB0ZXN0IiBhcyB0aGUgcGF5ZXIg
bmFtZS4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFs
VGVzdCh0aGlzLCB1bmRlZmluZWQsIHsgcGF5ZXJOYW1lOiBudWxsIH0pIj4KLSAgICAgIHBheWVy
TmFtZSBhdHRyaWJ1dGUgaXMgbnVsbCB3aGVuIG9wdGlvbiBpcyB1bmRlZmluZWQuCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRl
c3QodGhpcywgeyByZXF1ZXN0UGF5ZXJOYW1lOiB1bmRlZmluZWQgfSwgeyBwYXllck5hbWU6IG51
bGwgfSkiPgotICAgICAgcGF5ZXJOYW1lIGF0dHJpYnV0ZSBpcyBudWxsIHdoZW4gcmVxdWVzdFBh
eWVyTmFtZSBpcyB1bmRlZmluZWQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAg
ICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgeyByZXF1ZXN0UGF5ZXJOYW1l
OiBmYWxzZSB9LCB7IHBheWVyTmFtZTogbnVsbCB9KSI+Ci0gICAgICBwYXllck5hbWUgYXR0cmli
dXRlIGlzIG51bGwgd2hlbiByZXF1ZXN0UGF5ZXJOYW1lIGlzIGZhbHNlLgotICAgIDwvYnV0dG9u
PgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRo
aXMsIHsgcmVxdWVzdFBheWVyTmFtZTogdHJ1ZSB9LCB7IHBheWVyTmFtZTogJ3dlYiBwbGF0Zm9y
bSB0ZXN0JyB9KSI+Ci0gICAgICBwYXllck5hbWUgYXR0cmlidXRlIGlzICd3ZWIgcGxhdGZvcm0g
dGVzdCcgd2hlbiByZXF1ZXN0UGF5ZXJOYW1lIGlzIHRydWUuCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgeyBy
ZXF1ZXN0UGF5ZXJOYW1lOiAneWVwJyB9LCB7IHBheWVyTmFtZTogJ3dlYiBwbGF0Zm9ybSB0ZXN0
JyB9KS50aGVuKGRvbmUpIj4KLSAgICAgIHBheWVyTmFtZSBhdHRyaWJ1dGUgaXMgJ3dlYiBwbGF0
Zm9ybSB0ZXN0JyB3aGVuIHJlcXVlc3RQYXllck5hbWUgaXMgdHJ1dGh5LgotICAgIDwvYnV0dG9u
PgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBw
bGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQv
aXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0
cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVu
dC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyUGhvbmUtYXR0cmlidXRlLW1hbnVh
bC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllclBob25lLWF0dHJpYnV0ZS1t
YW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODVhNDRhODE5
Y2Q4NTU1ZTAzMjUyMGY4ODdjZjg5NTA4YmRiOThiNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyUGhvbmUtYXR0
cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jZG9tLXBheW1lbnRy
ZXNwb25zZS1wYXllcnBob25lIj4KLTx0aXRsZT4KLSAgUGF5bWVudFJlc3BvbnNlLnByb3RvdHlw
ZS5wYXllclBob25lIGF0dHJpYnV0ZQotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3Nj
cmlwdD4KLTxoMj5wYXllclBob25lIGF0dHJpYnV0ZTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFj
aCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGlu
ZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1
ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByb21wdGVkLCBwbGVhc2UgdXNlICsx
MjM0NTY3ODkxMCBhcyB0aGUgcGhvbmUgbnVtYmVyLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAg
PGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHVuZGVmaW5lZCwgeyBwYXllclBo
b25lOiBudWxsIH0pIj4KLSAgICAgIHBheWVyUGhvbmUgYXR0cmlidXRlIGlzIG51bGwgd2hlbiBv
cHRpb25zIGlzIHVuZGVmaW5lZC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAg
IDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllclBob25l
OiB1bmRlZmluZWQgfSwgeyBwYXllclBob25lOiBudWxsIH0pIj4KLSAgICAgIHBheWVyUGhvbmUg
YXR0cmlidXRlIGlzIG51bGwgd2hlbiByZXF1ZXN0UGF5ZXJQaG9uZSBpcyB1bmRlZmluZWQuCi0g
ICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1h
bnVhbFRlc3QodGhpcywgeyByZXF1ZXN0UGF5ZXJQaG9uZTogZmFsc2UgfSwgeyBwYXllclBob25l
OiBudWxsIH0pIj4KLSAgICAgIHBheWVyUGhvbmUgYXR0cmlidXRlIGlzIG51bGwgd2hlbiByZXF1
ZXN0UGF5ZXJQaG9uZSBpcyBmYWxzZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgot
ICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllclBo
b25lOiB0cnVlIH0sIHsgcGF5ZXJQaG9uZTogJysxMjM0NTY3ODkxMCcgfSkiPgotICAgICAgcGF5
ZXJQaG9uZSBhdHRyaWJ1dGUgaXMgJysxMjM0NTY3ODkxMCcgd2hlbiByZXF1ZXN0UGF5ZXJQaG9u
ZSBpcyB0cnVlLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBv
bmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHsgcmVxdWVzdFBheWVyUGhvbmU6ICd5ZXAnIH0s
IHsgcGF5ZXJQaG9uZTogJysxMjM0NTY3ODkxMCcgfSkudGhlbihkb25lKSI+Ci0gICAgICBwYXll
clBob25lIGF0dHJpYnV0ZSBpcyAnKzEyMzQ1Njc4OTEwJyB3aGVuIHJlcXVlc3RQYXllclBob25l
IGlzIHRydXRoeS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElm
IHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRh
ZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJl
dmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9w
YXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1pbW1lZGlhdGUtbWFudWFsLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdp
dGgtaW1tZWRpYXRlLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDIwYTIzNjYwNzdjOWJhOTMwM2M1NzIyOTRkOGFhNGM2ZWZhYmNjZGMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1pbW1lZGlhdGUtbWFudWFsLmh0
dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLUhhbmRsaW5n
IFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUub25wYXllcmRldGFpbGNoYW5nZSBldmVudHMKLQot
VGhlIHRlc3QgYnJpbmdzIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LiBXaGVuIHNo
b3duIHRoZSBwYXltZW50IHNoZWV0LCB1c2UgYW55IGRldGFpbHMgYW5kIGhpdCBwYXkuCi0KLVdo
ZW4gYXNrZWQgdG8gcmV0cnkgdGhlIHBheW1lbnQ6Ci0KLUNoYW5nZSBwYXllcidzIG5hbWUgdG8g
YW55dGhpbmcuCi0KLXVwZGF0ZVdpdGgoKSBtdXN0IGJlIGNhbGxlZCBpbW1lZGlhdGVseSwgb3Ro
ZXJ3aXNlIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3IuCi1ET05FIQotSWYgeW91IGZp
bmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgZmlsZSBhIGJ1ZyBhbmQgdGFnIG9uZSBvZiB0aGUgb3du
ZXJzLgotCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotUEFTUyBD
YW4gY29uc3RydWN0IGEgcGF5bWVudCByZXF1ZXN0IChzbW9rZSB0ZXN0KS4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1pbW1l
ZGlhdGUtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyZGV0YWls
c2NoYW5nZS11cGRhdGVXaXRoLWltbWVkaWF0ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggN2UzNWQ3ODcwMDZlYmI1NTRjMzA1YWJjMzhhNDI3YTQxMzU2
NzZmMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlc3BvbnNlL3BheWVyZGV0YWlsc2NoYW5nZS11cGRhdGVXaXRoLWltbWVkaWF0ZS1t
YW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLTwhZG9jdHlw
ZSBodG1sPgotPG1ldGEgY2hhcnNldD11dGYtOD4KLTx0aXRsZT5EaXNwYXRjaGluZyBQYXltZW50
UmVxdWVzdFVwZGF0ZUV2ZW50IGZvciAicGF5ZXJkZXRhaWxzY2hhbmdlIjwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJo
ZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0ZXN0SW1tZWRpYXRlVXBk
YXRlKHsgdGV4dENvbnRlbnQ6IHRlc3ROYW1lIH0pIHsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4gewotICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0UGF5bWVudFJlc3BvbnNlKHsgcmVx
dWVzdFBheWVyTmFtZTogdHJ1ZSB9KTsKLSAgICBjb25zdCBldmVudFByb21pc2UgPSBuZXcgUHJv
bWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICByZXNwb25zZS5hZGRFdmVudExpc3Rl
bmVyKAotICAgICAgICAicGF5ZXJkZXRhaWxjaGFuZ2UiLAotICAgICAgICBldiA9PiB7Ci0gICAg
ICAgICAgLy8gRm9yY2VzIHVwZGF0ZVdpdGgoKSB0byBiZSBydW4gaW4gdGhlIG5leHQgZXZlbnQg
bG9vcCB0aWNrIHNvIHRoYXQKLSAgICAgICAgICAvLyBbW3dhaXRGb3JVcGRhdGVdXSBpcyBhbHJl
YWR5IHRydWUgd2hlbiBpdCBydW5zLgotICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsK
LSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgIGV2LnVwZGF0ZVdpdGgoe30pOwotICAg
ICAgICAgICAgICByZXNvbHZlKCk7IC8vIFRoaXMgaXMgYmFkLgotICAgICAgICAgICAgfSBjYXRj
aCAoZXJyKSB7Ci0gICAgICAgICAgICAgIHJlamVjdChlcnIpOyAvLyB0aGlzIGlzIGdvb2QuCi0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgfSk7Ci0gICAgICAgIH0sCi0gICAgICAgIHsgb25jZTog
dHJ1ZSB9Ci0gICAgICApOwotICAgIH0pOwotCi0gICAgY29uc3QgcmV0cnlQcm9taXNlID0gcmVz
cG9uc2UucmV0cnkoewotICAgICAgcGF5ZXI6IHsgbmFtZTogIkNoYW5nZSBtZSEiIH0sCi0gICAg
fSk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52
YWxpZFN0YXRlRXJyb3IiLAotICAgICAgZXZlbnRQcm9taXNlLAotICAgICAgIlRoZSBldmVudCBs
b29wIGFscmVhZHkgc3B1biwgc28gW1t3YWl0Rm9yVXBkYXRlXV0gaXMgbm93IHRydWUiCi0gICAg
KTsKLSAgICBhd2FpdCByZXRyeVByb21pc2U7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUo
InN1Y2Nlc3MiKTsKLSAgfSwgdGVzdE5hbWUudHJpbSgpKTsKLX0KLTwvc2NyaXB0PgotPGgyPkhh
bmRsaW5nIFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUub25wYXllcmRldGFpbGNoYW5nZSBldmVu
dHM8L2gyPgotPHA+Ci0gIFRoZSB0ZXN0IGJyaW5ncyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJ
IHdpbmRvdy4KLSAgV2hlbiBzaG93biB0aGUgcGF5bWVudCBzaGVldCwgdXNlIGFueSBkZXRhaWxz
IGFuZCBoaXQgcGF5LgotPC9wPgotPHA+Ci0gIFdoZW4gYXNrZWQgdG8gcmV0cnkgdGhlIHBheW1l
bnQ6Ci08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8cD4KLSAgICAgIENoYW5nZSBwYXllcidzIG5h
bWUgdG8gYW55dGhpbmcuCi0gICAgPC9wPgotICAgIDxidXR0b24gb25jbGljaz0idGVzdEltbWVk
aWF0ZVVwZGF0ZSh0aGlzKTsiPgotICAgICAgdXBkYXRlV2l0aCgpIG11c3QgYmUgY2FsbGVkIGlt
bWVkaWF0ZWx5LCBvdGhlcndpc2UgbXVzdCB0aHJvdyBhbiBJbnZhbGlkU3RhdGVFcnJvci4KLSAg
ICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgp
OyI+RE9ORSE8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5k
IGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxh
dGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2Yg
dGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Js
b2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+b3duZXJzPC9hPi4KLTwvc21hbGw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyZGV0YWlsc2NoYW5nZS11cGRh
dGVXaXRoLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3Bh
eWVyZGV0YWlsc2NoYW5nZS11cGRhdGVXaXRoLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNmZiZGY3NjEyMzljZDgzOTMzMmY4YTZmNjFl
YWRjYTA0MmM2Y2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1tYW51
YWwuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotSGFu
ZGxpbmcgUGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZS5vbnBheWVyZGV0YWlsY2hhbmdlIGV2ZW50
cwotCi1UaGUgdGVzdCBicmluZ3MgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuIFdo
ZW4gc2hvd24gdGhlIHBheW1lbnQgc2hlZXQsIHVzZSBhbnkgZGV0YWlscyBhbmQgaGl0IHBheS4K
LQotV2hlbiBhc2tlZCB0byByZXRyeSB0aGUgcGF5bWVudDoKLQotQ2hhbmdlIHBheWVyJ3MgbmFt
ZSB0byBhbnl0aGluZy4KLQotQ2FsbGluZyBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IHVwZGF0
ZVdpdGgoKSB0d2ljZSB0aHJvd3MgYW4gIkludmFsaWRTdGF0ZUVycm9yIi4KLURPTkUhCi1JZiB5
b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSBmaWxlIGEgYnVnIGFuZCB0YWcgb25lIG9mIHRo
ZSBvd25lcnMuCi0KLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1Q
QVNTIENhbiBjb25zdHJ1Y3QgYSBwYXltZW50IHJlcXVlc3QgKHNtb2tlIHRlc3QpLgotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyZGV0YWlsc2NoYW5nZS11cGRhdGVXaXRo
LW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFu
Z2UtdXBkYXRlV2l0aC1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMWE3MzQyMzY1ZDY0NGY2NDcwZWEyY2UyNWZlODVjZmZhZTY0Nzk0MC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNl
L3BheWVyZGV0YWlsc2NoYW5nZS11cGRhdGVXaXRoLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTYgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0
Zi04PgotPHRpdGxlPkRpc3BhdGNoaW5nIFBheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQgZm9yICJw
YXllcmRldGFpbHNjaGFuZ2UiPC90aXRsZT4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanM+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImhlbHBlcnMuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLWZ1bmN0aW9uIHJ1blRlc3QoYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRy
dWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXNwb25zZSA9IGF3
YWl0IGdldFBheW1lbnRSZXNwb25zZSh7IHJlcXVlc3RQYXllck5hbWU6IHRydWUgfSk7Ci0gICAg
Y29uc3QgZXZlbnRQcm9taXNlID0gbmV3IFByb21pc2UoKF8sIHJlamVjdCkgPT4gewotICAgICAg
cmVzcG9uc2UuYWRkRXZlbnRMaXN0ZW5lcigicGF5ZXJkZXRhaWxjaGFuZ2UiLCBldiA9PiB7Ci0g
ICAgICAgIC8vIFtbd2FpdEZvclVwZGF0ZV1dIGJlY29tZXMgdHJ1ZS4uLgotICAgICAgICBldi51
cGRhdGVXaXRoKHt9KTsKLSAgICAgICAgLy8gU28gY2FsbGluZyBpdCBhZ2FpbiB0aHJvd3MgIklu
dmFsaWRTdGF0ZUVycm9yIi4KLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICBldi51cGRhdGVXaXRo
KHt9KTsKLSAgICAgICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICAgICAgcmVqZWN0KGVycik7Ci0g
ICAgICAgIH0KLSAgICAgIH0pOwotICAgIH0pOwotICAgIGF3YWl0IHJlc3BvbnNlLnJldHJ5KHsK
LSAgICAgIHBheWVyOiB7IG5hbWU6ICJDaGFuZ2UgbWUhIiB9LAotICAgIH0pOwotICAgIGF3YWl0
IHByb21pc2VfcmVqZWN0c19kb20odCwgIkludmFsaWRTdGF0ZUVycm9yIiwgZXZlbnRQcm9taXNl
KTsKLSAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOwotICB9LCBidXR0b24u
dGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLTwvc2NyaXB0PgotPGgyPkhhbmRsaW5nIFBheW1lbnRS
ZXNwb25zZS5wcm90b3R5cGUub25wYXllcmRldGFpbGNoYW5nZSBldmVudHM8L2gyPgotPHA+Ci0g
IFRoZSB0ZXN0IGJyaW5ncyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLSAgV2hl
biBzaG93biB0aGUgcGF5bWVudCBzaGVldCwgdXNlIGFueSBkZXRhaWxzIGFuZCBoaXQgcGF5Lgot
PC9wPgotPHA+Ci0gIFdoZW4gYXNrZWQgdG8gcmV0cnkgdGhlIHBheW1lbnQ6Ci08L3A+Ci08b2w+
Ci0gIDxsaT4KLSAgICA8cD4KLSAgICAgIENoYW5nZSBwYXllcidzIG5hbWUgdG8gYW55dGhpbmcu
Ci0gICAgPC9wPgotICAgIDxidXR0b24gb25jbGljaz0icnVuVGVzdCh0aGlzKTsiPgotICAgICAg
Q2FsbGluZyBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IHVwZGF0ZVdpdGgoKSB0d2ljZSB0aHJv
d3MgYW4gIkludmFsaWRTdGF0ZUVycm9yIi4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxp
PgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+RE9ORSE8L2J1dHRvbj4KLSAgPC9saT4K
LTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhy
ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+Zmls
ZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9N
RVRBLnltbCI+b3duZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJl
c3BvbnNlL3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVzcG9uc2UvcmVqZWN0c19pZl9ub3RfYWN0aXZlLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOGJiNTMzMTNkY2U5MjY2NDUzYjg5ZjNiZDk4ZDdj
MDFjYjllYTY4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3BheW1lbnQtcmVzcG9uc2UvcmVqZWN0c19pZl9ub3RfYWN0aXZlLW1hbnVhbC5odHRwcy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTYwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1l
dGEgY2hhcnNldD11dGYtOD4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jcmV0cnktbWV0aG9kIj4KLTx0aXRsZT5QYXltZW50UmVz
cG9uc2UgcmV0cnkoKSByZWplY3RzIGlmIGRvYyBpcyBub3QgZnVsbHkgYWN0aXZlPC90aXRsZT4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8j
ZG9tLXBheW1lbnRyZXNwb25zZS1yZXRyeSI+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1zZXR1cCh7IGV4
cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7Ci1jb25zdCB2YWxp
ZE1ldGhvZCA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2Fy
ZCIsCi19KTsKLWNvbnN0IGFwcGxlUGF5ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1l
dGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICBkYXRhOiB7Ci0gICAgdmVy
c2lvbjogMywKLSAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIs
Ci0gICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsic3Vw
cG9ydHMzRFMiXSwKLSAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gIH0KLX0pOwot
Y29uc3QgdmFsaWRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbdmFsaWRNZXRob2QsIGFwcGxlUGF5
XSk7Ci1jb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5jeTogIlVT
RCIsCi0gIHZhbHVlOiAiNS4wMCIsCi19KTsKLWNvbnN0IHZhbGlkVG90YWwgPSBPYmplY3QuZnJl
ZXplKHsKLSAgbGFiZWw6ICJUb3RhbCBkdWUiLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotfSk7
Ci1jb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6IHZhbGlkVG90
YWwsCi19KTsKLQotZnVuY3Rpb24gZ2V0TG9hZGVkUGF5bWVudFJlc3BvbnNlKGlmcmFtZSwgdXJs
KSB7Ci0gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICBpZnJhbWUuYWRkRXZl
bnRMaXN0ZW5lcigKLSAgICAgICJsb2FkIiwKLSAgICAgIGFzeW5jICgpID0+IHsKLSAgICAgICAg
Y29uc3QgeyBQYXltZW50UmVxdWVzdCB9ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAg
IGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgbmV3IFBheW1lbnRSZXF1ZXN0KAotICAgICAgICAgIHZh
bGlkTWV0aG9kcywKLSAgICAgICAgICB2YWxpZERldGFpbHMKLSAgICAgICAgKS5zaG93KCk7Ci0g
ICAgICAgIHJlc29sdmUocmVzcG9uc2UpOwotICAgICAgfSwKLSAgICAgIHsgb25jZTogdHJ1ZSB9
Ci0gICAgKTsKLSAgICBpZnJhbWUuc3JjID0gdXJsOwotICB9KTsKLX0KLQotZnVuY3Rpb24gbWV0
aG9kTm90RnVsbHlBY3RpdmUoYnV0dG9uLCBtZXRob2QsIC4uLmFyZ3MpIHsKLSAgY29uc3QgdGV4
dCA9IGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCk7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKLSAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsK
LSAgICBpZnJhbWUuYWxsb3dQYXltZW50UmVxdWVzdCA9IHRydWU7Ci0gICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChpZnJhbWUpOwotCi0gICAgLy8gV2UgZmlyc3QgZ290IHRvIHBhZ2UxLmh0
bWwsIGdyYWIgYSBQYXltZW50UmVzcG9uc2UgaW5zdGFuY2UuCi0gICAgY29uc3QgcmVzcG9uc2Ug
PSBhd2FpdCBnZXRMb2FkZWRQYXltZW50UmVzcG9uc2UoCi0gICAgICBpZnJhbWUsCi0gICAgICAi
L3BheW1lbnQtcmVxdWVzdC9yZXNvdXJjZXMvcGFnZTEuaHRtbCIKLSAgICApOwotICAgIC8vIFdl
IG5hdmlnYXRlIHRoZSBpZnJhbWUgYWdhaW4sIHB1dHRpbmcgcmVzcG9uc2UncyBkb2N1bWVudCBp
bnRvIGFuIGluYWN0aXZlIHN0YXRlLgotICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
ewotICAgICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCByZXNvbHZlKTsKLSAgICAg
IGlmcmFtZS5zcmMgPSAiL3BheW1lbnQtcmVxdWVzdC9yZXNvdXJjZXMvcGFnZTIuaHRtbCI7Ci0g
ICAgfSk7Ci0gICAgLy8gTm93LCByZXNwb25zZSdzIHJlbGV2YW50IGdsb2JhbCBvYmplY3QncyBk
b2N1bWVudCBpcyBubyBsb25nZXIgYWN0aXZlLgotICAgIC8vIFNvLCBwcm9taXNlIG5lZWRzIHRv
IHJlamVjdCBhcHByb3ByaWF0ZWx5LgotICAgIGNvbnN0IHByb21pc2UgPSByZXNwb25zZVttZXRo
b2ROYW1lXSguLi5hcmdzKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAg
dCwKLSAgICAgICJBYm9ydEVycm9yIiwKLSAgICAgIHByb21pc2UsCi0gICAgICAiSW5hY3RpdmUg
ZG9jdW1lbnQsIHNvIG11c3QgdGhyb3cgQWJvcnRFcnJvciIKLSAgICApOwotICAgIC8vIFdlIGFy
ZSBkb25lLCBzbyBjbGVhbiB1cC4KLSAgICBpZnJhbWUucmVtb3ZlKCk7Ci0gIH0sIHRleHQpOwot
fQotCi1mdW5jdGlvbiBtZXRob2RCZWNvbWVzTm90RnVsbHlBY3RpdmUoYnV0dG9uLCBtZXRob2RO
YW1lLCAuLi5hcmdzKSB7Ci0gIGNvbnN0IHRleHQgPSBidXR0b24udGV4dENvbnRlbnQudHJpbSgp
OwotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgaWZyYW1lID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLmFsbG93UGF5bWVudFJlcXVl
c3QgPSB0cnVlOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLQotICAg
IC8vIFdlIGZpcnN0IGdvdCB0byBwYWdlMS5odG1sLCBncmFiIGEgUGF5bWVudFJlc3BvbnNlIGlu
c3RhbmNlLgotICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0TG9hZGVkUGF5bWVudFJlc3Bv
bnNlKAotICAgICAgaWZyYW1lLAotICAgICAgIi9wYXltZW50LXJlcXVlc3QvcmVzb3VyY2VzL3Bh
Z2UxLmh0bWwiCi0gICAgKTsKLQotICAgIC8vIHdlIGdldCB0aGUgcHJvbWlzZSBmcm9tIHBhZ2Ux
Lmh0bWwsIHdoaWxlIGl0J3MgYWN0aXZlIQotICAgIGNvbnN0IHByb21pc2UgPSByZXNwb25zZVtt
ZXRob2ROYW1lXSguLi5hcmdzKTsKLQotICAgIC8vIFdlIG5hdmlnYXRlIHRoZSBpZnJhbWUgYWdh
aW4sIHB1dHRpbmcgcmVzcG9uc2UncyBkb2N1bWVudCBpbnRvIGFuIGluYWN0aXZlIHN0YXRlLgot
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgaWZyYW1lLmFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCByZXNvbHZlKTsKLSAgICAgIGlmcmFtZS5zcmMgPSAiL3BheW1lbnQt
cmVxdWVzdC9yZXNvdXJjZXMvcGFnZTIuaHRtbCI7Ci0gICAgfSk7Ci0KLSAgICAvLyBOb3csIHJl
c3BvbnNlJ3MgcmVsZXZhbnQgZ2xvYmFsIG9iamVjdCdzIGRvY3VtZW50IGlzIG5vIGxvbmdlciBh
Y3RpdmUuCi0gICAgLy8gU28sIHByb21pc2UgbmVlZHMgdG8gcmVqZWN0IGFwcHJvcHJpYXRlbHku
Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiQWJvcnRF
cnJvciIsCi0gICAgICBwcm9taXNlLAotICAgICAgIkluYWN0aXZlIGRvY3VtZW50LCBzbyBtdXN0
IHRocm93IEFib3J0RXJyb3IiCi0gICAgKTsKLSAgICAvLyBXZSBhcmUgZG9uZSwgc28gY2xlYW4g
dXAuCi0gICAgaWZyYW1lLnJlbW92ZSgpOwotICB9LCB0ZXh0KTsKLX0KLTwvc2NyaXB0PgotPHNl
Y3Rpb24+Ci0gIDxwPgotICAgIEZvciBlYWNoIHRlc3QsIHdoZW4gdGhlIHBheW1lbnQgc2hlZXQg
aXMgc2hvd24sIHNlbGVjdCBhIHBheW1lbnQgbWV0aG9kIGFuZCBoaXQgIlBheSIuCi0gIDwvcD4K
LSAgPGgyPnJldHJ5KCkgYW5kIGRvY3VtZW50IGFjdGl2ZSBzdGF0ZTwvaDI+Ci0gIDxwPk1hbnVh
bCBUZXN0cyBmb3IgUGF5bWVudFJlc3BvbnNlLnJldHJ5KCkgLSBQbGVhc2UgcnVuIGluIG9yZGVy
ITwvcD4KLSAgPG9sPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0ibWV0aG9kTm90
RnVsbHlBY3RpdmUodGhpcywgJ3JldHJ5Jywge30pOyI+Ci0gICAgICAgIHJldHJ5KCkncyByZXRy
eVByb21pc2UgcmVqZWN0cyBpZiBkb2N1bWVudCBpcyBub3QgZnVsbHkgYWN0aXZlLgotICAgICAg
PC9idXR0b24+Ci0gICAgPC9saT4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9Im1l
dGhvZEJlY29tZXNOb3RGdWxseUFjdGl2ZSh0aGlzLCAncmV0cnknLCB7fSk7Ij4KLSAgICAgICAg
cmV0cnkoKSdzIHJldHJ5UHJvbWlzZSByZWplY3RzIGlmIHRoZSBkb2N1bWVudCBiZWNvbWVzIG5v
dCBmdWxseSBhY3RpdmUuCi0gICAgICA8L2J1dHRvbj4KLSAgICA8L2xpPgotICA8L29sPgotICA8
aDI+Y29tcGxldGUoKSBhbmQgZG9jdW1lbnQgYWN0aXZlIHN0YXRlPC9oMj4KLSAgPHA+TWFudWFs
IFRlc3RzIGZvciBQYXltZW50UmVzcG9uc2UuY29tcGxldGUoKSAtIFBsZWFzZSBydW4gaW4gb3Jk
ZXIhPC9wPgotICA8b2w+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJtZXRob2RO
b3RGdWxseUFjdGl2ZSh0aGlzLCAnY29tcGxldGUnLCAnc3VjY2VzcycpOyI+Ci0gICAgICAgIGNv
bXBsZXRlKCkncyBjb21wbGV0ZVByb21pc2UgcmVqZWN0cyBpZiBkb2N1bWVudCBpcyBub3QgZnVs
bHkgYWN0aXZlLgotICAgICAgPC9idXR0b24+Ci0gICAgPC9saT4KLSAgICA8bGk+Ci0gICAgICA8
YnV0dG9uIG9uY2xpY2s9Im1ldGhvZEJlY29tZXNOb3RGdWxseUFjdGl2ZSh0aGlzLCAnY29tcGxl
dGUnLCAnc3VjY2VzcycpOyI+Ci0gICAgICAgIGNvbXBsZXRlKCkncyBjb21wbGV0ZVByb21pc2Ug
cmVqZWN0cyBpZiB0aGUgZG9jdW1lbnQgYmVjb21lcyBub3QgZnVsbHkgYWN0aXZlLgotICAgICAg
PC9idXR0b24+Ci0gICAgPC9saT4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9ImRv
bmUoKTsiPkRvbmU8L2J1dHRvbj4KLSAgICA8L2xpPgotICA8L29sPgotPC9zZWN0aW9uPgotPHNt
YWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+
Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1
Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVzcG9uc2UvcmVxdWVzdElkLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVzcG9uc2UvcmVxdWVzdElkLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGRiMWUwZDgzMWRhYzY1Y2QyZjVkYzY0YzcyMThhNDVi
MmUxNTRhOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9wYXltZW50LXJlc3BvbnNlL3JlcXVlc3RJZC1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5bWVudHJlc3BvbnNlLXJlcXVlc3RpZCI+Ci08dGl0
bGU+Ci0gIFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUucmVxdWVzdElkIGF0dHJpYnV0ZQotPC90
aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxoMj5yZXF1ZXN0SWQgYXR0cmli
dXRlPC9oMj4KLTxwPgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRv
cCB0byBib3R0b20gd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3
aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0g
IFdoZW4gcHJlc2VudGVkIHdpdGggdGhlIHBheW1lbnQgc2hlZXQsIHVzZSBhbnkgY3JlZGl0IGNh
cmQgc2VsZWN0IHRvICJQYXkiLgotICBBbHNvIGNvbmZpcm0gYW55IHByb21wdHMgdGhhdCBjb21l
IHVwLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxU
ZXN0KHRoaXMsIHt9LCB7fSkiPgotICAgICAgTXVzdCBtaXJyb3IgdGhlIHBheW1lbnQgcmVxdWVz
dCdzIGF1dG9tYXRpY2FsbHkgc2V0IGlkCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4K
LSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywge30sIHtyZXF1ZXN0SWQ6
ICdwYXNzJ30sICdwYXNzJykudGhlbihkb25lKSI+Ci0gICAgICBNdXN0IG1pcnJvciB0aGUgcGF5
bWVudCByZXF1ZXN0J3MgZXhwbGljaXRseSBzZXQgaWQKLSAgICA8L2J1dHRvbj4KLSAgPC9saT4K
LTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhy
ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+Zmls
ZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9N
RVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvcGF5bWVudC1yZXNwb25zZS9yZXRyeS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTVhYWI0OWUzODdkMzI2YzY4YmNjYTMyZDJhZDVmZTU5Mzg1
ZjUxNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDI5NiArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0
ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVu
dC1yZXF1ZXN0LyNkb20tcGF5bWVudHJlc3BvbnNlLXJldHJ5Ij4KLTx0aXRsZT4KLSAgUGF5bWVu
dFJlc3BvbnNlLnByb3RvdHlwZS5yZXRyeSgpIG1ldGhvZAotPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxw
ZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci10ZXN0KCgpID0+IHsKLSAgYXNzZXJ0X3RydWUo
Ci0gICAgInJldHJ5IiBpbiBQYXltZW50UmVzcG9uc2UucHJvdG90eXBlLAotICAgICJyZXRyeSBt
dXN0IGJlIGluIHByb3RvdHlwZSIKLSAgKTsKLSAgYXNzZXJ0X3RydWUoCi0gICAgUGF5bWVudFJl
c3BvbnNlLnByb3RvdHlwZS5yZXRyeSBpbnN0YW5jZW9mIEZ1bmN0aW9uLAotICAgICJyZXRyeSBt
dXN0IGJlIGEgZnVuY3Rpb24iCi0gICk7Ci19LCAiUGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZSBt
dXN0IGhhdmUgYSByZXRyeSgpIGZ1bmN0aW9uIChzbW9rZSB0ZXN0KS4iKTsKLQotZnVuY3Rpb24g
Y2hlY2tDb21wbGV0ZWRDYW50UmV0cnkoYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRy
dWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB7IHJlc3BvbnNlIH0g
PSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKCk7Ci0gICAgLy8gc2V0cyByZXNwb25z
ZS5bW2NvbXBsZXRlXV0gdG8gdHJ1ZS4KLSAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3Vj
Y2VzcyIpOwotICAgIHJldHVybiBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAg
ICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICByZXNwb25zZS5yZXRyeSgpLAotICAgICAgInJl
c3BvbnNlLltbY29tcGxldGVdXSBpcyB0cnVlLCBzbyByZWplY3RzIHdpdGggSW52YWxpZFN0YXRl
RXJyb3IuIgotICAgICk7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfQotCi1m
dW5jdGlvbiByZXBlYXRlZENhbGxzVG9SZXRyeShidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVk
ID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHsgcmVzcG9u
c2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2UoKTsKLSAgICBjb25zdCByZXRy
eVByb21pc2UgPSByZXNwb25zZS5yZXRyeSgpOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19k
b20oCi0gICAgICB0LAotICAgICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIHJlc3BvbnNl
LnJldHJ5KCksCi0gICAgICAiQ2FsbGluZyByZXRyeSgpIGFnYWluIHJlamVjdHMgd2l0aCBhbiBJ
bnZhbGlkU3RhdGVFcnJvciIKLSAgICApOwotICAgIGF3YWl0IHJldHJ5UHJvbWlzZTsKLSAgICBh
d2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOwotICB9LCBidXR0b24udGV4dENvbnRl
bnQudHJpbSgpKTsKLX0KLQotZnVuY3Rpb24gY2FsbENvbXBsZXRlV2hpbGVSZXRyeWluZyhidXR0
b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4gewotICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVz
cG9uc2UoKTsKLSAgICBjb25zdCByZXRyeVByb21pc2UgPSByZXNwb25zZS5yZXRyeSgpOwotICAg
IGNvbnN0IGNvbXBsZXRlUHJvbWlzZTEgPSByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOwot
ICAgIGNvbnN0IGNvbXBsZXRlUHJvbWlzZTIgPSByZXNwb25zZS5jb21wbGV0ZSgiZmFpbCIpOwot
ICAgIGFzc2VydF9ub3RfZXF1YWxzKAotICAgICAgY29tcGxldGVQcm9taXNlMSwKLSAgICAgIGNv
bXBsZXRlUHJvbWlzZTIsCi0gICAgICAiY29tcGxldGUoKSBtdXN0IHJldHVybiB1bmlxdWUgcHJv
bWlzZXMiCi0gICAgKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwK
LSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICBjb21wbGV0ZVByb21pc2UxLAotICAg
ICAgIkNhbGxpbmcgY29tcGxldGUoKSB3aGlsZSByZXRyeWluZyByZWplY3RzIHdpdGggYW4gSW52
YWxpZFN0YXRlRXJyb3IiCi0gICAgKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAot
ICAgICAgdCwKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICBjb21wbGV0ZVByb21p
c2UyLAotICAgICAgIkNhbGxpbmcgY29tcGxldGUoKSB3aGlsZSByZXRyeWluZyByZWplY3RzIHdp
dGggYW4gSW52YWxpZFN0YXRlRXJyb3IiCi0gICAgKTsKLSAgICBhc3NlcnRfbm90X2VxdWFscygK
LSAgICAgIGNvbXBsZXRlUHJvbWlzZTEsCi0gICAgICBjb21wbGV0ZVByb21pc2UyLAotICAgICAg
ImNvbXBsZXRlKCkgbXVzdCByZXR1cm4gdW5pcXVlIHByb21pc2VzIgotICAgICk7Ci0gICAgYXdh
aXQgcmV0cnlQcm9taXNlOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7
Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfQotCi1mdW5jdGlvbiBjYWxsaW5n
UmVxdWVzdEFib3J0TXVzdE5vdEFib3J0KGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0
cnVlOwotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgeyByZXNwb25zZSwg
cmVxdWVzdCB9ID0gYXdhaXQgZ2V0UGF5bWVudFJlcXVlc3RSZXNwb25zZSgpOwotICAgIGNvbnN0
IHJldHJ5UHJvbWlzZSA9IHJlc3BvbnNlLnJldHJ5KCk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWpl
Y3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAgICAgcmVx
dWVzdC5hYm9ydCgpLAotICAgICAgIkNhbGxpbmcgcmVxdWVzdC5hYm9ydCgpIHdoaWxlIHJldHJ5
aW5nIHJlamVjdHMgd2l0aCBhbiBJbnZhbGlkU3RhdGVFcnJvciIKLSAgICApOwotICAgIGF3YWl0
IHJldHJ5UHJvbWlzZTsKLSAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOwot
ICB9LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLQotZnVuY3Rpb24gY2FuUmV0cnlN
dWx0aXBsZVRpbWVzKGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgeyByZXNwb25zZSB9ID0gYXdhaXQgZ2V0
UGF5bWVudFJlcXVlc3RSZXNwb25zZSgpOwotICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICBhd2Fp
dCByZXNwb25zZS5yZXRyeSgpLAotICAgICAgdW5kZWZpbmVkLAotICAgICAgIkV4cGVjdGVkIHVu
ZGVmaW5lZCBhcyB0aGUgcmVzb2x2ZSB2YWx1ZSIKLSAgICApOwotICAgIGFzc2VydF9lcXVhbHMo
Ci0gICAgICBhd2FpdCByZXNwb25zZS5yZXRyeSgpLAotICAgICAgdW5kZWZpbmVkLAotICAgICAg
IkV4cGVjdGVkIHVuZGVmaW5lZCBhcyB0aGUgcmVzb2x2ZSB2YWx1ZSIKLSAgICApOwotICAgIGF3
YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWpl
Y3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAgICAgcmVz
cG9uc2UucmV0cnkoKSwKLSAgICAgICJDYWxsaW5nIHJldHJ5KCkgYWZ0ZXIgY29tcGxldGUoKSBy
ZWplY3RzIHdpdGggYSBJbnZhbGlkU3RhdGVFcnJvciIKLSAgICApOwotICB9LCBidXR0b24udGV4
dENvbnRlbnQudHJpbSgpKTsKLX0KLQotZnVuY3Rpb24gdXNlckNhbkFib3J0QVJldHJ5KGJ1dHRv
bikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7Ci0gICAgY29uc3QgeyByZXNwb25zZSB9ID0gYXdhaXQgZ2V0UGF5bWVudFJlcXVlc3RSZXNw
b25zZSgpOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAgICAg
IkFib3J0RXJyb3IiLAotICAgICAgcmVzcG9uc2UucmV0cnkoKSwKLSAgICAgICJUaGUgdXNlciBh
Ym9ydGluZyBhIHJldHJ5IHJlamVjdHMgd2l0aCBhIEFib3J0RXJyb3IiCi0gICAgKTsKLSAgICBh
d2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJJbnZhbGlkU3RhdGVF
cnJvciIsCi0gICAgICByZXNwb25zZS5yZXRyeSgpLAotICAgICAgIkFmdGVyIHRoZSB1c2VyIGFi
b3J0cywgcmVzcG9uc2UgW1tjb21wbGV0ZV1dIGlzIHRydWUgc28gcmV0cnkoKSBtdXN0IHJlamVj
dCB3aXRoIEludmFsaWRTdGF0ZUVycm9yIgotICAgICk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWpl
Y3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAgICAgcmVz
cG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKSwKLSAgICAgICJBZnRlciB0aGUgdXNlciBhYm9ydHMs
IHJlc3BvbnNlIFtbY29tcGxldGVdXSBpcyB0cnVlLCBzbyBjb21wbGV0ZSgpIHJlamVjdHMgd2l0
aCBhIEludmFsaWRTdGF0ZUVycm9yIgotICAgICk7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50
cmltKCkpOwotfQotCi1mdW5jdGlvbiB1c2VySXNTaG93bkVycm9yc0ZpZWxkcyhidXR0b24pIHsK
LSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewot
ICAgIGNvbnN0IHsgcmVzcG9uc2UsIHJlcXVlc3QgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0
UmVzcG9uc2UoeyByZXF1ZXN0U2hpcHBpbmc6IHRydWUgfSk7Ci0gICAgY29uc3QgcmV0cnlQcm9t
aXNlID0gcmVzcG9uc2UucmV0cnkoewotICAgICAgc2hpcHBpbmdBZGRyZXNzOiB7IGNpdHk6ICJJ
bnZhbGlkIGNpdHkiLCBhZGRyZXNzTGluZTogIkludmFsaWQgYWRkcmVzcyBsaW5lIiB9LAotICAg
IH0pOwotICAgIGF3YWl0IHJldHJ5UHJvbWlzZTsKLSAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0
ZSgic3VjY2VzcyIpOwotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLQotZnVu
Y3Rpb24gYWJvcnRUaGVVcGRhdGUoYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7
Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB7IHJlc3BvbnNlLCByZXF1
ZXN0IH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKHsKLSAgICAgIHJlcXVlc3RT
aGlwcGluZzogdHJ1ZSwKLSAgICB9KTsKLSAgICBjb25zdCBzaGlwT3B0aW9uQ2hhbmdlUHJvbWlz
ZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgcmVxdWVzdC5vbnNoaXBwaW5nb3B0
aW9uY2hhbmdlID0gZXZlbnQgPT4gewotICAgICAgICAvLyBjYXVzZXMgImFib3J0IHRoZSB1cGRh
dGUiIHRvIHJ1bgotICAgICAgICBldmVudC51cGRhdGVXaXRoKHsgdG90YWw6ICJlcnJvciEiIH0p
OwotICAgICAgICByZXNvbHZlKCk7Ci0gICAgICB9OwotICAgIH0pOwotICAgIGNvbnN0IHJldHJ5
UHJvbWlzZSA9IHJlc3BvbnNlLnJldHJ5KCk7Ci0gICAgYXdhaXQgc2hpcE9wdGlvbkNoYW5nZVBy
b21pc2U7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2pzKAotICAgICAgdCwKLSAgICAgIFR5
cGVFcnJvciwKLSAgICAgIHJldHJ5UHJvbWlzZSwKLSAgICAgICJyZXRyeSgpIGFib3J0cyB3aXRo
IGEgVHlwZUVycm9yLCBiZWNhdXNlIHRvdGFscycgdmFsdWUgaXMgaW52YWxpZCIKLSAgICApOwot
ICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAgICAgIkludmFsaWRT
dGF0ZUVycm9yIiwKLSAgICAgIHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIiksCi0gICAgICAi
QWZ0ZXIgdGhlIHVzZXIgYWJvcnRzLCByZXNwb25zZSBbW2NvbXBsZXRlXV0gaXMgdHJ1ZSwgc28g
Y29tcGxldGUoKSByZWplY3RzIHdpdGggYSBJbnZhbGlkU3RhdGVFcnJvciIKLSAgICApOwotICB9
LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLQotZnVuY3Rpb24gY2FsbGluZ1JldHJ5
UmV0dXJuc1VuaXF1ZVByb21pc2UoYnV0dG9uKXsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsK
LSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3
YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2UoKTsKLSAgICBjb25zdCByZXRyeVByb21pc2Ug
PSByZXNwb25zZS5yZXRyeSgpOwotICAgIGNvbnN0IHByb21pc2VzID0gbmV3IFNldChbCi0gICAg
ICByZXRyeVByb21pc2UsCi0gICAgICByZXNwb25zZS5yZXRyeSgpLAotICAgICAgcmVzcG9uc2Uu
cmV0cnkoKSwKLSAgICBdKTsKLSAgICBhc3NlcnRfZXF1YWxzKHByb21pc2VzLnNpemUsIDMsICJN
dXN0IGhhdmUgdGhyZWUgdW5pcXVlIG9iamVjdHMiKTsKLSAgICBhd2FpdCByZXRyeVByb21pc2U7
Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50
LnRyaW0oKSk7Ci19OwotCi0KLTwvc2NyaXB0PgotPGgyPgotICAgIE1hbnVhbCBUZXN0cyBmb3Ig
UGF5bWVudFJlc3BvbnNlLnJldHJ5KCkgLSBQbGVhc2UgcnVuIGluIG9yZGVyIQotPC9oMj4KLTxw
PgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20g
d2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVw
IHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gcHJlc2Vu
dGVkIHdpdGggdGhlIHBheW1lbnQgc2hlZXQsIHVzZSBhbnkgY3JlZGl0IGNhcmQgc2VsZWN0IHRv
ICJQYXkiIG11bHRpcGxlIHRpbWVzLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBv
bmNsaWNrPSJjaGVja0NvbXBsZXRlZENhbnRSZXRyeSh0aGlzKTsiPgotICAgICAgQSBjb21wbGV0
ZWQgcGF5bWVudCByZXF1ZXN0IGNhbm5vdCBiZSByZXRyaWVkLgotICAgIDwvYnV0dG9uPgotICA8
L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXBlYXRlZENhbGxzVG9SZXRyeSh0
aGlzKTsiPgotICAgICAgQ2FsbGluZyByZXRyeSgpIG1vcmUgdGhhbiBvbmNlIHlpZWxkIGEgcmVq
ZWN0ZWQgcHJvbWlzZSwgYnV0IHRoZQotICAgICAgcmV0cnlQcm9taXNlIHJlc29sdmVzIGluZGVw
ZW5kZW50bHkuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9u
Y2xpY2s9ImNhbGxDb21wbGV0ZVdoaWxlUmV0cnlpbmcodGhpcyk7Ij4KLSAgICAgIENhbGxpbmcg
Y29tcGxldGUoKSB3aGlsZSBhIHJldHJ5KCkgaXMgaW4gcHJvZ3Jlc3MgcmVzdWx0cyBpbiBhbiBJ
bnZhbGlkU3RhdGVFcnJvci4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxi
dXR0b24gb25jbGljaz0iY2FsbGluZ1JlcXVlc3RBYm9ydE11c3ROb3RBYm9ydCh0aGlzKTsiPgot
ICAgICAgVHJ5aW5nIHRvIGFib3J0KCkgdmlhIFBheW1lbnRSZXF1ZXN0IGlzIG5vdCBwb3NzaWJs
ZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0i
Y2FuUmV0cnlNdWx0aXBsZVRpbWVzKHRoaXMpOyI+Ci0gICAgICBJdCdzIHBvc3NpYmxlIHRvIHJl
dHJ5KCkgbXVsdGlwbGUgdGltZXMgYW5kIGV2ZW50dWFsbHkgY29tcGxldGUoKS4KLSAgICAgIEFm
dGVyIGNvbXBsZXRlKCksIGhvd2V2ZXIsIHJldHJ5KCkgcmVqZWN0cyB3aXRoIGFuIEludmFsaWRT
dGF0ZUVycm9yLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPHA+Ci0gICAg
ICBXaGVuIHNob3duIHRoZSBwYXltZW50IHNoZWV0LCBoaXQgcGF5IG9uY2UsIHRoZW4gYWJvcnQg
cmV0cnlpbmcgdGhlIHBheW1lbnQuCi0gICAgPC9wPgotICAgIDxidXR0b24gb25jbGljaz0idXNl
ckNhbkFib3J0QVJldHJ5KHRoaXMpOyI+Ci0gICAgICBUaGUgdXNlciBhYm9ydGluZyByZXRyeWlu
ZyBhIHBheW1lbnQgY2F1c2VzIHRoZSByZXRyeVByb21pc2UgdG8gcmVqZWN0IHdpdGggQWJvcnRF
cnJvci4KLSAgICAgIEFib3J0aW5nIGEgcGF5bWVudCBpcyBjYXVzZXMgaXQgY29tcGxldGUuCi0g
ICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8cD4KLSAgICAgIFdoZW4gc2hvd24g
dGhlIHBheW1lbnQgc2hlZXQsIGhpdCBwYXkgb25jZS4gQ2hlY2sgcGF5bWVudCBzaGVldCBmb3Ig
ZXJyb3IgZmllbGRzLgotICAgICAgVGhlbiBoaXQgZXNjYXBlIG9yIG90aGVyd2lzZSBhYm9ydCB0
aGUgcGF5bWVudC4KLSAgICA8L3A+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ1c2VySXNTaG93bkVy
cm9yc0ZpZWxkcyh0aGlzKTsiPgotICAgICAgV2hlbiByZXRyeWluZywgdGhlIHVzZXIgaXMgc2hv
d24gZXJyb3IgZmllbGRzIHRvIGZpeC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgot
ICAgIDxwPgotICAgICAgV2hlbiBzaG93biB0aGUgcGF5bWVudCBzaGVldCwgaGl0IHBheSBvbmNl
LgotICAgICAgVGhlbiwgY2hhbmdlIHRoZSBzaGlwcGluZyBvcHRpb24uCi0gICAgICBTZWxlY3Qg
dG8gcGF5IGFnYWluLgotICAgIDwvcD4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImFib3J0VGhlVXBk
YXRlKHRoaXMpOyI+Ci0gICAgICBXaGVuICJhYm9ydCB0aGUgdXBkYXRlIiBvY2N1cnMgYmVjYXVz
ZSBvZiBhbiB1cGRhdGUgZXJyb3IsCi0gICAgICB0aGUgYHJldHJ5UHJvbWlzZWAgaXMgcmVqZWN0
ZWQgYW5kIHJlc3BvbnNlLltbY29tcGxldGVdXSBiZWNvbWVzIHRydWUuCi0gICAgPC9idXR0b24+
Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8cD4KLSAgICAgIFdoZW4gc2hvd24gdGhlIHBheW1lbnQg
c2hlZXQsIGhpdCBwYXkgb25jZS4gVGhlbiByZXRyeSBvbmNlLgotICAgIDwvcD4KLSAgICA8YnV0
dG9uIG9uY2xpY2s9ImNhbGxpbmdSZXRyeVJldHVybnNVbmlxdWVQcm9taXNlKHRoaXMpOyI+Ci0g
ICAgICBDYWxsaW5nIHJldHJ5KCkgbXVsdGlwbGUgdGltZXMgaXMgYWx3YXlzIGEgbmV3IG9iamVj
dC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0i
ZG9uZSgpOyI+Ci0gICAgICBEb25lIQotICAgIDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxz
bWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9h
PgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5v
d25lcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcmV0
cnktbWV0aG9kLXdhcm5pbmdzLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50
LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC13YXJuaW5ncy1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZTJiMmQ3ZGMwMjI4NmY1ZGI5ZWE2Y2Ex
YTM1NzFlZWU2NmRmOTkzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcmV0cnktbWV0aG9kLXdhcm5pbmdzLW1hbnVhbC5o
dHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1NYW51YWwg
VGVzdHMgLSBQbGVhc2UgcnVuIGluIG9yZGVyIQotCi1QbGVhc2Ugb3BlbiB0aGUgZGV2ZWxvcGVy
IGNvbnNvbGUuIEVhY2ggb2YgdGhlIHRlc3RzIGJlbG93IHNob3VsZCBnZW5lcmF0ZSBhIHdhcm5p
bmcgaW4gdGhlIGRldmVsb3BlciBjb25zb2xlLgotCi1XaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBw
YXltZW50IHNoZWV0LCBoaXQgcGF5IHR3aWNlLgotCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RQ
YXllck5hbWVgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnBheWVyLm5hbWVgIGlzIHByZXNl
bnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RQYXllckVtYWlsYCBpZiBmYWxzZSwgYW5kIGBl
cnJvckZpZWxkcy5wYXllci5lbWFpbGAgaXMgcHJlc2VudC4KLVNob3cgd2FybmluZyBpZiBgcmVx
dWVzdFBheWVyUGhvbmVgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnBheWVyLnBob25lYCBp
cyBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBh
bmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzc2AgbWVtYmVyIHByZXNlbnQuCi1TaG93IHdh
cm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2AgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hp
cHBpbmdBZGRyZXNzLmFkZHJlc3NMaW5lYCBtZW1iZXIgcHJlc2VudC4KLVNob3cgd2FybmluZyBp
ZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kIGBlcnJvckZpZWxkcy5zaGlwcGluZ0Fk
ZHJlc3MuY2l0eWAgbWVtYmVyIHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlw
cGluZ2AgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLmNvdW50cnlg
IG1lbWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZh
bHNlLCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5kZXBlbmRlbnRMb2NhbGl0eWAg
bWVtYmVyIHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2AgaWYgZmFs
c2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLm9yZ2FuaXphdGlvbmAgbWVtYmVy
IHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2AgaWYgZmFsc2UsIGFu
ZCBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLnBob25lYCBtZW1iZXIgcHJlc2VudC4KLVNo
b3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kIGBlcnJvckZpZWxk
cy5zaGlwcGluZ0FkZHJlc3MucG9zdGFsQ29kZWAgbWVtYmVyIHByZXNlbnQuCi1TaG93IHdhcm5p
bmcgaWYgYHJlcXVlc3RTaGlwcGluZ2AgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hpcHBp
bmdBZGRyZXNzLnJlY2lwaWVudGAgbWVtYmVyIHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJl
cXVlc3RTaGlwcGluZ2AgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNz
LnJlZ2lvbmAgbWVtYmVyIHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGlu
Z2AgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLnJlZ2lvbkNvZGVg
IG1lbWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZh
bHNlLCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5zb3J0aW5nQ29kZWAgbWVtYmVy
IHByZXNlbnQuCi1Eb25lIQotCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51
bGwKLQotUEFTUyBDYW4gY29uc3RydWN0IGEgcGF5bWVudCByZXF1ZXN0IChzbW9rZSB0ZXN0KS4K
LVBBU1MgUGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZSBtdXN0IGhhdmUgYSByZXRyeSgpIGZ1bmN0
aW9uIChzbW9rZSB0ZXN0KS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXRy
eS1tZXRob2Qtd2FybmluZ3MtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNl
L3JldHJ5LW1ldGhvZC13YXJuaW5ncy1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjY4YmYxODMwOTcwMmM0ODFjNzZhZGVmMGNkZGVlMjRjYmQxYjU0My4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50
LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC13YXJuaW5ncy1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDE1OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4gPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Ci08dGl0bGU+V2FybiB3aGVuIGVycm9yRmllbGRzIGRvbid0IG1hdGNoIHJlcXVl
c3RbW29wdGlvbnNdXTwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZ2l0
aHViLmNvbS93M2MvcGF5bWVudC1yZXF1ZXN0L3B1bGwvODA3IiAvPgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImhlbHBlcnMu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgdGVzdCgoKSA9PiB7Ci0gICAgYXNzZXJ0X3RydWUo
Ci0gICAgICAicmV0cnkiIGluIFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUsCi0gICAgICAicmV0
cnkgbXVzdCBiZSBpbiBwcm90b3R5cGUiCi0gICAgKTsKLSAgICBhc3NlcnRfdHJ1ZSgKLSAgICAg
IFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUucmV0cnkgaW5zdGFuY2VvZiBGdW5jdGlvbiwKLSAg
ICAgICJyZXRyeSBtdXN0IGJlIGEgZnVuY3Rpb24iCi0gICAgKTsKLSAgfSwgIlBheW1lbnRSZXNw
b25zZS5wcm90b3R5cGUgbXVzdCBoYXZlIGEgcmV0cnkoKSBmdW5jdGlvbiAoc21va2UgdGVzdCku
Iik7Ci0KLSAgY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7Ci0gICAgcmVxdWVzdFBheWVyTmFtZTog
ZmFsc2UsCi0gICAgcmVxdWVzdFBheWVyRW1haWw6IGZhbHNlLAotICAgIHJlcXVlc3RQYXllclBo
b25lOiBmYWxzZSwKLSAgICByZXF1ZXN0U2hpcHBpbmc6IGZhbHNlLAotICB9OwotICBmdW5jdGlv
biB0ZXN0U2hvd1dhcm5pbmcoYnV0dG9uLCBlcnJvckZpZWxkcykgewotICAgIGJ1dHRvbi5kaXNh
YmxlZCA9IHRydWU7Ci0gICAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICAgIGNvbnN0
IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2UoZGVmYXVsdE9w
dGlvbnMpOwotICAgICAgYXdhaXQgcmVzcG9uc2UucmV0cnkoZXJyb3JGaWVsZHMpOwotICAgICAg
YXdhaXQgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAgICB9KTsKLSAgfQotPC9zY3JpcHQ+Ci08aDI+
TWFudWFsIFRlc3RzIC0gUGxlYXNlIHJ1biBpbiBvcmRlciE8L2gyPgotPHA+Ci0gIFBsZWFzZSBv
cGVuIHRoZSBkZXZlbG9wZXIgY29uc29sZS4gRWFjaCBvZiB0aGUgdGVzdHMgYmVsb3cgc2hvdWxk
IGdlbmVyYXRlIGEKLSAgd2FybmluZyBpbiB0aGUgZGV2ZWxvcGVyIGNvbnNvbGUuCi08L3A+Ci08
cD5XaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50IHNoZWV0LCBoaXQgcGF5IHR3aWNlLjwv
cD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRo
aXMsIHtwYXllcjoge25hbWU6ICdEb250IHNob3cgdGhpcyd9fSk7Ij4KLSAgICAgIFNob3cgd2Fy
bmluZyBpZiBgcmVxdWVzdFBheWVyTmFtZWAgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMucGF5
ZXIubmFtZWAgaXMKLSAgICAgIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxs
aT4KLSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3Bh
eWVyOiB7ZW1haWw6ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2Fy
bmluZyBpZiBgcmVxdWVzdFBheWVyRW1haWxgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnBh
eWVyLmVtYWlsYAotICAgICAgaXMgcHJlc2VudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAg
PGxpPgotICAgIDxidXR0b24KLSAgICAgIG9uY2xpY2s9InRlc3RTaG93V2FybmluZyh0aGlzLCB7
cGF5ZXI6IHtwaG9uZTogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0gICAgPgotICAgICAgU2hvdyB3
YXJuaW5nIGlmIGByZXF1ZXN0UGF5ZXJQaG9uZWAgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMu
cGF5ZXIucGhvbmVgCi0gICAgICBpcyBwcmVzZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3NoaXBw
aW5nQWRkcmVzczoge319KTsiPgotICAgICAgU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBp
bmdgIGlmIGZhbHNlLCBhbmQKLSAgICAgIGBlcnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3NgIG1l
bWJlciBwcmVzZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRv
bgotICAgICAgb25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGluZ0FkZHJlc3M6
IHthZGRyZXNzTGluZTogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0gICAgPgotICAgICAgU2hvdyB3
YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQKLSAgICAgIGBlcnJvckZp
ZWxkcy5zaGlwcGluZ0FkZHJlc3MuYWRkcmVzc0xpbmVgIG1lbWJlciBwcmVzZW50LgotICAgIDwv
YnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbgotICAgICAgb25jbGljaz0idGVz
dFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGluZ0FkZHJlc3M6IHtjaXR5OiAnRG9udCBzaG93IHRo
aXMnfX0pOyIKLSAgICA+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2Ag
aWYgZmFsc2UsIGFuZAotICAgICAgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5jaXR5YCBt
ZW1iZXIgcHJlc2VudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0
b24KLSAgICAgIG9uY2xpY2s9InRlc3RTaG93V2FybmluZyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNz
OiB7Y291bnRyeTogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0gICAgPgotICAgICAgU2hvdyB3YXJu
aW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQKLSAgICAgIGBlcnJvckZpZWxk
cy5zaGlwcGluZ0FkZHJlc3MuY291bnRyeWAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+
Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dh
cm5pbmcodGhpcywge3NoaXBwaW5nQWRkcmVzczoge2RlcGVuZGVudExvY2FsaXR5OiAnRG9udCBz
aG93IHRoaXMnfX0pOyIKLSAgICA+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlw
cGluZ2AgaWYgZmFsc2UsIGFuZAotICAgICAgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5k
ZXBlbmRlbnRMb2NhbGl0eWAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+
Ci0gIDxsaT4KLSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhp
cywge3NoaXBwaW5nQWRkcmVzczoge29yZ2FuaXphdGlvbjogJ0RvbnQgc2hvdyB0aGlzJ319KTsi
Ci0gICAgPgotICAgICAgU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNl
LCBhbmQKLSAgICAgIGBlcnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3Mub3JnYW5pemF0aW9uYCBt
ZW1iZXIgcHJlc2VudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0
b24KLSAgICAgIG9uY2xpY2s9InRlc3RTaG93V2FybmluZyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNz
OiB7cGhvbmU6ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2Fybmlu
ZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JGaWVsZHMu
c2hpcHBpbmdBZGRyZXNzLnBob25lYCBtZW1iZXIgcHJlc2VudC4KLSAgICA8L2J1dHRvbj4KLSAg
PC9saT4KLSAgPGxpPgotICAgIDxidXR0b24KLSAgICAgIG9uY2xpY2s9InRlc3RTaG93V2Fybmlu
Zyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNzOiB7cG9zdGFsQ29kZTogJ0RvbnQgc2hvdyB0aGlzJ319
KTsiCi0gICAgPgotICAgICAgU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZh
bHNlLCBhbmQKLSAgICAgIGBlcnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3MucG9zdGFsQ29kZWAg
bWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0
dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3NoaXBwaW5nQWRkcmVz
czoge3JlY2lwaWVudDogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0gICAgPgotICAgICAgU2hvdyB3
YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQKLSAgICAgIGBlcnJvckZp
ZWxkcy5zaGlwcGluZ0FkZHJlc3MucmVjaXBpZW50YCBtZW1iZXIgcHJlc2VudC4KLSAgICA8L2J1
dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24KLSAgICAgIG9uY2xpY2s9InRlc3RT
aG93V2FybmluZyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNzOiB7cmVnaW9uOiAnRG9udCBzaG93IHRo
aXMnfX0pOyIKLSAgICA+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2Ag
aWYgZmFsc2UsIGFuZAotICAgICAgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5yZWdpb25g
IG1lbWJlciBwcmVzZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1
dHRvbgotICAgICAgb25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGluZ0FkZHJl
c3M6IHtyZWdpb25Db2RlOiAnRG9udCBzaG93IHRoaXMnfX0pOyIKLSAgICA+Ci0gICAgICBTaG93
IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2AgaWYgZmFsc2UsIGFuZAotICAgICAgYGVycm9y
RmllbGRzLnNoaXBwaW5nQWRkcmVzcy5yZWdpb25Db2RlYCBtZW1iZXIgcHJlc2VudC4KLSAgICA8
L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24KLSAgICAgIG9uY2xpY2s9InRl
c3RTaG93V2FybmluZyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNzOiB7c29ydGluZ0NvZGU6ICdEb250
IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNo
aXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNz
LnNvcnRpbmdDb2RlYCBtZW1iZXIgcHJlc2VudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAg
PGxpPjxidXR0b24gb25jbGljaz0iZG9uZSgpIj5Eb25lITwvYnV0dG9uPjwvbGk+Ci08L29sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ0FkZHJlc3MtYXR0cmlidXRl
LW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ0FkZHJlc3Mt
YXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5MmJhYzJiYjVlNWUyNzBjZWRmYjViODRiYzhjODk5OGRmNDYyNjVlLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvc2hp
cHBpbmdBZGRyZXNzLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDEwMSArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgot
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1
ZXN0LyNkb20tcGF5bWVudHJlc3BvbnNlLXNoaXBwaW5nYWRkcmVzcyI+Ci08dGl0bGU+Ci0gIFBh
eW1lbnRSZXNwb25zZS5wcm90b3R5cGUuc2hpcHBpbmdBZGRyZXNzCi08L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
ImhlbHBlcnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWFzeW5jIGZ1bmN0aW9uIGNoZWNrTnVs
bFNoaXBwaW5nQWRkcmVzcyhidXR0b24sIG9wdGlvbnMpIHsKLSAgYnV0dG9uLmRpc2FibGVkID0g
dHJ1ZTsKLSAgY29uc3QgeyByZXF1ZXN0LCByZXNwb25zZSB9ID0gYXdhaXQgZ2V0UGF5bWVudFJl
cXVlc3RSZXNwb25zZShvcHRpb25zKTsKLSAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAg
dGVzdCgoKSA9PiB7Ci0gICAgYXNzZXJ0X2lkbF9hdHRyaWJ1dGUocmVzcG9uc2UsICJzaGlwcGlu
Z0FkZHJlc3MiKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgcmVzcG9uc2Uuc2hpcHBpbmdB
ZGRyZXNzLAotICAgICAgbnVsbCwKLSAgICAgICJFeHBlY3RlZCByZXNwb25zZS5zaGlwcGluZ0Fk
ZHJlc3MgdG8gYmUgbnVsbCIKLSAgICApOwotICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICByZXF1
ZXN0LnNoaXBwaW5nQWRkcmVzcywKLSAgICAgIG51bGwsCi0gICAgICAiRXhwZWN0ZWQgcmVxdWVz
dC5zaGlwcGluZ0FkZHJlc3MgdG8gYmUgbnVsbCIKLSAgICApOwotICB9LCBidXR0b24udGV4dENv
bnRlbnQudHJpbSgpKTsKLX0KLQotYXN5bmMgZnVuY3Rpb24gcnVuTWFudWFsVGVzdChidXR0b24s
IG9wdGlvbnMgPSB7fSwgZXhwZWN0ZWQgPSB7fSwgaWQpIHsKLSAgYnV0dG9uLmRpc2FibGVkID0g
dHJ1ZTsKLSAgY29uc3QgeyByZXF1ZXN0LCByZXNwb25zZSB9ID0gYXdhaXQgZ2V0UGF5bWVudFJl
cXVlc3RSZXNwb25zZShvcHRpb25zLCBpZCk7Ci0gIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCk7
Ci0gIHRlc3QoKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2UucmVxdWVzdElkLCBy
ZXF1ZXN0LmlkLCBgRXhwZWN0ZWQgaWRzIHRvIG1hdGNoYCk7Ci0gICAgYXNzZXJ0X2lkbF9hdHRy
aWJ1dGUocmVzcG9uc2UsICJzaGlwcGluZ0FkZHJlc3MiKTsKLSAgICBjb25zdCB7IHNoaXBwaW5n
QWRkcmVzczogYWRkciB9ID0gcmVxdWVzdDsKLSAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgIGFkZHIg
aW5zdGFuY2VvZiBQYXltZW50QWRkcmVzcywKLSAgICAgICJFeHBlY3QgaW5zdGFuY2Ugb2YgUGF5
bWVudEFkZHJlc3MiCi0gICAgKTsKLSAgICB0cnkgewotICAgICAgYWRkci50b0pTT04oKTsKLSAg
ICB9IGNhdGNoIChlcnIpIHsKLSAgICAgIGFzc2VydF91bnJlYWNoZWQoCi0gICAgICAgIGBVbmV4
cGVjdGVkIGV4Y2VwdGlvbiBjYWxsaW5nIFBheW1lbnRBZGRyZXNzLnRvSlNPTigpOiAke2Vycn1g
Ci0gICAgICApOwotICAgIH0KLSAgICBpZiAoZXhwZWN0ZWQuc2hpcHBpbmdBZGRyZXNzID09PSBu
dWxsKSB7Ci0gICAgICByZXR1cm47Ci0gICAgfQotICAgIGFzc2VydF9lcXVhbHMoYWRkci5jb3Vu
dHJ5LCAiQUYiLCAiRXhwZWN0ZWQgQUYgZm9yIGNvdW50cnkiKTsKLSAgICBhc3NlcnRfdHJ1ZSgK
LSAgICAgIGFkZHIuYWRkcmVzc0xpbmUgaW5zdGFuY2VvZiBBcnJheSwKLSAgICAgICJFeHBlY3Rl
ZCBhZGRyZXNzTGluZSB0byBiZSBhbiBhcnJheSIKLSAgICApOwotICAgIGFzc2VydF9lcXVhbHMo
Ci0gICAgICBhZGRyLmFkZHJlc3NMaW5lLnRvU3RyaW5nKCksCi0gICAgICAiMSB3cHQgc3RyZWV0
IiwKLSAgICAgICJFeHBlY3RlZCAnMSB3cHQgc3RyZWV0JyBmb3IgYWRkcmVzc0xpbmUiCi0gICAg
KTsKLSAgICBhc3NlcnRfZXF1YWxzKGFkZHIuY2l0eSwgIkthYnVsIiwgIkV4cGVjdGVkIGNpdHkg
dG8gYmUgS2FidWwiKTsKLSAgICBhc3NlcnRfZXF1YWxzKGFkZHIucG9zdGFsQ29kZSwgIjEwMDEi
LCAiRXhwZWN0IHBvc3RhbENvZGUgdG8gYmUgMTAwMSIpOwotICAgIGFzc2VydF9lcXVhbHMoYWRk
ci5yZWNpcGllbnQsICJ3ZWIgcGxhdGZvcm0gdGVzdCIpOwotICB9LCBidXR0b24udGV4dENvbnRl
bnQudHJpbSgpKTsKLX0KLTwvc2NyaXB0PgotPGgyPnNoaXBwaW5nQWRkcmVzcyBhdHRyaWJ1dGU8
L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRv
IGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwg
YnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hl
biBwcm9tcHRlZCwgcGxlYXNlIGVudGVyICJ3ZWIgcGxhdGZvcm0gdGVzdCIgYXMgcmVjaXBpZW50
LCBhdCBhZGRyZXNzICIxIHdwdCBzdHJlZXQiIGluICJLYWJ1bCwgQWZnaGFuaXN0YW4iLCB6aXAv
cG9zdGFsIGNvZGUgMTAwMS4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGlj
az0iY2hlY2tOdWxsU2hpcHBpbmdBZGRyZXNzKHRoaXMsIHVuZGVmaW5lZCkiPgotICAgICAgSWYg
b3B0aW9ucyBpcyB1bmRlZmluZWQsIHRoZW4gc2hpcHBpbmdBZGRyZXNzIG11c3QgYmUgbnVsbC4K
LSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iY2hl
Y2tOdWxsU2hpcHBpbmdBZGRyZXNzKHRoaXMsIHt9KSI+Ci0gICAgICBJZiB0aGUgcmVxdWVzdFNo
aXBwaW5nIG1lbWJlciBpcyBtaXNzaW5nLCB0aGVuIHNoaXBwaW5nQWRkcmVzcyBtdXN0IGJlIG51
bGwuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9
ImNoZWNrTnVsbFNoaXBwaW5nQWRkcmVzcyh0aGlzLCB7cmVxdWVzdFNoaXBwaW5nOiBmYWxzZX0p
Ij4KLSAgICAgIElmIHRoZSByZXF1ZXN0U2hpcHBpbmcgbWVtYmVyIGlzIGZhbHNlLCB0aGVuIHNo
aXBwaW5nQWRkcmVzcyBtdXN0IGJlIG51bGwuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxs
aT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywge3JlcXVlc3RTaGlw
cGluZzogdHJ1ZX0pLnRoZW4oZG9uZSkiPgotICAgICAgSWYgdGhlIHJlcXVlc3RTaGlwcGluZyBt
ZW1iZXIgaXMgdHJ1ZSwgdGhlbiBzaGlwcGluZ0FkZHJlc3MgbXVzdCBiZSAiMSB3cHQgc3RyZWV0
IiBpbiAiS2FidWwsIEFmZ2hhbmlzdGFuIiwgemlwIGNvZGUgMTAwMS4KLSAgICA8L2J1dHRvbj4K
LSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxl
YXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lz
c3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQt
cmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUtbWFu
dWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3NoaXBwaW5nT3B0aW9uLWF0dHJp
YnV0ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjg3
ZDNhNTJkZTlmNmJmZGIxMDQ1NjE0NzU4NjAwOGIxODY4M2ViMi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3NoaXBwaW5n
T3B0aW9uLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQz
ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI2Rv
bS1wYXltZW50cmVzcG9uc2Utc2hpcHBpbmdvcHRpb24iPgotPHRpdGxlPgotICBQYXltZW50UmVz
cG9uc2UucHJvdG90eXBlLmNvbXBsZXRlKCkgbWV0aG9kCi08L3RpdGxlPgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImhlbHBl
cnMuanMiPjwvc2NyaXB0PgotPGgyPnNoaXBwaW5nT3B0aW9uIGF0dHJpYnV0ZTwvaDI+Ci08cD4K
LSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdp
dGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0
aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBGb3IgdGhlIGxhc3Qg
dGVzdCwgcGxlYXNlIHNlbGVjdCB0aGUgb25seSBhdmFpbGFibGUgc2hpcHBpbmcgb3B0aW9uIGFu
ZCBzZWxlY3QgIlBheSIuCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9
InJ1bk1hbnVhbFRlc3QodGhpcywgdW5kZWZpbmVkLCB7IHNoaXBwaW5nT3B0aW9uOiBudWxsIH0p
Ij4KLSAgICAgIElmIHRoZSBvcHRpb25zIGlzIHVuZGVmaW5lZCwgdGhlbiBzaGlwcGluZ09wdGlv
biBtdXN0IGJlIG51bGwuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0
dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgeyByZXF1ZXN0U2hpcHBpbmc6IHVuZGVm
aW5lZCB9LCB7IHNoaXBwaW5nT3B0aW9uOiBudWxsIH0pIj4KLSAgICAgIElmIHRoZSByZXF1ZXN0
U2hpcHBpbmcgbWVtYmVyIGlzIG1pc3NpbmcsIHRoZW4gc2hpcHBpbmdPcHRpb24gbXVzdCBiZSBu
dWxsLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNr
PSJydW5NYW51YWxUZXN0KHRoaXMsIHsgcmVxdWVzdFNoaXBwaW5nOiBmYWxzZSB9LCB7IHNoaXBw
aW5nT3B0aW9uOiBudWxsIH0pIj4KLSAgICAgIElmIHRoZSByZXF1ZXN0U2hpcHBpbmcgbWVtYmVy
IGlzIGZhbHNlLCB0aGVuIHNoaXBwaW5nT3B0aW9uIG11c3QgYmUgbnVsbC4KLSAgICA8L2J1dHRv
bj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0
aGlzLCB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9LCB7IHNoaXBwaW5nT3B0aW9uOiAncGFzcycg
fSkudGhlbihkb25lKSI+Ci0gICAgICBJZiB0aGUgcmVxdWVzdFNoaXBwaW5nIG1lbWJlciBpcyB0
cnVlLCB0aGVuIHNoaXBwaW5nT3B0aW9uIG11c3QgYmUgdGhlIGlkIG9mIHRoZSBzZWxlY3RlZCBz
aGlwcGluZyBvcHRpb24gKCJwYXNzIikuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgot
PHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8
L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2Vi
LXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwi
PnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVzcG9uc2UvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3czYy1pbXBv
cnQubG9nCmluZGV4IGYyNDU5YjE3YzAzMmJmYTE3YTZkYTYyNTk1OWVjYjAwYzY5ZjFmNWIuLjgz
NjNhMDU2ZDA0ODc3NDhhN2FjM2Q1MzllZTczODY5MmJkOTdlZmUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVzcG9uc2UvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS93
M2MtaW1wb3J0LmxvZwpAQCAtMTQsMTkgKzE0LDUgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvcGF5bWVudC1yZXNwb25zZS9jb21wbGV0ZS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9wYXltZW50LXJlc3BvbnNlL2hlbHBlcnMuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL21l
dGhvZE5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25z
ZS9vbnBheWVyZGV0YWlsY2hhbmdlLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVzcG9uc2Uvb25wYXllcmRldGFpbGNoYW5nZS1hdHRyaWJ1dGUuaHR0cHMuaHRtbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJFbWFpbC1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyTmFtZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBz
Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyUGhvbmUtYXR0cmlidXRlLW1hbnVhbC5o
dHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRl
V2l0aC1pbW1lZGlhdGUtbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3Bh
eWVyZGV0YWlsc2NoYW5nZS11cGRhdGVXaXRoLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVu
dC1yZXNwb25zZS9yZWplY3RzX2lmX25vdF9hY3RpdmUtbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlc3BvbnNlL3JlcXVlc3RJZC1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9wYXltZW50LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVzcG9uc2UvcmV0cnktbWV0aG9kLXdhcm5pbmdzLW1hbnVhbC5odHRwcy5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ0FkZHJlc3MtYXR0cmlidXRlLW1hbnVhbC5odHRw
cy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUtbWFu
dWFsLmh0dHBzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51
YWwuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcmVqZWN0c19pZl9ub3RfYWN0aXZlLW1hbnVhbC5o
dHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiZDQ1ZGIz
NTE5YWUwM2QzMjM4Yjc3NGNkNzhjNzg4NzY0ZDBkMWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcmVqZWN0c19pZl9ub3RfYWN0aXZlLW1hbnVhbC5o
dHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1QYXltZW50
UmVxdWVzdCBzaG93KCkgcmVqZWN0cyBpZiBkb2MgaXMgbm90IGZ1bGx5IGFjdGl2ZQotCi1DbGlj
ayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCBy
ZWZyZXNoaW5nIHRoZSBwYWdlLiBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50
IFJlcXVlc3QgVUkgd2luZG93IGFuZCB0aGVuIHdpbGwgY2xvc2UgaXQgYXV0b21hdGljYWxseS4g
KElmIGEgcGF5bWVudCBzaGVldCBzdGF5cyBvcGVuLCB0aGUgdGVzdCBoYXMgZmFpbGVkLikKLQot
UGF5bWVudFJlcXVlc3Quc2hvdygpIGFib3J0cyBpZiB0aGUgZG9jdW1lbnQgaXMgbm90IGFjdGl2
ZS4KLVBheW1lbnRSZXF1ZXN0LnNob3coKSBhYm9ydHMgaWYgdGhlIGRvY3VtZW50IGlzIGFjdGl2
ZSwgYnV0IG5vdCBmdWxseSBhY3RpdmUuCi1Eb25lIQotSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0
LCBwbGVhc2UgZmlsZSBhIGJ1ZyBhbmQgdGFnIG9uZSBvZiB0aGUgc3VnZ2VzdGVkIHJldmlld2Vy
cy4KLQotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvcmVqZWN0c19pZl9ub3RfYWN0aXZlLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcmVq
ZWN0c19pZl9ub3RfYWN0aXZlLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4ZTIxNGNiNjA5NGEyNTQzNjM3NGRhOTg0ZGVhYWRlNjYwY2NjMTkxLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZf
bm90X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3MSArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08dGl0bGU+UGF5bWVu
dFJlcXVlc3Qgc2hvdygpIHJlamVjdHMgaWYgZG9jIGlzIG5vdCBmdWxseSBhY3RpdmU8L3RpdGxl
PgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1y
ZXF1ZXN0LyNzaG93LW1ldGhvZCI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1zZXR1cCh7Ci0gIGV4cGxpY2l0X2Rv
bmU6IHRydWUsCi0gIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUsCi19KTsKLQotY29uc3QgYXBwbGVQ
YXkgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUu
Y29tL2FwcGxlLXBheSIsCi0gIGRhdGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50
SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVT
IiwKLSAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBv
cnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgfQotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZCA9IE9i
amVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi19KTsKLWNv
bnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkTWV0aG9kLCBhcHBsZVBheV0p
OwotCi1jb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6IHsKLSAg
ICBsYWJlbDogIlRvdGFsIGR1ZSIsCi0gICAgICBhbW91bnQ6IHsKLSAgICAgIGN1cnJlbmN5OiAi
VVNEIiwKLSAgICAgIHZhbHVlOiAiNS4wMCIsCi0gICAgfSwKLSAgfSwKLX0pOwotCi1mdW5jdGlv
biBnZXRMb2FkZWRQYXltZW50UmVxdWVzdChpZnJhbWUsIHVybCkgewotICByZXR1cm4gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoCi0gICAgICAi
bG9hZCIsCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIGNvbnN0IHsgUGF5bWVudFJlcXVlc3QgfSA9
IGlmcmFtZS5jb250ZW50V2luZG93OwotICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1l
bnRSZXF1ZXN0KHZhbGlkTWV0aG9kcywgdmFsaWREZXRhaWxzKTsKLSAgICAgICAgcmVzb2x2ZShy
ZXF1ZXN0KTsKLSAgICAgIH0sCi0gICAgICB7IG9uY2U6IHRydWUgfQotICAgICk7Ci0gICAgaWZy
YW1lLnNyYyA9IHVybDsKLSAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RBYm9ydFNob3dJZkRvY3Vt
ZW50SXNOb3RBY3RpdmUoKSB7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25z
dCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUu
YWxsb3dQYXltZW50UmVxdWVzdCA9IHRydWU7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpZnJhbWUpOwotICAgIC8vIFdlIGZpcnN0IGdvdCB0byBwYWdlMS5odG1sLCBncmFiIGEgUGF5
bWVudFJlcXVlc3QgaW5zdGFuY2UuCi0gICAgY29uc3QgcmVxdWVzdDEgPSBhd2FpdCBnZXRMb2Fk
ZWRQYXltZW50UmVxdWVzdCgKLSAgICAgIGlmcmFtZSwKLSAgICAgICIvcGF5bWVudC1yZXF1ZXN0
L3Jlc291cmNlcy9wYWdlMS5odG1sIgotICAgICk7Ci0gICAgLy8gU2F2ZSB0aGUgRE9NRXhjZXB0
aW9uIG9mIHBhZ2UxLmh0bWwgYmVmb3JlIG5hdmlnYXRpbmcgYXdheS4KLSAgICBjb25zdCBmcmFt
ZURPTUV4Y2VwdGlvbjEgPSBpZnJhbWUuY29udGVudFdpbmRvdy5ET01FeGNlcHRpb247Ci0gICAg
Ly8gV2UgbmF2aWdhdGUgdGhlIGlmcmFtZSBhZ2FpbiwgcHV0dGluZyByZXF1ZXN0MSdzIGRvY3Vt
ZW50IGludG8gYW4gaW5hY3RpdmUgc3RhdGUuCi0gICAgY29uc3QgcmVxdWVzdDIgPSBhd2FpdCBn
ZXRMb2FkZWRQYXltZW50UmVxdWVzdCgKLSAgICAgIGlmcmFtZSwKLSAgICAgICIvcGF5bWVudC1y
ZXF1ZXN0L3Jlc291cmNlcy9wYWdlMi5odG1sIgotICAgICk7Ci0gICAgLy8gTm93LCByZXF1ZXN0
MSdzIHJlbGV2YW50IGdsb2JhbCBvYmplY3QncyBkb2N1bWVudCBpcyBubyBsb25nZXIgYWN0aXZl
LgotICAgIC8vIFNvLCBjYWxsIC5zaG93KCksIGFuZCBtYWtlIHN1cmUgaXQgcmVqZWN0cyBhcHBy
b3ByaWF0ZWx5LgotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAg
ICAgIkFib3J0RXJyb3IiLAotICAgICAgZnJhbWVET01FeGNlcHRpb24xLAotICAgICAgcmVxdWVz
dDEuc2hvdygpLAotICAgICAgIkluYWN0aXZlIGRvY3VtZW50LCBzbyBtdXN0IHRocm93IEFib3J0
RXJyb3IiCi0gICAgKTsKLSAgICAvLyByZXF1ZXN0MiBoYXMgYW4gYWN0aXZlIGRvY3VtZW50IHRo
bywgc28gY29uZmlybSBpdCdzIHdvcmtpbmcgYXMgZXhwZWN0ZWQ6Ci0gICAgcmVxdWVzdDIuc2hv
dygpOwotICAgIGF3YWl0IHJlcXVlc3QyLmFib3J0KCk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWpl
Y3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAgICAgaWZy
YW1lLmNvbnRlbnRXaW5kb3cuRE9NRXhjZXB0aW9uLAotICAgICAgcmVxdWVzdDIuc2hvdygpLAot
ICAgICAgIkFib3J0IGFscmVhZHkgY2FsbGVkLCBzbyBJbnZhbGlkU3RhdGVFcnJvciIKLSAgICAp
OwotICAgIC8vIFdlIGFyZSBkb25lLCBzbyBjbGVhbiB1cC4KLSAgICBpZnJhbWUucmVtb3ZlKCk7
Ci0gIH0sICJQYXltZW50UmVxdWVzdC5zaG93KCkgYWJvcnRzIGlmIHRoZSBkb2N1bWVudCBpcyBu
b3QgYWN0aXZlLiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0QWJvcnRTaG93SWZEb2N1bWVudElzTm90
RnVsbHlBY3RpdmUoKSB7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICAvLyBXZSBu
ZXN0IHR3byBpZnJhbWVzIGFuZCB3YWl0IGZvciB0aGVtIHRvIGxvYWQuCi0gICAgY29uc3Qgb3V0
ZXJJZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBvdXRlcklm
cmFtZS5hbGxvd1BheW1lbnRSZXF1ZXN0ID0gdHJ1ZTsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKG91dGVySWZyYW1lKTsKLSAgICAvLyBMb2FkIHRoZSBvdXRlciBpZnJhbWUgKHdlIGRv
bid0IGNhcmUgYWJvdXQgdGhlIGF3YWl0ZWQgcmVxdWVzdCkKLSAgICBhd2FpdCBnZXRMb2FkZWRQ
YXltZW50UmVxdWVzdCgKLSAgICAgIG91dGVySWZyYW1lLAotICAgICAgIi9wYXltZW50LXJlcXVl
c3QvcmVzb3VyY2VzL3BhZ2UxLmh0bWwiCi0gICAgKTsKLQotICAgIC8vIE5vdyB3ZSBjcmVhdGUg
dGhlIGlubmVyIGlmcmFtZQotICAgIGNvbnN0IGlubmVySWZyYW1lID0gb3V0ZXJJZnJhbWUuY29u
dGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGlubmVySWZyYW1lLmFs
bG93UGF5bWVudFJlcXVlc3QgPSB0cnVlOwotCi0gICAgLy8gbmVzdCB0aGVtCi0gICAgb3V0ZXJJ
ZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5uZXJJZnJhbWUpOwotCi0g
ICAgLy8gbG9hZCBpbm5lcklmcmFtZSwgYW5kIGdldCB0aGUgUGF5bWVudFJlcXVlc3QgaW5zdGFu
Y2UKLSAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgZ2V0TG9hZGVkUGF5bWVudFJlcXVlc3QoCi0g
ICAgICBpbm5lcklmcmFtZSwKLSAgICAgICIvcGF5bWVudC1yZXF1ZXN0L3Jlc291cmNlcy9wYWdl
Mi5odG1sIgotICAgICk7Ci0gICAgLy8gU2F2ZSBET01FeGNlcHRpb24gZnJvbSBpbm5lcklmcmFt
ZSBiZWZvcmUgbmF2aWdhdGluZyBhd2F5LgotICAgIGNvbnN0IGlubmVySWZyYW1lRE9NRXhjZXB0
aW9uID0gaW5uZXJJZnJhbWUuY29udGVudFdpbmRvdy5ET01FeGNlcHRpb247Ci0KLSAgICAvLyBO
YXZpZ2F0ZSB0aGUgb3V0ZXIgaWZyYW1lIHRvIGEgbmV3IGxvY2F0aW9uLgotICAgIC8vIFdhaXQg
Zm9yIHRoZSBsb2FkIGV2ZW50IHRvIGZpcmUuCi0gICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7Ci0gICAgICBvdXRlcklmcmFtZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcmVzb2x2
ZSk7Ci0gICAgICBvdXRlcklmcmFtZS5zcmMgPSAiL3BheW1lbnQtcmVxdWVzdC9yZXNvdXJjZXMv
cGFnZTIuaHRtbCI7Ci0gICAgfSk7Ci0KLSAgICBjb25zdCBzaG93UHJvbWlzZSA9IHJlcXVlc3Qu
c2hvdygpOwotICAgIC8vIE5vdywgcmVxdWVzdCdzIHJlbGV2YW50IGdsb2JhbCBvYmplY3QncyBk
b2N1bWVudCBpcyBzdGlsbCBhY3RpdmUKLSAgICAvLyAoaXQgaXMgdGhlIGFjdGl2ZSBkb2N1bWVu
dCBvZiB0aGUgaW5uZXIgaWZyYW1lKSwgYnV0IGlzIG5vdCBmdWxseSBhY3RpdmUKLSAgICAvLyAo
c2luY2UgdGhlIHBhcmVudCBvZiB0aGUgaW5uZXIgaWZyYW1lIGlzIGl0c2VsZiBubyBsb25nZXIg
YWN0aXZlKS4KLSAgICAvLyBTbywgY2FsbCByZXF1ZXN0LnNob3coKSBhbmQgbWFrZSBzdXJlIGl0
IHJlamVjdHMgYXBwcm9wcmlhdGVseS4KLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAot
ICAgICAgdCwKLSAgICAgICJBYm9ydEVycm9yIiwKLSAgICAgIGlubmVySWZyYW1lRE9NRXhjZXB0
aW9uLAotICAgICAgc2hvd1Byb21pc2UsCi0gICAgICAiQWN0aXZlLCBidXQgbm90IGZ1bGx5IGFj
dGl2ZSwgc28gbXVzdCB0aHJvdyBBYm9ydEVycm9yIgotICAgICk7Ci0gICAgLy8gV2UgYXJlIGRv
bmUsIHNvIGNsZWFuIHVwLgotCi0gICAgb3V0ZXJJZnJhbWUucmVtb3ZlKCk7Ci0gIH0sICJQYXlt
ZW50UmVxdWVzdC5zaG93KCkgYWJvcnRzIGlmIHRoZSBkb2N1bWVudCBpcyBhY3RpdmUsIGJ1dCBu
b3QgZnVsbHkgYWN0aXZlLiIpOwotfQotPC9zY3JpcHQ+Ci0KLTxoMj5QYXltZW50UmVxdWVzdCBz
aG93KCkgcmVqZWN0cyBpZiBkb2MgaXMgbm90IGZ1bGx5IGFjdGl2ZTwvaDI+Ci08cD4KLSAgQ2xp
Y2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQg
cmVmcmVzaGluZyB0aGUKLSAgcGFnZS4gRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5
bWVudCBSZXF1ZXN0IFVJIHdpbmRvdyBhbmQgdGhlbiB3aWxsCi0gIGNsb3NlIGl0IGF1dG9tYXRp
Y2FsbHkuIChJZiBhIHBheW1lbnQgc2hlZXQgc3RheXMgb3BlbiwgdGhlIHRlc3QgaGFzIGZhaWxl
ZC4pCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RBYm9ydFNo
b3dJZkRvY3VtZW50SXNOb3RBY3RpdmUoKSI+Ci0gICAgICBQYXltZW50UmVxdWVzdC5zaG93KCkg
YWJvcnRzIGlmIHRoZSBkb2N1bWVudCBpcyBub3QgYWN0aXZlLgotICAgIDwvYnV0dG9uPgotICA8
L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0QWJvcnRTaG93SWZEb2N1bWVu
dElzTm90RnVsbHlBY3RpdmUoKSI+Ci0gICAgICBQYXltZW50UmVxdWVzdC5zaG93KCkgYWJvcnRz
IGlmIHRoZSBkb2N1bWVudCBpcyBhY3RpdmUsIGJ1dCBub3QgZnVsbHkKLSAgICAgIGFjdGl2ZS4K
LSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPjxidXR0b24gb25jbGljaz0iZG9uZSgpIj5E
b25lITwvYnV0dG9uPjwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5
IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBo
cmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rl
ci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9z
bWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvcmVqZWN0c19pZl9ub3RfYWN0aXZlLmh0dHBzLmh0bWwKaW5kZXggMWM2NjZhZWE0MzU3NThj
ZDdmNzkxNzJhYWE2OTFmNDNmNzkwN2E0Ny4uODljMzQwN2UzZDBiYzVlYmFmYzNjN2MwZDAwMTUw
OTkxMjUxYTEzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcmVqZWN0c19pZl9ub3RfYWN0aXZlLmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvcmVqZWN0c19pZl9ub3RfYWN0aXZlLmh0dHBzLmh0bWwKQEAgLTUxLDcgKzUx
LDcgQEAgZnVuY3Rpb24gZ2V0TG9hZGVkUGF5bWVudFJlcXVlc3QoaWZyYW1lLCB1cmwpIHsKIAog
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgaWZyYW1lLmFsbG93UGF5bWVudFJlcXVlc3QgPSB0cnVl
OworICBpZnJhbWUuYWxsb3cgPSAicGF5bWVudCI7CiAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaWZyYW1lKTsKICAgLy8gTWFrZSBhIHJlcXVlc3QgaW4gdGhlIGlmcmFtZS4KICAgY29uc3Qg
cmVxdWVzdCA9IGF3YWl0IGdldExvYWRlZFBheW1lbnRSZXF1ZXN0KApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
c2hpcHBpbmctYWRkcmVzcy1jaGFuZ2VkLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hpcHBpbmct
YWRkcmVzcy1jaGFuZ2VkLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3OGI3ZjE3Y2VlYjk4NGJkZTgwMDkwOTNhNTY5NjkyNjFlNDRkZDdjLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3NoaXBwaW5nLWFkZHJl
c3MtY2hhbmdlZC1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPCEtLSBDb3B5cmlnaHQgwqkgMjAxNyBDaHJvbWl1bSBhdXRo
b3JzIGFuZCBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtLCAoTWFzc2FjaHVzZXR0cyBJbnN0aXR1
dGUgb2YgVGVjaG5vbG9neSwgRVJDSU0sIEtlaW8gVW5pdmVyc2l0eSwgQmVpaGFuZykuIC0tPgot
PG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHRpdGxlPlRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0IHNo
aXBwaW5nQWRkcmVzcyBhdHRyaWJ1dGU8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNzaGlwcGluZ2FkZHJlc3MtYXR0
cmlidXRlIj4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bh
eW1lbnQtcmVxdWVzdC8jb25zaGlwcGluZ2FkZHJlc3NjaGFuZ2UtYXR0cmlidXRlIj4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1z
ZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7Ci1j
b25zdCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0
cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0g
ICAgbWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50
cnlDb2RlOiAiVVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0s
Ci0gICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9Ci19KTsKLWNvbnN0IHZhbGlk
TWV0aG9kID0gT2JqZWN0LmZyZWV6ZSh7IHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiB9
KTsKLWNvbnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkTWV0aG9kLCBhcHBs
ZVBheV0pOwotY29uc3QgdmFsaWRBbW91bnQgPSBPYmplY3QuZnJlZXplKHsgY3VycmVuY3k6ICJV
U0QiLCB2YWx1ZTogIjUuMDAiIH0pOwotY29uc3QgdmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUo
ewotICBsYWJlbDogImxhYmVsIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLX0pOwotY29uc3Qg
dmFsaWRTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUoewotICBpZDogInZhbGlkIiwKLSAg
bGFiZWw6ICJTaGlwcGluZyBPcHRpb24iLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICBzZWxl
Y3RlZDogZmFsc2UsCi19KTsKLWNvbnN0IHZhbGlkRGV0YWlscyA9IE9iamVjdC5mcmVlemUoewot
ICB0b3RhbDogdmFsaWRUb3RhbCwKLSAgc2hpcHBpbmdPcHRpb25zOiBbdmFsaWRTaGlwcGluZ09w
dGlvbl0sCi19KTsKLWNvbnN0IHJlcXVlc3RTaGlwcGluZyA9IE9iamVjdC5mcmVlemUoewotICBy
ZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi19KTsKLQotZnVuY3Rpb24gdGVzdFNoaXBwaW5nQWRkcmVz
c0NoYW5nZSgpIHsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHJlcXVl
c3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCi0gICAgICB2YWxpZE1ldGhvZHMsCi0gICAgICB2YWxp
ZERldGFpbHMsCi0gICAgICByZXF1ZXN0U2hpcHBpbmcKLSAgICApOwotICAgIGFzc2VydF9lcXVh
bHMoCi0gICAgICByZXF1ZXN0LnNoaXBwaW5nQWRkcmVzcywKLSAgICAgIG51bGwsCi0gICAgICAi
cmVxdWVzdC5zaGlwcGluZ0FkZHJlc3MgbXVzdCBpbml0aWFsbHkgYmUgbnVsbCIKLSAgICApOwot
ICAgIGNvbnN0IGxpc3RlbmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAg
ICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoKSA9
PiB7Ci0gICAgICAgIHJlc29sdmUocmVxdWVzdC5zaGlwcGluZ0FkZHJlc3MpOwotICAgICAgfSk7
Ci0gICAgfSk7Ci0gICAgY29uc3QgaGFuZGxlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKLSAgICAgIHJlcXVlc3Qub25zaGlwcGluZ2FkZHJlc3NjaGFuZ2UgPSAoKSA9PiB7Ci0g
ICAgICAgIHJlc29sdmUocmVxdWVzdC5zaGlwcGluZ0FkZHJlc3MpOwotICAgICAgfTsKLSAgICB9
KTsKLSAgICByZXF1ZXN0LnNob3coKS5jYXRjaChlcnIgPT4gZXJyKTsKLSAgICBjb25zdCByZXN1
bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoW2xpc3RlbmVyUHJvbWlzZSwgaGFuZGxlclByb21pc2Vd
KTsKLSAgICByZXN1bHRzLmZvckVhY2gob2JqID0+IHsKLSAgICAgIGFzc2VydF90cnVlKG9iaiBp
bnN0YW5jZW9mIFBheW1lbnRBZGRyZXNzLAotICAgICAgICAgICAgICAgICAgIkV4cGVjdGVkIGlu
c3RhbmNlIG9mIFBheW1lbnRBZGRyZXNzIik7Ci0gICAgICBhc3NlcnRfZXF1YWxzKG9iai5vcmdh
bml6YXRpb24sICIiLCAib3JnYW5pemF0aW9uIHNob3VsZCBiZSByZWRhY3RlZCIpOwotICAgICAg
YXNzZXJ0X2VxdWFscyhvYmoucGhvbmUsICIiLCAicGhvbmUgc2hvdWxkIGJlIHJlZGFjdGVkIik7
Ci0gICAgICBhc3NlcnRfZXF1YWxzKG9iai5yZWNpcGllbnQsICIiLCAicmVjaXBpZW50IHNob3Vs
ZCBiZSByZWRhY3RlZCIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhvYmouYWRkcmVzc0xpbmUubGVu
Z3RoLCAwLCAiYWRkcmVzc0xpbmUgc2hvdWxkIGJlIHJlZGFjdGVkIik7Ci0gICAgfSk7Ci0gICAg
YXdhaXQgcmVxdWVzdC5hYm9ydCgpOwotICB9KTsKLSAgZG9uZSgpOwotfQotCi08L3NjcmlwdD4K
LQotPGgyPlBheW1lbnRSZXF1ZXN0IHNoaXBwaW5nQWRkcmVzcyBhdHRyaWJ1dGU8L2gyPgotPHA+
Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3
aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAg
dGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hlbiB0aGUgcGF5
bWVudCBzaGVldCBpcyBwcmVzZW50ZWQsIGVudGVyIG9yIHNlbGVjdCBhIHNoaXBwaW5nIGFkZHJl
c3MuCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RTaGlwcGlu
Z0FkZHJlc3NDaGFuZ2UoKSI+Ci0gICAgICBXaGVuIHRoZSBzaGlwcGluZyBhZGRyZXNzIGlzIG1h
bnVhbGx5IGNoYW5nZWQsIHJlcXVlc3Quc2hpcHBpbmdBZGRyZXNzIGlzIGEgUGF5bWVudEFkZHJl
c3MuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmlu
ZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9m
IHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9i
bG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8
L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctY29uc3VtZS1hY3RpdmF0aW9uLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctY29uc3VtZS1hY3RpdmF0aW9uLmh0dHBzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mNWM1ODg5MGQyYWJiZDY1ZTM1OGI2ZTMwNmU3Zjg2ZGZmYTMw
M2FjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1jb25zdW1lLWFjdGl2YXRpb24uaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIENhbGxpbmcgc2hhcmUgY29uc3Vt
ZXMgdXNlciBhY3RpdmF0aW9uIHByb21pc2VfcmVqZWN0c19kb206IGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVz
dCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgdGhhdCBpcyBub3QgYSBET01FeGNl
cHRpb24gTm90QWxsb3dlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4
cGVjdGVkIDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1jb25zdW1lLWFjdGl2YXRpb24uaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3Nob3ctY29uc3VtZS1hY3RpdmF0aW9uLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGI5MmM0YzE1Y2YxNTg0NTdhOWNmYWU2ZmFiMDIxNzFhNDljYTVmMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3Nob3ctY29uc3VtZS1hY3RpdmF0aW9uLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw1OCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+CisgICAgPHRpdGxlPnNob3coKSBjb25zdW1lcyB1c2VyIGFjdGl2YXRpb248L3Rp
dGxlPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bh
eW1lbnQtcmVxdWVzdC8jc2hvdy1tZXRob2QiIC8+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+Cisg
ICAgPHNjcmlwdD4KKyAgICAgIGNvbnN0IGRlZmF1bHRNZXRob2RzID0gWworICAgICAgICB7IHN1
cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiB9LAorICAgICAgICB7CisgICAgICAgICAgc3Vw
cG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCisgICAgICAgICAg
ZGF0YTogeworICAgICAgICAgICAgdmVyc2lvbjogMywKKyAgICAgICAgICAgIG1lcmNoYW50SWRl
bnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKKyAgICAgICAgICAgIGNvdW50cnlDb2Rl
OiAiVVMiLAorICAgICAgICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMi
XSwKKyAgICAgICAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKKyAgICAgICAgICB9
LAorICAgICAgICB9LAorICAgICAgXTsKKworICAgICAgY29uc3QgZGVmYXVsdERldGFpbHMgPSB7
CisgICAgICAgIHRvdGFsOiB7CisgICAgICAgICAgbGFiZWw6ICJUb3RhbCIsCisgICAgICAgICAg
YW1vdW50OiB7CisgICAgICAgICAgICBjdXJyZW5jeTogIlVTRCIsCisgICAgICAgICAgICB2YWx1
ZTogIjEuMDAiLAorICAgICAgICAgIH0sCisgICAgICAgIH0sCisgICAgICB9OworICAgICAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgICBjb25zdCBwciA9IG5ldyBQYXltZW50UmVx
dWVzdChkZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOworCisgICAgICAgIC8vIE5vdCBh
Y3RpdmF0ZWQgYnkgdXNlciBnZXN0dXJlLCBzbyBub3QgYWxsb3dlZCEKKyAgICAgICAgYXdhaXQg
cHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiTm90QWxsb3dlZEVycm9yIiwgcHIuc2hvdygpKTsKKwor
ICAgICAgICBhd2FpdCB0ZXN0X2RyaXZlci5ibGVzcygiQ2FsbHMgc2hvdygpIG1ldGhvZCIpOwor
CisgICAgICAgIC8vIEFjdGl2YXRlZCBieSB1c2VyIGdlc3R1cmUsIHNvIGFsbCBnb29kLgorICAg
ICAgICBjb25zdCBzaG93UHJvbWlzZSA9IHByLnNob3coKTsKKworICAgICAgICAvLyBUaGUgYWN0
aXZhdGlvbiBoYXMgYmVlbiBjb25zdW1lZCwgc28gY2FsbGluZyBzaG93KCkgYWdhaW4gd291bGQg
cmVxdWlyZQorICAgICAgICAvLyBhIG5ldyBnZXN0dXJlLgorICAgICAgICBhd2FpdCBwcm9taXNl
X3JlamVjdHNfZG9tKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBwci5zaG93KCkpOworCisgICAgICAg
IC8vIEFib3J0IHRoZSBwYXltZW50IHJlcXVlc3QKKyAgICAgICAgcHIuYWJvcnQoKQorICAgICAg
ICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJBYm9ydEVycm9yIiwgc2hvd1Byb21pc2Up
OworICAgICAgfSwgIkNhbGxpbmcgc2hhcmUgY29uc3VtZXMgdXNlciBhY3RpdmF0aW9uIik7Cisg
ICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0
aG9kLW9wdGlvbmFsLXByb21pc2UtcmVqZWN0cy1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ct
bWV0aG9kLW9wdGlvbmFsLXByb21pc2UtcmVqZWN0cy1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWEzMjI0NTJlYjYxMTQ2MzBiMmYwZDFkMmE5NzYyMDky
YWQ1ZWJiOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJlamVjdHMtbWFudWFsLmh0dHBzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwyOTQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdCBmb3IgUGF5bWVudFJlcXVlc3Quc2hvdyhvcHRp
b25hbCBkZXRhaWxzUHJvbWlzZSkgbWV0aG9kPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2Jyb3dzZXItcGF5bWVudC1hcGkvI3Nob3ctbWV0aG9k
Ij4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQ+Ci0gIC8vIFNlZSBmdW5jdGlvbiB0ZXN0QmFkVXBkYXRlKCkgZm9yIHRlc3QgZGV0YWls
cyEKLSAgc2V0dXAoewotICAgIGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSwKLSAgICBl
eHBsaWNpdF9kb25lOiB0cnVlLAotICAgIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUsCi0gIH0pOwot
Ci0gIC8vID09IFRFU1QgREFUQSA9PT0KLSAgLy8gUGF5bWVudE1ldGhvZAotICBjb25zdCB2YWxp
ZE1ldGhvZCA9IE9iamVjdC5mcmVlemUoewotICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJ2YWxpZC1i
dXQtd29udC1ldmVyLW1hdGNoIiwKLSAgfSk7Ci0KLSAgY29uc3QgdmFsaWRNZXRob2RCYXNpY0Nh
cmQgPSBPYmplY3QuZnJlZXplKHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIs
Ci0gIH0pOwotCi0gIGNvbnN0IHZhbGlkTWV0aG9kQXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsK
LSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAg
ICBkYXRhOiB7Ci0gICAgICB2ZXJzaW9uOiAzLAotICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAi
bWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgICBt
ZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgICAgc3VwcG9ydGVkTmV0
d29ya3M6IFsidmlzYSJdLAotICAgIH0KLSAgfSk7Ci0KLSAgLy8gTWV0aG9kcwotICBjb25zdCB2
YWxpZE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFsKLSAgICB2YWxpZE1ldGhvZEJhc2ljQ2FyZCwK
LSAgICB2YWxpZE1ldGhvZCwKLSAgICB2YWxpZE1ldGhvZEFwcGxlUGF5LAotICBdKTsKLQotICAv
LyBBbW91bnRzCi0gIGNvbnN0IHZhbGlkQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgY3Vy
cmVuY3k6ICJVU0QiLAotICAgIHZhbHVlOiAiMS4wMCIsCi0gIH0pOwotCi0gIGNvbnN0IGludmFs
aWRBbW91bnQgPSBPYmplY3QuZnJlZXplKHsKLSAgICBjdXJyZW5jeTogIsKhSU5WQUxJRCEiLAot
ICAgIHZhbHVlOiAiQTEuMCIsCi0gIH0pOwotCi0gIGNvbnN0IG5lZ2F0aXZlQW1vdW50ID0gT2Jq
ZWN0LmZyZWV6ZSh7Ci0gICAgY3VycmVuY3k6ICJVU0QiLAotICAgIHZhbHVlOiAiLTEuMDAiLAot
ICB9KTsKLQotICAvLyBUb3RhbHMKLSAgY29uc3QgdmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUo
ewotICAgIGxhYmVsOiAiVmFsaWQgVG90YWwiLAotICAgIGFtb3VudDogdmFsaWRBbW91bnQsCi0g
IH0pOwotCi0gIGNvbnN0IGludmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICAgIGxhYmVs
OiAiSW52YWxpZCBUb3RhbCIsCi0gICAgYW1vdW50OiBpbnZhbGlkQW1vdW50LAotICB9KTsKLQot
ICBjb25zdCBpbnZhbGlkTmVnYXRpdmVUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICAgIGxhYmVs
OiAiSW52YWxpZCBuZWdhdGl2ZSB0b3RhbCIsCi0gICAgYW1vdW50OiBuZWdhdGl2ZUFtb3VudCwK
LSAgfSk7Ci0KLSAgLy8gUGF5bWVudERldGFpbHNJbml0Ci0gIGNvbnN0IHZhbGlkRGV0YWlscyA9
IE9iamVjdC5mcmVlemUoewotICAgIHRvdGFsOiB2YWxpZFRvdGFsLAotICB9KTsKLQotICBjb25z
dCBpbnZhbGlkRGV0YWlsc05lZ2F0aXZlVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgICB0b3Rh
bDogaW52YWxpZE5lZ2F0aXZlVG90YWwsCi0gIH0pOwotCi0gIC8vIFBheW1lbnRPcHRpb25zCi0g
IGNvbnN0IHZhbGlkT3B0aW9ucyA9IE9iamVjdC5mcmVlemUoewotICAgIHJlcXVlc3RTaGlwcGlu
ZzogdHJ1ZSwKLSAgfSk7Ci0KLSAgLy8gUGF5bWVudEl0ZW0KLSAgY29uc3QgdmFsaWRQYXltZW50
SXRlbSA9IE9iamVjdC5mcmVlemUoewotICAgIGFtb3VudDogdmFsaWRBbW91bnQsCi0gICAgbGFi
ZWw6ICJWYWxpZCBwYXltZW50IGl0ZW0iLAotICB9KTsKLQotICBjb25zdCBpbnZhbGlkUGF5bWVu
dEl0ZW0gPSBPYmplY3QuZnJlZXplKHsKLSAgICBhbW91bnQ6IGludmFsaWRBbW91bnQsCi0gICAg
bGFiZWw6ICJJbnZhbGlkIHBheW1lbnQgaXRlbSIsCi0gIH0pOwotCi0gIC8vIFBheW1lbnRJdGVt
Ci0gIGNvbnN0IHZhbGlkUGF5bWVudEl0ZW1zID0gT2JqZWN0LmZyZWV6ZShbdmFsaWRQYXltZW50
SXRlbV0pOwotICBjb25zdCBpbnZhbGlkUGF5bWVudEl0ZW1zID0gT2JqZWN0LmZyZWV6ZShbaW52
YWxpZFBheW1lbnRJdGVtXSk7Ci0KLSAgLy8gUGF5bWVudFNoaXBwaW5nT3B0aW9uCi0gIGNvbnN0
IGludmFsaWRTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUoewotICAgIGlkOiAiYWJjIiwK
LSAgICBsYWJlbDogIkludmFsaWQgc2hpcHBpbmcgb3B0aW9uIiwKLSAgICBhbW91bnQ6IGludmFs
aWRBbW91bnQsCi0gICAgc2VsZWN0ZWQ6IHRydWUsCi0gIH0pOwotCi0gIC8vIFBheW1lbnRTaGlw
cGluZ09wdGlvbnMKLSAgY29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUo
ewotICAgIGlkOiAiYWJjIiwKLSAgICBsYWJlbDogInZhbGlkIHNoaXBwaW5nIG9wdGlvbiIsCi0g
ICAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgfSk7Ci0KLSAgY29uc3QgdmFsaWRTaGlwcGluZ09w
dGlvbnMgPSBPYmplY3QuZnJlZXplKFt2YWxpZFNoaXBwaW5nT3B0aW9uXSk7Ci0gIGNvbnN0IGlu
dmFsaWRTaGlwcGluZ09wdGlvbnMgPSBPYmplY3QuZnJlZXplKFtpbnZhbGlkU2hpcHBpbmdPcHRp
b25dKTsKLQotICAvLyBQYXltZW50RGV0YWlsc01vZGlmaWVyCi0gIGNvbnN0IHZhbGlkTW9kaWZp
ZXIgPSBPYmplY3QuZnJlZXplKHsKLSAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiB2YWxpZFBh
eW1lbnRJdGVtcywKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAidmFsaWQtYnV0LXdvbnQtZXZlci1t
YXRjaCIsCi0gICAgdG90YWw6IHZhbGlkVG90YWwsCi0gIH0pOwotCi0gIGNvbnN0IG1vZGlmaWVy
V2l0aEludmFsaWREaXNwbGF5SXRlbXMgPSBPYmplY3QuZnJlZXplKHsKLSAgICBhZGRpdGlvbmFs
RGlzcGxheUl0ZW1zOiBpbnZhbGlkUGF5bWVudEl0ZW1zLAotICAgIHN1cHBvcnRlZE1ldGhvZHM6
ICJiYXNpYy1jYXJkIiwKLSAgICB0b3RhbDogdmFsaWRUb3RhbCwKLSAgfSk7Ci0KLSAgY29uc3Qg
bW9kaWZpZXJXaXRoVmFsaWREaXNwbGF5SXRlbXMgPSBPYmplY3QuZnJlZXplKHsKLSAgICBhZGRp
dGlvbmFsRGlzcGxheUl0ZW1zOiB2YWxpZFBheW1lbnRJdGVtcywKLSAgICBzdXBwb3J0ZWRNZXRo
b2RzOiAiYmFzaWMtY2FyZCIsCi0gICAgdG90YWw6IHZhbGlkVG90YWwsCi0gIH0pOwotCi0gIGNv
bnN0IG1vZGlmaWVyV2l0aEludmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICAgIGFkZGl0
aW9uYWxEaXNwbGF5SXRlbXM6IHZhbGlkUGF5bWVudEl0ZW1zLAotICAgIHN1cHBvcnRlZE1ldGhv
ZHM6ICJiYXNpYy1jYXJkIiwKLSAgICB0b3RhbDogaW52YWxpZFRvdGFsLAotICB9KTsKLQotICBj
b25zdCByZWN1cnNpdmVEYXRhID0ge307Ci0gIHJlY3Vyc2l2ZURhdGEuZm9vID0gcmVjdXJzaXZl
RGF0YTsKLSAgT2JqZWN0LmZyZWV6ZShyZWN1cnNpdmVEYXRhKTsKLQotICBjb25zdCBtb2RpZmll
cldpdGhSZWN1cnNpdmVEYXRhID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgc3VwcG9ydGVkTWV0aG9k
czogdmFsaWRNZXRob2RCYXNpY0NhcmQsCi0gICAgdG90YWw6IHZhbGlkVG90YWwsCi0gICAgZGF0
YTogcmVjdXJzaXZlRGF0YSwKLSAgfSk7Ci0gIC8vID09IEVORCBPRiBURVNUIERBVEEgPT09Ci0g
IC8qCi0gICAgVGhlc2UgdGVzdCB3b3JrIGJ5IGNyZWF0aW5nIGEgInZhbGlkIiBwYXltZW50IHJl
cXVlc3QgYW5kIHRoZW4KLSAgICBwZXJmb3JtaW5nIGEgYmFkIHVwZGF0ZSB2aWEgYHNob3coZGV0
YWlsc1Byb21pc2UpYC4KLSAgICBUaGUgYGJhZERldGFpbHNgIGNhdXNlIGRldGFpbHNQcm9taXNl
IHRvIHJlamVjdCB3aXRoIGBleHBlY3RlZEVycm9yYC4KLSAgICAqLwotICBmdW5jdGlvbiB0ZXN0
QmFkVXBkYXRlKHRlc3RBc3NlcnRpb24sIGJhZERldGFpbHMsIGV4cGVjdGVkRXJyb3IpIHsKLSAg
ICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBh
eW1lbnRSZXF1ZXN0KAotICAgICAgICB2YWxpZE1ldGhvZHMsCi0gICAgICAgIHZhbGlkRGV0YWls
cywKLSAgICAgICAgdmFsaWRPcHRpb25zCi0gICAgICApOwotICAgICAgY29uc3QgZGV0YWlsc1By
b21pc2UgPSBQcm9taXNlLnJlc29sdmUoYmFkRGV0YWlscyk7Ci0gICAgICBjb25zdCBhY2NlcHRQ
cm9taXNlID0gcmVxdWVzdC5zaG93KGRldGFpbHNQcm9taXNlKTsKLSAgICAgIGxldCB0ZXN0X2Z1
bmM7Ci0gICAgICBpZiAodHlwZW9mIGV4cGVjdGVkRXJyb3IgPT0gImZ1bmN0aW9uIikgewotICAg
ICAgICB0ZXN0X2Z1bmMgPSBwcm9taXNlX3JlamVjdHNfanM7Ci0gICAgICB9IGVsc2UgewotICAg
ICAgICB0ZXN0X2Z1bmMgPSBwcm9taXNlX3JlamVjdHNfZG9tOwotICAgICAgfQotICAgICAgYXdh
aXQgdGVzdF9mdW5jKAotICAgICAgICB0LAotICAgICAgICBleHBlY3RlZEVycm9yLAotICAgICAg
ICBhY2NlcHRQcm9taXNlLAotICAgICAgICAiYmFkRGV0YWlscyBtdXN0IGNhdXNlIGFjY2VwdFBy
b21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJvciIKLSAgICAgICk7Ci0gICAgfSwgdGVz
dEFzc2VydGlvbik7Ci0gIH0KLTwvc2NyaXB0PgotPGgyPgotICBQYXltZW50UmVxdWVzdCA8Y29k
ZT4uc2hvdyhvcHRpb25hbCBkZXRhaWxzUHJvbWlzZSk8L2NvZGU+IHRlc3RzCi08L2gyPgotPGgz
PgotICBCYWQgZGV0YWlscyAtIGNhdXNlcyBgZGV0YWlsc1Byb21pc2VgIHRvIHJlamVjdC4KLTwv
aDM+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8g
Ym90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgTm8gcGF5bWVudCBzaGVldCBz
aG91bGQgYmUgc2hvd24sIGFzIGFsbCBwcm92aWRlZCB2YWx1ZXMgY2F1c2UgYW4gZXJyb3IuCi08
L3A+Ci08cD4KLSAgPHN0cm9uZz4KLSAgICBJZiB5b3Ugc2VlIGEgcGF5bWVudCBzaGVldCwgaXQg
bWVhbnMgdGhlIHRlc3QgaGFzIGZhaWxlZC4KLSAgPC9zdHJvbmc+Ci08L3A+Ci08b2w+Ci0gIDxs
aT48YnV0dG9uIG9uY2xpY2s9IgotICAgIGNvbnN0IHJlamVjdGVkUHJvbWlzZSA9IFByb21pc2Uu
cmVqZWN0KG5ldyBTeW50YXhFcnJvcigndGVzdCcpKQotICAgICAgLmNhdGNoKGVyciA9PiBlcnIp
OwotICAgIHRlc3RCYWRVcGRhdGUodGhpcy50ZXh0Q29udGVudCwgcmVqZWN0ZWRQcm9taXNlLCAn
QWJvcnRFcnJvcicpOwotICAiPgotICBSZWplY3Rpb24gb2YgZGV0YWlsc1Byb21pc2UgbXVzdCBh
Ym9ydCB0aGUgdXBkYXRlIHdpdGggYW4gJ0Fib3J0RXJyb3InIERPTUV4Y2VwdGlvbi4KLSAgPC9i
dXR0b24+PC9saT4KLQotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBpbnZhbGlk
RGV0YWlscyA9IHsgdG90YWw6IGB0aGlzIHdpbGwgY2F1c2UgYSBUeXBlRXJyb3IhYCB9OwotICAg
IHRlc3RCYWRVcGRhdGUodGhpcy50ZXh0Q29udGVudCwgaW52YWxpZERldGFpbHMsIFR5cGVFcnJv
cik7Ci0gICI+Ci0gIFRvdGFsIGluIHRoZSB1cGRhdGUgaXMgYSBzdHJpbmcsIHNvIGNvbnZlcnRp
bmcgdG8gSURMIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGEgVHlwZUVycm9yLgotICA8L2J1
dHRvbj48L2xpPgotCi0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIGNvbnN0IGludmFsaWRE
ZXRhaWxzID0geyB0b3RhbDogcmVjdXJzaXZlRGF0YSB9OwotICAgIHRlc3RCYWRVcGRhdGUodGhp
cy50ZXh0Q29udGVudCwgaW52YWxpZERldGFpbHMsIFR5cGVFcnJvcik7Ci0gICI+Ci0gIFRvdGFs
IGlzIHJlY3Vyc2l2ZSwgc28gY29udmVydGluZyB0byBJREwgbXVzdCBhYm9ydCB0aGUgdXBkYXRl
IHdpdGggYSBUeXBlRXJyb3IuCi0gIDwvYnV0dG9uPjwvbGk+Ci0KLSAgPGxpPjxidXR0b24gb25j
bGljaz0iCi0gICAgdGVzdEJhZFVwZGF0ZSh0aGlzLnRleHRDb250ZW50LCBpbnZhbGlkRGV0YWls
c05lZ2F0aXZlVG90YWwsIFR5cGVFcnJvcik7Ci0gICI+Ci0gIFVwZGF0aW5nIHdpdGggYSBuZWdh
dGl2ZSB0b3RhbCByZXN1bHRzIGluIGEgVHlwZUVycm9yLgotICA8L2J1dHRvbj48L2xpPgotCi0g
IDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIGNvbnN0IGJhZERldGFpbHMgPSBPYmplY3QuYXNz
aWduKHt9LCB2YWxpZERldGFpbHMsIHsKLSAgICAgIGRpc3BsYXlJdGVtczogaW52YWxpZFBheW1l
bnRJdGVtcwotICAgIH0pOwotICAgIHRlc3RCYWRVcGRhdGUodGhpcy50ZXh0Q29udGVudCwgYmFk
RGV0YWlscywgUmFuZ2VFcnJvcik7Ci0gICI+Ci0gIFVwZGF0aW5nIHdpdGggYSBkaXNwbGF5SXRl
bSB3aXRoIGFuIGludmFsaWQgY3VycmVuY3kgcmVzdWx0cyBpbiBSYW5nZUVycm9yLgotICA8L2J1
dHRvbj48L2xpPgotCi0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIGNvbnN0IGR1cGxpY2F0
ZVNoaXBwaW5nT3B0aW9ucyA9IFt2YWxpZFNoaXBwaW5nT3B0aW9uLCB2YWxpZFNoaXBwaW5nT3B0
aW9uXTsKLSAgICBjb25zdCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRh
aWxzLCB7Ci0gICAgICBzaGlwcGluZ09wdGlvbnM6IGR1cGxpY2F0ZVNoaXBwaW5nT3B0aW9ucywK
LSAgICB9KTsKLSAgICB0ZXN0QmFkVXBkYXRlKHRoaXMudGV4dENvbnRlbnQsIGJhZERldGFpbHMs
IFR5cGVFcnJvcik7Ci0gICI+Ci0gIFVwZGF0aW5nIHdpdGggZHVwbGljYXRlIHNoaXBwaW5nT3B0
aW9ucyAoc2FtZSBJRHMpIHJlc3VsdHMgaW4gYSBUeXBlRXJyb3IuCi0gIDwvYnV0dG9uPjwvbGk+
Ci0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIGNvbnN0IGJhZERldGFpbHMgPSBPYmplY3Qu
YXNzaWduKHt9LCB2YWxpZERldGFpbHMsIHsKLSAgICAgIHNoaXBwaW5nT3B0aW9uczogaW52YWxp
ZFNoaXBwaW5nT3B0aW9ucywKLSAgICB9KTsKLSAgICB0ZXN0QmFkVXBkYXRlKHRoaXMudGV4dENv
bnRlbnQsIGJhZERldGFpbHMsIFJhbmdlRXJyb3IpOwotICAiPgotICBVcGRhdGluZyB3aXRoIGEg
c2hpcHBpbmdPcHRpb24gd2l0aCBhbiBpbnZhbGlkIGN1cnJlbmN5IHZhbHVlIHJlc3VsdHMgaW4g
YSBSYW5nRXJyb3IuCi0gIDwvYnV0dG9uPjwvbGk+Ci0KLSAgPGxpPjxidXR0b24gb25jbGljaz0i
Ci0gICAgLy8gdmFsaWRNb2RpZmllciBpcyB0aGVyZSBhcyB0byBhdm9pZCBmYWxzZSBwb3NpdGl2
ZXMKLSAgICBjb25zdCBiYWRNb2RpZmllcnMgPSB7IG1vZGlmaWVyczogW21vZGlmaWVyV2l0aElu
dmFsaWRUb3RhbCwgdmFsaWRNb2RpZmllcl0gfTsKLSAgICBjb25zdCBiYWREZXRhaWxzID0gT2Jq
ZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCBiYWRNb2RpZmllcnMpOwotICAgIHRlc3RCYWRV
cGRhdGUodGhpcy50ZXh0Q29udGVudCwgYmFkRGV0YWlscywgUmFuZ2VFcnJvcik7Ci0gICI+Ci0g
IE11c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmllcidzIHRvdGFsIGl0ZW0gaGFz
IGFuIGludmFsaWQgY3VycmVuY3kuCi0gIDwvYnV0dG9uPjwvbGk+Ci0KLSAgPGxpPjxidXR0b24g
b25jbGljaz0iCi0gICAgLy8gdmFsaWRNb2RpZmllciBpcyB0aGVyZSBhcyB0byBhdm9pZCBmYWxz
ZSBwb3NpdGl2ZXMKLSAgICBjb25zdCBiYWRNb2RpZmllcnMgPSB7Ci0gICAgICBtb2RpZmllcnM6
IFttb2RpZmllcldpdGhJbnZhbGlkRGlzcGxheUl0ZW1zLCB2YWxpZE1vZGlmaWVyXSwKLSAgICB9
OwotICAgIGNvbnN0IGJhZERldGFpbHMgPSBPYmplY3QuYXNzaWduKHt9LCB2YWxpZERldGFpbHMs
IGJhZE1vZGlmaWVycyk7Ci0gICAgdGVzdEJhZFVwZGF0ZSh0aGlzLnRleHRDb250ZW50LCBiYWRE
ZXRhaWxzLCBSYW5nZUVycm9yKTsKLSAgIj4KLSAgTXVzdCB0aHJvdyBhIFJhbmdlRXJyb3Igd2hl
biBhIG1vZGlmaWVyIGRpc3BsYXkgaXRlbSBoYXMgYW4gaW52YWxpZCBjdXJyZW5jeS4KLSAgPC9i
dXR0b24+PC9saT4KLQotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAvLyB2YWxpZE1vZGlm
aWVyIGlzIHRoZXJlIGFzIHRvIGF2b2lkIGZhbHNlIHBvc2l0aXZlcwotICAgIGNvbnN0IGJhZE1v
ZGlmaWVycyA9IHsKLSAgICAgIG1vZGlmaWVyczogW21vZGlmaWVyV2l0aFJlY3Vyc2l2ZURhdGEs
IHZhbGlkTW9kaWZpZXJdLAotICAgIH07Ci0gICAgY29uc3QgYmFkRGV0YWlscyA9IE9iamVjdC5h
c3NpZ24oe30sIHZhbGlkRGV0YWlscywgYmFkTW9kaWZpZXJzKTsKLSAgICB0ZXN0QmFkVXBkYXRl
KHRoaXMudGV4dENvbnRlbnQsIGJhZERldGFpbHMsIFR5cGVFcnJvcik7Ci0gICI+Ci0gIE11c3Qg
dGhyb3cgYXMgTW9kaWZpZXIgaGFzIGEgcmVjdXJzaXZlIGRpY3Rpb25hcnkuCi0gIDwvYnV0dG9u
PjwvbGk+Ci0KLSAgPGxpPjxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+RG9uZSE8L2J1dHRvbj48
L2xpPgotPC9vbD4KLQotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFz
ZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1
ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJl
cXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXByb21pc2UtcmVqZWN0cy5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJlamVjdHMuaHR0cHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwZWQyZmU3Zjg3N2QxM2UzYjM4MDdkYzlmNzcwYTIy
OTEyZGM4ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9t
aXNlLXJlamVjdHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKKworRkFJTCBS
ZWplY3Rpb24gb2YgZGV0YWlsc1Byb21pc2UgbXVzdCBhYm9ydCB0aGUgdXBkYXRlIHdpdGggYW4g
J0Fib3J0RXJyb3InIERPTUV4Y2VwdGlvbi4gcHJvbWlzZV9yZWplY3RzX2RvbTogYmFkRGV0YWls
cyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJvciBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlF
cnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iIHRoYXQg
aXMgbm90IGEgRE9NRXhjZXB0aW9uIEFib3J0RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVh
bCB0byAxOCwgZXhwZWN0ZWQgMjAKK0ZBSUwgVG90YWwgaW4gdGhlIHVwZGF0ZSBpcyBhIHN0cmlu
Zywgc28gY29udmVydGluZyB0byBJREwgbXVzdCBhYm9ydCB0aGUgdXBkYXRlIHdpdGggYSBUeXBl
RXJyb3IuIHByb21pc2VfcmVqZWN0c19qczogYmFkRGV0YWlscyBtdXN0IGNhdXNlIGFjY2VwdFBy
b21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJvciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkg
eyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUg
dHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgiU2VjdXJpdHlFcnJvciIpIGV4cGVjdGVk
IGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBUeXBlRXJyb3IoKSB7CisgICAgW25hdGl2
ZSBjb2RlXQorfSIgKCJUeXBlRXJyb3IiKQorRkFJTCBUb3RhbCBpcyByZWN1cnNpdmUsIHNvIGNv
bnZlcnRpbmcgdG8gSURMIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGEgVHlwZUVycm9yLiBw
cm9taXNlX3JlamVjdHNfanM6IGJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9taXNlIHRv
IHJlamVjdCB3aXRoIGV4cGVjdGVkRXJyb3IgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cg
ZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJl
ZCBieSB1c2VyIGFjdGl2YXRpb24uIiAoIlNlY3VyaXR5RXJyb3IiKSBleHBlY3RlZCBpbnN0YW5j
ZSBvZiBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0K
K30iICgiVHlwZUVycm9yIikKK0ZBSUwgVXBkYXRpbmcgd2l0aCBhIG5lZ2F0aXZlIHRvdGFsIHJl
c3VsdHMgaW4gYSBUeXBlRXJyb3IuIHByb21pc2VfcmVqZWN0c19qczogYmFkRGV0YWlscyBtdXN0
IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJvciBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjog
c2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgiU2VjdXJpdHlF
cnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBUeXBlRXJyb3Io
KSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJUeXBlRXJyb3IiKQorRkFJTCBVcGRhdGluZyB3
aXRoIGEgZGlzcGxheUl0ZW0gd2l0aCBhbiBpbnZhbGlkIGN1cnJlbmN5IHJlc3VsdHMgaW4gUmFu
Z2VFcnJvci4gcHJvbWlzZV9yZWplY3RzX2pzOiBiYWREZXRhaWxzIG11c3QgY2F1c2UgYWNjZXB0
UHJvbWlzZSB0byByZWplY3Qgd2l0aCBleHBlY3RlZEVycm9yIGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBi
ZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgKCJTZWN1cml0eUVycm9yIikgZXhwZWN0
ZWQgaW5zdGFuY2Ugb2YgZnVuY3Rpb24gImZ1bmN0aW9uIFJhbmdlRXJyb3IoKSB7CisgICAgW25h
dGl2ZSBjb2RlXQorfSIgKCJSYW5nZUVycm9yIikKK0ZBSUwgVXBkYXRpbmcgd2l0aCBkdXBsaWNh
dGUgc2hpcHBpbmdPcHRpb25zIChzYW1lIElEcykgcmVzdWx0cyBpbiBhIFR5cGVFcnJvci4gcHJv
bWlzZV9yZWplY3RzX2pzOiBiYWREZXRhaWxzIG11c3QgY2F1c2UgYWNjZXB0UHJvbWlzZSB0byBy
ZWplY3Qgd2l0aCBleHBlY3RlZEVycm9yIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUg
fSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQg
YnkgdXNlciBhY3RpdmF0aW9uLiIgKCJTZWN1cml0eUVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ug
b2YgZnVuY3Rpb24gImZ1bmN0aW9uIFR5cGVFcnJvcigpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9
IiAoIlR5cGVFcnJvciIpCitGQUlMIFVwZGF0aW5nIHdpdGggYSBzaGlwcGluZ09wdGlvbiB3aXRo
IGFuIGludmFsaWQgY3VycmVuY3kgdmFsdWUgcmVzdWx0cyBpbiBhIFJhbmdFcnJvci4gcHJvbWlz
ZV9yZWplY3RzX2pzOiBiYWREZXRhaWxzIG11c3QgY2F1c2UgYWNjZXB0UHJvbWlzZSB0byByZWpl
Y3Qgd2l0aCBleHBlY3RlZEVycm9yIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIg
dGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkg
dXNlciBhY3RpdmF0aW9uLiIgKCJTZWN1cml0eUVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ugb2Yg
ZnVuY3Rpb24gImZ1bmN0aW9uIFJhbmdlRXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIg
KCJSYW5nZUVycm9yIikKK0ZBSUwgTXVzdCB0aHJvdyBhIFJhbmdlRXJyb3Igd2hlbiBhIG1vZGlm
aWVyJ3MgdG90YWwgaXRlbSBoYXMgYW4gaW52YWxpZCBjdXJyZW5jeS4gcHJvbWlzZV9yZWplY3Rz
X2pzOiBiYWREZXRhaWxzIG11c3QgY2F1c2UgYWNjZXB0UHJvbWlzZSB0byByZWplY3Qgd2l0aCBl
eHBlY3RlZEVycm9yIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2Jq
ZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3Rp
dmF0aW9uLiIgKCJTZWN1cml0eUVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ugb2YgZnVuY3Rpb24g
ImZ1bmN0aW9uIFJhbmdlRXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJSYW5nZUVy
cm9yIikKK0ZBSUwgTXVzdCB0aHJvdyBhIFJhbmdlRXJyb3Igd2hlbiBhIG1vZGlmaWVyIGRpc3Bs
YXkgaXRlbSBoYXMgYW4gaW52YWxpZCBjdXJyZW5jeS4gcHJvbWlzZV9yZWplY3RzX2pzOiBiYWRE
ZXRhaWxzIG11c3QgY2F1c2UgYWNjZXB0UHJvbWlzZSB0byByZWplY3Qgd2l0aCBleHBlY3RlZEVy
cm9yIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1
cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIg
KCJTZWN1cml0eUVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ugb2YgZnVuY3Rpb24gImZ1bmN0aW9u
IFJhbmdlRXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJSYW5nZUVycm9yIikKK0ZB
SUwgTXVzdCB0aHJvdyBhcyBNb2RpZmllciBoYXMgYSByZWN1cnNpdmUgZGljdGlvbmFyeS4gcHJv
bWlzZV9yZWplY3RzX2pzOiBiYWREZXRhaWxzIG11c3QgY2F1c2UgYWNjZXB0UHJvbWlzZSB0byBy
ZWplY3Qgd2l0aCBleHBlY3RlZEVycm9yIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUg
fSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQg
YnkgdXNlciBhY3RpdmF0aW9uLiIgKCJTZWN1cml0eUVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ug
b2YgZnVuY3Rpb24gImZ1bmN0aW9uIFR5cGVFcnJvcigpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9
IiAoIlR5cGVFcnJvciIpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXBy
b21pc2UtcmVqZWN0cy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlz
ZS1yZWplY3RzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I0Mjk2NTUwMzkyMmQ4ODIxMzQwOWRj
ODE0MzAwYzA1YjNhNjcyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlv
bmFsLXByb21pc2UtcmVqZWN0cy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMjUzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRlc3QgZm9yIFBheW1l
bnRSZXF1ZXN0LnNob3cob3B0aW9uYWwgZGV0YWlsc1Byb21pc2UpIG1ldGhvZDwvdGl0bGU+Cis8
bGluaworICByZWw9ImhlbHAiCisgIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9icm93c2Vy
LXBheW1lbnQtYXBpLyNzaG93LW1ldGhvZCIKKy8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJp
dmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVu
ZG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIC8vIFNlZSBmdW5jdGlvbiB0ZXN0QmFkVXBk
YXRlKCkgZm9yIHRlc3QgZGV0YWlscyEKKyAgc2V0dXAoeworICAgIGFsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbjogdHJ1ZSwKKyAgfSk7CisKKyAgLy8gPT0gVEVTVCBEQVRBID09PQorICAvLyBQYXlt
ZW50TWV0aG9kCisgIGNvbnN0IHZhbGlkTWV0aG9kID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgc3Vw
cG9ydGVkTWV0aG9kczogInZhbGlkLWJ1dC13b250LWV2ZXItbWF0Y2giLAorICB9KTsKKworICBj
b25zdCB2YWxpZE1ldGhvZEJhc2ljQ2FyZCA9IE9iamVjdC5mcmVlemUoeworICAgIHN1cHBvcnRl
ZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiwKKyAgfSk7CisKKyAgY29uc3QgdmFsaWRNZXRob2RBcHBs
ZVBheSA9IE9iamVjdC5mcmVlemUoeworICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2Fw
cGxlLmNvbS9hcHBsZS1wYXkiLAorICAgIGRhdGE6IHsKKyAgICAgIHZlcnNpb246IDMsCisgICAg
ICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCisgICAgICBjb3Vu
dHJ5Q29kZTogIlVTIiwKKyAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RT
Il0sCisgICAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCisgICAgfSwKKyAgfSk7CisK
KyAgLy8gTWV0aG9kcworICBjb25zdCB2YWxpZE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFsKKyAg
ICB2YWxpZE1ldGhvZEJhc2ljQ2FyZCwKKyAgICB2YWxpZE1ldGhvZCwKKyAgICB2YWxpZE1ldGhv
ZEFwcGxlUGF5LAorICBdKTsKKworICAvLyBBbW91bnRzCisgIGNvbnN0IHZhbGlkQW1vdW50ID0g
T2JqZWN0LmZyZWV6ZSh7CisgICAgY3VycmVuY3k6ICJVU0QiLAorICAgIHZhbHVlOiAiMS4wMCIs
CisgIH0pOworCisgIGNvbnN0IGludmFsaWRBbW91bnQgPSBPYmplY3QuZnJlZXplKHsKKyAgICBj
dXJyZW5jeTogIsKhSU5WQUxJRCEiLAorICAgIHZhbHVlOiAiQTEuMCIsCisgIH0pOworCisgIGNv
bnN0IG5lZ2F0aXZlQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgY3VycmVuY3k6ICJVU0Qi
LAorICAgIHZhbHVlOiAiLTEuMDAiLAorICB9KTsKKworICAvLyBUb3RhbHMKKyAgY29uc3QgdmFs
aWRUb3RhbCA9IE9iamVjdC5mcmVlemUoeworICAgIGxhYmVsOiAiVmFsaWQgVG90YWwiLAorICAg
IGFtb3VudDogdmFsaWRBbW91bnQsCisgIH0pOworCisgIGNvbnN0IGludmFsaWRUb3RhbCA9IE9i
amVjdC5mcmVlemUoeworICAgIGxhYmVsOiAiSW52YWxpZCBUb3RhbCIsCisgICAgYW1vdW50OiBp
bnZhbGlkQW1vdW50LAorICB9KTsKKworICBjb25zdCBpbnZhbGlkTmVnYXRpdmVUb3RhbCA9IE9i
amVjdC5mcmVlemUoeworICAgIGxhYmVsOiAiSW52YWxpZCBuZWdhdGl2ZSB0b3RhbCIsCisgICAg
YW1vdW50OiBuZWdhdGl2ZUFtb3VudCwKKyAgfSk7CisKKyAgLy8gUGF5bWVudERldGFpbHNJbml0
CisgIGNvbnN0IHZhbGlkRGV0YWlscyA9IE9iamVjdC5mcmVlemUoeworICAgIHRvdGFsOiB2YWxp
ZFRvdGFsLAorICB9KTsKKworICBjb25zdCBpbnZhbGlkRGV0YWlsc05lZ2F0aXZlVG90YWwgPSBP
YmplY3QuZnJlZXplKHsKKyAgICB0b3RhbDogaW52YWxpZE5lZ2F0aXZlVG90YWwsCisgIH0pOwor
CisgIC8vIFBheW1lbnRPcHRpb25zCisgIGNvbnN0IHZhbGlkT3B0aW9ucyA9IE9iamVjdC5mcmVl
emUoeworICAgIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwKKyAgfSk7CisKKyAgLy8gUGF5bWVudEl0
ZW0KKyAgY29uc3QgdmFsaWRQYXltZW50SXRlbSA9IE9iamVjdC5mcmVlemUoeworICAgIGFtb3Vu
dDogdmFsaWRBbW91bnQsCisgICAgbGFiZWw6ICJWYWxpZCBwYXltZW50IGl0ZW0iLAorICB9KTsK
KworICBjb25zdCBpbnZhbGlkUGF5bWVudEl0ZW0gPSBPYmplY3QuZnJlZXplKHsKKyAgICBhbW91
bnQ6IGludmFsaWRBbW91bnQsCisgICAgbGFiZWw6ICJJbnZhbGlkIHBheW1lbnQgaXRlbSIsCisg
IH0pOworCisgIC8vIFBheW1lbnRJdGVtCisgIGNvbnN0IHZhbGlkUGF5bWVudEl0ZW1zID0gT2Jq
ZWN0LmZyZWV6ZShbdmFsaWRQYXltZW50SXRlbV0pOworICBjb25zdCBpbnZhbGlkUGF5bWVudEl0
ZW1zID0gT2JqZWN0LmZyZWV6ZShbaW52YWxpZFBheW1lbnRJdGVtXSk7CisKKyAgLy8gUGF5bWVu
dFNoaXBwaW5nT3B0aW9uCisgIGNvbnN0IGludmFsaWRTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5m
cmVlemUoeworICAgIGlkOiAiYWJjIiwKKyAgICBsYWJlbDogIkludmFsaWQgc2hpcHBpbmcgb3B0
aW9uIiwKKyAgICBhbW91bnQ6IGludmFsaWRBbW91bnQsCisgICAgc2VsZWN0ZWQ6IHRydWUsCisg
IH0pOworCisgIC8vIFBheW1lbnRTaGlwcGluZ09wdGlvbnMKKyAgY29uc3QgdmFsaWRTaGlwcGlu
Z09wdGlvbiA9IE9iamVjdC5mcmVlemUoeworICAgIGlkOiAiYWJjIiwKKyAgICBsYWJlbDogInZh
bGlkIHNoaXBwaW5nIG9wdGlvbiIsCisgICAgYW1vdW50OiB2YWxpZEFtb3VudCwKKyAgfSk7CisK
KyAgY29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbnMgPSBPYmplY3QuZnJlZXplKFt2YWxpZFNoaXBw
aW5nT3B0aW9uXSk7CisgIGNvbnN0IGludmFsaWRTaGlwcGluZ09wdGlvbnMgPSBPYmplY3QuZnJl
ZXplKFtpbnZhbGlkU2hpcHBpbmdPcHRpb25dKTsKKworICAvLyBQYXltZW50RGV0YWlsc01vZGlm
aWVyCisgIGNvbnN0IHZhbGlkTW9kaWZpZXIgPSBPYmplY3QuZnJlZXplKHsKKyAgICBhZGRpdGlv
bmFsRGlzcGxheUl0ZW1zOiB2YWxpZFBheW1lbnRJdGVtcywKKyAgICBzdXBwb3J0ZWRNZXRob2Rz
OiAidmFsaWQtYnV0LXdvbnQtZXZlci1tYXRjaCIsCisgICAgdG90YWw6IHZhbGlkVG90YWwsCisg
IH0pOworCisgIGNvbnN0IG1vZGlmaWVyV2l0aEludmFsaWREaXNwbGF5SXRlbXMgPSBPYmplY3Qu
ZnJlZXplKHsKKyAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiBpbnZhbGlkUGF5bWVudEl0ZW1z
LAorICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiwKKyAgICB0b3RhbDogdmFsaWRU
b3RhbCwKKyAgfSk7CisKKyAgY29uc3QgbW9kaWZpZXJXaXRoVmFsaWREaXNwbGF5SXRlbXMgPSBP
YmplY3QuZnJlZXplKHsKKyAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiB2YWxpZFBheW1lbnRJ
dGVtcywKKyAgICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCisgICAgdG90YWw6IHZh
bGlkVG90YWwsCisgIH0pOworCisgIGNvbnN0IG1vZGlmaWVyV2l0aEludmFsaWRUb3RhbCA9IE9i
amVjdC5mcmVlemUoeworICAgIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXM6IHZhbGlkUGF5bWVudEl0
ZW1zLAorICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiwKKyAgICB0b3RhbDogaW52
YWxpZFRvdGFsLAorICB9KTsKKworICBjb25zdCByZWN1cnNpdmVEYXRhID0ge307CisgIHJlY3Vy
c2l2ZURhdGEuZm9vID0gcmVjdXJzaXZlRGF0YTsKKyAgT2JqZWN0LmZyZWV6ZShyZWN1cnNpdmVE
YXRhKTsKKworICBjb25zdCBtb2RpZmllcldpdGhSZWN1cnNpdmVEYXRhID0gT2JqZWN0LmZyZWV6
ZSh7CisgICAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAorICAgIHRvdGFsOiB2YWxp
ZFRvdGFsLAorICAgIGRhdGE6IHJlY3Vyc2l2ZURhdGEsCisgIH0pOworICAvLyA9PSBFTkQgT0Yg
VEVTVCBEQVRBID09PQorICAvKgorICAgIFRoZXNlIHRlc3Qgd29yayBieSBjcmVhdGluZyBhICJ2
YWxpZCIgcGF5bWVudCByZXF1ZXN0IGFuZCB0aGVuCisgICAgcGVyZm9ybWluZyBhIGJhZCB1cGRh
dGUgdmlhIGBzaG93KGRldGFpbHNQcm9taXNlKWAuCisgICAgVGhlIGBiYWREZXRhaWxzYCBjYXVz
ZSBkZXRhaWxzUHJvbWlzZSB0byByZWplY3Qgd2l0aCBgZXhwZWN0ZWRFcnJvcmAuCisgICAgKi8K
KyAgZnVuY3Rpb24gdGVzdEJhZFVwZGF0ZSh0ZXN0QXNzZXJ0aW9uLCBiYWREZXRhaWxzLCBleHBl
Y3RlZEVycm9yKSB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgICBjb25z
dCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAorICAgICAgICB2YWxpZE1ldGhvZHMsCisg
ICAgICAgIHZhbGlkRGV0YWlscywKKyAgICAgICAgdmFsaWRPcHRpb25zCisgICAgICApOworICAg
ICAgYXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoIlBheW1lbnQgcmVxdWVzdCIpOworICAgICAgY29u
c3QgZGV0YWlsc1Byb21pc2UgPSBQcm9taXNlLnJlc29sdmUoYmFkRGV0YWlscyk7CisgICAgICBj
b25zdCBhY2NlcHRQcm9taXNlID0gcmVxdWVzdC5zaG93KGRldGFpbHNQcm9taXNlKTsKKyAgICAg
IGNvbnN0IHRlc3RfZnVuYyA9CisgICAgICAgIHR5cGVvZiBleHBlY3RlZEVycm9yID09ICJmdW5j
dGlvbiIKKyAgICAgICAgICA/IHByb21pc2VfcmVqZWN0c19qcworICAgICAgICAgIDogcHJvbWlz
ZV9yZWplY3RzX2RvbTsKKyAgICAgIGF3YWl0IHRlc3RfZnVuYygKKyAgICAgICAgdCwKKyAgICAg
ICAgZXhwZWN0ZWRFcnJvciwKKyAgICAgICAgYWNjZXB0UHJvbWlzZSwKKyAgICAgICAgImJhZERl
dGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9taXNlIHRvIHJlamVjdCB3aXRoIGV4cGVjdGVkRXJy
b3IiCisgICAgICApOworICAgIH0sIHRlc3RBc3NlcnRpb24pOworICB9CisKKyAgY29uc3QgcmVq
ZWN0ZWRQcm9taXNlID0gUHJvbWlzZS5yZWplY3QobmV3IFN5bnRheEVycm9yKCJ0ZXN0IikpOwor
ICB0ZXN0QmFkVXBkYXRlKAorICAgICJSZWplY3Rpb24gb2YgZGV0YWlsc1Byb21pc2UgbXVzdCBh
Ym9ydCB0aGUgdXBkYXRlIHdpdGggYW4gJ0Fib3J0RXJyb3InIERPTUV4Y2VwdGlvbi4iLAorICAg
IHJlamVjdGVkUHJvbWlzZSwKKyAgICAiQWJvcnRFcnJvciIKKyAgKTsKKworICB0ZXN0QmFkVXBk
YXRlKAorICAgICJUb3RhbCBpbiB0aGUgdXBkYXRlIGlzIGEgc3RyaW5nLCBzbyBjb252ZXJ0aW5n
IHRvIElETCBtdXN0IGFib3J0IHRoZSB1cGRhdGUgd2l0aCBhIFR5cGVFcnJvci4iLAorICAgIHsg
dG90YWw6IGB0aGlzIHdpbGwgY2F1c2UgYSBUeXBlRXJyb3IhYCB9LAorICAgIFR5cGVFcnJvcgor
ICApOworCisgIHRlc3RCYWRVcGRhdGUoCisgICAgIlRvdGFsIGlzIHJlY3Vyc2l2ZSwgc28gY29u
dmVydGluZyB0byBJREwgbXVzdCBhYm9ydCB0aGUgdXBkYXRlIHdpdGggYSBUeXBlRXJyb3IuIiwK
KyAgICB7IHRvdGFsOiByZWN1cnNpdmVEYXRhIH0sCisgICAgVHlwZUVycm9yCisgICk7CisKKyAg
dGVzdEJhZFVwZGF0ZSgKKyAgICAiVXBkYXRpbmcgd2l0aCBhIG5lZ2F0aXZlIHRvdGFsIHJlc3Vs
dHMgaW4gYSBUeXBlRXJyb3IuIiwKKyAgICBpbnZhbGlkRGV0YWlsc05lZ2F0aXZlVG90YWwsCisg
ICAgVHlwZUVycm9yCisgICk7CisKKyAgdGVzdEJhZFVwZGF0ZSgKKyAgICAiVXBkYXRpbmcgd2l0
aCBhIGRpc3BsYXlJdGVtIHdpdGggYW4gaW52YWxpZCBjdXJyZW5jeSByZXN1bHRzIGluIFJhbmdl
RXJyb3IuIiwKKyAgICB7IC4uLnZhbGlkRGV0YWlscywgZGlzcGxheUl0ZW1zOiBpbnZhbGlkUGF5
bWVudEl0ZW1zIH0sCisgICAgUmFuZ2VFcnJvcgorICApOworCisgIHRlc3RCYWRVcGRhdGUoCisg
ICAgIlVwZGF0aW5nIHdpdGggZHVwbGljYXRlIHNoaXBwaW5nT3B0aW9ucyAoc2FtZSBJRHMpIHJl
c3VsdHMgaW4gYSBUeXBlRXJyb3IuIiwKKyAgICB7CisgICAgICAuLi52YWxpZERldGFpbHMsCisg
ICAgICBzaGlwcGluZ09wdGlvbnM6IFt2YWxpZFNoaXBwaW5nT3B0aW9uLCB2YWxpZFNoaXBwaW5n
T3B0aW9uXSwKKyAgICB9LAorICAgIFR5cGVFcnJvcgorICApOworCisgIHRlc3RCYWRVcGRhdGUo
CisgICAgIlVwZGF0aW5nIHdpdGggYSBzaGlwcGluZ09wdGlvbiB3aXRoIGFuIGludmFsaWQgY3Vy
cmVuY3kgdmFsdWUgcmVzdWx0cyBpbiBhIFJhbmdFcnJvci4iLAorICAgIHsgLi4udmFsaWREZXRh
aWxzLCBzaGlwcGluZ09wdGlvbnM6IGludmFsaWRTaGlwcGluZ09wdGlvbnMgfSwKKyAgICBSYW5n
ZUVycm9yCisgICk7CisKKyAgdGVzdEJhZFVwZGF0ZSgKKyAgICAiTXVzdCB0aHJvdyBhIFJhbmdl
RXJyb3Igd2hlbiBhIG1vZGlmaWVyJ3MgdG90YWwgaXRlbSBoYXMgYW4gaW52YWxpZCBjdXJyZW5j
eS4iLAorICAgIHsgLi4udmFsaWREZXRhaWxzLCBtb2RpZmllcnM6IFttb2RpZmllcldpdGhJbnZh
bGlkVG90YWwsIHZhbGlkTW9kaWZpZXJdIH0sCisgICAgUmFuZ2VFcnJvcgorICApOworCisgIHRl
c3RCYWRVcGRhdGUoCisgICAgIk11c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmll
ciBkaXNwbGF5IGl0ZW0gaGFzIGFuIGludmFsaWQgY3VycmVuY3kuIiwKKyAgICB7CisgICAgICAu
Li52YWxpZERldGFpbHMsCisgICAgICBtb2RpZmllcnM6IFttb2RpZmllcldpdGhJbnZhbGlkRGlz
cGxheUl0ZW1zLCB2YWxpZE1vZGlmaWVyXSwKKyAgICB9LAorICAgIFJhbmdlRXJyb3IKKyAgKTsK
KyAgdGVzdEJhZFVwZGF0ZSgKKyAgICAiTXVzdCB0aHJvdyBhcyBNb2RpZmllciBoYXMgYSByZWN1
cnNpdmUgZGljdGlvbmFyeS4iLAorICAgIHsgLi4udmFsaWREZXRhaWxzLCBtb2RpZmllcnM6IFtt
b2RpZmllcldpdGhSZWN1cnNpdmVEYXRhLCB2YWxpZE1vZGlmaWVyXSB9LAorICAgIFR5cGVFcnJv
cgorICApOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1w
cm9taXNlLXJlc29sdmVzLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9u
YWwtcHJvbWlzZS1yZXNvbHZlcy1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNTM2MGE5NzA0YWY0NTlmMzAxODBmOTM4ZDEyODI4ZjZkYmYxYjU3MC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhv
ZC1vcHRpb25hbC1wcm9taXNlLXJlc29sdmVzLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzM5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRm
LTgiPgotPHRpdGxlPlRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0LnNob3cob3B0aW9uYWwgcHJvbWlz
ZSkgbWV0aG9kPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL2Jyb3dzZXItcGF5bWVudC1hcGkvI3Nob3ctbWV0aG9kIj4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0idXNlIHN0cmlj
dCI7Ci1zZXR1cCh7Ci0gIGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSwKLSAgZXhwbGlj
aXRfZG9uZTogdHJ1ZSwKLSAgZXhwbGljaXRfdGltZW91dDogdHJ1ZSwKLX0pOwotCi0vLyBEQVRB
IFVTRUQgQlkgVEVTVFMKLS8vIFBheW1lbnRNZXRob2RzCi1jb25zdCB2YWxpZE1ldGhvZHMgPSBP
YmplY3QuZnJlZXplKFsKLSAgewotICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJ2YWxpZC1idXQtd29u
dC1ldmVyLW1hdGNoIiwKLSAgfSwKLSAgewotICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1j
YXJkIiwKLSAgfSwKLSAgewotICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNv
bS9hcHBsZS1wYXkiLAotICAgIGRhdGE6IHsKLSAgICAgIHZlcnNpb246IDMsCi0gICAgICBtZXJj
aGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCi0gICAgICBjb3VudHJ5Q29k
ZTogIlVTIiwKLSAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0g
ICAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gICAgfQotICB9LAotXSk7Ci0KLS8v
IEFtb3VudHMKLWNvbnN0IGZhaWxBbW91bnQgPSBPYmplY3QuZnJlZXplKHsKLSAgY3VycmVuY3k6
ICJVU0QiLAotICB2YWx1ZTogIjEuMDAiLAotfSk7Ci1jb25zdCBwYXNzQW1vdW50ID0gT2JqZWN0
LmZyZWV6ZSh7Ci0gIGN1cnJlbmN5OiAiQ0FEIiwKLSAgdmFsdWU6ICI1MC4wMCIsCi19KTsKLWNv
bnN0IG5ldXRyYWxBbW91bnQgPSBPYmplY3QuZnJlZXplKHsKLSAgY3VycmVuY3k6ICJBVUQiLAot
ICB2YWx1ZTogIjAuMDAiLAotfSk7Ci0KLS8vIExhYmVscwotY29uc3QgZmFpbExhYmVsID0gIvCf
kqUgVEVTVCBIQVMgRkFJTEVEIPCfkqUiOwotY29uc3QgcGFzc0xhYmVsID0gIuKchSBURVNUIEhB
UyBQQVNTRUQg4pyFIjsKLWNvbnN0IG5ldXRyYWxMYWJlbCA9ICJJZ25vcmUgdGhpcyBsYWJlbCI7
Ci0vLyBUb3RhbHMKLWNvbnN0IGZhaWxUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICBsYWJlbDog
ZmFpbExhYmVsLAotICBhbW91bnQ6IGZhaWxBbW91bnQsCi19KTsKLWNvbnN0IHBhc3NUb3RhbCA9
IE9iamVjdC5mcmVlemUoewotICBsYWJlbDogcGFzc0xhYmVsLAotICBhbW91bnQ6IHBhc3NBbW91
bnQsCi19KTsKLWNvbnN0IG5ldXRyYWxUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICBsYWJlbDog
bmV1dHJhbExhYmVsLAotICBhbW91bnQ6IHBhc3NBbW91bnQsCi19KTsKLQotLy8gUGF5bWVudEl0
ZW0KLWNvbnN0IGZhaWxQYXltZW50SXRlbSA9IE9iamVjdC5mcmVlemUoewotICBhbW91bnQ6IGZh
aWxBbW91bnQsCi0gIGxhYmVsOiBmYWlsTGFiZWwsCi19KTsKLWNvbnN0IGZhaWxQYXltZW50SXRl
bXMgPSBPYmplY3QuZnJlZXplKFtmYWlsUGF5bWVudEl0ZW1dKTsKLQotY29uc3QgcGFzc1BheW1l
bnRJdGVtID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGFtb3VudDogcGFzc0Ftb3VudCwKLSAgbGFiZWw6
IHBhc3NMYWJlbCwKLX0pOwotY29uc3QgcGFzc1BheW1lbnRJdGVtcyA9IE9iamVjdC5mcmVlemUo
W3Bhc3NQYXltZW50SXRlbV0pOwotCi0vLyBQYXltZW50U2hpcHBpbmdPcHRpb25zCi1jb25zdCBm
YWlsU2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJmYWlsIiwKLSAgbGFi
ZWw6IGZhaWxMYWJlbCwKLSAgYW1vdW50OiBmYWlsQW1vdW50LAotfSk7Ci1jb25zdCBmYWlsU2hp
cHBpbmdPcHRpb25zID0gT2JqZWN0LmZyZWV6ZShbZmFpbFNoaXBwaW5nT3B0aW9uXSk7Ci0KLWNv
bnN0IG5ldXRyYWxTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUoewotICBpZDogIm5ldXRy
YWwiLAotICBsYWJlbDogbmV1dHJhbExhYmVsLAotICBhbW91bnQ6IG5ldXRyYWxBbW91bnQsCi19
KTsKLQotY29uc3QgdXBkYXRlZFNoaXBwaW5nT3B0aW9uMSA9IE9iamVjdC5mcmVlemUoewotICBp
ZDogInVwZGF0ZWQtMSIsCi0gIGxhYmVsOiBgJHtwYXNzTGFiZWx9IC0gb3B0aW9uIDFgLAotICBh
bW91bnQ6IHBhc3NBbW91bnQsCi19KTsKLWNvbnN0IHVwZGF0ZWRTaGlwcGluZ09wdGlvbjIgPSBP
YmplY3QuZnJlZXplKHsKLSAgaWQ6ICJ1cGRhdGVkLTIiLAotICBsYWJlbDogYCR7cGFzc0xhYmVs
fSAtIG9wdGlvbiAyIChNVVNUIEJFIFNFTEVDVEVEISlgLAotICBhbW91bnQ6IHBhc3NBbW91bnQs
Ci0gIHNlbGVjdGVkOiB0cnVlLAotfSk7Ci1jb25zdCBwYXNzU2hpcHBpbmdPcHRpb25zID0gT2Jq
ZWN0LmZyZWV6ZShbCi0gIHVwZGF0ZWRTaGlwcGluZ09wdGlvbjEsCi0gIHVwZGF0ZWRTaGlwcGlu
Z09wdGlvbjIsCi1dKTsKLQotLy8gTW9kaWZpZXJzCi0vLyBjcmVhdGUgYSBtb2RpZmllciBvYmpl
Y3RzIGZvciBlYWNoIHZhbGlkTWV0aG9kcwotLy8gYW5kIHNpbmdsZSBhZGRpdGlvbmFsIGRpc3Bs
YXkgaXRlbQotY29uc3QgZmFpbE1vZGlmaWVycyA9IHZhbGlkTWV0aG9kcy5tYXAobW9kaWZpZXIg
PT4gewotICBjb25zdCBsYWJlbCA9IGAke2ZhaWxMYWJlbH0gLSAoJHttb2RpZmllci5zdXBwb3J0
ZWRNZXRob2RzfSlgOwotICByZXR1cm4gewotICAgIC4uLm1vZGlmaWVyLAotICAgIHRvdGFsOiB7
Ci0gICAgICAuLi5mYWlsVG90YWwsCi0gICAgICBsYWJlbCwKLSAgICB9LAotICAgIGFkZGl0aW9u
YWxEaXNwbGF5SXRlbXM6IFsKLSAgICAgIHsKLSAgICAgICAgLi4uZmFpbFBheW1lbnRJdGVtLAot
ICAgICAgICBsYWJlbCwKLSAgICAgIH0sCi0gICAgXSwKLSAgfTsKLX0pOwotLy8gVXBkYXRlcyB0
aGUgdG90YWwgZm9yIGVhY2gsIGFuZCBjaGFuZ2VzIHRoZSBhZGRpdGlvbmFsRGlzcGxheUl0ZW1z
Ci1jb25zdCBwYXNzTW9kaWZpZXJzID0gZmFpbE1vZGlmaWVycy5tYXAobW9kaWZpZXIgPT4gewot
ICBjb25zdCBsYWJlbCA9IGAke3Bhc3NMYWJlbH0gLSAoJHttb2RpZmllci5zdXBwb3J0ZWRNZXRo
b2RzfSlgOwotICByZXR1cm4gewotICAgIC4uLm1vZGlmaWVyLAotICAgIHRvdGFsOiB7Ci0gICAg
ICAuLi5wYXNzVG90YWwsCi0gICAgICBsYWJlbCwKLSAgICB9LAotICAgIGFkZGl0aW9uYWxEaXNw
bGF5SXRlbXM6IFsKLSAgICAgIHsKLSAgICAgICAgLi4ucGFzc1BheW1lbnRJdGVtLAotICAgICAg
ICBsYWJlbCwKLSAgICAgIH0sCi0gICAgXSwKLSAgfTsKLX0pOwotCi0vLyBQYXltZW50RGV0YWls
c0luaXQKLWNvbnN0IGZhaWxEZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGRpc3BsYXlJdGVt
czogZmFpbFBheW1lbnRJdGVtcywKLSAgaWQ6ICJ0aGlzIGNhbm5vdCBiZSBjaGFuZ2VkIiwKLSAg
bW9kaWZpZXJzOiBmYWlsTW9kaWZpZXJzLAotICBzaGlwcGluZ09wdGlvbnM6IGZhaWxTaGlwcGlu
Z09wdGlvbnMsCi0gIHRvdGFsOiBmYWlsVG90YWwsCi19KTsKLQotY29uc3QgbmV1dHJhbERldGFp
bHMgPSBPYmplY3QuZnJlZXplKHsKLSAgZGlzcGxheUl0ZW1zOiBbXSwKLSAgbW9kaWZpZXJzOiBb
XSwKLSAgc2hpcHBpbmdPcHRpb25zOiBbbmV1dHJhbFNoaXBwaW5nT3B0aW9uXSwKLSAgdG90YWw6
IG5ldXRyYWxUb3RhbCwKLX0pOwotCi1mdW5jdGlvbiBzbW9rZVRlc3QoKSB7Ci0gIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0
KHZhbGlkTWV0aG9kcywgZmFpbERldGFpbHMpOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19q
cygKLSAgICAgIHQsCi0gICAgICBUeXBlRXJyb3IsCi0gICAgICByZXF1ZXN0LnNob3coewotICAg
ICAgICB0b3RhbDogIlRoaXMgdGhyb3dzIGEgVHlwZUVycm9yIiwKLSAgICAgIH0pLAotICAgICAg
ImV4cGVjdGVkIFR5cGVFcnJvciIKLSAgICApOwotICB9LCAic21va2UgdGVzdCAtIGNoZWNrcyBp
ZiB0aGUgb3B0aW9uYWwgZGV0YWlscyBhcmUgc3VwcG9ydGVkIG9uIHNob3coKSBtZXRob2QiKTsK
LX0KLQotZnVuY3Rpb24gcnVuVXBkYXRlRGV0YWlsc0FsZ29yaXRobSgKLSAgYnV0dG9uRWxlbWVu
dCwKLSAgZGV0YWlscywKLSAgb3B0aW9ucyA9IHsKLSAgICByZXF1ZXN0U2hpcHBpbmc6IHRydWUs
Ci0gIH0sCi0gIGluaXRpYWxEZXRhaWxzID0gZmFpbERldGFpbHMsCi0pIHsKLSAgY29uc3QgdGVz
dEFzc2VydGlvbiA9IGJ1dHRvbkVsZW1lbnQudGV4dENvbnRlbnQudHJpbSgpOwotICBidXR0b25F
bGVtZW50LmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAg
IGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QodmFsaWRNZXRob2RzLCBpbml0aWFs
RGV0YWlscywgb3B0aW9ucyk7Ci0gICAgY29uc3QgZGV0YWlsc1Byb21pc2UgPSBQcm9taXNlLnJl
c29sdmUoZGV0YWlscyk7Ci0gICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJlcXVlc3Quc2hvdyhk
ZXRhaWxzUHJvbWlzZSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0LmlkLCAidGhpcyBjYW5u
b3QgYmUgY2hhbmdlZCIsICJpZCBtdXN0IG5ldmVyIGNoYW5nZS4iKTsKLSAgICBhd2FpdCBwcm9t
aXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJBYm9ydEVycm9yIiwKLSAgICAgIGFj
Y2VwdFByb21pc2UsCi0gICAgICAiZXhwZWN0ZWQgQWJvcnRFcnJvciIKLSAgICApOwotICB9LCB0
ZXN0QXNzZXJ0aW9uKTsKLX0KLTwvc2NyaXB0PgotPGgyPgotICBQYXltZW50UmVxdWVzdCA8Y29k
ZT4uc2hvdyhvcHRpb25hbCBkZXRhaWxzUHJvbWlzZSk8L2NvZGU+IHRlc3RzCi08L2gyPgotPHA+
Ci0gIFRoZXNlIHRlc3QgY2F1c2UgPGNvZGU+ZGV0YWlsc1Byb21pc2U8L2NvZGU+IHRvIHJlc29s
dmUgc3VjY2Vzc2Z1bGx5IHdpdGggc29tZSB1cGRhdGVkIHZhbHVlLiBBcyBzdWNoLCB0aGF0IHdp
bGwgY2F1c2UKLSAgc29tZXRoaW5nIGluIHRoZSBwYXltZW50IHNoZWV0IHRvIGNoYW5nZS4gRWFj
aCB0ZXN0IGRlc2NyaWJlcyB3aGF0IGlzIGV4cGVjdGVkIHRvIGNoYW5nZSAtIGlmIGFueXRoaW5n
LgotPC9wPgotPHA+Ci0gIDxzdHJvbmc+SW5zdHJ1Y3Rpb25zOjwvc3Ryb25nPiBDbGljayBvbiBl
YWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNo
aW5nIHRoZSBwYWdlLiBUaGUgcGF5bWVudAotICBzaGVldCB3aWxsIGJlIHNob3duLiBJZiByZXF1
aXJlZCwgY29uZmlybSB0aGF0IHRoZSBleHBlY3RlZCB2YWx1ZSBhcHBlYXJzIGluIHRoZSBwYXlt
ZW50IHNoZWV0LiBGaW5hbGx5LCBtYW51YWxseSBhYm9ydC9jYW5jZWwKLSAgdGhlIHBheW1lbnQg
cmVxdWVzdCBieSBjbG9zaW5nIHRoZSBwYXltZW50IHNoZWV0LgotPC9wPgotPG9sPgotICA8bGk+
PGJ1dHRvbiBvbmNsaWNrPSJzbW9rZVRlc3QoKSI+SWYgdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hv
d24sIHRoZSB0ZXN0IGhhcyBmYWlsZWQuPC9idXR0b24+PC9saT4KLSAgPGxpPjxidXR0b24gb25j
bGljaz0iCi0gICAgY29uc3QgZGV0YWlscyA9IHsKLSAgICAgIC4uLm5ldXRyYWxEZXRhaWxzLAot
ICAgICAgaWQ6ICdmYWlsJywKLSAgICB9OwotICAgIHJ1blVwZGF0ZURldGFpbHNBbGdvcml0aG0o
dGhpcywgZGV0YWlscyk7Ci0gICI+Ci0gICAgV2hlbiB0aGUgcGF5bWVudCBzaGVldCBpcyBzaG93
biwgdGhlIHByb3ZpZGVkIGBpZGAgbXVzdCBoYXZlIG5vIGVmZmVjdCBvbiB0aGUgcGF5bWVudCBy
ZXF1ZXN0LgotICA8L2J1dHRvbj48L2xpPgotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBj
b25zdCBkZXRhaWxzID0gewotICAgICAgLi4ubmV1dHJhbERldGFpbHMsCi0gICAgICB0b3RhbDog
cGFzc1RvdGFsCi0gICAgfTsKLSAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3JpdGhtKHRoaXMsIGRl
dGFpbHMpOwotICAiPgotICAgIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRoZSB0
b3RhbCBtdXN0IGJlIENBRCQ1MCB3aXRoIHRoZSBsYWJlbCAi4pyFIFRFU1QgSEFTIFBBU1NFRCDi
nIUiLgotICA8L2J1dHRvbj48L2xpPgotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBjb25z
dCBkZXRhaWxzID0gewotICAgICAgLi4ubmV1dHJhbERldGFpbHMsCi0gICAgICBkaXNwbGF5SXRl
bXM6IHBhc3NQYXltZW50SXRlbXMsCi0gICAgfTsKLSAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3Jp
dGhtKHRoaXMsIGRldGFpbHMpOwotICAgICI+Ci0gICAgV2hlbiB0aGUgcGF5bWVudCBzaGVldCBp
cyBzaG93biwgdGhlcmUgbXVzdCBiZSBhIG9uZSBkaXNwbGF5IGl0ZW0gd2l0aCBhIHZhbHVlIG9m
IENBRCQ1MCB3aXRoIHRoZSBsYWJlbCAi4pyFIFRFU1QgSEFTIFBBU1NFRCDinIUiLgotICAgIDwv
YnV0dG9uPgotICA8L2xpPgotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBhdUl0
ZW0gPSB7Ci0gICAgICAuLi5wYXNzUGF5bWVudEl0ZW0sCi0gICAgICBhbW91bnQ6IHsgdmFsdWU6
ICc0MCcsIGN1cnJlbmN5OiAnQVVEJ30sCi0gICAgICBwZW5kaW5nOiB0cnVlCi0gICAgfQotICAg
IGNvbnN0IGRldGFpbHMgPSB7Ci0gICAgICAuLi5uZXV0cmFsRGV0YWlscywKLSAgICAgIGRpc3Bs
YXlJdGVtczogcGFzc1BheW1lbnRJdGVtcy5jb25jYXQoYXVJdGVtKSwKLSAgICB9OwotICAgIHJ1
blVwZGF0ZURldGFpbHNBbGdvcml0aG0odGhpcywgZGV0YWlscyk7Ci0gICAgIj4KLSAgICBXaGVu
IHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCB0aGVyZSBtdXN0IGJlCi0gICAgdHdvIGRpc3Bs
YXkgaXRlbXM6IE9uZSB3aXRoIGEgdmFsdWUgb2YgQ0FEJDUwLCBhbm90aGVyIHdpdGgKLSAgICB2
YWx1ZSBBVUQkNDAgdGhhdCBpcyBwZW5kaW5nLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8
bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBkZXRhaWxzID0gewotICAgICAgLi4ubmV1
dHJhbERldGFpbHMsCi0gICAgICBzaGlwcGluZ09wdGlvbnM6IFt1cGRhdGVkU2hpcHBpbmdPcHRp
b24xXSwKLSAgICB9OwotICAgIHJ1blVwZGF0ZURldGFpbHNBbGdvcml0aG0odGhpcywgZGV0YWls
cyk7Ci0gICAgIj4KLSAgICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCB0aGVyZSBt
dXN0IGJlIGEgb25lIHNoaXBwaW5nIG9wdGlvbgotICAgIHdpdGggYSB2YWx1ZSBvZiBDQUQkNTAu
Ci0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIGNv
bnN0IGRldGFpbHMgPSB7Ci0gICAgICAuLi5uZXV0cmFsRGV0YWlscywKLSAgICAgIHNoaXBwaW5n
T3B0aW9uczogcGFzc1NoaXBwaW5nT3B0aW9ucywKLSAgICB9OwotICAgIHJ1blVwZGF0ZURldGFp
bHNBbGdvcml0aG0odGhpcywgZGV0YWlscyk7Ci0gICAgIj4KLSAgICBXaGVuIHRoZSBwYXltZW50
IHNoZWV0IGlzIHNob3duLCB0aGVyZSBtdXN0IGJlCi0gICAgdHdvIHNoaXBwaW5nIG9wdGlvbnM6
IE9uZSB3aXRoIGEgdmFsdWUgb2YgQ0FEJDUwLCBhbm90aGVyIHdpdGgKLSAgICB2YWx1ZSBBVUQk
NDAgdGhhdCBpcyBzZWxlY3RlZC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPjxidXR0
b24gb25jbGljaz0iCi0gICAgY29uc3QgZGV0YWlscyA9IHsKLSAgICAgIC4uLm5ldXRyYWxEZXRh
aWxzLAotICAgICAgbW9kaWZpZXJzOiBwYXNzTW9kaWZpZXJzLAotICAgIH07Ci0gICAgcnVuVXBk
YXRlRGV0YWlsc0FsZ29yaXRobSh0aGlzLCBkZXRhaWxzKTsKLSAgICAiPgotICAgIFdoZW4gdGhl
IHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRoZSB0b3RhbCBzaG91bGQgYmUgQ0FEJDUwLgotICA8
L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICBj
b25zdCBkZXRhaWxzID0gewotICAgICAgICAuLi5uZXV0cmFsRGV0YWlscywKLSAgICAgICAgc2hp
cHBpbmdPcHRpb25zOiBbXSwKLSAgICAgICAgZXJyb3I6IHBhc3NMYWJlbCwKLSAgICAgIH07Ci0g
ICAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3JpdGhtKHRoaXMsIGRldGFpbHMpOwotICAgICI+Ci0g
ICAgV2hlbiB0aGUgcGF5bWVudCBzaGVldCBpcyBzaG93biwgdGhlIHN0cmluZyAi4pyFIFRFU1Qg
SEFTIFBBU1NFRCDinIUiIHNob3VsZCBiZSBzaG93bgotICAgIHNvbWV3aGVyZSBpbiB0aGUgdXNl
ciBpbnRlcmZhY2UuIEFsdGVybmF0aXZlbHksIHRoZSBwYXltZW50IHNoZWV0IG11c3QgaW5kaWNh
dGUgdG8gdGhlCi0gICAgZW5kIHVzZXIgdGhhdCBpdCdzIG5vdCBwb3NzaWJsZSB0byBzaGlwIHRo
ZWlyIG9yZGVyLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBv
bmNsaWNrPSIKLSAgICAgIGNvbnN0IGRldGFpbHMgPSB7Ci0gICAgICAgIC4uLm5ldXRyYWxEZXRh
aWxzLAotICAgICAgICBlcnJvcjogZmFpbExhYmVsLAotICAgICAgfTsKLSAgICAgIHJ1blVwZGF0
ZURldGFpbHNBbGdvcml0aG0odGhpcywgZGV0YWlscywge3JlcXVlc3RTaGlwcGluZzogZmFsc2V9
KTsKLSAgICAiPgotICAgIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRoZXJlIHNo
b3VsZCBub3QgYmUgYW55IGVycm9ycyBzaG93bi4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAg
PGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICBjb25zdCBpbml0aWFsRGV0YWlscyA9
IHt0b3RhbDogcGFzc1RvdGFsLCBpZDogJ3RoaXMgY2Fubm90IGJlIGNoYW5nZWQnfTsKLSAgICAg
IGNvbnN0IHVwZGF0ZWREZXRhaWxzID0ge307Ci0gICAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3Jp
dGhtKAotICAgICAgICAgICAgdGhpcywgdXBkYXRlZERldGFpbHMsIHtyZXF1ZXN0U2hpcHBpbmc6
IGZhbHNlfSwgaW5pdGlhbERldGFpbHMpOwotICAgICI+Ci0gICAgUmVzb2x2aW5nIHRoZSBzaG93
IHByb21pc2Ugd2l0aCBlbXB0eSBkZXRhaWxzIHdpbGwgcHJlc2VydmUgdGhlIGRldGFpbHMgZnJv
bQotICAgIHRoZSBjb25zdHJ1Y3Rvci4gV2hlbiB0aGUgcGF5bWVudCBzaGVldCBpcyBzaG93biwg
dGhlIHN0cmluZwotICAgICLinIUgVEVTVCBIQVMgUEFTU0VEIOKchSIgc2hvdWxkIGJlIHNob3du
LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJk
b25lKCk7Ij5Eb25lITwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLQotPHNtYWxsPgotICBJZiB5
b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcg
b25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZp
ZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLXBvc3RtZXNz
YWdlLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2QtcG9zdG1lc3NhZ2UtbWFudWFs
Lmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyMGUwYTk5OTJlYmEx
ZjYwNGQ1ZDAyNDZmMWM3ZTdlN2I0MmJkMWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2QtcG9zdG1lc3NhZ2UtbWFudWFsLmh0dHBz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5UZXN0IGZvciBQYXltZW50UmVxdWVzdC5zaG93
KCkgbWV0aG9kPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL2Jyb3dzZXItcGF5bWVudC1hcGkvI3Nob3ctbWV0aG9kIj4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0idXNlIHN0cmlj
dCI7Ci1zZXR1cCh7Ci0gIGV4cGxpY2l0X2RvbmU6IHRydWUsCi0gIGV4cGxpY2l0X3RpbWVvdXQ6
IHRydWUsCi0gIGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSwKLX0pOwotCi1hc3luYyBm
dW5jdGlvbiBydW5Vc2VyQWN0aXZhdGlvbihidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0g
dHJ1ZTsKLSAgY29uc3QgeyBjb250ZW50V2luZG93OiBpZnJhbWVXaW5kb3cgfSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKTsKLSAgY29uc3QgZXhwZWN0ZWRJZCA9ICJwYXNzMTIz
IjsKLSAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7IC8vIG5leHQgdGljawotICBjb25zdCBwcm9t
aXNlRm9yUmVzcG9uc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICB3aW5kb3cub25t
ZXNzYWdlID0gKHsgZGF0YTogeyByZXF1ZXN0SWQgfSB9KSA9PiByZXNvbHZlKHJlcXVlc3RJZCk7
Ci0gIH0pOwotICBjb25zdCBvcHMgPSB7IGlkOiBleHBlY3RlZElkLCByZXF1ZXN0OiAic2hvdy1w
YXltZW50LXJlcXVlc3QiIH07Ci0gIGlmcmFtZVdpbmRvdy5wb3N0TWVzc2FnZShvcHMsIHdpbmRv
dy5sb2NhdGlvbi5vcmlnaW4pOwotICBwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGNv
bnN0IGFjdHVhbElkID0gYXdhaXQgcHJvbWlzZUZvclJlc3BvbnNlOwotICAgIGFzc2VydF9lcXVh
bHMoYWN0dWFsSWQsIGV4cGVjdGVkSWQsICJpZHMgbXVzdCBtYXRjaCIpOwotICB9LCBidXR0b24u
dGV4dENvbnRlbnQudHJpbSgpKTsKLSAgZG9uZSgpOwotfQotCi08L3NjcmlwdD4KLTxoMj5UZXN0
IFBheW1lbnRSZXF1ZXN0LnNob3coKSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uIHVzaW5n
IHBvc3RNZXNzYWdlKCk8L2gyPgotPHA+Ci0gIFRlc3RzIHRoYXQgdXNlciBhY3RpdmF0aW9uIHdv
cmtzIG92ZXIgcG9zdE1lc3NhZ2UoKS4KLTwvcD4KLTxwPgotICBDbGljayBvbiBib3R0b20gYmVs
b3cuIEhpdCAiUGF5Ii4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0i
cnVuVXNlckFjdGl2YXRpb24odGhpcykiPgotICAgICAgc2hvdygpIGlzIHRyaWdnZXJlZCBieSB1
c2VyIGFjdGl2YXRpb24gcGFzc2VkIHRocm91Z2ggcG9zdE1lc3NhZ2UoKSBhbmQgYSBwcm9taXNl
Ci0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPGlmcmFtZSB3aWR0aD0iMTAwJSIgaWQ9
ImlmcmFtZSIgc3JjPSJzaG93LW1ldGhvZC1wb3N0bWVzc2FnZS1pZnJhbWUuaHRtbCIgYWxsb3dw
YXltZW50cmVxdWVzdD48L2lmcmFtZT4KLTxwPgotICA8c21hbGw+Ci0gICAgSWYgeW91IGZpbmQg
YSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICAgIGFuZCB0YWcgb25lIG9m
IHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9i
bG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8
L2E+LgotICA8L3NtYWxsPgotPC9wPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdXBkYXRlV2l0aC1tZXRob2Qt
cG1pLWhhbmRsaW5nLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdXBkYXRlV2l0aC1tZXRob2QtcG1p
LWhhbmRsaW5nLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxYTUyOTc4Y2EzZTMxMjM5MmM3NTRjMDgyNjc0MDU3MjNlNWY4ODAwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3VwZGF0ZVdpdGgtbWV0aG9kLXBt
aS1oYW5kbGluZy1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE0MCArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5UZXN0
IGZvciB2YWxpZGl0eSBvZiBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVycyB3aGVuIGNhbGxpbmcg
dXBkYXRlV2l0aCgpIG1ldGhvZDwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9wYXltZW50LXJlcXVlc3QvI3VwZGF0ZXdpdGgoKS1tZXRob2QiPgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dD4KLSJ1c2Ugc3RyaWN0IjsKLXNldHVwKHsKLSAgZXhwbGljaXRfZG9uZTogdHJ1ZSwKLSAgZXhw
bGljaXRfdGltZW91dDogdHJ1ZSwKLSAgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlLAot
fSk7Ci1jb25zdCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2Rz
OiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246
IDMsCi0gICAgbWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAg
IGNvdW50cnlDb2RlOiAiVVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRz
M0RTIl0sCi0gICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9LAotfSk7Ci1jb25z
dCB2YWxpZE1ldGhvZCA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0
cHM6Ly86QHdwdC5meWk6NDQzL3BheW1lbnQtcmVxdWVzdCIsCi19KTsKLQotY29uc3QgdmFsaWRN
ZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbCi0gIHZhbGlkTWV0aG9kLAotICBhcHBsZVBheSwKLSAg
eyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSwKLV0pOwotCi1jb25zdCB2YWxpZEFt
b3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5jeTogIlVTRCIsCi0gIHZhbHVlOiAiMS4w
IiwKLX0pOwotCi1jb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGxhYmVsOiAi
RGVmYXVsdCBUb3RhbCIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQsCi19KTsKLQotY29uc3QgdmFs
aWRTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUoewotICBpZDogInN0YW5kYXJkIiwKLSAg
bGFiZWw6ICJTaGlwcGluZyBvcHRpb24iLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICBzZWxl
Y3RlZDogdHJ1ZSwKLX0pOwotCi1jb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsK
LSAgdG90YWw6IHZhbGlkVG90YWwsCi0gIHNoaXBwaW5nT3B0aW9uczogW3ZhbGlkU2hpcHBpbmdP
cHRpb25dLAotfSk7Ci0KLWNvbnN0IHZhbGlkTW9kaWZpZXIgPSBPYmplY3QuZnJlZXplKHsKLSAg
c3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotICB0b3RhbDogdmFsaWRUb3RhbCwKLX0p
OwotCi1mdW5jdGlvbiBtYW51YWxUZXN0KGJ1dHRvbiwgeyBpbnZhbGlkTWV0aG9kIH0pIHsKLSAg
YnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAg
IGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QodmFsaWRNZXRob2RzLCB2YWxpZERl
dGFpbHMsIHsKLSAgICAgIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwKLSAgICB9KTsKLSAgICBjb25z
dCBsaXN0ZW5lciA9IGV2ID0+IHsKLSAgICAgIGNvbnN0IGludmFsaWRNb2RpZmllciA9IE9iamVj
dC5hc3NpZ24oe30sIHZhbGlkTW9kaWZpZXIsIHsKLSAgICAgICAgc3VwcG9ydGVkTWV0aG9kczog
aW52YWxpZE1ldGhvZCwKLSAgICAgIH0pOwotICAgICAgY29uc3QgaW52YWxpZERldGFpbHMgPSBP
YmplY3QuYXNzaWduKHt9LCB2YWxpZERldGFpbHMsIHsKLSAgICAgICAgbW9kaWZpZXJzOiBbdmFs
aWRNb2RpZmllciwgaW52YWxpZE1vZGlmaWVyXSwKLSAgICAgIH0pOwotICAgICAgZXYudXBkYXRl
V2l0aChpbnZhbGlkRGV0YWlscyk7Ci0gICAgfTsKLSAgICAvLyBXZSB0ZXN0IGFnYWluc3QgYSB2
YWxpZCBhbmQgYW4gaW52YWxpZCBtb2RpZmllcgotICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5l
cigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgbGlzdGVuZXIsIHsgb25jZTogdHJ1ZSB9KTsKLSAg
ICBjb25zdCBzaG93UHJvbWlzZSA9IHJlcXVlc3Quc2hvdygpOwotICAgIGF3YWl0IHByb21pc2Vf
cmVqZWN0c19qcyh0LCBSYW5nZUVycm9yLCBzaG93UHJvbWlzZSk7Ci0gIH0sIGJ1dHRvbi50ZXh0
Q29udGVudC50cmltKCkpOwotfQotPC9zY3JpcHQ+Ci08aDI+dXBkYXRlV2l0aCgpIG1ldGhvZDog
dGVzdCB2YWxpZGl0eSBvZiBwYXltZW50IG1ldGhvZCBpZGVudGlmaWVycy48L2gyPgotPHA+Ci0g
IFdoZW4gc2hvd24gYSBwYXltZW50IHNoZWV0LCBzZWxlY3QgYSBkaWZmZXJlbnQgYWRkcmVzcy4K
LTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0ibWFudWFsVGVzdCh0aGlz
LCB7aW52YWxpZE1ldGhvZDogJ2h0dHBzOi8vOnBhc3N3b3JkQGV4YW1wbGUuY29tJ30pOyI+Ci0g
ICAgICBNdXN0IHRocm93IGlmIHRoZSBVUkwgaGFzIGEgcGFzc3dvcmQuCi0gICAgPC9idXR0b24+
Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVhbFRlc3QodGhpcywg
e2ludmFsaWRNZXRob2Q6ICdodHRwczovL3VzZXJuYW1lQGV4YW1wbGUuY29tJ30pOyI+Ci0gICAg
ICBNdXN0IHRocm93IGlmIHRoZSBVUkwgaGFzIGEgdXNlcm5hbWUuCi0gICAgPC9idXR0b24+Ci0g
IDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVhbFRlc3QodGhpcywge2lu
dmFsaWRNZXRob2Q6ICdodHRwczovL3VzZXJuYW1lOnBhc3N3b3JkQGV4YW1wbGUuY29tL3BheSd9
KTsiPgotICAgICAgTXVzdCB0aHJvdyBpZiB0aGUgVVJMIGhhcyBhIHVzZXJuYW1lIGFuZCBhIHBh
c3N3b3JkLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNs
aWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9kOiAnaHR0cDovL3VzZXJuYW1lOnBh
c3N3b3JkQGV4YW1wbGUuY29tL3BheSd9KTsiPgotICAgICAgTXVzdCB0aHJvdyBpZiBpdCdzIGh0
dHAsIGFuZCBoYXMgYSB1c2VybmFtZSBhbmQgcGFzc3dvcmQuCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVhbFRlc3QodGhpcywge2ludmFs
aWRNZXRob2Q6ICdodHRwOi8vZm9vLmNvbToxMDAwMDAwMDAvcGF5J30pOyI+Ci0gICAgICBNdXN0
IHRocm93IGlmIHRoZSBVUkwgaXMgaW52YWxpZCAocG9ydCByYW5nZSkuCi0gICAgPC9idXR0b24+
Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVhbFRlc3QodGhpcywg
e2ludmFsaWRNZXRob2Q6ICdiYXNpYy3wn5KzJ30pOyI+Ci0gICAgICBNdXN0IHRocm93IGlmIHRo
ZSBQTUkgY29udGFpbnMgY2hhcmFjdGVycyB0aGF0IGFyZSBvdXQgb2YgcmFuZ2UuCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVhbFRlc3Qo
dGhpcywge2ludmFsaWRNZXRob2Q6ICdub3QtaHR0cHM6Ly93cHQuZnlpL3BheW1lbnQtcmVxdWVz
dCd9KTsiPgotICAgICAgTXVzdCB0aHJvdyBpZiBub3QgaHR0cHMuCi0gICAgPC9idXR0b24+Ci0g
IDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVhbFRlc3QodGhpcywge2lu
dmFsaWRNZXRob2Q6ICfCoWJhc2ljLSotY2FyZCEnfSk7Ij4KLSAgICAgIE11c3QgdGhyb3cgaWYg
dGhlIHN0YW5kYXJkaXplZCBQTUkgY29udGFpbnMgY2hhcmFjdGVycyBvdXRzaWRlIHRoZSBhc2Np
aSByYW5nZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25j
bGljaz0ibWFudWFsVGVzdCh0aGlzLCB7aW52YWxpZE1ldGhvZDogJ0Jhc2ljLUNhcmQnfSk7Ij4K
LSAgICAgIE11c3QgdGhyb3cgaWYgc3RhbmRhcmRpemVkIFBNSSBoYXMgdXBwZXJjYXNlIGNoYXJh
Y3RlcnMuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xp
Y2s9ImRvbmUoKTsiPkRvbmUhPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJ
ZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5j
b20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0
YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCBy
ZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3VzZXItYWJvcnQtYWxnb3Jp
dGhtLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdXNlci1hYm9ydC1hbGdvcml0aG0tbWFudWFsLmh0
dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3OGJmM2Q2MWFlNmU3NWIz
Y2NmMGZlZDhhOTg3ZTZiN2NkMzZmZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvdXNlci1hYm9ydC1hbGdvcml0aG0tbWFudWFsLmh0dHBzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vcGF5bWVudC1yZXF1ZXN0LyN1c2VyLWFib3J0cy10aGUtcGF5bWVudC1yZXF1ZXN0LWFsZ29y
aXRobSI+Ci08dGl0bGU+Ci0gIFVzZXIgYWJvcnRzIHRoZSBwYXltZW50IHJlcXVlc3QgYWxnb3Jp
dGhtLgotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0
X3RpbWVvdXQ6IHRydWUgfSk7Ci0KLWNvbnN0IHZhbGlkQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7
Ci0gIGN1cnJlbmN5OiAiVVNEIiwKLSAgdmFsdWU6ICIxLjAiLAotfSk7Ci1jb25zdCB2YWxpZFRv
dGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGxhYmVsOiAiVG90YWwgZHVlIiwKLSAgYW1vdW50OiB2
YWxpZEFtb3VudCwKLX0pOwotY29uc3QgYXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsKLSAgc3Vw
cG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gIGRhdGE6IHsK
LSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5l
eGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICBtZXJjaGFudENhcGFiaWxpdGll
czogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAg
fQotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZCA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRN
ZXRob2RzOiAiYmFzaWMtY2FyZCIsCi19KTsKLWNvbnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5m
cmVlemUoW3ZhbGlkTWV0aG9kLCBhcHBsZVBheV0pOwotY29uc3QgdmFsaWREZXRhaWxzID0gT2Jq
ZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB2YWxpZFRvdGFsLAotfSk7Ci0KLXRlc3QoKCkgPT4gewot
ICB0cnkgewotICAgIG5ldyBQYXltZW50UmVxdWVzdCh2YWxpZE1ldGhvZHMsIHZhbGlkRGV0YWls
cyk7Ci0gIH0gY2F0Y2ggKGVycikgewotICAgIGRvbmUoKTsKLSAgICB0aHJvdyBlcnI7Ci0gIH0K
LX0sICJDYW4gY29uc3RydWN0IGEgcGF5bWVudCByZXF1ZXN0IChzbW9rZSB0ZXN0KS4iKTsKLQot
YXN5bmMgZnVuY3Rpb24gcnVuQWJvcnRUZXN0KGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQg
PSB0cnVlOwotICBjb25zdCB7IHRleHRDb250ZW50OiB0ZXN0TmFtZSB9ID0gYnV0dG9uOwotICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50
UmVxdWVzdCh2YWxpZE1ldGhvZHMsIHZhbGlkRGV0YWlscyk7Ci0gICAgLy8gQXdhaXQgdGhlIHVz
ZXIgdG8gYWJvcnQKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJBYm9ydEVycm9y
IiwgcmVxdWVzdC5zaG93KCkpOwotICAgIC8vIFtbc3RhdGVdXSBpcyBub3cgY2xvc2VkCi0gICAg
YXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiSW52YWxpZFN0YXRlRXJyb3IiLCByZXF1ZXN0
LnNob3coKSk7Ci0gIH0sIHRlc3ROYW1lLnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj4KLSAg
IFVzZXIgYWJvcnRzIHRoZSBwYXltZW50IHJlcXVlc3QgYWxnb3JpdGhtLgotPC9oMj4KLTxwPgot
ICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0
aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRo
ZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gcHJlc2VudGVk
IHdpdGggdGhlIHBheW1lbnQgc2hlZXQsIGFib3J0IHRoZSBwYXltZW50IHJlcXVlc3QKLSAgKGUu
Zy4sIGJ5IGhpdHRpbmcgdGhlIGVzYyBrZXkgb3IgcHJlc3NpbmcgYSBVQSBwcm92aWRlZCBidXR0
b24pLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5BYm9ydFRl
c3QodGhpcyk7IGRvbmUoKTsiPgotICAgICAgSWYgdGhlIHVzZXIgYWJvcnRzLCB0aGUgVUEgbXVz
dCBydW4gdGhlIHVzZXIgYWJvcnRzIHRoZSBwYXltZW50IHJlcXVlc3QgYWxnb3JpdGhtLgotICAg
IDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdn
eSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEg
aHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0
ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwv
c21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC91c2VyLWFjY2VwdHMtcGF5bWVudC1yZXF1ZXN0LWFsZ28t
bWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC91c2VyLWFjY2VwdHMtcGF5bWVudC1yZXF1ZXN0LWFsZ28t
bWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyMjUxMzc1
ODUzYTdkY2NiY2VjYzhkMzFkYzUwZGQ5NGU3NTdjYmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdXNlci1hY2NlcHRzLXBheW1lbnQtcmVxdWVzdC1h
bGdvLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjMwICswLDAgQEAKLTwh
ZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI3VzZXItYWNjZXB0cy10
aGUtcGF5bWVudC1yZXF1ZXN0LWFsZ29yaXRobSI+Ci08dGl0bGU+Ci0gIFVzZXIgYWNjZXB0cyB0
aGUgcGF5bWVudCByZXF1ZXN0IGFsZ29yaXRobQotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IGV4cGxp
Y2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7Ci1jb25zdCBhcHBsZVBh
eSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5j
b20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0gICAgbWVyY2hhbnRJ
ZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50cnlDb2RlOiAiVVMi
LAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgc3VwcG9y
dGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9Ci19KTsKLWNvbnN0IGJhc2ljQ2FyZE1ldGhvZCA9
IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi19KTsK
LWNvbnN0IHZhbGlkTWV0aG9kID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1ldGhvZHM6
ICJ0aGlzLWlzLWp1c3QtZm9yLXRlc3RpbmdzLXdpbGwtbmV2ZXItbWF0Y2giLAotfSk7Ci1jb25z
dCBtZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbYmFzaWNDYXJkTWV0aG9kLCB2YWxpZE1ldGhvZCwg
YXBwbGVQYXldKTsKLWNvbnN0IHZhbGlkQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGN1cnJl
bmN5OiAiVVNEIiwKLSAgdmFsdWU6ICI1LjAwIiwKLX0pOwotY29uc3Qgc2hpcHBpbmdPcHRpb25z
ID0gWwotICBPYmplY3QuZnJlZXplKHsKLSAgICBpZDogIm9wdGlvbjEiLAotICAgIGxhYmVsOiAi
T3B0aW9uIDEiLAotICAgIGFtb3VudDogdmFsaWRBbW91bnQsCi0gICAgc2VsZWN0ZWQ6IGZhbHNl
LAotICB9KSwKLSAgT2JqZWN0LmZyZWV6ZSh7Ci0gICAgaWQ6ICJvcHRpb24gMiIsCi0gICAgbGFi
ZWw6ICJPcHRpb24gMiIsCi0gICAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgICBzZWxlY3RlZDog
dHJ1ZSwKLSAgfSksCi1dOwotCi1jb25zdCBkZXRhaWxzTm9TaGlwcGluZ09wdGlvbnMgPSBPYmpl
Y3QuZnJlZXplKHsKLSAgdG90YWw6IHsKLSAgICBsYWJlbDogIlRvdGFsIGR1ZSIsCi0gICAgYW1v
dW50OiB2YWxpZEFtb3VudCwKLSAgfSwKLX0pOwotCi1jb25zdCBkZXRhaWxzV2l0aFNoaXBwaW5n
T3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucywgewot
ICBzaGlwcGluZ09wdGlvbnMsCi19KTsKLQotY29uc3Qgb3B0aW9uc1JlcXVlc3ROb3RoaW5nID0g
T2JqZWN0LmZyZWV6ZSh7Ci0gIHJlcXVlc3RTaGlwcGluZzogZmFsc2UsCi0gIHJlcXVlc3RQYXll
ckVtYWlsOiBmYWxzZSwKLSAgcmVxdWVzdFBheWVyTmFtZTogZmFsc2UsCi0gIHJlcXVlc3RQYXll
clBob25lOiBmYWxzZSwKLX0pOwotCi1jb25zdCBvcHRpb25zUmVxdWVzdEV2ZXJ5dGhpbmcgPSBP
YmplY3QuZnJlZXplKHsKLSAgcmVxdWVzdFNoaXBwaW5nOiB0cnVlLAotICByZXF1ZXN0UGF5ZXJF
bWFpbDogdHJ1ZSwKLSAgcmVxdWVzdFBheWVyTmFtZTogdHJ1ZSwKLSAgcmVxdWVzdFBheWVyUGhv
bmU6IHRydWUsCi19KTsKLQotdGVzdCgoKSA9PiB7Ci0gIC8vIHNtb2tlIHRlc3QKLSAgdHJ5IHsK
LSAgICBuZXcgUGF5bWVudFJlcXVlc3QobWV0aG9kcywgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25z
KTsKLSAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgZG9uZSgpOwotICAgIHRocm93IGVycjsKLSAgfQot
fSwgIk11c3QgYmUgYWJsZSB0byBjb25zdHJ1Y3QgYSBwYXltZW50IHJlcXVlc3QgKHNtb2tlIHRl
c3QpIik7Ci0KLWZ1bmN0aW9uIHRlc3RBY2NlcHRSZXF1ZXN0QWxnb3JpdGhtKAotICBidXR0b24s
Ci0gIGRldGFpbHMsCi0gIG9wdGlvbnMgPSB7fSwKLSAgZXhwZWN0ZWRSZXNwb25zZSA9IHt9Ci0p
IHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
ewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QobWV0aG9kcywgZGV0YWls
cywgb3B0aW9ucyk7Ci0gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsK
LSAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgIHJlc3BvbnNlIGluc3RhbmNlb2YgUGF5bWVudFJlc3Bv
bnNlLAotICAgICAgIkV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIFBheW1lbnRSZXNwb25zZS4iCi0g
ICAgKTsKLSAgICAvLyBSZXNwb25zZSBbW2NhbGxlZENvbXBsZXRlXV0gaXMgZmFsc2UsIHNvIHRo
aXMgc2hvdWxkbid0IHRocm93Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3Mi
KTsKLSAgICAvLyBGb3IgZ29vZCBtZWFzdXJlLCB0ZXN0IHRoYXQgc3Vic2VxdWVudCBjb21wbGV0
ZSgpCi0gICAgZm9yIChjb25zdCBzdGF0ZSBvZiBbdW5kZWZpbmVkLCAic3VjY2VzcyIsICJmYWls
IiwgInVua25vd24iXSkgewotICAgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAg
ICAgdCwKLSAgICAgICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgICAgcmVzcG9uc2UuY29t
cGxldGUoc3RhdGUpLAotICAgICAgICAiUmVzcG9uc2UgW1tjYWxsZWRDb21wbGV0ZV1dIGlzIHRy
dWUsIHNvIEludmFsaWRTdGF0ZUVycm9yIgotICAgICAgKTsKLSAgICB9Ci0gICAgYXNzZXJ0X2Vx
dWFscygKLSAgICAgIHJlcXVlc3QuaWQsCi0gICAgICByZXNwb25zZS5yZXF1ZXN0SWQsCi0gICAg
ICAiUmVxdWVzdCBhbmQgcmVzcG9uc2UgaWRzIG11c3QgbWF0Y2guIgotICAgICk7Ci0gICAgYXNz
ZXJ0X3RydWUocmVzcG9uc2UuZGV0YWlscyBpbnN0YW5jZW9mIE9iamVjdCwgIkV4cGVjdGVkIGFu
IG9iamVjdCIpOwotICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICByZXNwb25zZS5zaGlwcGluZ0Fk
ZHJlc3MsCi0gICAgICByZXF1ZXN0LnNoaXBwaW5nQWRkcmVzcywKLSAgICAgICJSZXF1ZXN0IGFu
ZCByZXNwb25zZSBtdXN0IHJlZmVyZW5jZSBzYW1lIHNoaXBwaW5nQWRkcmVzcyAob3IgYm90aCBu
dWxsKS4iCi0gICAgKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgcmVzcG9uc2Uuc2hpcHBp
bmdPcHRpb24sCi0gICAgICByZXF1ZXN0LnNoaXBwaW5nT3B0aW9uLAotICAgICAgIlJlcXVlc3Qg
YW5kIHJlc3BvbnNlIG11c3QgYmUgdGhlIHNhbWUgdmFsdWUgKG9yIGJvdGggbnVsbCkuIgotICAg
ICk7Ci0gICAgaWYgKG9wdGlvbnMucmVxdWVzdFNoaXBwaW5nID09PSB0cnVlKSB7Ci0gICAgICBh
c3NlcnRfdHJ1ZSgKLSAgICAgICAgcmVzcG9uc2Uuc2hpcHBpbmdBZGRyZXNzIGluc3RhbmNlb2Yg
UGF5bWVudEFkZHJlc3MsCi0gICAgICAgICJFeHBlY3RlZCBhbiBpbnN0YW5jZSBvZiBQYXltZW50
QWRkcmVzcy4iCi0gICAgICApOwotICAgIH0KLSAgICBjb25zdCBleHBlY3RlZCA9IHsKLSAgICAg
IG1ldGhvZE5hbWU6ICJiYXNpYy1jYXJkIiwKLSAgICAgIHBheWVyRW1haWw6IG9wdGlvbnMucmVx
dWVzdFBheWVyRW1haWwKLSAgICAgICAgPyBleHBlY3RlZFJlc3BvbnNlLnBheWVyRW1haWwKLSAg
ICAgICAgOiBudWxsLAotICAgICAgcGF5ZXJOYW1lOiBvcHRpb25zLnJlcXVlc3RQYXllck5hbWUg
PyBleHBlY3RlZFJlc3BvbnNlLnBheWVyTmFtZSA6IG51bGwsCi0gICAgICBwYXllclBob25lOiBv
cHRpb25zLnJlcXVlc3RQYXllclBob25lCi0gICAgICAgID8gZXhwZWN0ZWRSZXNwb25zZS5wYXll
clBob25lCi0gICAgICAgIDogbnVsbCwKLSAgICB9OwotICAgIGZvciAoY29uc3QgW2F0dHIsIGV4
cGVjdGVkVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGV4cGVjdGVkKSkgewotICAgICAgYXNzZXJ0
X2VxdWFscygKLSAgICAgICAgcmVzcG9uc2VbYXR0cl0sCi0gICAgICAgIGV4cGVjdGVkVmFsdWUs
Ci0gICAgICAgIGByZXNwb25zZS4ke2F0dHJ9IG11c3QgYmUgJHtleHBlY3RlZFZhbHVlfWAKLSAg
ICAgICk7Ci0gICAgfQotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAot
ICAgICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIHJlcXVlc3Quc2hvdygpLAotICAgICAg
IlJlcXVlc3QgW1tzdGF0ZV1dIGlzIGNsb3NlZCwgc28gSW52YWxpZFN0YXRlRXJyb3IiCi0gICAg
KTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLTwvc2NyaXB0PgotCi08
c2VjdGlvbj4KLSAgPGgyIGlkPSJ1c2VyLWFjY2VwdHMtcGF5bWVudC1yZXF1ZXN0Ij5Vc2VyIGFj
Y2VwdHMgcGF5bWVudCByZXF1ZXN0PC9oMj4KLSAgPHA+Ci0gICAgQ2xpY2sgb24gZWFjaCBidXR0
b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUg
cGFnZS4KLSAgICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3Qg
VUkgd2luZG93LgotICA8L3A+Ci0gIDxwPgotICAgIFdoZW4gc2hvd24gdGhlIHBheW1lbnQgc2hl
ZXQsIHBsZWFzZSBpbnB1dCBhIGNyZWRpdCBjYXJkIGFuZCBzZWxlY3QgUGF5LgotICA8L3A+Ci0g
IDxvbD4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAgICBjb25zdCBk
ZXRhaWxzV2l0aElkID0gT2JqZWN0LmFzc2lnbih7fSwgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25z
LCB7IGlkOiAncGFzcycgfSk7Ci0gICAgICAgIHRlc3RBY2NlcHRSZXF1ZXN0QWxnb3JpdGhtKHRo
aXMsIGRldGFpbHNXaXRoSWQsIG9wdGlvbnNSZXF1ZXN0Tm90aGluZyk7Ij4KLSAgICAgICAgVXNl
ciBhY2NlcHRzIHBheW1lbnQgcmVxdWVzdCwgYnV0IG5vdCBzaGlwcGluZyBpcyByZXF1ZXN0ZWQu
Ci0gICAgICA8L2J1dHRvbj4gVXNlIGFueSBjcmVkaXQgY2FyZCB0byBwYXkuCi0gICAgPC9saT4K
LSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAgICBjb25zdCByZXF1ZXN0
U2hpcHBpbmcgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zUmVxdWVzdE5vdGhpbmcsIHtyZXF1
ZXN0U2hpcHBpbmc6IHRydWV9KTsKLSAgICAgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSB7IHNo
aXBwaW5nT3B0aW9uOiAnb3B0aW9uIDInIH07Ci0gICAgICAgIHRlc3RBY2NlcHRSZXF1ZXN0QWxn
b3JpdGhtKHRoaXMsIGRldGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zLCByZXF1ZXN0U2hpcHBpbmcs
IGV4cGVjdGVkVmFsdWVzKTsiPgotICAgICAgICBVc2VyIGFjY2VwdHMgcGF5bWVudCByZXF1ZXN0
LCBtZXJjaGFudCByZXF1ZXN0cyBzaGlwcGluZy4KLSAgICAgIDwvYnV0dG9uPiBTZWxlY3QgYW55
IHNoaXBwaW5nIG9wdGlvbiwgYW5kIHVzZSBhbnkgY3JlZGl0IGNhcmQgdG8gcGF5LgotICAgIDwv
bGk+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgICAgY29uc3QgcmVx
dWVzdFBheWVyRW1haWwgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zUmVxdWVzdE5vdGhpbmcs
IHtyZXF1ZXN0UGF5ZXJFbWFpbDogdHJ1ZX0pOwotICAgICAgICBjb25zdCBleHBlY3RWYWx1ZXMg
PSB7IHBheWVyRW1haWw6ICd3cHRAdzMub3JnJyB9OwotICAgICAgICB0ZXN0QWNjZXB0UmVxdWVz
dEFsZ29yaXRobSh0aGlzLCBkZXRhaWxzTm9TaGlwcGluZ09wdGlvbnMsIHJlcXVlc3RQYXllckVt
YWlsLCBleHBlY3RWYWx1ZXMpOyI+Ci0gICAgICAgIFVzZXIgYWNjZXB0cyBwYXltZW50IHJlcXVl
c3QsIG1lcmNoYW50IHJlcXVlc3RzIGVtYWlsLgotICAgICAgPC9idXR0b24+Ci0gICAgICBXaGVu
IHByb21wdGVkLCBwbGVhc2UgdXNlICJ3cHRAdzMub3JnIiBhcyB0aGUgZW1haWwuCi0gICAgPC9s
aT4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAgICBjb25zdCByZXF1
ZXN0UGF5ZXJQaG9uZSA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnNSZXF1ZXN0Tm90aGluZywg
e3JlcXVlc3RQYXllclBob25lOiB0cnVlfSk7Ci0gICAgICAgIGNvbnN0IGV4cGVjdFZhbHVlcyA9
IHsgcGF5ZXJQaG9uZTogJysxMjM0NTY3ODkxMCcgfTsKLSAgICAgICAgdGVzdEFjY2VwdFJlcXVl
c3RBbGdvcml0aG0odGhpcywgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25zLCByZXF1ZXN0UGF5ZXJQ
aG9uZSwgZXhwZWN0VmFsdWVzKTsiPgotICAgICAgICBVc2VyIGFjY2VwdHMgcGF5bWVudCByZXF1
ZXN0LCBtZXJjaGFudCByZXF1ZXN0cyBwaG9uZS4KLSAgICAgIDwvYnV0dG9uPgotICAgICAgV2hl
biBwcm9tcHRlZCwgcGxlYXNlIHVzZSAiKzEyMzQ1Njc4OTEwIiBhcyB0aGUgcGhvbmUgbnVtYmVy
LgotICAgIDwvbGk+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgICAg
Y29uc3QgcmVxdWVzdFBheWVyTmFtZSA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnNSZXF1ZXN0
Tm90aGluZywge3JlcXVlc3RQYXllck5hbWU6IHRydWV9KTsKLSAgICAgICAgY29uc3QgZXhwZWN0
VmFsdWVzID0geyBwYXllck5hbWU6ICd3ZWIgcGxhdGZvcm0gdGVzdCcgfTsKLSAgICAgICAgdGVz
dEFjY2VwdFJlcXVlc3RBbGdvcml0aG0odGhpcywgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25zLCBy
ZXF1ZXN0UGF5ZXJOYW1lLCBleHBlY3RWYWx1ZXMpOyI+Ci0gICAgICAgIFVzZXIgYWNjZXB0cyBw
YXltZW50IHJlcXVlc3QsIG1lcmNoYW50IHJlcXVlc3RzIHBheWVyJ3MgbmFtZS4KLSAgICAgIDwv
YnV0dG9uPgotICAgICAgV2hlbiBwcm9tcHRlZCwgcGxlYXNlIHVzZSAid2ViIHBsYXRmb3JtIHRl
c3QiIGFzIHRoZSBwYXllciBuYW1lLgotICAgIDwvbGk+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRv
biBvbmNsaWNrPSIKLSAgICAgICAgY29uc3QgZXhwZWN0VmFsdWVzID0gewotICAgICAgICAgIHBh
eWVyRW1haWw6ICd3cHRAdzMub3JnJywKLSAgICAgICAgICBwYXllck5hbWU6ICd3ZWIgcGxhdGZv
cm0gdGVzdCcsCi0gICAgICAgICAgcGF5ZXJQaG9uZTogJysxMjM0NTY3ODkxMCcsCi0gICAgICAg
ICAgc2hpcHBpbmdPcHRpb246ICdvcHRpb24gMicsCi0gICAgICAgIH07Ci0gICAgICAgIHRlc3RB
Y2NlcHRSZXF1ZXN0QWxnb3JpdGhtKHRoaXMsIGRldGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zLCBv
cHRpb25zUmVxdWVzdEV2ZXJ5dGhpbmcsIGV4cGVjdFZhbHVlcyk7Ij4KLSAgICAgICAgVXNlciBh
Y2NlcHRzIHBheW1lbnQgcmVxdWVzdCwgbWVyY2hhbnQgcmVxdWVzdHMgZXZlcnl0aGluZy4KLSAg
ICAgIDwvYnV0dG9uPgotICAgICAgV2hlbiBwcm9tcHRlZCwgcGxlYXNlIHVzZTogIisxMjM0NTY3
ODkxMCIgYXMgdGhlIHBob25lIG51bWJlciwgIndlYiBwbGF0Zm9ybSB0ZXN0IiBhcyB0aGUgcGF5
ZXIgbmFtZSwgYW5kICJ3cHRAdzMub3JnIiBhcyB0aGUgZW1haWwuIFRoZW4gcHJlc3MgUGF5Lgot
ICAgIDwvbGk+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCkiPkRvbmU8
L2J1dHRvbj4KLSAgICA8L2xpPgotICA8L29sPgotPC9zZWN0aW9uPgotPHNtYWxsPgotICBJZiB5
b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcg
b25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZp
ZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
dzNjLWltcG9ydC5sb2cKaW5kZXggNzBhZjVjMGZmOWZmZWMzMDlmOTQ1Mzk2MzkzYzIwMzExZTU2
NmY4Ny4uMTVkNjRhYjdmZWI2ZmE1YjM2MDQ4NmZlMTgyZjBkZGNlZDdiMDQzOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdzNjLWltcG9ydC5sb2cKQEAgLTE1LDI2ICsx
NSwxOCBAQCBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvTUVUQS55
bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9hbGdvcml0aG1zLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYmlsbGluZy1hZGRyZXNz
LWNoYW5nZWQtbWFudWFsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9ibGFuay5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvY2hhbmdlLXNo
aXBwaW5nLW9wdGlvbi1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5nZS1zaGlwcGluZy1vcHRp
b24tc2VsZWN0LWxhc3QtbWFudWFsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9jb25zdHJ1Y3Rvcl9jb252ZXJ0
X21ldGhvZF9kYXRhLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9keW5hbWljYWxseS1jaGFuZ2Utc2hpcHBpbmct
b3B0aW9ucy1tYW51YWwuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2hpc3RvcmljYWwuaHR0cHMuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L2lkbGhhcm5lc3MuaHR0cHMud2luZG93LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvb25tZXJjaGFudHZhbGlkYXRpb24tYXR0
cmlidXRlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9vbnBheW1lbnRtZXRob2RjaGFuZ2UtYXR0cmlidXRlLmh0
dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9wYXltZW50LWlzLXNob3dpbmcuaHR0cHMuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVxdWVzdC1hYm9ydC1tZXRob2QuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jYW5t
YWtlcGF5bWVudC1tZXRob2QtcHJvdGVjdGlvbi5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1
ZXN0LWNhbm1ha2VwYXltZW50LW1ldGhvZC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0
LWNvbnN0cnVjdG9yLXRoY3Jhc2guaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jb25z
dHJ1Y3Rvci5odHRwcy5zdWIuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jdG9yLWN1cnJlbmN5
LWNvZGUtY2hlY2tzLmh0dHBzLnN1Yi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWN0b3ItcG1p
LWhhbmRsaW5nLmh0dHBzLnN1Yi5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWhhc2Vucm9sbGVk
aW5zdHJ1bWVudC1tZXRob2QtbWFudWFsLnRlbnRhdGl2ZS5odHRwcy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVu
dC1yZXF1ZXN0LWhhc2Vucm9sbGVkaW5zdHJ1bWVudC1tZXRob2QtcHJvdGVjdGlvbi50ZW50YXRp
dmUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1lbnQt
bWV0aG9kLnRlbnRhdGl2ZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWlkLWF0dHJp
YnV0ZS5odHRwcy5odG1sCkBAIC00NiwxMyArMzgsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVxdWVzdC1zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUuaHR0cHMuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVxdWVzdC1zaGlwcGluZ1R5cGUtYXR0cmlidXRlLmh0dHBzLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXlt
ZW50LXJlcXVlc3Qtc2hvdy1tZXRob2QuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90X2Fj
dGl2ZS1tYW51YWwuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS5odHRwcy5o
dG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3Qvc2hpcHBpbmctYWRkcmVzcy1jaGFuZ2VkLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
c2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWplY3RzLW1hbnVhbC5odHRwcy5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZXNvbHZlcy1tYW51YWwuaHR0cHMuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3Nob3ctY29uc3VtZS1hY3RpdmF0aW9uLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhv
ZC1vcHRpb25hbC1wcm9taXNlLXJlamVjdHMuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLXBv
c3RtZXNzYWdlLWlmcmFtZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2QtcG9zdG1lc3NhZ2UtbWFudWFs
Lmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC91cGRhdGVXaXRoLW1ldGhvZC1wbWktaGFuZGxpbmctbWFudWFsLmh0
dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC91c2VyLWFib3J0LWFsZ29yaXRobS1tYW51YWwuaHR0cHMuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3VzZXItYWNjZXB0cy1wYXltZW50LXJlcXVlc3QtYWxnby1tYW51YWwuaHR0cHMuaHRtbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGVhODQ4
ZDgyZTMyZDhhMzlkNGUxODNlMTNkNWZiNzVlMWMzM2I3NTUuLjBiNWM2M2E1MDUyOTIxYWFkYWEy
OGM1ZTdiNzBlNmYwYzMyOWY0YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTU2LDYgKzU2LDEwIEBAIHdlYmtpdC5vcmcvYi8xNzU2MTEg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXlt
ZW50CiB3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVlc3QvcmVtb3ZpbmctYWxsb3dwYXltZW50
cmVxdWVzdC5odHRwcy5zdWIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnRy
ZXF1ZXN0L3NldHRpbmctYWxsb3dwYXltZW50cmVxdWVzdC10aW1pbmcuaHR0cHMuc3ViLmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50cmVxdWVzdC9zZXR0aW5nLWFsbG93cGF5
bWVudHJlcXVlc3QuaHR0cHMuc3ViLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xNzU2MTEg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXlt
ZW50L2FsbG93cGF5bWVudHJlcXVlc3QtYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWlu
ZXJzLmh0dHBzLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0dHJp
YnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sIFsgU2tpcCBdCit3ZWJr
aXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudC9yZW1vdmluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1
Yi5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9zZXR0aW5nLWFsbG93cGF5
bWVudHJlcXVlc3QuaHR0cHMuc3ViLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jYW5tYWtlcGF5bWVu
dC1tZXRob2QuaHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWhhc2Vucm9sbGVkaW5zdHJ1bWVu
dC1tZXRob2QudGVudGF0aXZlLmh0dHBzLmh0bWwgWyBTa2lwIF0KIApAQCAtMTIxMiwzOCArMTIx
Niw2IEBAIHdlYmtpdC5vcmcvYi8xODQ3ODMgY29tcG9zaXRpbmcvaW9zL292ZXJmbG93LXNjcm9s
bC10b3VjaC10aWxlcy5odG1sIFsgUGFzcyBGYWlsCiAKIHdlYmtpdC5vcmcvYi8xNzk4NTMgWyBE
ZWJ1ZyBdIGltcG9ydGVkL2JsaW5rL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsLWl0ZXJhdGlvbi1z
aW1wbGUtdGV4dC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotIyBza2lwIG1hbnVhbCBwYXltZW50
LXJlcXVlc3QgdGVzdHMKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1jYWxsLWltbWVkaWF0
ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRo
LWR1cGxpY2F0ZS1zaGlwcGluZy1vcHRpb25zLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVx
dWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtaW5jcmVtZW50YWwtdXBkYXRlLW1hbnVhbC5odHRw
cy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtbWV0aG9kLWFib3J0
LXVwZGF0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRh
dGVXaXRoLXN0YXRlLWNoZWNrcy1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25F
cnJvcnMvcmV0cnktc2hvd3MtZXJyb3ItbWVtYmVyLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50
VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1wYXllci1tZW1iZXItbWFudWFsLmh0dHBzLmh0
bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNob3dzLXNoaXBwaW5nQWRkcmVzcy1t
ZW1iZXItbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsZ29yaXRobXMtbWFudWFsLmh0dHBzLmh0bWwgWyBT
a2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2No
YW5nZS1zaGlwcGluZy1vcHRpb24tbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5nZS1zaGlwcGluZy1v
cHRpb24tc2VsZWN0LWxhc3QtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvY29t
cGxldGUtbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL21ldGhvZE5h
bWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL29ucGF5ZXJk
ZXRhaWxjaGFuZ2UtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNl
L3BheWVyRW1haWwtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNl
L3BheWVyTmFtZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
cGF5ZXJQaG9uZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
cmVqZWN0c19pZl9ub3RfYWN0aXZlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNl
L3JlcXVlc3RJZC1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
cmV0cnktbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3NoaXBwaW5n
QWRkcmVzcy1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvc2hp
cHBpbmdPcHRpb24tYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50QWRkcmVzcy9h
dHRyaWJ1dGVzLWFuZC10b0pTT04tbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaGlwcGluZy1h
ZGRyZXNzLWNoYW5nZWQtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXBy
b21pc2UtcmVqZWN0cy1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJv
bWlzZS1yZXNvbHZlcy1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2QtcG9zdG1lc3NhZ2Ut
bWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3VwZGF0ZVdpdGgtbWV0aG9kLXBtaS1oYW5kbGluZy1tYW51YWwu
aHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvdXNlci1hYm9ydC1hbGdvcml0aG0tbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lw
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3VzZXIt
YWNjZXB0cy1wYXltZW50LXJlcXVlc3QtYWxnby1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQot
CiB3ZWJraXQub3JnL2IvMTg5MDg3IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtZW5kLWF0dHJpYnV0
ZS1udW1lcmljLXByZWNpc2lvbi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9i
LzE5MDg0NyBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLW5ldy1zY3Jp
cHQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGVkZWIxMDE0OGIyNzdjZTQwZTczYmQ5MzY2
ZmEzZDI2ZDRkMDZlYWUuLjVmZDJlMjBhNDU2MTZiOTQ2Mjk2MzE3ZGRlNGJiMjRkNjNlMzEzMWUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTU5LDYgKzU5LDEwIEBAIHdlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50CiB3ZWJraXQub3JnL2IvMTc1
NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93
cGF5bWVudHJlcXVlc3QvcmVtb3ZpbmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWIuaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnRyZXF1ZXN0L3NldHRpbmctYWxsb3dw
YXltZW50cmVxdWVzdC10aW1pbmcuaHR0cHMuc3ViLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcv
Yi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
YWxsb3dwYXltZW50cmVxdWVzdC9zZXR0aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3Vi
Lmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FsbG93cGF5bWVudHJlcXVl
c3QtYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwgWyBTa2lw
IF0KK3dlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMt
Y29udGFpbmVycy5odHRwcy5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTc1NjExIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9y
ZW1vdmluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCit3ZWJr
aXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudC9zZXR0aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3Vi
Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLnRlbnRh
dGl2ZS5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jYW5t
YWtlcGF5bWVudC1tZXRob2QuaHR0cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBd
CiAKQEAgLTc3MCwzOCArNzc0LDYgQEAgd2Via2l0Lm9yZy9iLzE4NDkzNyB0cmFuc2l0aW9ucy9v
cGFjaXR5LXRyYW5zaXRpb24temluZGV4Lmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzE4
NjM2MiBbIFJlbGVhc2UgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFs
ZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi5odG1sIFsgU2tpcCBdCiAKLSMgc2tp
cCBtYW51YWwgcGF5bWVudC1yZXF1ZXN0IHRlc3RzCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdp
dGgtY2FsbC1pbW1lZGlhdGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRl
RXZlbnQvdXBkYXRlV2l0aC1kdXBsaWNhdGUtc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMu
aHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLWluY3JlbWVudGFsLXVw
ZGF0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVX
aXRoLW1ldGhvZC1hYm9ydC11cGRhdGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0
VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1zdGF0ZS1jaGVja3MtbWFudWFsLmh0dHBzLmh0bWwgWyBT
a2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1Bh
eW1lbnRWYWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNob3dzLWVycm9yLW1lbWJlci1tYW51YWwuaHR0
cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMvcmV0cnktc2hvd3MtcGF5ZXItbWVtYmVy
LW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1z
aGlwcGluZ0FkZHJlc3MtbWVtYmVyLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGdvcml0aG1zLW1hbnVh
bC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLW1hbnVhbC5odHRwcy5odG1sIFsg
U2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9j
aGFuZ2Utc2hpcHBpbmctb3B0aW9uLXNlbGVjdC1sYXN0LW1hbnVhbC5odHRwcy5odG1sIFsgU2tp
cCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXlt
ZW50LXJlc3BvbnNlL2NvbXBsZXRlLW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS9tZXRob2ROYW1lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS9vbnBheWVyZGV0YWlsY2hhbmdlLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
cGF5bWVudC1yZXNwb25zZS9wYXllckVtYWlsLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
cGF5bWVudC1yZXNwb25zZS9wYXllck5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsg
U2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlc3BvbnNlL3BheWVyUGhvbmUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsg
U2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlc3BvbnNlL3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
cGF5bWVudC1yZXNwb25zZS9yZXF1ZXN0SWQtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsg
U2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS9zaGlwcGluZ0FkZHJlc3MtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tp
cCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXlt
ZW50LXJlc3BvbnNlL3NoaXBwaW5nT3B0aW9uLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
UGF5bWVudEFkZHJlc3MvYXR0cmlidXRlcy1hbmQtdG9KU09OLW1ldGhvZC1tYW51YWwuaHR0cHMu
aHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3Qvc2hpcHBpbmctYWRkcmVzcy1jaGFuZ2VkLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1l
dGhvZC1vcHRpb25hbC1wcm9taXNlLXJlamVjdHMtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0
aG9kLW9wdGlvbmFsLXByb21pc2UtcmVzb2x2ZXMtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0
aG9kLXBvc3RtZXNzYWdlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC91cGRhdGVXaXRoLW1ldGhvZC1wbWkt
aGFuZGxpbmctbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3VzZXItYWJvcnQtYWxnb3JpdGhtLW1hbnVhbC5o
dHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC91c2VyLWFjY2VwdHMtcGF5bWVudC1yZXF1ZXN0LWFsZ28tbWFudWFsLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KLQogIyBNYW51YWwgdGVzdHMuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYi1zaGFyZS9zaGFyZS1jYW5jZWwtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lw
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLXNoYXJlL3NoYXJlLWV4dHJh
LWFyZ3VtZW50LW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCkBAIC0xMzI4LDQgKzEzMDAsNCBA
QCB3ZWJraXQub3JnL2IvMjE3ODU3IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcgogd2Via2l0Lm9yZy9iLzIxNzkzOCBbIE1vamF2ZSsg
XSBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmV0Y2hFdmVudC5odHRwcy5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTc5MzggWyBNb2phdmUrIF0gaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL2hlYWRlci1maWx0ZXJpbmcuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjE3OTM4IFsgTW9qYXZlKyBdIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9t
YWMvdGhyb3R0bGVhYmxlLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9i
LzIxNzkzOCBbIE1vamF2ZSsgXSBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvb25saW5lLmh0dHBz
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK3dlYmtp
dC5vcmcvYi8yMTc5MzggWyBNb2phdmUrIF0gaHR0cC93cHQvc2VydmljZS13b3JrZXJzL29ubGlu
ZS5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412652</attachid>
            <date>2020-10-29 08:36:42 -0700</date>
            <delta_ts>2020-10-29 13:21:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218308-20201029083641.patch</filename>
            <type>text/plain</type>
            <size>274758</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTQ4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzZhMzU5Y2ZmYTA3ZTVlYWY3OTk3
Y2RlNTljMDgwNjZlZmIwMDZlNi4uNDUxNTI1MjE3MjAxN2EyYWU3MzVlZThhMDI2NDNmMzEyZmRk
Yjk5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QgdGVzdHMgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU2tpcCBhIGZldyBuZXcgdGVzdHMgdGhhdCBhcmUgZmFp
bGluZy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMTAtMjkg
IEthcmwgUmFja2xlciAgPHJhY2tsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046
IFsgTW9qYXZlKyBdIGluc3BlY3Rvci9kb20tZGVidWdnZXIvYXR0cmlidXRlLW1vZGlmaWVkLXN0
eWxlLmh0bWwgaXMgYSBmbGFreSB0aW1lb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAxMDM5ZjA0ZTljNjQ1YTBiMTI0Nzc2ZDI1ZDU5YmNmZTMzZTFmYzAyLi4xZjYxMTUyNjg3
YzQ1YjY1NWYxOGUxNjY5ODdmMDJmYTE2NWVmMzZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMC0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0IHRlc3RzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxODMwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0IHRlc3RzIGZyb20gdXBzdHJlYW0gMzI2ZjEzN2YyYzNkMjNjLgorCisgICAgICAgIEl0IGRy
b3BzIGEgbG90IG9mIG1hbnVhbCB0ZXN0cyB0b28sIG5vdyB0aGF0IG91ciB0ZXN0IGltcG9ydGVy
IGlzIHNtYXJ0IGVub3VnaCBub3QgdG8KKyAgICAgICAgaW1wb3J0IHRoZW0uCisKKyAgICAgICAg
KiByZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0Lyo6IFVwZGF0ZWQuCisKIDIwMjAtMTAtMjkgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIE1ha2Ugc2Nyb2xsLW1h
cmdpbiBpbmRlcGVuZGVudCBvZiBzY3JvbGwgc25hcHBpbmcgYW5kIGhhdmUgaXQgYXBwbHkgd2hl
biBzY3JvbGxpbmcgdG8gYW5jaG9ycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3Jlc291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3Jlc291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uCmluZGV4IGJmZWExYTk1ZjQzZGVkZWNl
ZDZjOTcwYjM2MTRiZDY3ODdlMDQyN2YuLjM5ZjkwYmRlN2YyNjM5ODQ4Zjc2Njc5MjAwNDcwNzYz
MjA5ODU0OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMv
cmVzb3VyY2UtZmlsZXMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3Vy
Y2VzL3Jlc291cmNlLWZpbGVzLmpzb24KQEAgLTI1NjcsNiArMjU2Nyw3IEBACiAgICAgICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9odG1sNS10cmVlL3VuaXF1ZS1pZGVu
dGlmaWVyLTEtaWZyYW1lLTIuaHRtbCIsCiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWFjYXB0dXJlLXJlY29yZC9zdXBwb3J0L01lZGlhUmVjb3JkZXItaWZyYW1lLmh0bWwiLAogICAg
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhc2Vzc2lvbi9oZWxwZXIvYXJ0d29yay1nZW5l
cmF0b3IuaHRtbCIsCisgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwiLAogICAgICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnRyZXF1ZXN0L2VjaG8tUGF5
bWVudFJlcXVlc3QuaHRtbCIsCiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2JsYW5rLmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtcmVzcG9uc2UtaWQuaHRtbCIsCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9QYXltZW50QWRkcmVzcy9hdHRyaWJ1dGVzLWFuZC10b0pTT04tbWV0aG9kLW1hbnVhbC5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvUGF5bWVudEFkZHJlc3MvYXR0cmlidXRlcy1hbmQtdG9KU09OLW1ldGhvZC1t
YW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFmY2ExOWY5
MjNkNDVhMmQ5N2ExMzRlY2MxYzlhMDJiZjRhZWE4Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50QWRkcmVzcy9hdHRyaWJ1dGVzLWFuZC10
b0pTT04tbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA5ICsw
LDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9wYXltZW50LXJlcXVlc3QvI3BheW1l
bnRhZGRyZXNzLWludGVyZmFjZSI+Ci08dGl0bGU+Ci0gIFBheW1lbnRSZXNwb25zZS5wcm90b3R5
cGUuc2hpcHBpbmdBZGRyZXNzCi08L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3BheW1lbnQtcmVzcG9uc2Uv
aGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgb3B0aW9ucyA9IHsgcmVxdWVz
dFNoaXBwaW5nOiB0cnVlIH07Ci1mdW5jdGlvbiBydW5NYW51YWxUZXN0KGJ1dHRvbiwgZXhwZWN0
ZWQgPSB7fSkgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9taXNlX3Rlc3QoYXN5
bmMgKCkgPT4gewotICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1
ZXN0UmVzcG9uc2Uob3B0aW9ucyk7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAg
ICBhc3NlcnRfaWRsX2F0dHJpYnV0ZShyZXNwb25zZSwgInNoaXBwaW5nQWRkcmVzcyIpOwotICAg
IGNvbnN0IHsgc2hpcHBpbmdBZGRyZXNzOiBhZGRyIH0gPSByZXNwb25zZTsKLSAgICBhc3NlcnRf
dHJ1ZSgKLSAgICAgIGFkZHIgaW5zdGFuY2VvZiBQYXltZW50QWRkcmVzcywKLSAgICAgICJFeHBl
Y3QgaW5zdGFuY2Ugb2YgUGF5bWVudEFkZHJlc3MiCi0gICAgKTsKLSAgICAvLyBBbiBbSVNPMzE2
Nl0gYWxwaGEtMiBjb2RlLiBUaGUgY2Fub25pY2FsIGZvcm0gaXMgdXBwZXIgY2FzZS4KLSAgICBj
b25zdCB7IGNvdW50cnkgfSA9IGFkZHI7Ci0gICAgYXNzZXJ0X2VxdWFscyhjb3VudHJ5Lmxlbmd0
aCwgMiwgIkV4cGVjdGVkIGxlbmd0aCBpcyAyIik7Ci0gICAgYXNzZXJ0X3RydWUoL15bQS1aXXsy
fSQvLnRlc3QoY291bnRyeSksICJDYW5vbmljYWwgZm9ybSBpcyB1cHBlciBjYXNlIik7Ci0gICAg
YXNzZXJ0X3RydWUoCi0gICAgICBhZGRyLmFkZHJlc3NMaW5lIGluc3RhbmNlb2YgQXJyYXksCi0g
ICAgICAiRXhwZWN0ZWQgYWRkcmVzc0xpbmUgdG8gYmUgYW4gYXJyYXkiCi0gICAgKTsKLSAgICBh
c3NlcnRfdGhyb3dzX2pzKAotICAgICAgVHlwZUVycm9yLAotICAgICAgKCkgPT4gewotICAgICAg
ICBhZGRyLmFkZHJlc3NMaW5lLnB1c2goInRoaXMgbXVzdCB0aHJvdyIpOwotICAgICAgfSwKLSAg
ICAgICJBcnJheSBtdXN0IGJlIGZyb3plbiIKLSAgICApOwotICAgIGZvciAobGV0IFthdHRyLCBl
eHBlY3RlZFZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhleHBlY3RlZCkpIHsKLSAgICAgIGFzc2Vy
dF9pZGxfYXR0cmlidXRlKGFkZHIsIGF0dHIpOwotICAgICAgY29uc3QgbXNnID0gYEV4cGVjdGVk
IHBheW1lbnRBZGRyZXNzLiR7YXR0cn0gdG8gZXF1YWwgJHtleHBlY3RlZFZhbHVlfS5gOwotICAg
ICAgLy8udG9TdHJpbmcoKSBmbGF0dGVucyBhcnJheSBhZGRyZXNzTGluZSwKLSAgICAgIC8vLnRv
TG93ZXJDYXNlKCkgYmVjYXVzZSBjYXNlIGNhbid0IGJlIGVuZm9yY2VkIGZvciBzb21lIGF0dHJp
YnV0ZXMKLSAgICAgIGNvbnN0IGFjdHVhbFZhbHVlID0gYWRkclthdHRyXS50b1N0cmluZygpLnRv
TG93ZXJDYXNlKCk7Ci0gICAgICBleHBlY3RlZFZhbHVlID0gZXhwZWN0ZWRWYWx1ZS50b1N0cmlu
ZygpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFZhbHVlLCBleHBl
Y3RlZFZhbHVlLCBtc2cpOwotICAgIH0KLSAgICAvLyBDaGVjayB0b0pTT04gcmVzdWx0Ci0gICAg
Zm9yIChsZXQgW3Byb3AsIGpzb25WYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoYWRkci50b0pTT04o
KSkpIHsKLSAgICAgIGNvbnN0IGFjdHVhbFZhbHVlID0ganNvblZhbHVlLnRvU3RyaW5nKCkudG9M
b3dlckNhc2UoKTsKLSAgICAgIGNvbnN0IGV4cGVjdGVkVmFsdWUgPSBleHBlY3RlZFtwcm9wXS50
b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICBjb25zdCBtc2cgPSBgRXhwZWN0ZWQgSlNP
TiAke3Byb3B9IHRvIGJlICR7ZXhwZWN0ZWRWYWx1ZX1gOwotICAgICAgYXNzZXJ0X2VxdWFscyhh
Y3R1YWxWYWx1ZSwgZXhwZWN0ZWRWYWx1ZSwgbXNnKTsKLSAgICB9Ci0gIH0sIGJ1dHRvbi50ZXh0
Q29udGVudC50cmltKCkpOwotICBkb25lKCk7Ci19Ci08L3NjcmlwdD4KLTxoMj5QYXltZW50QWRk
cmVzcyBpbnRlcmZhY2U8L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVl
bmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVh
Y2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08
L3A+Ci08cD4KLSAgV2hlbiBwcm9tcHRlZCwgcGxlYXNlIGVudGVyIGFkZHJlc3NlcyBhcyBmb2xs
b3dzLi4uCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgIGNv
bnN0IGV4cGVjdGVkQWRkcmVzcyA9IHsKLSAgICAgIGNvdW50cnk6ICdBVScsCi0gICAgICByZWdp
b25Db2RlOiAnUUxEJywKLSAgICAgIGFkZHJlc3NMaW5lOiAnNTUgdGVzdCBzdCcsCi0gICAgICBj
aXR5OiAnQ2hhcGVsIEhpbGwnLAotICAgICAgZGVwZW5kZW50TG9jYWxpdHk6ICcnLAotICAgICAg
cG9zdGFsQ29kZTogJzYwOTUnLAotICAgICAgcmVnaW9uOiAnUUxEJywKLSAgICAgIHNvcnRpbmdD
b2RlOiAnJywKLSAgICAgIG9yZ2FuaXphdGlvbjogJ3czYycsCi0gICAgICByZWNpcGllbnQ6ICd3
ZWIgcGxhdGZvcm0gdGVzdCcsCi0gICAgICBwaG9uZTogJys2MTczMzc4MDAwMCcsCi0gICAgfTsK
LSAgICBydW5NYW51YWxUZXN0KHRoaXMsIGV4cGVjdGVkQWRkcmVzcyk7Ij4KLSAgICAgIElmIHRo
ZSByZXF1ZXN0U2hpcHBpbmcgbWVtYmVyIGlzIHRydWUsIHRoZW4gc2hpcHBpbmdBZGRyZXNzJ3Mg
UGF5bWVudEFkZHJlc3MgbXVzdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWVzLgotICAgIDwvYnV0
dG9uPgotICAgIFBsZWFzZSB1c2U6Ci0gICAgPGRsPgotICAgICAgPGR0PlJlY2lwaWVudDo8L2R0
PgotICAgICAgPGRkPndlYiBwbGF0Zm9ybSB0ZXN0PC9kZD4KLSAgICAgIDxkdD5BZGRyZXNzIGxp
bmU6PC9kdD4KLSAgICAgIDxkZD41NSB0ZXN0IHN0PC9kZD4KLSAgICAgIDxkdD5Db3VudHJ5PC9k
dD4KLSAgICAgIDxkZD5BdXN0cmFsaWE8L2RkPgotICAgICAgPGR0PkNpdHk8L2R0PgotICAgICAg
PGRkPkNoYXBlbCBIaWxsPC9kZD4KLSAgICAgIDxkZD5TdGF0ZS9SZWdpb248L2RkPgotICAgICAg
PGRkPlF1ZWVuc2xhbmQ8L2RkPgotICAgICAgPGR0PnBvc3RhbCBjb2RlIDwvZHQ+Ci0gICAgICA8
ZGQ+NjA5NTwvZGQ+Ci0gICAgICA8ZHQ+b3JnYW5pemF0aW9uPC9kdD4KLSAgICAgIDxkZD53M2M8
L2RkPgotICAgICAgPGR0PlBob25lIG51bWJlcjwvZHQ+Ci0gICAgICA8ZGQ+KzYxIDcgMzM3OCAw
MDAwPC9kZD4KLSAgICA8L2RsPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZp
bmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBv
ZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQv
YmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJz
PC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50
L3VwZGF0ZVdpdGgtY2FsbC1pbW1lZGlhdGUtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50
UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtY2FsbC1pbW1lZGlhdGUtbWFudWFsLmh0dHBz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEzNjVlY2VmZWJlYjI3OWRiMmVk
ZTlkZTk5ZDJmMGM5ODQ3MDhjNWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLWNhbGwt
aW1tZWRpYXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjA2ICswLDAg
QEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9wYXltZW50LXJlcXVlc3QvI3VwZGF0ZXdp
dGgoKS1tZXRob2QiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
dzNjL3BheW1lbnQtcmVxdWVzdC9wdWxsLzU5MSI+Ci08dGl0bGU+Ci0gIFBheW1lbnRSZXF1ZXN0
VXBkYXRlRXZlbnQudXBkYXRlV2l0aCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBpbW1lZGlhdGVseQot
PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVv
dXQ6IHRydWUgfSk7Ci1jb25zdCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0
ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAg
IHZlcnNpb246IDMsCi0gICAgbWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1w
bGUiLAotICAgIGNvdW50cnlDb2RlOiAiVVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBb
InN1cHBvcnRzM0RTIl0sCi0gICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9Ci19
KTsKLWNvbnN0IHZhbGlkTWV0aG9kID0gT2JqZWN0LmZyZWV6ZSh7IHN1cHBvcnRlZE1ldGhvZHM6
ICJiYXNpYy1jYXJkIiB9KTsKLWNvbnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5mcmVlemUoW3Zh
bGlkTWV0aG9kLCBhcHBsZVBheV0pOwotY29uc3QgdmFsaWRBbW91bnQgPSBPYmplY3QuZnJlZXpl
KHsgY3VycmVuY3k6ICJVU0QiLCB2YWx1ZTogIjUuMDAiIH0pOwotY29uc3QgdmFsaWRUb3RhbCA9
IE9iamVjdC5mcmVlemUoewotICBsYWJlbDogImxhYmVsIiwKLSAgYW1vdW50OiB2YWxpZEFtb3Vu
dCwKLX0pOwotY29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbkEgPSBPYmplY3QuZnJlZXplKHsKLSAg
aWQ6ICJhLXNoaXBwaW5nLW9wdGlvbiIsCi0gIGxhYmVsOiAiQSBzaGlwcGluZyBvcHRpb24iLAot
ICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICBzZWxlY3RlZDogdHJ1ZSwKLX0pOwotY29uc3QgdmFs
aWRTaGlwcGluZ09wdGlvbkIgPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJiLXNoaXBwaW5nLW9w
dGlvbiIsCi0gIGxhYmVsOiAiQiBzaGlwcGluZyBvcHRpb24iLAotICBhbW91bnQ6IHZhbGlkQW1v
dW50LAotfSk7Ci1jb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6
IHZhbGlkVG90YWwsCi0gIHNoaXBwaW5nT3B0aW9uczogW3ZhbGlkU2hpcHBpbmdPcHRpb25BLCB2
YWxpZFNoaXBwaW5nT3B0aW9uQl0sCi19KTsKLWNvbnN0IHZhbGlkT3B0aW9ucyA9IE9iamVjdC5m
cmVlemUoewotICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi19KTsKLQotZnVuY3Rpb24gdGVzdElt
bWVkaWF0ZVVwZGF0ZSh7IHRleHRDb250ZW50OiB0ZXN0TmFtZSB9KSB7Ci0gIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAot
ICAgICAgdmFsaWRNZXRob2RzLAotICAgICAgdmFsaWREZXRhaWxzLAotICAgICAgdmFsaWRPcHRp
b25zCi0gICAgKTsKLSAgICBjb25zdCBldmVudFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoCi0gICAgICAg
ICJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLAotICAgICAgICBldiA9PiB7Ci0gICAgICAgICAgLy8g
Rm9yY2VzIHVwZGF0ZVdpdGgoKSB0byBiZSBydW4gaW4gdGhlIG5leHQgZXZlbnQgbG9vcCB0aWNr
IHNvIHRoYXQKLSAgICAgICAgICAvLyBbW3dhaXRGb3JVcGRhdGVdXSBpcyBhbHJlYWR5IHRydWUg
d2hlbiBpdCBydW5zLgotICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKLSAgICAgICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICAgIGV2LnVwZGF0ZVdpdGgodmFsaWREZXRhaWxzKTsKLSAg
ICAgICAgICAgICAgcmVzb2x2ZSgpOyAvLyBUaGlzIGlzIGJhZC4KLSAgICAgICAgICAgIH0gY2F0
Y2ggKGVycikgewotICAgICAgICAgICAgICByZWplY3QoZXJyKTsgLy8gdGhpcyBpcyBnb29kLgot
ICAgICAgICAgICAgfQotICAgICAgICAgIH0pOwotICAgICAgICB9LAotICAgICAgICB7IG9uY2U6
IHRydWUgfQotICAgICAgKTsKLSAgICB9KTsKLSAgICBjb25zdCBhY2NlcHRQcm9taXNlID0gcmVx
dWVzdC5zaG93KCk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0g
ICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAgICAgZXZlbnRQcm9taXNlLAotICAgICAgIlRo
ZSBldmVudCBsb29wIGFscmVhZHkgc3B1biwgc28gW1t3YWl0Rm9yVXBkYXRlXV0gaXMgbm93IHRy
dWUiCi0gICAgKTsKLSAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFjY2VwdFByb21pc2U7Ci0g
ICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAgfSwgdGVzdE5hbWUudHJpbSgpKTsKLX0K
LQotZnVuY3Rpb24gdGVzdFN1YnNlcXVlbnRVcGRhdGVXaXRoQ2FsbHMoeyB0ZXh0Q29udGVudDog
dGVzdE5hbWUgfSkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgcmVx
dWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKLSAgICAgIHZhbGlkTWV0aG9kcywKLSAgICAgIHZh
bGlkRGV0YWlscywKLSAgICAgIHZhbGlkT3B0aW9ucwotICAgICk7Ci0gICAgY29uc3QgZXZlbnRQ
cm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewotICAgICAgcmVxdWVz
dC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCBhc3luYyBldiA9PiB7
Ci0gICAgICAgIGNvbnN0IHAgPSBQcm9taXNlLnJlc29sdmUodmFsaWREZXRhaWxzKTsKLSAgICAg
ICAgZXYudXBkYXRlV2l0aChwKTsKLSAgICAgICAgYXdhaXQgcDsKLSAgICAgICAgdHJ5IHsKLSAg
ICAgICAgICBldi51cGRhdGVXaXRoKHZhbGlkRGV0YWlscyk7Ci0gICAgICAgICAgcmVzb2x2ZSgp
OyAvLyB0aGlzIGlzIGJhZCwgd2Ugc2hvdWxkIG5ldmVyIGdldCB0byBoZXJlLgotICAgICAgICB9
IGNhdGNoIChlcnIpIHsKLSAgICAgICAgICByZWplY3QoZXJyKTsgLy8gdGhpcyBpcyBnb29kIQot
ICAgICAgICB9Ci0gICAgICB9KTsKLSAgICB9KTsKLSAgICBjb25zdCByZXNwb25zZVByb21pc2Ug
PSByZXF1ZXN0LnNob3coKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAg
dCwKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICBldmVudFByb21pc2UsCi0gICAg
ICAiRXhwZWN0ZWQgZXZlbnRQcm9taXNlIHRvIGhhdmUgcmVqZWN0ZWQsIGJlY2F1c2UgdXBkYXRl
V2l0aCgpIHdhcyBhIGNhbGxlZCB0d2ljZSIKLSAgICApOwotICAgIGNvbnN0IHJlc3BvbnNlID0g
YXdhaXQgcmVzcG9uc2VQcm9taXNlOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCk7Ci0g
IH0sIHRlc3ROYW1lLnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RSZWN5Y2xlRXZlbnRzKHsg
dGV4dENvbnRlbnQ6IHRlc3ROYW1lIH0pIHsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewot
ICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCi0gICAgICB2YWxpZE1ldGhv
ZHMsCi0gICAgICB2YWxpZERldGFpbHMsCi0gICAgICB2YWxpZE9wdGlvbnMKLSAgICApOwotCi0g
ICAgLy8gUmVnaXN0ZXIgYm90aCBsaXN0ZW5lcnMuCi0gICAgY29uc3QgYWRkcmVzc0NoYW5nZWRQ
cm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICByZXF1ZXN0LmFkZEV2ZW50
TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIHJlc29sdmUsIHsKLSAgICAgICAgb25j
ZTogdHJ1ZSwKLSAgICAgIH0pOwotICAgIH0pOwotCi0gICAgY29uc3Qgb3B0aW9uQ2hhbmdlZFBy
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIHJlcXVlc3QuYWRkRXZlbnRM
aXN0ZW5lcigic2hpcHBpbmdvcHRpb25jaGFuZ2UiLCByZXNvbHZlLCB7Ci0gICAgICAgIG9uY2U6
IHRydWUsCi0gICAgICB9KTsKLSAgICB9KTsKLQotICAgIGNvbnN0IHJlc3BvbnNlUHJvbWlzZSA9
IHJlcXVlc3Quc2hvdygpOwotCi0gICAgLy8gTGV0J3Mgd2FpdCBmb3IgdGhlIGFkZHJlc3MgdG8g
Y2hhbmdlLgotICAgIGNvbnN0IGFkZHJlc3NDaGFuZ2VFdmVudCA9IGF3YWl0IGFkZHJlc3NDaGFu
Z2VkUHJvbWlzZTsKLQotICAgIC8vIFNldHMgW1t3YWl0aW5nRm9yVXBkYXRlXV0gdG8gdHJ1ZS4K
LSAgICBhZGRyZXNzQ2hhbmdlRXZlbnQudXBkYXRlV2l0aCh2YWxpZERldGFpbHMpOwotCi0gICAg
Ly8gTGV0J3Mgd2FpdCBmb3IgdGhlIHNoaXBwaW5nT3B0aW9uLgotICAgIGNvbnN0IG9wdGlvbkNo
YW5nZUV2ZW50ID0gYXdhaXQgb3B0aW9uQ2hhbmdlZFByb21pc2U7Ci0KLSAgICAvLyBIZXJlLCB3
ZSB0cnkgdG8gYmUgc25lYWt5LCBhbmQgcmV1c2UgdGhlIGFkZHJlc3NDaGFuZ2VFdmVudCB0byBw
ZXJmb3JtIHRoZSB1cGRhdGUuCi0gICAgLy8gSG93ZXZlciwgYWRkcmVzc0NoYW5nZUV2ZW50IFtb
d2FpdGluZ0ZvclVwZGF0ZV1dIGlzIHRydWUsIHNvIGl0IHRocm93cy4KLSAgICBhc3NlcnRfdGhy
b3dzX2RvbSgKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICAoKSA9PiB7Ci0gICAg
ICAgIGFkZHJlc3NDaGFuZ2VFdmVudC51cGRhdGVXaXRoKHZhbGlkRGV0YWlscyk7Ci0gICAgICB9
LAotICAgICAgImFkZHJlc3NDaGFuZ2VFdmVudCBbW3dhaXRpbmdGb3JVcGRhdGVdXSBpcyB0cnVl
LCBzbyBpdCBtdXN0IHRocm93IgotICAgICk7Ci0KLSAgICAvLyBCdXQgb3B0aW9uQ2hhbmdlRXZl
bnQgaXMgc3RpbGwgdXNhYmxlIHRobywgc28uLi4KLSAgICBvcHRpb25DaGFuZ2VFdmVudC51cGRh
dGVXaXRoKHZhbGlkRGV0YWlscyk7Ci0KLSAgICBhc3NlcnRfdGhyb3dzX2RvbSgKLSAgICAgICJJ
bnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIG9wdGlvbkNoYW5nZUV2
ZW50LnVwZGF0ZVdpdGgodmFsaWREZXRhaWxzKTsKLSAgICAgIH0sCi0gICAgICAib3B0aW9uQ2hh
bmdlRXZlbnQgW1t3YWl0aW5nRm9yVXBkYXRlXV0gaXMgdHJ1ZSwgc28gaXQgbXVzdCB0aHJvdyIK
LSAgICApOwotCi0gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXNwb25zZVByb21pc2U7Ci0g
ICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAgfSwgdGVzdE5hbWUudHJpbSgpKTsKLX0K
LTwvc2NyaXB0PgotPGgyPnVwZGF0ZVdpdGgoKSBtZXRob2Q8L2gyPgotPHA+Ci0gIENsaWNrIG9u
IGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJl
c2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQg
UmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hlbiB0aGUgcGF5bWVudCBzaGVldCBp
cyBzaG93biwgc2VsZWN0IGEgZGlmZmVyZW50IHNoaXBwaW5nIGFkZHJlc3Mgb25jZS4gVGhlbiBw
YXkuCi08L3A+Ci08b2w+Ci0gIDxsaSBpZD0idGVzdC0wIj4KLSAgICA8YnV0dG9uIG9uY2xpY2s9
InRlc3RJbW1lZGlhdGVVcGRhdGUodGhpcyk7Ij4KLSAgICAgIHVwZGF0ZVdpdGgoKSBtdXN0IGJl
IGNhbGxlZCBpbW1lZGlhdGVseSwgb3RoZXJ3aXNlIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRl
RXJyb3IuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaSBpZD0idGVzdC0xIj4KLSAgICA8
YnV0dG9uIG9uY2xpY2s9InRlc3RTdWJzZXF1ZW50VXBkYXRlV2l0aENhbGxzKHRoaXMpOyI+Ci0g
ICAgICBPbmNlIHRoZSBldmVudCBoYXMgcGVyZm9ybWVkIGFuIHVwZGF0ZSwgc3Vic2VxdWVudCBj
YWxscyB0byB1cGRhdGVXaXRoKCkgbXVzdCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJvci4KLSAgICA8
L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpIGlkPSJ0ZXN0LTIiPgotICAgIDxidXR0b24gb25jbGlj
az0idGVzdFJlY3ljbGVFdmVudHModGhpcyk7Ij4KLSAgICAgIFJlY3ljbGluZyBldmVudHMgbXVz
dCBub3QgYmUgcG9zc2libGUuCi0gICAgPC9idXR0b24+IFdoZW4gdGhlIHBheW1lbnQgc2hlZXQg
aXMgc2hvd24sIHNlbGVjdCBhIGRpZmZlcmVudCBzaGlwcGluZyBhZGRyZXNzIG9uY2UsIHRoZW4g
Y2hhbmdlIHNoaXBwaW5nIG9wdGlvbiBvbmNlLiBUaGVuIHBheS4KLSAgPC9saT4KLSAgPGxpPgot
ICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+RG9uZSE8L2J1dHRvbj4KLSAgPC9saT4KLTwv
b2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9
Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBh
IGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRB
LnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
UGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLWR1cGxpY2F0ZS1zaGlwcGluZy1v
cHRpb25zLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91
cGRhdGVXaXRoLWR1cGxpY2F0ZS1zaGlwcGluZy1vcHRpb25zLW1hbnVhbC5odHRwcy5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGE3YWZkN2Y2MzM3YzMxMzRkMjU0ZjEyNTc0
NjNkNjllZmQzMGZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1kdXBsaWNhdGUtc2hp
cHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwNiAr
MCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyN1cGRh
dGV3aXRoKCktbWV0aG9kIj4KLTx0aXRsZT4KLSAgdXBkYXRlV2l0aCgpIG1ldGhvZCAtIGR1cGxp
Y2F0ZSBzaGlwcGluZ09wdGlvbiBpZHMKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9k
b25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgYXBwbGVQYXkgPSBP
YmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2Fw
cGxlLXBheSIsCi0gIGRhdGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRp
ZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAg
ICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5l
dHdvcmtzOiBbInZpc2EiXSwKLSAgfQotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZCA9IE9iamVjdC5m
cmVlemUoeyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSk7Ci1jb25zdCB2YWxpZE1l
dGhvZHMgPSBbdmFsaWRNZXRob2QsIGFwcGxlUGF5XTsKLWNvbnN0IHZhbGlkQW1vdW50ID0gT2Jq
ZWN0LmZyZWV6ZSh7Ci0gIGN1cnJlbmN5OiAiVVNEIiwKLSAgdmFsdWU6ICI1LjAwIiwKLX0pOwot
Y29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUoewotICBpZDogIm9wdGlv
bjEiLAotICBsYWJlbDogIk9wdGlvbiAxIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgc2Vs
ZWN0ZWQ6IHRydWUsCi19KTsKLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb25zID0gT2JqZWN0LmZy
ZWV6ZShbdmFsaWRTaGlwcGluZ09wdGlvbl0pOwotY29uc3QgdmFsaWREZXRhaWxzID0gT2JqZWN0
LmZyZWV6ZSh7Ci0gIHRvdGFsOiB7Ci0gICAgbGFiZWw6ICJUb3RhbCBkdWUiLAotICAgIGFtb3Vu
dDogdmFsaWRBbW91bnQsCi0gIH0sCi0gIHNoaXBwaW5nT3B0aW9uczogdmFsaWRTaGlwcGluZ09w
dGlvbnMsCi19KTsKLWNvbnN0IHZhbGlkT3B0aW9ucyA9IE9iamVjdC5mcmVlemUoewotICByZXF1
ZXN0U2hpcHBpbmc6IHRydWUsCi19KTsKLQotdGVzdCgoKSA9PiB7Ci0gIHRyeSB7Ci0gICAgY29u
c3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCh2YWxpZE1ldGhvZHMsIHZhbGlkRGV0YWls
cyk7Ci0gIH0gY2F0Y2ggKGVycikgewotICAgIGRvbmUoKTsKLSAgICB0aHJvdyBlcnI7Ci0gIH0K
LX0sICJNdXN0IGNvbnN0cnVjdCBhIFBheW1lbnRSZXF1ZXN0IChzbW9rZSB0ZXN0KSIpOwotCi1m
dW5jdGlvbiB0ZXN0RmlyZUV2ZW50cyhidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1
ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcg
UGF5bWVudFJlcXVlc3QoCi0gICAgICB2YWxpZE1ldGhvZHMsCi0gICAgICB2YWxpZERldGFpbHMs
Ci0gICAgICB2YWxpZE9wdGlvbnMKLSAgICApOwotICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5l
cigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgZXZlbnQgPT4gewotICAgICAgLy8gU2FtZSBvcHRp
b24sIHNvIGR1cGxpY2F0ZSBpZHMKLSAgICAgIGNvbnN0IG90aGVyU2hpcHBpbmdPcHRpb24gPSBP
YmplY3QuYXNzaWduKHt9LCB2YWxpZFNoaXBwaW5nT3B0aW9uLCB7Ci0gICAgICAgIGlkOiAib3Ro
ZXIiLAotICAgICAgfSk7Ci0gICAgICBjb25zdCBzaGlwcGluZ09wdGlvbnMgPSBbCi0gICAgICAg
IHZhbGlkU2hpcHBpbmdPcHRpb24sCi0gICAgICAgIG90aGVyU2hpcHBpbmdPcHRpb24sCi0gICAg
ICAgIHZhbGlkU2hpcHBpbmdPcHRpb24sCi0gICAgICBdOwotICAgICAgY29uc3QgbmV3RGV0YWls
cyA9IE9iamVjdC5hc3NpZ24oe30sIHZhbGlkRGV0YWlscywgeyBzaGlwcGluZ09wdGlvbnMgfSk7
Ci0gICAgICBldmVudC51cGRhdGVXaXRoKG5ld0RldGFpbHMpOwotICAgIH0pOwotICAgIGNvbnN0
IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVj
dHNfanMoCi0gICAgICB0LAotICAgICAgVHlwZUVycm9yLAotICAgICAgYWNjZXB0UHJvbWlzZSwK
LSAgICAgICJEdXBsaWNhdGUgc2hpcHBpbmdPcHRpb24gaWRzIG11c3QgYWJvcnQgd2l0aCBUeXBl
RXJyb3IiCi0gICAgKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci0gIGRvbmUo
KTsKLX0KLTwvc2NyaXB0PgotPGgyPnVwZGF0ZVdpdGgoKSBtZXRob2QgLSBkdXBsaWNhdGUgc2hp
cHBpbmdPcHRpb25zIGlkczwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2Vx
dWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAg
RWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4K
LTwvcD4KLTxwPgotICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCBzZWxlY3QgYSBk
aWZmZXJlbnQgc2hpcHBpbmcgYWRkcmVzcy4KLSAgSWYgeW91IGhhdmUgdG8gbWFudWFsbHkgYWJv
cnQgdGhlIHRlc3QgZnJvbSB0aGUgcGF5bWVudCBzaGVldCwgdGhlbiB0aGUKLSAgdGVzdCBoYXMg
ZmFpbGVkLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0Rmly
ZUV2ZW50cyh0aGlzKSI+Ci0gICAgICBJZiB0aGVyZSBhcmUgZHVwbGljYXRlIHNoaXBwaW5nT3B0
aW9uIGlkcywgdGhlbiBhYm9ydCBwYXltZW50IHJlcXVlc3QuCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8
YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMi
PmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVl
c3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1pbmNyZW1lbnRhbC11
cGRhdGUtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3Vw
ZGF0ZVdpdGgtaW5jcmVtZW50YWwtdXBkYXRlLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjMWVkMWI1ZjY4NTBjN2YyNjU2NmZmYjZlOThiMDZlYTUxNzM5
ZTE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1pbmNyZW1lbnRhbC11cGRhdGUtbWFu
dWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOTYgKzAsMCBAQAotPCFkb2N0eXBl
IGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jdXBkYXRld2l0aC1tZXRob2QiPgot
PHRpdGxlPgotICBJbmNyZW1lbnRhbCB1cGRhdGVzIHZpYSB1cGRhdGVXaXRoKCkKLTwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0Pgotc2V0dXAoewotICBleHBsaWNpdF9kb25lOiB0cnVlLAotICBleHBsaWNpdF90aW1lb3V0
OiB0cnVlLAotfSk7Ci0KLWNvbnN0IG1ldGhvZHMgPSBbewotICBzdXBwb3J0ZWRNZXRob2RzOiAi
YmFzaWMtY2FyZCIsCi19LCB7Ci0gIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNv
bS9hcHBsZS1wYXkiLAotICBkYXRhOiB7Ci0gICAgdmVyc2lvbjogMywKLSAgICBtZXJjaGFudElk
ZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCi0gICAgY291bnRyeUNvZGU6ICJVUyIs
Ci0gICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAgICBzdXBwb3J0
ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gIH0KLX1dOwotCi1jb25zdCBvcHRpb25zID0gewotICBy
ZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi19OwotCi1jb25zdCBpbml0aWFsRGV0YWlscyA9IHsKLSAg
dG90YWw6IHsKLSAgICBsYWJlbDogIkluaXRpYWwgdG90YWwiLAotICAgIGFtb3VudDogewotICAg
ICAgY3VycmVuY3k6ICJVU0QiLAotICAgICAgdmFsdWU6ICIxLjAiLAotICAgIH0sCi0gIH0sCi0g
IHNoaXBwaW5nT3B0aW9uczogWwotICAgIHsKLSAgICAgIGlkOiAibmV1dHJhbCIsCi0gICAgICBs
YWJlbDogIk5FVVRSQUwgU0hJUFBJTkcgT1BUSU9OIiwKLSAgICAgIHNlbGVjdGVkOiB0cnVlLAot
ICAgICAgYW1vdW50OiB7Ci0gICAgICAgIGN1cnJlbmN5OiAiVVNEIiwKLSAgICAgICAgdmFsdWU6
ICIwLjAwIiwKLSAgICAgIH0sCi0gICAgfSwKLSAgXSwKLX07Ci0KLWZ1bmN0aW9uIHRlc3RGaXJl
RXZlbnQoYnV0dG9uLCB1cGRhdGVEZXRhaWxzKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7
Ci0gIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QobWV0aG9kcywgaW5pdGlhbERl
dGFpbHMsIG9wdGlvbnMpOwotICBjb25zdCBoYW5kbGVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gewotICAgIHJlcXVlc3Qub25zaGlwcGluZ2FkZHJlc3NjaGFuZ2UgPSBldmVudCA9
PiB7Ci0gICAgICBldmVudC51cGRhdGVXaXRoKHVwZGF0ZURldGFpbHMpOwotICAgICAgcmVzb2x2
ZShldmVudCk7Ci0gICAgfTsKLSAgfSk7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAg
ICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOwotICAgIGNvbnN0IGV2ZW50
ID0gYXdhaXQgaGFuZGxlclByb21pc2U7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1
Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLTwvc2NyaXB0
PgotPGgyPgotICBJbmNyZW1lbnRhbCB1cGRhdGVzCi08L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVh
Y2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hp
bmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVx
dWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgVW5sZXNzIHN0YXRlZCBvdGhlcndpc2UsIGVh
Y2ggdGVzdCB3aWxsIHVwZGF0ZSBzb21lIHBhcnQgb2YgdGhlIGRpc3BsYXllZCBwYXltZW50IHNo
ZWV0IGluCi0gIGEgbWFubmVyIGluZGljYXRlZCBiZWxvdy4gV2hlbiBwcm9tcHRlZCwgcGxlYXNl
IGNoYW5nZSBvciBlbnRlciBhIG5ldwotICBzaGlwcGluZyBhZGRyZXNzLCBsb29rIGZvciB0aGUg
dGVzdGVkIGNoYW5nZSwgYW5kIGNvbXBsZXRlIHRoZSBwYXltZW50LgotPC9wPgotPHA+Ci0gIElm
IHRoZSBwYXltZW50IHJlcXVlc3QgbG9ja3MgdXAgb3Igb3RoZXJ3aXNlIGFib3J0cywgdGhlIHRl
c3QgaGFzIGZhaWxlZC4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0i
dGVzdEZpcmVFdmVudCh0aGlzLCB7fSk7Ij4KLSAgICAgIFBhc3NpbmcgYW4gZW1wdHkgZGljdGlv
bmFyeSBkb2VzIG5vdCBjYXVzZSB0aGUgc2hlZXQgdG8gY2hhbmdlLgotICAgICAgTm8gdmFsdWVz
IGluIHRoZSBzaGVldCBtdXN0IGNoYW5nZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+
Ci0KLTxzZWN0aW9uPgotICA8aDM+SW5jcmVtZW50YWwgdXBkYXRlcyB2aWEgUGF5bWVudERldGFp
bHNVcGRhdGUudG90YWw8L2gzPgotICA8b2w+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNs
aWNrPSIKLSAgICAgIGNvbnN0IHRvdGFsID0gewotICAgICAgICBsYWJlbDogJ1BBU1MnLAotICAg
ICAgICBhbW91bnQ6IHsKLSAgICAgICAgICBjdXJyZW5jeTogJ1hYWCcsCi0gICAgICAgICAgdmFs
dWU6ICcyMCcsCi0gICAgICAgIH0sCi0gICAgICB9OwotICAgICAgY29uc3QgdXBkYXRlZERldGFp
bHMgPSB7IHRvdGFsIH07Ci0gICAgICB0ZXN0RmlyZUV2ZW50KHRoaXMsIHVwZGF0ZWREZXRhaWxz
KTsiPgotICAgICAgICBBZnRlciBjaGFuZ2luZyBzaGlwcGluZyBhZGRyZXNzLCB0aGUgdG90YWwg
YmVjb21lcyBYWFgyMCwgd2l0aCB0aGUgbGFiZWwgIlBBU1MiLgotICAgICAgPC9idXR0b24+Ci0g
ICAgPC9saT4KLSAgPC9vbD4KLTwvc2VjdGlvbj4KLQotPHNlY3Rpb24+Ci0gIDxoMz5JbmNyZW1l
bnRhbCB1cGRhdGVzIHZpYSBQYXltZW50RGV0YWlsc0Jhc2UuZGlzcGxheUl0ZW1zPC9oMz4KLSAg
PG9sPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICBjb25zdCBpdGVt
ID0gewotICAgICAgICBsYWJlbDogJ1BBU1MnLAotICAgICAgICBhbW91bnQ6IHsgY3VycmVuY3k6
ICdBQkMnLCB2YWx1ZTogJzU1LjAwJyB9LAotICAgICAgfTsKLSAgICAgIGNvbnN0IHVwZGF0ZWRE
ZXRhaWxzID0gewotICAgICAgICBkaXNwbGF5SXRlbXM6IFsgaXRlbSBdCi0gICAgICB9OwotICAg
ICAgdGVzdEZpcmVFdmVudCh0aGlzLCB1cGRhdGVkRGV0YWlscyk7Ij4KLSAgICAgICAgQWZ0ZXIg
Y2hhbmdpbmcgc2hpcHBpbmcgYWRkcmVzcywgYSBuZXcgZGlzcGxheSBpdGVtIGlzIHNob3duCi0g
ICAgICAgIHdpdGggYSB3aXRoIGxhYmVsIFBBU1MsIGFuZCB2YWx1ZSBvZiBBQkM1NS4wMC4KLSAg
ICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0gIDwvb2w+Ci08L3NlY3Rpb24+Ci0KLTxzZWN0aW9u
PgotICA8aDM+SW5jcmVtZW50YWwgdXBkYXRlcyB2aWEgUGF5bWVudERldGFpbHNCYXNlLnNoaXBw
aW5nT3B0aW9uczwvaDM+Ci0gIDxvbD4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9
IgotICAgICAgY29uc3Qgc2hpcHBpbmdPcHRpb25zID0gWwotICAgICAgICB7Ci0gICAgICAgICAg
aWQ6ICdwYXNzJywKLSAgICAgICAgICBsYWJlbDogJ1BBU1MnLAotICAgICAgICAgIGFtb3VudDog
eyBjdXJyZW5jeTogJ1VTRCcsIHZhbHVlOiAnMS4wMCcgfSwKLSAgICAgICAgICBzZWxlY3RlZDog
dHJ1ZSwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgIGlkOiAnZmFpbCcsCi0gICAg
ICAgICAgbGFiZWw6ICdGQUlMIElGIFRISVMgSVMgU0VMRUNURUQnLAotICAgICAgICAgIGFtb3Vu
dDogeyBjdXJyZW5jeTogJ1VTRCcsIHZhbHVlOiAnMjUuMDAnIH0KLSAgICAgICAgfSwKLSAgICAg
IF07Ci0gICAgICBjb25zdCB1cGRhdGVkRGV0YWlscyA9IHsKLSAgICAgICAgc2hpcHBpbmdPcHRp
b25zCi0gICAgICB9OwotICAgICAgdGVzdEZpcmVFdmVudCh0aGlzLCB1cGRhdGVkRGV0YWlscyk7
Ij4KLSAgICAgICAgQWZ0ZXIgY2hhbmdpbmcgc2hpcHBpbmcgYWRkcmVzcywgdHdvIG5ldyBzaGlw
cGluZyBvcHRpb25zIGFwcGVhci4KLSAgICAgICAgVGhlIHNoaXBwaW5nIG9wdGlvbiBsYWJlbGxl
ZCAiUEFTUyIgd2l0aCBhIHZhbHVlIG9mIFVTRDEuMCBpcyBzZWxlY3RlZC4KLSAgICAgIDwvYnV0
dG9uPgotICAgIDwvbGk+Ci0gIDwvb2w+Ci08L3NlY3Rpb24+Ci0KLTxzZWN0aW9uPgotICA8aDM+
SW5jcmVtZW50YWwgdXBkYXRlcyB2aWEgUGF5bWVudERldGFpbHNCYXNlLm1vZGlmaWVyczwvaDM+
Ci0gIDxvbD4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAgY29uc3Qg
YWRkaXRpb25hbEl0ZW0gPSB7Ci0gICAgICAgIGxhYmVsOiAnUEFTUy1ESVNQTEFZLUlURU0nLAot
ICAgICAgICBhbW91bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2YWx1ZTogJzMuMDAnIH0sCi0gICAg
ICB9OwotICAgICAgY29uc3QgbW9kaWZpZXJzID0gW3sKLSAgICAgICAgYWRkaXRpb25hbERpc3Bs
YXlJdGVtczogWyBhZGRpdGlvbmFsSXRlbSBdLAotICAgICAgICBzdXBwb3J0ZWRNZXRob2RzOiAn
YmFzaWMtY2FyZCcsCi0gICAgICAgIHRvdGFsOiB7Ci0gICAgICAgICAgbGFiZWw6ICdQQVNTLVRP
VEFMJywKLSAgICAgICAgICBhbW91bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2YWx1ZTogJzEyMy4w
MCcgfSwKLSAgICAgICAgfSwKLSAgICAgIH1dOwotICAgICAgY29uc3QgdXBkYXRlZERldGFpbHMg
PSB7IG1vZGlmaWVycyB9OwotICAgICAgdGVzdEZpcmVFdmVudCh0aGlzLCB1cGRhdGVkRGV0YWls
cyk7Ij4KLSAgICAgICAgQWZ0ZXIgY2hhbmdpbmcgc2hpcHBpbmcgYWRkcmVzcywgYSBuZXcgZGlz
cGxheSBpdGVtIGlzIHNob3duCi0gICAgICAgIHdpdGggYSB3aXRoIGxhYmVsIFBBU1MtRElTUExB
WS1JVEVNLCBhbmQgdmFsdWUgb2YgQUJDNTUuMDAgYW5kIHRoZSB0b3RhbCBpcwotICAgICAgICBs
YWJlbGxlZCBQQVNTLVRPVEFMIHdpdGggYSB2YWx1ZSBvZiBVU0QxMjMuMAotICAgICAgPC9idXR0
b24+Ci0gICAgPC9saT4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9ImRvbmUoKSI+
RE9ORSAtIHNlZSByZXN1bHRzPC9idXR0b24+Ci0gICAgPC9saT4KLSAgPC9vbD4KLTwvc2VjdGlv
bj4KLQotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVm
PSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUg
YSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5j
b20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVU
QS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1tZXRob2QtYWJvcnQtdXBkYXRl
LW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVX
aXRoLW1ldGhvZC1hYm9ydC11cGRhdGUtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGUyNDQ1MmMyYTk5ZDMwMWI4ZWFjMDMzMDgzZTM3OTVlNTRiYmUxNmEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVu
dFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLW1ldGhvZC1hYm9ydC11cGRhdGUtbWFudWFs
Lmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyODYgKzAsMCBAQAotPCFkb2N0eXBlIGh0
bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jZGZuLWFib3J0LXRoZS11cGRhdGUiPgot
PHRpdGxlPgotICB1cGRhdGVXaXRoKCkgbWV0aG9kIC0gImFib3J0IHRoZSB1cGRhdGUiCi08L3Rp
dGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLXNldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRfdGltZW91dDog
dHJ1ZSB9KTsKLQotLy8gUGF5bWVudE1ldGhvZAotY29uc3QgdmFsaWRNZXRob2QgPSBPYmplY3Qu
ZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogInZhbGlkLWJ1dC13b250LWV2ZXItbWF0Y2gi
LAotfSk7Ci0KLWNvbnN0IHZhbGlkTWV0aG9kQmFzaWNDYXJkID0gT2JqZWN0LmZyZWV6ZSh7Ci0g
IHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiwKLX0pOwotCi1jb25zdCBhcHBsZVBheSA9
IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20v
YXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0gICAgbWVyY2hhbnRJZGVu
dGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50cnlDb2RlOiAiVVMiLAot
ICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgc3VwcG9ydGVk
TmV0d29ya3M6IFsidmlzYSJdLAotICB9Ci19KTsKLQotLy8gTWV0aG9kcwotY29uc3QgdmFsaWRN
ZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbdmFsaWRNZXRob2RCYXNpY0NhcmQsIHZhbGlkTWV0aG9k
LCBhcHBsZVBheV0pOwotCi0vLyBBbW91bnRzCi1jb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5m
cmVlemUoewotICBjdXJyZW5jeTogIlVTRCIsCi0gIHZhbHVlOiAiMS4wMCIsCi19KTsKLQotY29u
c3QgaW52YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5jeTogIsKhSU5WQUxJ
RCEiLAotICB2YWx1ZTogIkExLjAiLAotfSk7Ci0KLWNvbnN0IG5lZ2F0aXZlQW1vdW50ID0gT2Jq
ZWN0LmZyZWV6ZSh7Ci0gIGN1cnJlbmN5OiAiVVNEIiwKLSAgdmFsdWU6ICItMS4wMCIsCi19KTsK
LQotLy8gVG90YWxzCi1jb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGxhYmVs
OiAiVmFsaWQgVG90YWwiLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotfSk7Ci0KLWNvbnN0IGlu
dmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICBsYWJlbDogIkludmFsaWQgVG90YWwiLAot
ICBhbW91bnQ6IGludmFsaWRBbW91bnQsCi19KTsKLQotY29uc3QgaW52YWxpZE5lZ2F0aXZlVG90
YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6ICJJbnZhbGlkIG5lZ2F0aXZlIHRvdGFsIiwK
LSAgYW1vdW50OiBuZWdhdGl2ZUFtb3VudCwKLX0pOwotCi0vLyBQYXltZW50RGV0YWlsc0luaXQK
LWNvbnN0IHZhbGlkRGV0YWlscyA9IE9iamVjdC5mcmVlemUoewotICB0b3RhbDogdmFsaWRUb3Rh
bCwKLX0pOwotCi1jb25zdCBpbnZhbGlkRGV0YWlsc05lZ2F0aXZlVG90YWwgPSBPYmplY3QuZnJl
ZXplKHsKLSAgdG90YWw6IGludmFsaWROZWdhdGl2ZVRvdGFsLAotfSk7Ci0KLS8vIFBheW1lbnRP
cHRpb25zCi1jb25zdCB2YWxpZE9wdGlvbnMgPSBPYmplY3QuZnJlZXplKHsKLSAgcmVxdWVzdFNo
aXBwaW5nOiB0cnVlLAotfSk7Ci0KLS8vIFBheW1lbnRJdGVtCi1jb25zdCB2YWxpZFBheW1lbnRJ
dGVtID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGFtb3VudDogdmFsaWRBbW91bnQsCi0gIGxhYmVsOiAi
VmFsaWQgcGF5bWVudCBpdGVtIiwKLX0pOwotCi1jb25zdCBpbnZhbGlkUGF5bWVudEl0ZW0gPSBP
YmplY3QuZnJlZXplKHsKLSAgYW1vdW50OiBpbnZhbGlkQW1vdW50LAotICBsYWJlbDogIkludmFs
aWQgcGF5bWVudCBpdGVtIiwKLX0pOwotCi0vLyBQYXltZW50SXRlbQotY29uc3QgdmFsaWRQYXlt
ZW50SXRlbXMgPSBPYmplY3QuZnJlZXplKFt2YWxpZFBheW1lbnRJdGVtXSk7Ci1jb25zdCBpbnZh
bGlkUGF5bWVudEl0ZW1zID0gT2JqZWN0LmZyZWV6ZShbaW52YWxpZFBheW1lbnRJdGVtXSk7Ci0K
LS8vIFBheW1lbnRTaGlwcGluZ09wdGlvbgotY29uc3QgaW52YWxpZFNoaXBwaW5nT3B0aW9uID0g
T2JqZWN0LmZyZWV6ZSh7Ci0gIGlkOiAiYWJjIiwKLSAgbGFiZWw6ICJJbnZhbGlkIHNoaXBwaW5n
IG9wdGlvbiIsCi0gIGFtb3VudDogaW52YWxpZEFtb3VudCwKLSAgc2VsZWN0ZWQ6IHRydWUsCi19
KTsKLQotLy8gUGF5bWVudFNoaXBwaW5nT3B0aW9ucwotY29uc3QgdmFsaWRTaGlwcGluZ09wdGlv
biA9IE9iamVjdC5mcmVlemUoewotICBpZDogImFiYyIsCi0gIGxhYmVsOiAidmFsaWQgc2hpcHBp
bmcgb3B0aW9uIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLX0pOwotCi1jb25zdCB2YWxpZFNo
aXBwaW5nT3B0aW9ucyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkU2hpcHBpbmdPcHRpb25dKTsKLWNv
bnN0IGludmFsaWRTaGlwcGluZ09wdGlvbnMgPSBPYmplY3QuZnJlZXplKFtpbnZhbGlkU2hpcHBp
bmdPcHRpb25dKTsKLQotLy8gUGF5bWVudERldGFpbHNNb2RpZmllcgotY29uc3QgdmFsaWRNb2Rp
ZmllciA9IE9iamVjdC5mcmVlemUoewotICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiB2YWxpZFBh
eW1lbnRJdGVtcywKLSAgc3VwcG9ydGVkTWV0aG9kczogInZhbGlkLWJ1dC13b250LWV2ZXItbWF0
Y2giLAotICB0b3RhbDogdmFsaWRUb3RhbCwKLX0pOwotCi1jb25zdCBtb2RpZmllcldpdGhJbnZh
bGlkRGlzcGxheUl0ZW1zID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGFkZGl0aW9uYWxEaXNwbGF5SXRl
bXM6IGludmFsaWRQYXltZW50SXRlbXMsCi0gIHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJk
IiwKLSAgdG90YWw6IHZhbGlkVG90YWwsCi19KTsKLQotY29uc3QgbW9kaWZpZXJXaXRoVmFsaWRE
aXNwbGF5SXRlbXMgPSBPYmplY3QuZnJlZXplKHsKLSAgYWRkaXRpb25hbERpc3BsYXlJdGVtczog
dmFsaWRQYXltZW50SXRlbXMsCi0gIHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiwKLSAg
dG90YWw6IHZhbGlkVG90YWwsCi19KTsKLQotY29uc3QgbW9kaWZpZXJXaXRoSW52YWxpZFRvdGFs
ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXM6IHZhbGlkUGF5bWVu
dEl0ZW1zLAotICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0gIHRvdGFsOiBpbnZh
bGlkVG90YWwsCi19KTsKLQotY29uc3QgcmVjdXJzaXZlRGF0YSA9IHt9OwotcmVjdXJzaXZlRGF0
YS5mb28gPSByZWN1cnNpdmVEYXRhOwotT2JqZWN0LmZyZWV6ZShyZWN1cnNpdmVEYXRhKTsKLQot
Y29uc3QgbW9kaWZpZXJXaXRoUmVjdXJzaXZlRGF0YSA9IE9iamVjdC5mcmVlemUoewotICBzdXBw
b3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0gIHRvdGFsOiB2YWxpZFRvdGFsLAotICBkYXRh
OiByZWN1cnNpdmVEYXRhLAotfSk7Ci0KLWZ1bmN0aW9uIHRlc3RCYWRVcGRhdGUoYnV0dG9uLCBi
YWREZXRhaWxzLCBleHBlY3RlZEVycm9yLCBlcnJvckNvZGUpIHsKLSAgYnV0dG9uLmRpc2FibGVk
ID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHJlcXVlc3Qg
PSBuZXcgUGF5bWVudFJlcXVlc3QoCi0gICAgICB2YWxpZE1ldGhvZHMsCi0gICAgICB2YWxpZERl
dGFpbHMsCi0gICAgICB2YWxpZE9wdGlvbnMKLSAgICApOwotICAgIHJlcXVlc3Qub25zaGlwcGlu
Z2FkZHJlc3NjaGFuZ2UgPSBldmVudCA9PiB7Ci0gICAgICBldmVudC51cGRhdGVXaXRoKGJhZERl
dGFpbHMpOwotICAgIH07Ci0gICAgLy8gRmlyc3Qgd2UgY2hlY2sgdGhlIGJhZCB1cGRhdGUuCi0g
ICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJlcXVlc3Quc2hvdygpOwotICAgIGxldCB0ZXN0X2Z1
bmM7Ci0gICAgaWYgKHR5cGVvZiBleHBlY3RlZEVycm9yID09ICJmdW5jdGlvbiIpIHsKLSAgICAg
IHRlc3RfZnVuYyA9IHByb21pc2VfcmVqZWN0c19qczsKLSAgICB9IGVsc2UgewotICAgICAgdGVz
dF9mdW5jID0gcHJvbWlzZV9yZWplY3RzX2RvbTsKLSAgICB9Ci0gICAgYXdhaXQgdGVzdF9mdW5j
KAotICAgICAgdCwKLSAgICAgIGV4cGVjdGVkRXJyb3IsCi0gICAgICBhY2NlcHRQcm9taXNlLAot
ICAgICAgImJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9taXNlIHRvIHJlamVjdCB3aXRo
IGV4cGVjdGVkRXJyb3IiCi0gICAgKTsKLSAgICAvLyBUaGUgcmVxdWVzdCBbW3N0YXRlXV0gaXMg
bm93ICJjbG9zZWQiLCBzbyBsZXQncyBjaGVjayBmb3IgSW52YWxpZFN0YXRlRXJyb3IKLSAgICBh
d2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJJbnZhbGlkU3RhdGVF
cnJvciIsCi0gICAgICByZXF1ZXN0LnNob3coKSwKLSAgICAgICJzaG93KCkgbXVzdCByZWplY3Qg
d2l0aCBJbnZhbGlkU3RhdGVFcnJvciIKLSAgICApOwotICB9LCBidXR0b24uaW5uZXJUZXh0LnRy
aW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj51cGRhdGVXaXRoKCkgbWV0aG9kIC0gImFib3J0IHRo
ZSB1cGRhdGUiPC9oMj4KLTxwPgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBm
cm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1
dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgot
PHA+Ci0gIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIGNoYW5nZSB0aGUgc2hpcHBp
bmcgYWRkcmVzcy4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0g
ICAgICBjb25zdCByZWplY3RlZFByb21pc2UgPSBQcm9taXNlLnJlamVjdChuZXcgU3ludGF4RXJy
b3IoJ3Rlc3QnKSk7Ci0gICAgICB0ZXN0QmFkVXBkYXRlKHRoaXMsIHJlamVjdGVkUHJvbWlzZSwg
J0Fib3J0RXJyb3InKTsKLSAgICAiPgotICAgICAgUmVqZWN0aW9uIG9mIGRldGFpbHNQcm9taXNl
IG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGFuICJBYm9ydEVycm9yIiBET01FeGNlcHRpb24u
Ci0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Igot
ICAgICAgY29uc3QgaW52YWxpZERldGFpbHMgPSB7IHRvdGFsOiBgdGhpcyB3aWxsIGNhdXNlIGEg
VHlwZUVycm9yIWAgfTsKLSAgICAgIHRlc3RCYWRVcGRhdGUodGhpcywgaW52YWxpZERldGFpbHMs
IFR5cGVFcnJvcik7Ci0gICAgIj4KLSAgICAgIFRvdGFsIGluIHRoZSB1cGRhdGUgaXMgYSBzdHJp
bmcsIHNvIGNvbnZlcnRpbmcgdG8gSURMIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGEgVHlw
ZUVycm9yLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNs
aWNrPSIKLSAgICAgIGNvbnN0IGludmFsaWREZXRhaWxzID0geyB0b3RhbDogcmVjdXJzaXZlRGF0
YSB9OwotICAgICAgdGVzdEJhZFVwZGF0ZSh0aGlzLCBpbnZhbGlkRGV0YWlscywgVHlwZUVycm9y
KTsKLSAgICAiPgotICAgICAgVG90YWwgaXMgcmVjdXJzaXZlLCBzbyBjb252ZXJ0aW5nIHRvIElE
TCBtdXN0IGFib3J0IHRoZSB1cGRhdGUgd2l0aCBhIFR5cGVFcnJvci4KLSAgICA8L2J1dHRvbj4K
LSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICB0ZXN0QmFkVXBk
YXRlKHRoaXMsIGludmFsaWREZXRhaWxzTmVnYXRpdmVUb3RhbCwgVHlwZUVycm9yKTsKLSAgICAi
PgotICAgICAgVXBkYXRpbmcgd2l0aCBhIG5lZ2F0aXZlIHRvdGFsIHJlc3VsdHMgaW4gYSBUeXBl
RXJyb3IuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xp
Y2s9IgotICAgICAgY29uc3QgYmFkRGV0YWlscyA9IE9iamVjdC5hc3NpZ24oe30sIHZhbGlkRGV0
YWlscywgeyBkaXNwbGF5SXRlbXM6IGludmFsaWRQYXltZW50SXRlbXMgfSk7Ci0gICAgICB0ZXN0
QmFkVXBkYXRlKHRoaXMsIGJhZERldGFpbHMsIFJhbmdlRXJyb3IpOwotICAgICI+Ci0gICAgICBV
cGRhdGluZyB3aXRoIGEgZGlzcGxheUl0ZW0gd2l0aCBhbiBpbnZhbGlkIGN1cnJlbmN5IHJlc3Vs
dHMgaW4gUmFuZ2VFcnJvci4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxi
dXR0b24gb25jbGljaz0iCi0gICAgICBjb25zdCBkdXBsaWNhdGVTaGlwcGluZ09wdGlvbnMgPSBb
dmFsaWRTaGlwcGluZ09wdGlvbiwgdmFsaWRTaGlwcGluZ09wdGlvbl07Ci0gICAgICBjb25zdCBi
YWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCB7IHNoaXBwaW5nT3B0
aW9uczogZHVwbGljYXRlU2hpcHBpbmdPcHRpb25zIH0pOwotICAgICAgdGVzdEJhZFVwZGF0ZSh0
aGlzLCBiYWREZXRhaWxzLCBUeXBlRXJyb3IpOwotICAgICI+Ci0gICAgICBVcGRhdGluZyB3aXRo
IGR1cGxpY2F0ZSBzaGlwcGluZ09wdGlvbnMgKHNhbWUgSURzKSByZXN1bHRzIGluIGEgVHlwZUVy
cm9yLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNr
PSIKLSAgICAgIGNvbnN0IGJhZERldGFpbHMgPSBPYmplY3QuYXNzaWduKHt9LCB2YWxpZERldGFp
bHMsIHsgc2hpcHBpbmdPcHRpb25zOiBpbnZhbGlkU2hpcHBpbmdPcHRpb25zIH0pOwotICAgICAg
dGVzdEJhZFVwZGF0ZSh0aGlzLCBiYWREZXRhaWxzLCBSYW5nZUVycm9yKTsKLSAgICAiPgotICAg
ICAgVXBkYXRpbmcgd2l0aCBhIHNoaXBwaW5nT3B0aW9uIHdpdGggYW4gaW52YWxpZCBjdXJyZW5j
eSB2YWx1ZSByZXN1bHRzIGluIGEgUmFuZ0Vycm9yLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgIC8vIHZhbGlkTW9kaWZpZXIgaXMg
dGhlcmUgYXMgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIC0gaXQgc2hvdWxkIGp1c3QgZ2V0IGln
bm9yZWQKLSAgICAgIGNvbnN0IGJhZE1vZGlmaWVycyA9IHsgbW9kaWZpZXJzOiBbIG1vZGlmaWVy
V2l0aEludmFsaWRUb3RhbCwgdmFsaWRNb2RpZmllciBdIH07Ci0gICAgICBjb25zdCBiYWREZXRh
aWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCBiYWRNb2RpZmllcnMpOwotICAg
ICAgdGVzdEJhZFVwZGF0ZSh0aGlzLCBiYWREZXRhaWxzLCBSYW5nZUVycm9yKTsKLSAgICAiPgot
ICAgICAgTXVzdCB0aHJvdyBhIFJhbmdlRXJyb3Igd2hlbiBhIG1vZGlmaWVyJ3MgdG90YWwgaXRl
bSBoYXMgYW4gaW52YWxpZCBjdXJyZW5jeS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxp
PgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICAvLyB2YWxpZE1vZGlmaWVyIGlzIHRoZXJl
IGFzIHRvIGF2b2lkIGZhbHNlIHBvc2l0aXZlcyAtIGl0IHNob3VsZCBqdXN0IGdldCBpZ25vcmVk
Ci0gICAgICBjb25zdCBiYWRNb2RpZmllcnMgPSB7IG1vZGlmaWVyczogWyBtb2RpZmllcldpdGhJ
bnZhbGlkRGlzcGxheUl0ZW1zLCB2YWxpZE1vZGlmaWVyIF0gfTsKLSAgICAgIGNvbnN0IGJhZERl
dGFpbHMgPSBPYmplY3QuYXNzaWduKHt9LCB2YWxpZERldGFpbHMsIGJhZE1vZGlmaWVycyk7Ci0g
ICAgICB0ZXN0QmFkVXBkYXRlKHRoaXMsIGJhZERldGFpbHMsIFJhbmdlRXJyb3IpOwotICAgICI+
Ci0gICAgICBNdXN0IHRocm93IGEgUmFuZ2VFcnJvciB3aGVuIGEgbW9kaWZpZXIgZGlzcGxheSBp
dGVtIGhhcyBhbiBpbnZhbGlkIGN1cnJlbmN5LgotICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxs
aT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAgLy8gdmFsaWRNb2RpZmllciBpcyB0aGVy
ZSBhcyB0byBhdm9pZCBmYWxzZSBwb3NpdGl2ZXMgLSBpdCBzaG91bGQganVzdCBnZXQgaWdub3Jl
ZAotICAgICAgY29uc3QgYmFkTW9kaWZpZXJzID0geyBtb2RpZmllcnM6IFsgbW9kaWZpZXJXaXRo
UmVjdXJzaXZlRGF0YSwgdmFsaWRNb2RpZmllciBdIH07Ci0gICAgICBjb25zdCBiYWREZXRhaWxz
ID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCBiYWRNb2RpZmllcnMpOwotICAgICAg
dGVzdEJhZFVwZGF0ZSh0aGlzLCBiYWREZXRhaWxzLCBUeXBlRXJyb3IpOwotICAgICI+Ci0gICAg
ICBNdXN0IHRocm93IGFzIE1vZGlmaWVyIGhhcyBhIHJlY3Vyc2l2ZSBkaWN0aW9uYXJ5LgotICAg
IDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCk7
Ij5Eb25lITwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQg
YSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0
aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxv
Yi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9h
Pi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3Vw
ZGF0ZVdpdGgtc3RhdGUtY2hlY2tzLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLXN0YXRlLWNoZWNrcy1tYW51YWwuaHR0cHMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmIxNmRlNTY5OWFhNzRlOWZiNzE3ODhlMjM3
OGRmNmUyMTg0N2YxMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtc3RhdGUtY2hlY2tz
LW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTI1ICswLDAgQEAKLTwhZG9j
dHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9wYXltZW50LXJlcXVlc3QvI3VwZGF0ZXdpdGgoKS1tZXRo
b2QiPgotPHRpdGxlPnVwZGF0ZVdpdGgoKSBtZXRob2QgLSBzdGF0ZSBtYWNoaW5lIGNoZWNrczwv
dGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0
OiB0cnVlIH0pOwotY29uc3QgYXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVk
TWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gIGRhdGE6IHsKLSAgICB2
ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxl
IiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJz
dXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgfQotfSk7
Ci1jb25zdCB2YWxpZE1ldGhvZCA9IE9iamVjdC5mcmVlemUoeyBzdXBwb3J0ZWRNZXRob2RzOiAi
YmFzaWMtY2FyZCIgfSk7Ci1jb25zdCB2YWxpZE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFt2YWxp
ZE1ldGhvZCwgYXBwbGVQYXldKTsKLWNvbnN0IHZhbGlkQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7
IGN1cnJlbmN5OiAiVVNEIiwgdmFsdWU6ICI1LjAwIiB9KTsKLWNvbnN0IHZhbGlkVG90YWwgPSBP
YmplY3QuZnJlZXplKHsKLSAgbGFiZWw6ICJsYWJlbCIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQs
Ci19KTsKLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6
ICJhLXNoaXBwaW5nLW9wdGlvbiIsCi0gIGxhYmVsOiAiQSBzaGlwcGluZyBvcHRpb24iLAotICBh
bW91bnQ6IHZhbGlkQW1vdW50LAotICBzZWxlY3RlZDogdHJ1ZSwKLX0pOwotY29uc3QgdmFsaWRE
ZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB2YWxpZFRvdGFsLAotICBzaGlwcGlu
Z09wdGlvbnM6IFt2YWxpZFNoaXBwaW5nT3B0aW9uXSwKLX0pOwotY29uc3QgdmFsaWRPcHRpb25z
ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwKLX0pOwotCi1mdW5j
dGlvbiBnZXRQYXltZW50UHJvbWlzZXMoKSB7Ci0gIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVu
dFJlcXVlc3QodmFsaWRNZXRob2RzLCB2YWxpZERldGFpbHMsIHZhbGlkT3B0aW9ucyk7Ci0gIGNv
bnN0IGV2ZW50UHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgIHJlcXVlc3Qu
YWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgcmVzb2x2ZSk7Ci0gIH0p
OwotICBjb25zdCByZXNwb25zZVByb21pc2UgPSByZXF1ZXN0LnNob3coKTsKLSAgcmV0dXJuIHsg
ZXZlbnRQcm9taXNlLCByZXNwb25zZVByb21pc2UgfTsKLX0KLQotZnVuY3Rpb24gdGVzdFJlcXVl
c3RJc0Nsb3NlZChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gInRydWUiOwotICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgeyBldmVudFByb21pc2UsIHJlc3BvbnNl
UHJvbWlzZSB9ID0gZ2V0UGF5bWVudFByb21pc2VzKCk7Ci0gICAgY29uc3QgZXZlbnQgPSBhd2Fp
dCBldmVudFByb21pc2U7Ci0gICAgLy8gV2UgYXJlIGdvaW5nIHRvIGFib3J0IHRoZSByZXNwb25z
ZVByb21pc2UsIHNvIHdlIGNhbiBpZ25vcmUgZXJyb3IuCi0gICAgcmVzcG9uc2VQcm9taXNlLmNh
dGNoKGVyciA9PiBlcnIpOwotICAgIC8vIFNldCByZXF1ZXN0Lltbc3RhdGVdXSB0byBjbG9zZWQK
LSAgICBhd2FpdCBldmVudC50YXJnZXQuYWJvcnQoKTsKLSAgICBhc3NlcnRfdGhyb3dzX2RvbSgK
LSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIGV2ZW50
LnVwZGF0ZVdpdGgodmFsaWREZXRhaWxzKTsKLSAgICAgIH0sCi0gICAgICAicmVxdWVzdC5bW3N0
YXRlXV0gaXMgbm90IGludGVyYWN0aXZlLCBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9y
LiIKLSAgICApOwotICAgIHJlc3BvbnNlUHJvbWlzZS5jYXRjaChlcnIgPT4gZXJyKTsKLSAgfSwg
YnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RSZXF1ZXN0SXNV
cGRhdGluZyhidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gInRydWUiOwotICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgeyBldmVudFByb21pc2UsIHJlc3BvbnNlUHJv
bWlzZSB9ID0gZ2V0UGF5bWVudFByb21pc2VzKCk7Ci0gICAgY29uc3QgZXZlbnQgPSBhd2FpdCBl
dmVudFByb21pc2U7Ci0gICAgLy8gV2UgYXJlIGdvaW5nIHRvIHB1dCBhIHByb21pc2UgaW50byBh
IHBlbmRpbmcgc3RhdGUKLSAgICAvLyBjaGVjayB0aGF0IGEgc2Vjb25kIGNhbGwgdG8gdXBkYXRl
V2l0aCgpIHRocm93cywKLSAgICAvLyB0aGVuIHJlc29sdmUgdGhlIHBlbmRpbmcgcHJvbWlzZSBi
ZWxvdy4KLSAgICBsZXQgcmVzb2x2ZXI7Ci0gICAgY29uc3QgcGVuZGluZ1Byb21pc2UgPSBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIHJlc29sdmVyID0gcmVzb2x2ZTsKLSAgICB9KTsK
LSAgICAvLyBTZXQgcmVxdWVzdC5bW3VwZGF0aW5nXV0gdG8gdHJ1ZQotICAgIGV2ZW50LnVwZGF0
ZVdpdGgocGVuZGluZ1Byb21pc2UpOwotICAgIGFzc2VydF90aHJvd3NfZG9tKAotICAgICAgIklu
dmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgICgpID0+IHsKLSAgICAgICAgZXZlbnQudXBkYXRlV2l0
aCh2YWxpZERldGFpbHMpOwotICAgICAgfSwKLSAgICAgICJyZXF1ZXN0LltbdXBkYXRpbmddXSB0
byB0cnVlLCBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yLiIKLSAgICApOwotICAgIC8v
IFdlIGdvdCB0aGUgZXJyb3Igd2Ugd2FudGVkLCBzbyBsZXQncyByZXNvbHZlIHdpdGggdmFsaWQg
ZGV0YWlscy4KLSAgICByZXNvbHZlcih2YWxpZERldGFpbHMpOwotICAgIGF3YWl0IHBlbmRpbmdQ
cm9taXNlOwotICAgIGF3YWl0IGV2ZW50LnRhcmdldC5hYm9ydCgpOwotICAgIHJlc3BvbnNlUHJv
bWlzZS5jYXRjaChlcnIgPT4gZXJyKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7
Ci19Ci0KLTwvc2NyaXB0PgotPGgyPnVwZGF0ZVdpdGgoKSBtZXRob2QgLSBzdGF0ZSBtYWNoaW5l
IGNoZWNrczwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJv
bSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0
b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxw
PgotICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCBzZWxlY3QgYSBkaWZmZXJlbnQg
c2hpcHBpbmcgYWRkcmVzcyBvbmNlLiBUaGVuIHBheS4KLTwvcD4KLTxvbD4KLSAgPGxpIGlkPSJ0
ZXN0LTAiPgotICAgIDxidXR0b24gb25jbGljaz0idGVzdFJlcXVlc3RJc0Nsb3NlZCh0aGlzKTsi
PgotICAgICAgV2hlbiB1cGRhdGVXaXRoKCkgaXMgY2FsbGVkLCBpZiByZXF1ZXN0Lltbc3RhdGVd
XSBpcyBub3QgImludGVyYWN0aXZlIiwgdGhlbiB0aHJvdyBhbiAiIEludmFsaWRTdGF0ZUVycm9y
IiBET01FeGNlcHRpb24uCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaSBpZD0idGVzdC0x
Ij4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RSZXF1ZXN0SXNVcGRhdGluZyh0aGlzKTsiPgot
ICAgICAgV2hlbiB1cGRhdGVXaXRoKCkgaXMgY2FsbGVkLCBJZiByZXF1ZXN0LltbdXBkYXRpbmdd
XSBpcyB0cnVlLCB0aGVuIHRocm93IGFuICJJbnZhbGlkU3RhdGVFcnJvciIgRE9NRXhjZXB0aW9u
LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJk
b25lKCk7Ij5Eb25lITwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91
IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9u
ZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3
ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2
ZW50L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC93M2MtaW1w
b3J0LmxvZwppbmRleCBkNDY4OTkzOTcxZjVhMWY5NTI2ZTc0NjFiYTE4M2MzNDQwODFiOTYxLi5h
ZmU3YjVjMzVkMjhhMGY3MzZhZTcyNzc5MDUzYmRmNDFjZjU2MjFkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9Q
YXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRS
ZXF1ZXN0VXBkYXRlRXZlbnQvdzNjLWltcG9ydC5sb2cKQEAgLTE2LDkgKzE2LDQgQEAgTm9uZQog
TGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L2NvbnN0cnVjdG9y
Lmh0dHAuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvY29uc3RydWN0b3IuaHR0
cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1jYWxsLWlt
bWVkaWF0ZS1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQv
dXBkYXRlV2l0aC1kdXBsaWNhdGUtc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMuaHRtbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1pbmNyZW1lbnRhbC11cGRh
dGUtbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0
ZVdpdGgtbWV0aG9kLWFib3J0LXVwZGF0ZS1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRS
ZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1zdGF0ZS1jaGVja3MtbWFudWFsLmh0dHBzLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZXdpdGgtbWV0aG9kLmh0dHBz
Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNob3dz
LWVycm9yLW1lbWJlci1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJy
b3JzL3JldHJ5LXNob3dzLWVycm9yLW1lbWJlci1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOTEzNTUyMGNkNzYyZjNlNjI4NmI1ZjNiYTU3MmY4OGNhZTky
MGZhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9Q
YXltZW50VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1lcnJvci1tZW1iZXItbWFudWFsLmh0
dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4K
LTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3cz
Yy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5bWVudHZhbGlkYXRpb25lcnJvcnMt
ZXJyb3IiPgotPHRpdGxlPgotICBQYXltZW50VmFsaWRhdGlvbkVycm9ycycgYGVycm9yYCBtZW1i
ZXIKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcGF5bWVudC1yZXNwb25zZS9oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiByZXRyeVNob3dzRXJyb3JNZW1iZXIoYnV0dG9uKSB7
Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
LSAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNl
KCk7Ci0gICAgYXdhaXQgcmVzcG9uc2UucmV0cnkoeyBlcnJvcjogIlBBU1MiIH0pOwotICAgIGF3
YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVu
dC50cmltKCkpOwotfQotPC9zY3JpcHQ+Ci08aDI+Ci0gIE1hbnVhbCBUZXN0IGZvciBQYXltZW50
VmFsaWRhdGlvbkVycm9ycydzIGBlcnJvcmAgbWVtYmVyIC0gUGxlYXNlIHJ1biBpbiBvcmRlciEK
LTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3Ag
dG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2ls
bCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBX
aGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50IHNoZWV0LCB1c2UgYW55IGNhcmQgYW5kIHNl
bGVjdCB0byAiUGF5Ii4KLSAgWW91IHdpbGwgYmUgYXNrZWQgdG8gcmV0cnkgdGhlIHBheW1lbnQg
YW5kIGFuIGVycm9yIHNob3VsZCBiZSBzaG93biBzb21ld2hlcmUKLSAgaW4gdGhlIFVJLiBUaGUg
ZXhwZWN0ZWQgZXJyb3Igc3RyaW5nIGlzIGRlc2NyaWJlZCBpbiBlYWNoIGluZGl2aWR1YWwgdGVz
dC4KLSAgSWYgeW91IHNlZSB0aGUgZXJyb3IsIGhpdCAiUGF5IiBhZ2Fpbi4gSWYgeW91IGRvbid0
IHNlZSB0aGUgZXJyb3IsCi0gIGFib3J0IHRoZSBwYXltZW50IHJlcXVlc3QgYnkgaGl0dGluZyAi
ZXNjIiAtIHdoaWNoIG1lYW5zIHRoYXQgcGFydGljdWxhciB0ZXN0Ci0gIGhhcyBmYWlsZWQuCi08
L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJldHJ5U2hvd3NFcnJvck1l
bWJlcih0aGlzKTsiPgotICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgdGhlIGVycm9yICJQ
QVNTIiBzb21ld2hlcmUgaW4gdGhlIFVJLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCk7Ij4KLSAgICAgIERvbmUhCi0gICAgPC9idXR0
b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3Qs
IHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXlt
ZW50LXJlcXVlc3QvTUVUQS55bWwiPm93bmVyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMvcmV0cnktc2hvd3MtcGF5ZXItbWVtYmVyLW1hbnVh
bC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMvcmV0cnktc2hvd3MtcGF5
ZXItbWVtYmVyLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBmODExNWU2OWVjNWQ3YzMxNzJhNmU0MmQ0ZTQ0Njg5OGQwNGY5YThiLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJy
b3JzL3JldHJ5LXNob3dzLXBheWVyLW1lbWJlci1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDY1ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRm
OCI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50
LXJlcXVlc3QvI2RvbS1wYXltZW50dmFsaWRhdGlvbmVycm9ycy1wYXllciI+Ci08dGl0bGU+Ci0g
IFBheW1lbnRWYWxpZGF0aW9uRXJyb3JzJyBgcGF5ZXJgIG1lbWJlcgotPC90aXRsZT4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIuLi9wYXltZW50LXJlc3BvbnNlL2hlbHBlcnMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1
bmN0aW9uIHJldHJ5U2hvd3NQYXllck1lbWJlcihidXR0b24sIGVycm9yKSB7Ci0gIGJ1dHRvbi5k
aXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCBv
cHRpb25zID0gewotICAgICAgcmVxdWVzdFBheWVyTmFtZTogdHJ1ZSwKLSAgICAgIHJlcXVlc3RQ
YXllckVtYWlsOiB0cnVlLAotICAgICAgcmVxdWVzdFBheWVyUGhvbmU6IHRydWUsCi0gICAgfQot
ICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2Uo
b3B0aW9ucyk7Ci0gICAgYXdhaXQgcmVzcG9uc2UucmV0cnkoeyBwYXllcjogZXJyb3IgfSk7Ci0g
ICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRD
b250ZW50LnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj4KLSAgTWFudWFsIFRlc3QgZm9yIFBh
eW1lbnRWYWxpZGF0aW9uRXJyb3JzJyBgcGF5ZXJgIG1lbWJlciAtIFBsZWFzZSBydW4gaW4gb3Jk
ZXIhCi08L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20g
dG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9u
IHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4K
LSAgV2hlbiBwcmVzZW50ZWQgd2l0aCB0aGUgcGF5bWVudCBzaGVldCwgdXNlIGFueSBjYXJkIGFu
ZCBzZWxlY3QgdG8gIlBheSIuCi0gIFlvdSB3aWxsIGJlIGFza2VkIHRvIHJldHJ5IHRoZSBwYXlt
ZW50IGFuZCBhbiBlcnJvciBzaG91bGQgYmUgc2hvd24gc29tZXdoZXJlCi0gIGluIHRoZSBVSS4g
VGhlIGV4cGVjdGVkIGVycm9yIHN0cmluZyBpcyBkZXNjcmliZWQgaW4gZWFjaCBpbmRpdmlkdWFs
IHRlc3QuCi0gIElmIHlvdSBzZWUgdGhlIGVycm9yLCBoaXQgIlBheSIgYWdhaW4uIElmIHlvdSBk
b24ndCBzZWUgdGhlIGVycm9yLAotICBhYm9ydCB0aGUgcGF5bWVudCByZXF1ZXN0IGJ5IGhpdHRp
bmcgImVzYyIgLSB3aGljaCBtZWFucyB0aGF0IHBhcnRpY3VsYXIgdGVzdAotICBoYXMgZmFpbGVk
LgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzUGF5
ZXJNZW1iZXIodGhpcywgeyBlbWFpbDogJ0VNQUlMIEVSUk9SJyB9KTsiPgotICAgICAgVGhlIHBh
eW1lbnQgc2hlZXQgc2hvd3MgIkVNQUlMIEVSUk9SIiBmb3IgdGhlIHBheWVyJ3MgZW1haWwuCi0g
ICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJldHJ5
U2hvd3NQYXllck1lbWJlcih0aGlzLCB7IG5hbWU6ICdOQU1FIEVSUk9SJyB9KTsiPgotICAgICAg
VGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgIk5BTUUgRVJST1IiIGZvciB0aGUgcGF5ZXIncyBuYW1l
LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJy
ZXRyeVNob3dzUGF5ZXJNZW1iZXIodGhpcywgeyBwaG9uZTogJ1BIT05FIEVSUk9SJyB9KTsiPgot
ICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgIlBIT05FIEVSUk9SIiBmb3IgdGhlIHBheWVy
J3MgcGhvbmUgbnVtYmVyLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1
dHRvbiBvbmNsaWNrPSJkb25lKCk7Ij4KLSAgICAgIERvbmUhCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8
YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMi
PmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVl
c3QvTUVUQS55bWwiPm93bmVyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVu
dFZhbGlkYXRpb25FcnJvcnMvcmV0cnktc2hvd3Mtc2hpcHBpbmdBZGRyZXNzLW1lbWJlci1tYW51
YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNob3dzLXNo
aXBwaW5nQWRkcmVzcy1tZW1iZXItbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDk0ZTZmYTUxMDViMjBhNzEyNzI5MmRlNTdhZGNmYjIwZjNiODA2ZTguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFZh
bGlkYXRpb25FcnJvcnMvcmV0cnktc2hvd3Mtc2hpcHBpbmdBZGRyZXNzLW1lbWJlci1tYW51YWwu
aHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi08IWRvY3R5cGUgaHRt
bD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5bWVudHZhbGlkYXRpb25lcnJv
cnMtc2hpcHBpbmdhZGRyZXNzIj4KLTx0aXRsZT4KLSAgUGF5bWVudFZhbGlkYXRpb25FcnJvcnMn
IGBzaGlwcGluZ0FkZHJlc3NgIG1lbWJlciAoQWRkcmVzc0Vycm9ycykKLTwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vcGF5bWVudC1yZXNwb25zZS9oZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1m
dW5jdGlvbiByZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVyKGJ1dHRvbiwgZXJyb3IpIHsK
LSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewot
ICAgIGNvbnN0IG9wdGlvbnMgPSB7Ci0gICAgICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi0gICAg
fQotICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9u
c2Uob3B0aW9ucyk7Ci0gICAgYXdhaXQgcmVzcG9uc2UucmV0cnkoeyBzaGlwcGluZ0FkZHJlc3M6
IGVycm9yIH0pOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Ci0gIH0s
IGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfQotPC9zY3JpcHQ+Ci08aDI+Ci0gIE1hbnVh
bCBUZXN0IGZvciBQYXltZW50VmFsaWRhdGlvbkVycm9ycycgYHNoaXBwaW5nQWRkcmVzc2AgbWVt
YmVyIC0gUGxlYXNlIHJ1biBpbiBvcmRlciEKLTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBi
dXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0
aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0
IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50
IHNoZWV0LCB1c2UgYW55IGNhcmQgYW5kIHNlbGVjdCB0byAiUGF5Ii4KLSAgWW91IHdpbGwgYmUg
YXNrZWQgdG8gcmV0cnkgdGhlIHBheW1lbnQgYW5kIGFuIGVycm9yIHNob3VsZCBiZSBzaG93biBz
b21ld2hlcmUKLSAgaW4gdGhlIFVJLiBUaGUgZXhwZWN0ZWQgZXJyb3Igc3RyaW5nIGlzIGRlc2Ny
aWJlZCBpbiBlYWNoIGluZGl2aWR1YWwgdGVzdC4KLSAgSWYgeW91IHNlZSB0aGUgZXJyb3IsIGhp
dCAiUGF5IiBhZ2Fpbi4gSWYgeW91IGRvbid0IHNlZSB0aGUgZXJyb3IsCi0gIGFib3J0IHRoZSBw
YXltZW50IHJlcXVlc3QgYnkgaGl0dGluZyAiZXNjIiAtIHdoaWNoIG1lYW5zIHRoYXQgcGFydGlj
dWxhciB0ZXN0Ci0gIGhhcyBmYWlsZWQuCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9u
IG9uY2xpY2s9InJldHJ5U2hvd3NTaGlwcGluZ0FkZHJlc3NNZW1iZXIodGhpcywgeyBhZGRyZXNz
TGluZTogJ0FERFJFU1NMSU5FIEVSUk9SJyB9KTsiPgotICAgICAgVGhlIHBheW1lbnQgc2hlZXQg
c2hvd3MgIkFERFJFU1NMSU5FIEVSUk9SIiBmb3IgdGhlIHNoaXBwaW5nIGFkZHJlc3MnIGFkZHJl
c3NMaW5lLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNs
aWNrPSJyZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVyKHRoaXMsIHsgY2l0eTogJ0NJVFkg
RVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93cyAiQ0lUWSBFUlJPUiIg
Zm9yIHRoZSBzaGlwcGluZyBhZGRyZXNzJyBjaXR5LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVt
YmVyKHRoaXMsIHsgY291bnRyeTogJ0NPVU5UUlkgRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5
bWVudCBzaGVldCBzaG93cyAiQ09VTlRSWSBFUlJPUiIgZm9yIHRoZSBzaGlwcGluZyBhZGRyZXNz
JyBjb3VudHJ5LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBv
bmNsaWNrPSJyZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVyKHRoaXMsIHsgZGVwZW5kZW50
TG9jYWxpdHk6ICdERVBFTkRFTlRMT0NBTElUWSBFUlJPUicgfSk7Ij4KLSAgICAgIFRoZSBwYXlt
ZW50IHNoZWV0IHNob3dzICJERVBFTkRFTlRMT0NBTElUWSBFUlJPUiIgZm9yIHRoZSBzaGlwcGlu
ZyBhZGRyZXNzJyBkZXBlbmRlbnRMb2NhbGl0eS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAg
PGxpPgotICAgIDxidXR0b24gb25jbGljaz0icmV0cnlTaG93c1NoaXBwaW5nQWRkcmVzc01lbWJl
cih0aGlzLCB7IG9yZ2FuaXphdGlvbjogJ09SR0FOSVpBVElPTiBFUlJPUicgfSk7Ij4KLSAgICAg
IFRoZSBwYXltZW50IHNoZWV0IHNob3dzICJPUkdBTklaQVRJT04gRVJST1IiIGZvciB0aGUgc2hp
cHBpbmcgYWRkcmVzcycgb3JnYW5pemF0aW9uLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8
bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVy
KHRoaXMsIHsgcGhvbmU6ICdQSE9ORSBFUlJPUicgfSk7Ij4KLSAgICAgIFRoZSBwYXltZW50IHNo
ZWV0IHNob3dzICJQSE9ORSBFUlJPUiIgZm9yIHRoZSBzaGlwcGluZyBhZGRyZXNzJyBwaG9uZS4K
LSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icmV0
cnlTaG93c1NoaXBwaW5nQWRkcmVzc01lbWJlcih0aGlzLCB7IHBvc3RhbENvZGU6ICdQT1NUQUxD
T0RFIEVSUk9SJyB9KTsiPgotICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgIlBPU1RBTENP
REUgRVJST1IiIGZvciB0aGUgc2hpcHBpbmcgYWRkcmVzcycgcG9zdGFsIGNvZGUuCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJldHJ5U2hvd3NT
aGlwcGluZ0FkZHJlc3NNZW1iZXIodGhpcywgeyByZWNpcGllbnQ6ICdSRUNJUElFTlQgRVJST1In
IH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93cyAiUkVDSVBJRU5UIEVSUk9SIiBm
b3IgdGhlIHNoaXBwaW5nIGFkZHJlc3MnIHJlY2lwaWVudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9s
aT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icmV0cnlTaG93c1NoaXBwaW5nQWRkcmVz
c01lbWJlcih0aGlzLCB7IHJlZ2lvbjogJ1JFR0lPTiBFUlJPUicgfSk7Ij4KLSAgICAgIFRoZSBw
YXltZW50IHNoZWV0IHNob3dzICJSRUdJT04gRVJST1IiIGZvciB0aGUgc2hpcHBpbmcgYWRkcmVz
cycgcmVnaW9uLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBv
bmNsaWNrPSJyZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVyKHRoaXMsIHsgcmVnaW9uQ29k
ZTogJ1JFR0lPTkNPREUgRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93
cyAiUkVHSU9OQ09ERSBFUlJPUiIgZm9yIHRoZSBzaGlwcGluZyBhZGRyZXNzJyByZWdpb24gY29k
ZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0i
cmV0cnlTaG93c1NoaXBwaW5nQWRkcmVzc01lbWJlcih0aGlzLCB7IHNvcnRpbmdDb2RlOiAnU09S
VElOR0NPREUgRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93cyAiU09S
VElOR0NPREUgRVJST1IiIGZvciB0aGUgc2hpcHBpbmcgYWRkcmVzcycgc29ydGluZyBjb2RlLgot
ICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25l
KCk7Ij4KLSAgICAgIERvbmUhCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxs
PgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0g
IGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPm93bmVy
czwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxnb3JpdGhtcy1tYW51YWwuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L2FsZ29yaXRobXMtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGI5MGMzMTJhYmEzYmY0OTc4OTg2ZGVmZTAwZjUxOTVjNzRiODhiNjEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxnb3JpdGht
cy1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3NiArMCwwIEBACi08IWRv
Y3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNhbGdvcml0aG1zIj4KLTx0
aXRsZT4KLSAgUGF5bWVudCBSZXF1ZXN0IGFsZ29yaXRobXMKLTwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAo
ewotICBleHBsaWNpdF9kb25lOiB0cnVlLAotICBleHBsaWNpdF90aW1lb3V0OiB0cnVlLAotfSk7
Ci1jb25zdCBtZXRob2RzID0gWwotICB7Ci0gICAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNh
cmQiLAotICB9LAotICB7Ci0gICAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29t
L2FwcGxlLXBheSIsCi0gICAgZGF0YTogewotICAgICAgdmVyc2lvbjogMywKLSAgICAgIG1lcmNo
YW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICAgIGNvdW50cnlDb2Rl
OiAiVVMiLAotICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAg
ICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgICB9LAotICB9Ci1dOwotY29uc3Qg
c2hpcHBpbmdPcHRpb25zID0gewotICBzaGlwcGluZ09wdGlvbnM6IFsKLSAgICB7Ci0gICAgICBp
ZDogImZhaWwiLAotICAgICAgbGFiZWw6ICJPcHRpb24gMSIsCi0gICAgICBhbW91bnQ6IHsKLSAg
ICAgICAgY3VycmVuY3k6ICJVU0QiLAotICAgICAgICB2YWx1ZTogIjUuMDAiLAotICAgICAgfSwK
LSAgICAgIHNlbGVjdGVkOiB0cnVlLAotICAgIH0sCi0gICAgewotICAgICAgaWQ6ICJwYXNzIiwK
LSAgICAgIGxhYmVsOiAiT3B0aW9uIDIiLAotICAgICAgYW1vdW50OiB7Ci0gICAgICAgIGN1cnJl
bmN5OiAiVVNEIiwKLSAgICAgICAgdmFsdWU6ICI1LjAwIiwKLSAgICAgIH0sCi0gICAgfSwKLSAg
XSwKLX07Ci0KLWNvbnN0IGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucyA9IHsKLSAgdG90YWw6IHsK
LSAgICBsYWJlbDogIlRvdGFsIGR1ZSIsCi0gICAgYW1vdW50OiB7Ci0gICAgICBjdXJyZW5jeTog
IlVTRCIsCi0gICAgICB2YWx1ZTogIjEuMCIsCi0gICAgfSwKLSAgfSwKLX07Ci0KLWNvbnN0IGRl
dGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zID0gT2JqZWN0LmFzc2lnbigKLSAgewotICAgIHRvdGFs
OiB7Ci0gICAgICBsYWJlbDogIlRvdGFsIGR1ZSIsCi0gICAgICBhbW91bnQ6IHsKLSAgICAgICAg
Y3VycmVuY3k6ICJVU0QiLAotICAgICAgICB2YWx1ZTogIjEuMCIsCi0gICAgICB9LAotICAgIH0s
Ci0gIH0sCi0gIHNoaXBwaW5nT3B0aW9ucwotKTsKLQotY29uc3Qgb3B0aW9ucyA9IHsKLSAgcmVx
dWVzdFNoaXBwaW5nOiB0cnVlLAotfTsKLQotZnVuY3Rpb24gdGVzdEZpcmVFdmVudChidXR0b24s
IGRldGFpbHMsIGV2ZW50TmFtZSwgZXhwZWN0UmVxdWVzdFByb3BzKSB7Ci0gIGJ1dHRvbi5kaXNh
YmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBuZXcgUGF5bWVu
dFJlcXVlc3QobWV0aG9kcywgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25zLCBvcHRpb25zKTsKLSAg
ICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGRldGFpbHMsIG9w
dGlvbnMpOwotICAgIGNvbnN0IGhhbmRsZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7Ci0gICAgICByZXF1ZXN0W2BvbiR7ZXZlbnROYW1lfWBdID0gZXZlbnQgPT4gewotICAgICAg
ICAvLyAicHJldmVudCBpbW1lZGlhdGUgcHJvcGFnYXRpb24iIGZsYWcgaXMgc2V0LgotICAgICAg
ICAvLyBUaGlzIGxpc3RlbmVyIGJlbG93IHdvbid0IGZpcmUhCi0gICAgICAgIGV2ZW50LnVwZGF0
ZVdpdGgoZGV0YWlscyk7Ci0gICAgICAgIHJlc29sdmUoZXZlbnQpOwotICAgICAgfTsKLSAgICB9
KTsKLSAgICAvLyBUaGlzIGxpc3RlbmVyIHNob3VsZCBuZXZlciBmaXJlIGJlY2F1c2UgdGhlCi0g
ICAgLy8gdGhlIGV2ZW50IGhhbmRsZXIgY2F1c2VkICJwcmV2ZW50IGltbWVkaWF0ZSBwcm9wYWdh
dGlvbiIgdG8gYmUgc2V0LgotICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigKLSAgICAgIGV2
ZW50TmFtZSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIlNlY29uZCBldmVudCBsaXN0ZW5lciBz
aG91bGQgbmV2ZXIgZmlyZSIpCi0gICAgKTsKLSAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJl
cXVlc3Quc2hvdygpOwotICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgaGFuZGxlclByb21pc2U7Ci0g
ICAgYXNzZXJ0X3RydWUoCi0gICAgICBldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5QYXltZW50UmVx
dWVzdFVwZGF0ZUV2ZW50LAotICAgICAgIkV4cGVjdGVkIGluc3RhbmNlcyBvZiBQYXltZW50UmVx
dWVzdFVwZGF0ZUV2ZW50IgotICAgICk7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1
Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLWFzeW5jIGZ1
bmN0aW9uIHJ1bkFib3J0VGVzdChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsK
LSAgY29uc3QgeyB0ZXh0Q29udGVudDogdGVzdE5hbWUgfSA9IGJ1dHRvbjsKLSAgcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3Qo
bWV0aG9kcywgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25zKTsKLSAgICAvLyBBd2FpdCB0aGUgdXNl
ciB0byBhYm9ydAotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkFib3J0RXJyb3Ii
LCByZXF1ZXN0LnNob3coKSk7Ci0gICAgLy8gW1tzdGF0ZV1dIGlzIG5vdyBjbG9zZWQKLSAgICBh
d2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIHJlcXVlc3Qu
c2hvdygpKTsKLSAgfSwgdGVzdE5hbWUudHJpbSgpKTsKLX0KLTwvc2NyaXB0PgotPGgyPgotICBU
ZXN0cyBmb3IgImFsZ29yaXRobXMiIHNlY3Rpb24KLTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFj
aCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGlu
ZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1
ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxzZWN0aW9uPgotICA8aDMgaWQ9ImFib3J0LWFsZ28iPgot
ICAgIFVzZXIgYWJvcnRzIHRoZSBwYXltZW50IHJlcXVlc3QgYWxnb3JpdGhtCi0gIDwvaDM+Ci0g
IDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVx
dWVzdC8jdXNlci1hYm9ydHMtdGhlLXBheW1lbnQtcmVxdWVzdC1hbGdvcml0aG0iPgotICA8cD4K
LSAgICBXaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50IHNoZWV0LCBhYm9ydCB0aGUgcGF5
bWVudCByZXF1ZXN0IChlLmcuLCBieSBoaXR0aW5nIHRoZSBlc2Mga2V5IG9yIHByZXNzaW5nIGEg
VUEgcHJvdmlkZWQgYnV0dG9uKS4KLSAgPC9wPgotICA8b2w+Ci0gICAgPGxpPgotICAgICAgPGJ1
dHRvbiBvbmNsaWNrPSJydW5BYm9ydFRlc3QodGhpcyk7Ij4KLSAgICAgIElmIHRoZSB1c2VyIGFi
b3J0cywgdGhlIFVBIG11c3QgcnVuIHRoZSB1c2VyIGFib3J0cyB0aGUgcGF5bWVudCByZXF1ZXN0
IGFsZ29yaXRobS4KLSAgICA8L2J1dHRvbj4KLSAgICA8L2xpPgotICA8L29sPgotPC9zZWN0aW9u
PgotCi08c2VjdGlvbj4KLSAgPGgzIGlkPSJzaGlwcGluZy1hZGRyZXNzLWNoYW5nZWQtYWxnbyI+
U2hpcHBpbmcgYWRkcmVzcyBjaGFuZ2VkIGFsZ29yaXRobTwvaDM+Ci0gIDxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3BheW1lbnQtcmVxdWVzdC8jc2hpcHBpbmct
YWRkcmVzcy1jaGFuZ2VkLWFsZ29yaXRobSI+Ci0gIDxwPgotICAgIFdoZW4gcHJvbXB0ZWQsIHBs
ZWFzZSBjaGFuZ2Ugb3IgZW50ZXIgYSBuZXcgc2hpcHBpbmcgYWRkcmVzcyBhbmQgdGhlbiBzZWxl
Y3QgUGF5LgotICA8L3A+Ci0gIDxvbD4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9
InRlc3RGaXJlRXZlbnQodGhpcywgZGV0YWlsc1dpdGhTaGlwcGluZ09wdGlvbnMsICdzaGlwcGlu
Z2FkZHJlc3NjaGFuZ2UnLCB7fSk7Ij4KLSAgICAgIFRoZSBzaGlwcGluZyBhZGRyZXNzIGNoYW5n
ZWQgYWxnb3JpdGhtIHJ1bnMgd2hlbiB0aGUgdXNlciBwcm92aWRlcyBhIG5ldyBzaGlwcGluZyBh
ZGRyZXNzLgotICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0gIDwvb2w+Ci08L3NlY3Rpb24+Ci0K
LTxzZWN0aW9uPgotICA8aDMgaWQ9InNoaXBwaW5nLW9wdGlvbi1jaGFuZ2VkLWFsZ28iPlNoaXBw
aW5nIG9wdGlvbiBjaGFuZ2VkIGFsZ29yaXRobTwvaDM+Ci0gIDxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jc2hpcHBpbmctb3B0aW9u
LWNoYW5nZWQtYWxnb3JpdGhtIj4KLSAgPHA+Ci0gICAgRmluYWxseSwgd2hlbiBwcm9tcHRlZCwg
cGxlYXNlIHNlbGVjdCAic2hpcHBpbmcgb3B0aW9uIDIiIGFuZCB0aGVuIHNlbGVjdCBQYXkuCi0g
IDwvcD4KLSAgPG9sPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0idGVzdEZpcmVF
dmVudCh0aGlzLCBkZXRhaWxzV2l0aFNoaXBwaW5nT3B0aW9ucywgJ3NoaXBwaW5nb3B0aW9uY2hh
bmdlJywge30sICdwYXNzJyk7IGRvbmUoKTsiPgotICAgICAgVGhlIHNoaXBwaW5nIG9wdGlvbiBj
aGFuZ2VkIGFsZ29yaXRobSBydW5zIHdoZW4gdGhlIHVzZXIgY2hvb3NlcyBhIG5ldyBzaGlwcGlu
ZyBvcHRpb24uCi0gICAgPC9idXR0b24+Ci0gICAgPC9saT4KLSAgPC9vbD4KLTwvc2VjdGlvbj4K
LQotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBi
dWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55
bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2Fs
bG93cGF5bWVudC9hY3RpdmUtZG9jdW1lbnQtY3Jvc3Mtb3JpZ2luLmh0dHBzLnN1Yi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZlLWRvY3VtZW50LWNyb3NzLW9yaWdpbi5odHRw
cy5zdWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhOTljZmJjZDVkYmRmNWIwZmUxNjcwMzQx
ZmM1YmFkYmE4ZTVmNGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZl
LWRvY3VtZW50LWNyb3NzLW9yaWdpbi5odHRwcy5zdWItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhv
c3Q6OTQ0My9jb21tb24vYmxhbmsuaHRtbAorCisKK1BBU1MgUGF5bWVudFJlcXVlc3QgPGlmcmFt
ZSBhbGxvdz0icGF5bWVudCI+IGluIG5vbi1hY3RpdmUgZG9jdW1lbnQgKGNyb3NzLW9yaWdpbikK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1bWVudC1jcm9zcy1vcmln
aW4uaHR0cHMuc3ViLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZlLWRvY3VtZW50LWNyb3Nz
LW9yaWdpbi5odHRwcy5zdWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYjc2NzM1MDI3ZDBiODgzMjc2NmFh
YzUzNDhmNTQ1YTc2NjdkOWM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2Fj
dGl2ZS1kb2N1bWVudC1jcm9zcy1vcmlnaW4uaHR0cHMuc3ViLmh0bWwKQEAgLTAsMCArMSwyOCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+UGF5bWVudFJlcXVlc3QgJmx0O2lmcmFtZSBhbGxv
dz0icGF5bWVudCI+IGluIG5vbi1hY3RpdmUgZG9jdW1lbnQgKGNyb3NzLW9yaWdpbik8L3RpdGxl
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vY29tbW9uL3V0aWxzLmpzPjwvc2NyaXB0PgorPGlmcmFtZSBpZD0iaWZyYW1lIiBhbGxv
dz0icGF5bWVudCI+PC9pZnJhbWU+Cis8c2NyaXB0PgorYXN5bmNfdGVzdCgodCkgPT4geworICBj
b25zdCBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7CisgIGNvbnN0
IHBheW1lbnRBcmdzID0gW1t7c3VwcG9ydGVkTWV0aG9kczogJ2Zvbyd9XSwge3RvdGFsOiB7bGFi
ZWw6ICdsYWJlbCcsIGFtb3VudDoge2N1cnJlbmN5OiAnVVNEJywgdmFsdWU6ICc1LjAwJ319fV07
CisKKyAgb25sb2FkID0gKCkgPT4geworICAgIGNvbnN0IHdpbiA9IHdpbmRvd1swXTsKKyAgICBj
b25zdCBkb21FeGNlcHRpb24gPSB3aW4uRE9NRXhjZXB0aW9uOworICAgIGNvbnN0IHByQ29uc3Ry
dWN0b3IgPSB3aW4uUGF5bWVudFJlcXVlc3Q7CisgICAgd2luLmxvY2F0aW9uLmhyZWYgPSBtYWtl
X2Fic29sdXRlX3VybCh7CisgICAgICBob3N0bmFtZTogJ3t7ZG9tYWluc1t3d3cxXX19JywKKyAg
ICAgIHBhdGg6ICcvY29tbW9uL2JsYW5rLmh0bWwnCisgICAgfSk7CisgICAgaWZyYW1lLm9ubG9h
ZCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgY29uc3QgZnVuYyA9ICgpID0+IHsK
KyAgICAgICAgbmV3IHByQ29uc3RydWN0b3IoLi4ucGF5bWVudEFyZ3MpOworICAgICAgfQorICAg
ICAgYXNzZXJ0X3Rocm93c19kb20oJ1NlY3VyaXR5RXJyb3InLCBkb21FeGNlcHRpb24sIGZ1bmMp
OworICAgIH0pOworICB9Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXlt
ZW50L2FjdGl2ZS1kb2N1bWVudC1zYW1lLW9yaWdpbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9h
bGxvd3BheW1lbnQvYWN0aXZlLWRvY3VtZW50LXNhbWUtb3JpZ2luLmh0dHBzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jMjg2YTQ4MmYzMGRhNzFhYjkyYmZlNTA0ZDgxNmZiYjg3Y2E5OWY4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1bWVudC1zYW1lLW9y
aWdpbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBQYXltZW50
UmVxdWVzdCA8aWZyYW1lIGFsbG93PSJwYXltZW50Ij4gaW4gbm9uLWFjdGl2ZSBkb2N1bWVudCAo
c2FtZS1vcmlnaW4pCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9hY3RpdmUtZG9jdW1l
bnQtc2FtZS1vcmlnaW4uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9hY3RpdmUtZG9jdW1l
bnQtc2FtZS1vcmlnaW4uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTY3M2Y2NWNiNzA1MWY4YjEy
ZjYxYzcyODMwN2QwMTMyYWE0OWE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50
L2FjdGl2ZS1kb2N1bWVudC1zYW1lLW9yaWdpbi5odHRwcy5odG1sCkBAIC0wLDAgKzEsMjMgQEAK
KzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlBheW1lbnRSZXF1ZXN0ICZsdDtpZnJhbWUgYWxsb3c9
InBheW1lbnQiPiBpbiBub24tYWN0aXZlIGRvY3VtZW50IChzYW1lLW9yaWdpbik8L3RpdGxlPgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8aWZyYW1lIGlk
PSJpZnJhbWUiIGFsbG93PSJwYXltZW50Ij48L2lmcmFtZT4KKzxzY3JpcHQ+Cithc3luY190ZXN0
KCh0KSA9PiB7CisgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJh
bWUnKTsKKyAgY29uc3QgcGF5bWVudEFyZ3MgPSBbW3tzdXBwb3J0ZWRNZXRob2RzOiAnZm9vJ31d
LCB7dG90YWw6IHtsYWJlbDogJ2xhYmVsJywgYW1vdW50OiB7Y3VycmVuY3k6ICdVU0QnLCB2YWx1
ZTogJzUuMDAnfX19XTsKKworICBvbmxvYWQgPSAoKSA9PiB7CisgICAgY29uc3Qgd2luID0gd2lu
ZG93WzBdOworICAgIGNvbnN0IGRvbUV4Y2VwdGlvbiA9IHdpbi5ET01FeGNlcHRpb247CisgICAg
Y29uc3QgcHJDb25zdHJ1Y3RvciA9IHdpbi5QYXltZW50UmVxdWVzdDsKKyAgICB3aW4ubG9jYXRp
b24uaHJlZiA9ICcvY29tbW9uL2JsYW5rLmh0bWwnOworICAgIGlmcmFtZS5vbmxvYWQgPSB0LnN0
ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9tKCdTZWN1cml0eUVy
cm9yJywgZG9tRXhjZXB0aW9uLCAoKSA9PiB7CisgICAgICAgIG5ldyBwckNvbnN0cnVjdG9yKC4u
LnBheW1lbnRBcmdzKTsKKyAgICAgIH0pOworICAgIH0pOworICB9Cit9KTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FsbG93cGF5bWVudHJlcXVlc3QtYXR0cmlidXRl
LWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93
cGF5bWVudC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29u
dGFpbmVycy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzlmZTYzNjVjMmM4NDdiZGZm
ZTkzMGNjNzZjN2VjZTViMGM5ZDQ2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVu
dC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFpbmVy
cy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My9wYXltZW50LXJlcXVlc3Qv
YWxsb3dwYXltZW50L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbD9pZnJhbWUKK0Jsb2NrZWQgYWNj
ZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWw/ZnJhbWUKK0Jsb2Nr
ZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvcGF5
bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWw/b2JqZWN0
CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5
NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvZWNoby1QYXltZW50UmVxdWVzdC5odG1s
P2VtYmVkCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1F
T1VUIGlmcmFtZSBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBmcmFtZSBUZXN0IHRpbWVkIG91dAor
VElNRU9VVCBvYmplY3QgVGVzdCB0aW1lZCBvdXQKK1RJTUVPVVQgZW1iZWQgVGVzdCB0aW1lZCBv
dXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FsbG93cGF5bWVudHJlcXVlc3QtYXR0
cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3Bh
eW1lbnQvYWxsb3dwYXltZW50cmVxdWVzdC1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRh
aW5lcnMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yN2Q5ZWExNzJiNDE3MDg5OWUwOGNjNTkyYjgz
NTIwOGY4Mzg2MTg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FsbG93cGF5
bWVudHJlcXVlc3QtYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0
bWwKQEAgLTAsMCArMSwxMSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+UGF5bWVudFJlcXVl
c3QgYWxsb3c9InBheW1lbnQiIGF0dHJpYnV0ZSBjcm9zcy1vcmlnaW4gYnJvd3NpbmcgY29udGV4
dCBjb250YWluZXJzPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Pjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorY29uc3QgZXhwZWN0U3Vj
Y2VzcyA9IHsnaWZyYW1lJzogdHJ1ZSwgJ2ZyYW1lJzogZmFsc2UsICdvYmplY3QnOiBmYWxzZSwg
J2VtYmVkJzogZmFsc2V9OworY29uc3Qgc2V0QWxsb3dQYXltZW50ID0gdHJ1ZTsKK2NvbnN0IHRl
c3RDcm9zc09yaWdpbiA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPWNvbW1vbi5zdWIu
anM+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvY29tbW9uLnN1Yi5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L2FsbG93cGF5bWVudC9jb21tb24uc3ViLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwODk0Y2JhMDU3NmJl
ZWMzMWZjOWU4MGM3MjMxZjRhNTAwMmFhYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3Bh
eW1lbnQvY29tbW9uLnN1Yi5qcwpAQCAtMCwwICsxLDYxIEBACisvLyBUZXN0IHNob3VsZCBzZXQg
dGhlc2U6CisvLyBjb25zdCBleHBlY3RTdWNjZXNzID0geydpZnJhbWUnOiBib29sLCAnZnJhbWUn
OiBib29sLCAnb2JqZWN0JzogYm9vbCwgJ2VtYmVkJzogYm9vbH07CisvLyBjb25zdCBzZXRBbGxv
d1BheW1lbnQgPSBib29sOworLy8gY29uc3QgdGVzdENyb3NzT3JpZ2luID0gYm9vbDsKKworY29u
c3QgdGVzdHMgPSB7fTsKKword2luZG93Lm9ubWVzc2FnZSA9IGUgPT4geworICBjb25zdCByZXN1
bHQgPSBlLmRhdGE7CisgIGNvbnN0IHRhZ05hbWUgPSByZXN1bHQudXJsUXVlcnk7CisgIGNvbnN0
IHQgPSB0ZXN0c1t0YWdOYW1lXTsKKyAgdC5zdGVwKCgpID0+IHsKKyAgICBpZiAoZXhwZWN0U3Vj
Y2Vzc1t0YWdOYW1lXSkgeworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQubWVzc2FnZSwgIlN1
Y2Nlc3MiKTsKKyAgICAgIGlmIChyZXN1bHQubWVzc2FnZSA9PT0gIkV4Y2VwdGlvbiIpIHsKKyAg
ICAgICAgY29uc3QgWywgY29kZSwgbmFtZSwgc3RhY2tdID0gcmVzdWx0LmRldGFpbHM7CisgICAg
ICAgIGFzc2VydF91bnJlYWNoZWQoYFVuZXhwZWN0ZWQgZXhjZXB0aW9uICIke25hbWV9IiAoJHtj
b2RlfSkgJHtzdGFja31gKTsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgYXNzZXJ0X2Vx
dWFscyhyZXN1bHQubWVzc2FnZSwgIkV4Y2VwdGlvbiIpOworICAgICAgY29uc3QgZGV0YWlsc0Fy
cmF5ID0gcmVzdWx0LmRldGFpbHMuc2xpY2UoMCwzKTsKKyAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMoZGV0YWlsc0FycmF5LCBbCisgICAgICAgIHRydWUgLypleCBpbnN0YW5jZW9mIERPTUV4Y2Vw
dGlvbiovLAorICAgICAgICBET01FeGNlcHRpb24uU0VDVVJJVFlfRVJSIC8qZXguY29kZSovLAor
ICAgICAgICAiU2VjdXJpdHlFcnJvciIgLypleC5uYW1lKi8sCisgICAgICBdKTsKKyAgICB9Cisg
ICAgdC5kb25lKCk7CisgIH0pOworfTsKKworWyJpZnJhbWUiLCAiZnJhbWUiLCAib2JqZWN0Iiwg
ImVtYmVkIl0uZm9yRWFjaCgodGFnTmFtZSwgaSkgPT4geworICB0ZXN0c1t0YWdOYW1lXSA9IGFz
eW5jX3Rlc3QodCA9PiB7CisgICAgY29uc3QgZWxtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0
YWdOYW1lKTsKKyAgICBpZiAoc2V0QWxsb3dQYXltZW50KSB7CisgICAgICBlbG0uc2V0QXR0cmli
dXRlKCJhbGxvdyIsICJwYXltZW50Iik7CisgICAgfQorICAgIGNvbnN0IHBhdGggPSBsb2NhdGlv
bi5wYXRobmFtZS5zdWJzdHJpbmcoCisgICAgICAwLAorICAgICAgbG9jYXRpb24ucGF0aG5hbWUu
bGFzdEluZGV4T2YoIi8iKSArIDEKKyAgICApOworICAgIGNvbnN0IHVybCA9CisgICAgICAodGVz
dENyb3NzT3JpZ2luID8gImh0dHBzOi8ve3tkb21haW5zW3d3dzFdfX06e3twb3J0c1todHRwc11b
MF19fSIgOiAiIikgKworICAgICAgcGF0aCArCisgICAgICAiZWNoby1QYXltZW50UmVxdWVzdC5o
dG1sPyIgKworICAgICAgdGFnTmFtZTsKKyAgICBpZiAodGFnTmFtZSA9PT0gIm9iamVjdCIpIHsK
KyAgICAgIGVsbS5kYXRhID0gdXJsOworICAgIH0gZWxzZSB7CisgICAgICBlbG0uc3JjID0gdXJs
OworICAgIH0KKyAgICBlbG0ub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgd2lu
ZG93W2ldLnBvc3RNZXNzYWdlKAorICAgICAgICAiV2hhdCBpcyB0aGUgcmVzdWx0IG9mIG5ldyBQ
YXltZW50UmVxdWVzdCguLi4pPyIsCisgICAgICAgICIqIgorICAgICAgKTsKKyAgICB9KTsKKyAg
ICBlbG0ub25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoImVsbS5vbmVycm9yIik7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbG0pOworICB9LCB0YWdOYW1lKTsKK30pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvYWxsb3dwYXltZW50L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93
cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIxMWM3ZTVjZTc4
YzA2MjEwMzY1NzhmZWY3OWFlYjJjOThmMmEyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93
cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8c2NyaXB0Pgord2luZG93Lm9ubWVzc2FnZSA9IChlKSA9PiB7CisgIGNvbnN0
IHBheW1lbnRBcmdzID0gW1t7c3VwcG9ydGVkTWV0aG9kczogJ2Zvbyd9XSwge3RvdGFsOiB7bGFi
ZWw6ICdsYWJlbCcsIGFtb3VudDoge2N1cnJlbmN5OiAnVVNEJywgdmFsdWU6ICc1LjAwJ319fV07
CisKKyAgaWYgKGUuZGF0YSA9PT0gJ1doYXQgaXMgdGhlIHJlc3VsdCBvZiBuZXcgUGF5bWVudFJl
cXVlc3QoLi4uKT8nKSB7CisgICAgY29uc3QgcmVzdWx0ID0ge3VybFF1ZXJ5OiBsb2NhdGlvbi5z
ZWFyY2guc3Vic3RyaW5nKDEpfTsgLy8gVXNlZCB0byBkaXN0aW5ndWlzaCBzdWJ0ZXN0cworICAg
IHRyeSB7CisgICAgICBuZXcgUGF5bWVudFJlcXVlc3QoLi4ucGF5bWVudEFyZ3MpOworICAgICAg
cmVzdWx0Lm1lc3NhZ2UgPSAnU3VjY2Vzcyc7CisgICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZShy
ZXN1bHQsICcqJyk7CisgICAgfSBjYXRjaChleCkgeworICAgICAgcmVzdWx0Lm1lc3NhZ2UgPSAn
RXhjZXB0aW9uJzsKKyAgICAgIGNvbnN0IGlzRG9tRXhjZXB0aW9uID0gZXggaW5zdGFuY2VvZiBE
T01FeGNlcHRpb247CisgICAgICBjb25zdCBzdGFjayA9ICJzdGFjayIgaW4gZXggPyBleC5zdGFj
ayA6ICIiOworICAgICAgcmVzdWx0LmRldGFpbHMgPSBbIGlzRG9tRXhjZXB0aW9uLCBleC5jb2Rl
LCBleC5uYW1lLCBzdGFjayBdOworICAgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UocmVzdWx0LCAn
KicpOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICByZXN1bHQubWVzc2FnZSA9ICdJbmNvcnJlY3Qg
bWVzc2FnZSc7CisgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UocmVzdWx0LCAnKicpOworICB9Cit9
Cis8L3NjcmlwdD4KKzxwPlRoaXMgcGFnZSBlY2hvcyB0aGUgcmVzdWx0IG9mIG5ldyBQYXltZW50
UmVxdWVzdCguLi4pLjwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1
dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxs
b3dwYXltZW50L25vLWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzlmZTYzNjVjMmM4NDdiZGZmZTkzMGNjNzZjN2VjZTVi
MGM5ZDQ2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUt
Y3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTIgQEAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxo
b3N0Ojk0NDMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0
Lmh0bWw/aWZyYW1lCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cx
LmxvY2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvZWNoby1QYXltZW50
UmVxdWVzdC5odG1sP2ZyYW1lCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6
Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvZWNoby1Q
YXltZW50UmVxdWVzdC5odG1sP29iamVjdAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJM
IGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50
L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbD9lbWJlZAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBpZnJhbWUgVGVzdCB0aW1lZCBvdXQKK1RJTUVP
VVQgZnJhbWUgVGVzdCB0aW1lZCBvdXQKK1RJTUVPVVQgb2JqZWN0IFRlc3QgdGltZWQgb3V0CitU
SU1FT1VUIGVtYmVkIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVu
dC9uby1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0
cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44NmVkZDZjOWNjOGViMjFjMjdkYjBhMzhmZWNjOGJiMmNjZGU0
OTQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0dHJpYnV0ZS1jcm9z
cy1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhZG9j
dHlwZSBodG1sPgorPHRpdGxlPlBheW1lbnRSZXF1ZXN0IG5vIGF0dHJpYnV0ZSBjcm9zcy1vcmln
aW4gYnJvd3NpbmcgY29udGV4dCBjb250YWluZXJzPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0
PgorY29uc3QgZXhwZWN0U3VjY2VzcyA9IHsnaWZyYW1lJzogZmFsc2UsICdmcmFtZSc6IGZhbHNl
LCAnb2JqZWN0JzogZmFsc2UsICdlbWJlZCc6IGZhbHNlfTsKK2NvbnN0IHNldEFsbG93UGF5bWVu
dCA9IGZhbHNlOworY29uc3QgdGVzdENyb3NzT3JpZ2luID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Y29tbW9uLnN1Yi5qcz48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5
bWVudC9uby1hdHRyaWJ1dGUtc2FtZS1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvbm8tYXR0cmlidXRlLXNhbWUtb3JpZ2luLWJjLWNvbnRh
aW5lcnMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1M2ZjMWY2NWRjMGQyM2I4Mzlh
NzA4YzFlNWY1NjI4YzU3Y2I2N2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQv
bm8tYXR0cmlidXRlLXNhbWUtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorCitQQVNTIGlmcmFtZQorUEFTUyBmcmFtZQorUEFTUyBvYmplY3QK
K1BBU1MgZW1iZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0dHJpYnV0ZS1z
YW1lLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvbm8t
YXR0cmlidXRlLXNhbWUtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xYzQ2NTI1MDAxZDIwZjNjYzM2ZDY4NzdkMmUwZmNiZDNhMWU1MTM3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0dHJpYnV0ZS1zYW1lLW9yaWdpbi1iYy1jb250YWlu
ZXJzLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+
UGF5bWVudFJlcXVlc3Qgbm8gYXR0cmlidXRlIHNhbWUgb3JpZ2luIGJyb3dzaW5nIGNvbnRleHQg
Y29udGFpbmVyczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2NvbnN0IGV4cGVjdFN1Y2Nl
c3MgPSB7J2lmcmFtZSc6IHRydWUsICdmcmFtZSc6IHRydWUsICdvYmplY3QnOiB0cnVlLCAnZW1i
ZWQnOiB0cnVlfTsKK2NvbnN0IHNldEFsbG93UGF5bWVudCA9IGZhbHNlOworY29uc3QgdGVzdENy
b3NzT3JpZ2luID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPWNvbW1vbi5zdWIuanM+
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvcmVtb3ZpbmctYWxsb3dwYXlt
ZW50cmVxdWVzdC5odHRwcy5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3JlbW92
aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMDFhNDRiMWRhNTAzNmY5YjFmNGMzYzk2NmVjOTQ4ZWU4NTk0MmZlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvYWxsb3dwYXltZW50L3JlbW92aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMu
c3ViLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVy
bmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvcGF5bWVudC1yZXF1ZXN0L2FsbG93
cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwKKworSGFybmVzcyBFcnJvciAoVElNRU9V
VCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgUGF5bWVudFJlcXVlc3QgcmVtb3ZpbmcgYWxs
b3c9InBheW1lbnQiIGFmdGVyIGxvYWQgYW5kIHRoZW4gbmF2aWdhdGluZyBUZXN0IHRpbWVkIG91
dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvcmVtb3ZpbmctYWxsb3dwYXltZW50cmVx
dWVzdC5odHRwcy5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9yZW1vdmluZy1hbGxvd3BheW1l
bnRyZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyMDlmOWQ5MmY4OGFiMjdkN2E3
N2Q4MmFjOWFlN2IzY2NjODQyOTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQv
cmVtb3ZpbmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWIuaHRtbApAQCAtMCwwICsxLDY3
IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5QYXltZW50UmVxdWVzdCByZW1vdmluZyBhbGxv
dz0icGF5bWVudCIgYWZ0ZXIgbG9hZCBhbmQgdGhlbiBuYXZpZ2F0aW5nPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48
L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KCh0KSA9PiB7CisgIGNvbnN0IGlmcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICBpZnJhbWUuYWxsb3cgPSAicGF5bWVu
dCI7CisKKyAgbGV0IGkgPSAwOworCisgIGNvbnN0IHBhdGggPSBsb2NhdGlvbi5wYXRobmFtZS5z
dWJzdHJpbmcoMCwgbG9jYXRpb24ucGF0aG5hbWUubGFzdEluZGV4T2YoJy8nKSArIDEpOworICBp
ZnJhbWUuc3JjID0gImh0dHBzOi8ve3tkb21haW5zW3d3dzFdfX06e3twb3J0c1todHRwc11bMF19
fSIgKyBwYXRoICsgImVjaG8tUGF5bWVudFJlcXVlc3QuaHRtbCI7CisgIGlmcmFtZS5vbmxvYWQg
PSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgaWYgKGkgPT09IDApIHsKKyAgICAgIC8vIDIuIFRo
ZSBpZnJhbWUgaGFzIG5vdyBsb2FkZWQgKHRoZSBmaXJzdCBsb2FkKS4KKyAgICAgIC8vIFRoZSBh
bGxvdz0icGF5bWVudCIgaXMgc2V0LgorICAgICAgaWZyYW1lLmFsbG93ID0gIiI7CisgICAgICAv
LyAzLiBUaGUgYWxsb3cgYXR0cmlidXRlIGhhcyBub3cgYmVlbiBjbGVhcmVkLgorICAgICAgLy8g
VGhlIGFsbG93PSJwYXltZW50IiBpcyAqc3RpbGwgc2V0KiBmb3IgdGhlIGRvY3VtZW50LgorICAg
IH0KKyAgICAvLyA0LiAoZmlyc3QgbG9hZCkgQXNrIHRoZSBzdWJkb2N1bWVudCB0byBpbnZva2Ug
UGF5bWVudFJlcXVlc3QgYW5kIHBvc3QgYmFjayB0aGUgcmVzdWx0LgorICAgIC8vIChTZWUgYmVs
b3cgZm9yIHN0ZXBzIDUgYW5kIDYuKQorICAgIC8vIDcuIChzZWNvbmQgbG9hZCkgQXNrIHRoZSBz
dWJkb2N1bWVudCB0byBpbnZva2UgUGF5bWVudFJlcXVlc3QgYW5kIHBvc3QgYmFjayB0aGUgcmVz
dWx0LgorICAgIGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCdXaGF0IGlzIHRoZSBy
ZXN1bHQgb2YgbmV3IFBheW1lbnRSZXF1ZXN0KC4uLik/JywgJyonKTsKKyAgfSk7CisKKyAgd2lu
ZG93Lm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKChlKSA9PiB7CisgICAgLy8gSWdub3JlIG1lc3Nh
Z2VzIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSB0ZXN0LgorICAgIGlmIChlLnNvdXJjZSAhPSBp
ZnJhbWUuY29udGVudFdpbmRvdykgcmV0dXJuOworCisgICAgaSsrOworICAgIGlmIChpID09PSAx
KSB7CisgICAgICAvLyA1LiBUaGlzIGlzIHRoZSBmaXJzdCBtZXNzYWdlIHdlIHJlY2VpdmUsIGZy
b20gdGhlIGZpcnN0IGxvYWQuCisgICAgICAvLyBTaW5jZSB0aGUgYWxsb3c9InBheW1lbnQiIHdh
cyBzZXQsIHdlIGV4cGVjdCBzdWNjZXNzLgorICAgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEubWVz
c2FnZSwgJ1N1Y2Nlc3MnLCAnYmVmb3JlIG5hdmlnYXRpb24nKTsKKworICAgICAgLy8gNi4gTmF2
aWdhdGUgdGhlIGlmcmFtZS4gVGhpcyB3aWxsIGZpcmUgYSBzZWNvbmQgJ2xvYWQnIGV2ZW50IG9u
IHRoZSBpZnJhbWUuCisgICAgICAvLyBBdCB0aGlzIHRpbWUsIHRoZSBpZnJhbWUgZG9lcyBub3Qg
aGF2ZSBhbiBhbGxvdyBhdHRyaWJ1dGUuCisgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0
d2cub3JnLyN0aGUtbG9jYXRpb24taW50ZXJmYWNlOmRvbS1sb2NhdGlvbi1ocmVmLTMKKyAgICAg
IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2xvY2F0aW9uLW9iamVjdC1zZXR0ZXIt
bmF2aWdhdGUKKyAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2xvY2F0aW9u
LW9iamVjdC1uYXZpZ2F0ZQorICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8j
bmF2aWdhdGUgc3RlcCAxMgorICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8j
cHJvY2Vzcy1hLW5hdmlnYXRlLXJlc3BvbnNlIHN0ZXAgNQorICAgICAgLy8gaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy8jcmVhZC1odG1sCisgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnLyNpbml0aWFsaXNlLXRoZS1kb2N1bWVudC1vYmplY3Qgc3RlcCA4CisgICAgICAv
LyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNzZXQtdGhlLWFsbG93Ki1mbGFncyBzdGVw
IDMgZG9lcyAqbm90KiBzZXQgdGhlIGFsbG93PSJwYXltZW50Ii4KKyAgICAgIGlmcmFtZS5jb250
ZW50V2luZG93LmxvY2F0aW9uLmhyZWYgPSBpZnJhbWUuc3JjICsgJz8yJzsKKyAgICB9IGVsc2Ug
eworICAgICAgLy8gOC4gVGhpcyBpcyB0aGUgc2Vjb25kIG1lc3NhZ2Ugd2UgcmVjZWl2ZSwgZnJv
bSB0aGUgc2Vjb25kIGxvYWQuCisgICAgICAvLyBTaW5jZSB0aGUgYWxsb3c9InBheW1lbnQiIHdh
cyBub3Qgc2V0LCB3ZSBleHBlY3QgYW4gZXhjZXB0aW9uLgorICAgICAgYXNzZXJ0X2VxdWFscyhl
LmRhdGEubWVzc2FnZSwgJ0V4Y2VwdGlvbicsICdhZnRlciBuYXZpZ2F0aW9uJyk7CisgICAgICBh
c3NlcnRfZXF1YWxzKDQsIGUuZGF0YS5kZXRhaWxzLmxlbmd0aCk7CisgICAgICAvLyBUaGUgbGFz
dCBlbnRyeSBpcyB0aGUgZXJyb3Igc3RhY2t0cmFjZS4gSWdub3JlIGl0IGluIGNvbXBhcmlzb24u
CisgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGUuZGF0YS5kZXRhaWxzLnNsaWNlKDAsIDMpLCBb
dHJ1ZSAvKiBleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiovLCAxOCAvKiBleC5jb2RlICovLCAn
U2VjdXJpdHlFcnJvcicgLyogZXgubmFtZSAqL10sICdhZnRlciBuYXZpZ2F0aW9uJyk7CisgICAg
ICB0LmRvbmUoKTsKKyAgICB9CisgIH0pOworCisgIC8vIDEuIFRoZSBicm93c2luZyBjb250ZXh0
IGZvciB0aGUgaWZyYW1lIGlzIGNyZWF0ZWQgd2hlbiB0aGUgaWZyYW1lIGlzIGluc2VydGVkIHRv
IHRoZSBkb2N1bWVudC4KKyAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jdGhlLWlm
cmFtZS1lbGVtZW50OmNyZWF0aW5nLWEtbmV3LWJyb3dzaW5nLWNvbnRleHQKKyAgLy8gaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY3JlYXRpbmctYS1uZXctYnJvd3NpbmctY29udGV4dCBz
dGVwIDExCisgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3NldC10aGUtYWxsb3cq
LWZsYWdzIHN0ZXAgMyBzZXRzIHRoZSBhbGxvdz0icGF5bWVudCIuCisgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoaWZyYW1lKTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxv
d3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1
Yi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjhkODQ5YTc2NzRkYThhOWZkNDZhNzdjZDA2MTJl
YmFlNGVhY2U1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9zZXR0aW5nLWFs
bG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAK
K0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0
NDMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwK
KworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgUGF5
bWVudFJlcXVlc3Qgc2V0dGluZyBhbGxvdz0icGF5bWVudCIgYWZ0ZXIgbG9hZCBhbmQgdGhlbiBu
YXZpZ2F0aW5nIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9z
ZXR0aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1l
bnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIyODgxY2Q4OTMzZjIyNGZlM2Y0NTI4NjhjNjhhYzZiN2YzNmE4YWIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1
Yi5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlBheW1lbnRS
ZXF1ZXN0IHNldHRpbmcgYWxsb3c9InBheW1lbnQiIGFmdGVyIGxvYWQgYW5kIHRoZW4gbmF2aWdh
dGluZzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Njcmlw
dD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdCgodCkgPT4gewor
ICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgLy8g
bm8gYWxsb3c9InBheW1lbnQiIGF0dHJpYnV0ZQorCisgIGxldCBpID0gMDsKKworICBjb25zdCBw
YXRoID0gbG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIGxvY2F0aW9uLnBhdGhuYW1lLmxh
c3RJbmRleE9mKCcvJykgKyAxKTsKKyAgaWZyYW1lLnNyYyA9ICJodHRwczovL3t7ZG9tYWluc1t3
d3cxXX19Ont7cG9ydHNbaHR0cHNdWzBdfX0iICsgcGF0aCArICJlY2hvLVBheW1lbnRSZXF1ZXN0
Lmh0bWwiOworICBpZnJhbWUub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGlmIChp
ID09PSAwKSB7CisgICAgICBpZnJhbWUuYWxsb3cgPSAicGF5bWVudCI7CisgICAgfQorICAgIGlm
cmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCdXaGF0IGlzIHRoZSByZXN1bHQgb2YgbmV3
IFBheW1lbnRSZXF1ZXN0KC4uLik/JywgJyonKTsKKyAgfSk7CisKKyAgd2luZG93Lm9ubWVzc2Fn
ZSA9IHQuc3RlcF9mdW5jKChlKSA9PiB7CisgICAgLy8gSWdub3JlIG1lc3NhZ2VzIHRoYXQgYXJl
IG5vdCBwYXJ0IG9mIHRoZSB0ZXN0LgorICAgIGlmIChlLnNvdXJjZSAhPSBpZnJhbWUuY29udGVu
dFdpbmRvdykgcmV0dXJuOworCisgICAgaSsrOworICAgIGlmIChpID09PSAxKSB7CisgICAgICBh
c3NlcnRfZXF1YWxzKGUuZGF0YS5tZXNzYWdlLCAnRXhjZXB0aW9uJywgJ2JlZm9yZSBuYXZpZ2F0
aW9uJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKDQsIGUuZGF0YS5kZXRhaWxzLmxlbmd0aCk7Cisg
ICAgICAvLyBUaGUgbGFzdCBlbnRyeSBpcyB0aGUgZXJyb3Igc3RhY2t0cmFjZS4gSWdub3JlIGl0
IGluIGNvbXBhcmlzb24uCisgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGUuZGF0YS5kZXRhaWxz
LnNsaWNlKDAsIDMpLCBbdHJ1ZSAvKiBleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiovLCAxOCAv
KiBleC5jb2RlICovLCAnU2VjdXJpdHlFcnJvcicgLyogZXgubmFtZSAqL10sICdiZWZvcmUgbmF2
aWdhdGlvbicpOworCisgICAgICAvLyBOYXZpZ2F0ZSB0aGUgaWZyYW1lLiBUaGlzIHdpbGwgZmly
ZSBhIHNlY29uZCAnbG9hZCcgZXZlbnQgb24gdGhlIGlmcmFtZS4KKyAgICAgIGlmcmFtZS5jb250
ZW50V2luZG93LmxvY2F0aW9uLmhyZWYgPSBpZnJhbWUuc3JjICsgJz8yJzsKKyAgICB9IGVsc2Ug
eworICAgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEubWVzc2FnZSwgJ1N1Y2Nlc3MnLCAnYWZ0ZXIg
bmF2aWdhdGlvbicpOworICAgICAgdC5kb25lKCk7CisgICAgfQorICB9KTsKKworICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvYWxsb3dwYXltZW50L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3czYy1pbXBv
cnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEyZjNhZjk4Yjc1YmJmM2RhNmNmMjY5N2UyZDE5YzIwNTY0MmQy
MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvdzNjLWltcG9ydC5sb2cKQEAg
LTAsMCArMSwyNSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJv
cGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1bWVudC1j
cm9zcy1vcmlnaW4uaHR0cHMuc3ViLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZlLWRvY3Vt
ZW50LXNhbWUtb3JpZ2luLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWxsb3dwYXltZW50
cmVxdWVzdC1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L2FsbG93cGF5bWVudC9jb21tb24uc3ViLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2VjaG8tUGF5
bWVudFJlcXVlc3QuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUtY3Jvc3Mtb3Jp
Z2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1
dGUtc2FtZS1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50
L3JlbW92aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3Bh
eW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9iaWxsaW5nLWFkZHJlc3MtY2hhbmdlZC1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvYmlsbGluZy1hZGRyZXNzLWNoYW5nZWQtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTA3ZmZkNzgwZDFjZTc2YzM3MGY3ODBlMmMy
OTUzYTdhZDZhNGY0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9iaWxsaW5nLWFkZHJlc3MtY2hhbmdlZC1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotUmVxdWVzdCBiaWxsaW5nIGFkZHJlc3MK
LQotQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdp
dGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4gRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUg
UGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLQotV2hlbiB0aGUgcGF5bWVudCBzaGVldCBpcyBw
cmVzZW50ZWQsIHNlbGVjdCBhIHBheW1lbnQgbWV0aG9kIChlLmcuLCBhIGNyZWRpdCBjYXJkKS4K
LQotV2hlbiBubyBiaWxsaW5nIGFkZHJlc3MgaXMgcmVxdWVzdGVkLCBgUGF5bWVudE1ldGhvZENo
YW5nZUV2ZW50Lm1ldGhvZERldGFpbHMuYmlsbGluZ0FkZHJlc3NgIGlzIG51bGwuCi1XaGVuIGJp
bGxpbmcgYWRkcmVzcyBpcyByZXF1ZXN0ZWQsYFBheW1lbnRNZXRob2RDaGFuZ2VFdmVudC5tZXRo
b2REZXRhaWxzLmJpbGxpbmdBZGRyZXNzYCBpcyBhIGBQYXltZW50QWRkcmVzc2AuCi1Eb25lIQot
SWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgZmlsZSBhIGJ1ZyBhbmQgdGFnIG9uZSBv
ZiB0aGUgc3VnZ2VzdGVkIHJldmlld2Vycy4KLQotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCi0KLVBBU1Mgb25wYXltZW50bWV0aG9kY2hhbmdlIGlzIGluIHByb3RvdHlw
ZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9iaWxsaW5nLWFkZHJlc3MtY2hhbmdlZC1tYW51YWwuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L2JpbGxpbmctYWRkcmVzcy1jaGFuZ2VkLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZmY5Y2IyODU3ZmY2YTVjNmU1N2IzZmU0M2E3MWUy
ZmVkNzVhYWJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L2JpbGxpbmctYWRkcmVzcy1jaGFuZ2VkLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPiA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIgLz4KLTx0aXRsZT5UZXN0IGZvciByZXF1ZXN0aW5nIGJpbGxpbmcgYWRkcmVzczwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotICBzZXR1cCh7Ci0gICAgZXhwbGljaXRfZG9uZTogdHJ1ZSwKLSAgICBleHBsaWNpdF90
aW1lb3V0OiB0cnVlLAotICB9KTsKLQotICBjb25zdCBtZXRob2RzID0gWwotICAgIHsgc3VwcG9y
dGVkTWV0aG9kczogImJhc2ljLWNhcmQiIH0sCi0gICAgewotICAgICAgc3VwcG9ydGVkTWV0aG9k
czogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gICAgICBkYXRhOiB7Ci0gICAgICAg
IHZlcnNpb246IDMsCi0gICAgICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5l
eGFtcGxlIiwKLSAgICAgICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgICAgIG1lcmNoYW50Q2Fw
YWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBb
InZpc2EiXSwKLSAgICAgIH0sCi0gICAgfSwKLSAgXTsKLQotICBjb25zdCBkZXRhaWxzID0gewot
ICAgIHRvdGFsOiB7Ci0gICAgICBsYWJlbDogImxhYmVsIiwKLSAgICAgIGFtb3VudDogeyBjdXJy
ZW5jeTogIlVTRCIsIHZhbHVlOiAiNS4wMCIgfSwKLSAgICB9LAotICB9OwotICB0ZXN0KCgpID0+
IHsKLSAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICJvbnBheW1lbnRtZXRob2RjaGFuZ2UiIGluIFBh
eW1lbnRSZXF1ZXN0LnByb3RvdHlwZSwKLSAgICAgICJUaGUgcGF5bWVudG1ldGhvZGNoYW5nZSBp
cyBub3Qgc3VwcG9ydGVkIgotICAgICk7Ci0gIH0sICJvbnBheW1lbnRtZXRob2RjaGFuZ2UgaXMg
aW4gcHJvdG90eXBlIik7Ci0KLSAgZnVuY3Rpb24gZG9udFJlcXVlc3RCaWxsaW5nQWRkcmVzcygp
IHsKLSAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgICBjb25zdCByZXF1ZXN0ID0g
bmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGRldGFpbHMsIHt9KTsKLSAgICAgIGNvbnN0IHNo
b3dQcm9taXNlID0gcmVxdWVzdC5zaG93KCk7Ci0KLSAgICAgIC8vIExldCdzIGNoZWNrIHRoZSBt
ZXRob2QgZGF0YSBmcm9tIGV2ZW50LgotICAgICAgY29uc3QgeyBtZXRob2REZXRhaWxzIH0gPSBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+Ci0gICAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0
ZW5lcigicGF5bWVudG1ldGhvZGNoYW5nZSIsIHJlc29sdmUpCi0gICAgICApOwotCi0gICAgICBh
c3NlcnRfdHJ1ZSgiYmlsbGluZ0FkZHJlc3MiIGluIG1ldGhvZERldGFpbHMpOwotICAgICAgYXNz
ZXJ0X2VxdWFscygKLSAgICAgICAgbWV0aG9kRGV0YWlscy5iaWxsaW5nQWRkcmVzcywKLSAgICAg
ICAgbnVsbCwKLSAgICAgICAgIkV4cGVjdGVkIG1ldGhvZERldGFpbHMuYmlsbGluZ0FkZHJlc3Mg
dG8gYmUgbnVsbCIKLSAgICAgICk7Ci0gICAgICBhd2FpdCByZXF1ZXN0LmFib3J0KCk7Ci0gICAg
fSk7Ci0gIH0KLQotICBmdW5jdGlvbiByZXF1ZXN0QmlsbGluZ0FkZHJlc3MoKSB7Ci0gICAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50
UmVxdWVzdChtZXRob2RzLCBkZXRhaWxzLCB7Ci0gICAgICAgIHJlcXVlc3RCaWxsaW5nQWRkcmVz
czogdHJ1ZSwKLSAgICAgIH0pOwotICAgICAgY29uc3Qgc2hvd1Byb21pc2UgPSByZXF1ZXN0LnNo
b3coKTsKLQotICAgICAgLy8gTGV0J3MgY2hlY2sgdGhlIG1ldGhvZCBkYXRhIGZyb20gZXZlbnQu
Ci0gICAgICBjb25zdCB7IG1ldGhvZERldGFpbHMgfSA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4KLSAgICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJwYXltZW50bWV0aG9kY2hh
bmdlIiwgcmVzb2x2ZSkKLSAgICAgICk7Ci0KLSAgICAgIGFzc2VydF90cnVlKCJiaWxsaW5nQWRk
cmVzcyIgaW4gbWV0aG9kRGV0YWlscyk7Ci0KLSAgICAgIGNvbnN0IHsgYmlsbGluZ0FkZHJlc3Mg
fSA9IG1ldGhvZERldGFpbHM7Ci0gICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgYmlsbGluZ0Fk
ZHJlc3MgaW5zdGFuY2VvZiBQYXltZW50QWRkcmVzcywKLSAgICAgICAgIkV4cGVjdGVkIGluc3Rh
bmNlIG9mIFBheW1lbnRBZGRyZXNzIgotICAgICAgKTsKLSAgICAgIGF3YWl0IHJlcXVlc3QuYWJv
cnQoKTsKLSAgICB9KTsKLSAgfQotPC9zY3JpcHQ+Ci0KLTxoMj5SZXF1ZXN0IGJpbGxpbmcgYWRk
cmVzczwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0
b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUKLSAgcGFnZS4gRWFjaCBidXR0b24g
d2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgot
ICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHByZXNlbnRlZCwgc2VsZWN0IGEgcGF5bWVudCBt
ZXRob2QgKGUuZy4sIGEgY3JlZGl0Ci0gIGNhcmQpLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAg
PGJ1dHRvbiBvbmNsaWNrPSJkb250UmVxdWVzdEJpbGxpbmdBZGRyZXNzKCkiPgotICAgICAgV2hl
biBubyBiaWxsaW5nIGFkZHJlc3MgaXMgcmVxdWVzdGVkLAotICAgICAgYFBheW1lbnRNZXRob2RD
aGFuZ2VFdmVudC5tZXRob2REZXRhaWxzLmJpbGxpbmdBZGRyZXNzYCBpcyBudWxsLgotICAgIDwv
YnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXF1ZXN0Qmls
bGluZ0FkZHJlc3MoKSI+Ci0gICAgICBXaGVuIGJpbGxpbmcgYWRkcmVzcyBpcwotICAgICAgcmVx
dWVzdGVkLGBQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnQubWV0aG9kRGV0YWlscy5iaWxsaW5nQWRk
cmVzc2AgaXMgYQotICAgICAgYFBheW1lbnRBZGRyZXNzYC4KLSAgICA8L2J1dHRvbj4KLSAgPC9s
aT4KLSAgPGxpPjxidXR0b24gb25jbGljaz0iZG9uZSgpIj5Eb25lITwvYnV0dG9uPjwvbGk+Ci08
L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZQotICA8YSBo
cmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZp
bGUgYSBidWc8L2E+IGFuZAotICB0YWcgb25lIG9mIHRoZQotICA8YQotICAgIGhyZWY9Imh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQt
cmVxdWVzdC9NRVRBLnltbCIKLSAgICA+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxs
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi1tYW51YWwuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2NoYW5nZS1zaGlwcGluZy1vcHRpb24tbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzODAwMTgwNGFjZGFjYTIxNDEwY2UwZDM2N2E4MjA4Y2Fj
NjBhZmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
Y2hhbmdlLXNoaXBwaW5nLW9wdGlvbi1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDEwNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTwhLS0gQ29weXJpZ2h0IMKpIDIwMTcg
Q2hyb21pdW0gYXV0aG9ycyBhbmQgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSwgKE1hc3NhY2h1
c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIEVSQ0lNLCBLZWlvIFVuaXZlcnNpdHksIEJl
aWhhbmcpLiAtLT4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5UZXN0IGZvciBQYXlt
ZW50UmVxdWVzdCBzaGlwcGluZ09wdGlvbiBhdHRyaWJ1dGU8L3RpdGxlPgotPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNzaGlwcGlu
Z29wdGlvbi1hdHRyaWJ1dGUiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5n
aXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNvbnNoaXBwaW5nb3B0aW9uY2hhbmdlLWF0dHJpYnV0
ZSI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0
cnVlIH0pOwotY29uc3QgdmFsaWRNZXRob2QgPSBPYmplY3QuZnJlZXplKHsgc3VwcG9ydGVkTWV0
aG9kczogImJhc2ljLWNhcmQiIH0pOwotY29uc3QgYXBwbGVQYXlNZXRob2QgPSB7Ci0gIHN1cHBv
cnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICBkYXRhOiB7Ci0g
ICAgdmVyc2lvbjogMywKLSAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhh
bXBsZSIsCi0gICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6
IFsic3VwcG9ydHMzRFMiXSwKLSAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gIH0s
Ci19OwotY29uc3QgdmFsaWRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbdmFsaWRNZXRob2QsIGFw
cGxlUGF5TWV0aG9kXSk7Ci1jb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoeyBjdXJy
ZW5jeTogIlVTRCIsIHZhbHVlOiAiNS4wMCIgfSk7Ci1jb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0
LmZyZWV6ZSh7Ci0gIGxhYmVsOiAibGFiZWwiLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotfSk7
Ci1jb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsgdG90YWw6IHZhbGlkVG90YWwg
fSk7Ci0KLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24xID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGlk
OiAidmFsaWQtMSIsCi0gIGxhYmVsOiAiUElDSyBNRSEiLAotICBhbW91bnQ6IHZhbGlkQW1vdW50
LAotICBzZWxlY3RlZDogZmFsc2UsCi19KTsKLQotY29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbjIg
PSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJpbml0aWFsbHktc2VsZWN0ZWQiLAotICBsYWJlbDog
IlZhbGlkIHNoaXBwaW5nIG9wdGlvbiAyIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgc2Vs
ZWN0ZWQ6IHRydWUsCi19KTsKLQotY29uc3QgcmVxdWVzdFNoaXBwaW5nID0gT2JqZWN0LmZyZWV6
ZSh7Ci0gIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwKLX0pOwotCi1mdW5jdGlvbiB0ZXN0U2hpcHBp
bmdPcHRpb25DaGFuZ2VkKCkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29u
c3QgZGV0YWlsc1dpdGhTaGlwcGluZ09wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB2YWxpZERl
dGFpbHMsIHsKLSAgICAgIHNoaXBwaW5nT3B0aW9uczogW3ZhbGlkU2hpcHBpbmdPcHRpb24xLCB2
YWxpZFNoaXBwaW5nT3B0aW9uMl0sCi0gICAgfSk7Ci0gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQ
YXltZW50UmVxdWVzdCgKLSAgICAgIHZhbGlkTWV0aG9kcywKLSAgICAgIGRldGFpbHNXaXRoU2hp
cHBpbmdPcHRpb25zLAotICAgICAgcmVxdWVzdFNoaXBwaW5nCi0gICAgKTsKLSAgICBhc3NlcnRf
ZXF1YWxzKAotICAgICAgcmVxdWVzdC5zaGlwcGluZ09wdGlvbiwKLSAgICAgICJpbml0aWFsbHkt
c2VsZWN0ZWQiLAotICAgICAgIk11c3QgYmUgJ2luaXRpYWxseS1zZWxlY3RlZCcsIGFzIHRoZSBz
ZWxlY3RlZCBtZW1iZXIgaXMgdHJ1ZSIKLSAgICApOwotICAgIGNvbnN0IGxpc3RlbmVyUHJvbWlz
ZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3Rl
bmVyKCJzaGlwcGluZ29wdGlvbmNoYW5nZSIsICgpID0+IHsKLSAgICAgICAgcmVzb2x2ZShyZXF1
ZXN0LnNoaXBwaW5nT3B0aW9uKTsKLSAgICAgIH0pOwotICAgIH0pOwotICAgIGNvbnN0IGhhbmRs
ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICByZXF1ZXN0Lm9uc2hp
cHBpbmdvcHRpb25jaGFuZ2UgPSAoKSA9PiB7Ci0gICAgICAgIHJlc29sdmUocmVxdWVzdC5zaGlw
cGluZ09wdGlvbik7Ci0gICAgICB9OwotICAgIH0pOwotICAgIHJlcXVlc3Quc2hvdygpLmNhdGNo
KGVyciA9PiBlcnIpOwotCi0gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFts
aXN0ZW5lclByb21pc2UsIGhhbmRsZXJQcm9taXNlXSk7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAg
ICByZXN1bHRzLmV2ZXJ5KHJlc3VsdCA9PiByZXN1bHQgPT09ICJ2YWxpZC0xIiksCi0gICAgICAi
RXhwZWN0ZWQgdmFsaWQtMSBhcyB0aGUgc2hpcHBpbmdPcHRpb24iCi0gICAgKTsKLSAgICBhd2Fp
dCByZXF1ZXN0LmFib3J0KCk7Ci0gIH0pOwotICBkb25lKCk7Ci19Ci08L3NjcmlwdD4KLQotPGgy
PlBheW1lbnRSZXF1ZXN0IHNoaXBwaW5nT3B0aW9uIGF0dHJpYnV0ZTwvaDI+Ci08cD4KLSAgQ2xp
Y2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQg
cmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5
bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHRoZSBwYXltZW50IHNo
ZWV0IGlzIHByZXNlbnRlZCwgc2VsZWN0ICJQSUNLIE1FISIgYXMgdGhlIHNoaXBwaW5nIG9wdGlv
bi4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0idGVzdFNoaXBwaW5n
T3B0aW9uQ2hhbmdlZCgpIj4KLSAgICAgIFdoZW4gdGhlIHNoaXBwaW5nIG9wdGlvbiBpcyBtYW51
YWxseSBjaGFuZ2VkLCByZXF1ZXN0LnNoaXBwaW5nT3B0aW9uIHJlcHJlc2VudHMgdGhlIHVzZXIn
cyBjaG9pY2UuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5
b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcg
b25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZp
ZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5nZS1zaGlwcGluZy1vcHRp
b24tc2VsZWN0LWxhc3QtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmctb3B0
aW9uLXNlbGVjdC1sYXN0LW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA0YWQzMWQ2NTMxNzMzOGYwNDc0YzI0ZTZlMzU2ODhlYjhmMmI0Y2JlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5nZS1zaGlwcGlu
Zy1vcHRpb24tc2VsZWN0LWxhc3QtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwxMDEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08
dGl0bGU+VGVzdCBmb3IgUGF5bWVudERldGFpbHNCYXNlJ3Mgc2hpcHBpbmdPcHRpb25zIG1lbWJl
cjwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9w
YXltZW50LXJlcXVlc3QvI2RvbS1wYXltZW50ZGV0YWlsc2Jhc2Utc2hpcHBpbmdvcHRpb25zIj4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci1zZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUg
fSk7Ci1jb25zdCB2YWxpZE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFsKLSAgeyBzdXBwb3J0ZWRN
ZXRob2RzOiAiYmFzaWMtY2FyZCIgfSwKLSAgewotICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRw
czovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICAgIGRhdGE6IHsKLSAgICAgIHZlcnNpb246IDMs
Ci0gICAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCi0gICAg
ICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBv
cnRzM0RTIl0sCi0gICAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gICAgfSwKLSAg
fSwKLV0pOwotY29uc3QgdmFsaWRBbW91bnQgPSBPYmplY3QuZnJlZXplKHsgY3VycmVuY3k6ICJV
U0QiLCB2YWx1ZTogIjUuMDAiIH0pOwotY29uc3QgdmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUo
ewotICBsYWJlbDogImxhYmVsIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLX0pOwotY29uc3Qg
dmFsaWREZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7IHRvdGFsOiB2YWxpZFRvdGFsIH0pOwotCi1j
b25zdCB2YWxpZFNoaXBwaW5nT3B0aW9uMSA9IE9iamVjdC5mcmVlemUoewotICBpZDogImZhaWwt
aWYtc2VsZWN0ZWQtMSIsCi0gIGxhYmVsOiAiRkFJTCBpZiBzZWxlY3RlZCAxIiwKLSAgYW1vdW50
OiB2YWxpZEFtb3VudCwKLSAgc2VsZWN0ZWQ6IHRydWUsCi19KTsKLQotY29uc3QgdmFsaWRTaGlw
cGluZ09wdGlvbjIgPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJmYWlsLWlmLXNlbGVjdGVkLTIi
LAotICBsYWJlbDogIkZBSUwgaWYgc2VsZWN0ZWQgMiIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQs
Ci0gIHNlbGVjdGVkOiBmYWxzZSwKLX0pOwotCi1jb25zdCB2YWxpZFNoaXBwaW5nT3B0aW9uMyA9
IE9iamVjdC5mcmVlemUoewotICBpZDogInBhc3MtaWYtc2VsZWN0ZWQiLAotICBsYWJlbDogIlRI
SVMgTVVTVCBCRSBBVVRPTUFUSUNBTExZIFNFTEVDVEVEIiwKLSAgYW1vdW50OiB2YWxpZEFtb3Vu
dCwKLSAgc2VsZWN0ZWQ6IHRydWUsCi19KTsKLQotZnVuY3Rpb24gdGVzdFNoaXBwaW5nT3B0aW9u
Q2hhbmdlZChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IGRldGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zID0g
ewotICAgICAgLi4udmFsaWREZXRhaWxzLAotICAgICAgc2hpcHBpbmdPcHRpb25zOiBbCi0gICAg
ICAgIHZhbGlkU2hpcHBpbmdPcHRpb24xLAotICAgICAgICB2YWxpZFNoaXBwaW5nT3B0aW9uMiwK
LSAgICAgICAgdmFsaWRTaGlwcGluZ09wdGlvbjMsCi0gICAgICBdLAotICAgIH07Ci0gICAgY29u
c3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKLSAgICAgIHZhbGlkTWV0aG9kcywKLSAg
ICAgIGRldGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zLAotICAgICAgeyByZXF1ZXN0U2hpcHBpbmc6
IHRydWUgfQotICAgICk7Ci0gICAgYXNzZXJ0X2VxdWFscygKLSAgICAgIHJlcXVlc3Quc2hpcHBp
bmdPcHRpb24sCi0gICAgICAicGFzcy1pZi1zZWxlY3RlZCIsCi0gICAgICAiTXVzdCBiZSAncGFz
cy1pZi1zZWxlY3RlZCcsIGFzIHRoZSBzZWxlY3RlZCBtZW1iZXIgaXMgdHJ1ZSIKLSAgICApOwot
ICAgIHJlcXVlc3Qub25zaGlwcGluZ29wdGlvbmNoYW5nZSA9ICgpID0+IHsKLSAgICAgIGFzc2Vy
dF91bnJlYWNoZWQoIm9uc2hpcHBpbmdvcHRpb25jaGFuZ2UgZmlyZWQgdW5leHBlY3RlZGx5Iik7
Ci0gICAgfTsKLSAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOwotICAg
IGFzc2VydF9lcXVhbHMocmVzcG9uc2Uuc2hpcHBpbmdPcHRpb24sICJwYXNzLWlmLXNlbGVjdGVk
Iik7Ci0gICAgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRy
aW0oKSk7Ci0gIGRvbmUoKTsKLX0KLTwvc2NyaXB0PgotCi08aDI+UGF5bWVudFJlcXVlc3Qgc2hp
cHBpbmdPcHRpb24gYXR0cmlidXRlPC9oMj4KLTxwPgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBp
biBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdl
LgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2lu
ZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgcHJlc2VudGVkLCBo
aXQgcGF5LgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0U2hp
cHBpbmdPcHRpb25DaGFuZ2VkKHRoaXMpIj4KLSAgICAgIFdoZW4gZGVmYXVsdCBzaGlwcGluZyBv
cHRpb24gaXMgcHJlLXNlbGVjdGVkLCBtdXN0IG5vdCBmaXJlIG9uc2hpcHBpbmdvcHRpb25jaGFu
Z2UKLSAgICAgIGFuZCBQYXltZW50UmVzcG9uc2UgbXVzdCByZWZsZWN0IHRoZSBwcmUtc2VsZWN0
ZWQgb3B0aW9uLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYg
eW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFn
IG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0
cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2
aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9keW5hbWljYWxseS1jaGFuZ2Ut
c2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvZHluYW1pY2Fs
bHktY2hhbmdlLXNoaXBwaW5nLW9wdGlvbnMtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkxYzlmZWJiODQzYzI3NDJlODk2OGUwZmQ5MzU4
M2VjNWNmNzM2NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9keW5hbWljYWxseS1jaGFuZ2Utc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotUGF5bWVudFJlcXVlc3Qg
c2hpcHBpbmdPcHRpb24gYXR0cmlidXRlCi0KLUNsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVl
bmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuIEVhY2gg
YnV0dG9uIChleGNlcHQgdGhlICdEb25lJyBidXR0b24pIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1l
bnQgUmVxdWVzdCBVSSB3aW5kb3cuCi0KLVdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgcHJlc2Vu
dGVkLCB2aWV3IG9wdGlvbnMgZm9yIFNoaXBwaW5nIE1ldGhvZC4gVGhlcmUgc2hvdWxkIG9ubHkg
YmUgb25lOiAiRGVmYXVsdCBzaGlwcGluZyBtZXRob2QiCi1DaGFuZ2UgeW91ciBTaGlwcGluZyBB
ZGRyZXNzIC0gZWl0aGVyIHVwZGF0ZSB5b3VyIGV4aXN0aW5nIG9uZSBieSBjaGFuZ2luZyBzb21l
dGhpbmcgKG5hbWUsIGFkZHJlc3MsIGV0YyksIG9yIHNlbGVjdCBhIGRpZmZlcmVudCBTaGlwcGlu
ZyBBZGRyZXNzLCBvciBhZGQgYSBuZXcgU2hpcHBpbmcgQWRkcmVzcyBhbmQgc2VsZWN0IGl0Lgot
R28gYmFjayB0byBTaGlwcGluZyBNZXRob2QsIGFuZCB0aGVyZSBpcyBub3cgYW4gb3B0aW9uIGNh
bGxlZCAiRHluYW1pY2FsbHkgYWRkZWQgc2hpcHBpbmcgb3B0aW9uIi4gU2VsZWN0IGl0Ci1DbGlj
ayBvbiB0aGUgJ0RvbmUnIGJ1dHRvbgotV2hlbiB0aGUgYWRkcmVzcyBpcyBjaGFuZ2VkLCBzaGlw
cGluZyBtZXRob2RzIGNhbiBiZSB1cGRhdGVkCi1Eb25lCi1JZiB5b3UgZmluZCBhIGJ1Z2d5IHRl
c3QsIHBsZWFzZSBmaWxlIGEgYnVnIGFuZCB0YWcgb25lIG9mIHRoZSBzdWdnZXN0ZWQgcmV2aWV3
ZXJzLgotCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9keW5hbWljYWxseS1jaGFuZ2Utc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L2R5bmFtaWNhbGx5LWNoYW5nZS1zaGlwcGluZy1vcHRpb25zLW1hbnVhbC5o
dHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2I3MDUzNTBkNGQ5ZjU1
ODUzMzQ0NDY5NTIxOThkZmFjNDdkMDQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L2R5bmFtaWNhbGx5LWNoYW5nZS1zaGlwcGluZy1vcHRpb25zLW1h
bnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQxICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Ci08dGl0bGU+VGVzdCBmb3IgUGF5bWVu
dFJlcXVlc3Qgc2hpcHBpbmdPcHRpb24gZHluYW1pYyB1cGRhdGluZzwvdGl0bGU+Ci08bGluawot
ICByZWw9ImhlbHAiCi0gIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVl
c3QvI3NoaXBwaW5nb3B0aW9uLWF0dHJpYnV0ZSIKLS8+Ci08bGluawotICByZWw9ImhlbHAiCi0g
IGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI29uc2hpcHBpbmdv
cHRpb25jaGFuZ2UtYXR0cmlidXRlIgotLz4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gIHNldHVwKHsgZXhwbGljaXRfZG9uZTog
dHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKLSAgY29uc3QgdmFsaWRNZXRob2QgPSBP
YmplY3QuZnJlZXplKHsgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiIH0pOwotICBjb25z
dCBhcHBsZVBheU1ldGhvZCA9IHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBs
ZS5jb20vYXBwbGUtcGF5IiwKLSAgICBkYXRhOiB7Ci0gICAgICB2ZXJzaW9uOiAzLAotICAgICAg
bWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgICAgY291bnRy
eUNvZGU6ICJVUyIsCi0gICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJd
LAotICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICAgIH0sCi0gIH07Ci0gIGNv
bnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkTWV0aG9kLCBhcHBsZVBheU1l
dGhvZF0pOwotICBjb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoeyBjdXJyZW5jeTog
IlVTRCIsIHZhbHVlOiAiNS4wMCIgfSk7Ci0gIGNvbnN0IHZhbGlkVG90YWwgPSBPYmplY3QuZnJl
ZXplKHsKLSAgICBsYWJlbDogImxhYmVsIiwKLSAgICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICB9
KTsKLSAgY29uc3QgdmFsaWREZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7IHRvdGFsOiB2YWxpZFRv
dGFsIH0pOwotCi0gIGNvbnN0IGluaXRpYWxWYWxpZFNoaXBwaW5nT3B0aW9uID0gT2JqZWN0LmZy
ZWV6ZSh7Ci0gICAgaWQ6ICJkZWZhdWx0LW1ldGhvZCIsCi0gICAgbGFiZWw6ICJEZWZhdWx0IHNo
aXBwaW5nIG1ldGhvZCIsCi0gICAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgICBzZWxlY3RlZDog
dHJ1ZSwKLSAgfSk7Ci0KLSAgY29uc3QgdmFsaWREeW5hbWljU2hpcHBpbmdPcHRpb24gPSBPYmpl
Y3QuZnJlZXplKHsKLSAgICBpZDogImR5bmFtaWNhbGx5LWFkZGVkLWlkIiwKLSAgICBsYWJlbDog
IkR5bmFtaWNhbGx5IGFkZGVkIHNoaXBwaW5nIG9wdGlvbiIsCi0gICAgYW1vdW50OiB2YWxpZEFt
b3VudCwKLSAgICBzZWxlY3RlZDogZmFsc2UsCi0gIH0pOwotCi0gIGNvbnN0IHJlcXVlc3RTaGlw
cGluZyA9IE9iamVjdC5mcmVlemUoewotICAgIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwKLSAgfSk7
Ci0KLSAgZnVuY3Rpb24gdGVzdFNoaXBwaW5nT3B0aW9uQ2hhbmdlZCgpIHsKLSAgICBwcm9taXNl
X3Rlc3QoYXN5bmMgKHQpID0+IHsKLSAgICAgIGNvbnN0IGRldGFpbHNXaXRoU2hpcHBpbmdPcHRp
b25zID0gewotICAgICAgICAuLi52YWxpZERldGFpbHMsCi0gICAgICAgIHNoaXBwaW5nT3B0aW9u
czogW2luaXRpYWxWYWxpZFNoaXBwaW5nT3B0aW9uXSwKLSAgICAgIH07Ci0gICAgICBjb25zdCBy
ZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAotICAgICAgICB2YWxpZE1ldGhvZHMsCi0gICAg
ICAgIGRldGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zLAotICAgICAgICByZXF1ZXN0U2hpcHBpbmcK
LSAgICAgICk7Ci0gICAgICBjb25zdCBzaGlwcGluZ0FkZHJlc3NDaGFuZ2VMaXN0ZW5lciA9IG5l
dyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5l
cigKLSAgICAgICAgICAic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwKLSAgICAgICAgICAoZXYpID0+
IHsKLSAgICAgICAgICAgIC8vIHJlc29sdmUocmVxdWVzdC5zaGlwcGluZ09wdGlvbik7Ci0gICAg
ICAgICAgICBldi51cGRhdGVXaXRoKHsKLSAgICAgICAgICAgICAgc2hpcHBpbmdPcHRpb25zOiBb
Ci0gICAgICAgICAgICAgICAgaW5pdGlhbFZhbGlkU2hpcHBpbmdPcHRpb24sCi0gICAgICAgICAg
ICAgICAgdmFsaWREeW5hbWljU2hpcHBpbmdPcHRpb24sCi0gICAgICAgICAgICAgIF0sCi0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICB9LAotICAgICAg
ICAgIHsgb25jZTogdHJ1ZSB9Ci0gICAgICAgICk7Ci0gICAgICB9KTsKLSAgICAgIGNvbnN0IGhh
bmRsZXJQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgcmVxdWVz
dC5vbnNoaXBwaW5nb3B0aW9uY2hhbmdlID0gKCkgPT4gewotICAgICAgICAgIHJlc29sdmUocmVx
dWVzdC5zaGlwcGluZ09wdGlvbik7Ci0gICAgICAgIH07Ci0gICAgICB9KTsKLSAgICAgIHJlcXVl
c3Quc2hvdygpLmNhdGNoKChlcnIpID0+IGVycik7Ci0KLSAgICAgIGNvbnN0IHJlc3VsdHMgPSBh
d2FpdCBQcm9taXNlLmFsbChbCi0gICAgICAgIHNoaXBwaW5nQWRkcmVzc0NoYW5nZUxpc3RlbmVy
LAotICAgICAgICBoYW5kbGVyUHJvbWlzZSwKLSAgICAgIF0pOwotICAgICAgYXNzZXJ0X3RydWUo
Ci0gICAgICAgIHJlc3VsdHNbMV0gPT09ICJkeW5hbWljYWxseS1hZGRlZC1pZCIsCi0gICAgICAg
ICJFeHBlY3RlZCBkeW5hbWljYWxseS1hZGRlZC1pZCBhcyB0aGUgc2hpcHBpbmdPcHRpb24iCi0g
ICAgICApOwotICAgICAgYXdhaXQgcmVxdWVzdC5hYm9ydCgpOwotICAgIH0pOwotICB9Ci08L3Nj
cmlwdD4KLQotPGgyPlBheW1lbnRSZXF1ZXN0IHNoaXBwaW5nT3B0aW9uIGF0dHJpYnV0ZTwvaDI+
Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90
dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUKLSAgcGFnZS4gRWFjaCBidXR0b24gKGV4Y2VwdCB0
aGUgJ0RvbmUnIGJ1dHRvbikgd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0Ci0gIFVJ
IHdpbmRvdy4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQg
aXMgcHJlc2VudGVkLCB2aWV3IG9wdGlvbnMgZm9yIFNoaXBwaW5nIE1ldGhvZC4gVGhlcmUKLSAg
ICBzaG91bGQgb25seSBiZSBvbmU6ICJEZWZhdWx0IHNoaXBwaW5nIG1ldGhvZCIKLSAgPC9saT4K
LSAgPGxpPgotICAgIENoYW5nZSB5b3VyIFNoaXBwaW5nIEFkZHJlc3MgLSBlaXRoZXIgdXBkYXRl
IHlvdXIgZXhpc3Rpbmcgb25lIGJ5IGNoYW5naW5nCi0gICAgc29tZXRoaW5nIChuYW1lLCBhZGRy
ZXNzLCBldGMpLCBvciBzZWxlY3QgYSBkaWZmZXJlbnQgU2hpcHBpbmcgQWRkcmVzcywgb3IKLSAg
ICBhZGQgYSBuZXcgU2hpcHBpbmcgQWRkcmVzcyBhbmQgc2VsZWN0IGl0LgotICA8L2xpPgotICA8
bGk+Ci0gICAgR28gYmFjayB0byBTaGlwcGluZyBNZXRob2QsIGFuZCB0aGVyZSBpcyBub3cgYW4g
b3B0aW9uIGNhbGxlZCAiRHluYW1pY2FsbHkKLSAgICBhZGRlZCBzaGlwcGluZyBvcHRpb24iLiBT
ZWxlY3QgaXQKLSAgPC9saT4KLSAgPGxpPgotICAgIENsaWNrIG9uIHRoZSAnRG9uZScgYnV0dG9u
Ci0gIDwvbGk+Ci08L29sPgotPHVsPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0
U2hpcHBpbmdPcHRpb25DaGFuZ2VkKCkiPgotICAgICAgV2hlbiB0aGUgYWRkcmVzcyBpcyBjaGFu
Z2VkLCBzaGlwcGluZyBtZXRob2RzIGNhbiBiZSB1cGRhdGVkCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImRvbmUoKSI+RG9uZTwvYnV0dG9uPgot
ICA8L2xpPgotPC91bD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVh
c2UKLSAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQv
aXNzdWVzIj5maWxlIGEgYnVnPC9hPiBhbmQKLSAgdGFnIG9uZSBvZiB0aGUKLSAgPGEKLSAgICBo
cmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rl
ci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiCi0gICAgPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+
LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2hpc3RvcmljYWwuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvaGlzdG9yaWNhbC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYjdiNjZlMjIzMzhlNzVi
N2QwMDQzMjM3MTA1MTQxNTRjMjEwZWNmMC4uNmY5NmM1OTZkZDBhMDk5Y2I3NDMwZTEwYWM1YjYw
MGYyMjlkZjY4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvaGlzdG9yaWNhbC5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvaGlzdG9yaWNhbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTYsNSArNiw2IEBAIFBB
U1MgdG90YWxBbW91bnQgaW4gUGF5bWVudFJlc3BvbnNlCiBQQVNTIHBheW1lbnRSZXF1ZXN0SWQg
aW4gUGF5bWVudFJlcXVlc3QKIFBBU1MgcGF5bWVudFJlcXVlc3RJZCBpbiBQYXltZW50UmVzcG9u
c2UKIFBBU1MgbGFuZ3VhZ2VDb2RlIGluIFBheW1lbnRBZGRyZXNzCitQQVNTIGFsbG93UGF5bWVu
dFJlcXVlc3QgaW4gSFRNTElGcmFtZUVsZW1lbnQKIFBBU1Mgc3VwcG9ydGVkTWV0aG9kcyBtdXN0
IG5vdCBzdXBwb3J0IHNlcXVlbmNlPERPTVN0cmluZz4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvaGlzdG9y
aWNhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvaGlzdG9yaWNhbC5odHRwcy5odG1sCmluZGV4IDY2NjNlNjMx
YmZkMjg1N2RjNjNmZjk4NTRlODY1Nzg5M2M3MWE3ZWQuLmFhMTgzYTU4Y2RiOWZjYWYyMDZiODI2
Njc3NTI0MzM2YTg2ZmZiYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2hpc3RvcmljYWwuaHR0cHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9oaXN0b3JpY2FsLmh0dHBzLmh0bWwKQEAgLTIxLDYgKzIxLDEwIEBACiAKICAgLy8g
aHR0cHM6Ly9naXRodWIuY29tL3czYy9wYXltZW50LXJlcXVlc3QvcHVsbC83NjUKICAgWyJsYW5n
dWFnZUNvZGUiLCAiUGF5bWVudEFkZHJlc3MiXSwKKworICAvL2h0dHBzOi8vZ2l0aHViLmNvbS93
aGF0d2cvaHRtbC9wdWxsLzU5MTUKKyAgWyJhbGxvd1BheW1lbnRSZXF1ZXN0IiwgIkhUTUxJRnJh
bWVFbGVtZW50Il0sCisKIF0uZm9yRWFjaCgoW21lbWJlciwgaW50ZXJmXSkgPT4gewogICB0ZXN0
KCgpID0+IHsKICAgICBhc3NlcnRfZmFsc2UobWVtYmVyIGluIHdpbmRvd1tpbnRlcmZdLnByb3Rv
dHlwZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9vbm1lcmNoYW50dmFsaWRhdGlvbi1hdHRyaWJ1dGUuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3Qvb25tZXJjaGFudHZhbGlkYXRpb24tYXR0cmlidXRlLmh0dHBz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2M4ZDVhNjkxNzBl
ODRhNmYyZmEwNmI1NTg5M2JiYTk3MTUzMGNiMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9vbm1lcmNoYW50dmFsaWRhdGlvbi1hdHRyaWJ1dGUuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0KLVBBU1MgTXVz
dCBoYXZlIGEgb25tZXJjaGFudHZhbGlkYXRpb24gSURMIGF0dHJpYnV0ZQotUEFTUyBvbm1lcmNo
YW50dmFsaWRhdGlvbiBhdHRyaWJ1dGUgaXMgYSBnZW5lcmljIGhhbmRsZXIgZm9yICJtZXJjaGFu
dHZhbGlkYXRpb24iCi1QQVNTIG9ubWVyY2hhbnR2YWxpZGF0aW9uIGF0dHJpYnV0ZSBpcyBhIGhh
bmRsZXIgZm9yIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Ci1QQVNTIG9ubWVyY2hhbnR2YWxpZGF0
aW9uIGF0dHJpYnV0ZSBhbmQgbGlzdGVuZXJzIGJvdGggd29yawotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9v
bm1lcmNoYW50dmFsaWRhdGlvbi1hdHRyaWJ1dGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L29ubWVyY2hhbnR2
YWxpZGF0aW9uLWF0dHJpYnV0ZS5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkMzFhYzJkZDcyYWJjZjUxYTI4ZWNlYzg1MDQwMGY1ZjBjNmI5YmI1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L29ubWVyY2hhbnR2YWxpZGF0
aW9uLWF0dHJpYnV0ZS5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdCBmb3Ig
UGF5bWVudFJlcXVlc3QncyBvbm1lcmNoYW50dmFsaWRhdGlvbiBhdHRyaWJ1dGU8L3RpdGxlPgot
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vYnJvd3Nlci1wYXlt
ZW50LWFwaS8jZG9tLXBheW1lbnRyZXF1ZXN0LW9ubWVyY2hhbnR2YWxpZGF0aW9uIj4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0i
dXNlIHN0cmljdCI7Ci1jb25zdCB0ZXN0TWV0aG9kID0gT2JqZWN0LmZyZWV6ZSh7IHN1cHBvcnRl
ZE1ldGhvZHM6ICJub3QtYS1yZWFsLW1ldGhvZCIgfSk7Ci1jb25zdCBhcHBsZVBheSA9IE9iamVj
dC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUt
cGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0gICAgbWVyY2hhbnRJZGVudGlmaWVy
OiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50cnlDb2RlOiAiVVMiLAotICAgIG1l
cmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgc3VwcG9ydGVkTmV0d29y
a3M6IFsidmlzYSJdLAotICB9LAotfSk7Ci1jb25zdCBkZWZhdWx0TWV0aG9kcyA9IE9iamVjdC5m
cmVlemUoW3Rlc3RNZXRob2QsIGFwcGxlUGF5XSk7Ci1jb25zdCBkZWZhdWx0RGV0YWlscyA9IE9i
amVjdC5mcmVlemUoewotICB0b3RhbDogewotICAgIGxhYmVsOiAiVG90YWwiLAotICAgIGFtb3Vu
dDogewotICAgICAgY3VycmVuY3k6ICJVU0QiLAotICAgICAgdmFsdWU6ICIxLjAwIiwKLSAgICB9
LAotICB9LAotfSk7Ci1jb25zdCB2YWxpZGF0aW9uVVJMID0gImh0dHBzOi8vZXhhbXBsZS5jb20i
OwotCi10ZXN0KCgpID0+IHsKLSAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChk
ZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOwotICBhc3NlcnRfaWRsX2F0dHJpYnV0ZShy
ZXF1ZXN0LCAib25tZXJjaGFudHZhbGlkYXRpb24iKTsKLX0sICJNdXN0IGhhdmUgYSBvbm1lcmNo
YW50dmFsaWRhdGlvbiBJREwgYXR0cmlidXRlIik7Ci0KLXRlc3QoKCkgPT4gewotICBjb25zdCBy
ZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWls
cyk7Ci0gIGNvbnN0IGV2ID0gbmV3IEV2ZW50KCJtZXJjaGFudHZhbGlkYXRpb24iKTsKLSAgbGV0
IGRpZEhhbmRsZSA9IGZhbHNlOwotICByZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0aW9uID0gZXZ0
ID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGV2LCBldnQsICJtdXN0IGJlIHNhbWUgZXZlbnQiKTsK
LSAgICBkaWRIYW5kbGUgPSB0cnVlOwotICB9OwotICByZXF1ZXN0LmRpc3BhdGNoRXZlbnQoZXYp
OwotICBhc3NlcnRfdHJ1ZShkaWRIYW5kbGUsICJldmVudCBkaWQgbm90IGZpcmUiKTsKLX0sIGBv
bm1lcmNoYW50dmFsaWRhdGlvbiBhdHRyaWJ1dGUgaXMgYSBnZW5lcmljIGhhbmRsZXIgZm9yICJt
ZXJjaGFudHZhbGlkYXRpb24iYCk7Ci0KLXRlc3QoKCkgPT4gewotICBjb25zdCByZXF1ZXN0ID0g
bmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gIGNv
bnN0IGV2ID0gbmV3IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KCJtZXJjaGFudHZhbGlkYXRpb24i
LCB7IHZhbGlkYXRpb25VUkwgfSk7Ci0gIGxldCBkaWRIYW5kbGUgPSBmYWxzZTsKLSAgcmVxdWVz
dC5vbm1lcmNoYW50dmFsaWRhdGlvbiA9IGV2dCA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhldiwg
ZXZ0LCAibXVzdCBiZSBzYW1lIGV2ZW50Iik7Ci0gICAgZGlkSGFuZGxlID0gdHJ1ZTsKLSAgfTsK
LSAgcmVxdWVzdC5kaXNwYXRjaEV2ZW50KGV2KTsKLSAgYXNzZXJ0X3RydWUoZGlkSGFuZGxlLCAi
ZXZlbnQgZGlkIG5vdCBmaXJlIik7Ci19LCBgb25tZXJjaGFudHZhbGlkYXRpb24gYXR0cmlidXRl
IGlzIGEgaGFuZGxlciBmb3IgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnRgKTsKLQotdGVzdCgoKSA9
PiB7Ci0gIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMs
IGRlZmF1bHREZXRhaWxzKTsKLSAgY29uc3QgZXYgPSBuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQoIm1lcmNoYW50dmFsaWRhdGlvbiIsIHsgdmFsaWRhdGlvblVSTCB9KTsKLSAgbGV0IGRpZEhh
bmRsZSA9IGZhbHNlOwotICBsZXQgZGlkTGlzdGVuID0gZmFsc2U7Ci0gIHJlcXVlc3Qub25tZXJj
aGFudHZhbGlkYXRpb24gPSBldnQgPT4gewotICAgIGFzc2VydF9lcXVhbHMoZXYsIGV2dCwgIm11
c3QgYmUgc2FtZSBldmVudCIpOwotICAgIGRpZEhhbmRsZSA9IHRydWU7Ci0gIH07Ci0gIHJlcXVl
c3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgZXZ0ID0+IHsKLSAgICBh
c3NlcnRfZXF1YWxzKGV2LCBldnQsICJtdXN0IGJlIHNhbWUgZXZlbnQiKTsKLSAgICBkaWRMaXN0
ZW4gPSB0cnVlOwotICB9KTsKLSAgcmVxdWVzdC5kaXNwYXRjaEV2ZW50KGV2KTsKLSAgYXNzZXJ0
X3RydWUoZGlkSGFuZGxlLCAib25tZXJjaGFudHZhbGlkYXRpb24gbXVzdCByZWNlaXZlIHRoZSBl
dmVudCIpOwotICBhc3NlcnRfdHJ1ZShkaWRMaXN0ZW4sICJhZGRFdmVudExpc3RlbmVyIG11c3Qg
cmVjZWl2ZSB0aGUgZXZlbnQiKTsKLX0sIGBvbm1lcmNoYW50dmFsaWRhdGlvbiBhdHRyaWJ1dGUg
YW5kIGxpc3RlbmVycyBib3RoIHdvcmtgKTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5
bWVudC1pcy1zaG93aW5nLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtaXMtc2hvd2lu
Zy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMzdiNTBiMzI3MDNjNzU0NGE1NThhMTEzYjUxNDYw
OWI0YTYyNzJlNy4uMTI1ZDA5MzdhYzBlOWQ0ZWI2NjAwNjA4MTg5MDk4NGQyZTdjOWEzMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvcGF5bWVudC1pcy1zaG93aW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9wYXltZW50LWlzLXNob3dpbmcuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDE1ICsxLDM4IEBA
Ci1UaGlzIHRlc3QgcmVxdWlyZXMgdXNlciBpbnRlcmFjdGlvbi4KLVBsZWFzZSBjbGljayBoZXJl
IHRvIGFsbG93IHRlc3Rpbmcgb25lIHBheW1lbnQgc2hlZXQgcGVyIHdpbmRvdy4KLQotSGFybmVz
cyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGhlIHRvcCBicm93
c2luZyBjb250ZXh0IGNhbiBvbmx5IHNob3cgb25lIHBheW1lbnQgc2hlZXQgYXQgYSB0aW1lLiBU
ZXN0IHRpbWVkIG91dAotTk9UUlVOIElmIGFuIGlmcmFtZSBzaG93cyBhIHBheW1lbnQgcmVxdWVz
dCwgdGhlIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0IGNhbid0IGFsc28gc2hvdyBvbmUuCi1O
T1RSVU4gQW4gaWZyYW1lIGNhbm5vdCBzaG93IGEgcGF5bWVudCByZXF1ZXN0IGlmIHRoZSB0b3At
bGV2ZWwgd2luZG93IGlzIGFscmVhZHkgc2hvd2luZyBvbmUuCi1OT1RSVU4gVXNpbmcgYSBwb3B1
cCB3aW5kb3cgcHJldmVudHMgdGhlIHRvcC1icm93c2luZyBjb250ZXh0IGZyb20gc2hvd2luZyBh
IHBheW1lbnQgcmVxdWVzdAotTk9UUlVOIEdpdmVuIG11bHRpcGxlIG5lc3RlZCBicm93c2luZyBj
b250ZXh0cywgYW5kIHdpbmRvdyBjYWxscyBzaG93KCkgZmlyc3QsIG90aGVyIG5lc3RlZCBicm93
c2luZyBjb250ZXh0cyBjYW4ndCBzaG93IGEgcmVxdWVzdC4KLU5PVFJVTiBHaXZlbiBtdWx0aXBs
ZSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMsIGFuZCBwb3B1cCBjYWxscyBzaG93KCkgZmlyc3Qs
IG90aGVyIG5lc3RlZCBicm93c2luZyBjb250ZXh0cyBjYW4ndCBzaG93IGEgcmVxdWVzdC4KLU5P
VFJVTiBHaXZlbiBtdWx0aXBsZSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMsIGFuZCBhbiBpZnJh
bWUgY2FsbHMgc2hvdygpIGZpcnN0LCBvdGhlciBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMgY2Fu
J3Qgc2hvdyBhIHJlcXVlc3QuCi1OT1RSVU4gTmF2aWdhdGluZyBhbiBpZnJhbWUgYXMgYSBuZXN0
ZWQgYnJvd3NpbmcgY29udGV4dCBzZXRzICdwYXltZW50IHJlcXVlc3QgaXMgc2hvd2luZyBib29s
ZWFuJyB0byBmYWxzZS4KLU5PVFJVTiBOYXZpZ2F0aW5nIGEgcG9wdXAgYXMgYSBuZXN0ZWQgYnJv
d3NpbmcgY29udGV4dCBzZXRzICdwYXltZW50IHJlcXVlc3QgaXMgc2hvd2luZyBib29sZWFuJyB0
byBmYWxzZS4KK0NPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBT
ZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9u
LgorQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFNlY3VyaXR5
RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uCitDT05T
T0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogU2VjdXJpdHlFcnJvcjog
c2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4KK0NPTlNPTEUgTUVT
U0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBTZWN1cml0eUVycm9yOiBzaG93KCkg
bXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLgorQ09OU09MRSBNRVNTQUdFOiBV
bmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJl
IHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uCitDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxl
ZCBQcm9taXNlIFJlamVjdGlvbjogU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dl
cmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4KK0NPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21p
c2UgUmVqZWN0aW9uOiBTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkg
dXNlciBhY3RpdmF0aW9uLgorQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWpl
Y3Rpb246IFNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFj
dGl2YXRpb24uCitDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjog
U2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlv
bi4KK0NPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBTZWN1cml0
eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLgorQ09O
U09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFNlY3VyaXR5RXJyb3I6
IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uCitDT05TT0xFIE1F
U1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogU2VjdXJpdHlFcnJvcjogc2hvdygp
IG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4KKworCitIYXJuZXNzIEVycm9y
IChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IHNob3coKSBtdXN0IGJlIHRy
aWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uCisKK0ZBSUwgVGhlIHRvcCBicm93c2luZyBjb250
ZXh0IGNhbiBvbmx5IHNob3cgb25lIHBheW1lbnQgc2hlZXQgYXQgYSB0aW1lLiBwcm9taXNlX3Jl
amVjdHNfZG9tOiBBdHRlbXB0aW5nIHRvIHNob3cgYSBzZWNvbmQgcGF5bWVudCByZXF1ZXN0IG11
c3QgcmVqZWN0LiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVj
dCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZh
dGlvbi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEFib3J0RXJyb3I6IHByb3BlcnR5ICJj
b2RlIiBpcyBlcXVhbCB0byAxOCwgZXhwZWN0ZWQgMjAKK0ZBSUwgSWYgYW4gaWZyYW1lIHNob3dz
IGEgcGF5bWVudCByZXF1ZXN0LCB0aGUgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgY2FuJ3Qg
YWxzbyBzaG93IG9uZS4gcHJvbWlzZV9yZWplY3RzX2RvbTogaWZyYW1lIGlzIGFscmVhZHkgc2hv
d2luZyBhIHBheW1lbnQgcmVxdWVzdC4gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9
IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBi
eSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBBYm9ydEVycm9y
OiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitGQUlMIEFuIGlm
cmFtZSBjYW5ub3Qgc2hvdyBhIHBheW1lbnQgcmVxdWVzdCBpZiB0aGUgdG9wLWxldmVsIHdpbmRv
dyBpcyBhbHJlYWR5IHNob3dpbmcgb25lLiBwcm9taXNlX3JlamVjdHNfZG9tOiBUaGUgdG9wIHdp
bmRvdyBpcyBhbHJlYWR5IHNob3dpbmcgYSBwYXltZW50IHJlcXVlc3QuIGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkg
bXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgdGhhdCBpcyBub3QgYSBET01F
eGNlcHRpb24gQWJvcnRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDE4LCBleHBl
Y3RlZCAyMAorRkFJTCBVc2luZyBhIHBvcHVwIHdpbmRvdyBwcmV2ZW50cyB0aGUgdG9wLWJyb3dz
aW5nIGNvbnRleHQgZnJvbSBzaG93aW5nIGEgcGF5bWVudCByZXF1ZXN0IHByb21pc2VfcmVqZWN0
c19kb206IEV4cGVjdGVkIHdpbmRvdydzIHNob3dQcm9taXNlIHRvIHJlamVjdCwgcmVxdWVzdCBp
cyBhbHJlYWR5IHNob3dpbmcgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJl
dyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2Vy
IGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBBYm9ydEVycm9yOiBwcm9w
ZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitGQUlMIEdpdmVuIG11bHRp
cGxlIG5lc3RlZCBicm93c2luZyBjb250ZXh0cywgYW5kIHdpbmRvdyBjYWxscyBzaG93KCkgZmly
c3QsIG90aGVyIG5lc3RlZCBicm93c2luZyBjb250ZXh0cyBjYW4ndCBzaG93IGEgcmVxdWVzdC4g
cHJvbWlzZV9yZWplY3RzX2RvbTogRXhwZWN0ZWQgcG9wdXBTaG93UHJvbWlzZSB0byByZWplY3Qs
IHJlcXVlc3QgaXMgYWxyZWFkeSBzaG93aW5nLiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJv
dyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dl
cmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEFib3J0
RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAxOCwgZXhwZWN0ZWQgMjAKK0ZBSUwg
R2l2ZW4gbXVsdGlwbGUgbmVzdGVkIGJyb3dzaW5nIGNvbnRleHRzLCBhbmQgcG9wdXAgY2FsbHMg
c2hvdygpIGZpcnN0LCBvdGhlciBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMgY2FuJ3Qgc2hvdyBh
IHJlcXVlc3QuIHByb21pc2VfcmVqZWN0c19kb206IEV4cGVjdGVkIHdpbmRvd1Nob3dQcm9taXNl
IHRvIHJlamVjdCwgdGhlIHBvcHVwIGlzIHNob3dpbmcgYSBwYXltZW50IHJlcXVlc3QuIGZ1bmN0
aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9y
OiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgdGhhdCBpcyBu
b3QgYSBET01FeGNlcHRpb24gQWJvcnRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRv
IDE4LCBleHBlY3RlZCAyMAorRkFJTCBHaXZlbiBtdWx0aXBsZSBuZXN0ZWQgYnJvd3NpbmcgY29u
dGV4dHMsIGFuZCBhbiBpZnJhbWUgY2FsbHMgc2hvdygpIGZpcnN0LCBvdGhlciBuZXN0ZWQgYnJv
d3NpbmcgY29udGV4dHMgY2FuJ3Qgc2hvdyBhIHJlcXVlc3QuIHByb21pc2VfcmVqZWN0c19kb206
IEV4cGVjdGVkIHdpbmRvd1Nob3dQcm9taXNlIHRvIHJlamVjdCwgdGhlIHBvcHVwIGlzIHNob3dp
bmcgYSBwYXltZW50IHJlcXVlc3QuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIg
dGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkg
dXNlciBhY3RpdmF0aW9uLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gQWJvcnRFcnJvcjog
cHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDE4LCBleHBlY3RlZCAyMAorRkFJTCBOYXZpZ2F0
aW5nIGFuIGlmcmFtZSBhcyBhIG5lc3RlZCBicm93c2luZyBjb250ZXh0IHNldHMgJ3BheW1lbnQg
cmVxdWVzdCBpcyBzaG93aW5nIGJvb2xlYW4nIHRvIGZhbHNlLiBwcm9taXNlX3JlamVjdHNfZG9t
OiBOYXZpZ2F0aW5nIGlmcmFtZSBhd2F5IG11c3QgY2F1c2UgdGhlIGlmcmFtZVNob3dQcm9taXNl
IHRvIHJlamVjdC4gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmpl
Y3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2
YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBBYm9ydEVycm9yOiBwcm9wZXJ0eSAi
Y29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitUSU1FT1VUIE5hdmlnYXRpbmcgYSBw
b3B1cCBhcyBhIG5lc3RlZCBicm93c2luZyBjb250ZXh0IHNldHMgJ3BheW1lbnQgcmVxdWVzdCBp
cyBzaG93aW5nIGJvb2xlYW4nIHRvIGZhbHNlLiBUZXN0IHRpbWVkIG91dAorCitIYXJuZXNzIEVy
cm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IHNob3coKSBtdXN0IGJl
IHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uCisKK0ZBSUwgVGhlIHRvcCBicm93c2luZyBj
b250ZXh0IGNhbiBvbmx5IHNob3cgb25lIHBheW1lbnQgc2hlZXQgYXQgYSB0aW1lLiBwcm9taXNl
X3JlamVjdHNfZG9tOiBBdHRlbXB0aW5nIHRvIHNob3cgYSBzZWNvbmQgcGF5bWVudCByZXF1ZXN0
IG11c3QgcmVqZWN0LiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9i
amVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0
aXZhdGlvbi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEFib3J0RXJyb3I6IHByb3BlcnR5
ICJjb2RlIiBpcyBlcXVhbCB0byAxOCwgZXhwZWN0ZWQgMjAKK0ZBSUwgSWYgYW4gaWZyYW1lIHNo
b3dzIGEgcGF5bWVudCByZXF1ZXN0LCB0aGUgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgY2Fu
J3QgYWxzbyBzaG93IG9uZS4gcHJvbWlzZV9yZWplY3RzX2RvbTogaWZyYW1lIGlzIGFscmVhZHkg
c2hvd2luZyBhIHBheW1lbnQgcmVxdWVzdC4gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cg
ZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJl
ZCBieSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBBYm9ydEVy
cm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitGQUlMIEFu
IGlmcmFtZSBjYW5ub3Qgc2hvdyBhIHBheW1lbnQgcmVxdWVzdCBpZiB0aGUgdG9wLWxldmVsIHdp
bmRvdyBpcyBhbHJlYWR5IHNob3dpbmcgb25lLiBwcm9taXNlX3JlamVjdHNfZG9tOiBUaGUgdG9w
IHdpbmRvdyBpcyBhbHJlYWR5IHNob3dpbmcgYSBwYXltZW50IHJlcXVlc3QuIGZ1bmN0aW9uICJm
dW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93
KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgdGhhdCBpcyBub3QgYSBE
T01FeGNlcHRpb24gQWJvcnRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDE4LCBl
eHBlY3RlZCAyMAorRkFJTCBVc2luZyBhIHBvcHVwIHdpbmRvdyBwcmV2ZW50cyB0aGUgdG9wLWJy
b3dzaW5nIGNvbnRleHQgZnJvbSBzaG93aW5nIGEgcGF5bWVudCByZXF1ZXN0IHByb21pc2VfcmVq
ZWN0c19kb206IEV4cGVjdGVkIHdpbmRvdydzIHNob3dQcm9taXNlIHRvIHJlamVjdCwgcmVxdWVz
dCBpcyBhbHJlYWR5IHNob3dpbmcgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0
aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1
c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBBYm9ydEVycm9yOiBw
cm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitGQUlMIEdpdmVuIG11
bHRpcGxlIG5lc3RlZCBicm93c2luZyBjb250ZXh0cywgYW5kIHdpbmRvdyBjYWxscyBzaG93KCkg
Zmlyc3QsIG90aGVyIG5lc3RlZCBicm93c2luZyBjb250ZXh0cyBjYW4ndCBzaG93IGEgcmVxdWVz
dC4gcHJvbWlzZV9yZWplY3RzX2RvbTogRXhwZWN0ZWQgcG9wdXBTaG93UHJvbWlzZSB0byByZWpl
Y3QsIHJlcXVlc3QgaXMgYWxyZWFkeSBzaG93aW5nLiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0
aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJp
Z2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEFi
b3J0RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAxOCwgZXhwZWN0ZWQgMjAKK0ZB
SUwgR2l2ZW4gbXVsdGlwbGUgbmVzdGVkIGJyb3dzaW5nIGNvbnRleHRzLCBhbmQgcG9wdXAgY2Fs
bHMgc2hvdygpIGZpcnN0LCBvdGhlciBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMgY2FuJ3Qgc2hv
dyBhIHJlcXVlc3QuIHByb21pc2VfcmVqZWN0c19kb206IEV4cGVjdGVkIHdpbmRvd1Nob3dQcm9t
aXNlIHRvIHJlamVjdCwgdGhlIHBvcHVwIGlzIHNob3dpbmcgYSBwYXltZW50IHJlcXVlc3QuIGZ1
bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVy
cm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgdGhhdCBp
cyBub3QgYSBET01FeGNlcHRpb24gQWJvcnRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFs
IHRvIDE4LCBleHBlY3RlZCAyMAorRkFJTCBHaXZlbiBtdWx0aXBsZSBuZXN0ZWQgYnJvd3Npbmcg
Y29udGV4dHMsIGFuZCBhbiBpZnJhbWUgY2FsbHMgc2hvdygpIGZpcnN0LCBvdGhlciBuZXN0ZWQg
YnJvd3NpbmcgY29udGV4dHMgY2FuJ3Qgc2hvdyBhIHJlcXVlc3QuIHByb21pc2VfcmVqZWN0c19k
b206IEV4cGVjdGVkIHdpbmRvd1Nob3dQcm9taXNlIHRvIHJlamVjdCwgdGhlIHBvcHVwIGlzIHNo
b3dpbmcgYSBwYXltZW50IHJlcXVlc3QuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUg
fSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQg
YnkgdXNlciBhY3RpdmF0aW9uLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gQWJvcnRFcnJv
cjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDE4LCBleHBlY3RlZCAyMAorRkFJTCBOYXZp
Z2F0aW5nIGFuIGlmcmFtZSBhcyBhIG5lc3RlZCBicm93c2luZyBjb250ZXh0IHNldHMgJ3BheW1l
bnQgcmVxdWVzdCBpcyBzaG93aW5nIGJvb2xlYW4nIHRvIGZhbHNlLiBwcm9taXNlX3JlamVjdHNf
ZG9tOiBOYXZpZ2F0aW5nIGlmcmFtZSBhd2F5IG11c3QgY2F1c2UgdGhlIGlmcmFtZVNob3dQcm9t
aXNlIHRvIHJlamVjdC4gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBv
YmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFj
dGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBBYm9ydEVycm9yOiBwcm9wZXJ0
eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitUSU1FT1VUIE5hdmlnYXRpbmcg
YSBwb3B1cCBhcyBhIG5lc3RlZCBicm93c2luZyBjb250ZXh0IHNldHMgJ3BheW1lbnQgcmVxdWVz
dCBpcyBzaG93aW5nIGJvb2xlYW4nIHRvIGZhbHNlLiBUZXN0IHRpbWVkIG91dAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9wYXltZW50LWlzLXNob3dpbmcuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtaXMtc2hv
d2luZy5odHRwcy5odG1sCmluZGV4IDBlYTAyODA4ZWUyYTEyMDEzZTQxZTgxOWRhMzIzZmVkZjhk
ODUzZmYuLmZlZDZlYWY2ZDlmYWRhMTE0NDZiMzJjYWFiYTA3YjVkZTJkODhiMGUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3BheW1lbnQtaXMtc2hvd2luZy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtaXMt
c2hvd2luZy5odHRwcy5odG1sCkBAIC03LDggKzcsOCBAQAogPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3Njcmlw
dD4KIDxib2R5PgogICA8c2NyaXB0PgogICAgICJ1c2Ugc3RyaWN0IjsKQEAgLTQxLDcgKzQxLDcg
QEAKICAgICAgKi8KICAgICBhc3luYyBmdW5jdGlvbiBhdHRhY2hJZnJhbWUoc3JjID0gImJsYW5r
Lmh0bWwiKSB7CiAgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
ZnJhbWUiKTsKLSAgICAgIGlmcmFtZS5hbGxvd1BheW1lbnRSZXF1ZXN0ID0gdHJ1ZTsKKyAgICAg
IGlmcmFtZS5hbGxvdyA9ICJwYXltZW50IjsKICAgICAgIGlmcmFtZS5zcmMgPSBzcmM7CiAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiAgICAgICBhd2FpdCBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1hYm9ydC1t
ZXRob2QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1hYm9ydC1tZXRob2QuaHR0cHMu
aHRtbAppbmRleCA4MjMwZTI0NThhYWEzZTAzNjRkYzQ1OTg1ZjU5Njc1OWYwMDk1NDdkLi41OTk2
OGM2ZDcwZWYyZGIxZjBkYmM0MDIwZjZlNTI0YWQyNDQzMzg4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXlt
ZW50LXJlcXVlc3QtYWJvcnQtbWV0aG9kLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1
ZXN0LWFib3J0LW1ldGhvZC5odHRwcy5odG1sCkBAIC0xLDExICsxLDExIEBACiA8IURPQ1RZUEUg
aHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgog
PHRpdGxlPlRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0LmFib3J0KCkgbWV0aG9kPC90aXRsZT4KLTxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVz
dC8jYWJvcnQtbWV0aG9kIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jYWJvcnQtbWV0aG9kIiAvPgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0nL3Jlc291cmNlcy90ZXN0
ZHJpdmVyLXZlbmRvci5qcyc+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogInVzZSBzdHJpY3QiOwogc2V0
dXAoewpAQCAtMjMsNyArMjMsNyBAQCBjb25zdCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUoewog
ICAgIGNvdW50cnlDb2RlOiAiVVMiLAogICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBv
cnRzM0RTIl0sCiAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9CisgIH0sCiB9
KTsKIGNvbnN0IGRlZmF1bHRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbYmFzaWNDYXJkLCBhcHBs
ZVBheV0pOwogY29uc3QgZGVmYXVsdERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKQEAgLTQ0LDI0
ICs0NCwyMiBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAKIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChkZWZhdWx0TWV0
aG9kcywgZGVmYXVsdERldGFpbHMpOwotICBjb25zdCBwcm9taXNlcyA9IG5ldyBTZXQoW3JlcXVl
c3QuYWJvcnQoKSwgcmVxdWVzdC5hYm9ydCgpLCByZXF1ZXN0LmFib3J0KCldKTsKKyAgY29uc3Qg
cHJvbWlzZXMgPSBuZXcgU2V0KFsKKyAgICByZXF1ZXN0LmFib3J0KCksCisgICAgcmVxdWVzdC5h
Ym9ydCgpLAorICAgIHJlcXVlc3QuYWJvcnQoKSwKKyAgXSk7CiAgIGFzc2VydF9lcXVhbHMocHJv
bWlzZXMuc2l6ZSwgMywgIk11c3QgaGF2ZSB0aHJlZSB1bmlxdWUgb2JqZWN0cyIpOwogfSwgIkNh
bGxpbmcgYWJvcnQoKSBtdWx0aXBsZSB0aW1lcyBpcyBhbHdheXMgYSBuZXcgb2JqZWN0LiIpOwog
CiBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVu
dFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRlZmF1bHREZXRhaWxzKTsKLSAgY29uc3QgW2Fib3J0
UHJvbWlzZSwgYWNjZXB0UHJvbWlzZV0gPSBhd2FpdCB0ZXN0X2RyaXZlci5ibGVzcygKLSAgICAi
c2hvdyBwYXltZW50IHJlcXVlc3QiLAotICAgICgpID0+IHsKLSAgICAgIGNvbnN0IGFjY2VwdFBy
b21pc2UgPSByZXF1ZXN0LnNob3coKQotICAgICAgYWNjZXB0UHJvbWlzZS5jYXRjaCgoKSA9PiB7
fSk7IC8vIG5vLW9wLCBqdXN0IHRvIHNpbGVuY2UgdW5oYW5kbGVkIHJlamVjdGlvbiBpbiBkZXZ0
b29scy4KLSAgICAgIGNvbnN0IGFib3J0UHJvbWlzZSA9IHJlcXVlc3QuYWJvcnQoKTsKLSAgICAg
IHJldHVybiBbYWJvcnRQcm9taXNlLCBhY2NlcHRQcm9taXNlXTsKLSAgICB9KTsKLQotICBhd2Fp
dCBhYm9ydFByb21pc2U7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKCJzaG93IHBheW1lbnQg
cmVxdWVzdCIpOworICBjb25zdCBhY2NlcHRQcm9taXNlID0gcmVxdWVzdC5zaG93KCk7CisgIGF3
YWl0IHJlcXVlc3QuYWJvcnQoKTsKICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiQWJv
cnRFcnJvciIsIGFjY2VwdFByb21pc2UpOwogICAvLyBBcyByZXF1ZXN0IGlzIG5vdyAiY2xvc2Vk
IiwgdHJ5aW5nIHRvIHNob3cgaXQgd2lsbCBmYWlsCisgIGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNz
KCJzaG93IHBheW1lbnQgcmVxdWVzdCIpOwogICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQs
ICJJbnZhbGlkU3RhdGVFcnJvciIsIHJlcXVlc3Quc2hvdygpKTsKIH0sICJUaGUgc2FtZSByZXF1
ZXN0IGNhbm5vdCBiZSBzaG93biBtdWx0aXBsZSB0aW1lcy4iKTsKIApAQCAtNzMsMjIgKzcxLDIw
IEBAIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2Rv
bSh0LCAiSW52YWxpZFN0YXRlRXJyb3IiLCByZXF1ZXN0LmFib3J0KCkpOwogICAvLyBUaGUgcmVx
dWVzdCdzIHN0YXRlIGlzICJjcmVhdGVkIiwgc28gbGV0J3Mgc2hvdyBpdAogICAvLyB3aGljaCBj
aGFuZ2VzIHRoZSBzdGF0ZSB0byAiaW50ZXJhY3RpdmUuIi4KLSAgY29uc3QgW2Fib3J0UHJvbWlz
ZSwgYWNjZXB0UHJvbWlzZV0gPSBhd2FpdCB0ZXN0X2RyaXZlci5ibGVzcygKLSAgICAic2hvdyBw
YXltZW50IHJlcXVlc3QiLAotICAgICgpID0+IHsKLSAgICAgIGNvbnN0IGFjY2VwdFByb21pc2Ug
PSByZXF1ZXN0LnNob3coKQotICAgICAgLy8gTGV0J3Mgc2V0IHJlcXVlc3QgdGhlIHN0YXRlIHRv
ICJjbG9zZWQiIGJ5IGNhbGxpbmcgLmFib3J0KCkKLSAgICAgIGNvbnN0IGFib3J0UHJvbWlzZSA9
IHJlcXVlc3QuYWJvcnQoKTsKLSAgICAgIHJldHVybiBbYWJvcnRQcm9taXNlLCBhY2NlcHRQcm9t
aXNlXTsKLSAgICB9KTsKLQotICBhd2FpdCBhYm9ydFByb21pc2U7CisgIGF3YWl0IHRlc3RfZHJp
dmVyLmJsZXNzKCJzaG93IHBheW1lbnQgcmVxdWVzdCIpOworICBjb25zdCBhY2NlcHRQcm9taXNl
ID0gcmVxdWVzdC5zaG93KCk7CisgIC8vIExldCdzIHNldCByZXF1ZXN0IHRoZSBzdGF0ZSB0byAi
Y2xvc2VkIiBieSBjYWxsaW5nIC5hYm9ydCgpCisgIGF3YWl0IHJlcXVlc3QuYWJvcnQoKTsKICAg
Ly8gVGhlIHJlcXVlc3QgaXMgbm93ICJjbG9zZWQiLCBzby4uLgogICBhd2FpdCBwcm9taXNlX3Jl
amVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIHJlcXVlc3QuYWJvcnQoKSk7CiAgIGF3
YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkFib3J0RXJyb3IiLCBhY2NlcHRQcm9taXNlKTsK
IH0sICJBYm9ydGluZyBhIHJlcXVlc3QgYmVmb3JlIGl0IGlzIHNob3duIGRvZXNuJ3QgcHJldmVu
dCBpdCBmcm9tIGJlaW5nIHNob3duIGxhdGVyLiIpOwogPC9zY3JpcHQ+CiA8c21hbGw+Ci0gIElm
IHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRh
ZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJl
dmlld2VyczwvYT4uCisgIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlCisgIDxhIGhy
ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+Zmls
ZSBhIGJ1ZzwvYT4gYW5kCisgIHRhZyBvbmUgb2YgdGhlCisgIDxhCisgICAgaHJlZj0iaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1y
ZXF1ZXN0L01FVEEueW1sIgorICAgID5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KIDwvc21hbGw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQtbWV0aG9kLXBy
b3RlY3Rpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWNhbm1ha2Vw
YXltZW50LW1ldGhvZC1wcm90ZWN0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWFlNWEyZmE3NmI5Y2FkMWIyNGMzNTkyM2Y1NDhiZmIwODc3OGYy
My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXlt
ZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQtbWV0aG9kLXByb3RlY3Rpb24uaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1JZiB5b3UgZmluZCBhIGJ1Z2d5
IHRlc3QsIHBsZWFzZSBmaWxlIGEgYnVnIGFuZCB0YWcgb25lIG9mIHRoZSBzdWdnZXN0ZWQgcmV2
aWV3ZXJzLgotCi1QQVNTIE9wdGlvbmFsbHksIGF0IHRoZSB1c2VyIGFnZW50J3MgZGlzY3JldGlv
biwgcmV0dXJuIGEgcHJvbWlzZSByZWplY3RlZCB3aXRoIGEgIk5vdEFsbG93ZWRFcnJvciIgRE9N
RXhjZXB0aW9uLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1l
bnQtbWV0aG9kLXByb3RlY3Rpb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jYW5t
YWtlcGF5bWVudC1tZXRob2QtcHJvdGVjdGlvbi5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBlMjIxMDM0ZGQ0ZWJkMDVjNWJkNzAxZTA1YTgxODk1Yjg0NTdjM2I3Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVxdWVzdC1jYW5tYWtlcGF5bWVudC1tZXRob2QtcHJvdGVjdGlvbi5odHRwcy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdHMgZm9yIFBheW1lbnRSZXF1ZXN0LmNhbk1ha2VQYXltZW50
KCkgbWV0aG9kPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL2Jyb3dzZXItcGF5bWVudC1hcGkvI3Nob3ctbWV0aG9kIj4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPScvcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzJz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWNvbnN0IGJhc2ljQ2FyZCA9
IE9iamVjdC5mcmVlemUoeyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSk7Ci1jb25z
dCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6
Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0gICAg
bWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50cnlD
b2RlOiAiVVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0g
ICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9Ci19KTsKLWNvbnN0IGRlZmF1bHRN
ZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbYmFzaWNDYXJkLCBhcHBsZVBheV0pOwotY29uc3QgZGVm
YXVsdERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6IHsKLSAgICBsYWJlbDogIlRv
dGFsIiwKLSAgICBhbW91bnQ6IHsKLSAgICAgIGN1cnJlbmN5OiAiVVNEIiwKLSAgICAgIHZhbHVl
OiAiMS4wMCIsCi0gICAgfSwKLSAgfSwKLX0pOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
Ci0gIC8vIFRoaXMgdGVzdCBtaWdodCBuZXZlciBhY3R1YWxseSBoaXQgaXRzIGFzc2VydGlvbiwg
YnV0IHRoYXQncyBhbGxvd2VkLgotICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0
KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gIGZvciAobGV0IGkgPSAwOyBpIDwg
MTAwMDsgaSsrKSB7Ci0gICAgdHJ5IHsKLSAgICAgIGF3YWl0IHJlcXVlc3QuY2FuTWFrZVBheW1l
bnQoKTsKLSAgICB9IGNhdGNoIChlcnIpIHsKLSAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAg
IGVyci5uYW1lLAotICAgICAgICAiTm90QWxsb3dlZEVycm9yIiwKLSAgICAgICAgImlmIGl0IHRo
cm93cywgdGhlbiBpdCBtdXN0IGJlIGEgTm90QWxsb3dlZEVycm9yLiIKLSAgICAgICk7Ci0gICAg
ICBicmVhazsKLSAgICB9Ci0gIH0KLSAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsK
LSAgICB0cnkgewotICAgICAgYXdhaXQgbmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2Rz
LCBkZWZhdWx0RGV0YWlscykuY2FuTWFrZVBheW1lbnQoKTsKLSAgICB9IGNhdGNoIChlcnIpIHsK
LSAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIGVyci5uYW1lLAotICAgICAgICAiTm90QWxs
b3dlZEVycm9yIiwKLSAgICAgICAgImlmIGl0IHRocm93cywgdGhlbiBpdCBtdXN0IGJlIGEgTm90
QWxsb3dlZEVycm9yLiIKLSAgICAgICk7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gIH0KLX0sIGBP
cHRpb25hbGx5LCBhdCB0aGUgdXNlciBhZ2VudCdzIGRpc2NyZXRpb24sIHJldHVybiBhIHByb21p
c2UgcmVqZWN0ZWQgd2l0aCBhICJOb3RBbGxvd2VkRXJyb3IiIERPTUV4Y2VwdGlvbi5gKTsKLTwv
c2NyaXB0PgotCi08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxh
IGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+
ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0
aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVz
dC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvcGF5bWVudC1yZXF1ZXN0LWhhc2Vucm9sbGVkaW5zdHJ1bWVudC1tZXRob2QtbWFudWFs
LnRlbnRhdGl2ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5y
b2xsZWRpbnN0cnVtZW50LW1ldGhvZC1tYW51YWwudGVudGF0aXZlLmh0dHBzLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTBmNzIwMGVkZWE0ODZiNDgwNGYyY2Ji
OWYyODI0NzFjNDZlZDI1NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVtZW50LW1ldGhvZC1t
YW51YWwudGVudGF0aXZlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1
ICswLDAgQEAKLU1hbnVhbCB0ZXN0cyBmb3IgaGFzRW5yb2xsZWRJbnN0cnVtZW50KCkgbWV0aG9k
Ci0KLUZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGZyb20gdG9wIHRvIGJvdHRvbS4gQ2xpY2sgb24g
ZWFjaCBidXR0b24gaW4gc2VxdWVuY2Ugd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLiBTb21l
IG9mIHRoZSB0ZXN0cyB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgYW5kIGNs
b3NlIHRoZW0gYXV0b21hdGljYWxseS4gSWYgYSBwYXltZW50IHNoZWV0IHN0YXlzIG9wZW4sIHRo
ZSB0ZXN0IGhhcyBmYWlsZWQuCi0KLUZvbGxvdyBicm93c2VyLXNwZWNpZmljIGluc3RydWN0aW9u
cyB0byByZW1vdmUgYWxsIGNhcmRzIGZyb20gdGhlIHRlc3QgcHJvZmlsZS4KLWhhc0Vucm9sbGVk
SW5zdHJ1bWVudCgpIHJlc29sdmVzIHRvIGZhbHNlIHdoZW4gdXNlciBoYXMgbm8gZW5yb2xsZWQg
aW5zdHJ1bWVudC4KLUFkZCBhIHRlc3QgVmlzYSBjYXJkIHRvIHlvdXIgdGVzdCBwcm9maWxlLCBl
LmcuIDQwMTI4ODg4ODg4ODE4ODEuCi1oYXNFbnJvbGxlZEluc3RydW1lbnQoKSByZXNvbHZlcyB0
byB0cnVlIHdoZW4gdXNlciBoYXMgYW4gZW5yb2xsZWQgaW5zdHJ1bWVudC4KLWhhc0Vucm9sbGVk
SW5zdHJ1bWVudCgpIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgaWYgdGhlIHBheW1lbnQg
bWV0aG9kIGRldGFpbHMgYXJlIGlkZW50aWNhbC4KLURvbmUhCi1JZiB5b3UgZmluZCBhIGJ1Z2d5
IHRlc3QsIHBsZWFzZSBmaWxlIGEgYnVnIGFuZCB0YWcgb25lIG9mIHRoZSBzdWdnZXN0ZWQgcmV2
aWV3ZXJzLgotCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVtZW50LW1ldGhv
ZC1tYW51YWwudGVudGF0aXZlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5y
b2xsZWRpbnN0cnVtZW50LW1ldGhvZC1tYW51YWwudGVudGF0aXZlLmh0dHBzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2YjE2NGY3Y2M3YjhmMWM1N2I4ZmE5ZmQxNGNiYzdm
NWVmODFlZWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvcGF5bWVudC1yZXF1ZXN0LWhhc2Vucm9sbGVkaW5zdHJ1bWVudC1tZXRob2QtbWFudWFsLnRl
bnRhdGl2ZS5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+TWFudWFsIHRlc3RzIGZv
ciBQYXltZW50UmVxdWVzdC5oYXNFbnJvbGxlZEluc3RydW1lbnQoKSBtZXRob2Q8L3RpdGxlPgot
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1
ZXN0LyNoYXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kIj4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7Ci0gIGV4cGxp
Y2l0X2RvbmU6IHRydWUsCi0gIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUsCi19KTsKLQotY29uc3Qg
ZGVmYXVsdE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFsKLSAgewotICAgIHN1cHBvcnRlZE1ldGhv
ZHM6ICJiYXNpYy1jYXJkIiwKLSAgICBkYXRhOiB7Ci0gICAgICBzdXBwb3J0ZWROZXR3b3Jrczog
WyAndmlzYScgXSwKLSAgICB9LAotICB9Ci1dKTsKLWNvbnN0IGRlZmF1bHREZXRhaWxzID0gT2Jq
ZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB7Ci0gICAgbGFiZWw6ICJUb3RhbCIsCi0gICAgYW1vdW50
OiB7Ci0gICAgICBjdXJyZW5jeTogIlVTRCIsCi0gICAgICB2YWx1ZTogIjEuMDAiLAotICAgIH0s
Ci0gIH0sCi19KTsKLQotZnVuY3Rpb24gdGVzdEhhc05vRW5yb2xsZWRJbnN0cnVtZW50KCkgewot
ICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXlt
ZW50UmVxdWVzdChkZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOwotICAgIGFzc2VydF9m
YWxzZSgKLSAgICAgIGF3YWl0IHJlcXVlc3QuaGFzRW5yb2xsZWRJbnN0cnVtZW50KCksCi0gICAg
ICAiTm8gdGVzdCBlbnJvbGxlZCBpbiB0aGUgdGVzdCBwcm9maWxlLiIKLSAgICApOwotICB9LCBg
aGFzRW5yb2xsZWRJbnN0cnVtZW50KCkgcmVzb2x2ZXMgdG8gZmFsc2Ugd2hlbiB1c2VyIGhhcyBu
byBlbnJvbGxlZCBpbnN0cnVtZW50LmApOwotfQotCi1mdW5jdGlvbiB0ZXN0SGFzRW5yb2xsZWRJ
bnN0cnVtZW50KCkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgcmVx
dWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChkZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMp
OwotICAgIGFzc2VydF90cnVlKAotICAgICAgYXdhaXQgcmVxdWVzdC5oYXNFbnJvbGxlZEluc3Ry
dW1lbnQoKSwKLSAgICAgICJBIGNhcmQgaXMgZW5yb2xsZWQgaW4gdGhlIHRlc3QgcHJvZmlsZS4i
Ci0gICAgKTsKLSAgfSwgYGhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpIHJlc29sdmVzIHRvIHRydWUg
d2hlbiB1c2VyIGhhcyBhbiBlbnJvbGxlZCBpbnN0cnVtZW50LmApOwotfQotCi1mdW5jdGlvbiB0
ZXN0SGFzRW5yb2xsZWRJbnN0cnVtZW50QWdhaW4oKSB7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRo
b2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBhd2FpdCByZXF1
ZXN0Lmhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpLAotICAgICAgIkEgY2FyZCBpcyBlbnJvbGxlZCBp
biB0aGUgdGVzdCBwcm9maWxlLiIKLSAgICApOwotICB9LCBgaGFzRW5yb2xsZWRJbnN0cnVtZW50
KCkgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGUgcGF5bWVudCBtZXRob2QgZGV0
YWlscyBhcmUgaWRlbnRpY2FsLmApOwotfQotPC9zY3JpcHQ+Ci0KLTxoMj5NYW51YWwgdGVzdHMg
Zm9yIGhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpIG1ldGhvZDwvaDI+Ci08cD4KLSAgRm9sbG93IHRo
ZSBpbnN0cnVjdGlvbnMgZnJvbSB0b3AgdG8gYm90dG9tLiBDbGljayBvbiBlYWNoIGJ1dHRvbiBp
biBzZXF1ZW5jZQotICB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuIFNvbWUgb2YgdGhlIHRl
c3RzIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQKLSAgUmVxdWVzdCBVSSBhbmQgY2xvc2UgdGhl
bSBhdXRvbWF0aWNhbGx5LiBJZiBhIHBheW1lbnQgc2hlZXQgc3RheXMgb3BlbiwgdGhlCi0gIHRl
c3QgaGFzIGZhaWxlZC4KLTwvcD4KLTxvbD4KLSAgPGxpPkZvbGxvdyBicm93c2VyLXNwZWNpZmlj
IGluc3RydWN0aW9ucyB0byByZW1vdmUgYWxsIGNhcmRzIGZyb20gdGhlIHRlc3QgcHJvZmlsZS48
L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0SGFzTm9FbnJvbGxlZEluc3Ry
dW1lbnQoKSI+Ci0gICAgICBoYXNFbnJvbGxlZEluc3RydW1lbnQoKSByZXNvbHZlcyB0byBmYWxz
ZSB3aGVuIHVzZXIgaGFzIG5vIGVucm9sbGVkIGluc3RydW1lbnQuCi0gICAgPC9idXR0b24+Ci0g
IDwvbGk+Ci0gIDxsaT5BZGQgYSB0ZXN0IFZpc2EgY2FyZCB0byB5b3VyIHRlc3QgcHJvZmlsZSwg
ZS5nLiA0MDEyODg4ODg4ODgxODgxLjwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9
InRlc3RIYXNFbnJvbGxlZEluc3RydW1lbnQoKSI+Ci0gICAgICBoYXNFbnJvbGxlZEluc3RydW1l
bnQoKSByZXNvbHZlcyB0byB0cnVlIHdoZW4gdXNlciBoYXMgYW4gZW5yb2xsZWQgaW5zdHJ1bWVu
dC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0i
dGVzdEhhc0Vucm9sbGVkSW5zdHJ1bWVudEFnYWluKCkiPgotICAgICAgaGFzRW5yb2xsZWRJbnN0
cnVtZW50KCkgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGUgcGF5bWVudCBtZXRo
b2QKLSAgICAgIGRldGFpbHMgYXJlIGlkZW50aWNhbC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4K
LSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpIj5Eb25lITwvYnV0dG9uPgotICA8
L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2Ug
PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVz
Ij5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1
ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVtZW50LW1ldGhvZC50ZW50
YXRpdmUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1l
bnQtbWV0aG9kLnRlbnRhdGl2ZS5odHRwcy5odG1sCmluZGV4IGM1NTMxMmNlMzNiMGRhMmZjZDFk
MTYxOWI2ZDdmZjhjNjE0YTRmNmIuLjRmNmI3ZTkyMzliNjdlNDMxN2MzMjVhZjY1MWFiNjg1ZjBj
NjNjNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1l
bnQtbWV0aG9kLnRlbnRhdGl2ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1o
YXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLnRlbnRhdGl2ZS5odHRwcy5odG1sCkBAIC04LDYg
KzgsOSBAQAogPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMnPjwv
c2NyaXB0PgogPHNjcmlwdD4KICJ1c2Ugc3RyaWN0IjsKKworc2V0dXAoeyBhbGxvd191bmNhdWdo
dF9leGNlcHRpb246IHRydWUgfSk7CisKIGNvbnN0IHVuc3VwcG9ydGVkTWV0aG9kcyA9IFsKICAg
eyBzdXBwb3J0ZWRNZXRob2RzOiAidGhpcy1pcy1ub3Qtc3VwcG9ydGVkIiB9LAogICB7IHN1cHBv
cnRlZE1ldGhvZHM6ICJodHRwczovL25vdC5zdXBwb3J0ZWQiIH0sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlcXVlc3Qtc2hvdy1tZXRob2QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVz
dC1zaG93LW1ldGhvZC5odHRwcy5odG1sCmluZGV4IGRjZjc4ZWY0MjgxYzQyNTZlY2I0MTQxYjNm
OTNkMTVhOTQ3ODA1YTMuLjk3ODg3MjFhYTM1NDcyZDQ3OTlhNDQyMzkyMzA2NjA3NDc1YWZhZTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1zaG93LW1ldGhvZC5odHRwcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1zaG93LW1ldGhvZC5odHRwcy5odG1sCkBAIC0xLDEzICsx
LDE2IEBACiA8IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPgogPHRpdGxlPlRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0LnNob3coKSBt
ZXRob2Q8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vcGF5bWVudC1yZXF1ZXN0LyNzaG93LW1ldGhvZCI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI3Nob3ctbWV0aG9kIiAvPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogInVz
ZSBzdHJpY3QiOworCitzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsK
KwogY29uc3QgZGVmYXVsdE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFsKICAgeyBzdXBwb3J0ZWRN
ZXRob2RzOiAiYmFzaWMtY2FyZCIgfSwKICAgewpAQCAtMTgsNyArMjEsNyBAQCBjb25zdCBkZWZh
dWx0TWV0aG9kcyA9IE9iamVjdC5mcmVlemUoWwogICAgICAgY291bnRyeUNvZGU6ICJVUyIsCiAg
ICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAogICAgICAgc3VwcG9y
dGVkTmV0d29ya3M6IFsidmlzYSJdLAotICAgIH0KKyAgICB9LAogICB9LAogXSk7CiAKQEAgLTMy
LDcgKzM1LDcgQEAgY29uc3QgZGVmYXVsdERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKICAgfSwK
IH0pOwogCi1wcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Citwcm9taXNlX3Rlc3QoYXN5bmMgKHQp
ID0+IHsKICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChkZWZhdWx0TWV0aG9k
cywgZGVmYXVsdERldGFpbHMpOwogICBjb25zdCBhY2NlcHRQcm9taXNlID0gcmVxdWVzdC5zaG93
KCk7CiAgIC8vIEFib3J0IHRoZSByZXF1ZXN0IGFmdGVyIDIgc2Vjb25kcyBpZiBpdCBoYXMgbm90
IHJlamVjdGVkLiBUaGlzIGFsbG93cyB0aGUKQEAgLTQzLDYyICs0Niw2NCBAQCBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CiAgICAgcmVxdWVzdC5hYm9ydCgpOwogICB9LCAyMDAwKTsKIAotICBh
d2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJTZWN1cml0eUVycm9yIiwgYWNjZXB0UHJvbWlz
ZSk7CisgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIk5vdEFsbG93ZWRFcnJvciIsIGFj
Y2VwdFByb21pc2UpOwogfSwgYENhbGxpbmcgc2hvdygpIHdpdGhvdXQgYmVpbmcgdHJpZ2dlcmVk
IGJ5IHVzZXIgaW50ZXJhY3Rpb24gdGhyb3dzYCk7CiAKLXByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4gewogICBjb25zdCByZXF1ZXN0ID0gbmV3IFBh
eW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gIGNvbnN0IFth
Y2NlcHRQcm9taXNlXSA9IGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKAotICAgICJ0ZXN0OiB0aHJv
d3MgaWYgdGhlIHByb21pc2UgW1tzdGF0ZV1dIGlzIG5vdCAnY3JlYXRlZCciLAotICAgICgpID0+
IHsKLSAgICAgIGNvbnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coKTsgLy8gU2V0cyBz
dGF0ZSB0byAiaW50ZXJhY3RpdmUiCi0gICAgICByZXR1cm4gW2FjY2VwdFByb21pc2VdOwotICAg
IH0pOworICBhd2FpdCB0ZXN0X2RyaXZlci5ibGVzcygKKyAgICAidGVzdDogdGhyb3dzIGlmIHRo
ZSBwcm9taXNlIFtbc3RhdGVdXSBpcyBub3QgJ2NyZWF0ZWQnIgorICApOworICBjb25zdCBhY2Nl
cHRQcm9taXNlID0gcmVxdWVzdC5zaG93KCk7IC8vIFNldHMgc3RhdGUgdG8gImludGVyYWN0aXZl
IgorICAvLyBObyB1c2VyIGFjdGl2YXRpb24uLi4KKyAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2Rv
bSh0LCAiTm90QWxsb3dlZEVycm9yIiwgcmVxdWVzdC5zaG93KCkpOworCisgIC8vIEdldCB1c2Vy
IGFjdGl2YXRpb24KKyAgYXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoCisgICAgInRlc3Q6IHRocm93
cyBpZiB0aGUgcHJvbWlzZSBbW3N0YXRlXV0gaXMgbm90ICdjcmVhdGVkJyIKKyAgKTsKICAgYXdh
aXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiSW52YWxpZFN0YXRlRXJyb3IiLCByZXF1ZXN0LnNo
b3coKSk7CisKICAgYXdhaXQgcmVxdWVzdC5hYm9ydCgpOwogICBhd2FpdCBwcm9taXNlX3JlamVj
dHNfZG9tKHQsICJBYm9ydEVycm9yIiwgYWNjZXB0UHJvbWlzZSk7CiB9LCAiVGhyb3dzIGlmIHRo
ZSBwcm9taXNlIFtbc3RhdGVdXSBpcyBub3QgJ2NyZWF0ZWQnLiIpOwogCi1wcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7Citwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKICAgY29uc3QgcmVxdWVz
dDEgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRlZmF1bHREZXRhaWxzKTsK
ICAgY29uc3QgcmVxdWVzdDIgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRl
ZmF1bHREZXRhaWxzKTsKLSAgY29uc3QgW2FjY2VwdFByb21pc2UxXSA9IGF3YWl0IHRlc3RfZHJp
dmVyLmJsZXNzKAotICAgIGB0ZXN0OiByZWplY3QgcHJvbWlzZSB3aXRoICJBYm9ydGVkRXJyb3Ii
IGlmIHBheW1lbnQgcmVxdWVzdCBpcyBhbHJlYWR5IHNob3dpbmdgLAotICAgIGFzeW5jICgpID0+
IHsKLSAgICAgIGNvbnN0IGFjY2VwdFByb21pc2UxID0gcmVxdWVzdDEuc2hvdygpOwotICAgICAg
Y29uc3QgYWNjZXB0UHJvbWlzZTIgPSByZXF1ZXN0Mi5zaG93KCk7Ci0gICAgICBhd2FpdCBwcm9t
aXNlX3JlamVjdHNfZG9tKHQsICJBYm9ydEVycm9yIiwgYWNjZXB0UHJvbWlzZTIpOwotICAgICAg
cmV0dXJuIFthY2NlcHRQcm9taXNlMV07Ci0gICAgfSk7CisKKyAgYXdhaXQgdGVzdF9kcml2ZXIu
Ymxlc3MoInBheW1lbnQgcmVxdWVzdCIpOworICBjb25zdCBhY2NlcHRQcm9taXNlMSA9IHJlcXVl
c3QxLnNob3coKTsKKworICAvLyBVc2VyIGFjdGl2YXRpb24gY29uc3VtZWQsIHNvLi4uCisgIGF3
YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIk5vdEFsbG93ZWRFcnJvciIsIHJlcXVlc3QyLnNo
b3coKSk7CisKKyAgLy8gUGF5bWVudCByZXF1ZXN0IGFscmVhZHkgc2hvd2luZywgc28uLi4KKyAg
YXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoInBheW1lbnQgcmVxdWVzdCIpOworICBhd2FpdCBwcm9t
aXNlX3JlamVjdHNfZG9tKHQsICJBYm9ydEVycm9yIiwgcmVxdWVzdDIuc2hvdygpKTsKIAogICBh
d2FpdCByZXF1ZXN0MS5hYm9ydCgpOwogICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJB
Ym9ydEVycm9yIiwgYWNjZXB0UHJvbWlzZTEpOwogfSwgYElmIHRoZSB1c2VyIGFnZW50J3MgInBh
eW1lbnQgcmVxdWVzdCBpcyBzaG93aW5nIiBib29sZWFuIGlzIHRydWUsIHRoZW4gcmV0dXJuIGEg
cHJvbWlzZSByZWplY3RlZCB3aXRoIGFuICJBYm9ydEVycm9yIiBET01FeGNlcHRpb24uYCk7CiAK
LXByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4gewog
ICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAogICAgIFt7IHN1cHBvcnRlZE1l
dGhvZHM6ICJ0aGlzLWlzLW5vdC1zdXBwb3J0ZWQiIH1dLAogICAgIGRlZmF1bHREZXRhaWxzCiAg
ICk7Ci0gIGNvbnN0IFthY2NlcHRQcm9taXNlXSA9IGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKAot
ICAgIGB0ZXN0OiByZWplY3QgcHJvbWlzZSB3aXRoICJOb3RTdXBwb3J0ZWRFcnJvciJgLAotICAg
ICgpID0+IHsKLSAgICAgIGNvbnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coKTsKLSAg
ICAgIHJldHVybiBbYWNjZXB0UHJvbWlzZV07Ci0gICAgfSk7CisgIGF3YWl0IHRlc3RfZHJpdmVy
LmJsZXNzKGB0ZXN0OiByZWplY3QgcHJvbWlzZSB3aXRoICJOb3RTdXBwb3J0ZWRFcnJvciJgKTsK
KyAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJlcXVlc3Quc2hvdygpOwogICBhd2FpdCBwcm9taXNl
X3JlamVjdHNfZG9tKHQsICJOb3RTdXBwb3J0ZWRFcnJvciIsIGFjY2VwdFByb21pc2UpOwogfSwg
YElmIHBheW1lbnQgbWV0aG9kIGNvbnN1bHRhdGlvbiBwcm9kdWNlcyBubyBzdXBwb3J0ZWQgbWV0
aG9kIG9mIHBheW1lbnQsIHRoZW4gcmV0dXJuIGEgcHJvbWlzZSByZWplY3RlZCB3aXRoIGEgIk5v
dFN1cHBvcnRlZEVycm9yIiBET01FeGNlcHRpb24uYCk7CiAKLXByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4gewogICBjb25zdCByZXF1ZXN0ID0gbmV3
IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gIGNvbnN0
IFtwMSwgcDIsIHAzXSA9IGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKAotICAgIGB0ZXN0OiBjYWxs
aW5nIHNob3coKSBtdWx0aXBsZSB0aW1lcyBhbHdheXMgcmV0dXJucyBhIG5ldyBwcm9taXNlYCwK
LSAgICAoKSA9PiB7Ci0gICAgICBjb25zdCBwMSA9IHJlcXVlc3Quc2hvdygpOwotICAgICAgY29u
c3QgcDIgPSByZXF1ZXN0LnNob3coKTsKLSAgICAgIGNvbnN0IHAzID0gcmVxdWVzdC5zaG93KCk7
Ci0gICAgICByZXR1cm4gW3AxLCBwMiwgcDNdOwotICAgIH0pOworICBhd2FpdCB0ZXN0X2RyaXZl
ci5ibGVzcygiY2FsbCBzaG93KCkiKTsKKyAgY29uc3QgcDEgPSByZXF1ZXN0LnNob3coKTsKKyAg
YXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoImNhbGwgc2hvdygpIik7CisgIGNvbnN0IHAyID0gcmVx
dWVzdC5zaG93KCk7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKCJjYWxsIHNob3coKSIpOwor
ICBjb25zdCBwMyA9IHJlcXVlc3Quc2hvdygpOwogICBjb25zdCBwcm9taXNlcyA9IG5ldyBTZXQo
W3AxLCBwMiwgcDNdKTsKICAgYXNzZXJ0X2VxdWFscyhwcm9taXNlcy5zaXplLCAzLCAiTXVzdCBo
YXZlIHRocmVlIHVuaXF1ZSBvYmplY3RzIik7CiAKQEAgLTEwOCw5ICsxMTMsMTIgQEAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4gewogICBhd2FpdCByZXF1ZXN0LmFib3J0KCk7CiAgIGF3YWl0IHBy
b21pc2VfcmVqZWN0c19kb20odCwgIkFib3J0RXJyb3IiLCBwMSk7CiB9LCAiQ2FsbGluZyBzaG93
KCkgbXVsdGlwbGUgdGltZXMgYWx3YXlzIHJldHVybnMgYSBuZXcgcHJvbWlzZS4iKTsKLQogPC9z
Y3JpcHQ+CiA8c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhy
ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+Zmls
ZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9N
RVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCisgIElmIHlvdSBmaW5kIGEgYnVnZ3kg
dGVzdCwgcGxlYXNlCisgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0t
dGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4gYW5kCisgIHRhZyBvbmUgb2YgdGhlCisg
IDxhCisgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQv
YmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIgorICAgID5zdWdnZXN0ZWQgcmV2
aWV3ZXJzPC9hPi4KIDwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL2Nv
bXBsZXRlLW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvY29t
cGxldGUtbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmN2ZhY2Q3OTgwMDE2MTg5ZDNkYmVlNjUzYTM4ODk5ZGEyNmJlZDk1Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
Y29tcGxldGUtbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAx
ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI2Rv
bS1wYXltZW50cmVzcG9uc2UtY29tcGxldGUoKSI+Ci08dGl0bGU+Ci0gIFBheW1lbnRSZXNwb25z
ZS5wcm90b3R5cGUuY29tcGxldGUoKSBtZXRob2QKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaGVscGVycy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotYXN5bmMgZnVuY3Rpb24gcnVuTWFudWFsVGVzdCh7IGNv
bXBsZXRlV2l0aDogcmVzdWx0IH0sIGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVl
OwotICBjb25zdCB7IHJlc3BvbnNlLCByZXF1ZXN0IH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVz
dFJlc3BvbnNlKCk7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBsZXQgY29tcGxl
dGVQcm9taXNlOwotICAgIGxldCBpbnZhbGlkQ29tcGxldGU7Ci0gICAgbGV0IGFmdGVyQ29tcGxl
dGU7Ci0gICAgdHJ5IHsKLSAgICAgIC8vIFdlIC5jb21wbGV0ZSgpIGFzIG5vcm1hbCwgdXNpbmcg
dGhlIHBhc3NlZCB0ZXN0IHZhbHVlCi0gICAgICBjb21wbGV0ZVByb21pc2UgPSByZXNwb25zZS5j
b21wbGV0ZShyZXN1bHQpOwotICAgICAgYXNzZXJ0X3RydWUoY29tcGxldGVQcm9taXNlIGluc3Rh
bmNlb2YgUHJvbWlzZSwgInJldHVybnMgYSBwcm9taXNlIik7Ci0gICAgICAvLyBJbW1lZGlhdGVs
eSBjYWxsaW5nIGNvbXBsZXRlKCkgYWdhaW4geWllbGRzIGEgcmVqZWN0ZWQgcHJvbWlzZS4KLSAg
ICAgIGludmFsaWRDb21wbGV0ZSA9IHJlc3BvbnNlLmNvbXBsZXRlKHJlc3VsdCk7Ci0gICAgICBh
d2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIGludmFsaWRD
b21wbGV0ZSk7Ci0gICAgICAvLyBidXQgdGhlIG9yaWdpbmFsIHByb21pc2UgaXMgdW5hZmZlY3Rl
ZAotICAgICAgY29uc3QgcmV0dXJuZWRWYWx1ZSA9IGF3YWl0IGNvbXBsZXRlUHJvbWlzZTsKLSAg
ICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIHJldHVybmVkVmFsdWUsCi0gICAgICAgIHVuZGVm
aW5lZCwKLSAgICAgICAgIlJldHVybmVkIHZhbHVlIG11c3QgYWx3YXlzIGJlIHVuZGVmaW5lZCIK
LSAgICAgICk7Ci0gICAgICAvLyBXZSBub3cgY2FsbCAuY29tcGxldGUoKSBhZ2FpbiwgdG8gZm9y
Y2UgYW4gZXhjZXB0aW9uCi0gICAgICAvLyBiZWNhdXNlIFtbY29tcGxldGVdXSBpcyB0cnVlLgot
ICAgICAgYWZ0ZXJDb21wbGV0ZSA9IHJlc3BvbnNlLmNvbXBsZXRlKHJlc3VsdCk7Ci0gICAgICBh
d2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIGFmdGVyQ29t
cGxldGUpOwotICAgICAgYnV0dG9uLmlubmVySFRNTCA9IGDinIUgICR7YnV0dG9uLnRleHRDb250
ZW50fWA7Ci0gICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICBidXR0b24uaW5uZXJIVE1MID0gYOKd
jCAgJHtidXR0b24udGV4dENvbnRlbnR9YDsKLSAgICAgIGFzc2VydF91bnJlYWNoZWQoIlVuZXhw
ZWN0ZWQgZXhjZXB0aW9uOiAiICsgZXJyLm1lc3NhZ2UpOwotICAgIH0KLSAgICBjb25zdCBhbGxQ
cm9taXNlcyA9IG5ldyBTZXQoWwotICAgICAgY29tcGxldGVQcm9taXNlLAotICAgICAgaW52YWxp
ZENvbXBsZXRlLAotICAgICAgYWZ0ZXJDb21wbGV0ZSwKLSAgICBdKTsKLSAgICBhc3NlcnRfZXF1
YWxzKAotICAgICAgYWxsUHJvbWlzZXMuc2l6ZSwKLSAgICAgIDMsCi0gICAgICAiQ2FsbGluZyBj
b21wbGV0ZSgpIG11bHRpcGxlIHRpbWVzIGlzIGFsd2F5cyBhIG5ldyBvYmplY3QuIgotICAgICk7
Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfQotPC9zY3JpcHQ+Ci0KLTxoMj4K
LSAgICBNYW51YWwgVGVzdHMgZm9yIFBheW1lbnRSZXNwb25zZS5jb21wbGV0ZSgpIC0gUGxlYXNl
IHJ1biBpbiBvcmRlciEKLTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2Vx
dWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAg
RWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4K
LTwvcD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50IHNoZWV0LCB1c2Ug
YW55IGNyZWRpdCBjYXJkIHNlbGVjdCB0byAiUGF5Ii4KLSAgQWxzbyBjb25maXJtIGFueSBwcm9t
cHRzIHRoYXQgY29tZSB1cC4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGlj
az0icnVuTWFudWFsVGVzdCh7Y29tcGxldGVXaXRoOiAnc3VjY2Vzcyd9LCB0aGlzKSI+Ci0gICAg
ICBJZiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIHNsb3QgW1tjb21wbGV0ZUNhbGxlZF1dIGlz
IHRydWUsCi0gICAgICByZWplY3QgcHJvbWlzZSB3aXRoIGFuICJJbnZhbGlkU3RhdGVFcnJvciIg
RE9NRXhjZXB0aW9uLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRv
biBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHtjb21wbGV0ZVdpdGg6IHVuZGVmaW5lZH0sIHRoaXMp
Ij4KLSAgICAgIFBhc3Npbmcgbm8gYXJndW1lbnQgZGVmYXVsdHMgdG8gInVua25vd24iLAotICAg
ICAgZXZlbnR1YWxseSBjbG9zaW5nIHRoZSBzaGVldCBhbmQgZG9lc24ndCB0aHJvdy4KLSAgICA8
L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFs
VGVzdCh7Y29tcGxldGVXaXRoOiAnc3VjY2Vzcyd9LCB0aGlzKSI+Ci0gICAgICBQYXNzaW5nICJz
dWNjZXNzIiBldmVudHVhbGx5IGNsb3NlcyB0aGUgc2hlZXQgYW5kIGRvZXNuJ3QgdGhyb3cuCi0g
ICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1h
bnVhbFRlc3Qoe2NvbXBsZXRlV2l0aDogJ2ZhaWwnfSwgdGhpcykiPgotICAgICAgUGFzc2luZyAi
ZmFpbCIgZXZlbnR1YWxseSBjbG9zZXMgdGhlIHNoZWV0IGFuZCBkb2Vzbid0IHRocm93LgotICAg
IDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51
YWxUZXN0KHtjb21wbGV0ZVdpdGg6ICd1bmtub3duJ30sIHRoaXMpIj4KLSAgICAgIFBhc3Npbmcg
InVua25vd24iIGV2ZW50dWFsbHkgY2xvc2VzIHRoZSBzaGVldCBhbmQgZG9lc24ndCB0aHJvdy4K
LSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9u
ZSgpIj5Eb25lITwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZp
bmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBv
ZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQv
YmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJz
PC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL21ldGhvZE5h
bWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9tZXRo
b2ROYW1lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMGE4ZWY2Yzc3ZTg3ZTY4YTFiN2Y5YWEyODU4OGJlNGRlM2RhOThmMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3Bv
bnNlL21ldGhvZE5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjggKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4K
LTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVx
dWVzdC8jZG9tLXBheW1lbnRyZXNwb25zZS1tZXRob2RuYW1lIj4KLTx0aXRsZT4KLSAgUGF5bWVu
dFJlc3BvbnNlLnByb3RvdHlwZS5tZXRob2ROYW1lIGF0dHJpYnV0ZQotPC90aXRsZT4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxoMj5tZXRob2ROYW1lIGF0dHJpYnV0ZTwvaDI+Ci08
cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9t
IHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1
cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBVc2UgYW55IGNy
ZWRpdCBjYXJkIGFuZCBhbnkgdmFsdWVzLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRv
biBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHt9LCB7IG1ldGhvZE5hbWU6ICdiYXNpYy1j
YXJkJyB9KS50aGVuKGRvbmUpIj4KLSAgICAgIEV4cGVjdCB0aGUgcGF5bWVudCBtZXRob2QgaWRl
bnRpZmllciB0byBiZSAnYmFzaWMtY2FyZCcuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29s
PgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBi
dWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55
bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVzcG9uc2Uvb25wYXllcmRldGFpbGNoYW5nZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL29ucGF5ZXJkZXRhaWxjaGFuZ2UtYXR0cmlidXRl
LW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzMxOTUy
YzBlYmMwZTgwODVjYjM0MGI1YjdjZmM0Nzg4NDlmYzk5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvb25wYXllcmRldGFp
bGNoYW5nZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3
MyArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08dGl0bGU+
UGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZS5vbnBheWVyZGV0YWlsY2hhbmdlIGF0dHJpYnV0ZTwv
dGl0bGU+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBydW5U
ZXN0KGJ1dHRvbiwgb3B0aW9ucywgZXhwZWN0ZWQpewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVl
OwotICBwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGNvbnN0IHJlc3BvbnNlID0gYXdh
aXQgZ2V0UGF5bWVudFJlc3BvbnNlKG9wdGlvbnMpOwotICAgIGNvbnN0IGV2ZW50UHJvbWlzZSA9
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgcmVzcG9uc2UuYWRkRXZlbnRMaXN0ZW5l
cigicGF5ZXJkZXRhaWxjaGFuZ2UiLCByZXNvbHZlKTsKLSAgICB9KTsKLSAgICBjb25zdCBlcnJv
ciA9IGJ1dHRvbi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nLnRleHRDb250ZW50LnRyaW0oKTsKLSAg
ICBhd2FpdCByZXNwb25zZS5yZXRyeSh7IGVycm9yIH0pOwotICAgIGNvbnN0IGV2ZW50ID0gYXdh
aXQgZXZlbnRQcm9taXNlOwotICAgIGFzc2VydF90cnVlKGV2ZW50IGluc3RhbmNlb2YgUGF5bWVu
dFJlcXVlc3RVcGRhdGVFdmVudCk7Ci0gICAgZm9yKFtwcm9wLCB2YWx1ZV0gb2YgT2JqZWN0LmVu
dHJpZXMoZXhwZWN0ZWQpKXsKLSAgICAgIGlmIChwcm9wID09PSAncGF5ZXJQaG9uZScpIHsKLSAg
ICAgICAgLy8gfHBheWVyUGhvbmV8IG1heSBvcHRpb25hbGx5IGFkaGVyZSB0byBFMTY0IHN0cnVj
dHVyZSwgd2hpY2ggZG9lcyBub3QKLSAgICAgICAgLy8gY29udGFpbiBmb3JtYXR0aW5nLCBlLmcu
ICsxODAwMDAwMDAgaW5zdGVhZCBvZiArMS04MDAtMDAwLTAwMDAuCi0gICAgICAgIC8vIFN0cmlw
IG91dCB0aGUgZm9ybWF0dGluZyBpbiBjYXNlIHRoZSB1c2VyIGFnZW50IGltcGxlbWVudHMgRTE2
NC4KLSAgICAgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jYWRk
cmVzc2luaXQtZGljdGlvbmFyeQotICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1stXChc
KSBdL2csICcnKTsKLSAgICAgIH0KLSAgICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2VbcHJvcF0s
IHZhbHVlKTsKLSAgICB9Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsK
LSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj5IYW5k
bGluZyBQYXltZW50UmVzcG9uc2UucHJvdG90eXBlLm9ucGF5ZXJkZXRhaWxjaGFuZ2UgZXZlbnRz
PC9oMj4KLTxwPgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVl
c3QgVUkgd2luZG93LgotICBXaGVuIHNob3duIHRoZSBwYXltZW50IHNoZWV0LCB1c2UgYW55IGRl
dGFpbHMgYW5kIGhpdCBwYXkuCi08L3A+Ci08cD4KLSAgV2hlbiBhc2tlZCB0byByZXRyeSB0aGUg
cGF5bWVudDoKLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxwPgotICAgICAgQ2hhbmdlIHBheWVy
J3MgbmFtZSB0byAicGFzcyIuCi0gICAgPC9wPgotICAgIDxidXR0b24gb25jbGljaz0icnVuVGVz
dCh0aGlzLCB7IHJlcXVlc3RQYXllck5hbWU6IHRydWUgfSwgeyBwYXllck5hbWU6ICdwYXNzJyB9
KTsiPgotICAgICAgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCBpcyBkaXNwYXRjaGVkIHdoZW4g
cGF5ZXIgbmFtZSBjaGFuZ2VzLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAg
PHA+Ci0gICAgICBDaGFuZ2UgcGF5ZXIncyBlbWFpbCB0byAicGFzc0BwYXNzLnBhc3MiLgotICAg
IDwvcD4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1blRlc3QodGhpcywge3JlcXVlc3RQYXllckVt
YWlsOiB0cnVlfSwgeyBwYXllckVtYWlsOiAncGFzc0BwYXNzLnBhc3MnIH0pOyI+Ci0gICAgICBQ
YXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IGlzIGRpc3BhdGNoZWQgd2hlbiBwYXllciBlbWFpbCBj
aGFuZ2VzLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPHA+Ci0gICAgICBD
aGFuZ2UgcGF5ZXIncyBwaG9uZSB0byAiKzEtODAwLTAwMC0wMDAwIi4KLSAgICA8L3A+Ci0gICAg
PGJ1dHRvbiBvbmNsaWNrPSJydW5UZXN0KHRoaXMsIHtyZXF1ZXN0UGF5ZXJQaG9uZTogdHJ1ZX0s
IHsgcGF5ZXJQaG9uZTogJysxODAwMDAwMDAwMCcgfSkiPgotICAgICAgUGF5bWVudFJlcXVlc3RV
cGRhdGVFdmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gcGF5ZXIgcGhvbmUgY2hhbmdlcy4KLSAgICA8
L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+
RE9ORSE8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEg
YnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZv
cm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhl
IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2Iv
bWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+b3duZXJzPC9hPi4KLTwvc21hbGw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyRW1haWwtYXR0cmlidXRlLW1hbnVh
bC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllckVtYWlsLWF0dHJpYnV0ZS1t
YW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhjZTRjMjhh
ODVjNWJkYjc5ZjA4NDM4ZWRkMjA4NmZkNmIwOWMwOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyRW1haWwtYXR0
cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jZG9tLXBheW1lbnRy
ZXNwb25zZS1wYXllcmVtYWlsIj4KLTx0aXRsZT4KLSAgUGF5bWVudFJlc3BvbnNlLnByb3RvdHlw
ZS5wYXllckVtYWlsIGF0dHJpYnV0ZQotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3Nj
cmlwdD4KLTxoMj5wYXllckVtYWlsIGF0dHJpYnV0ZTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFj
aCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGlu
ZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1
ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHJlcXVlc3RlZCwgcGxlYXNlIHVzZSAi
d3B0QHczLm9yZyIgYXMgdGhlIGVtYWlsLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRv
biBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHVuZGVmaW5lZCwgeyBwYXllckVtYWlsOiBu
dWxsIH0pIj4KLSAgICAgIHBheWVyRW1haWwgYXR0cmlidXRlIGlzIG51bGwgd2hlbiBvcHRpb25z
IHVuZGVmaW5lZC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24g
b25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllckVtYWlsOiB1bmRlZmlu
ZWQgfSwgeyBwYXllckVtYWlsOiBudWxsIH0pIj4KLSAgICAgIHBheWVyRW1haWwgYXR0cmlidXRl
IGlzIG51bGwgd2hlbiByZXF1ZXN0UGF5ZXJFbWFpbCBpcyB1bmRlZmluZWQuCi0gICAgPC9idXR0
b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3Qo
dGhpcywgeyByZXF1ZXN0UGF5ZXJFbWFpbDogZmFsc2UgfSwgeyBwYXllckVtYWlsOiBudWxsIH0p
Ij4KLSAgICAgIHBheWVyRW1haWwgYXR0cmlidXRlIGlzIG51bGwgd2hlbiByZXF1ZXN0UGF5ZXJF
bWFpbCBpcyBmYWxzZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0
b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllckVtYWlsOiB0cnVl
IH0sIHsgcGF5ZXJFbWFpbDogJ3dwdEB3My5vcmcnIH0pIj4KLSAgICAgIHBheWVyRW1haWwgYXR0
cmlidXRlIGlzICd3cHRAdzMub3JnJyB3aGVuIHJlcXVlc3RQYXllckVtYWlsIGlzIHRydWUuCi0g
ICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1h
bnVhbFRlc3QodGhpcywgeyByZXF1ZXN0UGF5ZXJFbWFpbDogJ3llcCcgfSwgeyBwYXllckVtYWls
OiAnd3B0QHczLm9yZycgfSkudGhlbihkb25lKSI+Ci0gICAgICBwYXllckVtYWlsIGF0dHJpYnV0
ZSBpcyAnd3B0QHczLm9yZycgd2hlbiByZXF1ZXN0UGF5ZXJFbWFpbCBpcyB0cnV0aHkuCi0gICAg
PC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5
IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBo
cmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rl
ci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9z
bWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJOYW1lLWF0dHJpYnV0
ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJOYW1lLWF0dHJp
YnV0ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDRk
NzQxYWU0NWNiN2Y4ZjM0ZmExNTUwYjQ3YjQ5Y2YzZTBjNDUwYi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyTmFt
ZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCww
IEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5
bWVudHJlc3BvbnNlLXBheWVybmFtZSI+Ci08dGl0bGU+Ci0gIFBheW1lbnRSZXNwb25zZS5wcm90
b3R5cGUucGF5ZXJOYW1lIGF0dHJpYnV0ZQotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48
L3NjcmlwdD4KLTxoMj5wYXllck5hbWUgYXR0cmlidXRlPC9oMj4KLTxwPgotICBDbGljayBvbiBl
YWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNo
aW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJl
cXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gcmVxdWVzdGVkLCBwbGVhc2UgdXNl
ICJ3ZWIgcGxhdGZvcm0gdGVzdCIgYXMgdGhlIHBheWVyIG5hbWUuCi08L3A+Ci08b2w+Ci0gIDxs
aT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgdW5kZWZpbmVkLCB7
IHBheWVyTmFtZTogbnVsbCB9KSI+Ci0gICAgICBwYXllck5hbWUgYXR0cmlidXRlIGlzIG51bGwg
d2hlbiBvcHRpb24gaXMgdW5kZWZpbmVkLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHsgcmVxdWVzdFBheWVy
TmFtZTogdW5kZWZpbmVkIH0sIHsgcGF5ZXJOYW1lOiBudWxsIH0pIj4KLSAgICAgIHBheWVyTmFt
ZSBhdHRyaWJ1dGUgaXMgbnVsbCB3aGVuIHJlcXVlc3RQYXllck5hbWUgaXMgdW5kZWZpbmVkLgot
ICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5N
YW51YWxUZXN0KHRoaXMsIHsgcmVxdWVzdFBheWVyTmFtZTogZmFsc2UgfSwgeyBwYXllck5hbWU6
IG51bGwgfSkiPgotICAgICAgcGF5ZXJOYW1lIGF0dHJpYnV0ZSBpcyBudWxsIHdoZW4gcmVxdWVz
dFBheWVyTmFtZSBpcyBmYWxzZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAg
IDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllck5hbWU6
IHRydWUgfSwgeyBwYXllck5hbWU6ICd3ZWIgcGxhdGZvcm0gdGVzdCcgfSkiPgotICAgICAgcGF5
ZXJOYW1lIGF0dHJpYnV0ZSBpcyAnd2ViIHBsYXRmb3JtIHRlc3QnIHdoZW4gcmVxdWVzdFBheWVy
TmFtZSBpcyB0cnVlLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRv
biBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHsgcmVxdWVzdFBheWVyTmFtZTogJ3llcCcg
fSwgeyBwYXllck5hbWU6ICd3ZWIgcGxhdGZvcm0gdGVzdCcgfSkudGhlbihkb25lKSI+Ci0gICAg
ICBwYXllck5hbWUgYXR0cmlidXRlIGlzICd3ZWIgcGxhdGZvcm0gdGVzdCcgd2hlbiByZXF1ZXN0
UGF5ZXJOYW1lIGlzIHRydXRoeS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci08c21h
bGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4K
LSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxh
dGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+c3Vn
Z2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS9wYXllclBob25lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVzcG9uc2UvcGF5ZXJQaG9uZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1YTQ0YTgxOWNkODU1NWUwMzI1MjBmODg3Y2Y4OTUw
OGJkYjk4YjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvcGF5bWVudC1yZXNwb25zZS9wYXllclBob25lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEg
Y2hhcnNldD0idXRmOCI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9wYXltZW50LXJlcXVlc3QvI2RvbS1wYXltZW50cmVzcG9uc2UtcGF5ZXJwaG9uZSI+Ci08
dGl0bGU+Ci0gIFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUucGF5ZXJQaG9uZSBhdHRyaWJ1dGUK
LTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08aDI+cGF5ZXJQaG9uZSBh
dHRyaWJ1dGU8L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZy
b20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0
dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08
cD4KLSAgV2hlbiBwcm9tcHRlZCwgcGxlYXNlIHVzZSArMTIzNDU2Nzg5MTAgYXMgdGhlIHBob25l
IG51bWJlci4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFu
dWFsVGVzdCh0aGlzLCB1bmRlZmluZWQsIHsgcGF5ZXJQaG9uZTogbnVsbCB9KSI+Ci0gICAgICBw
YXllclBob25lIGF0dHJpYnV0ZSBpcyBudWxsIHdoZW4gb3B0aW9ucyBpcyB1bmRlZmluZWQuCi0g
ICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1h
bnVhbFRlc3QodGhpcywgeyByZXF1ZXN0UGF5ZXJQaG9uZTogdW5kZWZpbmVkIH0sIHsgcGF5ZXJQ
aG9uZTogbnVsbCB9KSI+Ci0gICAgICBwYXllclBob25lIGF0dHJpYnV0ZSBpcyBudWxsIHdoZW4g
cmVxdWVzdFBheWVyUGhvbmUgaXMgdW5kZWZpbmVkLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHsgcmVxdWVz
dFBheWVyUGhvbmU6IGZhbHNlIH0sIHsgcGF5ZXJQaG9uZTogbnVsbCB9KSI+Ci0gICAgICBwYXll
clBob25lIGF0dHJpYnV0ZSBpcyBudWxsIHdoZW4gcmVxdWVzdFBheWVyUGhvbmUgaXMgZmFsc2Uu
Ci0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1
bk1hbnVhbFRlc3QodGhpcywgeyByZXF1ZXN0UGF5ZXJQaG9uZTogdHJ1ZSB9LCB7IHBheWVyUGhv
bmU6ICcrMTIzNDU2Nzg5MTAnIH0pIj4KLSAgICAgIHBheWVyUGhvbmUgYXR0cmlidXRlIGlzICcr
MTIzNDU2Nzg5MTAnIHdoZW4gcmVxdWVzdFBheWVyUGhvbmUgaXMgdHJ1ZS4KLSAgICA8L2J1dHRv
bj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0
aGlzLCB7IHJlcXVlc3RQYXllclBob25lOiAneWVwJyB9LCB7IHBheWVyUGhvbmU6ICcrMTIzNDU2
Nzg5MTAnIH0pLnRoZW4oZG9uZSkiPgotICAgICAgcGF5ZXJQaG9uZSBhdHRyaWJ1dGUgaXMgJysx
MjM0NTY3ODkxMCcgd2hlbiByZXF1ZXN0UGF5ZXJQaG9uZSBpcyB0cnV0aHkuCi0gICAgPC9idXR0
b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3Qs
IHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXlt
ZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0
ZVdpdGgtaW1tZWRpYXRlLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJl
c3BvbnNlL3BheWVyZGV0YWlsc2NoYW5nZS11cGRhdGVXaXRoLWltbWVkaWF0ZS1tYW51YWwuaHR0
cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMGEyMzY2MDc3
YzliYTkzMDNjNTcyMjk0ZDhhYTRjNmVmYWJjY2RjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJkZXRhaWxzY2hh
bmdlLXVwZGF0ZVdpdGgtaW1tZWRpYXRlLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1IYW5kbGluZyBQYXltZW50UmVzcG9uc2UucHJvdG90
eXBlLm9ucGF5ZXJkZXRhaWxjaGFuZ2UgZXZlbnRzCi0KLVRoZSB0ZXN0IGJyaW5ncyB1cCB0aGUg
UGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4gV2hlbiBzaG93biB0aGUgcGF5bWVudCBzaGVldCwg
dXNlIGFueSBkZXRhaWxzIGFuZCBoaXQgcGF5LgotCi1XaGVuIGFza2VkIHRvIHJldHJ5IHRoZSBw
YXltZW50OgotCi1DaGFuZ2UgcGF5ZXIncyBuYW1lIHRvIGFueXRoaW5nLgotCi11cGRhdGVXaXRo
KCkgbXVzdCBiZSBjYWxsZWQgaW1tZWRpYXRlbHksIG90aGVyd2lzZSBtdXN0IHRocm93IGFuIElu
dmFsaWRTdGF0ZUVycm9yLgotRE9ORSEKLUlmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNl
IGZpbGUgYSBidWcgYW5kIHRhZyBvbmUgb2YgdGhlIG93bmVycy4KLQotSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVBBU1MgQ2FuIGNvbnN0cnVjdCBhIHBheW1lbnQg
cmVxdWVzdCAoc21va2UgdGVzdCkuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
cGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdpdGgtaW1tZWRpYXRlLW1hbnVhbC5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1pbW1l
ZGlhdGUtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdl
MzVkNzg3MDA2ZWJiNTU0YzMwNWFiYzM4YTQyN2E0MTM1Njc2ZjIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRl
dGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1pbW1lZGlhdGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9
dXRmLTg+Ci08dGl0bGU+RGlzcGF0Y2hpbmcgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCBmb3Ig
InBheWVyZGV0YWlsc2NoYW5nZSI8L3RpdGxlPgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanM+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0PgotZnVuY3Rpb24gdGVzdEltbWVkaWF0ZVVwZGF0ZSh7IHRleHRDb250ZW50OiB0ZXN0
TmFtZSB9KSB7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXNwb25z
ZSA9IGF3YWl0IGdldFBheW1lbnRSZXNwb25zZSh7IHJlcXVlc3RQYXllck5hbWU6IHRydWUgfSk7
Ci0gICAgY29uc3QgZXZlbnRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkg
PT4gewotICAgICAgcmVzcG9uc2UuYWRkRXZlbnRMaXN0ZW5lcigKLSAgICAgICAgInBheWVyZGV0
YWlsY2hhbmdlIiwKLSAgICAgICAgZXYgPT4gewotICAgICAgICAgIC8vIEZvcmNlcyB1cGRhdGVX
aXRoKCkgdG8gYmUgcnVuIGluIHRoZSBuZXh0IGV2ZW50IGxvb3AgdGljayBzbyB0aGF0Ci0gICAg
ICAgICAgLy8gW1t3YWl0Rm9yVXBkYXRlXV0gaXMgYWxyZWFkeSB0cnVlIHdoZW4gaXQgcnVucy4K
LSAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICB0cnkgewotICAg
ICAgICAgICAgICBldi51cGRhdGVXaXRoKHt9KTsKLSAgICAgICAgICAgICAgcmVzb2x2ZSgpOyAv
LyBUaGlzIGlzIGJhZC4KLSAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgewotICAgICAgICAgICAg
ICByZWplY3QoZXJyKTsgLy8gdGhpcyBpcyBnb29kLgotICAgICAgICAgICAgfQotICAgICAgICAg
IH0pOwotICAgICAgICB9LAotICAgICAgICB7IG9uY2U6IHRydWUgfQotICAgICAgKTsKLSAgICB9
KTsKLQotICAgIGNvbnN0IHJldHJ5UHJvbWlzZSA9IHJlc3BvbnNlLnJldHJ5KHsKLSAgICAgIHBh
eWVyOiB7IG5hbWU6ICJDaGFuZ2UgbWUhIiB9LAotICAgIH0pOwotICAgIGF3YWl0IHByb21pc2Vf
cmVqZWN0c19kb20oCi0gICAgICB0LAotICAgICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAg
IGV2ZW50UHJvbWlzZSwKLSAgICAgICJUaGUgZXZlbnQgbG9vcCBhbHJlYWR5IHNwdW4sIHNvIFtb
d2FpdEZvclVwZGF0ZV1dIGlzIG5vdyB0cnVlIgotICAgICk7Ci0gICAgYXdhaXQgcmV0cnlQcm9t
aXNlOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Ci0gIH0sIHRlc3RO
YW1lLnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj5IYW5kbGluZyBQYXltZW50UmVzcG9uc2Uu
cHJvdG90eXBlLm9ucGF5ZXJkZXRhaWxjaGFuZ2UgZXZlbnRzPC9oMj4KLTxwPgotICBUaGUgdGVz
dCBicmluZ3MgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi0gIFdoZW4gc2hvd24g
dGhlIHBheW1lbnQgc2hlZXQsIHVzZSBhbnkgZGV0YWlscyBhbmQgaGl0IHBheS4KLTwvcD4KLTxw
PgotICBXaGVuIGFza2VkIHRvIHJldHJ5IHRoZSBwYXltZW50OgotPC9wPgotPG9sPgotICA8bGk+
Ci0gICAgPHA+Ci0gICAgICBDaGFuZ2UgcGF5ZXIncyBuYW1lIHRvIGFueXRoaW5nLgotICAgIDwv
cD4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RJbW1lZGlhdGVVcGRhdGUodGhpcyk7Ij4KLSAg
ICAgIHVwZGF0ZVdpdGgoKSBtdXN0IGJlIGNhbGxlZCBpbW1lZGlhdGVseSwgb3RoZXJ3aXNlIG11
c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3IuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0g
IDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImRvbmUoKTsiPkRPTkUhPC9idXR0b24+Ci0gIDwv
bGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8
YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMi
PmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVl
c3QvTUVUQS55bWwiPm93bmVyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVu
dC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1tYW51YWwuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRl
V2l0aC1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyMjZmYmRmNzYxMjM5Y2Q4MzkzMzJmOGE2ZjYxZWFkY2EwNDJjNmNmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
cGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdpdGgtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLUhhbmRsaW5nIFBheW1lbnRSZXNwb25zZS5w
cm90b3R5cGUub25wYXllcmRldGFpbGNoYW5nZSBldmVudHMKLQotVGhlIHRlc3QgYnJpbmdzIHVw
IHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LiBXaGVuIHNob3duIHRoZSBwYXltZW50IHNo
ZWV0LCB1c2UgYW55IGRldGFpbHMgYW5kIGhpdCBwYXkuCi0KLVdoZW4gYXNrZWQgdG8gcmV0cnkg
dGhlIHBheW1lbnQ6Ci0KLUNoYW5nZSBwYXllcidzIG5hbWUgdG8gYW55dGhpbmcuCi0KLUNhbGxp
bmcgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCB1cGRhdGVXaXRoKCkgdHdpY2UgdGhyb3dzIGFu
ICJJbnZhbGlkU3RhdGVFcnJvciIuCi1ET05FIQotSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBw
bGVhc2UgZmlsZSBhIGJ1ZyBhbmQgdGFnIG9uZSBvZiB0aGUgb3duZXJzLgotCi1IYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotUEFTUyBDYW4gY29uc3RydWN0IGEgcGF5
bWVudCByZXF1ZXN0IChzbW9rZSB0ZXN0KS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNw
b25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1tYW51YWwuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdpdGgtbWFudWFsLmh0
dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhNzM0MjM2NWQ2NDRmNjQ3
MGVhMmNlMjVmZTg1Y2ZmYWU2NDc5NDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBk
YXRlV2l0aC1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAK
LTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD11dGYtOD4KLTx0aXRsZT5EaXNwYXRjaGlu
ZyBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IGZvciAicGF5ZXJkZXRhaWxzY2hhbmdlIjwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBydW5UZXN0
KGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7Ci0gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRQYXltZW50UmVzcG9uc2Uo
eyByZXF1ZXN0UGF5ZXJOYW1lOiB0cnVlIH0pOwotICAgIGNvbnN0IGV2ZW50UHJvbWlzZSA9IG5l
dyBQcm9taXNlKChfLCByZWplY3QpID0+IHsKLSAgICAgIHJlc3BvbnNlLmFkZEV2ZW50TGlzdGVu
ZXIoInBheWVyZGV0YWlsY2hhbmdlIiwgZXYgPT4gewotICAgICAgICAvLyBbW3dhaXRGb3JVcGRh
dGVdXSBiZWNvbWVzIHRydWUuLi4KLSAgICAgICAgZXYudXBkYXRlV2l0aCh7fSk7Ci0gICAgICAg
IC8vIFNvIGNhbGxpbmcgaXQgYWdhaW4gdGhyb3dzICJJbnZhbGlkU3RhdGVFcnJvciIuCi0gICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgZXYudXBkYXRlV2l0aCh7fSk7Ci0gICAgICAgIH0gY2F0Y2gg
KGVycikgewotICAgICAgICAgIHJlamVjdChlcnIpOwotICAgICAgICB9Ci0gICAgICB9KTsKLSAg
ICB9KTsKLSAgICBhd2FpdCByZXNwb25zZS5yZXRyeSh7Ci0gICAgICBwYXllcjogeyBuYW1lOiAi
Q2hhbmdlIG1lISIgfSwKLSAgICB9KTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQs
ICJJbnZhbGlkU3RhdGVFcnJvciIsIGV2ZW50UHJvbWlzZSk7Ci0gICAgYXdhaXQgcmVzcG9uc2Uu
Y29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19
Ci08L3NjcmlwdD4KLTxoMj5IYW5kbGluZyBQYXltZW50UmVzcG9uc2UucHJvdG90eXBlLm9ucGF5
ZXJkZXRhaWxjaGFuZ2UgZXZlbnRzPC9oMj4KLTxwPgotICBUaGUgdGVzdCBicmluZ3MgdXAgdGhl
IFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi0gIFdoZW4gc2hvd24gdGhlIHBheW1lbnQgc2hl
ZXQsIHVzZSBhbnkgZGV0YWlscyBhbmQgaGl0IHBheS4KLTwvcD4KLTxwPgotICBXaGVuIGFza2Vk
IHRvIHJldHJ5IHRoZSBwYXltZW50OgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPHA+Ci0gICAg
ICBDaGFuZ2UgcGF5ZXIncyBuYW1lIHRvIGFueXRoaW5nLgotICAgIDwvcD4KLSAgICA8YnV0dG9u
IG9uY2xpY2s9InJ1blRlc3QodGhpcyk7Ij4KLSAgICAgIENhbGxpbmcgUGF5bWVudFJlcXVlc3RV
cGRhdGVFdmVudCB1cGRhdGVXaXRoKCkgdHdpY2UgdGhyb3dzIGFuICJJbnZhbGlkU3RhdGVFcnJv
ciIuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9
ImRvbmUoKTsiPkRPTkUhPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5
b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcg
b25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPm93bmVyczwvYT4uCi08
L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZWplY3RzX2lmX25vdF9h
Y3RpdmUtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JlamVjdHNfaWZf
bm90X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjhiYjUzMzEzZGNlOTI2NjQ1M2I4OWYzYmQ5OGQ3YzAxY2I5ZWE2OC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3Jl
amVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDE2MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3Qv
I3JldHJ5LW1ldGhvZCI+Ci08dGl0bGU+UGF5bWVudFJlc3BvbnNlIHJldHJ5KCkgcmVqZWN0cyBp
ZiBkb2MgaXMgbm90IGZ1bGx5IGFjdGl2ZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI2RvbS1wYXltZW50cmVzcG9uc2UtcmV0
cnkiPgotPGJvZHk+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBs
aWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgdmFsaWRNZXRob2QgPSBPYmplY3QuZnJlZXpl
KHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotfSk7Ci1jb25zdCBhcHBsZVBh
eSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5j
b20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0gICAgbWVyY2hhbnRJ
ZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50cnlDb2RlOiAiVVMi
LAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgc3VwcG9y
dGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9Ci19KTsKLWNvbnN0IHZhbGlkTWV0aG9kcyA9IE9i
amVjdC5mcmVlemUoW3ZhbGlkTWV0aG9kLCBhcHBsZVBheV0pOwotY29uc3QgdmFsaWRBbW91bnQg
PSBPYmplY3QuZnJlZXplKHsKLSAgY3VycmVuY3k6ICJVU0QiLAotICB2YWx1ZTogIjUuMDAiLAot
fSk7Ci1jb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGxhYmVsOiAiVG90YWwg
ZHVlIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLX0pOwotY29uc3QgdmFsaWREZXRhaWxzID0g
T2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB2YWxpZFRvdGFsLAotfSk7Ci0KLWZ1bmN0aW9uIGdl
dExvYWRlZFBheW1lbnRSZXNwb25zZShpZnJhbWUsIHVybCkgewotICByZXR1cm4gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7Ci0gICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoCi0gICAgICAibG9h
ZCIsCi0gICAgICBhc3luYyAoKSA9PiB7Ci0gICAgICAgIGNvbnN0IHsgUGF5bWVudFJlcXVlc3Qg
fSA9IGlmcmFtZS5jb250ZW50V2luZG93OwotICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0
IG5ldyBQYXltZW50UmVxdWVzdCgKLSAgICAgICAgICB2YWxpZE1ldGhvZHMsCi0gICAgICAgICAg
dmFsaWREZXRhaWxzCi0gICAgICAgICkuc2hvdygpOwotICAgICAgICByZXNvbHZlKHJlc3BvbnNl
KTsKLSAgICAgIH0sCi0gICAgICB7IG9uY2U6IHRydWUgfQotICAgICk7Ci0gICAgaWZyYW1lLnNy
YyA9IHVybDsKLSAgfSk7Ci19Ci0KLWZ1bmN0aW9uIG1ldGhvZE5vdEZ1bGx5QWN0aXZlKGJ1dHRv
biwgbWV0aG9kLCAuLi5hcmdzKSB7Ci0gIGNvbnN0IHRleHQgPSBidXR0b24udGV4dENvbnRlbnQu
dHJpbSgpOwotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgaWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLmFsbG93UGF5bWVu
dFJlcXVlc3QgPSB0cnVlOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsK
LQotICAgIC8vIFdlIGZpcnN0IGdvdCB0byBwYWdlMS5odG1sLCBncmFiIGEgUGF5bWVudFJlc3Bv
bnNlIGluc3RhbmNlLgotICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0TG9hZGVkUGF5bWVu
dFJlc3BvbnNlKAotICAgICAgaWZyYW1lLAotICAgICAgIi9wYXltZW50LXJlcXVlc3QvcmVzb3Vy
Y2VzL3BhZ2UxLmh0bWwiCi0gICAgKTsKLSAgICAvLyBXZSBuYXZpZ2F0ZSB0aGUgaWZyYW1lIGFn
YWluLCBwdXR0aW5nIHJlc3BvbnNlJ3MgZG9jdW1lbnQgaW50byBhbiBpbmFjdGl2ZSBzdGF0ZS4K
LSAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIGlmcmFtZS5hZGRFdmVu
dExpc3RlbmVyKCJsb2FkIiwgcmVzb2x2ZSk7Ci0gICAgICBpZnJhbWUuc3JjID0gIi9wYXltZW50
LXJlcXVlc3QvcmVzb3VyY2VzL3BhZ2UyLmh0bWwiOwotICAgIH0pOwotICAgIC8vIE5vdywgcmVz
cG9uc2UncyByZWxldmFudCBnbG9iYWwgb2JqZWN0J3MgZG9jdW1lbnQgaXMgbm8gbG9uZ2VyIGFj
dGl2ZS4KLSAgICAvLyBTbywgcHJvbWlzZSBuZWVkcyB0byByZWplY3QgYXBwcm9wcmlhdGVseS4K
LSAgICBjb25zdCBwcm9taXNlID0gcmVzcG9uc2VbbWV0aG9kTmFtZV0oLi4uYXJncyk7Ci0gICAg
YXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiQWJvcnRFcnJvciIs
Ci0gICAgICBwcm9taXNlLAotICAgICAgIkluYWN0aXZlIGRvY3VtZW50LCBzbyBtdXN0IHRocm93
IEFib3J0RXJyb3IiCi0gICAgKTsKLSAgICAvLyBXZSBhcmUgZG9uZSwgc28gY2xlYW4gdXAuCi0g
ICAgaWZyYW1lLnJlbW92ZSgpOwotICB9LCB0ZXh0KTsKLX0KLQotZnVuY3Rpb24gbWV0aG9kQmVj
b21lc05vdEZ1bGx5QWN0aXZlKGJ1dHRvbiwgbWV0aG9kTmFtZSwgLi4uYXJncykgewotICBjb25z
dCB0ZXh0ID0gYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4gewotICAgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFt
ZSIpOwotICAgIGlmcmFtZS5hbGxvd1BheW1lbnRSZXF1ZXN0ID0gdHJ1ZTsKLSAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci0KLSAgICAvLyBXZSBmaXJzdCBnb3QgdG8gcGFn
ZTEuaHRtbCwgZ3JhYiBhIFBheW1lbnRSZXNwb25zZSBpbnN0YW5jZS4KLSAgICBjb25zdCByZXNw
b25zZSA9IGF3YWl0IGdldExvYWRlZFBheW1lbnRSZXNwb25zZSgKLSAgICAgIGlmcmFtZSwKLSAg
ICAgICIvcGF5bWVudC1yZXF1ZXN0L3Jlc291cmNlcy9wYWdlMS5odG1sIgotICAgICk7Ci0KLSAg
ICAvLyB3ZSBnZXQgdGhlIHByb21pc2UgZnJvbSBwYWdlMS5odG1sLCB3aGlsZSBpdCdzIGFjdGl2
ZSEKLSAgICBjb25zdCBwcm9taXNlID0gcmVzcG9uc2VbbWV0aG9kTmFtZV0oLi4uYXJncyk7Ci0K
LSAgICAvLyBXZSBuYXZpZ2F0ZSB0aGUgaWZyYW1lIGFnYWluLCBwdXR0aW5nIHJlc3BvbnNlJ3Mg
ZG9jdW1lbnQgaW50byBhbiBpbmFjdGl2ZSBzdGF0ZS4KLSAgICBhd2FpdCBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKLSAgICAgIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcmVzb2x2
ZSk7Ci0gICAgICBpZnJhbWUuc3JjID0gIi9wYXltZW50LXJlcXVlc3QvcmVzb3VyY2VzL3BhZ2Uy
Lmh0bWwiOwotICAgIH0pOwotCi0gICAgLy8gTm93LCByZXNwb25zZSdzIHJlbGV2YW50IGdsb2Jh
bCBvYmplY3QncyBkb2N1bWVudCBpcyBubyBsb25nZXIgYWN0aXZlLgotICAgIC8vIFNvLCBwcm9t
aXNlIG5lZWRzIHRvIHJlamVjdCBhcHByb3ByaWF0ZWx5LgotICAgIGF3YWl0IHByb21pc2VfcmVq
ZWN0c19kb20oCi0gICAgICB0LAotICAgICAgIkFib3J0RXJyb3IiLAotICAgICAgcHJvbWlzZSwK
LSAgICAgICJJbmFjdGl2ZSBkb2N1bWVudCwgc28gbXVzdCB0aHJvdyBBYm9ydEVycm9yIgotICAg
ICk7Ci0gICAgLy8gV2UgYXJlIGRvbmUsIHNvIGNsZWFuIHVwLgotICAgIGlmcmFtZS5yZW1vdmUo
KTsKLSAgfSwgdGV4dCk7Ci19Ci08L3NjcmlwdD4KLTxzZWN0aW9uPgotICA8cD4KLSAgICBGb3Ig
ZWFjaCB0ZXN0LCB3aGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCBzZWxlY3QgYSBwYXlt
ZW50IG1ldGhvZCBhbmQgaGl0ICJQYXkiLgotICA8L3A+Ci0gIDxoMj5yZXRyeSgpIGFuZCBkb2N1
bWVudCBhY3RpdmUgc3RhdGU8L2gyPgotICA8cD5NYW51YWwgVGVzdHMgZm9yIFBheW1lbnRSZXNw
b25zZS5yZXRyeSgpIC0gUGxlYXNlIHJ1biBpbiBvcmRlciE8L3A+Ci0gIDxvbD4KLSAgICA8bGk+
Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9Im1ldGhvZE5vdEZ1bGx5QWN0aXZlKHRoaXMsICdyZXRy
eScsIHt9KTsiPgotICAgICAgICByZXRyeSgpJ3MgcmV0cnlQcm9taXNlIHJlamVjdHMgaWYgZG9j
dW1lbnQgaXMgbm90IGZ1bGx5IGFjdGl2ZS4KLSAgICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0g
ICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJtZXRob2RCZWNvbWVzTm90RnVsbHlBY3Rp
dmUodGhpcywgJ3JldHJ5Jywge30pOyI+Ci0gICAgICAgIHJldHJ5KCkncyByZXRyeVByb21pc2Ug
cmVqZWN0cyBpZiB0aGUgZG9jdW1lbnQgYmVjb21lcyBub3QgZnVsbHkgYWN0aXZlLgotICAgICAg
PC9idXR0b24+Ci0gICAgPC9saT4KLSAgPC9vbD4KLSAgPGgyPmNvbXBsZXRlKCkgYW5kIGRvY3Vt
ZW50IGFjdGl2ZSBzdGF0ZTwvaDI+Ci0gIDxwPk1hbnVhbCBUZXN0cyBmb3IgUGF5bWVudFJlc3Bv
bnNlLmNvbXBsZXRlKCkgLSBQbGVhc2UgcnVuIGluIG9yZGVyITwvcD4KLSAgPG9sPgotICAgIDxs
aT4KLSAgICAgIDxidXR0b24gb25jbGljaz0ibWV0aG9kTm90RnVsbHlBY3RpdmUodGhpcywgJ2Nv
bXBsZXRlJywgJ3N1Y2Nlc3MnKTsiPgotICAgICAgICBjb21wbGV0ZSgpJ3MgY29tcGxldGVQcm9t
aXNlIHJlamVjdHMgaWYgZG9jdW1lbnQgaXMgbm90IGZ1bGx5IGFjdGl2ZS4KLSAgICAgIDwvYnV0
dG9uPgotICAgIDwvbGk+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJtZXRob2RC
ZWNvbWVzTm90RnVsbHlBY3RpdmUodGhpcywgJ2NvbXBsZXRlJywgJ3N1Y2Nlc3MnKTsiPgotICAg
ICAgICBjb21wbGV0ZSgpJ3MgY29tcGxldGVQcm9taXNlIHJlamVjdHMgaWYgdGhlIGRvY3VtZW50
IGJlY29tZXMgbm90IGZ1bGx5IGFjdGl2ZS4KLSAgICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0g
ICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCk7Ij5Eb25lPC9idXR0b24+Ci0g
ICAgPC9saT4KLSAgPC9vbD4KLTwvc2VjdGlvbj4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBi
dWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUg
PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9t
YXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4K
LTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JlcXVlc3RJZC1hdHRy
aWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JlcXVlc3RJZC1h
dHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGRkYjFlMGQ4MzFkYWM2NWNkMmY1ZGM2NGM3MjE4YTQ1YjJlMTU0YTguLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXF1
ZXN0SWQtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzQg
KzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jZG9t
LXBheW1lbnRyZXNwb25zZS1yZXF1ZXN0aWQiPgotPHRpdGxlPgotICBQYXltZW50UmVzcG9uc2Uu
cHJvdG90eXBlLnJlcXVlc3RJZCBhdHRyaWJ1dGUKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaGVscGVycy5q
cyI+PC9zY3JpcHQ+Ci08aDI+cmVxdWVzdElkIGF0dHJpYnV0ZTwvaDI+Ci08cD4KLSAgQ2xpY2sg
b24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVm
cmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVu
dCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRoIHRo
ZSBwYXltZW50IHNoZWV0LCB1c2UgYW55IGNyZWRpdCBjYXJkIHNlbGVjdCB0byAiUGF5Ii4KLSAg
QWxzbyBjb25maXJtIGFueSBwcm9tcHRzIHRoYXQgY29tZSB1cC4KLTwvcD4KLTxvbD4KLSAgPGxp
PgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7fSwge30pIj4KLSAg
ICAgIE11c3QgbWlycm9yIHRoZSBwYXltZW50IHJlcXVlc3QncyBhdXRvbWF0aWNhbGx5IHNldCBp
ZAotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJy
dW5NYW51YWxUZXN0KHRoaXMsIHt9LCB7cmVxdWVzdElkOiAncGFzcyd9LCAncGFzcycpLnRoZW4o
ZG9uZSkiPgotICAgICAgTXVzdCBtaXJyb3IgdGhlIHBheW1lbnQgcmVxdWVzdCdzIGV4cGxpY2l0
bHkgc2V0IGlkCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5
b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcg
b25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZp
ZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcmV0
cnktbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXRyeS1t
ZXRob2QtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1
YWFiNDllMzg3ZDMyNmM2OGJjY2EzMmQyYWQ1ZmU1OTM4NWY1MTcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXRyeS1t
ZXRob2QtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOTYgKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jZG9tLXBheW1lbnRy
ZXNwb25zZS1yZXRyeSI+Ci08dGl0bGU+Ci0gIFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUucmV0
cnkoKSBtZXRob2QKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0PgotdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90cnVlKAotICAgICJyZXRyeSIgaW4gUGF5bWVu
dFJlc3BvbnNlLnByb3RvdHlwZSwKLSAgICAicmV0cnkgbXVzdCBiZSBpbiBwcm90b3R5cGUiCi0g
ICk7Ci0gIGFzc2VydF90cnVlKAotICAgIFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUucmV0cnkg
aW5zdGFuY2VvZiBGdW5jdGlvbiwKLSAgICAicmV0cnkgbXVzdCBiZSBhIGZ1bmN0aW9uIgotICAp
OwotfSwgIlBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUgbXVzdCBoYXZlIGEgcmV0cnkoKSBmdW5j
dGlvbiAoc21va2UgdGVzdCkuIik7Ci0KLWZ1bmN0aW9uIGNoZWNrQ29tcGxldGVkQ2FudFJldHJ5
KGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7Ci0gICAgY29uc3QgeyByZXNwb25zZSB9ID0gYXdhaXQgZ2V0UGF5bWVudFJlcXVl
c3RSZXNwb25zZSgpOwotICAgIC8vIHNldHMgcmVzcG9uc2UuW1tjb21wbGV0ZV1dIHRvIHRydWUu
Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAot
ICAgICAgcmVzcG9uc2UucmV0cnkoKSwKLSAgICAgICJyZXNwb25zZS5bW2NvbXBsZXRlXV0gaXMg
dHJ1ZSwgc28gcmVqZWN0cyB3aXRoIEludmFsaWRTdGF0ZUVycm9yLiIKLSAgICApOwotICB9LCBi
dXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLQotZnVuY3Rpb24gcmVwZWF0ZWRDYWxsc1Rv
UmV0cnkoYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSBhd2FpdCBnZXRQYXltZW50
UmVxdWVzdFJlc3BvbnNlKCk7Ci0gICAgY29uc3QgcmV0cnlQcm9taXNlID0gcmVzcG9uc2UucmV0
cnkoKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJJ
bnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICByZXNwb25zZS5yZXRyeSgpLAotICAgICAgIkNhbGxp
bmcgcmV0cnkoKSBhZ2FpbiByZWplY3RzIHdpdGggYW4gSW52YWxpZFN0YXRlRXJyb3IiCi0gICAg
KTsKLSAgICBhd2FpdCByZXRyeVByb21pc2U7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUo
InN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLWZ1bmN0
aW9uIGNhbGxDb21wbGV0ZVdoaWxlUmV0cnlpbmcoYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxl
ZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB7IHJlc3Bv
bnNlIH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKCk7Ci0gICAgY29uc3QgcmV0
cnlQcm9taXNlID0gcmVzcG9uc2UucmV0cnkoKTsKLSAgICBjb25zdCBjb21wbGV0ZVByb21pc2Ux
ID0gcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgICBjb25zdCBjb21wbGV0ZVByb21p
c2UyID0gcmVzcG9uc2UuY29tcGxldGUoImZhaWwiKTsKLSAgICBhc3NlcnRfbm90X2VxdWFscygK
LSAgICAgIGNvbXBsZXRlUHJvbWlzZTEsCi0gICAgICBjb21wbGV0ZVByb21pc2UyLAotICAgICAg
ImNvbXBsZXRlKCkgbXVzdCByZXR1cm4gdW5pcXVlIHByb21pc2VzIgotICAgICk7Ci0gICAgYXdh
aXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJy
b3IiLAotICAgICAgY29tcGxldGVQcm9taXNlMSwKLSAgICAgICJDYWxsaW5nIGNvbXBsZXRlKCkg
d2hpbGUgcmV0cnlpbmcgcmVqZWN0cyB3aXRoIGFuIEludmFsaWRTdGF0ZUVycm9yIgotICAgICk7
Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxp
ZFN0YXRlRXJyb3IiLAotICAgICAgY29tcGxldGVQcm9taXNlMiwKLSAgICAgICJDYWxsaW5nIGNv
bXBsZXRlKCkgd2hpbGUgcmV0cnlpbmcgcmVqZWN0cyB3aXRoIGFuIEludmFsaWRTdGF0ZUVycm9y
IgotICAgICk7Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHMoCi0gICAgICBjb21wbGV0ZVByb21pc2Ux
LAotICAgICAgY29tcGxldGVQcm9taXNlMiwKLSAgICAgICJjb21wbGV0ZSgpIG11c3QgcmV0dXJu
IHVuaXF1ZSBwcm9taXNlcyIKLSAgICApOwotICAgIGF3YWl0IHJldHJ5UHJvbWlzZTsKLSAgICBh
d2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOwotICB9LCBidXR0b24udGV4dENvbnRl
bnQudHJpbSgpKTsKLX0KLQotZnVuY3Rpb24gY2FsbGluZ1JlcXVlc3RBYm9ydE11c3ROb3RBYm9y
dChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4gewotICAgIGNvbnN0IHsgcmVzcG9uc2UsIHJlcXVlc3QgfSA9IGF3YWl0IGdldFBh
eW1lbnRSZXF1ZXN0UmVzcG9uc2UoKTsKLSAgICBjb25zdCByZXRyeVByb21pc2UgPSByZXNwb25z
ZS5yZXRyeSgpOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAg
ICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIHJlcXVlc3QuYWJvcnQoKSwKLSAgICAgICJD
YWxsaW5nIHJlcXVlc3QuYWJvcnQoKSB3aGlsZSByZXRyeWluZyByZWplY3RzIHdpdGggYW4gSW52
YWxpZFN0YXRlRXJyb3IiCi0gICAgKTsKLSAgICBhd2FpdCByZXRyeVByb21pc2U7Ci0gICAgYXdh
aXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50
LnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIGNhblJldHJ5TXVsdGlwbGVUaW1lcyhidXR0b24pIHsK
LSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewot
ICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2Uo
KTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgYXdhaXQgcmVzcG9uc2UucmV0cnkoKSwKLSAg
ICAgIHVuZGVmaW5lZCwKLSAgICAgICJFeHBlY3RlZCB1bmRlZmluZWQgYXMgdGhlIHJlc29sdmUg
dmFsdWUiCi0gICAgKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgYXdhaXQgcmVzcG9uc2Uu
cmV0cnkoKSwKLSAgICAgIHVuZGVmaW5lZCwKLSAgICAgICJFeHBlY3RlZCB1bmRlZmluZWQgYXMg
dGhlIHJlc29sdmUgdmFsdWUiCi0gICAgKTsKLSAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgi
c3VjY2VzcyIpOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAg
ICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIHJlc3BvbnNlLnJldHJ5KCksCi0gICAgICAi
Q2FsbGluZyByZXRyeSgpIGFmdGVyIGNvbXBsZXRlKCkgcmVqZWN0cyB3aXRoIGEgSW52YWxpZFN0
YXRlRXJyb3IiCi0gICAgKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0K
LWZ1bmN0aW9uIHVzZXJDYW5BYm9ydEFSZXRyeShidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVk
ID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHsgcmVzcG9u
c2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2UoKTsKLSAgICBhd2FpdCBwcm9t
aXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJBYm9ydEVycm9yIiwKLSAgICAgIHJl
c3BvbnNlLnJldHJ5KCksCi0gICAgICAiVGhlIHVzZXIgYWJvcnRpbmcgYSByZXRyeSByZWplY3Rz
IHdpdGggYSBBYm9ydEVycm9yIgotICAgICk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2Rv
bSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAgICAgcmVzcG9uc2Uu
cmV0cnkoKSwKLSAgICAgICJBZnRlciB0aGUgdXNlciBhYm9ydHMsIHJlc3BvbnNlIFtbY29tcGxl
dGVdXSBpcyB0cnVlIHNvIHJldHJ5KCkgbXVzdCByZWplY3Qgd2l0aCBJbnZhbGlkU3RhdGVFcnJv
ciIKLSAgICApOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAg
ICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNz
IiksCi0gICAgICAiQWZ0ZXIgdGhlIHVzZXIgYWJvcnRzLCByZXNwb25zZSBbW2NvbXBsZXRlXV0g
aXMgdHJ1ZSwgc28gY29tcGxldGUoKSByZWplY3RzIHdpdGggYSBJbnZhbGlkU3RhdGVFcnJvciIK
LSAgICApOwotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLQotZnVuY3Rpb24g
dXNlcklzU2hvd25FcnJvcnNGaWVsZHMoYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRy
dWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB7IHJlc3BvbnNlLCBy
ZXF1ZXN0IH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKHsgcmVxdWVzdFNoaXBw
aW5nOiB0cnVlIH0pOwotICAgIGNvbnN0IHJldHJ5UHJvbWlzZSA9IHJlc3BvbnNlLnJldHJ5KHsK
LSAgICAgIHNoaXBwaW5nQWRkcmVzczogeyBjaXR5OiAiSW52YWxpZCBjaXR5IiwgYWRkcmVzc0xp
bmU6ICJJbnZhbGlkIGFkZHJlc3MgbGluZSIgfSwKLSAgICB9KTsKLSAgICBhd2FpdCByZXRyeVBy
b21pc2U7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwgYnV0
dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIGFib3J0VGhlVXBkYXRlKGJ1
dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7Ci0gICAgY29uc3QgeyByZXNwb25zZSwgcmVxdWVzdCB9ID0gYXdhaXQgZ2V0UGF5bWVu
dFJlcXVlc3RSZXNwb25zZSh7Ci0gICAgICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi0gICAgfSk7
Ci0gICAgY29uc3Qgc2hpcE9wdGlvbkNoYW5nZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKLSAgICAgIHJlcXVlc3Qub25zaGlwcGluZ29wdGlvbmNoYW5nZSA9IGV2ZW50ID0+IHsK
LSAgICAgICAgLy8gY2F1c2VzICJhYm9ydCB0aGUgdXBkYXRlIiB0byBydW4KLSAgICAgICAgZXZl
bnQudXBkYXRlV2l0aCh7IHRvdGFsOiAiZXJyb3IhIiB9KTsKLSAgICAgICAgcmVzb2x2ZSgpOwot
ICAgICAgfTsKLSAgICB9KTsKLSAgICBjb25zdCByZXRyeVByb21pc2UgPSByZXNwb25zZS5yZXRy
eSgpOwotICAgIGF3YWl0IHNoaXBPcHRpb25DaGFuZ2VQcm9taXNlOwotICAgIGF3YWl0IHByb21p
c2VfcmVqZWN0c19qcygKLSAgICAgIHQsCi0gICAgICBUeXBlRXJyb3IsCi0gICAgICByZXRyeVBy
b21pc2UsCi0gICAgICAicmV0cnkoKSBhYm9ydHMgd2l0aCBhIFR5cGVFcnJvciwgYmVjYXVzZSB0
b3RhbHMnIHZhbHVlIGlzIGludmFsaWQiCi0gICAgKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVj
dHNfZG9tKAotICAgICAgdCwKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICByZXNw
b25zZS5jb21wbGV0ZSgic3VjY2VzcyIpLAotICAgICAgIkFmdGVyIHRoZSB1c2VyIGFib3J0cywg
cmVzcG9uc2UgW1tjb21wbGV0ZV1dIGlzIHRydWUsIHNvIGNvbXBsZXRlKCkgcmVqZWN0cyB3aXRo
IGEgSW52YWxpZFN0YXRlRXJyb3IiCi0gICAgKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRy
aW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIGNhbGxpbmdSZXRyeVJldHVybnNVbmlxdWVQcm9taXNlKGJ1
dHRvbil7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKLSAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJl
c3BvbnNlKCk7Ci0gICAgY29uc3QgcmV0cnlQcm9taXNlID0gcmVzcG9uc2UucmV0cnkoKTsKLSAg
ICBjb25zdCBwcm9taXNlcyA9IG5ldyBTZXQoWwotICAgICAgcmV0cnlQcm9taXNlLAotICAgICAg
cmVzcG9uc2UucmV0cnkoKSwKLSAgICAgIHJlc3BvbnNlLnJldHJ5KCksCi0gICAgXSk7Ci0gICAg
YXNzZXJ0X2VxdWFscyhwcm9taXNlcy5zaXplLCAzLCAiTXVzdCBoYXZlIHRocmVlIHVuaXF1ZSBv
YmplY3RzIik7Ci0gICAgYXdhaXQgcmV0cnlQcm9taXNlOwotICAgIGF3YWl0IHJlc3BvbnNlLmNv
bXBsZXRlKCk7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfTsKLQotCi08L3Nj
cmlwdD4KLTxoMj4KLSAgICBNYW51YWwgVGVzdHMgZm9yIFBheW1lbnRSZXNwb25zZS5yZXRyeSgp
IC0gUGxlYXNlIHJ1biBpbiBvcmRlciEKLTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0
b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUg
cGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJ
IHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50IHNo
ZWV0LCB1c2UgYW55IGNyZWRpdCBjYXJkIHNlbGVjdCB0byAiUGF5IiBtdWx0aXBsZSB0aW1lcy4K
LTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iY2hlY2tDb21wbGV0ZWRD
YW50UmV0cnkodGhpcyk7Ij4KLSAgICAgIEEgY29tcGxldGVkIHBheW1lbnQgcmVxdWVzdCBjYW5u
b3QgYmUgcmV0cmllZC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0
b24gb25jbGljaz0icmVwZWF0ZWRDYWxsc1RvUmV0cnkodGhpcyk7Ij4KLSAgICAgIENhbGxpbmcg
cmV0cnkoKSBtb3JlIHRoYW4gb25jZSB5aWVsZCBhIHJlamVjdGVkIHByb21pc2UsIGJ1dCB0aGUK
LSAgICAgIHJldHJ5UHJvbWlzZSByZXNvbHZlcyBpbmRlcGVuZGVudGx5LgotICAgIDwvYnV0dG9u
PgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJjYWxsQ29tcGxldGVXaGls
ZVJldHJ5aW5nKHRoaXMpOyI+Ci0gICAgICBDYWxsaW5nIGNvbXBsZXRlKCkgd2hpbGUgYSByZXRy
eSgpIGlzIGluIHByb2dyZXNzIHJlc3VsdHMgaW4gYW4gSW52YWxpZFN0YXRlRXJyb3IuCi0gICAg
PC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImNhbGxpbmdS
ZXF1ZXN0QWJvcnRNdXN0Tm90QWJvcnQodGhpcyk7Ij4KLSAgICAgIFRyeWluZyB0byBhYm9ydCgp
IHZpYSBQYXltZW50UmVxdWVzdCBpcyBub3QgcG9zc2libGUuCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImNhblJldHJ5TXVsdGlwbGVUaW1lcyh0
aGlzKTsiPgotICAgICAgSXQncyBwb3NzaWJsZSB0byByZXRyeSgpIG11bHRpcGxlIHRpbWVzIGFu
ZCBldmVudHVhbGx5IGNvbXBsZXRlKCkuCi0gICAgICBBZnRlciBjb21wbGV0ZSgpLCBob3dldmVy
LCByZXRyeSgpIHJlamVjdHMgd2l0aCBhbiBJbnZhbGlkU3RhdGVFcnJvci4KLSAgICA8L2J1dHRv
bj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxwPgotICAgICAgV2hlbiBzaG93biB0aGUgcGF5bWVu
dCBzaGVldCwgaGl0IHBheSBvbmNlLCB0aGVuIGFib3J0IHJldHJ5aW5nIHRoZSBwYXltZW50Lgot
ICAgIDwvcD4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InVzZXJDYW5BYm9ydEFSZXRyeSh0aGlzKTsi
PgotICAgICAgVGhlIHVzZXIgYWJvcnRpbmcgcmV0cnlpbmcgYSBwYXltZW50IGNhdXNlcyB0aGUg
cmV0cnlQcm9taXNlIHRvIHJlamVjdCB3aXRoIEFib3J0RXJyb3IuCi0gICAgICBBYm9ydGluZyBh
IHBheW1lbnQgaXMgY2F1c2VzIGl0IGNvbXBsZXRlLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPHA+Ci0gICAgICBXaGVuIHNob3duIHRoZSBwYXltZW50IHNoZWV0LCBoaXQg
cGF5IG9uY2UuIENoZWNrIHBheW1lbnQgc2hlZXQgZm9yIGVycm9yIGZpZWxkcy4KLSAgICAgIFRo
ZW4gaGl0IGVzY2FwZSBvciBvdGhlcndpc2UgYWJvcnQgdGhlIHBheW1lbnQuCi0gICAgPC9wPgot
ICAgIDxidXR0b24gb25jbGljaz0idXNlcklzU2hvd25FcnJvcnNGaWVsZHModGhpcyk7Ij4KLSAg
ICAgIFdoZW4gcmV0cnlpbmcsIHRoZSB1c2VyIGlzIHNob3duIGVycm9yIGZpZWxkcyB0byBmaXgu
Ci0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8cD4KLSAgICAgIFdoZW4gc2hv
d24gdGhlIHBheW1lbnQgc2hlZXQsIGhpdCBwYXkgb25jZS4KLSAgICAgIFRoZW4sIGNoYW5nZSB0
aGUgc2hpcHBpbmcgb3B0aW9uLgotICAgICAgU2VsZWN0IHRvIHBheSBhZ2Fpbi4KLSAgICA8L3A+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJhYm9ydFRoZVVwZGF0ZSh0aGlzKTsiPgotICAgICAgV2hl
biAiYWJvcnQgdGhlIHVwZGF0ZSIgb2NjdXJzIGJlY2F1c2Ugb2YgYW4gdXBkYXRlIGVycm9yLAot
ICAgICAgdGhlIGByZXRyeVByb21pc2VgIGlzIHJlamVjdGVkIGFuZCByZXNwb25zZS5bW2NvbXBs
ZXRlXV0gYmVjb21lcyB0cnVlLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAg
PHA+Ci0gICAgICBXaGVuIHNob3duIHRoZSBwYXltZW50IHNoZWV0LCBoaXQgcGF5IG9uY2UuIFRo
ZW4gcmV0cnkgb25jZS4KLSAgICA8L3A+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJjYWxsaW5nUmV0
cnlSZXR1cm5zVW5pcXVlUHJvbWlzZSh0aGlzKTsiPgotICAgICAgQ2FsbGluZyByZXRyeSgpIG11
bHRpcGxlIHRpbWVzIGlzIGFsd2F5cyBhIG5ldyBvYmplY3QuCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImRvbmUoKTsiPgotICAgICAgRG9uZSEK
LSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEg
YnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZv
cm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhl
IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2Iv
bWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+b3duZXJzPC9hPi4KLTwvc21hbGw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC13YXJuaW5ncy1tYW51
YWwuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXRyeS1tZXRob2Qt
d2FybmluZ3MtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggY2UyYjJkN2RjMDIyODZmNWRiOWVhNmNhMWEzNTcxZWVlNjZkZjk5My4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3Bv
bnNlL3JldHJ5LW1ldGhvZC13YXJuaW5ncy1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotTWFudWFsIFRlc3RzIC0gUGxlYXNlIHJ1biBpbiBv
cmRlciEKLQotUGxlYXNlIG9wZW4gdGhlIGRldmVsb3BlciBjb25zb2xlLiBFYWNoIG9mIHRoZSB0
ZXN0cyBiZWxvdyBzaG91bGQgZ2VuZXJhdGUgYSB3YXJuaW5nIGluIHRoZSBkZXZlbG9wZXIgY29u
c29sZS4KLQotV2hlbiBwcmVzZW50ZWQgd2l0aCB0aGUgcGF5bWVudCBzaGVldCwgaGl0IHBheSB0
d2ljZS4KLQotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0UGF5ZXJOYW1lYCBpZiBmYWxzZSwgYW5k
IGBlcnJvckZpZWxkcy5wYXllci5uYW1lYCBpcyBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGBy
ZXF1ZXN0UGF5ZXJFbWFpbGAgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMucGF5ZXIuZW1haWxg
IGlzIHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RQYXllclBob25lYCBpZiBmYWxz
ZSwgYW5kIGBlcnJvckZpZWxkcy5wYXllci5waG9uZWAgaXMgcHJlc2VudC4KLVNob3cgd2Fybmlu
ZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kIGBlcnJvckZpZWxkcy5zaGlwcGlu
Z0FkZHJlc3NgIG1lbWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBp
bmdgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5hZGRyZXNzTGlu
ZWAgbWVtYmVyIHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2AgaWYg
ZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLmNpdHlgIG1lbWJlciBwcmVz
ZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQgYGVy
cm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5jb3VudHJ5YCBtZW1iZXIgcHJlc2VudC4KLVNob3cg
d2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kIGBlcnJvckZpZWxkcy5z
aGlwcGluZ0FkZHJlc3MuZGVwZW5kZW50TG9jYWxpdHlgIG1lbWJlciBwcmVzZW50LgotU2hvdyB3
YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnNo
aXBwaW5nQWRkcmVzcy5vcmdhbml6YXRpb25gIG1lbWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5n
IGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5n
QWRkcmVzcy5waG9uZWAgbWVtYmVyIHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RT
aGlwcGluZ2AgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLnBvc3Rh
bENvZGVgIG1lbWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdg
IGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5yZWNpcGllbnRgIG1l
bWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNl
LCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5yZWdpb25gIG1lbWJlciBwcmVzZW50
LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQgYGVycm9y
RmllbGRzLnNoaXBwaW5nQWRkcmVzcy5yZWdpb25Db2RlYCBtZW1iZXIgcHJlc2VudC4KLVNob3cg
d2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kIGBlcnJvckZpZWxkcy5z
aGlwcGluZ0FkZHJlc3Muc29ydGluZ0NvZGVgIG1lbWJlciBwcmVzZW50LgotRG9uZSEKLQotSGFy
bmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVBBU1MgQ2FuIGNvbnN0cnVj
dCBhIHBheW1lbnQgcmVxdWVzdCAoc21va2UgdGVzdCkuCi1QQVNTIFBheW1lbnRSZXNwb25zZS5w
cm90b3R5cGUgbXVzdCBoYXZlIGEgcmV0cnkoKSBmdW5jdGlvbiAoc21va2UgdGVzdCkuCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcmV0cnktbWV0aG9kLXdhcm5pbmdzLW1hbnVh
bC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXRyeS1tZXRob2Qtd2FybmluZ3Mt
bWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2OGJmMTgz
MDk3MDJjNDgxYzc2YWRlZjBjZGRlZTI0Y2JkMWI1NDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXRyeS1tZXRob2Qt
d2FybmluZ3MtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNTggKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+IDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgotPHRpdGxlPldhcm4g
d2hlbiBlcnJvckZpZWxkcyBkb24ndCBtYXRjaCByZXF1ZXN0W1tvcHRpb25zXV08L3RpdGxlPgot
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdzNjL3BheW1lbnQtcmVx
dWVzdC9wdWxsLzgwNyIgLz4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0gIHRlc3QoKCkgPT4gewotICAgIGFzc2VydF90cnVlKAotICAgICAgInJldHJ5IiBpbiBQYXlt
ZW50UmVzcG9uc2UucHJvdG90eXBlLAotICAgICAgInJldHJ5IG11c3QgYmUgaW4gcHJvdG90eXBl
IgotICAgICk7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBQYXltZW50UmVzcG9uc2UucHJvdG90
eXBlLnJldHJ5IGluc3RhbmNlb2YgRnVuY3Rpb24sCi0gICAgICAicmV0cnkgbXVzdCBiZSBhIGZ1
bmN0aW9uIgotICAgICk7Ci0gIH0sICJQYXltZW50UmVzcG9uc2UucHJvdG90eXBlIG11c3QgaGF2
ZSBhIHJldHJ5KCkgZnVuY3Rpb24gKHNtb2tlIHRlc3QpLiIpOwotCi0gIGNvbnN0IGRlZmF1bHRP
cHRpb25zID0gewotICAgIHJlcXVlc3RQYXllck5hbWU6IGZhbHNlLAotICAgIHJlcXVlc3RQYXll
ckVtYWlsOiBmYWxzZSwKLSAgICByZXF1ZXN0UGF5ZXJQaG9uZTogZmFsc2UsCi0gICAgcmVxdWVz
dFNoaXBwaW5nOiBmYWxzZSwKLSAgfTsKLSAgZnVuY3Rpb24gdGVzdFNob3dXYXJuaW5nKGJ1dHRv
biwgZXJyb3JGaWVsZHMpIHsKLSAgICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICAgIHByb21p
c2VfdGVzdChhc3luYyAoKSA9PiB7Ci0gICAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSBhd2FpdCBn
ZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKGRlZmF1bHRPcHRpb25zKTsKLSAgICAgIGF3YWl0IHJl
c3BvbnNlLnJldHJ5KGVycm9yRmllbGRzKTsKLSAgICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRl
KCk7Ci0gICAgfSk7Ci0gIH0KLTwvc2NyaXB0PgotPGgyPk1hbnVhbCBUZXN0cyAtIFBsZWFzZSBy
dW4gaW4gb3JkZXIhPC9oMj4KLTxwPgotICBQbGVhc2Ugb3BlbiB0aGUgZGV2ZWxvcGVyIGNvbnNv
bGUuIEVhY2ggb2YgdGhlIHRlc3RzIGJlbG93IHNob3VsZCBnZW5lcmF0ZSBhCi0gIHdhcm5pbmcg
aW4gdGhlIGRldmVsb3BlciBjb25zb2xlLgotPC9wPgotPHA+V2hlbiBwcmVzZW50ZWQgd2l0aCB0
aGUgcGF5bWVudCBzaGVldCwgaGl0IHBheSB0d2ljZS48L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8
YnV0dG9uIG9uY2xpY2s9InRlc3RTaG93V2FybmluZyh0aGlzLCB7cGF5ZXI6IHtuYW1lOiAnRG9u
dCBzaG93IHRoaXMnfX0pOyI+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RQYXllck5h
bWVgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnBheWVyLm5hbWVgIGlzCi0gICAgICBwcmVz
ZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbgotICAgICAg
b25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtwYXllcjoge2VtYWlsOiAnRG9udCBzaG93
IHRoaXMnfX0pOyIKLSAgICA+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RQYXllckVt
YWlsYCBpZiBmYWxzZSwgYW5kIGBlcnJvckZpZWxkcy5wYXllci5lbWFpbGAKLSAgICAgIGlzIHBy
ZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uCi0gICAg
ICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3BheWVyOiB7cGhvbmU6ICdEb250IHNo
b3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2FybmluZyBpZiBgcmVxdWVzdFBheWVy
UGhvbmVgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnBheWVyLnBob25lYAotICAgICAgaXMg
cHJlc2VudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25j
bGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGluZ0FkZHJlc3M6IHt9fSk7Ij4KLSAg
ICAgIFNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0gICAg
ICBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzYCBtZW1iZXIgcHJlc2VudC4KLSAgICA8L2J1
dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24KLSAgICAgIG9uY2xpY2s9InRlc3RT
aG93V2FybmluZyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNzOiB7YWRkcmVzc0xpbmU6ICdEb250IHNo
b3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBw
aW5nYCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLmFk
ZHJlc3NMaW5lYCBtZW1iZXIgcHJlc2VudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxp
PgotICAgIDxidXR0b24KLSAgICAgIG9uY2xpY2s9InRlc3RTaG93V2FybmluZyh0aGlzLCB7c2hp
cHBpbmdBZGRyZXNzOiB7Y2l0eTogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0gICAgPgotICAgICAg
U2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQKLSAgICAgIGBl
cnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3MuY2l0eWAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0
U2hvd1dhcm5pbmcodGhpcywge3NoaXBwaW5nQWRkcmVzczoge2NvdW50cnk6ICdEb250IHNob3cg
dGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5n
YCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLmNvdW50
cnlgIG1lbWJlciBwcmVzZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAg
PGJ1dHRvbgotICAgICAgb25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGluZ0Fk
ZHJlc3M6IHtkZXBlbmRlbnRMb2NhbGl0eTogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0gICAgPgot
ICAgICAgU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQKLSAg
ICAgIGBlcnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3MuZGVwZW5kZW50TG9jYWxpdHlgIG1lbWJl
ciBwcmVzZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbgot
ICAgICAgb25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGluZ0FkZHJlc3M6IHtv
cmdhbml6YXRpb246ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2Fy
bmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JGaWVs
ZHMuc2hpcHBpbmdBZGRyZXNzLm9yZ2FuaXphdGlvbmAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0
U2hvd1dhcm5pbmcodGhpcywge3NoaXBwaW5nQWRkcmVzczoge3Bob25lOiAnRG9udCBzaG93IHRo
aXMnfX0pOyIKLSAgICA+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2Ag
aWYgZmFsc2UsIGFuZAotICAgICAgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5waG9uZWAg
bWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0
dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3NoaXBwaW5nQWRkcmVz
czoge3Bvc3RhbENvZGU6ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cg
d2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JG
aWVsZHMuc2hpcHBpbmdBZGRyZXNzLnBvc3RhbENvZGVgIG1lbWJlciBwcmVzZW50LgotICAgIDwv
YnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbgotICAgICAgb25jbGljaz0idGVz
dFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGluZ0FkZHJlc3M6IHtyZWNpcGllbnQ6ICdEb250IHNo
b3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBw
aW5nYCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLnJl
Y2lwaWVudGAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4K
LSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3NoaXBw
aW5nQWRkcmVzczoge3JlZ2lvbjogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0gICAgPgotICAgICAg
U2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQKLSAgICAgIGBl
cnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3MucmVnaW9uYCBtZW1iZXIgcHJlc2VudC4KLSAgICA8
L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24KLSAgICAgIG9uY2xpY2s9InRl
c3RTaG93V2FybmluZyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNzOiB7cmVnaW9uQ29kZTogJ0RvbnQg
c2hvdyB0aGlzJ319KTsiCi0gICAgPgotICAgICAgU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hp
cHBpbmdgIGlmIGZhbHNlLCBhbmQKLSAgICAgIGBlcnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3Mu
cmVnaW9uQ29kZWAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxs
aT4KLSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3No
aXBwaW5nQWRkcmVzczoge3NvcnRpbmdDb2RlOiAnRG9udCBzaG93IHRoaXMnfX0pOyIKLSAgICA+
Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2AgaWYgZmFsc2UsIGFuZAot
ICAgICAgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5zb3J0aW5nQ29kZWAgbWVtYmVyIHBy
ZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT48YnV0dG9uIG9uY2xpY2s9ImRv
bmUoKSI+RG9uZSE8L2J1dHRvbj48L2xpPgotPC9vbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVzcG9uc2Uvc2hpcHBpbmdBZGRyZXNzLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3BheW1lbnQtcmVzcG9uc2Uvc2hpcHBpbmdBZGRyZXNzLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTJiYWMyYmI1ZTVlMjcwY2VkZmI1
Yjg0YmM4Yzg5OThkZjQ2MjY1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3NoaXBwaW5nQWRkcmVzcy1hdHRyaWJ1dGUt
bWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotPCFkb2N0
eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jZG9tLXBheW1lbnRyZXNwb25z
ZS1zaGlwcGluZ2FkZHJlc3MiPgotPHRpdGxlPgotICBQYXltZW50UmVzcG9uc2UucHJvdG90eXBl
LnNoaXBwaW5nQWRkcmVzcwotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci1hc3luYyBmdW5jdGlvbiBjaGVja051bGxTaGlwcGluZ0FkZHJlc3MoYnV0dG9u
LCBvcHRpb25zKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIGNvbnN0IHsgcmVxdWVz
dCwgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2Uob3B0aW9ucyk7
Ci0gIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCk7Ci0gIHRlc3QoKCkgPT4gewotICAgIGFzc2Vy
dF9pZGxfYXR0cmlidXRlKHJlc3BvbnNlLCAic2hpcHBpbmdBZGRyZXNzIik7Ci0gICAgYXNzZXJ0
X2VxdWFscygKLSAgICAgIHJlc3BvbnNlLnNoaXBwaW5nQWRkcmVzcywKLSAgICAgIG51bGwsCi0g
ICAgICAiRXhwZWN0ZWQgcmVzcG9uc2Uuc2hpcHBpbmdBZGRyZXNzIHRvIGJlIG51bGwiCi0gICAg
KTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgcmVxdWVzdC5zaGlwcGluZ0FkZHJlc3MsCi0g
ICAgICBudWxsLAotICAgICAgIkV4cGVjdGVkIHJlcXVlc3Quc2hpcHBpbmdBZGRyZXNzIHRvIGJl
IG51bGwiCi0gICAgKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLWFz
eW5jIGZ1bmN0aW9uIHJ1bk1hbnVhbFRlc3QoYnV0dG9uLCBvcHRpb25zID0ge30sIGV4cGVjdGVk
ID0ge30sIGlkKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIGNvbnN0IHsgcmVxdWVz
dCwgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2Uob3B0aW9ucywg
aWQpOwotICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgpOwotICB0ZXN0KCgpID0+IHsKLSAgICBh
c3NlcnRfZXF1YWxzKHJlc3BvbnNlLnJlcXVlc3RJZCwgcmVxdWVzdC5pZCwgYEV4cGVjdGVkIGlk
cyB0byBtYXRjaGApOwotICAgIGFzc2VydF9pZGxfYXR0cmlidXRlKHJlc3BvbnNlLCAic2hpcHBp
bmdBZGRyZXNzIik7Ci0gICAgY29uc3QgeyBzaGlwcGluZ0FkZHJlc3M6IGFkZHIgfSA9IHJlcXVl
c3Q7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBhZGRyIGluc3RhbmNlb2YgUGF5bWVudEFkZHJl
c3MsCi0gICAgICAiRXhwZWN0IGluc3RhbmNlIG9mIFBheW1lbnRBZGRyZXNzIgotICAgICk7Ci0g
ICAgdHJ5IHsKLSAgICAgIGFkZHIudG9KU09OKCk7Ci0gICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAg
ICBhc3NlcnRfdW5yZWFjaGVkKAotICAgICAgICBgVW5leHBlY3RlZCBleGNlcHRpb24gY2FsbGlu
ZyBQYXltZW50QWRkcmVzcy50b0pTT04oKTogJHtlcnJ9YAotICAgICAgKTsKLSAgICB9Ci0gICAg
aWYgKGV4cGVjdGVkLnNoaXBwaW5nQWRkcmVzcyA9PT0gbnVsbCkgewotICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgICBhc3NlcnRfZXF1YWxzKGFkZHIuY291bnRyeSwgIkFGIiwgIkV4cGVjdGVkIEFG
IGZvciBjb3VudHJ5Iik7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBhZGRyLmFkZHJlc3NMaW5l
IGluc3RhbmNlb2YgQXJyYXksCi0gICAgICAiRXhwZWN0ZWQgYWRkcmVzc0xpbmUgdG8gYmUgYW4g
YXJyYXkiCi0gICAgKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgYWRkci5hZGRyZXNzTGlu
ZS50b1N0cmluZygpLAotICAgICAgIjEgd3B0IHN0cmVldCIsCi0gICAgICAiRXhwZWN0ZWQgJzEg
d3B0IHN0cmVldCcgZm9yIGFkZHJlc3NMaW5lIgotICAgICk7Ci0gICAgYXNzZXJ0X2VxdWFscyhh
ZGRyLmNpdHksICJLYWJ1bCIsICJFeHBlY3RlZCBjaXR5IHRvIGJlIEthYnVsIik7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhhZGRyLnBvc3RhbENvZGUsICIxMDAxIiwgIkV4cGVjdCBwb3N0YWxDb2RlIHRv
IGJlIDEwMDEiKTsKLSAgICBhc3NlcnRfZXF1YWxzKGFkZHIucmVjaXBpZW50LCAid2ViIHBsYXRm
b3JtIHRlc3QiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci08L3Njcmlw
dD4KLTxoMj5zaGlwcGluZ0FkZHJlc3MgYXR0cmlidXRlPC9oMj4KLTxwPgotICBDbGljayBvbiBl
YWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNo
aW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJl
cXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gcHJvbXB0ZWQsIHBsZWFzZSBlbnRl
ciAid2ViIHBsYXRmb3JtIHRlc3QiIGFzIHJlY2lwaWVudCwgYXQgYWRkcmVzcyAiMSB3cHQgc3Ry
ZWV0IiBpbiAiS2FidWwsIEFmZ2hhbmlzdGFuIiwgemlwL3Bvc3RhbCBjb2RlIDEwMDEuCi08L3A+
Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImNoZWNrTnVsbFNoaXBwaW5nQWRk
cmVzcyh0aGlzLCB1bmRlZmluZWQpIj4KLSAgICAgIElmIG9wdGlvbnMgaXMgdW5kZWZpbmVkLCB0
aGVuIHNoaXBwaW5nQWRkcmVzcyBtdXN0IGJlIG51bGwuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+
Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImNoZWNrTnVsbFNoaXBwaW5nQWRkcmVzcyh0
aGlzLCB7fSkiPgotICAgICAgSWYgdGhlIHJlcXVlc3RTaGlwcGluZyBtZW1iZXIgaXMgbWlzc2lu
ZywgdGhlbiBzaGlwcGluZ0FkZHJlc3MgbXVzdCBiZSBudWxsLgotICAgIDwvYnV0dG9uPgotICA8
L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJjaGVja051bGxTaGlwcGluZ0FkZHJl
c3ModGhpcywge3JlcXVlc3RTaGlwcGluZzogZmFsc2V9KSI+Ci0gICAgICBJZiB0aGUgcmVxdWVz
dFNoaXBwaW5nIG1lbWJlciBpcyBmYWxzZSwgdGhlbiBzaGlwcGluZ0FkZHJlc3MgbXVzdCBiZSBu
dWxsLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNr
PSJydW5NYW51YWxUZXN0KHRoaXMsIHtyZXF1ZXN0U2hpcHBpbmc6IHRydWV9KS50aGVuKGRvbmUp
Ij4KLSAgICAgIElmIHRoZSByZXF1ZXN0U2hpcHBpbmcgbWVtYmVyIGlzIHRydWUsIHRoZW4gc2hp
cHBpbmdBZGRyZXNzIG11c3QgYmUgIjEgd3B0IHN0cmVldCIgaW4gIkthYnVsLCBBZmdoYW5pc3Rh
biIsIHppcCBjb2RlIDEwMDEuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxs
PgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0g
IGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dl
c3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVz
cG9uc2Uvc2hpcHBpbmdPcHRpb24tYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5
bWVudC1yZXNwb25zZS9zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4N2QzYTUyZGU5ZjZiZmRiMTA0NTYxNDc1
ODYwMDhiMTg2ODNlYjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUtbWFudWFs
Lmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi08IWRvY3R5cGUgaHRt
bD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5bWVudHJlc3BvbnNlLXNoaXBw
aW5nb3B0aW9uIj4KLTx0aXRsZT4KLSAgUGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZS5jb21wbGV0
ZSgpIG1ldGhvZAotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxoMj5z
aGlwcGluZ09wdGlvbiBhdHRyaWJ1dGU8L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9u
IGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBh
Z2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3
aW5kb3cuCi08L3A+Ci08cD4KLSAgRm9yIHRoZSBsYXN0IHRlc3QsIHBsZWFzZSBzZWxlY3QgdGhl
IG9ubHkgYXZhaWxhYmxlIHNoaXBwaW5nIG9wdGlvbiBhbmQgc2VsZWN0ICJQYXkiLgotPC9wPgot
PG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHVu
ZGVmaW5lZCwgeyBzaGlwcGluZ09wdGlvbjogbnVsbCB9KSI+Ci0gICAgICBJZiB0aGUgb3B0aW9u
cyBpcyB1bmRlZmluZWQsIHRoZW4gc2hpcHBpbmdPcHRpb24gbXVzdCBiZSBudWxsLgotICAgIDwv
YnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxU
ZXN0KHRoaXMsIHsgcmVxdWVzdFNoaXBwaW5nOiB1bmRlZmluZWQgfSwgeyBzaGlwcGluZ09wdGlv
bjogbnVsbCB9KSI+Ci0gICAgICBJZiB0aGUgcmVxdWVzdFNoaXBwaW5nIG1lbWJlciBpcyBtaXNz
aW5nLCB0aGVuIHNoaXBwaW5nT3B0aW9uIG11c3QgYmUgbnVsbC4KLSAgICA8L2J1dHRvbj4KLSAg
PC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7
IHJlcXVlc3RTaGlwcGluZzogZmFsc2UgfSwgeyBzaGlwcGluZ09wdGlvbjogbnVsbCB9KSI+Ci0g
ICAgICBJZiB0aGUgcmVxdWVzdFNoaXBwaW5nIG1lbWJlciBpcyBmYWxzZSwgdGhlbiBzaGlwcGlu
Z09wdGlvbiBtdXN0IGJlIG51bGwuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAg
ICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgeyByZXF1ZXN0U2hpcHBpbmc6
IHRydWUgfSwgeyBzaGlwcGluZ09wdGlvbjogJ3Bhc3MnIH0pLnRoZW4oZG9uZSkiPgotICAgICAg
SWYgdGhlIHJlcXVlc3RTaGlwcGluZyBtZW1iZXIgaXMgdHJ1ZSwgdGhlbiBzaGlwcGluZ09wdGlv
biBtdXN0IGJlIHRoZSBpZCBvZiB0aGUgc2VsZWN0ZWQgc2hpcHBpbmcgb3B0aW9uICgicGFzcyIp
LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQg
YSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0
aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxv
Yi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9h
Pi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3czYy1pbXBvcnQu
bG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS93M2MtaW1wb3J0LmxvZwppbmRleCBmMjQ1OWIxN2Mw
MzJiZmExN2E2ZGE2MjU5NTllY2IwMGM2OWYxZjViLi44MzYzYTA1NmQwNDg3NzQ4YTdhYzNkNTM5
ZWU3Mzg2OTJiZDk3ZWZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvdzNjLWltcG9ydC5sb2cKQEAgLTE0LDE5
ICsxNCw1IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgogTm9u
ZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
Y29tcGxldGUtbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9o
ZWxwZXJzLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9tZXRob2ROYW1lLWF0dHJpYnV0ZS1tYW51
YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvb25wYXllcmRldGFpbGNoYW5nZS1h
dHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL29ucGF5ZXJk
ZXRhaWxjaGFuZ2UtYXR0cmlidXRlLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3Bh
eWVyRW1haWwtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25z
ZS9wYXllck5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNw
b25zZS9wYXllclBob25lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVzcG9uc2UvcGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdpdGgtaW1tZWRpYXRlLW1hbnVhbC5o
dHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRl
V2l0aC1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcmVqZWN0c19pZl9u
b3RfYWN0aXZlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXF1ZXN0
SWQtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXRy
eS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JldHJ5LW1l
dGhvZC13YXJuaW5ncy1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvc2hp
cHBpbmdBZGRyZXNzLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVz
cG9uc2Uvc2hpcHBpbmdPcHRpb24tYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9yZWplY3RzX2lmX25vdF9hY3RpdmUtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmQ0NWRiMzUxOWFlMDNkMzIzOGI3NzRjZDc4Yzc4
ODc2NGQwZDFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotUGF5bWVudFJlcXVlc3Qgc2hvdygpIHJlamVjdHMg
aWYgZG9jIGlzIG5vdCBmdWxseSBhY3RpdmUKLQotQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2Vx
dWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4gRWFj
aCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdyBhbmQg
dGhlbiB3aWxsIGNsb3NlIGl0IGF1dG9tYXRpY2FsbHkuIChJZiBhIHBheW1lbnQgc2hlZXQgc3Rh
eXMgb3BlbiwgdGhlIHRlc3QgaGFzIGZhaWxlZC4pCi0KLVBheW1lbnRSZXF1ZXN0LnNob3coKSBh
Ym9ydHMgaWYgdGhlIGRvY3VtZW50IGlzIG5vdCBhY3RpdmUuCi1QYXltZW50UmVxdWVzdC5zaG93
KCkgYWJvcnRzIGlmIHRoZSBkb2N1bWVudCBpcyBhY3RpdmUsIGJ1dCBub3QgZnVsbHkgYWN0aXZl
LgotRG9uZSEKLUlmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIGZpbGUgYSBidWcgYW5k
IHRhZyBvbmUgb2YgdGhlIHN1Z2dlc3RlZCByZXZpZXdlcnMuCi0KLUhhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90
X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51
YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGUyMTRjYjYwOTRh
MjU0MzYzNzRkYTk4NGRlYWFkZTY2MGNjYzE5MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9yZWplY3RzX2lmX25vdF9hY3RpdmUtbWFudWFsLmh0dHBz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNzEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
bWV0YSBjaGFyc2V0PXV0Zi04PgotPHRpdGxlPlBheW1lbnRSZXF1ZXN0IHNob3coKSByZWplY3Rz
IGlmIGRvYyBpcyBub3QgZnVsbHkgYWN0aXZlPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jc2hvdy1tZXRob2QiPgot
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPGJvZHk+
Ci08c2NyaXB0Pgotc2V0dXAoewotICBleHBsaWNpdF9kb25lOiB0cnVlLAotICBleHBsaWNpdF90
aW1lb3V0OiB0cnVlLAotfSk7Ci0KLWNvbnN0IGFwcGxlUGF5ID0gT2JqZWN0LmZyZWV6ZSh7Ci0g
IHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICBkYXRh
OiB7Ci0gICAgdmVyc2lvbjogMywKLSAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5j
b20uZXhhbXBsZSIsCi0gICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgbWVyY2hhbnRDYXBhYmls
aXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0s
Ci0gIH0KLX0pOwotY29uc3QgdmFsaWRNZXRob2QgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9y
dGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZHMgPSBPYmpl
Y3QuZnJlZXplKFt2YWxpZE1ldGhvZCwgYXBwbGVQYXldKTsKLQotY29uc3QgdmFsaWREZXRhaWxz
ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB7Ci0gICAgbGFiZWw6ICJUb3RhbCBkdWUiLAot
ICAgICAgYW1vdW50OiB7Ci0gICAgICBjdXJyZW5jeTogIlVTRCIsCi0gICAgICB2YWx1ZTogIjUu
MDAiLAotICAgIH0sCi0gIH0sCi19KTsKLQotZnVuY3Rpb24gZ2V0TG9hZGVkUGF5bWVudFJlcXVl
c3QoaWZyYW1lLCB1cmwpIHsKLSAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAg
IGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKAotICAgICAgImxvYWQiLAotICAgICAgKCkgPT4gewot
ICAgICAgICBjb25zdCB7IFBheW1lbnRSZXF1ZXN0IH0gPSBpZnJhbWUuY29udGVudFdpbmRvdzsK
LSAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCh2YWxpZE1ldGhvZHMs
IHZhbGlkRGV0YWlscyk7Ci0gICAgICAgIHJlc29sdmUocmVxdWVzdCk7Ci0gICAgICB9LAotICAg
ICAgeyBvbmNlOiB0cnVlIH0KLSAgICApOwotICAgIGlmcmFtZS5zcmMgPSB1cmw7Ci0gIH0pOwot
fQotCi1mdW5jdGlvbiB0ZXN0QWJvcnRTaG93SWZEb2N1bWVudElzTm90QWN0aXZlKCkgewotICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLmFsbG93UGF5bWVudFJlcXVlc3QgPSB0
cnVlOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKLSAgICAvLyBXZSBm
aXJzdCBnb3QgdG8gcGFnZTEuaHRtbCwgZ3JhYiBhIFBheW1lbnRSZXF1ZXN0IGluc3RhbmNlLgot
ICAgIGNvbnN0IHJlcXVlc3QxID0gYXdhaXQgZ2V0TG9hZGVkUGF5bWVudFJlcXVlc3QoCi0gICAg
ICBpZnJhbWUsCi0gICAgICAiL3BheW1lbnQtcmVxdWVzdC9yZXNvdXJjZXMvcGFnZTEuaHRtbCIK
LSAgICApOwotICAgIC8vIFNhdmUgdGhlIERPTUV4Y2VwdGlvbiBvZiBwYWdlMS5odG1sIGJlZm9y
ZSBuYXZpZ2F0aW5nIGF3YXkuCi0gICAgY29uc3QgZnJhbWVET01FeGNlcHRpb24xID0gaWZyYW1l
LmNvbnRlbnRXaW5kb3cuRE9NRXhjZXB0aW9uOwotICAgIC8vIFdlIG5hdmlnYXRlIHRoZSBpZnJh
bWUgYWdhaW4sIHB1dHRpbmcgcmVxdWVzdDEncyBkb2N1bWVudCBpbnRvIGFuIGluYWN0aXZlIHN0
YXRlLgotICAgIGNvbnN0IHJlcXVlc3QyID0gYXdhaXQgZ2V0TG9hZGVkUGF5bWVudFJlcXVlc3Qo
Ci0gICAgICBpZnJhbWUsCi0gICAgICAiL3BheW1lbnQtcmVxdWVzdC9yZXNvdXJjZXMvcGFnZTIu
aHRtbCIKLSAgICApOwotICAgIC8vIE5vdywgcmVxdWVzdDEncyByZWxldmFudCBnbG9iYWwgb2Jq
ZWN0J3MgZG9jdW1lbnQgaXMgbm8gbG9uZ2VyIGFjdGl2ZS4KLSAgICAvLyBTbywgY2FsbCAuc2hv
dygpLCBhbmQgbWFrZSBzdXJlIGl0IHJlamVjdHMgYXBwcm9wcmlhdGVseS4KLSAgICBhd2FpdCBw
cm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJBYm9ydEVycm9yIiwKLSAgICAg
IGZyYW1lRE9NRXhjZXB0aW9uMSwKLSAgICAgIHJlcXVlc3QxLnNob3coKSwKLSAgICAgICJJbmFj
dGl2ZSBkb2N1bWVudCwgc28gbXVzdCB0aHJvdyBBYm9ydEVycm9yIgotICAgICk7Ci0gICAgLy8g
cmVxdWVzdDIgaGFzIGFuIGFjdGl2ZSBkb2N1bWVudCB0aG8sIHNvIGNvbmZpcm0gaXQncyB3b3Jr
aW5nIGFzIGV4cGVjdGVkOgotICAgIHJlcXVlc3QyLnNob3coKTsKLSAgICBhd2FpdCByZXF1ZXN0
Mi5hYm9ydCgpOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAg
ICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LkRPTUV4
Y2VwdGlvbiwKLSAgICAgIHJlcXVlc3QyLnNob3coKSwKLSAgICAgICJBYm9ydCBhbHJlYWR5IGNh
bGxlZCwgc28gSW52YWxpZFN0YXRlRXJyb3IiCi0gICAgKTsKLSAgICAvLyBXZSBhcmUgZG9uZSwg
c28gY2xlYW4gdXAuCi0gICAgaWZyYW1lLnJlbW92ZSgpOwotICB9LCAiUGF5bWVudFJlcXVlc3Qu
c2hvdygpIGFib3J0cyBpZiB0aGUgZG9jdW1lbnQgaXMgbm90IGFjdGl2ZS4iKTsKLX0KLQotZnVu
Y3Rpb24gdGVzdEFib3J0U2hvd0lmRG9jdW1lbnRJc05vdEZ1bGx5QWN0aXZlKCkgewotICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgLy8gV2UgbmVzdCB0d28gaWZyYW1lcyBhbmQgd2Fp
dCBmb3IgdGhlbSB0byBsb2FkLgotICAgIGNvbnN0IG91dGVySWZyYW1lID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgb3V0ZXJJZnJhbWUuYWxsb3dQYXltZW50UmVxdWVz
dCA9IHRydWU7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvdXRlcklmcmFtZSk7Ci0g
ICAgLy8gTG9hZCB0aGUgb3V0ZXIgaWZyYW1lICh3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBhd2Fp
dGVkIHJlcXVlc3QpCi0gICAgYXdhaXQgZ2V0TG9hZGVkUGF5bWVudFJlcXVlc3QoCi0gICAgICBv
dXRlcklmcmFtZSwKLSAgICAgICIvcGF5bWVudC1yZXF1ZXN0L3Jlc291cmNlcy9wYWdlMS5odG1s
IgotICAgICk7Ci0KLSAgICAvLyBOb3cgd2UgY3JlYXRlIHRoZSBpbm5lciBpZnJhbWUKLSAgICBj
b25zdCBpbm5lcklmcmFtZSA9IG91dGVySWZyYW1lLmNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpZnJhbWUiKTsKLSAgICBpbm5lcklmcmFtZS5hbGxvd1BheW1lbnRSZXF1ZXN0ID0gdHJ1
ZTsKLQotICAgIC8vIG5lc3QgdGhlbQotICAgIG91dGVySWZyYW1lLmNvbnRlbnREb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGlubmVySWZyYW1lKTsKLQotICAgIC8vIGxvYWQgaW5uZXJJZnJhbWUs
IGFuZCBnZXQgdGhlIFBheW1lbnRSZXF1ZXN0IGluc3RhbmNlCi0gICAgY29uc3QgcmVxdWVzdCA9
IGF3YWl0IGdldExvYWRlZFBheW1lbnRSZXF1ZXN0KAotICAgICAgaW5uZXJJZnJhbWUsCi0gICAg
ICAiL3BheW1lbnQtcmVxdWVzdC9yZXNvdXJjZXMvcGFnZTIuaHRtbCIKLSAgICApOwotICAgIC8v
IFNhdmUgRE9NRXhjZXB0aW9uIGZyb20gaW5uZXJJZnJhbWUgYmVmb3JlIG5hdmlnYXRpbmcgYXdh
eS4KLSAgICBjb25zdCBpbm5lcklmcmFtZURPTUV4Y2VwdGlvbiA9IGlubmVySWZyYW1lLmNvbnRl
bnRXaW5kb3cuRE9NRXhjZXB0aW9uOwotCi0gICAgLy8gTmF2aWdhdGUgdGhlIG91dGVyIGlmcmFt
ZSB0byBhIG5ldyBsb2NhdGlvbi4KLSAgICAvLyBXYWl0IGZvciB0aGUgbG9hZCBldmVudCB0byBm
aXJlLgotICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgb3V0ZXJJZnJh
bWUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJlc29sdmUpOwotICAgICAgb3V0ZXJJZnJhbWUu
c3JjID0gIi9wYXltZW50LXJlcXVlc3QvcmVzb3VyY2VzL3BhZ2UyLmh0bWwiOwotICAgIH0pOwot
Ci0gICAgY29uc3Qgc2hvd1Byb21pc2UgPSByZXF1ZXN0LnNob3coKTsKLSAgICAvLyBOb3csIHJl
cXVlc3QncyByZWxldmFudCBnbG9iYWwgb2JqZWN0J3MgZG9jdW1lbnQgaXMgc3RpbGwgYWN0aXZl
Ci0gICAgLy8gKGl0IGlzIHRoZSBhY3RpdmUgZG9jdW1lbnQgb2YgdGhlIGlubmVyIGlmcmFtZSks
IGJ1dCBpcyBub3QgZnVsbHkgYWN0aXZlCi0gICAgLy8gKHNpbmNlIHRoZSBwYXJlbnQgb2YgdGhl
IGlubmVyIGlmcmFtZSBpcyBpdHNlbGYgbm8gbG9uZ2VyIGFjdGl2ZSkuCi0gICAgLy8gU28sIGNh
bGwgcmVxdWVzdC5zaG93KCkgYW5kIG1ha2Ugc3VyZSBpdCByZWplY3RzIGFwcHJvcHJpYXRlbHku
Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiQWJvcnRF
cnJvciIsCi0gICAgICBpbm5lcklmcmFtZURPTUV4Y2VwdGlvbiwKLSAgICAgIHNob3dQcm9taXNl
LAotICAgICAgIkFjdGl2ZSwgYnV0IG5vdCBmdWxseSBhY3RpdmUsIHNvIG11c3QgdGhyb3cgQWJv
cnRFcnJvciIKLSAgICApOwotICAgIC8vIFdlIGFyZSBkb25lLCBzbyBjbGVhbiB1cC4KLQotICAg
IG91dGVySWZyYW1lLnJlbW92ZSgpOwotICB9LCAiUGF5bWVudFJlcXVlc3Quc2hvdygpIGFib3J0
cyBpZiB0aGUgZG9jdW1lbnQgaXMgYWN0aXZlLCBidXQgbm90IGZ1bGx5IGFjdGl2ZS4iKTsKLX0K
LTwvc2NyaXB0PgotCi08aDI+UGF5bWVudFJlcXVlc3Qgc2hvdygpIHJlamVjdHMgaWYgZG9jIGlz
IG5vdCBmdWxseSBhY3RpdmU8L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNl
cXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlCi0gIHBhZ2Uu
IEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cg
YW5kIHRoZW4gd2lsbAotICBjbG9zZSBpdCBhdXRvbWF0aWNhbGx5LiAoSWYgYSBwYXltZW50IHNo
ZWV0IHN0YXlzIG9wZW4sIHRoZSB0ZXN0IGhhcyBmYWlsZWQuKQotPC9wPgotPG9sPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0QWJvcnRTaG93SWZEb2N1bWVudElzTm90QWN0aXZl
KCkiPgotICAgICAgUGF5bWVudFJlcXVlc3Quc2hvdygpIGFib3J0cyBpZiB0aGUgZG9jdW1lbnQg
aXMgbm90IGFjdGl2ZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0
b24gb25jbGljaz0idGVzdEFib3J0U2hvd0lmRG9jdW1lbnRJc05vdEZ1bGx5QWN0aXZlKCkiPgot
ICAgICAgUGF5bWVudFJlcXVlc3Quc2hvdygpIGFib3J0cyBpZiB0aGUgZG9jdW1lbnQgaXMgYWN0
aXZlLCBidXQgbm90IGZ1bGx5Ci0gICAgICBhY3RpdmUuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+
Ci0gIDxsaT48YnV0dG9uIG9uY2xpY2s9ImRvbmUoKSI+RG9uZSE8L2J1dHRvbj48L2xpPgotPC9v
bD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0i
aHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEg
YnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEu
eW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9y
ZWplY3RzX2lmX25vdF9hY3RpdmUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2
ZS5odHRwcy5odG1sCmluZGV4IDFjNjY2YWVhNDM1NzU4Y2Q3Zjc5MTcyYWFhNjkxZjQzZjc5MDdh
NDcuLjg5YzM0MDdlM2QwYmM1ZWJhZmMzYzdjMGQwMDE1MDk5MTI1MWExMzIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZf
bm90X2FjdGl2ZS5odHRwcy5odG1sCkBAIC01MSw3ICs1MSw3IEBAIGZ1bmN0aW9uIGdldExvYWRl
ZFBheW1lbnRSZXF1ZXN0KGlmcmFtZSwgdXJsKSB7CiAKIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0g
IGlmcmFtZS5hbGxvd1BheW1lbnRSZXF1ZXN0ID0gdHJ1ZTsKKyAgaWZyYW1lLmFsbG93ID0gInBh
eW1lbnQiOwogICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiAgIC8vIE1ha2Ug
YSByZXF1ZXN0IGluIHRoZSBpZnJhbWUuCiAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCBnZXRMb2Fk
ZWRQYXltZW50UmVxdWVzdCgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3NoaXBwaW5nLWFkZHJlc3MtY2hhbmdl
ZC1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3NoaXBwaW5nLWFkZHJlc3MtY2hhbmdlZC1tYW51YWwu
aHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzhiN2YxN2NlZWI5ODRi
ZGU4MDA5MDkzYTU2OTY5MjYxZTQ0ZGQ3Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9zaGlwcGluZy1hZGRyZXNzLWNoYW5nZWQtbWFudWFsLmh0dHBz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTwh
LS0gQ29weXJpZ2h0IMKpIDIwMTcgQ2hyb21pdW0gYXV0aG9ycyBhbmQgV29ybGQgV2lkZSBXZWIg
Q29uc29ydGl1bSwgKE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIEVSQ0lN
LCBLZWlvIFVuaXZlcnNpdHksIEJlaWhhbmcpLiAtLT4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
LTx0aXRsZT5UZXN0IGZvciBQYXltZW50UmVxdWVzdCBzaGlwcGluZ0FkZHJlc3MgYXR0cmlidXRl
PC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bh
eW1lbnQtcmVxdWVzdC8jc2hpcHBpbmdhZGRyZXNzLWF0dHJpYnV0ZSI+Ci08bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI29uc2hpcHBp
bmdhZGRyZXNzY2hhbmdlLWF0dHJpYnV0ZSI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0
cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgYXBwbGVQYXkgPSBPYmplY3Qu
ZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBh
eSIsCi0gIGRhdGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRpZmllcjog
Im1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICBtZXJj
aGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5ldHdvcmtz
OiBbInZpc2EiXSwKLSAgfQotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZCA9IE9iamVjdC5mcmVlemUo
eyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSk7Ci1jb25zdCB2YWxpZE1ldGhvZHMg
PSBPYmplY3QuZnJlZXplKFt2YWxpZE1ldGhvZCwgYXBwbGVQYXldKTsKLWNvbnN0IHZhbGlkQW1v
dW50ID0gT2JqZWN0LmZyZWV6ZSh7IGN1cnJlbmN5OiAiVVNEIiwgdmFsdWU6ICI1LjAwIiB9KTsK
LWNvbnN0IHZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6ICJsYWJlbCIsCi0g
IGFtb3VudDogdmFsaWRBbW91bnQsCi19KTsKLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24gPSBP
YmplY3QuZnJlZXplKHsKLSAgaWQ6ICJ2YWxpZCIsCi0gIGxhYmVsOiAiU2hpcHBpbmcgT3B0aW9u
IiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgc2VsZWN0ZWQ6IGZhbHNlLAotfSk7Ci1jb25z
dCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6IHZhbGlkVG90YWwsCi0g
IHNoaXBwaW5nT3B0aW9uczogW3ZhbGlkU2hpcHBpbmdPcHRpb25dLAotfSk7Ci1jb25zdCByZXF1
ZXN0U2hpcHBpbmcgPSBPYmplY3QuZnJlZXplKHsKLSAgcmVxdWVzdFNoaXBwaW5nOiB0cnVlLAot
fSk7Ci0KLWZ1bmN0aW9uIHRlc3RTaGlwcGluZ0FkZHJlc3NDaGFuZ2UoKSB7Ci0gIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0
KAotICAgICAgdmFsaWRNZXRob2RzLAotICAgICAgdmFsaWREZXRhaWxzLAotICAgICAgcmVxdWVz
dFNoaXBwaW5nCi0gICAgKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgcmVxdWVzdC5zaGlw
cGluZ0FkZHJlc3MsCi0gICAgICBudWxsLAotICAgICAgInJlcXVlc3Quc2hpcHBpbmdBZGRyZXNz
IG11c3QgaW5pdGlhbGx5IGJlIG51bGwiCi0gICAgKTsKLSAgICBjb25zdCBsaXN0ZW5lclByb21p
c2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0
ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgKCkgPT4gewotICAgICAgICByZXNvbHZlKHJl
cXVlc3Quc2hpcHBpbmdBZGRyZXNzKTsKLSAgICAgIH0pOwotICAgIH0pOwotICAgIGNvbnN0IGhh
bmRsZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICByZXF1ZXN0Lm9u
c2hpcHBpbmdhZGRyZXNzY2hhbmdlID0gKCkgPT4gewotICAgICAgICByZXNvbHZlKHJlcXVlc3Qu
c2hpcHBpbmdBZGRyZXNzKTsKLSAgICAgIH07Ci0gICAgfSk7Ci0gICAgcmVxdWVzdC5zaG93KCku
Y2F0Y2goZXJyID0+IGVycik7Ci0gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxs
KFtsaXN0ZW5lclByb21pc2UsIGhhbmRsZXJQcm9taXNlXSk7Ci0gICAgcmVzdWx0cy5mb3JFYWNo
KG9iaiA9PiB7Ci0gICAgICBhc3NlcnRfdHJ1ZShvYmogaW5zdGFuY2VvZiBQYXltZW50QWRkcmVz
cywKLSAgICAgICAgICAgICAgICAgICJFeHBlY3RlZCBpbnN0YW5jZSBvZiBQYXltZW50QWRkcmVz
cyIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhvYmoub3JnYW5pemF0aW9uLCAiIiwgIm9yZ2FuaXph
dGlvbiBzaG91bGQgYmUgcmVkYWN0ZWQiKTsKLSAgICAgIGFzc2VydF9lcXVhbHMob2JqLnBob25l
LCAiIiwgInBob25lIHNob3VsZCBiZSByZWRhY3RlZCIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhv
YmoucmVjaXBpZW50LCAiIiwgInJlY2lwaWVudCBzaG91bGQgYmUgcmVkYWN0ZWQiKTsKLSAgICAg
IGFzc2VydF9lcXVhbHMob2JqLmFkZHJlc3NMaW5lLmxlbmd0aCwgMCwgImFkZHJlc3NMaW5lIHNo
b3VsZCBiZSByZWRhY3RlZCIpOwotICAgIH0pOwotICAgIGF3YWl0IHJlcXVlc3QuYWJvcnQoKTsK
LSAgfSk7Ci0gIGRvbmUoKTsKLX0KLQotPC9zY3JpcHQ+Ci0KLTxoMj5QYXltZW50UmVxdWVzdCBz
aGlwcGluZ0FkZHJlc3MgYXR0cmlidXRlPC9oMj4KLTxwPgotICBDbGljayBvbiBlYWNoIGJ1dHRv
biBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNoaW5nIHRoZSBw
YWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkg
d2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgcHJlc2VudGVk
LCBlbnRlciBvciBzZWxlY3QgYSBzaGlwcGluZyBhZGRyZXNzLgotPC9wPgotPG9sPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0U2hpcHBpbmdBZGRyZXNzQ2hhbmdlKCkiPgotICAg
ICAgV2hlbiB0aGUgc2hpcHBpbmcgYWRkcmVzcyBpcyBtYW51YWxseSBjaGFuZ2VkLCByZXF1ZXN0
LnNoaXBwaW5nQWRkcmVzcyBpcyBhIFBheW1lbnRBZGRyZXNzLgotICAgIDwvYnV0dG9uPgotICA8
L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2Ug
PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVz
Ij5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1
ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9zaG93LWNvbnN1bWUtYWN0aXZhdGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9z
aG93LWNvbnN1bWUtYWN0aXZhdGlvbi5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVj
NTg4OTBkMmFiYmQ2NWUzNThiNmUzMDZlN2Y4NmRmZmEzMDNhYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3Nob3ctY29uc3VtZS1hY3RpdmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworRkFJTCBDYWxsaW5nIHNoYXJlIGNvbnN1bWVzIHVzZXIgYWN0aXZhdGlvbiBwcm9t
aXNlX3JlamVjdHNfZG9tOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3
IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIg
YWN0aXZhdGlvbi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5vdEFsbG93ZWRFcnJvcjog
cHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDE4LCBleHBlY3RlZCAwCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3Nob3ctY29uc3VtZS1hY3RpdmF0aW9uLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LWNvbnN1bWUt
YWN0aXZhdGlvbi5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiOTJjNGMxNWNmMTU4NDU3YTljZmFl
NmZhYjAyMTcxYTQ5Y2E1ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LWNvbnN1bWUtYWN0
aXZhdGlvbi5odHRwcy5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorICAgIDx0aXRsZT5z
aG93KCkgY29uc3VtZXMgdXNlciBhY3RpdmF0aW9uPC90aXRsZT4KKyAgICA8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI3Nob3ctbWV0
aG9kIiAvPgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanMi
Pjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICBjb25z
dCBkZWZhdWx0TWV0aG9kcyA9IFsKKyAgICAgICAgeyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMt
Y2FyZCIgfSwKKyAgICAgICAgeworICAgICAgICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczov
L2FwcGxlLmNvbS9hcHBsZS1wYXkiLAorICAgICAgICAgIGRhdGE6IHsKKyAgICAgICAgICAgIHZl
cnNpb246IDMsCisgICAgICAgICAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20u
ZXhhbXBsZSIsCisgICAgICAgICAgICBjb3VudHJ5Q29kZTogIlVTIiwKKyAgICAgICAgICAgIG1l
cmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCisgICAgICAgICAgICBzdXBwb3J0
ZWROZXR3b3JrczogWyJ2aXNhIl0sCisgICAgICAgICAgfSwKKyAgICAgICAgfSwKKyAgICAgIF07
CisKKyAgICAgIGNvbnN0IGRlZmF1bHREZXRhaWxzID0geworICAgICAgICB0b3RhbDogeworICAg
ICAgICAgIGxhYmVsOiAiVG90YWwiLAorICAgICAgICAgIGFtb3VudDogeworICAgICAgICAgICAg
Y3VycmVuY3k6ICJVU0QiLAorICAgICAgICAgICAgdmFsdWU6ICIxLjAwIiwKKyAgICAgICAgICB9
LAorICAgICAgICB9LAorICAgICAgfTsKKyAgICAgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgICAgICAgY29uc3QgcHIgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRl
ZmF1bHREZXRhaWxzKTsKKworICAgICAgICAvLyBOb3QgYWN0aXZhdGVkIGJ5IHVzZXIgZ2VzdHVy
ZSwgc28gbm90IGFsbG93ZWQhCisgICAgICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwg
Ik5vdEFsbG93ZWRFcnJvciIsIHByLnNob3coKSk7CisKKyAgICAgICAgYXdhaXQgdGVzdF9kcml2
ZXIuYmxlc3MoIkNhbGxzIHNob3coKSBtZXRob2QiKTsKKworICAgICAgICAvLyBBY3RpdmF0ZWQg
YnkgdXNlciBnZXN0dXJlLCBzbyBhbGwgZ29vZC4KKyAgICAgICAgY29uc3Qgc2hvd1Byb21pc2Ug
PSBwci5zaG93KCk7CisKKyAgICAgICAgLy8gVGhlIGFjdGl2YXRpb24gaGFzIGJlZW4gY29uc3Vt
ZWQsIHNvIGNhbGxpbmcgc2hvdygpIGFnYWluIHdvdWxkIHJlcXVpcmUKKyAgICAgICAgLy8gYSBu
ZXcgZ2VzdHVyZS4KKyAgICAgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiTm90QWxs
b3dlZEVycm9yIiwgcHIuc2hvdygpKTsKKworICAgICAgICAvLyBBYm9ydCB0aGUgcGF5bWVudCBy
ZXF1ZXN0CisgICAgICAgIHByLmFib3J0KCkKKyAgICAgICAgYXdhaXQgcHJvbWlzZV9yZWplY3Rz
X2RvbSh0LCAiQWJvcnRFcnJvciIsIHNob3dQcm9taXNlKTsKKyAgICAgIH0sICJDYWxsaW5nIHNo
YXJlIGNvbnN1bWVzIHVzZXIgYWN0aXZhdGlvbiIpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJl
amVjdHMtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNl
LXJlamVjdHMtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDFhMzIyNDUyZWI2MTE0NjMwYjJmMGQxZDJhOTc2MjA5MmFkNWViYjkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwt
cHJvbWlzZS1yZWplY3RzLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjk0
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPHRpdGxl
PlRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0LnNob3cob3B0aW9uYWwgZGV0YWlsc1Byb21pc2UpIG1l
dGhvZDwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9icm93c2VyLXBheW1lbnQtYXBpLyNzaG93LW1ldGhvZCI+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAvLyBTZWUgZnVuY3Rp
b24gdGVzdEJhZFVwZGF0ZSgpIGZvciB0ZXN0IGRldGFpbHMhCi0gIHNldHVwKHsKLSAgICBhbGxv
d191bmNhdWdodF9leGNlcHRpb246IHRydWUsCi0gICAgZXhwbGljaXRfZG9uZTogdHJ1ZSwKLSAg
ICBleHBsaWNpdF90aW1lb3V0OiB0cnVlLAotICB9KTsKLQotICAvLyA9PSBURVNUIERBVEEgPT09
Ci0gIC8vIFBheW1lbnRNZXRob2QKLSAgY29uc3QgdmFsaWRNZXRob2QgPSBPYmplY3QuZnJlZXpl
KHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAidmFsaWQtYnV0LXdvbnQtZXZlci1tYXRjaCIsCi0g
IH0pOwotCi0gIGNvbnN0IHZhbGlkTWV0aG9kQmFzaWNDYXJkID0gT2JqZWN0LmZyZWV6ZSh7Ci0g
ICAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotICB9KTsKLQotICBjb25zdCB2YWxp
ZE1ldGhvZEFwcGxlUGF5ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgc3VwcG9ydGVkTWV0aG9kczog
Imh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gICAgZGF0YTogewotICAgICAgdmVyc2lv
bjogMywKLSAgICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwK
LSAgICAgIGNvdW50cnlDb2RlOiAiVVMiLAotICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsi
c3VwcG9ydHMzRFMiXSwKLSAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgICB9
Ci0gIH0pOwotCi0gIC8vIE1ldGhvZHMKLSAgY29uc3QgdmFsaWRNZXRob2RzID0gT2JqZWN0LmZy
ZWV6ZShbCi0gICAgdmFsaWRNZXRob2RCYXNpY0NhcmQsCi0gICAgdmFsaWRNZXRob2QsCi0gICAg
dmFsaWRNZXRob2RBcHBsZVBheSwKLSAgXSk7Ci0KLSAgLy8gQW1vdW50cwotICBjb25zdCB2YWxp
ZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICAgIGN1cnJlbmN5OiAiVVNEIiwKLSAgICB2YWx1
ZTogIjEuMDAiLAotICB9KTsKLQotICBjb25zdCBpbnZhbGlkQW1vdW50ID0gT2JqZWN0LmZyZWV6
ZSh7Ci0gICAgY3VycmVuY3k6ICLCoUlOVkFMSUQhIiwKLSAgICB2YWx1ZTogIkExLjAiLAotICB9
KTsKLQotICBjb25zdCBuZWdhdGl2ZUFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICAgIGN1cnJl
bmN5OiAiVVNEIiwKLSAgICB2YWx1ZTogIi0xLjAwIiwKLSAgfSk7Ci0KLSAgLy8gVG90YWxzCi0g
IGNvbnN0IHZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgICBsYWJlbDogIlZhbGlkIFRv
dGFsIiwKLSAgICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICB9KTsKLQotICBjb25zdCBpbnZhbGlk
VG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgICBsYWJlbDogIkludmFsaWQgVG90YWwiLAotICAg
IGFtb3VudDogaW52YWxpZEFtb3VudCwKLSAgfSk7Ci0KLSAgY29uc3QgaW52YWxpZE5lZ2F0aXZl
VG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgICBsYWJlbDogIkludmFsaWQgbmVnYXRpdmUgdG90
YWwiLAotICAgIGFtb3VudDogbmVnYXRpdmVBbW91bnQsCi0gIH0pOwotCi0gIC8vIFBheW1lbnRE
ZXRhaWxzSW5pdAotICBjb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgICB0
b3RhbDogdmFsaWRUb3RhbCwKLSAgfSk7Ci0KLSAgY29uc3QgaW52YWxpZERldGFpbHNOZWdhdGl2
ZVRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgdG90YWw6IGludmFsaWROZWdhdGl2ZVRvdGFs
LAotICB9KTsKLQotICAvLyBQYXltZW50T3B0aW9ucwotICBjb25zdCB2YWxpZE9wdGlvbnMgPSBP
YmplY3QuZnJlZXplKHsKLSAgICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi0gIH0pOwotCi0gIC8v
IFBheW1lbnRJdGVtCi0gIGNvbnN0IHZhbGlkUGF5bWVudEl0ZW0gPSBPYmplY3QuZnJlZXplKHsK
LSAgICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICAgIGxhYmVsOiAiVmFsaWQgcGF5bWVudCBpdGVt
IiwKLSAgfSk7Ci0KLSAgY29uc3QgaW52YWxpZFBheW1lbnRJdGVtID0gT2JqZWN0LmZyZWV6ZSh7
Ci0gICAgYW1vdW50OiBpbnZhbGlkQW1vdW50LAotICAgIGxhYmVsOiAiSW52YWxpZCBwYXltZW50
IGl0ZW0iLAotICB9KTsKLQotICAvLyBQYXltZW50SXRlbQotICBjb25zdCB2YWxpZFBheW1lbnRJ
dGVtcyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkUGF5bWVudEl0ZW1dKTsKLSAgY29uc3QgaW52YWxp
ZFBheW1lbnRJdGVtcyA9IE9iamVjdC5mcmVlemUoW2ludmFsaWRQYXltZW50SXRlbV0pOwotCi0g
IC8vIFBheW1lbnRTaGlwcGluZ09wdGlvbgotICBjb25zdCBpbnZhbGlkU2hpcHBpbmdPcHRpb24g
PSBPYmplY3QuZnJlZXplKHsKLSAgICBpZDogImFiYyIsCi0gICAgbGFiZWw6ICJJbnZhbGlkIHNo
aXBwaW5nIG9wdGlvbiIsCi0gICAgYW1vdW50OiBpbnZhbGlkQW1vdW50LAotICAgIHNlbGVjdGVk
OiB0cnVlLAotICB9KTsKLQotICAvLyBQYXltZW50U2hpcHBpbmdPcHRpb25zCi0gIGNvbnN0IHZh
bGlkU2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAgICBpZDogImFiYyIsCi0gICAg
bGFiZWw6ICJ2YWxpZCBzaGlwcGluZyBvcHRpb24iLAotICAgIGFtb3VudDogdmFsaWRBbW91bnQs
Ci0gIH0pOwotCi0gIGNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb25zID0gT2JqZWN0LmZyZWV6ZShb
dmFsaWRTaGlwcGluZ09wdGlvbl0pOwotICBjb25zdCBpbnZhbGlkU2hpcHBpbmdPcHRpb25zID0g
T2JqZWN0LmZyZWV6ZShbaW52YWxpZFNoaXBwaW5nT3B0aW9uXSk7Ci0KLSAgLy8gUGF5bWVudERl
dGFpbHNNb2RpZmllcgotICBjb25zdCB2YWxpZE1vZGlmaWVyID0gT2JqZWN0LmZyZWV6ZSh7Ci0g
ICAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogdmFsaWRQYXltZW50SXRlbXMsCi0gICAgc3VwcG9y
dGVkTWV0aG9kczogInZhbGlkLWJ1dC13b250LWV2ZXItbWF0Y2giLAotICAgIHRvdGFsOiB2YWxp
ZFRvdGFsLAotICB9KTsKLQotICBjb25zdCBtb2RpZmllcldpdGhJbnZhbGlkRGlzcGxheUl0ZW1z
ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogaW52YWxpZFBh
eW1lbnRJdGVtcywKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0gICAgdG90
YWw6IHZhbGlkVG90YWwsCi0gIH0pOwotCi0gIGNvbnN0IG1vZGlmaWVyV2l0aFZhbGlkRGlzcGxh
eUl0ZW1zID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogdmFs
aWRQYXltZW50SXRlbXMsCi0gICAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotICAg
IHRvdGFsOiB2YWxpZFRvdGFsLAotICB9KTsKLQotICBjb25zdCBtb2RpZmllcldpdGhJbnZhbGlk
VG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiB2YWxp
ZFBheW1lbnRJdGVtcywKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0gICAg
dG90YWw6IGludmFsaWRUb3RhbCwKLSAgfSk7Ci0KLSAgY29uc3QgcmVjdXJzaXZlRGF0YSA9IHt9
OwotICByZWN1cnNpdmVEYXRhLmZvbyA9IHJlY3Vyc2l2ZURhdGE7Ci0gIE9iamVjdC5mcmVlemUo
cmVjdXJzaXZlRGF0YSk7Ci0KLSAgY29uc3QgbW9kaWZpZXJXaXRoUmVjdXJzaXZlRGF0YSA9IE9i
amVjdC5mcmVlemUoewotICAgIHN1cHBvcnRlZE1ldGhvZHM6IHZhbGlkTWV0aG9kQmFzaWNDYXJk
LAotICAgIHRvdGFsOiB2YWxpZFRvdGFsLAotICAgIGRhdGE6IHJlY3Vyc2l2ZURhdGEsCi0gIH0p
OwotICAvLyA9PSBFTkQgT0YgVEVTVCBEQVRBID09PQotICAvKgotICAgIFRoZXNlIHRlc3Qgd29y
ayBieSBjcmVhdGluZyBhICJ2YWxpZCIgcGF5bWVudCByZXF1ZXN0IGFuZCB0aGVuCi0gICAgcGVy
Zm9ybWluZyBhIGJhZCB1cGRhdGUgdmlhIGBzaG93KGRldGFpbHNQcm9taXNlKWAuCi0gICAgVGhl
IGBiYWREZXRhaWxzYCBjYXVzZSBkZXRhaWxzUHJvbWlzZSB0byByZWplY3Qgd2l0aCBgZXhwZWN0
ZWRFcnJvcmAuCi0gICAgKi8KLSAgZnVuY3Rpb24gdGVzdEJhZFVwZGF0ZSh0ZXN0QXNzZXJ0aW9u
LCBiYWREZXRhaWxzLCBleHBlY3RlZEVycm9yKSB7Ci0gICAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4gewotICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKLSAgICAgICAg
dmFsaWRNZXRob2RzLAotICAgICAgICB2YWxpZERldGFpbHMsCi0gICAgICAgIHZhbGlkT3B0aW9u
cwotICAgICAgKTsKLSAgICAgIGNvbnN0IGRldGFpbHNQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZl
KGJhZERldGFpbHMpOwotICAgICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJlcXVlc3Quc2hvdyhk
ZXRhaWxzUHJvbWlzZSk7Ci0gICAgICBsZXQgdGVzdF9mdW5jOwotICAgICAgaWYgKHR5cGVvZiBl
eHBlY3RlZEVycm9yID09ICJmdW5jdGlvbiIpIHsKLSAgICAgICAgdGVzdF9mdW5jID0gcHJvbWlz
ZV9yZWplY3RzX2pzOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgdGVzdF9mdW5jID0gcHJvbWlz
ZV9yZWplY3RzX2RvbTsKLSAgICAgIH0KLSAgICAgIGF3YWl0IHRlc3RfZnVuYygKLSAgICAgICAg
dCwKLSAgICAgICAgZXhwZWN0ZWRFcnJvciwKLSAgICAgICAgYWNjZXB0UHJvbWlzZSwKLSAgICAg
ICAgImJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9taXNlIHRvIHJlamVjdCB3aXRoIGV4
cGVjdGVkRXJyb3IiCi0gICAgICApOwotICAgIH0sIHRlc3RBc3NlcnRpb24pOwotICB9Ci08L3Nj
cmlwdD4KLTxoMj4KLSAgUGF5bWVudFJlcXVlc3QgPGNvZGU+LnNob3cob3B0aW9uYWwgZGV0YWls
c1Byb21pc2UpPC9jb2RlPiB0ZXN0cwotPC9oMj4KLTxoMz4KLSAgQmFkIGRldGFpbHMgLSBjYXVz
ZXMgYGRldGFpbHNQcm9taXNlYCB0byByZWplY3QuCi08L2gzPgotPHA+Ci0gIENsaWNrIG9uIGVh
Y2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hp
bmcgdGhlIHBhZ2UuCi0gIE5vIHBheW1lbnQgc2hlZXQgc2hvdWxkIGJlIHNob3duLCBhcyBhbGwg
cHJvdmlkZWQgdmFsdWVzIGNhdXNlIGFuIGVycm9yLgotPC9wPgotPHA+Ci0gIDxzdHJvbmc+Ci0g
ICAgSWYgeW91IHNlZSBhIHBheW1lbnQgc2hlZXQsIGl0IG1lYW5zIHRoZSB0ZXN0IGhhcyBmYWls
ZWQuCi0gIDwvc3Ryb25nPgotPC9wPgotPG9sPgotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAg
ICBjb25zdCByZWplY3RlZFByb21pc2UgPSBQcm9taXNlLnJlamVjdChuZXcgU3ludGF4RXJyb3Io
J3Rlc3QnKSkKLSAgICAgIC5jYXRjaChlcnIgPT4gZXJyKTsKLSAgICB0ZXN0QmFkVXBkYXRlKHRo
aXMudGV4dENvbnRlbnQsIHJlamVjdGVkUHJvbWlzZSwgJ0Fib3J0RXJyb3InKTsKLSAgIj4KLSAg
UmVqZWN0aW9uIG9mIGRldGFpbHNQcm9taXNlIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGFu
ICdBYm9ydEVycm9yJyBET01FeGNlcHRpb24uCi0gIDwvYnV0dG9uPjwvbGk+Ci0KLSAgPGxpPjxi
dXR0b24gb25jbGljaz0iCi0gICAgY29uc3QgaW52YWxpZERldGFpbHMgPSB7IHRvdGFsOiBgdGhp
cyB3aWxsIGNhdXNlIGEgVHlwZUVycm9yIWAgfTsKLSAgICB0ZXN0QmFkVXBkYXRlKHRoaXMudGV4
dENvbnRlbnQsIGludmFsaWREZXRhaWxzLCBUeXBlRXJyb3IpOwotICAiPgotICBUb3RhbCBpbiB0
aGUgdXBkYXRlIGlzIGEgc3RyaW5nLCBzbyBjb252ZXJ0aW5nIHRvIElETCBtdXN0IGFib3J0IHRo
ZSB1cGRhdGUgd2l0aCBhIFR5cGVFcnJvci4KLSAgPC9idXR0b24+PC9saT4KLQotICA8bGk+PGJ1
dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBpbnZhbGlkRGV0YWlscyA9IHsgdG90YWw6IHJlY3Vy
c2l2ZURhdGEgfTsKLSAgICB0ZXN0QmFkVXBkYXRlKHRoaXMudGV4dENvbnRlbnQsIGludmFsaWRE
ZXRhaWxzLCBUeXBlRXJyb3IpOwotICAiPgotICBUb3RhbCBpcyByZWN1cnNpdmUsIHNvIGNvbnZl
cnRpbmcgdG8gSURMIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGEgVHlwZUVycm9yLgotICA8
L2J1dHRvbj48L2xpPgotCi0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIHRlc3RCYWRVcGRh
dGUodGhpcy50ZXh0Q29udGVudCwgaW52YWxpZERldGFpbHNOZWdhdGl2ZVRvdGFsLCBUeXBlRXJy
b3IpOwotICAiPgotICBVcGRhdGluZyB3aXRoIGEgbmVnYXRpdmUgdG90YWwgcmVzdWx0cyBpbiBh
IFR5cGVFcnJvci4KLSAgPC9idXR0b24+PC9saT4KLQotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIK
LSAgICBjb25zdCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCB7
Ci0gICAgICBkaXNwbGF5SXRlbXM6IGludmFsaWRQYXltZW50SXRlbXMKLSAgICB9KTsKLSAgICB0
ZXN0QmFkVXBkYXRlKHRoaXMudGV4dENvbnRlbnQsIGJhZERldGFpbHMsIFJhbmdlRXJyb3IpOwot
ICAiPgotICBVcGRhdGluZyB3aXRoIGEgZGlzcGxheUl0ZW0gd2l0aCBhbiBpbnZhbGlkIGN1cnJl
bmN5IHJlc3VsdHMgaW4gUmFuZ2VFcnJvci4KLSAgPC9idXR0b24+PC9saT4KLQotICA8bGk+PGJ1
dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBkdXBsaWNhdGVTaGlwcGluZ09wdGlvbnMgPSBbdmFs
aWRTaGlwcGluZ09wdGlvbiwgdmFsaWRTaGlwcGluZ09wdGlvbl07Ci0gICAgY29uc3QgYmFkRGV0
YWlscyA9IE9iamVjdC5hc3NpZ24oe30sIHZhbGlkRGV0YWlscywgewotICAgICAgc2hpcHBpbmdP
cHRpb25zOiBkdXBsaWNhdGVTaGlwcGluZ09wdGlvbnMsCi0gICAgfSk7Ci0gICAgdGVzdEJhZFVw
ZGF0ZSh0aGlzLnRleHRDb250ZW50LCBiYWREZXRhaWxzLCBUeXBlRXJyb3IpOwotICAiPgotICBV
cGRhdGluZyB3aXRoIGR1cGxpY2F0ZSBzaGlwcGluZ09wdGlvbnMgKHNhbWUgSURzKSByZXN1bHRz
IGluIGEgVHlwZUVycm9yLgotICA8L2J1dHRvbj48L2xpPgotICA8bGk+PGJ1dHRvbiBvbmNsaWNr
PSIKLSAgICBjb25zdCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxz
LCB7Ci0gICAgICBzaGlwcGluZ09wdGlvbnM6IGludmFsaWRTaGlwcGluZ09wdGlvbnMsCi0gICAg
fSk7Ci0gICAgdGVzdEJhZFVwZGF0ZSh0aGlzLnRleHRDb250ZW50LCBiYWREZXRhaWxzLCBSYW5n
ZUVycm9yKTsKLSAgIj4KLSAgVXBkYXRpbmcgd2l0aCBhIHNoaXBwaW5nT3B0aW9uIHdpdGggYW4g
aW52YWxpZCBjdXJyZW5jeSB2YWx1ZSByZXN1bHRzIGluIGEgUmFuZ0Vycm9yLgotICA8L2J1dHRv
bj48L2xpPgotCi0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIC8vIHZhbGlkTW9kaWZpZXIg
aXMgdGhlcmUgYXMgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzCi0gICAgY29uc3QgYmFkTW9kaWZp
ZXJzID0geyBtb2RpZmllcnM6IFttb2RpZmllcldpdGhJbnZhbGlkVG90YWwsIHZhbGlkTW9kaWZp
ZXJdIH07Ci0gICAgY29uc3QgYmFkRGV0YWlscyA9IE9iamVjdC5hc3NpZ24oe30sIHZhbGlkRGV0
YWlscywgYmFkTW9kaWZpZXJzKTsKLSAgICB0ZXN0QmFkVXBkYXRlKHRoaXMudGV4dENvbnRlbnQs
IGJhZERldGFpbHMsIFJhbmdlRXJyb3IpOwotICAiPgotICBNdXN0IHRocm93IGEgUmFuZ2VFcnJv
ciB3aGVuIGEgbW9kaWZpZXIncyB0b3RhbCBpdGVtIGhhcyBhbiBpbnZhbGlkIGN1cnJlbmN5Lgot
ICA8L2J1dHRvbj48L2xpPgotCi0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIC8vIHZhbGlk
TW9kaWZpZXIgaXMgdGhlcmUgYXMgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzCi0gICAgY29uc3Qg
YmFkTW9kaWZpZXJzID0gewotICAgICAgbW9kaWZpZXJzOiBbbW9kaWZpZXJXaXRoSW52YWxpZERp
c3BsYXlJdGVtcywgdmFsaWRNb2RpZmllcl0sCi0gICAgfTsKLSAgICBjb25zdCBiYWREZXRhaWxz
ID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCBiYWRNb2RpZmllcnMpOwotICAgIHRl
c3RCYWRVcGRhdGUodGhpcy50ZXh0Q29udGVudCwgYmFkRGV0YWlscywgUmFuZ2VFcnJvcik7Ci0g
ICI+Ci0gIE11c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmllciBkaXNwbGF5IGl0
ZW0gaGFzIGFuIGludmFsaWQgY3VycmVuY3kuCi0gIDwvYnV0dG9uPjwvbGk+Ci0KLSAgPGxpPjxi
dXR0b24gb25jbGljaz0iCi0gICAgLy8gdmFsaWRNb2RpZmllciBpcyB0aGVyZSBhcyB0byBhdm9p
ZCBmYWxzZSBwb3NpdGl2ZXMKLSAgICBjb25zdCBiYWRNb2RpZmllcnMgPSB7Ci0gICAgICBtb2Rp
ZmllcnM6IFttb2RpZmllcldpdGhSZWN1cnNpdmVEYXRhLCB2YWxpZE1vZGlmaWVyXSwKLSAgICB9
OwotICAgIGNvbnN0IGJhZERldGFpbHMgPSBPYmplY3QuYXNzaWduKHt9LCB2YWxpZERldGFpbHMs
IGJhZE1vZGlmaWVycyk7Ci0gICAgdGVzdEJhZFVwZGF0ZSh0aGlzLnRleHRDb250ZW50LCBiYWRE
ZXRhaWxzLCBUeXBlRXJyb3IpOwotICAiPgotICBNdXN0IHRocm93IGFzIE1vZGlmaWVyIGhhcyBh
IHJlY3Vyc2l2ZSBkaWN0aW9uYXJ5LgotICA8L2J1dHRvbj48L2xpPgotCi0gIDxsaT48YnV0dG9u
IG9uY2xpY2s9ImRvbmUoKTsiPkRvbmUhPC9idXR0b24+PC9saT4KLTwvb2w+Ci0KLTxzbWFsbD4K
LSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBh
bmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0
ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1v
cHRpb25hbC1wcm9taXNlLXJlamVjdHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRo
b2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWplY3RzLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MGVkMmZlN2Y4NzdkMTNlM2IzODA3ZGM5Zjc3MGEyMjkxMmRjODgwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWplY3RzLmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMwIEBACisKK0ZBSUwgUmVqZWN0aW9uIG9mIGRldGFpbHNQcm9t
aXNlIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGFuICdBYm9ydEVycm9yJyBET01FeGNlcHRp
b24uIHByb21pc2VfcmVqZWN0c19kb206IGJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9t
aXNlIHRvIHJlamVjdCB3aXRoIGV4cGVjdGVkRXJyb3IgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsg
dGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRy
aWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBB
Ym9ydEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitG
QUlMIFRvdGFsIGluIHRoZSB1cGRhdGUgaXMgYSBzdHJpbmcsIHNvIGNvbnZlcnRpbmcgdG8gSURM
IG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGEgVHlwZUVycm9yLiBwcm9taXNlX3JlamVjdHNf
anM6IGJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9taXNlIHRvIHJlamVjdCB3aXRoIGV4
cGVjdGVkRXJyb3IgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmpl
Y3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2
YXRpb24uIiAoIlNlY3VyaXR5RXJyb3IiKSBleHBlY3RlZCBpbnN0YW5jZSBvZiBmdW5jdGlvbiAi
ZnVuY3Rpb24gVHlwZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iICgiVHlwZUVycm9y
IikKK0ZBSUwgVG90YWwgaXMgcmVjdXJzaXZlLCBzbyBjb252ZXJ0aW5nIHRvIElETCBtdXN0IGFi
b3J0IHRoZSB1cGRhdGUgd2l0aCBhIFR5cGVFcnJvci4gcHJvbWlzZV9yZWplY3RzX2pzOiBiYWRE
ZXRhaWxzIG11c3QgY2F1c2UgYWNjZXB0UHJvbWlzZSB0byByZWplY3Qgd2l0aCBleHBlY3RlZEVy
cm9yIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1
cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIg
KCJTZWN1cml0eUVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ugb2YgZnVuY3Rpb24gImZ1bmN0aW9u
IFR5cGVFcnJvcigpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiAoIlR5cGVFcnJvciIpCitGQUlM
IFVwZGF0aW5nIHdpdGggYSBuZWdhdGl2ZSB0b3RhbCByZXN1bHRzIGluIGEgVHlwZUVycm9yLiBw
cm9taXNlX3JlamVjdHNfanM6IGJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9taXNlIHRv
IHJlamVjdCB3aXRoIGV4cGVjdGVkRXJyb3IgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cg
ZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJl
ZCBieSB1c2VyIGFjdGl2YXRpb24uIiAoIlNlY3VyaXR5RXJyb3IiKSBleHBlY3RlZCBpbnN0YW5j
ZSBvZiBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0K
K30iICgiVHlwZUVycm9yIikKK0ZBSUwgVXBkYXRpbmcgd2l0aCBhIGRpc3BsYXlJdGVtIHdpdGgg
YW4gaW52YWxpZCBjdXJyZW5jeSByZXN1bHRzIGluIFJhbmdlRXJyb3IuIHByb21pc2VfcmVqZWN0
c19qczogYmFkRGV0YWlscyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGgg
ZXhwZWN0ZWRFcnJvciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9i
amVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0
aXZhdGlvbi4iICgiU2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9u
ICJmdW5jdGlvbiBSYW5nZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iICgiUmFuZ2VF
cnJvciIpCitGQUlMIFVwZGF0aW5nIHdpdGggZHVwbGljYXRlIHNoaXBwaW5nT3B0aW9ucyAoc2Ft
ZSBJRHMpIHJlc3VsdHMgaW4gYSBUeXBlRXJyb3IuIHByb21pc2VfcmVqZWN0c19qczogYmFkRGV0
YWlscyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJv
ciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJp
dHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgi
U2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBU
eXBlRXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJUeXBlRXJyb3IiKQorRkFJTCBV
cGRhdGluZyB3aXRoIGEgc2hpcHBpbmdPcHRpb24gd2l0aCBhbiBpbnZhbGlkIGN1cnJlbmN5IHZh
bHVlIHJlc3VsdHMgaW4gYSBSYW5nRXJyb3IuIHByb21pc2VfcmVqZWN0c19qczogYmFkRGV0YWls
cyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJvciBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlF
cnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgiU2Vj
dXJpdHlFcnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBSYW5n
ZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iICgiUmFuZ2VFcnJvciIpCitGQUlMIE11
c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmllcidzIHRvdGFsIGl0ZW0gaGFzIGFu
IGludmFsaWQgY3VycmVuY3kuIHByb21pc2VfcmVqZWN0c19qczogYmFkRGV0YWlscyBtdXN0IGNh
dXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJvciBmdW5jdGlvbiAi
ZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hv
dygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgiU2VjdXJpdHlFcnJv
ciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBSYW5nZUVycm9yKCkg
eworICAgIFtuYXRpdmUgY29kZV0KK30iICgiUmFuZ2VFcnJvciIpCitGQUlMIE11c3QgdGhyb3cg
YSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmllciBkaXNwbGF5IGl0ZW0gaGFzIGFuIGludmFsaWQg
Y3VycmVuY3kuIHByb21pc2VfcmVqZWN0c19qczogYmFkRGV0YWlscyBtdXN0IGNhdXNlIGFjY2Vw
dFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJvciBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3Qg
YmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgiU2VjdXJpdHlFcnJvciIpIGV4cGVj
dGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBSYW5nZUVycm9yKCkgeworICAgIFtu
YXRpdmUgY29kZV0KK30iICgiUmFuZ2VFcnJvciIpCitGQUlMIE11c3QgdGhyb3cgYXMgTW9kaWZp
ZXIgaGFzIGEgcmVjdXJzaXZlIGRpY3Rpb25hcnkuIHByb21pc2VfcmVqZWN0c19qczogYmFkRGV0
YWlscyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJv
ciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJp
dHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgi
U2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBU
eXBlRXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJUeXBlRXJyb3IiKQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJlamVjdHMuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXByb21pc2UtcmVqZWN0cy5odHRwcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNiNDI5NjU1MDM5MjJkODgyMTM0MDlkYzgxNDMwMGMwNWIzYTY3MmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJlamVjdHMuaHR0
cHMuaHRtbApAQCAtMCwwICsxLDI1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIgLz4KKzx0aXRsZT5UZXN0IGZvciBQYXltZW50UmVxdWVzdC5zaG93KG9wdGlvbmFs
IGRldGFpbHNQcm9taXNlKSBtZXRob2Q8L3RpdGxlPgorPGxpbmsKKyAgcmVsPSJoZWxwIgorICBo
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vYnJvd3Nlci1wYXltZW50LWFwaS8jc2hvdy1tZXRo
b2QiCisvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorICAvLyBTZWUgZnVuY3Rpb24gdGVzdEJhZFVwZGF0ZSgpIGZvciB0ZXN0IGRldGFpbHMh
CisgIHNldHVwKHsKKyAgICBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUsCisgIH0pOwor
CisgIC8vID09IFRFU1QgREFUQSA9PT0KKyAgLy8gUGF5bWVudE1ldGhvZAorICBjb25zdCB2YWxp
ZE1ldGhvZCA9IE9iamVjdC5mcmVlemUoeworICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJ2YWxpZC1i
dXQtd29udC1ldmVyLW1hdGNoIiwKKyAgfSk7CisKKyAgY29uc3QgdmFsaWRNZXRob2RCYXNpY0Nh
cmQgPSBPYmplY3QuZnJlZXplKHsKKyAgICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIs
CisgIH0pOworCisgIGNvbnN0IHZhbGlkTWV0aG9kQXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsK
KyAgICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKKyAg
ICBkYXRhOiB7CisgICAgICB2ZXJzaW9uOiAzLAorICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAi
bWVyY2hhbnQuY29tLmV4YW1wbGUiLAorICAgICAgY291bnRyeUNvZGU6ICJVUyIsCisgICAgICBt
ZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAorICAgICAgc3VwcG9ydGVkTmV0
d29ya3M6IFsidmlzYSJdLAorICAgIH0sCisgIH0pOworCisgIC8vIE1ldGhvZHMKKyAgY29uc3Qg
dmFsaWRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbCisgICAgdmFsaWRNZXRob2RCYXNpY0NhcmQs
CisgICAgdmFsaWRNZXRob2QsCisgICAgdmFsaWRNZXRob2RBcHBsZVBheSwKKyAgXSk7CisKKyAg
Ly8gQW1vdW50cworICBjb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoeworICAgIGN1
cnJlbmN5OiAiVVNEIiwKKyAgICB2YWx1ZTogIjEuMDAiLAorICB9KTsKKworICBjb25zdCBpbnZh
bGlkQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgY3VycmVuY3k6ICLCoUlOVkFMSUQhIiwK
KyAgICB2YWx1ZTogIkExLjAiLAorICB9KTsKKworICBjb25zdCBuZWdhdGl2ZUFtb3VudCA9IE9i
amVjdC5mcmVlemUoeworICAgIGN1cnJlbmN5OiAiVVNEIiwKKyAgICB2YWx1ZTogIi0xLjAwIiwK
KyAgfSk7CisKKyAgLy8gVG90YWxzCisgIGNvbnN0IHZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXpl
KHsKKyAgICBsYWJlbDogIlZhbGlkIFRvdGFsIiwKKyAgICBhbW91bnQ6IHZhbGlkQW1vdW50LAor
ICB9KTsKKworICBjb25zdCBpbnZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKKyAgICBsYWJl
bDogIkludmFsaWQgVG90YWwiLAorICAgIGFtb3VudDogaW52YWxpZEFtb3VudCwKKyAgfSk7CisK
KyAgY29uc3QgaW52YWxpZE5lZ2F0aXZlVG90YWwgPSBPYmplY3QuZnJlZXplKHsKKyAgICBsYWJl
bDogIkludmFsaWQgbmVnYXRpdmUgdG90YWwiLAorICAgIGFtb3VudDogbmVnYXRpdmVBbW91bnQs
CisgIH0pOworCisgIC8vIFBheW1lbnREZXRhaWxzSW5pdAorICBjb25zdCB2YWxpZERldGFpbHMg
PSBPYmplY3QuZnJlZXplKHsKKyAgICB0b3RhbDogdmFsaWRUb3RhbCwKKyAgfSk7CisKKyAgY29u
c3QgaW52YWxpZERldGFpbHNOZWdhdGl2ZVRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgdG90
YWw6IGludmFsaWROZWdhdGl2ZVRvdGFsLAorICB9KTsKKworICAvLyBQYXltZW50T3B0aW9ucwor
ICBjb25zdCB2YWxpZE9wdGlvbnMgPSBPYmplY3QuZnJlZXplKHsKKyAgICByZXF1ZXN0U2hpcHBp
bmc6IHRydWUsCisgIH0pOworCisgIC8vIFBheW1lbnRJdGVtCisgIGNvbnN0IHZhbGlkUGF5bWVu
dEl0ZW0gPSBPYmplY3QuZnJlZXplKHsKKyAgICBhbW91bnQ6IHZhbGlkQW1vdW50LAorICAgIGxh
YmVsOiAiVmFsaWQgcGF5bWVudCBpdGVtIiwKKyAgfSk7CisKKyAgY29uc3QgaW52YWxpZFBheW1l
bnRJdGVtID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgYW1vdW50OiBpbnZhbGlkQW1vdW50LAorICAg
IGxhYmVsOiAiSW52YWxpZCBwYXltZW50IGl0ZW0iLAorICB9KTsKKworICAvLyBQYXltZW50SXRl
bQorICBjb25zdCB2YWxpZFBheW1lbnRJdGVtcyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkUGF5bWVu
dEl0ZW1dKTsKKyAgY29uc3QgaW52YWxpZFBheW1lbnRJdGVtcyA9IE9iamVjdC5mcmVlemUoW2lu
dmFsaWRQYXltZW50SXRlbV0pOworCisgIC8vIFBheW1lbnRTaGlwcGluZ09wdGlvbgorICBjb25z
dCBpbnZhbGlkU2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKKyAgICBpZDogImFiYyIs
CisgICAgbGFiZWw6ICJJbnZhbGlkIHNoaXBwaW5nIG9wdGlvbiIsCisgICAgYW1vdW50OiBpbnZh
bGlkQW1vdW50LAorICAgIHNlbGVjdGVkOiB0cnVlLAorICB9KTsKKworICAvLyBQYXltZW50U2hp
cHBpbmdPcHRpb25zCisgIGNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXpl
KHsKKyAgICBpZDogImFiYyIsCisgICAgbGFiZWw6ICJ2YWxpZCBzaGlwcGluZyBvcHRpb24iLAor
ICAgIGFtb3VudDogdmFsaWRBbW91bnQsCisgIH0pOworCisgIGNvbnN0IHZhbGlkU2hpcHBpbmdP
cHRpb25zID0gT2JqZWN0LmZyZWV6ZShbdmFsaWRTaGlwcGluZ09wdGlvbl0pOworICBjb25zdCBp
bnZhbGlkU2hpcHBpbmdPcHRpb25zID0gT2JqZWN0LmZyZWV6ZShbaW52YWxpZFNoaXBwaW5nT3B0
aW9uXSk7CisKKyAgLy8gUGF5bWVudERldGFpbHNNb2RpZmllcgorICBjb25zdCB2YWxpZE1vZGlm
aWVyID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogdmFsaWRQ
YXltZW50SXRlbXMsCisgICAgc3VwcG9ydGVkTWV0aG9kczogInZhbGlkLWJ1dC13b250LWV2ZXIt
bWF0Y2giLAorICAgIHRvdGFsOiB2YWxpZFRvdGFsLAorICB9KTsKKworICBjb25zdCBtb2RpZmll
cldpdGhJbnZhbGlkRGlzcGxheUl0ZW1zID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgYWRkaXRpb25h
bERpc3BsYXlJdGVtczogaW52YWxpZFBheW1lbnRJdGVtcywKKyAgICBzdXBwb3J0ZWRNZXRob2Rz
OiAiYmFzaWMtY2FyZCIsCisgICAgdG90YWw6IHZhbGlkVG90YWwsCisgIH0pOworCisgIGNvbnN0
IG1vZGlmaWVyV2l0aFZhbGlkRGlzcGxheUl0ZW1zID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgYWRk
aXRpb25hbERpc3BsYXlJdGVtczogdmFsaWRQYXltZW50SXRlbXMsCisgICAgc3VwcG9ydGVkTWV0
aG9kczogImJhc2ljLWNhcmQiLAorICAgIHRvdGFsOiB2YWxpZFRvdGFsLAorICB9KTsKKworICBj
b25zdCBtb2RpZmllcldpdGhJbnZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKKyAgICBhZGRp
dGlvbmFsRGlzcGxheUl0ZW1zOiB2YWxpZFBheW1lbnRJdGVtcywKKyAgICBzdXBwb3J0ZWRNZXRo
b2RzOiAiYmFzaWMtY2FyZCIsCisgICAgdG90YWw6IGludmFsaWRUb3RhbCwKKyAgfSk7CisKKyAg
Y29uc3QgcmVjdXJzaXZlRGF0YSA9IHt9OworICByZWN1cnNpdmVEYXRhLmZvbyA9IHJlY3Vyc2l2
ZURhdGE7CisgIE9iamVjdC5mcmVlemUocmVjdXJzaXZlRGF0YSk7CisKKyAgY29uc3QgbW9kaWZp
ZXJXaXRoUmVjdXJzaXZlRGF0YSA9IE9iamVjdC5mcmVlemUoeworICAgIHN1cHBvcnRlZE1ldGhv
ZHM6ICJiYXNpYy1jYXJkIiwKKyAgICB0b3RhbDogdmFsaWRUb3RhbCwKKyAgICBkYXRhOiByZWN1
cnNpdmVEYXRhLAorICB9KTsKKyAgLy8gPT0gRU5EIE9GIFRFU1QgREFUQSA9PT0KKyAgLyoKKyAg
ICBUaGVzZSB0ZXN0IHdvcmsgYnkgY3JlYXRpbmcgYSAidmFsaWQiIHBheW1lbnQgcmVxdWVzdCBh
bmQgdGhlbgorICAgIHBlcmZvcm1pbmcgYSBiYWQgdXBkYXRlIHZpYSBgc2hvdyhkZXRhaWxzUHJv
bWlzZSlgLgorICAgIFRoZSBgYmFkRGV0YWlsc2AgY2F1c2UgZGV0YWlsc1Byb21pc2UgdG8gcmVq
ZWN0IHdpdGggYGV4cGVjdGVkRXJyb3JgLgorICAgICovCisgIGZ1bmN0aW9uIHRlc3RCYWRVcGRh
dGUodGVzdEFzc2VydGlvbiwgYmFkRGV0YWlscywgZXhwZWN0ZWRFcnJvcikgeworICAgIHByb21p
c2VfdGVzdChhc3luYyAodCkgPT4geworICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50
UmVxdWVzdCgKKyAgICAgICAgdmFsaWRNZXRob2RzLAorICAgICAgICB2YWxpZERldGFpbHMsCisg
ICAgICAgIHZhbGlkT3B0aW9ucworICAgICAgKTsKKyAgICAgIGF3YWl0IHRlc3RfZHJpdmVyLmJs
ZXNzKCJQYXltZW50IHJlcXVlc3QiKTsKKyAgICAgIGNvbnN0IGRldGFpbHNQcm9taXNlID0gUHJv
bWlzZS5yZXNvbHZlKGJhZERldGFpbHMpOworICAgICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJl
cXVlc3Quc2hvdyhkZXRhaWxzUHJvbWlzZSk7CisgICAgICBjb25zdCB0ZXN0X2Z1bmMgPQorICAg
ICAgICB0eXBlb2YgZXhwZWN0ZWRFcnJvciA9PSAiZnVuY3Rpb24iCisgICAgICAgICAgPyBwcm9t
aXNlX3JlamVjdHNfanMKKyAgICAgICAgICA6IHByb21pc2VfcmVqZWN0c19kb207CisgICAgICBh
d2FpdCB0ZXN0X2Z1bmMoCisgICAgICAgIHQsCisgICAgICAgIGV4cGVjdGVkRXJyb3IsCisgICAg
ICAgIGFjY2VwdFByb21pc2UsCisgICAgICAgICJiYWREZXRhaWxzIG11c3QgY2F1c2UgYWNjZXB0
UHJvbWlzZSB0byByZWplY3Qgd2l0aCBleHBlY3RlZEVycm9yIgorICAgICAgKTsKKyAgICB9LCB0
ZXN0QXNzZXJ0aW9uKTsKKyAgfQorCisgIGNvbnN0IHJlamVjdGVkUHJvbWlzZSA9IFByb21pc2Uu
cmVqZWN0KG5ldyBTeW50YXhFcnJvcigidGVzdCIpKTsKKyAgdGVzdEJhZFVwZGF0ZSgKKyAgICAi
UmVqZWN0aW9uIG9mIGRldGFpbHNQcm9taXNlIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGFu
ICdBYm9ydEVycm9yJyBET01FeGNlcHRpb24uIiwKKyAgICByZWplY3RlZFByb21pc2UsCisgICAg
IkFib3J0RXJyb3IiCisgICk7CisKKyAgdGVzdEJhZFVwZGF0ZSgKKyAgICAiVG90YWwgaW4gdGhl
IHVwZGF0ZSBpcyBhIHN0cmluZywgc28gY29udmVydGluZyB0byBJREwgbXVzdCBhYm9ydCB0aGUg
dXBkYXRlIHdpdGggYSBUeXBlRXJyb3IuIiwKKyAgICB7IHRvdGFsOiBgdGhpcyB3aWxsIGNhdXNl
IGEgVHlwZUVycm9yIWAgfSwKKyAgICBUeXBlRXJyb3IKKyAgKTsKKworICB0ZXN0QmFkVXBkYXRl
KAorICAgICJUb3RhbCBpcyByZWN1cnNpdmUsIHNvIGNvbnZlcnRpbmcgdG8gSURMIG11c3QgYWJv
cnQgdGhlIHVwZGF0ZSB3aXRoIGEgVHlwZUVycm9yLiIsCisgICAgeyB0b3RhbDogcmVjdXJzaXZl
RGF0YSB9LAorICAgIFR5cGVFcnJvcgorICApOworCisgIHRlc3RCYWRVcGRhdGUoCisgICAgIlVw
ZGF0aW5nIHdpdGggYSBuZWdhdGl2ZSB0b3RhbCByZXN1bHRzIGluIGEgVHlwZUVycm9yLiIsCisg
ICAgaW52YWxpZERldGFpbHNOZWdhdGl2ZVRvdGFsLAorICAgIFR5cGVFcnJvcgorICApOworCisg
IHRlc3RCYWRVcGRhdGUoCisgICAgIlVwZGF0aW5nIHdpdGggYSBkaXNwbGF5SXRlbSB3aXRoIGFu
IGludmFsaWQgY3VycmVuY3kgcmVzdWx0cyBpbiBSYW5nZUVycm9yLiIsCisgICAgeyAuLi52YWxp
ZERldGFpbHMsIGRpc3BsYXlJdGVtczogaW52YWxpZFBheW1lbnRJdGVtcyB9LAorICAgIFJhbmdl
RXJyb3IKKyAgKTsKKworICB0ZXN0QmFkVXBkYXRlKAorICAgICJVcGRhdGluZyB3aXRoIGR1cGxp
Y2F0ZSBzaGlwcGluZ09wdGlvbnMgKHNhbWUgSURzKSByZXN1bHRzIGluIGEgVHlwZUVycm9yLiIs
CisgICAgeworICAgICAgLi4udmFsaWREZXRhaWxzLAorICAgICAgc2hpcHBpbmdPcHRpb25zOiBb
dmFsaWRTaGlwcGluZ09wdGlvbiwgdmFsaWRTaGlwcGluZ09wdGlvbl0sCisgICAgfSwKKyAgICBU
eXBlRXJyb3IKKyAgKTsKKworICB0ZXN0QmFkVXBkYXRlKAorICAgICJVcGRhdGluZyB3aXRoIGEg
c2hpcHBpbmdPcHRpb24gd2l0aCBhbiBpbnZhbGlkIGN1cnJlbmN5IHZhbHVlIHJlc3VsdHMgaW4g
YSBSYW5nRXJyb3IuIiwKKyAgICB7IC4uLnZhbGlkRGV0YWlscywgc2hpcHBpbmdPcHRpb25zOiBp
bnZhbGlkU2hpcHBpbmdPcHRpb25zIH0sCisgICAgUmFuZ2VFcnJvcgorICApOworCisgIHRlc3RC
YWRVcGRhdGUoCisgICAgIk11c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmllcidz
IHRvdGFsIGl0ZW0gaGFzIGFuIGludmFsaWQgY3VycmVuY3kuIiwKKyAgICB7IC4uLnZhbGlkRGV0
YWlscywgbW9kaWZpZXJzOiBbbW9kaWZpZXJXaXRoSW52YWxpZFRvdGFsLCB2YWxpZE1vZGlmaWVy
XSB9LAorICAgIFJhbmdlRXJyb3IKKyAgKTsKKworICB0ZXN0QmFkVXBkYXRlKAorICAgICJNdXN0
IHRocm93IGEgUmFuZ2VFcnJvciB3aGVuIGEgbW9kaWZpZXIgZGlzcGxheSBpdGVtIGhhcyBhbiBp
bnZhbGlkIGN1cnJlbmN5LiIsCisgICAgeworICAgICAgLi4udmFsaWREZXRhaWxzLAorICAgICAg
bW9kaWZpZXJzOiBbbW9kaWZpZXJXaXRoSW52YWxpZERpc3BsYXlJdGVtcywgdmFsaWRNb2RpZmll
cl0sCisgICAgfSwKKyAgICBSYW5nZUVycm9yCisgICk7CisgIHRlc3RCYWRVcGRhdGUoCisgICAg
Ik11c3QgdGhyb3cgYXMgTW9kaWZpZXIgaGFzIGEgcmVjdXJzaXZlIGRpY3Rpb25hcnkuIiwKKyAg
ICB7IC4uLnZhbGlkRGV0YWlscywgbW9kaWZpZXJzOiBbbW9kaWZpZXJXaXRoUmVjdXJzaXZlRGF0
YSwgdmFsaWRNb2RpZmllcl0gfSwKKyAgICBUeXBlRXJyb3IKKyAgKTsKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZXNvbHZlcy1tYW51YWwu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXByb21pc2UtcmVzb2x2ZXMtbWFu
dWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzNjBhOTcwNGFm
NDU5ZjMwMTgwZjkzOGQxMjgyOGY2ZGJmMWI1NzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZXNv
bHZlcy1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMzOSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5UZXN0IGZvciBQ
YXltZW50UmVxdWVzdC5zaG93KG9wdGlvbmFsIHByb21pc2UpIG1ldGhvZDwvdGl0bGU+Ci08bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9icm93c2VyLXBheW1lbnQt
YXBpLyNzaG93LW1ldGhvZCI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotc2V0dXAoewotICBhbGxvd191
bmNhdWdodF9leGNlcHRpb246IHRydWUsCi0gIGV4cGxpY2l0X2RvbmU6IHRydWUsCi0gIGV4cGxp
Y2l0X3RpbWVvdXQ6IHRydWUsCi19KTsKLQotLy8gREFUQSBVU0VEIEJZIFRFU1RTCi0vLyBQYXlt
ZW50TWV0aG9kcwotY29uc3QgdmFsaWRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbCi0gIHsKLSAg
ICBzdXBwb3J0ZWRNZXRob2RzOiAidmFsaWQtYnV0LXdvbnQtZXZlci1tYXRjaCIsCi0gIH0sCi0g
IHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0gIH0sCi0gIHsKLSAgICBz
dXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgICBkYXRh
OiB7Ci0gICAgICB2ZXJzaW9uOiAzLAotICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hh
bnQuY29tLmV4YW1wbGUiLAotICAgICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgICBtZXJjaGFu
dENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgICAgc3VwcG9ydGVkTmV0d29ya3M6
IFsidmlzYSJdLAotICAgIH0KLSAgfSwKLV0pOwotCi0vLyBBbW91bnRzCi1jb25zdCBmYWlsQW1v
dW50ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGN1cnJlbmN5OiAiVVNEIiwKLSAgdmFsdWU6ICIxLjAw
IiwKLX0pOwotY29uc3QgcGFzc0Ftb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5jeTog
IkNBRCIsCi0gIHZhbHVlOiAiNTAuMDAiLAotfSk7Ci1jb25zdCBuZXV0cmFsQW1vdW50ID0gT2Jq
ZWN0LmZyZWV6ZSh7Ci0gIGN1cnJlbmN5OiAiQVVEIiwKLSAgdmFsdWU6ICIwLjAwIiwKLX0pOwot
Ci0vLyBMYWJlbHMKLWNvbnN0IGZhaWxMYWJlbCA9ICLwn5KlIFRFU1QgSEFTIEZBSUxFRCDwn5Kl
IjsKLWNvbnN0IHBhc3NMYWJlbCA9ICLinIUgVEVTVCBIQVMgUEFTU0VEIOKchSI7Ci1jb25zdCBu
ZXV0cmFsTGFiZWwgPSAiSWdub3JlIHRoaXMgbGFiZWwiOwotLy8gVG90YWxzCi1jb25zdCBmYWls
VG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6IGZhaWxMYWJlbCwKLSAgYW1vdW50OiBm
YWlsQW1vdW50LAotfSk7Ci1jb25zdCBwYXNzVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFi
ZWw6IHBhc3NMYWJlbCwKLSAgYW1vdW50OiBwYXNzQW1vdW50LAotfSk7Ci1jb25zdCBuZXV0cmFs
VG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6IG5ldXRyYWxMYWJlbCwKLSAgYW1vdW50
OiBwYXNzQW1vdW50LAotfSk7Ci0KLS8vIFBheW1lbnRJdGVtCi1jb25zdCBmYWlsUGF5bWVudEl0
ZW0gPSBPYmplY3QuZnJlZXplKHsKLSAgYW1vdW50OiBmYWlsQW1vdW50LAotICBsYWJlbDogZmFp
bExhYmVsLAotfSk7Ci1jb25zdCBmYWlsUGF5bWVudEl0ZW1zID0gT2JqZWN0LmZyZWV6ZShbZmFp
bFBheW1lbnRJdGVtXSk7Ci0KLWNvbnN0IHBhc3NQYXltZW50SXRlbSA9IE9iamVjdC5mcmVlemUo
ewotICBhbW91bnQ6IHBhc3NBbW91bnQsCi0gIGxhYmVsOiBwYXNzTGFiZWwsCi19KTsKLWNvbnN0
IHBhc3NQYXltZW50SXRlbXMgPSBPYmplY3QuZnJlZXplKFtwYXNzUGF5bWVudEl0ZW1dKTsKLQot
Ly8gUGF5bWVudFNoaXBwaW5nT3B0aW9ucwotY29uc3QgZmFpbFNoaXBwaW5nT3B0aW9uID0gT2Jq
ZWN0LmZyZWV6ZSh7Ci0gIGlkOiAiZmFpbCIsCi0gIGxhYmVsOiBmYWlsTGFiZWwsCi0gIGFtb3Vu
dDogZmFpbEFtb3VudCwKLX0pOwotY29uc3QgZmFpbFNoaXBwaW5nT3B0aW9ucyA9IE9iamVjdC5m
cmVlemUoW2ZhaWxTaGlwcGluZ09wdGlvbl0pOwotCi1jb25zdCBuZXV0cmFsU2hpcHBpbmdPcHRp
b24gPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJuZXV0cmFsIiwKLSAgbGFiZWw6IG5ldXRyYWxM
YWJlbCwKLSAgYW1vdW50OiBuZXV0cmFsQW1vdW50LAotfSk7Ci0KLWNvbnN0IHVwZGF0ZWRTaGlw
cGluZ09wdGlvbjEgPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJ1cGRhdGVkLTEiLAotICBsYWJl
bDogYCR7cGFzc0xhYmVsfSAtIG9wdGlvbiAxYCwKLSAgYW1vdW50OiBwYXNzQW1vdW50LAotfSk7
Ci1jb25zdCB1cGRhdGVkU2hpcHBpbmdPcHRpb24yID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGlkOiAi
dXBkYXRlZC0yIiwKLSAgbGFiZWw6IGAke3Bhc3NMYWJlbH0gLSBvcHRpb24gMiAoTVVTVCBCRSBT
RUxFQ1RFRCEpYCwKLSAgYW1vdW50OiBwYXNzQW1vdW50LAotICBzZWxlY3RlZDogdHJ1ZSwKLX0p
OwotY29uc3QgcGFzc1NoaXBwaW5nT3B0aW9ucyA9IE9iamVjdC5mcmVlemUoWwotICB1cGRhdGVk
U2hpcHBpbmdPcHRpb24xLAotICB1cGRhdGVkU2hpcHBpbmdPcHRpb24yLAotXSk7Ci0KLS8vIE1v
ZGlmaWVycwotLy8gY3JlYXRlIGEgbW9kaWZpZXIgb2JqZWN0cyBmb3IgZWFjaCB2YWxpZE1ldGhv
ZHMKLS8vIGFuZCBzaW5nbGUgYWRkaXRpb25hbCBkaXNwbGF5IGl0ZW0KLWNvbnN0IGZhaWxNb2Rp
ZmllcnMgPSB2YWxpZE1ldGhvZHMubWFwKG1vZGlmaWVyID0+IHsKLSAgY29uc3QgbGFiZWwgPSBg
JHtmYWlsTGFiZWx9IC0gKCR7bW9kaWZpZXIuc3VwcG9ydGVkTWV0aG9kc30pYDsKLSAgcmV0dXJu
IHsKLSAgICAuLi5tb2RpZmllciwKLSAgICB0b3RhbDogewotICAgICAgLi4uZmFpbFRvdGFsLAot
ICAgICAgbGFiZWwsCi0gICAgfSwKLSAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiBbCi0gICAg
ICB7Ci0gICAgICAgIC4uLmZhaWxQYXltZW50SXRlbSwKLSAgICAgICAgbGFiZWwsCi0gICAgICB9
LAotICAgIF0sCi0gIH07Ci19KTsKLS8vIFVwZGF0ZXMgdGhlIHRvdGFsIGZvciBlYWNoLCBhbmQg
Y2hhbmdlcyB0aGUgYWRkaXRpb25hbERpc3BsYXlJdGVtcwotY29uc3QgcGFzc01vZGlmaWVycyA9
IGZhaWxNb2RpZmllcnMubWFwKG1vZGlmaWVyID0+IHsKLSAgY29uc3QgbGFiZWwgPSBgJHtwYXNz
TGFiZWx9IC0gKCR7bW9kaWZpZXIuc3VwcG9ydGVkTWV0aG9kc30pYDsKLSAgcmV0dXJuIHsKLSAg
ICAuLi5tb2RpZmllciwKLSAgICB0b3RhbDogewotICAgICAgLi4ucGFzc1RvdGFsLAotICAgICAg
bGFiZWwsCi0gICAgfSwKLSAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiBbCi0gICAgICB7Ci0g
ICAgICAgIC4uLnBhc3NQYXltZW50SXRlbSwKLSAgICAgICAgbGFiZWwsCi0gICAgICB9LAotICAg
IF0sCi0gIH07Ci19KTsKLQotLy8gUGF5bWVudERldGFpbHNJbml0Ci1jb25zdCBmYWlsRGV0YWls
cyA9IE9iamVjdC5mcmVlemUoewotICBkaXNwbGF5SXRlbXM6IGZhaWxQYXltZW50SXRlbXMsCi0g
IGlkOiAidGhpcyBjYW5ub3QgYmUgY2hhbmdlZCIsCi0gIG1vZGlmaWVyczogZmFpbE1vZGlmaWVy
cywKLSAgc2hpcHBpbmdPcHRpb25zOiBmYWlsU2hpcHBpbmdPcHRpb25zLAotICB0b3RhbDogZmFp
bFRvdGFsLAotfSk7Ci0KLWNvbnN0IG5ldXRyYWxEZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0g
IGRpc3BsYXlJdGVtczogW10sCi0gIG1vZGlmaWVyczogW10sCi0gIHNoaXBwaW5nT3B0aW9uczog
W25ldXRyYWxTaGlwcGluZ09wdGlvbl0sCi0gIHRvdGFsOiBuZXV0cmFsVG90YWwsCi19KTsKLQot
ZnVuY3Rpb24gc21va2VUZXN0KCkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAg
Y29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCh2YWxpZE1ldGhvZHMsIGZhaWxEZXRh
aWxzKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfanMoCi0gICAgICB0LAotICAgICAgVHlw
ZUVycm9yLAotICAgICAgcmVxdWVzdC5zaG93KHsKLSAgICAgICAgdG90YWw6ICJUaGlzIHRocm93
cyBhIFR5cGVFcnJvciIsCi0gICAgICB9KSwKLSAgICAgICJleHBlY3RlZCBUeXBlRXJyb3IiCi0g
ICAgKTsKLSAgfSwgInNtb2tlIHRlc3QgLSBjaGVja3MgaWYgdGhlIG9wdGlvbmFsIGRldGFpbHMg
YXJlIHN1cHBvcnRlZCBvbiBzaG93KCkgbWV0aG9kIik7Ci19Ci0KLWZ1bmN0aW9uIHJ1blVwZGF0
ZURldGFpbHNBbGdvcml0aG0oCi0gIGJ1dHRvbkVsZW1lbnQsCi0gIGRldGFpbHMsCi0gIG9wdGlv
bnMgPSB7Ci0gICAgcmVxdWVzdFNoaXBwaW5nOiB0cnVlLAotICB9LAotICBpbml0aWFsRGV0YWls
cyA9IGZhaWxEZXRhaWxzLAotKSB7Ci0gIGNvbnN0IHRlc3RBc3NlcnRpb24gPSBidXR0b25FbGVt
ZW50LnRleHRDb250ZW50LnRyaW0oKTsKLSAgYnV0dG9uRWxlbWVudC5kaXNhYmxlZCA9IHRydWU7
Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBh
eW1lbnRSZXF1ZXN0KHZhbGlkTWV0aG9kcywgaW5pdGlhbERldGFpbHMsIG9wdGlvbnMpOwotICAg
IGNvbnN0IGRldGFpbHNQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKGRldGFpbHMpOwotICAgIGNv
bnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coZGV0YWlsc1Byb21pc2UpOwotICAgIGFz
c2VydF9lcXVhbHMocmVxdWVzdC5pZCwgInRoaXMgY2Fubm90IGJlIGNoYW5nZWQiLCAiaWQgbXVz
dCBuZXZlciBjaGFuZ2UuIik7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAg
IHQsCi0gICAgICAiQWJvcnRFcnJvciIsCi0gICAgICBhY2NlcHRQcm9taXNlLAotICAgICAgImV4
cGVjdGVkIEFib3J0RXJyb3IiCi0gICAgKTsKLSAgfSwgdGVzdEFzc2VydGlvbik7Ci19Ci08L3Nj
cmlwdD4KLTxoMj4KLSAgUGF5bWVudFJlcXVlc3QgPGNvZGU+LnNob3cob3B0aW9uYWwgZGV0YWls
c1Byb21pc2UpPC9jb2RlPiB0ZXN0cwotPC9oMj4KLTxwPgotICBUaGVzZSB0ZXN0IGNhdXNlIDxj
b2RlPmRldGFpbHNQcm9taXNlPC9jb2RlPiB0byByZXNvbHZlIHN1Y2Nlc3NmdWxseSB3aXRoIHNv
bWUgdXBkYXRlZCB2YWx1ZS4gQXMgc3VjaCwgdGhhdCB3aWxsIGNhdXNlCi0gIHNvbWV0aGluZyBp
biB0aGUgcGF5bWVudCBzaGVldCB0byBjaGFuZ2UuIEVhY2ggdGVzdCBkZXNjcmliZXMgd2hhdCBp
cyBleHBlY3RlZCB0byBjaGFuZ2UgLSBpZiBhbnl0aGluZy4KLTwvcD4KLTxwPgotICA8c3Ryb25n
Pkluc3RydWN0aW9uczo8L3N0cm9uZz4gQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2Ug
ZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4gVGhlIHBheW1l
bnQKLSAgc2hlZXQgd2lsbCBiZSBzaG93bi4gSWYgcmVxdWlyZWQsIGNvbmZpcm0gdGhhdCB0aGUg
ZXhwZWN0ZWQgdmFsdWUgYXBwZWFycyBpbiB0aGUgcGF5bWVudCBzaGVldC4gRmluYWxseSwgbWFu
dWFsbHkgYWJvcnQvY2FuY2VsCi0gIHRoZSBwYXltZW50IHJlcXVlc3QgYnkgY2xvc2luZyB0aGUg
cGF5bWVudCBzaGVldC4KLTwvcD4KLTxvbD4KLSAgPGxpPjxidXR0b24gb25jbGljaz0ic21va2VU
ZXN0KCkiPklmIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCB0aGUgdGVzdCBoYXMgZmFpbGVk
LjwvYnV0dG9uPjwvbGk+Ci0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIGNvbnN0IGRldGFp
bHMgPSB7Ci0gICAgICAuLi5uZXV0cmFsRGV0YWlscywKLSAgICAgIGlkOiAnZmFpbCcsCi0gICAg
fTsKLSAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3JpdGhtKHRoaXMsIGRldGFpbHMpOwotICAiPgot
ICAgIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRoZSBwcm92aWRlZCBgaWRgIG11
c3QgaGF2ZSBubyBlZmZlY3Qgb24gdGhlIHBheW1lbnQgcmVxdWVzdC4KLSAgPC9idXR0b24+PC9s
aT4KLSAgPGxpPjxidXR0b24gb25jbGljaz0iCi0gICAgY29uc3QgZGV0YWlscyA9IHsKLSAgICAg
IC4uLm5ldXRyYWxEZXRhaWxzLAotICAgICAgdG90YWw6IHBhc3NUb3RhbAotICAgIH07Ci0gICAg
cnVuVXBkYXRlRGV0YWlsc0FsZ29yaXRobSh0aGlzLCBkZXRhaWxzKTsKLSAgIj4KLSAgICBXaGVu
IHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCB0aGUgdG90YWwgbXVzdCBiZSBDQUQkNTAgd2l0
aCB0aGUgbGFiZWwgIuKchSBURVNUIEhBUyBQQVNTRUQg4pyFIi4KLSAgPC9idXR0b24+PC9saT4K
LSAgPGxpPjxidXR0b24gb25jbGljaz0iCi0gICAgY29uc3QgZGV0YWlscyA9IHsKLSAgICAgIC4u
Lm5ldXRyYWxEZXRhaWxzLAotICAgICAgZGlzcGxheUl0ZW1zOiBwYXNzUGF5bWVudEl0ZW1zLAot
ICAgIH07Ci0gICAgcnVuVXBkYXRlRGV0YWlsc0FsZ29yaXRobSh0aGlzLCBkZXRhaWxzKTsKLSAg
ICAiPgotICAgIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRoZXJlIG11c3QgYmUg
YSBvbmUgZGlzcGxheSBpdGVtIHdpdGggYSB2YWx1ZSBvZiBDQUQkNTAgd2l0aCB0aGUgbGFiZWwg
IuKchSBURVNUIEhBUyBQQVNTRUQg4pyFIi4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxp
PjxidXR0b24gb25jbGljaz0iCi0gICAgY29uc3QgYXVJdGVtID0gewotICAgICAgLi4ucGFzc1Bh
eW1lbnRJdGVtLAotICAgICAgYW1vdW50OiB7IHZhbHVlOiAnNDAnLCBjdXJyZW5jeTogJ0FVRCd9
LAotICAgICAgcGVuZGluZzogdHJ1ZQotICAgIH0KLSAgICBjb25zdCBkZXRhaWxzID0gewotICAg
ICAgLi4ubmV1dHJhbERldGFpbHMsCi0gICAgICBkaXNwbGF5SXRlbXM6IHBhc3NQYXltZW50SXRl
bXMuY29uY2F0KGF1SXRlbSksCi0gICAgfTsKLSAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3JpdGht
KHRoaXMsIGRldGFpbHMpOwotICAgICI+Ci0gICAgV2hlbiB0aGUgcGF5bWVudCBzaGVldCBpcyBz
aG93biwgdGhlcmUgbXVzdCBiZQotICAgIHR3byBkaXNwbGF5IGl0ZW1zOiBPbmUgd2l0aCBhIHZh
bHVlIG9mIENBRCQ1MCwgYW5vdGhlciB3aXRoCi0gICAgdmFsdWUgQVVEJDQwIHRoYXQgaXMgcGVu
ZGluZy4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPjxidXR0b24gb25jbGljaz0iCi0g
ICAgY29uc3QgZGV0YWlscyA9IHsKLSAgICAgIC4uLm5ldXRyYWxEZXRhaWxzLAotICAgICAgc2hp
cHBpbmdPcHRpb25zOiBbdXBkYXRlZFNoaXBwaW5nT3B0aW9uMV0sCi0gICAgfTsKLSAgICBydW5V
cGRhdGVEZXRhaWxzQWxnb3JpdGhtKHRoaXMsIGRldGFpbHMpOwotICAgICI+Ci0gICAgV2hlbiB0
aGUgcGF5bWVudCBzaGVldCBpcyBzaG93biwgdGhlcmUgbXVzdCBiZSBhIG9uZSBzaGlwcGluZyBv
cHRpb24KLSAgICB3aXRoIGEgdmFsdWUgb2YgQ0FEJDUwLgotICAgIDwvYnV0dG9uPgotICA8L2xp
PgotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBkZXRhaWxzID0gewotICAgICAg
Li4ubmV1dHJhbERldGFpbHMsCi0gICAgICBzaGlwcGluZ09wdGlvbnM6IHBhc3NTaGlwcGluZ09w
dGlvbnMsCi0gICAgfTsKLSAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3JpdGhtKHRoaXMsIGRldGFp
bHMpOwotICAgICI+Ci0gICAgV2hlbiB0aGUgcGF5bWVudCBzaGVldCBpcyBzaG93biwgdGhlcmUg
bXVzdCBiZQotICAgIHR3byBzaGlwcGluZyBvcHRpb25zOiBPbmUgd2l0aCBhIHZhbHVlIG9mIENB
RCQ1MCwgYW5vdGhlciB3aXRoCi0gICAgdmFsdWUgQVVEJDQwIHRoYXQgaXMgc2VsZWN0ZWQuCi0g
ICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIGNvbnN0
IGRldGFpbHMgPSB7Ci0gICAgICAuLi5uZXV0cmFsRGV0YWlscywKLSAgICAgIG1vZGlmaWVyczog
cGFzc01vZGlmaWVycywKLSAgICB9OwotICAgIHJ1blVwZGF0ZURldGFpbHNBbGdvcml0aG0odGhp
cywgZGV0YWlscyk7Ci0gICAgIj4KLSAgICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3du
LCB0aGUgdG90YWwgc2hvdWxkIGJlIENBRCQ1MC4KLSAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxs
aT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAgY29uc3QgZGV0YWlscyA9IHsKLSAgICAg
ICAgLi4ubmV1dHJhbERldGFpbHMsCi0gICAgICAgIHNoaXBwaW5nT3B0aW9uczogW10sCi0gICAg
ICAgIGVycm9yOiBwYXNzTGFiZWwsCi0gICAgICB9OwotICAgICAgcnVuVXBkYXRlRGV0YWlsc0Fs
Z29yaXRobSh0aGlzLCBkZXRhaWxzKTsKLSAgICAiPgotICAgIFdoZW4gdGhlIHBheW1lbnQgc2hl
ZXQgaXMgc2hvd24sIHRoZSBzdHJpbmcgIuKchSBURVNUIEhBUyBQQVNTRUQg4pyFIiBzaG91bGQg
YmUgc2hvd24KLSAgICBzb21ld2hlcmUgaW4gdGhlIHVzZXIgaW50ZXJmYWNlLiBBbHRlcm5hdGl2
ZWx5LCB0aGUgcGF5bWVudCBzaGVldCBtdXN0IGluZGljYXRlIHRvIHRoZQotICAgIGVuZCB1c2Vy
IHRoYXQgaXQncyBub3QgcG9zc2libGUgdG8gc2hpcCB0aGVpciBvcmRlci4KLSAgICA8L2J1dHRv
bj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICBjb25zdCBk
ZXRhaWxzID0gewotICAgICAgICAuLi5uZXV0cmFsRGV0YWlscywKLSAgICAgICAgZXJyb3I6IGZh
aWxMYWJlbCwKLSAgICAgIH07Ci0gICAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3JpdGhtKHRoaXMs
IGRldGFpbHMsIHtyZXF1ZXN0U2hpcHBpbmc6IGZhbHNlfSk7Ci0gICAgIj4KLSAgICBXaGVuIHRo
ZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCB0aGVyZSBzaG91bGQgbm90IGJlIGFueSBlcnJvcnMg
c2hvd24uCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xp
Y2s9IgotICAgICAgY29uc3QgaW5pdGlhbERldGFpbHMgPSB7dG90YWw6IHBhc3NUb3RhbCwgaWQ6
ICd0aGlzIGNhbm5vdCBiZSBjaGFuZ2VkJ307Ci0gICAgICBjb25zdCB1cGRhdGVkRGV0YWlscyA9
IHt9OwotICAgICAgcnVuVXBkYXRlRGV0YWlsc0FsZ29yaXRobSgKLSAgICAgICAgICAgIHRoaXMs
IHVwZGF0ZWREZXRhaWxzLCB7cmVxdWVzdFNoaXBwaW5nOiBmYWxzZX0sIGluaXRpYWxEZXRhaWxz
KTsKLSAgICAiPgotICAgIFJlc29sdmluZyB0aGUgc2hvdyBwcm9taXNlIHdpdGggZW1wdHkgZGV0
YWlscyB3aWxsIHByZXNlcnZlIHRoZSBkZXRhaWxzIGZyb20KLSAgICB0aGUgY29uc3RydWN0b3Iu
IFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRoZSBzdHJpbmcKLSAgICAi4pyFIFRF
U1QgSEFTIFBBU1NFRCDinIUiIHNob3VsZCBiZSBzaG93bi4KLSAgICA8L2J1dHRvbj4KLSAgPC9s
aT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+RG9uZSE8L2J1dHRvbj4K
LSAgPC9saT4KLTwvb2w+Ci0KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBw
bGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQv
aXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0
cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVu
dC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1wb3N0bWVzc2FnZS1tYW51YWwuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3Nob3ctbWV0aG9kLXBvc3RtZXNzYWdlLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5MjBlMGE5OTkyZWJhMWY2MDRkNWQwMjQ2ZjFjN2U3ZTdiNDJi
ZDFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3No
b3ctbWV0aG9kLXBvc3RtZXNzYWdlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08
dGl0bGU+VGVzdCBmb3IgUGF5bWVudFJlcXVlc3Quc2hvdygpIG1ldGhvZDwvdGl0bGU+Ci08bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9icm93c2VyLXBheW1lbnQt
YXBpLyNzaG93LW1ldGhvZCI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotc2V0dXAoewotICBleHBsaWNp
dF9kb25lOiB0cnVlLAotICBleHBsaWNpdF90aW1lb3V0OiB0cnVlLAotICBhbGxvd191bmNhdWdo
dF9leGNlcHRpb246IHRydWUsCi19KTsKLQotYXN5bmMgZnVuY3Rpb24gcnVuVXNlckFjdGl2YXRp
b24oYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIGNvbnN0IHsgY29udGVu
dFdpbmRvdzogaWZyYW1lV2luZG93IH0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaWZyYW1l
Iik7Ci0gIGNvbnN0IGV4cGVjdGVkSWQgPSAicGFzczEyMyI7Ci0gIGF3YWl0IFByb21pc2UucmVz
b2x2ZSgpOyAvLyBuZXh0IHRpY2sKLSAgY29uc3QgcHJvbWlzZUZvclJlc3BvbnNlID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgd2luZG93Lm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgcmVx
dWVzdElkIH0gfSkgPT4gcmVzb2x2ZShyZXF1ZXN0SWQpOwotICB9KTsKLSAgY29uc3Qgb3BzID0g
eyBpZDogZXhwZWN0ZWRJZCwgcmVxdWVzdDogInNob3ctcGF5bWVudC1yZXF1ZXN0IiB9OwotICBp
ZnJhbWVXaW5kb3cucG9zdE1lc3NhZ2Uob3BzLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTsKLSAg
cHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBjb25zdCBhY3R1YWxJZCA9IGF3YWl0IHBy
b21pc2VGb3JSZXNwb25zZTsKLSAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbElkLCBleHBlY3RlZElk
LCAiaWRzIG11c3QgbWF0Y2giKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci0g
IGRvbmUoKTsKLX0KLQotPC9zY3JpcHQ+Ci08aDI+VGVzdCBQYXltZW50UmVxdWVzdC5zaG93KCkg
dHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbiB1c2luZyBwb3N0TWVzc2FnZSgpPC9oMj4KLTxw
PgotICBUZXN0cyB0aGF0IHVzZXIgYWN0aXZhdGlvbiB3b3JrcyBvdmVyIHBvc3RNZXNzYWdlKCku
Ci08L3A+Ci08cD4KLSAgQ2xpY2sgb24gYm90dG9tIGJlbG93LiBIaXQgIlBheSIuCi08L3A+Ci08
b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1blVzZXJBY3RpdmF0aW9uKHRoaXMp
Ij4KLSAgICAgIHNob3coKSBpcyB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uIHBhc3NlZCB0
aHJvdWdoIHBvc3RNZXNzYWdlKCkgYW5kIGEgcHJvbWlzZQotICAgIDwvYnV0dG9uPgotICA8L2xp
PgotPC9vbD4KLTxpZnJhbWUgd2lkdGg9IjEwMCUiIGlkPSJpZnJhbWUiIHNyYz0ic2hvdy1tZXRo
b2QtcG9zdG1lc3NhZ2UtaWZyYW1lLmh0bWwiIGFsbG93cGF5bWVudHJlcXVlc3Q+PC9pZnJhbWU+
Ci08cD4KLSAgPHNtYWxsPgotICAgIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxh
IGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+
ZmlsZSBhIGJ1ZzwvYT4KLSAgICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1
ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLSAgPC9zbWFsbD4KLTwvcD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3VwZGF0ZVdpdGgtbWV0aG9kLXBtaS1oYW5kbGluZy1tYW51YWwuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L3VwZGF0ZVdpdGgtbWV0aG9kLXBtaS1oYW5kbGluZy1tYW51YWwuaHR0cHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWE1Mjk3OGNhM2UzMTIzOTJjNzU0
YzA4MjY3NDA1NzIzZTVmODgwMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC91cGRhdGVXaXRoLW1ldGhvZC1wbWktaGFuZGxpbmctbWFudWFsLmh0dHBz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNDAgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdCBmb3IgdmFsaWRpdHkgb2YgcGF5bWVu
dCBtZXRob2QgaWRlbnRpZmllcnMgd2hlbiBjYWxsaW5nIHVwZGF0ZVdpdGgoKSBtZXRob2Q8L3Rp
dGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcGF5bWVu
dC1yZXF1ZXN0LyN1cGRhdGV3aXRoKCktbWV0aG9kIj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci1zZXR1
cCh7Ci0gIGV4cGxpY2l0X2RvbmU6IHRydWUsCi0gIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUsCi0g
IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSwKLX0pOwotY29uc3QgYXBwbGVQYXkgPSBP
YmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2Fw
cGxlLXBheSIsCi0gIGRhdGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRp
ZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAg
ICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5l
dHdvcmtzOiBbInZpc2EiXSwKLSAgfSwKLX0pOwotY29uc3QgdmFsaWRNZXRob2QgPSBPYmplY3Qu
ZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vOkB3cHQuZnlpOjQ0My9wYXlt
ZW50LXJlcXVlc3QiLAotfSk7Ci0KLWNvbnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5mcmVlemUo
WwotICB2YWxpZE1ldGhvZCwKLSAgYXBwbGVQYXksCi0gIHsgc3VwcG9ydGVkTWV0aG9kczogImJh
c2ljLWNhcmQiIH0sCi1dKTsKLQotY29uc3QgdmFsaWRBbW91bnQgPSBPYmplY3QuZnJlZXplKHsK
LSAgY3VycmVuY3k6ICJVU0QiLAotICB2YWx1ZTogIjEuMCIsCi19KTsKLQotY29uc3QgdmFsaWRU
b3RhbCA9IE9iamVjdC5mcmVlemUoewotICBsYWJlbDogIkRlZmF1bHQgVG90YWwiLAotICBhbW91
bnQ6IHZhbGlkQW1vdW50LAotfSk7Ci0KLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24gPSBPYmpl
Y3QuZnJlZXplKHsKLSAgaWQ6ICJzdGFuZGFyZCIsCi0gIGxhYmVsOiAiU2hpcHBpbmcgb3B0aW9u
IiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgc2VsZWN0ZWQ6IHRydWUsCi19KTsKLQotY29u
c3QgdmFsaWREZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB2YWxpZFRvdGFsLAot
ICBzaGlwcGluZ09wdGlvbnM6IFt2YWxpZFNoaXBwaW5nT3B0aW9uXSwKLX0pOwotCi1jb25zdCB2
YWxpZE1vZGlmaWVyID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNp
Yy1jYXJkIiwKLSAgdG90YWw6IHZhbGlkVG90YWwsCi19KTsKLQotZnVuY3Rpb24gbWFudWFsVGVz
dChidXR0b24sIHsgaW52YWxpZE1ldGhvZCB9KSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7
Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBh
eW1lbnRSZXF1ZXN0KHZhbGlkTWV0aG9kcywgdmFsaWREZXRhaWxzLCB7Ci0gICAgICByZXF1ZXN0
U2hpcHBpbmc6IHRydWUsCi0gICAgfSk7Ci0gICAgY29uc3QgbGlzdGVuZXIgPSBldiA9PiB7Ci0g
ICAgICBjb25zdCBpbnZhbGlkTW9kaWZpZXIgPSBPYmplY3QuYXNzaWduKHt9LCB2YWxpZE1vZGlm
aWVyLCB7Ci0gICAgICAgIHN1cHBvcnRlZE1ldGhvZHM6IGludmFsaWRNZXRob2QsCi0gICAgICB9
KTsKLSAgICAgIGNvbnN0IGludmFsaWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWRE
ZXRhaWxzLCB7Ci0gICAgICAgIG1vZGlmaWVyczogW3ZhbGlkTW9kaWZpZXIsIGludmFsaWRNb2Rp
Zmllcl0sCi0gICAgICB9KTsKLSAgICAgIGV2LnVwZGF0ZVdpdGgoaW52YWxpZERldGFpbHMpOwot
ICAgIH07Ci0gICAgLy8gV2UgdGVzdCBhZ2FpbnN0IGEgdmFsaWQgYW5kIGFuIGludmFsaWQgbW9k
aWZpZXIKLSAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5n
ZSIsIGxpc3RlbmVyLCB7IG9uY2U6IHRydWUgfSk7Ci0gICAgY29uc3Qgc2hvd1Byb21pc2UgPSBy
ZXF1ZXN0LnNob3coKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfanModCwgUmFuZ2VFcnJv
ciwgc2hvd1Byb21pc2UpOwotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLTwv
c2NyaXB0PgotPGgyPnVwZGF0ZVdpdGgoKSBtZXRob2Q6IHRlc3QgdmFsaWRpdHkgb2YgcGF5bWVu
dCBtZXRob2QgaWRlbnRpZmllcnMuPC9oMj4KLTxwPgotICBXaGVuIHNob3duIGEgcGF5bWVudCBz
aGVldCwgc2VsZWN0IGEgZGlmZmVyZW50IGFkZHJlc3MuCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAg
ICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVhbFRlc3QodGhpcywge2ludmFsaWRNZXRob2Q6ICdodHRw
czovLzpwYXNzd29yZEBleGFtcGxlLmNvbSd9KTsiPgotICAgICAgTXVzdCB0aHJvdyBpZiB0aGUg
VVJMIGhhcyBhIHBhc3N3b3JkLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAg
PGJ1dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9kOiAnaHR0cHM6
Ly91c2VybmFtZUBleGFtcGxlLmNvbSd9KTsiPgotICAgICAgTXVzdCB0aHJvdyBpZiB0aGUgVVJM
IGhhcyBhIHVzZXJuYW1lLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1
dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9kOiAnaHR0cHM6Ly91
c2VybmFtZTpwYXNzd29yZEBleGFtcGxlLmNvbS9wYXknfSk7Ij4KLSAgICAgIE11c3QgdGhyb3cg
aWYgdGhlIFVSTCBoYXMgYSB1c2VybmFtZSBhbmQgYSBwYXNzd29yZC4KLSAgICA8L2J1dHRvbj4K
LSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0ibWFudWFsVGVzdCh0aGlzLCB7
aW52YWxpZE1ldGhvZDogJ2h0dHA6Ly91c2VybmFtZTpwYXNzd29yZEBleGFtcGxlLmNvbS9wYXkn
fSk7Ij4KLSAgICAgIE11c3QgdGhyb3cgaWYgaXQncyBodHRwLCBhbmQgaGFzIGEgdXNlcm5hbWUg
YW5kIHBhc3N3b3JkLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRv
biBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9kOiAnaHR0cDovL2Zvby5j
b206MTAwMDAwMDAwL3BheSd9KTsiPgotICAgICAgTXVzdCB0aHJvdyBpZiB0aGUgVVJMIGlzIGlu
dmFsaWQgKHBvcnQgcmFuZ2UpLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAg
PGJ1dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9kOiAnYmFzaWMt
8J+Ssyd9KTsiPgotICAgICAgTXVzdCB0aHJvdyBpZiB0aGUgUE1JIGNvbnRhaW5zIGNoYXJhY3Rl
cnMgdGhhdCBhcmUgb3V0IG9mIHJhbmdlLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9kOiAn
bm90LWh0dHBzOi8vd3B0LmZ5aS9wYXltZW50LXJlcXVlc3QnfSk7Ij4KLSAgICAgIE11c3QgdGhy
b3cgaWYgbm90IGh0dHBzLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1
dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9kOiAnwqFiYXNpYy0q
LWNhcmQhJ30pOyI+Ci0gICAgICBNdXN0IHRocm93IGlmIHRoZSBzdGFuZGFyZGl6ZWQgUE1JIGNv
bnRhaW5zIGNoYXJhY3RlcnMgb3V0c2lkZSB0aGUgYXNjaWkgcmFuZ2UuCi0gICAgPC9idXR0b24+
Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVhbFRlc3QodGhpcywg
e2ludmFsaWRNZXRob2Q6ICdCYXNpYy1DYXJkJ30pOyI+Ci0gICAgICBNdXN0IHRocm93IGlmIHN0
YW5kYXJkaXplZCBQTUkgaGFzIHVwcGVyY2FzZSBjaGFyYWN0ZXJzLgotICAgIDwvYnV0dG9uPgot
ICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCk7Ij5Eb25lITwvYnV0
dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0
LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0i
aHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5
bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC91c2VyLWFib3J0LWFsZ29yaXRobS1tYW51YWwuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3VzZXItYWJvcnQtYWxnb3JpdGhtLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwNzhiZjNkNjFhZTZlNzViM2NjZjBmZWQ4YTk4N2U2YjdjZDM2ZmZl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3VzZXIt
YWJvcnQtYWxnb3JpdGhtLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODAg
KzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jdXNl
ci1hYm9ydHMtdGhlLXBheW1lbnQtcmVxdWVzdC1hbGdvcml0aG0iPgotPHRpdGxlPgotICBVc2Vy
IGFib3J0cyB0aGUgcGF5bWVudCByZXF1ZXN0IGFsZ29yaXRobS4KLTwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0
dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwotCi1j
b25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5jeTogIlVTRCIsCi0g
IHZhbHVlOiAiMS4wIiwKLX0pOwotY29uc3QgdmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewot
ICBsYWJlbDogIlRvdGFsIGR1ZSIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQsCi19KTsKLWNvbnN0
IGFwcGxlUGF5ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczov
L2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICBkYXRhOiB7Ci0gICAgdmVyc2lvbjogMywKLSAgICBt
ZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCi0gICAgY291bnRyeUNv
ZGU6ICJVUyIsCi0gICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAg
ICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gIH0KLX0pOwotY29uc3QgdmFsaWRNZXRo
b2QgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAot
fSk7Ci1jb25zdCB2YWxpZE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFt2YWxpZE1ldGhvZCwgYXBw
bGVQYXldKTsKLWNvbnN0IHZhbGlkRGV0YWlscyA9IE9iamVjdC5mcmVlemUoewotICB0b3RhbDog
dmFsaWRUb3RhbCwKLX0pOwotCi10ZXN0KCgpID0+IHsKLSAgdHJ5IHsKLSAgICBuZXcgUGF5bWVu
dFJlcXVlc3QodmFsaWRNZXRob2RzLCB2YWxpZERldGFpbHMpOwotICB9IGNhdGNoIChlcnIpIHsK
LSAgICBkb25lKCk7Ci0gICAgdGhyb3cgZXJyOwotICB9Ci19LCAiQ2FuIGNvbnN0cnVjdCBhIHBh
eW1lbnQgcmVxdWVzdCAoc21va2UgdGVzdCkuIik7Ci0KLWFzeW5jIGZ1bmN0aW9uIHJ1bkFib3J0
VGVzdChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgY29uc3QgeyB0ZXh0
Q29udGVudDogdGVzdE5hbWUgfSA9IGJ1dHRvbjsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
ewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QodmFsaWRNZXRob2RzLCB2
YWxpZERldGFpbHMpOwotICAgIC8vIEF3YWl0IHRoZSB1c2VyIHRvIGFib3J0Ci0gICAgYXdhaXQg
cHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiQWJvcnRFcnJvciIsIHJlcXVlc3Quc2hvdygpKTsKLSAg
ICAvLyBbW3N0YXRlXV0gaXMgbm93IGNsb3NlZAotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19k
b20odCwgIkludmFsaWRTdGF0ZUVycm9yIiwgcmVxdWVzdC5zaG93KCkpOwotICB9LCB0ZXN0TmFt
ZS50cmltKCkpOwotfQotPC9zY3JpcHQ+Ci08aDI+Ci0gICBVc2VyIGFib3J0cyB0aGUgcGF5bWVu
dCByZXF1ZXN0IGFsZ29yaXRobS4KLTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24g
aW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFn
ZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdp
bmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50IHNoZWV0
LCBhYm9ydCB0aGUgcGF5bWVudCByZXF1ZXN0Ci0gIChlLmcuLCBieSBoaXR0aW5nIHRoZSBlc2Mg
a2V5IG9yIHByZXNzaW5nIGEgVUEgcHJvdmlkZWQgYnV0dG9uKS4KLTwvcD4KLTxvbD4KLSAgPGxp
PgotICAgIDxidXR0b24gb25jbGljaz0icnVuQWJvcnRUZXN0KHRoaXMpOyBkb25lKCk7Ij4KLSAg
ICAgIElmIHRoZSB1c2VyIGFib3J0cywgdGhlIFVBIG11c3QgcnVuIHRoZSB1c2VyIGFib3J0cyB0
aGUgcGF5bWVudCByZXF1ZXN0IGFsZ29yaXRobS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLTwv
b2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9
Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBh
IGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRB
LnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
dXNlci1hY2NlcHRzLXBheW1lbnQtcmVxdWVzdC1hbGdvLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
dXNlci1hY2NlcHRzLXBheW1lbnQtcmVxdWVzdC1hbGdvLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjI1MTM3NTg1M2E3ZGNjYmNlY2M4ZDMxZGM1MGRk
OTRlNzU3Y2JiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3VzZXItYWNjZXB0cy1wYXltZW50LXJlcXVlc3QtYWxnby1tYW51YWwuaHR0cHMuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDIzMCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNo
YXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vcGF5bWVudC1yZXF1ZXN0LyN1c2VyLWFjY2VwdHMtdGhlLXBheW1lbnQtcmVxdWVzdC1hbGdv
cml0aG0iPgotPHRpdGxlPgotICBVc2VyIGFjY2VwdHMgdGhlIHBheW1lbnQgcmVxdWVzdCBhbGdv
cml0aG0KLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNp
dF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgYXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsKLSAg
c3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gIGRhdGE6
IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNv
bS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICBtZXJjaGFudENhcGFiaWxp
dGllczogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwK
LSAgfQotfSk7Ci1jb25zdCBiYXNpY0NhcmRNZXRob2QgPSBPYmplY3QuZnJlZXplKHsKLSAgc3Vw
cG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZCA9IE9i
amVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAidGhpcy1pcy1qdXN0LWZvci10ZXN0
aW5ncy13aWxsLW5ldmVyLW1hdGNoIiwKLX0pOwotY29uc3QgbWV0aG9kcyA9IE9iamVjdC5mcmVl
emUoW2Jhc2ljQ2FyZE1ldGhvZCwgdmFsaWRNZXRob2QsIGFwcGxlUGF5XSk7Ci1jb25zdCB2YWxp
ZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5jeTogIlVTRCIsCi0gIHZhbHVlOiAi
NS4wMCIsCi19KTsKLWNvbnN0IHNoaXBwaW5nT3B0aW9ucyA9IFsKLSAgT2JqZWN0LmZyZWV6ZSh7
Ci0gICAgaWQ6ICJvcHRpb24xIiwKLSAgICBsYWJlbDogIk9wdGlvbiAxIiwKLSAgICBhbW91bnQ6
IHZhbGlkQW1vdW50LAotICAgIHNlbGVjdGVkOiBmYWxzZSwKLSAgfSksCi0gIE9iamVjdC5mcmVl
emUoewotICAgIGlkOiAib3B0aW9uIDIiLAotICAgIGxhYmVsOiAiT3B0aW9uIDIiLAotICAgIGFt
b3VudDogdmFsaWRBbW91bnQsCi0gICAgc2VsZWN0ZWQ6IHRydWUsCi0gIH0pLAotXTsKLQotY29u
c3QgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25zID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB7
Ci0gICAgbGFiZWw6ICJUb3RhbCBkdWUiLAotICAgIGFtb3VudDogdmFsaWRBbW91bnQsCi0gIH0s
Ci19KTsKLQotY29uc3QgZGV0YWlsc1dpdGhTaGlwcGluZ09wdGlvbnMgPSBPYmplY3QuYXNzaWdu
KHt9LCBkZXRhaWxzTm9TaGlwcGluZ09wdGlvbnMsIHsKLSAgc2hpcHBpbmdPcHRpb25zLAotfSk7
Ci0KLWNvbnN0IG9wdGlvbnNSZXF1ZXN0Tm90aGluZyA9IE9iamVjdC5mcmVlemUoewotICByZXF1
ZXN0U2hpcHBpbmc6IGZhbHNlLAotICByZXF1ZXN0UGF5ZXJFbWFpbDogZmFsc2UsCi0gIHJlcXVl
c3RQYXllck5hbWU6IGZhbHNlLAotICByZXF1ZXN0UGF5ZXJQaG9uZTogZmFsc2UsCi19KTsKLQot
Y29uc3Qgb3B0aW9uc1JlcXVlc3RFdmVyeXRoaW5nID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHJlcXVl
c3RTaGlwcGluZzogdHJ1ZSwKLSAgcmVxdWVzdFBheWVyRW1haWw6IHRydWUsCi0gIHJlcXVlc3RQ
YXllck5hbWU6IHRydWUsCi0gIHJlcXVlc3RQYXllclBob25lOiB0cnVlLAotfSk7Ci0KLXRlc3Qo
KCkgPT4gewotICAvLyBzbW9rZSB0ZXN0Ci0gIHRyeSB7Ci0gICAgbmV3IFBheW1lbnRSZXF1ZXN0
KG1ldGhvZHMsIGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucyk7Ci0gIH0gY2F0Y2ggKGVycikgewot
ICAgIGRvbmUoKTsKLSAgICB0aHJvdyBlcnI7Ci0gIH0KLX0sICJNdXN0IGJlIGFibGUgdG8gY29u
c3RydWN0IGEgcGF5bWVudCByZXF1ZXN0IChzbW9rZSB0ZXN0KSIpOwotCi1mdW5jdGlvbiB0ZXN0
QWNjZXB0UmVxdWVzdEFsZ29yaXRobSgKLSAgYnV0dG9uLAotICBkZXRhaWxzLAotICBvcHRpb25z
ID0ge30sCi0gIGV4cGVjdGVkUmVzcG9uc2UgPSB7fQotKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9
IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0g
bmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGRldGFpbHMsIG9wdGlvbnMpOwotICAgIGNvbnN0
IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAg
ICByZXNwb25zZSBpbnN0YW5jZW9mIFBheW1lbnRSZXNwb25zZSwKLSAgICAgICJFeHBlY3RlZCBh
biBpbnN0YW5jZSBvZiBQYXltZW50UmVzcG9uc2UuIgotICAgICk7Ci0gICAgLy8gUmVzcG9uc2Ug
W1tjYWxsZWRDb21wbGV0ZV1dIGlzIGZhbHNlLCBzbyB0aGlzIHNob3VsZG4ndCB0aHJvdwotICAg
IGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Ci0gICAgLy8gRm9yIGdvb2QgbWVh
c3VyZSwgdGVzdCB0aGF0IHN1YnNlcXVlbnQgY29tcGxldGUoKQotICAgIGZvciAoY29uc3Qgc3Rh
dGUgb2YgW3VuZGVmaW5lZCwgInN1Y2Nlc3MiLCAiZmFpbCIsICJ1bmtub3duIl0pIHsKLSAgICAg
IGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICAgIHQsCi0gICAgICAgICJJbnZhbGlk
U3RhdGVFcnJvciIsCi0gICAgICAgIHJlc3BvbnNlLmNvbXBsZXRlKHN0YXRlKSwKLSAgICAgICAg
IlJlc3BvbnNlIFtbY2FsbGVkQ29tcGxldGVdXSBpcyB0cnVlLCBzbyBJbnZhbGlkU3RhdGVFcnJv
ciIKLSAgICAgICk7Ci0gICAgfQotICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICByZXF1ZXN0Lmlk
LAotICAgICAgcmVzcG9uc2UucmVxdWVzdElkLAotICAgICAgIlJlcXVlc3QgYW5kIHJlc3BvbnNl
IGlkcyBtdXN0IG1hdGNoLiIKLSAgICApOwotICAgIGFzc2VydF90cnVlKHJlc3BvbnNlLmRldGFp
bHMgaW5zdGFuY2VvZiBPYmplY3QsICJFeHBlY3RlZCBhbiBvYmplY3QiKTsKLSAgICBhc3NlcnRf
ZXF1YWxzKAotICAgICAgcmVzcG9uc2Uuc2hpcHBpbmdBZGRyZXNzLAotICAgICAgcmVxdWVzdC5z
aGlwcGluZ0FkZHJlc3MsCi0gICAgICAiUmVxdWVzdCBhbmQgcmVzcG9uc2UgbXVzdCByZWZlcmVu
Y2Ugc2FtZSBzaGlwcGluZ0FkZHJlc3MgKG9yIGJvdGggbnVsbCkuIgotICAgICk7Ci0gICAgYXNz
ZXJ0X2VxdWFscygKLSAgICAgIHJlc3BvbnNlLnNoaXBwaW5nT3B0aW9uLAotICAgICAgcmVxdWVz
dC5zaGlwcGluZ09wdGlvbiwKLSAgICAgICJSZXF1ZXN0IGFuZCByZXNwb25zZSBtdXN0IGJlIHRo
ZSBzYW1lIHZhbHVlIChvciBib3RoIG51bGwpLiIKLSAgICApOwotICAgIGlmIChvcHRpb25zLnJl
cXVlc3RTaGlwcGluZyA9PT0gdHJ1ZSkgewotICAgICAgYXNzZXJ0X3RydWUoCi0gICAgICAgIHJl
c3BvbnNlLnNoaXBwaW5nQWRkcmVzcyBpbnN0YW5jZW9mIFBheW1lbnRBZGRyZXNzLAotICAgICAg
ICAiRXhwZWN0ZWQgYW4gaW5zdGFuY2Ugb2YgUGF5bWVudEFkZHJlc3MuIgotICAgICAgKTsKLSAg
ICB9Ci0gICAgY29uc3QgZXhwZWN0ZWQgPSB7Ci0gICAgICBtZXRob2ROYW1lOiAiYmFzaWMtY2Fy
ZCIsCi0gICAgICBwYXllckVtYWlsOiBvcHRpb25zLnJlcXVlc3RQYXllckVtYWlsCi0gICAgICAg
ID8gZXhwZWN0ZWRSZXNwb25zZS5wYXllckVtYWlsCi0gICAgICAgIDogbnVsbCwKLSAgICAgIHBh
eWVyTmFtZTogb3B0aW9ucy5yZXF1ZXN0UGF5ZXJOYW1lID8gZXhwZWN0ZWRSZXNwb25zZS5wYXll
ck5hbWUgOiBudWxsLAotICAgICAgcGF5ZXJQaG9uZTogb3B0aW9ucy5yZXF1ZXN0UGF5ZXJQaG9u
ZQotICAgICAgICA/IGV4cGVjdGVkUmVzcG9uc2UucGF5ZXJQaG9uZQotICAgICAgICA6IG51bGws
Ci0gICAgfTsKLSAgICBmb3IgKGNvbnN0IFthdHRyLCBleHBlY3RlZFZhbHVlXSBvZiBPYmplY3Qu
ZW50cmllcyhleHBlY3RlZCkpIHsKLSAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIHJlc3Bv
bnNlW2F0dHJdLAotICAgICAgICBleHBlY3RlZFZhbHVlLAotICAgICAgICBgcmVzcG9uc2UuJHth
dHRyfSBtdXN0IGJlICR7ZXhwZWN0ZWRWYWx1ZX1gCi0gICAgICApOwotICAgIH0KLSAgICBhd2Fp
dCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJv
ciIsCi0gICAgICByZXF1ZXN0LnNob3coKSwKLSAgICAgICJSZXF1ZXN0IFtbc3RhdGVdXSBpcyBj
bG9zZWQsIHNvIEludmFsaWRTdGF0ZUVycm9yIgotICAgICk7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29u
dGVudC50cmltKCkpOwotfQotCi08L3NjcmlwdD4KLQotPHNlY3Rpb24+Ci0gIDxoMiBpZD0idXNl
ci1hY2NlcHRzLXBheW1lbnQtcmVxdWVzdCI+VXNlciBhY2NlcHRzIHBheW1lbnQgcmVxdWVzdDwv
aDI+Ci0gIDxwPgotICAgIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9w
IHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gICAgRWFjaCBidXR0b24g
d2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLSAgPC9wPgotICA8
cD4KLSAgICBXaGVuIHNob3duIHRoZSBwYXltZW50IHNoZWV0LCBwbGVhc2UgaW5wdXQgYSBjcmVk
aXQgY2FyZCBhbmQgc2VsZWN0IFBheS4KLSAgPC9wPgotICA8b2w+Ci0gICAgPGxpPgotICAgICAg
PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgICAgY29uc3QgZGV0YWlsc1dpdGhJZCA9IE9iamVjdC5h
c3NpZ24oe30sIGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucywgeyBpZDogJ3Bhc3MnIH0pOwotICAg
ICAgICB0ZXN0QWNjZXB0UmVxdWVzdEFsZ29yaXRobSh0aGlzLCBkZXRhaWxzV2l0aElkLCBvcHRp
b25zUmVxdWVzdE5vdGhpbmcpOyI+Ci0gICAgICAgIFVzZXIgYWNjZXB0cyBwYXltZW50IHJlcXVl
c3QsIGJ1dCBub3Qgc2hpcHBpbmcgaXMgcmVxdWVzdGVkLgotICAgICAgPC9idXR0b24+IFVzZSBh
bnkgY3JlZGl0IGNhcmQgdG8gcGF5LgotICAgIDwvbGk+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRv
biBvbmNsaWNrPSIKLSAgICAgICAgY29uc3QgcmVxdWVzdFNoaXBwaW5nID0gT2JqZWN0LmFzc2ln
bih7fSwgb3B0aW9uc1JlcXVlc3ROb3RoaW5nLCB7cmVxdWVzdFNoaXBwaW5nOiB0cnVlfSk7Ci0g
ICAgICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0geyBzaGlwcGluZ09wdGlvbjogJ29wdGlvbiAy
JyB9OwotICAgICAgICB0ZXN0QWNjZXB0UmVxdWVzdEFsZ29yaXRobSh0aGlzLCBkZXRhaWxzV2l0
aFNoaXBwaW5nT3B0aW9ucywgcmVxdWVzdFNoaXBwaW5nLCBleHBlY3RlZFZhbHVlcyk7Ij4KLSAg
ICAgICAgVXNlciBhY2NlcHRzIHBheW1lbnQgcmVxdWVzdCwgbWVyY2hhbnQgcmVxdWVzdHMgc2hp
cHBpbmcuCi0gICAgICA8L2J1dHRvbj4gU2VsZWN0IGFueSBzaGlwcGluZyBvcHRpb24sIGFuZCB1
c2UgYW55IGNyZWRpdCBjYXJkIHRvIHBheS4KLSAgICA8L2xpPgotICAgIDxsaT4KLSAgICAgIDxi
dXR0b24gb25jbGljaz0iCi0gICAgICAgIGNvbnN0IHJlcXVlc3RQYXllckVtYWlsID0gT2JqZWN0
LmFzc2lnbih7fSwgb3B0aW9uc1JlcXVlc3ROb3RoaW5nLCB7cmVxdWVzdFBheWVyRW1haWw6IHRy
dWV9KTsKLSAgICAgICAgY29uc3QgZXhwZWN0VmFsdWVzID0geyBwYXllckVtYWlsOiAnd3B0QHcz
Lm9yZycgfTsKLSAgICAgICAgdGVzdEFjY2VwdFJlcXVlc3RBbGdvcml0aG0odGhpcywgZGV0YWls
c05vU2hpcHBpbmdPcHRpb25zLCByZXF1ZXN0UGF5ZXJFbWFpbCwgZXhwZWN0VmFsdWVzKTsiPgot
ICAgICAgICBVc2VyIGFjY2VwdHMgcGF5bWVudCByZXF1ZXN0LCBtZXJjaGFudCByZXF1ZXN0cyBl
bWFpbC4KLSAgICAgIDwvYnV0dG9uPgotICAgICAgV2hlbiBwcm9tcHRlZCwgcGxlYXNlIHVzZSAi
d3B0QHczLm9yZyIgYXMgdGhlIGVtYWlsLgotICAgIDwvbGk+Ci0gICAgPGxpPgotICAgICAgPGJ1
dHRvbiBvbmNsaWNrPSIKLSAgICAgICAgY29uc3QgcmVxdWVzdFBheWVyUGhvbmUgPSBPYmplY3Qu
YXNzaWduKHt9LCBvcHRpb25zUmVxdWVzdE5vdGhpbmcsIHtyZXF1ZXN0UGF5ZXJQaG9uZTogdHJ1
ZX0pOwotICAgICAgICBjb25zdCBleHBlY3RWYWx1ZXMgPSB7IHBheWVyUGhvbmU6ICcrMTIzNDU2
Nzg5MTAnIH07Ci0gICAgICAgIHRlc3RBY2NlcHRSZXF1ZXN0QWxnb3JpdGhtKHRoaXMsIGRldGFp
bHNOb1NoaXBwaW5nT3B0aW9ucywgcmVxdWVzdFBheWVyUGhvbmUsIGV4cGVjdFZhbHVlcyk7Ij4K
LSAgICAgICAgVXNlciBhY2NlcHRzIHBheW1lbnQgcmVxdWVzdCwgbWVyY2hhbnQgcmVxdWVzdHMg
cGhvbmUuCi0gICAgICA8L2J1dHRvbj4KLSAgICAgIFdoZW4gcHJvbXB0ZWQsIHBsZWFzZSB1c2Ug
IisxMjM0NTY3ODkxMCIgYXMgdGhlIHBob25lIG51bWJlci4KLSAgICA8L2xpPgotICAgIDxsaT4K
LSAgICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICAgIGNvbnN0IHJlcXVlc3RQYXllck5hbWUg
PSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zUmVxdWVzdE5vdGhpbmcsIHtyZXF1ZXN0UGF5ZXJO
YW1lOiB0cnVlfSk7Ci0gICAgICAgIGNvbnN0IGV4cGVjdFZhbHVlcyA9IHsgcGF5ZXJOYW1lOiAn
d2ViIHBsYXRmb3JtIHRlc3QnIH07Ci0gICAgICAgIHRlc3RBY2NlcHRSZXF1ZXN0QWxnb3JpdGht
KHRoaXMsIGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucywgcmVxdWVzdFBheWVyTmFtZSwgZXhwZWN0
VmFsdWVzKTsiPgotICAgICAgICBVc2VyIGFjY2VwdHMgcGF5bWVudCByZXF1ZXN0LCBtZXJjaGFu
dCByZXF1ZXN0cyBwYXllcidzIG5hbWUuCi0gICAgICA8L2J1dHRvbj4KLSAgICAgIFdoZW4gcHJv
bXB0ZWQsIHBsZWFzZSB1c2UgIndlYiBwbGF0Zm9ybSB0ZXN0IiBhcyB0aGUgcGF5ZXIgbmFtZS4K
LSAgICA8L2xpPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICAgIGNv
bnN0IGV4cGVjdFZhbHVlcyA9IHsKLSAgICAgICAgICBwYXllckVtYWlsOiAnd3B0QHczLm9yZycs
Ci0gICAgICAgICAgcGF5ZXJOYW1lOiAnd2ViIHBsYXRmb3JtIHRlc3QnLAotICAgICAgICAgIHBh
eWVyUGhvbmU6ICcrMTIzNDU2Nzg5MTAnLAotICAgICAgICAgIHNoaXBwaW5nT3B0aW9uOiAnb3B0
aW9uIDInLAotICAgICAgICB9OwotICAgICAgICB0ZXN0QWNjZXB0UmVxdWVzdEFsZ29yaXRobSh0
aGlzLCBkZXRhaWxzV2l0aFNoaXBwaW5nT3B0aW9ucywgb3B0aW9uc1JlcXVlc3RFdmVyeXRoaW5n
LCBleHBlY3RWYWx1ZXMpOyI+Ci0gICAgICAgIFVzZXIgYWNjZXB0cyBwYXltZW50IHJlcXVlc3Qs
IG1lcmNoYW50IHJlcXVlc3RzIGV2ZXJ5dGhpbmcuCi0gICAgICA8L2J1dHRvbj4KLSAgICAgIFdo
ZW4gcHJvbXB0ZWQsIHBsZWFzZSB1c2U6ICIrMTIzNDU2Nzg5MTAiIGFzIHRoZSBwaG9uZSBudW1i
ZXIsICJ3ZWIgcGxhdGZvcm0gdGVzdCIgYXMgdGhlIHBheWVyIG5hbWUsIGFuZCAid3B0QHczLm9y
ZyIgYXMgdGhlIGVtYWlsLiBUaGVuIHByZXNzIFBheS4KLSAgICA8L2xpPgotICAgIDxsaT4KLSAg
ICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpIj5Eb25lPC9idXR0b24+Ci0gICAgPC9saT4KLSAg
PC9vbD4KLTwvc2VjdGlvbj4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBw
bGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQv
aXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0
cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVu
dC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3czYy1pbXBvcnQubG9nCmluZGV4IDcw
YWY1YzBmZjlmZmVjMzA5Zjk0NTM5NjM5M2MyMDMxMWU1NjZmODcuLjE1ZDY0YWI3ZmViNmZhNWIz
NjA0ODZmZTE4MmYwZGRjZWQ3YjA0MzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3czYy1pbXBvcnQubG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3czYy1pbXBvcnQubG9nCkBAIC0xNSwyNiArMTUsMTggQEAgTm9uZQogLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxnb3JpdGhtcy1tYW51
YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L2JpbGxpbmctYWRkcmVzcy1jaGFuZ2VkLW1hbnVhbC5odHRwcy5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvYmxhbmsuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5nZS1zaGlwcGluZy1vcHRpb24tbWFudWFsLmh0
dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLXNlbGVjdC1sYXN0LW1hbnVhbC5o
dHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvY29uc3RydWN0b3JfY29udmVydF9tZXRob2RfZGF0YS5odHRwcy5odG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvZHluYW1pY2FsbHktY2hhbmdlLXNoaXBwaW5nLW9wdGlvbnMtbWFudWFsLmh0dHBzLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9oaXN0b3JpY2FsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9pZGxoYXJuZXNzLmh0dHBzLndpbmRv
dy5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L29ubWVyY2hhbnR2YWxpZGF0aW9uLWF0dHJpYnV0ZS5odHRwcy5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
b25wYXltZW50bWV0aG9kY2hhbmdlLWF0dHJpYnV0ZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1p
cy1zaG93aW5nLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtYWJvcnQtbWV0aG9kLmh0
dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQtbWV0aG9kLXByb3Rl
Y3Rpb24uaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jYW5tYWtlcGF5bWVudC1tZXRo
b2QuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jb25zdHJ1Y3Rvci10aGNyYXNoLmh0
dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY29uc3RydWN0b3IuaHR0cHMuc3ViLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9wYXltZW50LXJlcXVlc3QtY3Rvci1jdXJyZW5jeS1jb2RlLWNoZWNrcy5odHRwcy5zdWIu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jdG9yLXBtaS1oYW5kbGluZy5odHRwcy5zdWIuaHRt
bAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLW1hbnVh
bC50ZW50YXRpdmUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGlu
c3RydW1lbnQtbWV0aG9kLXByb3RlY3Rpb24udGVudGF0aXZlLmh0dHBzLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXlt
ZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVtZW50LW1ldGhvZC50ZW50YXRpdmUuaHR0cHMu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1pZC1hdHRyaWJ1dGUuaHR0cHMuaHRtbApAQCAtNDYs
MTMgKzM4LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3Qtc2hpcHBpbmdP
cHRpb24tYXR0cmlidXRlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3Qtc2hpcHBpbmdU
eXBlLWF0dHJpYnV0ZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LXNob3ctbWV0aG9k
Lmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9yZWplY3RzX2lmX25vdF9hY3RpdmUtbWFudWFsLmh0dHBzLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9yZWplY3RzX2lmX25vdF9hY3RpdmUuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3NoaXBwaW5nLWFkZHJl
c3MtY2hhbmdlZC1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXBy
b21pc2UtcmVqZWN0cy1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFs
LXByb21pc2UtcmVzb2x2ZXMtbWFudWFsLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LWNvbnN1bWUtYWN0
aXZhdGlvbi5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWpl
Y3RzLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1wb3N0bWVzc2FnZS1pZnJhbWUuaHRtbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3Nob3ctbWV0aG9kLXBvc3RtZXNzYWdlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdXBkYXRl
V2l0aC1tZXRob2QtcG1pLWhhbmRsaW5nLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdXNlci1hYm9y
dC1hbGdvcml0aG0tbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC91c2VyLWFjY2VwdHMtcGF5bWVudC1y
ZXF1ZXN0LWFsZ28tbWFudWFsLmh0dHBzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlYTg0OGQ4MmUzMmQ4YTM5ZDRlMTgzZTEzZDVm
Yjc1ZTFjMzNiNzU1Li43ZmIzMWVkZjk2Mjk3NjVjODEyYmJkNDRmN2FlM2E3NmI3Zjg1ZTM5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC01
Niw5ICs1NiwxNiBAQCB3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudAogd2Via2l0Lm9yZy9iLzE3NTYx
MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3Bh
eW1lbnRyZXF1ZXN0L3JlbW92aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50cmVxdWVzdC9zZXR0aW5nLWFsbG93cGF5
bWVudHJlcXVlc3QtdGltaW5nLmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2Iv
MTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2Fs
bG93cGF5bWVudHJlcXVlc3Qvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5o
dG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9hbGxvd3BheW1lbnRyZXF1ZXN0
LWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sIFsgU2tpcCBd
Cit3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNv
bnRhaW5lcnMuaHR0cHMuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvcmVt
b3ZpbmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWIuaHRtbCBbIFNraXAgXQord2Via2l0
Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5o
dG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9wYXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQtbWV0aG9kLmh0dHBzLmh0bWwgWyBT
a2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLnRlbnRhdGl2ZS5odHRw
cy5odG1sIFsgU2tpcCBdCiAKKyMgVGhpcyB0ZXN0IGlzIGZhaWxpbmcgZHVlIHRvIGxhY2sgb2Yg
dXNlciBhY3RpdmF0aW9uLgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvcGF5bWVudC1pcy1zaG93aW5nLmh0dHBzLmh0bWwgWyBTa2lwIF0KKwogIyBza2lw
IGluIGZhdm9yIG9mIHRlc3RzIGluIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QKIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1h
Ym9ydC1tZXRob2QuaHR0cHMuaHRtbCBbIFdvbnRGaXggXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LXNob3ctbWV0aG9kLmh0
dHBzLmh0bWwgWyBXb250Rml4IF0KQEAgLTEyMTIsMzggKzEyMTksNiBAQCB3ZWJraXQub3JnL2Iv
MTg0NzgzIGNvbXBvc2l0aW5nL2lvcy9vdmVyZmxvdy1zY3JvbGwtdG91Y2gtdGlsZXMuaHRtbCBb
IFBhc3MgRmFpbAogCiB3ZWJraXQub3JnL2IvMTc5ODUzIFsgRGVidWcgXSBpbXBvcnRlZC9ibGlu
ay9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC1pdGVyYXRpb24tc2ltcGxlLXRleHQuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCiAKLSMgc2tpcCBtYW51YWwgcGF5bWVudC1yZXF1ZXN0IHRlc3RzCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVz
dFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtY2FsbC1pbW1lZGlhdGUtbWFudWFsLmh0dHBzLmh0bWwg
WyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1kdXBsaWNhdGUtc2hpcHBpbmct
b3B0aW9ucy1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRh
dGVXaXRoLWluY3JlbWVudGFsLXVwZGF0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVl
c3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLW1ldGhvZC1hYm9ydC11cGRhdGUtbWFudWFsLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1zdGF0ZS1jaGVja3Mt
bWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNob3dzLWVy
cm9yLW1lbWJlci1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMvcmV0
cnktc2hvd3MtcGF5ZXItbWVtYmVyLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50VmFsaWRhdGlv
bkVycm9ycy9yZXRyeS1zaG93cy1zaGlwcGluZ0FkZHJlc3MtbWVtYmVyLW1hbnVhbC5odHRwcy5o
dG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9hbGdvcml0aG1zLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmctb3B0aW9u
LW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLXNlbGVjdC1sYXN0LW1h
bnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL2NvbXBsZXRlLW1ldGhvZC1tYW51YWwu
aHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9tZXRob2ROYW1lLWF0dHJpYnV0ZS1tYW51YWwu
aHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9vbnBheWVyZGV0YWlsY2hhbmdlLWF0dHJpYnV0
ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllckVtYWlsLWF0dHJpYnV0
ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllck5hbWUtYXR0cmlidXRl
LW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyUGhvbmUtYXR0cmlidXRl
LW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JlamVjdHNfaWZfbm90X2FjdGl2
ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXF1ZXN0SWQtYXR0cmlidXRl
LW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC1tYW51YWwu
aHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ0FkZHJlc3MtYXR0cmlidXRlLW1h
bnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3NoaXBwaW5nT3B0aW9uLWF0dHJpYnV0
ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudEFkZHJlc3MvYXR0cmlidXRlcy1hbmQtdG9KU09O
LW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hpcHBpbmctYWRkcmVzcy1jaGFuZ2VkLW1hbnVh
bC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJlamVjdHMtbWFudWFs
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXByb21pc2UtcmVzb2x2ZXMtbWFudWFs
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLXBvc3RtZXNzYWdlLW1hbnVhbC5odHRwcy5odG1sIFsg
U2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC91
cGRhdGVXaXRoLW1ldGhvZC1wbWktaGFuZGxpbmctbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3VzZXItYWJv
cnQtYWxnb3JpdGhtLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC91c2VyLWFjY2VwdHMtcGF5bWVudC1yZXF1
ZXN0LWFsZ28tbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLQogd2Via2l0Lm9yZy9iLzE4OTA4
NyBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZC1hdHRyaWJ1dGUtbnVtZXJpYy1wcmVjaXNpb24u
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xOTA4NDcgWyBEZWJ1ZyBdIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1uZXctc2NyaXB0Lmh0dHBzLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBmOGU1ZjdjY2E1MWRiNmRjM2VkOGQ5NWI2MTkwNGIzYzQ2MGY1MTdiLi4wOGY2
YjdmYjAzZDk2YzlmNDAyOWJhM2IxMTc5ODZkZWQ1M2ZlZjNkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC01OSw5ICs1OSwxNiBAQCB3ZWJr
aXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudAogd2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnRyZXF1ZXN0L3JlbW92
aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5v
cmcvYi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvYWxsb3dwYXltZW50cmVxdWVzdC9zZXR0aW5nLWFsbG93cGF5bWVudHJlcXVlc3QtdGltaW5n
Lmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVlc3Qv
c2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCit3ZWJr
aXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1v
cmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTc1
NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93
cGF5bWVudC9uby1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRt
bCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvcmVtb3ZpbmctYWxsb3dwYXltZW50
cmVxdWVzdC5odHRwcy5zdWIuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQv
c2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVl
c3QtaGFzZW5yb2xsZWRpbnN0cnVtZW50LW1ldGhvZC50ZW50YXRpdmUuaHR0cHMuaHRtbCBbIER1
bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQtbWV0aG9kLmh0
dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQogCisjIFRoaXMgdGVzdCBpcyBm
YWlsaW5nIGR1ZSB0byBsYWNrIG9mIHVzZXIgYWN0aXZhdGlvbi4KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtaXMtc2hvd2luZy5odHRwcy5o
dG1sIFsgU2tpcCBdCisKICMgc2tpcCBpbiBmYXZvciBvZiB0ZXN0cyBpbiBodHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9wYXltZW50LXJlcXVlc3QtYWJvcnQtbWV0aG9kLmh0dHBzLmh0bWwgWyBXb250Rml4IF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVxdWVzdC1zaG93LW1ldGhvZC5odHRwcy5odG1sIFsgV29udEZpeCBdCkBAIC03NzAsMzggKzc3
Nyw2IEBAIHdlYmtpdC5vcmcvYi8xODQ5MzcgdHJhbnNpdGlvbnMvb3BhY2l0eS10cmFuc2l0aW9u
LXppbmRleC5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xODYzNjIgWyBSZWxlYXNlIF0g
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRo
LXVzZXItaW50ZXJhY3Rpb24uaHRtbCBbIFNraXAgXQogCi0jIHNraXAgbWFudWFsIHBheW1lbnQt
cmVxdWVzdCB0ZXN0cwotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLWNhbGwtaW1tZWRpYXRl
LW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgt
ZHVwbGljYXRlLXNoaXBwaW5nLW9wdGlvbnMtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1
ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1pbmNyZW1lbnRhbC11cGRhdGUtbWFudWFsLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1tZXRob2QtYWJvcnQt
dXBkYXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0
ZVdpdGgtc3RhdGUtY2hlY2tzLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVy
cm9ycy9yZXRyeS1zaG93cy1lcnJvci1tZW1iZXItbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRW
YWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNob3dzLXBheWVyLW1lbWJlci1tYW51YWwuaHR0cHMuaHRt
bCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMvcmV0cnktc2hvd3Mtc2hpcHBpbmdBZGRyZXNzLW1l
bWJlci1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxnb3JpdGhtcy1tYW51YWwuaHR0cHMuaHRtbCBbIFNr
aXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvY2hh
bmdlLXNoaXBwaW5nLW9wdGlvbi1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvY2hhbmdlLXNoaXBwaW5nLW9w
dGlvbi1zZWxlY3QtbGFzdC1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9jb21w
bGV0ZS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvbWV0aG9kTmFt
ZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvb25wYXllcmRl
dGFpbGNoYW5nZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
cGF5ZXJFbWFpbC1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
cGF5ZXJOYW1lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9w
YXllclBob25lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9y
ZWplY3RzX2lmX25vdF9hY3RpdmUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
cmVxdWVzdElkLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9y
ZXRyeS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvc2hpcHBpbmdB
ZGRyZXNzLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlw
cGluZ09wdGlvbi1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRBZGRyZXNzL2F0
dHJpYnV0ZXMtYW5kLXRvSlNPTi1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3NoaXBwaW5nLWFk
ZHJlc3MtY2hhbmdlZC1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJv
bWlzZS1yZWplY3RzLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9t
aXNlLXJlc29sdmVzLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1wb3N0bWVzc2FnZS1t
YW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvdXBkYXRlV2l0aC1tZXRob2QtcG1pLWhhbmRsaW5nLW1hbnVhbC5o
dHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC91c2VyLWFib3J0LWFsZ29yaXRobS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdXNlci1h
Y2NlcHRzLXBheW1lbnQtcmVxdWVzdC1hbGdvLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi0K
ICMgTWFudWFsIHRlc3RzLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItc2hh
cmUvc2hhcmUtY2FuY2VsLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1zaGFyZS9zaGFyZS1leHRyYS1hcmd1bWVudC1tYW51YWwu
aHR0cHMuaHRtbCBbIFNraXAgXQpAQCAtMTMzMCw0ICsxMzA1LDQgQEAgd2Via2l0Lm9yZy9iLzIx
NzkzOCBbIE1vamF2ZSsgXSBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvaGVhZGVyLWZpbHRlcmlu
Zy5odHRwcy4KIHdlYmtpdC5vcmcvYi8yMTc5MzggWyBNb2phdmUrIF0gaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL21hYy90aHJvdHRsZWFibGUuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjE3OTM4IFsgTW9qYXZlKyBdIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9v
bmxpbmUuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMTgzNDEg
aW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9hdHRyaWJ1dGUtbW9kaWZpZWQtc3R5bGUuaHRtbCBbIFBh
c3MgVGltZW91dCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQord2Via2l0Lm9yZy9iLzIx
ODM0MSBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2F0dHJpYnV0ZS1tb2RpZmllZC1zdHlsZS5odG1s
IFsgUGFzcyBUaW1lb3V0IF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412677</attachid>
            <date>2020-10-29 13:21:15 -0700</date>
            <delta_ts>2020-10-29 13:24:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218308-20201029132114.patch</filename>
            <type>text/plain</type>
            <size>276219</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MTYxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWQ1N2FjNmE2MmQ5MzhkYzU0YjA0
ODdhOWI2ZGIzN2NhZTE0MjI4My4uOGM0MTIzYzZlYzdmMzYwNzg4YzIwZjMyZTBmODBkYjUwN2Q0
MzdmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTEwLTI4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QgdGVzdHMgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmYgR2FyZW4uCisKKyAgICAgICAgU2tpcCBhIGZldyBuZXcgdGVzdHMgdGhhdCBhcmUgZmFpbGlu
Zy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMTAtMjkgIFNh
aWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTigy
NjkwNjUpOiBbR1BVIFByb2Nlc3NdOiBPcmRlciBvZiBkcmF3aW5nIGhhcyB0byBiZSBwcmVzZXJ2
ZWQgd2hlbiBkcmF3aW5nIGEgY2FudmFzIHRvIGFub3RoZXIgY2FudmFzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCAxMDM5ZjA0ZTljNjQ1YTBiMTI0Nzc2ZDI1ZDU5YmNmZTMzZTFm
YzAyLi5lNzYzNzE4MjdiMmU3OWNmN2M3MTdhNDkwM2EzZjIwY2I3NDZjOGNlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMC0yOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0IHRlc3RzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODMwOAorCisgICAgICAgIFJldmll
d2VkIGJ5IEdlb2ZmIEdhcmVuLgorCisgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0IHRlc3RzIGZyb20gdXBzdHJlYW0gMzI2ZjEzN2YyYzNkMjNjLgorCisg
ICAgICAgIEl0IGRyb3BzIGEgbG90IG9mIG1hbnVhbCB0ZXN0cyB0b28sIG5vdyB0aGF0IG91ciB0
ZXN0IGltcG9ydGVyIGlzIHNtYXJ0IGVub3VnaCBub3QgdG8KKyAgICAgICAgaW1wb3J0IHRoZW0u
CisKKyAgICAgICAgKiByZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbjoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0Lyo6IFVwZGF0ZWQuCisKIDIwMjAtMTAt
MjkgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIE1h
a2Ugc2Nyb2xsLW1hcmdpbiBpbmRlcGVuZGVudCBvZiBzY3JvbGwgc25hcHBpbmcgYW5kIGhhdmUg
aXQgYXBwbHkgd2hlbiBzY3JvbGxpbmcgdG8gYW5jaG9ycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9yZXNvdXJjZS1maWxlcy5qc29uCmluZGV4IGJmZWEx
YTk1ZjQzZGVkZWNlZDZjOTcwYjM2MTRiZDY3ODdlMDQyN2YuLjM5ZjkwYmRlN2YyNjM5ODQ4Zjc2
Njc5MjAwNDcwNzYzMjA5ODU0OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9yZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL3Jlc291cmNlLWZpbGVzLmpzb24KQEAgLTI1NjcsNiArMjU2Nyw3IEBA
CiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9odG1sNS10cmVl
L3VuaXF1ZS1pZGVudGlmaWVyLTEtaWZyYW1lLTIuaHRtbCIsCiAgICAgICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9zdXBwb3J0L01lZGlhUmVjb3JkZXItaWZyYW1l
Lmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhc2Vzc2lvbi9oZWxwZXIv
YXJ0d29yay1nZW5lcmF0b3IuaHRtbCIsCisgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwiLAogICAg
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnRyZXF1
ZXN0L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbCIsCiAgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L2JsYW5rLmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtcmVzcG9uc2UtaWQuaHRtbCIsCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9QYXltZW50QWRkcmVzcy9hdHRyaWJ1dGVzLWFuZC10b0pTT04tbWV0aG9k
LW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudEFkZHJlc3MvYXR0cmlidXRlcy1hbmQtdG9K
U09OLW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOGFmY2ExOWY5MjNkNDVhMmQ5N2ExMzRlY2MxYzlhMDJiZjRhZWE4Mi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50QWRkcmVzcy9hdHRy
aWJ1dGVzLWFuZC10b0pTT04tbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTA5ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+
Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9wYXltZW50LXJl
cXVlc3QvI3BheW1lbnRhZGRyZXNzLWludGVyZmFjZSI+Ci08dGl0bGU+Ci0gIFBheW1lbnRSZXNw
b25zZS5wcm90b3R5cGUuc2hpcHBpbmdBZGRyZXNzCi08L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uL3BheW1l
bnQtcmVzcG9uc2UvaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotY29uc3Qgb3B0aW9u
cyA9IHsgcmVxdWVzdFNoaXBwaW5nOiB0cnVlIH07Ci1mdW5jdGlvbiBydW5NYW51YWxUZXN0KGJ1
dHRvbiwgZXhwZWN0ZWQgPSB7fSkgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9t
aXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdl
dFBheW1lbnRSZXF1ZXN0UmVzcG9uc2Uob3B0aW9ucyk7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29t
cGxldGUoKTsKLSAgICBhc3NlcnRfaWRsX2F0dHJpYnV0ZShyZXNwb25zZSwgInNoaXBwaW5nQWRk
cmVzcyIpOwotICAgIGNvbnN0IHsgc2hpcHBpbmdBZGRyZXNzOiBhZGRyIH0gPSByZXNwb25zZTsK
LSAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgIGFkZHIgaW5zdGFuY2VvZiBQYXltZW50QWRkcmVzcywK
LSAgICAgICJFeHBlY3QgaW5zdGFuY2Ugb2YgUGF5bWVudEFkZHJlc3MiCi0gICAgKTsKLSAgICAv
LyBBbiBbSVNPMzE2Nl0gYWxwaGEtMiBjb2RlLiBUaGUgY2Fub25pY2FsIGZvcm0gaXMgdXBwZXIg
Y2FzZS4KLSAgICBjb25zdCB7IGNvdW50cnkgfSA9IGFkZHI7Ci0gICAgYXNzZXJ0X2VxdWFscyhj
b3VudHJ5Lmxlbmd0aCwgMiwgIkV4cGVjdGVkIGxlbmd0aCBpcyAyIik7Ci0gICAgYXNzZXJ0X3Ry
dWUoL15bQS1aXXsyfSQvLnRlc3QoY291bnRyeSksICJDYW5vbmljYWwgZm9ybSBpcyB1cHBlciBj
YXNlIik7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBhZGRyLmFkZHJlc3NMaW5lIGluc3RhbmNl
b2YgQXJyYXksCi0gICAgICAiRXhwZWN0ZWQgYWRkcmVzc0xpbmUgdG8gYmUgYW4gYXJyYXkiCi0g
ICAgKTsKLSAgICBhc3NlcnRfdGhyb3dzX2pzKAotICAgICAgVHlwZUVycm9yLAotICAgICAgKCkg
PT4gewotICAgICAgICBhZGRyLmFkZHJlc3NMaW5lLnB1c2goInRoaXMgbXVzdCB0aHJvdyIpOwot
ICAgICAgfSwKLSAgICAgICJBcnJheSBtdXN0IGJlIGZyb3plbiIKLSAgICApOwotICAgIGZvciAo
bGV0IFthdHRyLCBleHBlY3RlZFZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhleHBlY3RlZCkpIHsK
LSAgICAgIGFzc2VydF9pZGxfYXR0cmlidXRlKGFkZHIsIGF0dHIpOwotICAgICAgY29uc3QgbXNn
ID0gYEV4cGVjdGVkIHBheW1lbnRBZGRyZXNzLiR7YXR0cn0gdG8gZXF1YWwgJHtleHBlY3RlZFZh
bHVlfS5gOwotICAgICAgLy8udG9TdHJpbmcoKSBmbGF0dGVucyBhcnJheSBhZGRyZXNzTGluZSwK
LSAgICAgIC8vLnRvTG93ZXJDYXNlKCkgYmVjYXVzZSBjYXNlIGNhbid0IGJlIGVuZm9yY2VkIGZv
ciBzb21lIGF0dHJpYnV0ZXMKLSAgICAgIGNvbnN0IGFjdHVhbFZhbHVlID0gYWRkclthdHRyXS50
b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICBleHBlY3RlZFZhbHVlID0gZXhwZWN0ZWRW
YWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICBhc3NlcnRfZXF1YWxzKGFjdHVh
bFZhbHVlLCBleHBlY3RlZFZhbHVlLCBtc2cpOwotICAgIH0KLSAgICAvLyBDaGVjayB0b0pTT04g
cmVzdWx0Ci0gICAgZm9yIChsZXQgW3Byb3AsIGpzb25WYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMo
YWRkci50b0pTT04oKSkpIHsKLSAgICAgIGNvbnN0IGFjdHVhbFZhbHVlID0ganNvblZhbHVlLnRv
U3RyaW5nKCkudG9Mb3dlckNhc2UoKTsKLSAgICAgIGNvbnN0IGV4cGVjdGVkVmFsdWUgPSBleHBl
Y3RlZFtwcm9wXS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICBjb25zdCBtc2cgPSBg
RXhwZWN0ZWQgSlNPTiAke3Byb3B9IHRvIGJlICR7ZXhwZWN0ZWRWYWx1ZX1gOwotICAgICAgYXNz
ZXJ0X2VxdWFscyhhY3R1YWxWYWx1ZSwgZXhwZWN0ZWRWYWx1ZSwgbXNnKTsKLSAgICB9Ci0gIH0s
IGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotICBkb25lKCk7Ci19Ci08L3NjcmlwdD4KLTxo
Mj5QYXltZW50QWRkcmVzcyBpbnRlcmZhY2U8L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0
dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhl
IHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBV
SSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hlbiBwcm9tcHRlZCwgcGxlYXNlIGVudGVyIGFkZHJl
c3NlcyBhcyBmb2xsb3dzLi4uCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xp
Y2s9IgotICAgIGNvbnN0IGV4cGVjdGVkQWRkcmVzcyA9IHsKLSAgICAgIGNvdW50cnk6ICdBVScs
Ci0gICAgICByZWdpb25Db2RlOiAnUUxEJywKLSAgICAgIGFkZHJlc3NMaW5lOiAnNTUgdGVzdCBz
dCcsCi0gICAgICBjaXR5OiAnQ2hhcGVsIEhpbGwnLAotICAgICAgZGVwZW5kZW50TG9jYWxpdHk6
ICcnLAotICAgICAgcG9zdGFsQ29kZTogJzYwOTUnLAotICAgICAgcmVnaW9uOiAnUUxEJywKLSAg
ICAgIHNvcnRpbmdDb2RlOiAnJywKLSAgICAgIG9yZ2FuaXphdGlvbjogJ3czYycsCi0gICAgICBy
ZWNpcGllbnQ6ICd3ZWIgcGxhdGZvcm0gdGVzdCcsCi0gICAgICBwaG9uZTogJys2MTczMzc4MDAw
MCcsCi0gICAgfTsKLSAgICBydW5NYW51YWxUZXN0KHRoaXMsIGV4cGVjdGVkQWRkcmVzcyk7Ij4K
LSAgICAgIElmIHRoZSByZXF1ZXN0U2hpcHBpbmcgbWVtYmVyIGlzIHRydWUsIHRoZW4gc2hpcHBp
bmdBZGRyZXNzJ3MgUGF5bWVudEFkZHJlc3MgbXVzdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWVz
LgotICAgIDwvYnV0dG9uPgotICAgIFBsZWFzZSB1c2U6Ci0gICAgPGRsPgotICAgICAgPGR0PlJl
Y2lwaWVudDo8L2R0PgotICAgICAgPGRkPndlYiBwbGF0Zm9ybSB0ZXN0PC9kZD4KLSAgICAgIDxk
dD5BZGRyZXNzIGxpbmU6PC9kdD4KLSAgICAgIDxkZD41NSB0ZXN0IHN0PC9kZD4KLSAgICAgIDxk
dD5Db3VudHJ5PC9kdD4KLSAgICAgIDxkZD5BdXN0cmFsaWE8L2RkPgotICAgICAgPGR0PkNpdHk8
L2R0PgotICAgICAgPGRkPkNoYXBlbCBIaWxsPC9kZD4KLSAgICAgIDxkZD5TdGF0ZS9SZWdpb248
L2RkPgotICAgICAgPGRkPlF1ZWVuc2xhbmQ8L2RkPgotICAgICAgPGR0PnBvc3RhbCBjb2RlIDwv
ZHQ+Ci0gICAgICA8ZGQ+NjA5NTwvZGQ+Ci0gICAgICA8ZHQ+b3JnYW5pemF0aW9uPC9kdD4KLSAg
ICAgIDxkZD53M2M8L2RkPgotICAgICAgPGR0PlBob25lIG51bWJlcjwvZHQ+Ci0gICAgICA8ZGQ+
KzYxIDcgMzM3OCAwMDAwPC9kZD4KLSAgICA8L2RsPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4K
LSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBh
bmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0
ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVz
dFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtY2FsbC1pbW1lZGlhdGUtbWFudWFsLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtY2FsbC1pbW1lZGlhdGUt
bWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEzNjVlY2Vm
ZWJlYjI3OWRiMmVkZTlkZTk5ZDJmMGM5ODQ3MDhjNWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRh
dGVXaXRoLWNhbGwtaW1tZWRpYXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMjA2ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9wYXltZW50LXJlcXVl
c3QvI3VwZGF0ZXdpdGgoKS1tZXRob2QiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vdzNjL3BheW1lbnQtcmVxdWVzdC9wdWxsLzU5MSI+Ci08dGl0bGU+Ci0gIFBh
eW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQudXBkYXRlV2l0aCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBp
bW1lZGlhdGVseQotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4
cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7Ci1jb25zdCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUo
ewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAg
ZGF0YTogewotICAgIHZlcnNpb246IDMsCi0gICAgbWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hh
bnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50cnlDb2RlOiAiVVMiLAotICAgIG1lcmNoYW50Q2Fw
YWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlz
YSJdLAotICB9Ci19KTsKLWNvbnN0IHZhbGlkTWV0aG9kID0gT2JqZWN0LmZyZWV6ZSh7IHN1cHBv
cnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiB9KTsKLWNvbnN0IHZhbGlkTWV0aG9kcyA9IE9iamVj
dC5mcmVlemUoW3ZhbGlkTWV0aG9kLCBhcHBsZVBheV0pOwotY29uc3QgdmFsaWRBbW91bnQgPSBP
YmplY3QuZnJlZXplKHsgY3VycmVuY3k6ICJVU0QiLCB2YWx1ZTogIjUuMDAiIH0pOwotY29uc3Qg
dmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICBsYWJlbDogImxhYmVsIiwKLSAgYW1vdW50
OiB2YWxpZEFtb3VudCwKLX0pOwotY29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbkEgPSBPYmplY3Qu
ZnJlZXplKHsKLSAgaWQ6ICJhLXNoaXBwaW5nLW9wdGlvbiIsCi0gIGxhYmVsOiAiQSBzaGlwcGlu
ZyBvcHRpb24iLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICBzZWxlY3RlZDogdHJ1ZSwKLX0p
OwotY29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbkIgPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJi
LXNoaXBwaW5nLW9wdGlvbiIsCi0gIGxhYmVsOiAiQiBzaGlwcGluZyBvcHRpb24iLAotICBhbW91
bnQ6IHZhbGlkQW1vdW50LAotfSk7Ci1jb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXpl
KHsKLSAgdG90YWw6IHZhbGlkVG90YWwsCi0gIHNoaXBwaW5nT3B0aW9uczogW3ZhbGlkU2hpcHBp
bmdPcHRpb25BLCB2YWxpZFNoaXBwaW5nT3B0aW9uQl0sCi19KTsKLWNvbnN0IHZhbGlkT3B0aW9u
cyA9IE9iamVjdC5mcmVlemUoewotICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi19KTsKLQotZnVu
Y3Rpb24gdGVzdEltbWVkaWF0ZVVwZGF0ZSh7IHRleHRDb250ZW50OiB0ZXN0TmFtZSB9KSB7Ci0g
IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1l
bnRSZXF1ZXN0KAotICAgICAgdmFsaWRNZXRob2RzLAotICAgICAgdmFsaWREZXRhaWxzLAotICAg
ICAgdmFsaWRPcHRpb25zCi0gICAgKTsKLSAgICBjb25zdCBldmVudFByb21pc2UgPSBuZXcgUHJv
bWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVu
ZXIoCi0gICAgICAgICJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLAotICAgICAgICBldiA9PiB7Ci0g
ICAgICAgICAgLy8gRm9yY2VzIHVwZGF0ZVdpdGgoKSB0byBiZSBydW4gaW4gdGhlIG5leHQgZXZl
bnQgbG9vcCB0aWNrIHNvIHRoYXQKLSAgICAgICAgICAvLyBbW3dhaXRGb3JVcGRhdGVdXSBpcyBh
bHJlYWR5IHRydWUgd2hlbiBpdCBydW5zLgotICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+
IHsKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgIGV2LnVwZGF0ZVdpdGgodmFsaWRE
ZXRhaWxzKTsKLSAgICAgICAgICAgICAgcmVzb2x2ZSgpOyAvLyBUaGlzIGlzIGJhZC4KLSAgICAg
ICAgICAgIH0gY2F0Y2ggKGVycikgewotICAgICAgICAgICAgICByZWplY3QoZXJyKTsgLy8gdGhp
cyBpcyBnb29kLgotICAgICAgICAgICAgfQotICAgICAgICAgIH0pOwotICAgICAgICB9LAotICAg
ICAgICB7IG9uY2U6IHRydWUgfQotICAgICAgKTsKLSAgICB9KTsKLSAgICBjb25zdCBhY2NlcHRQ
cm9taXNlID0gcmVxdWVzdC5zaG93KCk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgK
LSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAgICAgZXZlbnRQcm9taXNl
LAotICAgICAgIlRoZSBldmVudCBsb29wIGFscmVhZHkgc3B1biwgc28gW1t3YWl0Rm9yVXBkYXRl
XV0gaXMgbm93IHRydWUiCi0gICAgKTsKLSAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFjY2Vw
dFByb21pc2U7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAgfSwgdGVzdE5hbWUu
dHJpbSgpKTsKLX0KLQotZnVuY3Rpb24gdGVzdFN1YnNlcXVlbnRVcGRhdGVXaXRoQ2FsbHMoeyB0
ZXh0Q29udGVudDogdGVzdE5hbWUgfSkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0g
ICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKLSAgICAgIHZhbGlkTWV0aG9k
cywKLSAgICAgIHZhbGlkRGV0YWlscywKLSAgICAgIHZhbGlkT3B0aW9ucwotICAgICk7Ci0gICAg
Y29uc3QgZXZlbnRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewot
ICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCBh
c3luYyBldiA9PiB7Ci0gICAgICAgIGNvbnN0IHAgPSBQcm9taXNlLnJlc29sdmUodmFsaWREZXRh
aWxzKTsKLSAgICAgICAgZXYudXBkYXRlV2l0aChwKTsKLSAgICAgICAgYXdhaXQgcDsKLSAgICAg
ICAgdHJ5IHsKLSAgICAgICAgICBldi51cGRhdGVXaXRoKHZhbGlkRGV0YWlscyk7Ci0gICAgICAg
ICAgcmVzb2x2ZSgpOyAvLyB0aGlzIGlzIGJhZCwgd2Ugc2hvdWxkIG5ldmVyIGdldCB0byBoZXJl
LgotICAgICAgICB9IGNhdGNoIChlcnIpIHsKLSAgICAgICAgICByZWplY3QoZXJyKTsgLy8gdGhp
cyBpcyBnb29kIQotICAgICAgICB9Ci0gICAgICB9KTsKLSAgICB9KTsKLSAgICBjb25zdCByZXNw
b25zZVByb21pc2UgPSByZXF1ZXN0LnNob3coKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNf
ZG9tKAotICAgICAgdCwKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICBldmVudFBy
b21pc2UsCi0gICAgICAiRXhwZWN0ZWQgZXZlbnRQcm9taXNlIHRvIGhhdmUgcmVqZWN0ZWQsIGJl
Y2F1c2UgdXBkYXRlV2l0aCgpIHdhcyBhIGNhbGxlZCB0d2ljZSIKLSAgICApOwotICAgIGNvbnN0
IHJlc3BvbnNlID0gYXdhaXQgcmVzcG9uc2VQcm9taXNlOwotICAgIGF3YWl0IHJlc3BvbnNlLmNv
bXBsZXRlKCk7Ci0gIH0sIHRlc3ROYW1lLnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RSZWN5
Y2xlRXZlbnRzKHsgdGV4dENvbnRlbnQ6IHRlc3ROYW1lIH0pIHsKLSAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4gewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCi0gICAg
ICB2YWxpZE1ldGhvZHMsCi0gICAgICB2YWxpZERldGFpbHMsCi0gICAgICB2YWxpZE9wdGlvbnMK
LSAgICApOwotCi0gICAgLy8gUmVnaXN0ZXIgYm90aCBsaXN0ZW5lcnMuCi0gICAgY29uc3QgYWRk
cmVzc0NoYW5nZWRQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICByZXF1
ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIHJlc29sdmUsIHsK
LSAgICAgICAgb25jZTogdHJ1ZSwKLSAgICAgIH0pOwotICAgIH0pOwotCi0gICAgY29uc3Qgb3B0
aW9uQ2hhbmdlZFByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIHJlcXVl
c3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdvcHRpb25jaGFuZ2UiLCByZXNvbHZlLCB7Ci0g
ICAgICAgIG9uY2U6IHRydWUsCi0gICAgICB9KTsKLSAgICB9KTsKLQotICAgIGNvbnN0IHJlc3Bv
bnNlUHJvbWlzZSA9IHJlcXVlc3Quc2hvdygpOwotCi0gICAgLy8gTGV0J3Mgd2FpdCBmb3IgdGhl
IGFkZHJlc3MgdG8gY2hhbmdlLgotICAgIGNvbnN0IGFkZHJlc3NDaGFuZ2VFdmVudCA9IGF3YWl0
IGFkZHJlc3NDaGFuZ2VkUHJvbWlzZTsKLQotICAgIC8vIFNldHMgW1t3YWl0aW5nRm9yVXBkYXRl
XV0gdG8gdHJ1ZS4KLSAgICBhZGRyZXNzQ2hhbmdlRXZlbnQudXBkYXRlV2l0aCh2YWxpZERldGFp
bHMpOwotCi0gICAgLy8gTGV0J3Mgd2FpdCBmb3IgdGhlIHNoaXBwaW5nT3B0aW9uLgotICAgIGNv
bnN0IG9wdGlvbkNoYW5nZUV2ZW50ID0gYXdhaXQgb3B0aW9uQ2hhbmdlZFByb21pc2U7Ci0KLSAg
ICAvLyBIZXJlLCB3ZSB0cnkgdG8gYmUgc25lYWt5LCBhbmQgcmV1c2UgdGhlIGFkZHJlc3NDaGFu
Z2VFdmVudCB0byBwZXJmb3JtIHRoZSB1cGRhdGUuCi0gICAgLy8gSG93ZXZlciwgYWRkcmVzc0No
YW5nZUV2ZW50IFtbd2FpdGluZ0ZvclVwZGF0ZV1dIGlzIHRydWUsIHNvIGl0IHRocm93cy4KLSAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICAo
KSA9PiB7Ci0gICAgICAgIGFkZHJlc3NDaGFuZ2VFdmVudC51cGRhdGVXaXRoKHZhbGlkRGV0YWls
cyk7Ci0gICAgICB9LAotICAgICAgImFkZHJlc3NDaGFuZ2VFdmVudCBbW3dhaXRpbmdGb3JVcGRh
dGVdXSBpcyB0cnVlLCBzbyBpdCBtdXN0IHRocm93IgotICAgICk7Ci0KLSAgICAvLyBCdXQgb3B0
aW9uQ2hhbmdlRXZlbnQgaXMgc3RpbGwgdXNhYmxlIHRobywgc28uLi4KLSAgICBvcHRpb25DaGFu
Z2VFdmVudC51cGRhdGVXaXRoKHZhbGlkRGV0YWlscyk7Ci0KLSAgICBhc3NlcnRfdGhyb3dzX2Rv
bSgKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICAoKSA9PiB7Ci0gICAgICAgIG9w
dGlvbkNoYW5nZUV2ZW50LnVwZGF0ZVdpdGgodmFsaWREZXRhaWxzKTsKLSAgICAgIH0sCi0gICAg
ICAib3B0aW9uQ2hhbmdlRXZlbnQgW1t3YWl0aW5nRm9yVXBkYXRlXV0gaXMgdHJ1ZSwgc28gaXQg
bXVzdCB0aHJvdyIKLSAgICApOwotCi0gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXNwb25z
ZVByb21pc2U7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAgfSwgdGVzdE5hbWUu
dHJpbSgpKTsKLX0KLTwvc2NyaXB0PgotPGgyPnVwZGF0ZVdpdGgoKSBtZXRob2Q8L2gyPgotPHA+
Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3
aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAg
dGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgV2hlbiB0aGUgcGF5
bWVudCBzaGVldCBpcyBzaG93biwgc2VsZWN0IGEgZGlmZmVyZW50IHNoaXBwaW5nIGFkZHJlc3Mg
b25jZS4gVGhlbiBwYXkuCi08L3A+Ci08b2w+Ci0gIDxsaSBpZD0idGVzdC0wIj4KLSAgICA8YnV0
dG9uIG9uY2xpY2s9InRlc3RJbW1lZGlhdGVVcGRhdGUodGhpcyk7Ij4KLSAgICAgIHVwZGF0ZVdp
dGgoKSBtdXN0IGJlIGNhbGxlZCBpbW1lZGlhdGVseSwgb3RoZXJ3aXNlIG11c3QgdGhyb3cgYW4g
SW52YWxpZFN0YXRlRXJyb3IuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaSBpZD0idGVz
dC0xIj4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RTdWJzZXF1ZW50VXBkYXRlV2l0aENhbGxz
KHRoaXMpOyI+Ci0gICAgICBPbmNlIHRoZSBldmVudCBoYXMgcGVyZm9ybWVkIGFuIHVwZGF0ZSwg
c3Vic2VxdWVudCBjYWxscyB0byB1cGRhdGVXaXRoKCkgbXVzdCB0aHJvdyBJbnZhbGlkU3RhdGVF
cnJvci4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpIGlkPSJ0ZXN0LTIiPgotICAgIDxi
dXR0b24gb25jbGljaz0idGVzdFJlY3ljbGVFdmVudHModGhpcyk7Ij4KLSAgICAgIFJlY3ljbGlu
ZyBldmVudHMgbXVzdCBub3QgYmUgcG9zc2libGUuCi0gICAgPC9idXR0b24+IFdoZW4gdGhlIHBh
eW1lbnQgc2hlZXQgaXMgc2hvd24sIHNlbGVjdCBhIGRpZmZlcmVudCBzaGlwcGluZyBhZGRyZXNz
IG9uY2UsIHRoZW4gY2hhbmdlIHNoaXBwaW5nIG9wdGlvbiBvbmNlLiBUaGVuIHBheS4KLSAgPC9s
aT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+RG9uZSE8L2J1dHRvbj4K
LSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxl
YXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lz
c3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQt
cmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLWR1cGxpY2F0
ZS1zaGlwcGluZy1vcHRpb25zLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RV
cGRhdGVFdmVudC91cGRhdGVXaXRoLWR1cGxpY2F0ZS1zaGlwcGluZy1vcHRpb25zLW1hbnVhbC5o
dHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGE3YWZkN2Y2MzM3YzMx
MzRkMjU0ZjEyNTc0NjNkNjllZmQzMGZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1k
dXBsaWNhdGUtc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEwNiArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zjgi
PgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1y
ZXF1ZXN0LyN1cGRhdGV3aXRoKCktbWV0aG9kIj4KLTx0aXRsZT4KLSAgdXBkYXRlV2l0aCgpIG1l
dGhvZCAtIGR1cGxpY2F0ZSBzaGlwcGluZ09wdGlvbiBpZHMKLTwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAo
eyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3Qg
YXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8v
YXBwbGUuY29tL2FwcGxlLXBheSIsCi0gIGRhdGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1l
cmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29k
ZTogIlVTIiwKLSAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAg
IHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgfQotfSk7Ci1jb25zdCB2YWxpZE1ldGhv
ZCA9IE9iamVjdC5mcmVlemUoeyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSk7Ci1j
b25zdCB2YWxpZE1ldGhvZHMgPSBbdmFsaWRNZXRob2QsIGFwcGxlUGF5XTsKLWNvbnN0IHZhbGlk
QW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGN1cnJlbmN5OiAiVVNEIiwKLSAgdmFsdWU6ICI1
LjAwIiwKLX0pOwotY29uc3QgdmFsaWRTaGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUoewot
ICBpZDogIm9wdGlvbjEiLAotICBsYWJlbDogIk9wdGlvbiAxIiwKLSAgYW1vdW50OiB2YWxpZEFt
b3VudCwKLSAgc2VsZWN0ZWQ6IHRydWUsCi19KTsKLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb25z
ID0gT2JqZWN0LmZyZWV6ZShbdmFsaWRTaGlwcGluZ09wdGlvbl0pOwotY29uc3QgdmFsaWREZXRh
aWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB7Ci0gICAgbGFiZWw6ICJUb3RhbCBkdWUi
LAotICAgIGFtb3VudDogdmFsaWRBbW91bnQsCi0gIH0sCi0gIHNoaXBwaW5nT3B0aW9uczogdmFs
aWRTaGlwcGluZ09wdGlvbnMsCi19KTsKLWNvbnN0IHZhbGlkT3B0aW9ucyA9IE9iamVjdC5mcmVl
emUoewotICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi19KTsKLQotdGVzdCgoKSA9PiB7Ci0gIHRy
eSB7Ci0gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCh2YWxpZE1ldGhvZHMs
IHZhbGlkRGV0YWlscyk7Ci0gIH0gY2F0Y2ggKGVycikgewotICAgIGRvbmUoKTsKLSAgICB0aHJv
dyBlcnI7Ci0gIH0KLX0sICJNdXN0IGNvbnN0cnVjdCBhIFBheW1lbnRSZXF1ZXN0IChzbW9rZSB0
ZXN0KSIpOwotCi1mdW5jdGlvbiB0ZXN0RmlyZUV2ZW50cyhidXR0b24pIHsKLSAgYnV0dG9uLmRp
c2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHJl
cXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCi0gICAgICB2YWxpZE1ldGhvZHMsCi0gICAgICB2
YWxpZERldGFpbHMsCi0gICAgICB2YWxpZE9wdGlvbnMKLSAgICApOwotICAgIHJlcXVlc3QuYWRk
RXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgZXZlbnQgPT4gewotICAgICAg
Ly8gU2FtZSBvcHRpb24sIHNvIGR1cGxpY2F0ZSBpZHMKLSAgICAgIGNvbnN0IG90aGVyU2hpcHBp
bmdPcHRpb24gPSBPYmplY3QuYXNzaWduKHt9LCB2YWxpZFNoaXBwaW5nT3B0aW9uLCB7Ci0gICAg
ICAgIGlkOiAib3RoZXIiLAotICAgICAgfSk7Ci0gICAgICBjb25zdCBzaGlwcGluZ09wdGlvbnMg
PSBbCi0gICAgICAgIHZhbGlkU2hpcHBpbmdPcHRpb24sCi0gICAgICAgIG90aGVyU2hpcHBpbmdP
cHRpb24sCi0gICAgICAgIHZhbGlkU2hpcHBpbmdPcHRpb24sCi0gICAgICBdOwotICAgICAgY29u
c3QgbmV3RGV0YWlscyA9IE9iamVjdC5hc3NpZ24oe30sIHZhbGlkRGV0YWlscywgeyBzaGlwcGlu
Z09wdGlvbnMgfSk7Ci0gICAgICBldmVudC51cGRhdGVXaXRoKG5ld0RldGFpbHMpOwotICAgIH0p
OwotICAgIGNvbnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coKTsKLSAgICBhd2FpdCBw
cm9taXNlX3JlamVjdHNfanMoCi0gICAgICB0LAotICAgICAgVHlwZUVycm9yLAotICAgICAgYWNj
ZXB0UHJvbWlzZSwKLSAgICAgICJEdXBsaWNhdGUgc2hpcHBpbmdPcHRpb24gaWRzIG11c3QgYWJv
cnQgd2l0aCBUeXBlRXJyb3IiCi0gICAgKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0o
KSk7Ci0gIGRvbmUoKTsKLX0KLTwvc2NyaXB0PgotPGgyPnVwZGF0ZVdpdGgoKSBtZXRob2QgLSBk
dXBsaWNhdGUgc2hpcHBpbmdPcHRpb25zIGlkczwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBi
dXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0
aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0
IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3du
LCBzZWxlY3QgYSBkaWZmZXJlbnQgc2hpcHBpbmcgYWRkcmVzcy4KLSAgSWYgeW91IGhhdmUgdG8g
bWFudWFsbHkgYWJvcnQgdGhlIHRlc3QgZnJvbSB0aGUgcGF5bWVudCBzaGVldCwgdGhlbiB0aGUK
LSAgdGVzdCBoYXMgZmFpbGVkLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNs
aWNrPSJ0ZXN0RmlyZUV2ZW50cyh0aGlzKSI+Ci0gICAgICBJZiB0aGVyZSBhcmUgZHVwbGljYXRl
IHNoaXBwaW5nT3B0aW9uIGlkcywgdGhlbiBhYm9ydCBwYXltZW50IHJlcXVlc3QuCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRl
c3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVm
PSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9w
YXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFs
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1p
bmNyZW1lbnRhbC11cGRhdGUtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtaW5jcmVtZW50YWwtdXBkYXRlLW1hbnVhbC5odHRwcy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWVkMWI1ZjY4NTBjN2YyNjU2NmZmYjZl
OThiMDZlYTUxNzM5ZTE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1pbmNyZW1lbnRh
bC11cGRhdGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOTYgKzAsMCBA
QAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jdXBkYXRld2l0
aC1tZXRob2QiPgotPHRpdGxlPgotICBJbmNyZW1lbnRhbCB1cGRhdGVzIHZpYSB1cGRhdGVXaXRo
KCkKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoewotICBleHBsaWNpdF9kb25lOiB0cnVlLAotICBleHBs
aWNpdF90aW1lb3V0OiB0cnVlLAotfSk7Ci0KLWNvbnN0IG1ldGhvZHMgPSBbewotICBzdXBwb3J0
ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi19LCB7Ci0gIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRw
czovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICBkYXRhOiB7Ci0gICAgdmVyc2lvbjogMywKLSAg
ICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCi0gICAgY291bnRy
eUNvZGU6ICJVUyIsCi0gICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwK
LSAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gIH0KLX1dOwotCi1jb25zdCBvcHRp
b25zID0gewotICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi19OwotCi1jb25zdCBpbml0aWFsRGV0
YWlscyA9IHsKLSAgdG90YWw6IHsKLSAgICBsYWJlbDogIkluaXRpYWwgdG90YWwiLAotICAgIGFt
b3VudDogewotICAgICAgY3VycmVuY3k6ICJVU0QiLAotICAgICAgdmFsdWU6ICIxLjAiLAotICAg
IH0sCi0gIH0sCi0gIHNoaXBwaW5nT3B0aW9uczogWwotICAgIHsKLSAgICAgIGlkOiAibmV1dHJh
bCIsCi0gICAgICBsYWJlbDogIk5FVVRSQUwgU0hJUFBJTkcgT1BUSU9OIiwKLSAgICAgIHNlbGVj
dGVkOiB0cnVlLAotICAgICAgYW1vdW50OiB7Ci0gICAgICAgIGN1cnJlbmN5OiAiVVNEIiwKLSAg
ICAgICAgdmFsdWU6ICIwLjAwIiwKLSAgICAgIH0sCi0gICAgfSwKLSAgXSwKLX07Ci0KLWZ1bmN0
aW9uIHRlc3RGaXJlRXZlbnQoYnV0dG9uLCB1cGRhdGVEZXRhaWxzKSB7Ci0gIGJ1dHRvbi5kaXNh
YmxlZCA9IHRydWU7Ci0gIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QobWV0aG9k
cywgaW5pdGlhbERldGFpbHMsIG9wdGlvbnMpOwotICBjb25zdCBoYW5kbGVyUHJvbWlzZSA9IG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgIHJlcXVlc3Qub25zaGlwcGluZ2FkZHJlc3NjaGFu
Z2UgPSBldmVudCA9PiB7Ci0gICAgICBldmVudC51cGRhdGVXaXRoKHVwZGF0ZURldGFpbHMpOwot
ICAgICAgcmVzb2x2ZShldmVudCk7Ci0gICAgfTsKLSAgfSk7Ci0gIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKLSAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOwotICAg
IGNvbnN0IGV2ZW50ID0gYXdhaXQgaGFuZGxlclByb21pc2U7Ci0gICAgYXdhaXQgcmVzcG9uc2Uu
Y29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19
Ci0KLTwvc2NyaXB0PgotPGgyPgotICBJbmNyZW1lbnRhbCB1cGRhdGVzCi08L2gyPgotPHA+Ci0g
IENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRo
b3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhl
IFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgVW5sZXNzIHN0YXRlZCBv
dGhlcndpc2UsIGVhY2ggdGVzdCB3aWxsIHVwZGF0ZSBzb21lIHBhcnQgb2YgdGhlIGRpc3BsYXll
ZCBwYXltZW50IHNoZWV0IGluCi0gIGEgbWFubmVyIGluZGljYXRlZCBiZWxvdy4gV2hlbiBwcm9t
cHRlZCwgcGxlYXNlIGNoYW5nZSBvciBlbnRlciBhIG5ldwotICBzaGlwcGluZyBhZGRyZXNzLCBs
b29rIGZvciB0aGUgdGVzdGVkIGNoYW5nZSwgYW5kIGNvbXBsZXRlIHRoZSBwYXltZW50LgotPC9w
PgotPHA+Ci0gIElmIHRoZSBwYXltZW50IHJlcXVlc3QgbG9ja3MgdXAgb3Igb3RoZXJ3aXNlIGFi
b3J0cywgdGhlIHRlc3QgaGFzIGZhaWxlZC4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0
b24gb25jbGljaz0idGVzdEZpcmVFdmVudCh0aGlzLCB7fSk7Ij4KLSAgICAgIFBhc3NpbmcgYW4g
ZW1wdHkgZGljdGlvbmFyeSBkb2VzIG5vdCBjYXVzZSB0aGUgc2hlZXQgdG8gY2hhbmdlLgotICAg
ICAgTm8gdmFsdWVzIGluIHRoZSBzaGVldCBtdXN0IGNoYW5nZS4KLSAgICA8L2J1dHRvbj4KLSAg
PC9saT4KLTwvb2w+Ci0KLTxzZWN0aW9uPgotICA8aDM+SW5jcmVtZW50YWwgdXBkYXRlcyB2aWEg
UGF5bWVudERldGFpbHNVcGRhdGUudG90YWw8L2gzPgotICA8b2w+Ci0gICAgPGxpPgotICAgICAg
PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgIGNvbnN0IHRvdGFsID0gewotICAgICAgICBsYWJlbDog
J1BBU1MnLAotICAgICAgICBhbW91bnQ6IHsKLSAgICAgICAgICBjdXJyZW5jeTogJ1hYWCcsCi0g
ICAgICAgICAgdmFsdWU6ICcyMCcsCi0gICAgICAgIH0sCi0gICAgICB9OwotICAgICAgY29uc3Qg
dXBkYXRlZERldGFpbHMgPSB7IHRvdGFsIH07Ci0gICAgICB0ZXN0RmlyZUV2ZW50KHRoaXMsIHVw
ZGF0ZWREZXRhaWxzKTsiPgotICAgICAgICBBZnRlciBjaGFuZ2luZyBzaGlwcGluZyBhZGRyZXNz
LCB0aGUgdG90YWwgYmVjb21lcyBYWFgyMCwgd2l0aCB0aGUgbGFiZWwgIlBBU1MiLgotICAgICAg
PC9idXR0b24+Ci0gICAgPC9saT4KLSAgPC9vbD4KLTwvc2VjdGlvbj4KLQotPHNlY3Rpb24+Ci0g
IDxoMz5JbmNyZW1lbnRhbCB1cGRhdGVzIHZpYSBQYXltZW50RGV0YWlsc0Jhc2UuZGlzcGxheUl0
ZW1zPC9oMz4KLSAgPG9sPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0iCi0gICAg
ICBjb25zdCBpdGVtID0gewotICAgICAgICBsYWJlbDogJ1BBU1MnLAotICAgICAgICBhbW91bnQ6
IHsgY3VycmVuY3k6ICdBQkMnLCB2YWx1ZTogJzU1LjAwJyB9LAotICAgICAgfTsKLSAgICAgIGNv
bnN0IHVwZGF0ZWREZXRhaWxzID0gewotICAgICAgICBkaXNwbGF5SXRlbXM6IFsgaXRlbSBdCi0g
ICAgICB9OwotICAgICAgdGVzdEZpcmVFdmVudCh0aGlzLCB1cGRhdGVkRGV0YWlscyk7Ij4KLSAg
ICAgICAgQWZ0ZXIgY2hhbmdpbmcgc2hpcHBpbmcgYWRkcmVzcywgYSBuZXcgZGlzcGxheSBpdGVt
IGlzIHNob3duCi0gICAgICAgIHdpdGggYSB3aXRoIGxhYmVsIFBBU1MsIGFuZCB2YWx1ZSBvZiBB
QkM1NS4wMC4KLSAgICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0gIDwvb2w+Ci08L3NlY3Rpb24+
Ci0KLTxzZWN0aW9uPgotICA8aDM+SW5jcmVtZW50YWwgdXBkYXRlcyB2aWEgUGF5bWVudERldGFp
bHNCYXNlLnNoaXBwaW5nT3B0aW9uczwvaDM+Ci0gIDxvbD4KLSAgICA8bGk+Ci0gICAgICA8YnV0
dG9uIG9uY2xpY2s9IgotICAgICAgY29uc3Qgc2hpcHBpbmdPcHRpb25zID0gWwotICAgICAgICB7
Ci0gICAgICAgICAgaWQ6ICdwYXNzJywKLSAgICAgICAgICBsYWJlbDogJ1BBU1MnLAotICAgICAg
ICAgIGFtb3VudDogeyBjdXJyZW5jeTogJ1VTRCcsIHZhbHVlOiAnMS4wMCcgfSwKLSAgICAgICAg
ICBzZWxlY3RlZDogdHJ1ZSwKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgIGlkOiAn
ZmFpbCcsCi0gICAgICAgICAgbGFiZWw6ICdGQUlMIElGIFRISVMgSVMgU0VMRUNURUQnLAotICAg
ICAgICAgIGFtb3VudDogeyBjdXJyZW5jeTogJ1VTRCcsIHZhbHVlOiAnMjUuMDAnIH0KLSAgICAg
ICAgfSwKLSAgICAgIF07Ci0gICAgICBjb25zdCB1cGRhdGVkRGV0YWlscyA9IHsKLSAgICAgICAg
c2hpcHBpbmdPcHRpb25zCi0gICAgICB9OwotICAgICAgdGVzdEZpcmVFdmVudCh0aGlzLCB1cGRh
dGVkRGV0YWlscyk7Ij4KLSAgICAgICAgQWZ0ZXIgY2hhbmdpbmcgc2hpcHBpbmcgYWRkcmVzcywg
dHdvIG5ldyBzaGlwcGluZyBvcHRpb25zIGFwcGVhci4KLSAgICAgICAgVGhlIHNoaXBwaW5nIG9w
dGlvbiBsYWJlbGxlZCAiUEFTUyIgd2l0aCBhIHZhbHVlIG9mIFVTRDEuMCBpcyBzZWxlY3RlZC4K
LSAgICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0gIDwvb2w+Ci08L3NlY3Rpb24+Ci0KLTxzZWN0
aW9uPgotICA8aDM+SW5jcmVtZW50YWwgdXBkYXRlcyB2aWEgUGF5bWVudERldGFpbHNCYXNlLm1v
ZGlmaWVyczwvaDM+Ci0gIDxvbD4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9Igot
ICAgICAgY29uc3QgYWRkaXRpb25hbEl0ZW0gPSB7Ci0gICAgICAgIGxhYmVsOiAnUEFTUy1ESVNQ
TEFZLUlURU0nLAotICAgICAgICBhbW91bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2YWx1ZTogJzMu
MDAnIH0sCi0gICAgICB9OwotICAgICAgY29uc3QgbW9kaWZpZXJzID0gW3sKLSAgICAgICAgYWRk
aXRpb25hbERpc3BsYXlJdGVtczogWyBhZGRpdGlvbmFsSXRlbSBdLAotICAgICAgICBzdXBwb3J0
ZWRNZXRob2RzOiAnYmFzaWMtY2FyZCcsCi0gICAgICAgIHRvdGFsOiB7Ci0gICAgICAgICAgbGFi
ZWw6ICdQQVNTLVRPVEFMJywKLSAgICAgICAgICBhbW91bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2
YWx1ZTogJzEyMy4wMCcgfSwKLSAgICAgICAgfSwKLSAgICAgIH1dOwotICAgICAgY29uc3QgdXBk
YXRlZERldGFpbHMgPSB7IG1vZGlmaWVycyB9OwotICAgICAgdGVzdEZpcmVFdmVudCh0aGlzLCB1
cGRhdGVkRGV0YWlscyk7Ij4KLSAgICAgICAgQWZ0ZXIgY2hhbmdpbmcgc2hpcHBpbmcgYWRkcmVz
cywgYSBuZXcgZGlzcGxheSBpdGVtIGlzIHNob3duCi0gICAgICAgIHdpdGggYSB3aXRoIGxhYmVs
IFBBU1MtRElTUExBWS1JVEVNLCBhbmQgdmFsdWUgb2YgQUJDNTUuMDAgYW5kIHRoZSB0b3RhbCBp
cwotICAgICAgICBsYWJlbGxlZCBQQVNTLVRPVEFMIHdpdGggYSB2YWx1ZSBvZiBVU0QxMjMuMAot
ICAgICAgPC9idXR0b24+Ci0gICAgPC9saT4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xp
Y2s9ImRvbmUoKSI+RE9ORSAtIHNlZSByZXN1bHRzPC9idXR0b24+Ci0gICAgPC9saT4KLSAgPC9v
bD4KLTwvc2VjdGlvbj4KLQotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBs
ZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9p
c3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50
LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1tZXRob2Qt
YWJvcnQtdXBkYXRlLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVF
dmVudC91cGRhdGVXaXRoLW1ldGhvZC1hYm9ydC11cGRhdGUtbWFudWFsLmh0dHBzLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyNDQ1MmMyYTk5ZDMwMWI4ZWFjMDMzMDgzZTM3
OTVlNTRiYmUxNmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLW1ldGhvZC1hYm9ydC11
cGRhdGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyODYgKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jZGZuLWFib3J0LXRo
ZS11cGRhdGUiPgotPHRpdGxlPgotICB1cGRhdGVXaXRoKCkgbWV0aG9kIC0gImFib3J0IHRoZSB1
cGRhdGUiCi08L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLXNldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGlj
aXRfdGltZW91dDogdHJ1ZSB9KTsKLQotLy8gUGF5bWVudE1ldGhvZAotY29uc3QgdmFsaWRNZXRo
b2QgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogInZhbGlkLWJ1dC13b250
LWV2ZXItbWF0Y2giLAotfSk7Ci0KLWNvbnN0IHZhbGlkTWV0aG9kQmFzaWNDYXJkID0gT2JqZWN0
LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiwKLX0pOwotCi1jb25z
dCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6
Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0gICAg
bWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50cnlD
b2RlOiAiVVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0g
ICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9Ci19KTsKLQotLy8gTWV0aG9kcwot
Y29uc3QgdmFsaWRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbdmFsaWRNZXRob2RCYXNpY0NhcmQs
IHZhbGlkTWV0aG9kLCBhcHBsZVBheV0pOwotCi0vLyBBbW91bnRzCi1jb25zdCB2YWxpZEFtb3Vu
dCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5jeTogIlVTRCIsCi0gIHZhbHVlOiAiMS4wMCIs
Ci19KTsKLQotY29uc3QgaW52YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5j
eTogIsKhSU5WQUxJRCEiLAotICB2YWx1ZTogIkExLjAiLAotfSk7Ci0KLWNvbnN0IG5lZ2F0aXZl
QW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGN1cnJlbmN5OiAiVVNEIiwKLSAgdmFsdWU6ICIt
MS4wMCIsCi19KTsKLQotLy8gVG90YWxzCi1jb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6
ZSh7Ci0gIGxhYmVsOiAiVmFsaWQgVG90YWwiLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotfSk7
Ci0KLWNvbnN0IGludmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICBsYWJlbDogIkludmFs
aWQgVG90YWwiLAotICBhbW91bnQ6IGludmFsaWRBbW91bnQsCi19KTsKLQotY29uc3QgaW52YWxp
ZE5lZ2F0aXZlVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6ICJJbnZhbGlkIG5lZ2F0
aXZlIHRvdGFsIiwKLSAgYW1vdW50OiBuZWdhdGl2ZUFtb3VudCwKLX0pOwotCi0vLyBQYXltZW50
RGV0YWlsc0luaXQKLWNvbnN0IHZhbGlkRGV0YWlscyA9IE9iamVjdC5mcmVlemUoewotICB0b3Rh
bDogdmFsaWRUb3RhbCwKLX0pOwotCi1jb25zdCBpbnZhbGlkRGV0YWlsc05lZ2F0aXZlVG90YWwg
PSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6IGludmFsaWROZWdhdGl2ZVRvdGFsLAotfSk7Ci0K
LS8vIFBheW1lbnRPcHRpb25zCi1jb25zdCB2YWxpZE9wdGlvbnMgPSBPYmplY3QuZnJlZXplKHsK
LSAgcmVxdWVzdFNoaXBwaW5nOiB0cnVlLAotfSk7Ci0KLS8vIFBheW1lbnRJdGVtCi1jb25zdCB2
YWxpZFBheW1lbnRJdGVtID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGFtb3VudDogdmFsaWRBbW91bnQs
Ci0gIGxhYmVsOiAiVmFsaWQgcGF5bWVudCBpdGVtIiwKLX0pOwotCi1jb25zdCBpbnZhbGlkUGF5
bWVudEl0ZW0gPSBPYmplY3QuZnJlZXplKHsKLSAgYW1vdW50OiBpbnZhbGlkQW1vdW50LAotICBs
YWJlbDogIkludmFsaWQgcGF5bWVudCBpdGVtIiwKLX0pOwotCi0vLyBQYXltZW50SXRlbQotY29u
c3QgdmFsaWRQYXltZW50SXRlbXMgPSBPYmplY3QuZnJlZXplKFt2YWxpZFBheW1lbnRJdGVtXSk7
Ci1jb25zdCBpbnZhbGlkUGF5bWVudEl0ZW1zID0gT2JqZWN0LmZyZWV6ZShbaW52YWxpZFBheW1l
bnRJdGVtXSk7Ci0KLS8vIFBheW1lbnRTaGlwcGluZ09wdGlvbgotY29uc3QgaW52YWxpZFNoaXBw
aW5nT3B0aW9uID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGlkOiAiYWJjIiwKLSAgbGFiZWw6ICJJbnZh
bGlkIHNoaXBwaW5nIG9wdGlvbiIsCi0gIGFtb3VudDogaW52YWxpZEFtb3VudCwKLSAgc2VsZWN0
ZWQ6IHRydWUsCi19KTsKLQotLy8gUGF5bWVudFNoaXBwaW5nT3B0aW9ucwotY29uc3QgdmFsaWRT
aGlwcGluZ09wdGlvbiA9IE9iamVjdC5mcmVlemUoewotICBpZDogImFiYyIsCi0gIGxhYmVsOiAi
dmFsaWQgc2hpcHBpbmcgb3B0aW9uIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLX0pOwotCi1j
b25zdCB2YWxpZFNoaXBwaW5nT3B0aW9ucyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkU2hpcHBpbmdP
cHRpb25dKTsKLWNvbnN0IGludmFsaWRTaGlwcGluZ09wdGlvbnMgPSBPYmplY3QuZnJlZXplKFtp
bnZhbGlkU2hpcHBpbmdPcHRpb25dKTsKLQotLy8gUGF5bWVudERldGFpbHNNb2RpZmllcgotY29u
c3QgdmFsaWRNb2RpZmllciA9IE9iamVjdC5mcmVlemUoewotICBhZGRpdGlvbmFsRGlzcGxheUl0
ZW1zOiB2YWxpZFBheW1lbnRJdGVtcywKLSAgc3VwcG9ydGVkTWV0aG9kczogInZhbGlkLWJ1dC13
b250LWV2ZXItbWF0Y2giLAotICB0b3RhbDogdmFsaWRUb3RhbCwKLX0pOwotCi1jb25zdCBtb2Rp
ZmllcldpdGhJbnZhbGlkRGlzcGxheUl0ZW1zID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGFkZGl0aW9u
YWxEaXNwbGF5SXRlbXM6IGludmFsaWRQYXltZW50SXRlbXMsCi0gIHN1cHBvcnRlZE1ldGhvZHM6
ICJiYXNpYy1jYXJkIiwKLSAgdG90YWw6IHZhbGlkVG90YWwsCi19KTsKLQotY29uc3QgbW9kaWZp
ZXJXaXRoVmFsaWREaXNwbGF5SXRlbXMgPSBPYmplY3QuZnJlZXplKHsKLSAgYWRkaXRpb25hbERp
c3BsYXlJdGVtczogdmFsaWRQYXltZW50SXRlbXMsCi0gIHN1cHBvcnRlZE1ldGhvZHM6ICJiYXNp
Yy1jYXJkIiwKLSAgdG90YWw6IHZhbGlkVG90YWwsCi19KTsKLQotY29uc3QgbW9kaWZpZXJXaXRo
SW52YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGFkZGl0aW9uYWxEaXNwbGF5SXRlbXM6
IHZhbGlkUGF5bWVudEl0ZW1zLAotICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0g
IHRvdGFsOiBpbnZhbGlkVG90YWwsCi19KTsKLQotY29uc3QgcmVjdXJzaXZlRGF0YSA9IHt9Owot
cmVjdXJzaXZlRGF0YS5mb28gPSByZWN1cnNpdmVEYXRhOwotT2JqZWN0LmZyZWV6ZShyZWN1cnNp
dmVEYXRhKTsKLQotY29uc3QgbW9kaWZpZXJXaXRoUmVjdXJzaXZlRGF0YSA9IE9iamVjdC5mcmVl
emUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0gIHRvdGFsOiB2YWxpZFRv
dGFsLAotICBkYXRhOiByZWN1cnNpdmVEYXRhLAotfSk7Ci0KLWZ1bmN0aW9uIHRlc3RCYWRVcGRh
dGUoYnV0dG9uLCBiYWREZXRhaWxzLCBleHBlY3RlZEVycm9yLCBlcnJvckNvZGUpIHsKLSAgYnV0
dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNv
bnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCi0gICAgICB2YWxpZE1ldGhvZHMsCi0g
ICAgICB2YWxpZERldGFpbHMsCi0gICAgICB2YWxpZE9wdGlvbnMKLSAgICApOwotICAgIHJlcXVl
c3Qub25zaGlwcGluZ2FkZHJlc3NjaGFuZ2UgPSBldmVudCA9PiB7Ci0gICAgICBldmVudC51cGRh
dGVXaXRoKGJhZERldGFpbHMpOwotICAgIH07Ci0gICAgLy8gRmlyc3Qgd2UgY2hlY2sgdGhlIGJh
ZCB1cGRhdGUuCi0gICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJlcXVlc3Quc2hvdygpOwotICAg
IGxldCB0ZXN0X2Z1bmM7Ci0gICAgaWYgKHR5cGVvZiBleHBlY3RlZEVycm9yID09ICJmdW5jdGlv
biIpIHsKLSAgICAgIHRlc3RfZnVuYyA9IHByb21pc2VfcmVqZWN0c19qczsKLSAgICB9IGVsc2Ug
ewotICAgICAgdGVzdF9mdW5jID0gcHJvbWlzZV9yZWplY3RzX2RvbTsKLSAgICB9Ci0gICAgYXdh
aXQgdGVzdF9mdW5jKAotICAgICAgdCwKLSAgICAgIGV4cGVjdGVkRXJyb3IsCi0gICAgICBhY2Nl
cHRQcm9taXNlLAotICAgICAgImJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9taXNlIHRv
IHJlamVjdCB3aXRoIGV4cGVjdGVkRXJyb3IiCi0gICAgKTsKLSAgICAvLyBUaGUgcmVxdWVzdCBb
W3N0YXRlXV0gaXMgbm93ICJjbG9zZWQiLCBzbyBsZXQncyBjaGVjayBmb3IgSW52YWxpZFN0YXRl
RXJyb3IKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJJ
bnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICByZXF1ZXN0LnNob3coKSwKLSAgICAgICJzaG93KCkg
bXVzdCByZWplY3Qgd2l0aCBJbnZhbGlkU3RhdGVFcnJvciIKLSAgICApOwotICB9LCBidXR0b24u
aW5uZXJUZXh0LnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj51cGRhdGVXaXRoKCkgbWV0aG9k
IC0gImFib3J0IHRoZSB1cGRhdGUiPC9oMj4KLTxwPgotICBDbGljayBvbiBlYWNoIGJ1dHRvbiBp
biBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdl
LgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2lu
ZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIGNoYW5n
ZSB0aGUgc2hpcHBpbmcgYWRkcmVzcy4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24g
b25jbGljaz0iCi0gICAgICBjb25zdCByZWplY3RlZFByb21pc2UgPSBQcm9taXNlLnJlamVjdChu
ZXcgU3ludGF4RXJyb3IoJ3Rlc3QnKSk7Ci0gICAgICB0ZXN0QmFkVXBkYXRlKHRoaXMsIHJlamVj
dGVkUHJvbWlzZSwgJ0Fib3J0RXJyb3InKTsKLSAgICAiPgotICAgICAgUmVqZWN0aW9uIG9mIGRl
dGFpbHNQcm9taXNlIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGFuICJBYm9ydEVycm9yIiBE
T01FeGNlcHRpb24uCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9u
IG9uY2xpY2s9IgotICAgICAgY29uc3QgaW52YWxpZERldGFpbHMgPSB7IHRvdGFsOiBgdGhpcyB3
aWxsIGNhdXNlIGEgVHlwZUVycm9yIWAgfTsKLSAgICAgIHRlc3RCYWRVcGRhdGUodGhpcywgaW52
YWxpZERldGFpbHMsIFR5cGVFcnJvcik7Ci0gICAgIj4KLSAgICAgIFRvdGFsIGluIHRoZSB1cGRh
dGUgaXMgYSBzdHJpbmcsIHNvIGNvbnZlcnRpbmcgdG8gSURMIG11c3QgYWJvcnQgdGhlIHVwZGF0
ZSB3aXRoIGEgVHlwZUVycm9yLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAg
PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgIGNvbnN0IGludmFsaWREZXRhaWxzID0geyB0b3RhbDog
cmVjdXJzaXZlRGF0YSB9OwotICAgICAgdGVzdEJhZFVwZGF0ZSh0aGlzLCBpbnZhbGlkRGV0YWls
cywgVHlwZUVycm9yKTsKLSAgICAiPgotICAgICAgVG90YWwgaXMgcmVjdXJzaXZlLCBzbyBjb252
ZXJ0aW5nIHRvIElETCBtdXN0IGFib3J0IHRoZSB1cGRhdGUgd2l0aCBhIFR5cGVFcnJvci4KLSAg
ICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAg
ICB0ZXN0QmFkVXBkYXRlKHRoaXMsIGludmFsaWREZXRhaWxzTmVnYXRpdmVUb3RhbCwgVHlwZUVy
cm9yKTsKLSAgICAiPgotICAgICAgVXBkYXRpbmcgd2l0aCBhIG5lZ2F0aXZlIHRvdGFsIHJlc3Vs
dHMgaW4gYSBUeXBlRXJyb3IuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8
YnV0dG9uIG9uY2xpY2s9IgotICAgICAgY29uc3QgYmFkRGV0YWlscyA9IE9iamVjdC5hc3NpZ24o
e30sIHZhbGlkRGV0YWlscywgeyBkaXNwbGF5SXRlbXM6IGludmFsaWRQYXltZW50SXRlbXMgfSk7
Ci0gICAgICB0ZXN0QmFkVXBkYXRlKHRoaXMsIGJhZERldGFpbHMsIFJhbmdlRXJyb3IpOwotICAg
ICI+Ci0gICAgICBVcGRhdGluZyB3aXRoIGEgZGlzcGxheUl0ZW0gd2l0aCBhbiBpbnZhbGlkIGN1
cnJlbmN5IHJlc3VsdHMgaW4gUmFuZ2VFcnJvci4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAg
PGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICBjb25zdCBkdXBsaWNhdGVTaGlwcGlu
Z09wdGlvbnMgPSBbdmFsaWRTaGlwcGluZ09wdGlvbiwgdmFsaWRTaGlwcGluZ09wdGlvbl07Ci0g
ICAgICBjb25zdCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCB7
IHNoaXBwaW5nT3B0aW9uczogZHVwbGljYXRlU2hpcHBpbmdPcHRpb25zIH0pOwotICAgICAgdGVz
dEJhZFVwZGF0ZSh0aGlzLCBiYWREZXRhaWxzLCBUeXBlRXJyb3IpOwotICAgICI+Ci0gICAgICBV
cGRhdGluZyB3aXRoIGR1cGxpY2F0ZSBzaGlwcGluZ09wdGlvbnMgKHNhbWUgSURzKSByZXN1bHRz
IGluIGEgVHlwZUVycm9yLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1
dHRvbiBvbmNsaWNrPSIKLSAgICAgIGNvbnN0IGJhZERldGFpbHMgPSBPYmplY3QuYXNzaWduKHt9
LCB2YWxpZERldGFpbHMsIHsgc2hpcHBpbmdPcHRpb25zOiBpbnZhbGlkU2hpcHBpbmdPcHRpb25z
IH0pOwotICAgICAgdGVzdEJhZFVwZGF0ZSh0aGlzLCBiYWREZXRhaWxzLCBSYW5nZUVycm9yKTsK
LSAgICAiPgotICAgICAgVXBkYXRpbmcgd2l0aCBhIHNoaXBwaW5nT3B0aW9uIHdpdGggYW4gaW52
YWxpZCBjdXJyZW5jeSB2YWx1ZSByZXN1bHRzIGluIGEgUmFuZ0Vycm9yLgotICAgIDwvYnV0dG9u
PgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgIC8vIHZhbGlk
TW9kaWZpZXIgaXMgdGhlcmUgYXMgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIC0gaXQgc2hvdWxk
IGp1c3QgZ2V0IGlnbm9yZWQKLSAgICAgIGNvbnN0IGJhZE1vZGlmaWVycyA9IHsgbW9kaWZpZXJz
OiBbIG1vZGlmaWVyV2l0aEludmFsaWRUb3RhbCwgdmFsaWRNb2RpZmllciBdIH07Ci0gICAgICBj
b25zdCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCBiYWRNb2Rp
ZmllcnMpOwotICAgICAgdGVzdEJhZFVwZGF0ZSh0aGlzLCBiYWREZXRhaWxzLCBSYW5nZUVycm9y
KTsKLSAgICAiPgotICAgICAgTXVzdCB0aHJvdyBhIFJhbmdlRXJyb3Igd2hlbiBhIG1vZGlmaWVy
J3MgdG90YWwgaXRlbSBoYXMgYW4gaW52YWxpZCBjdXJyZW5jeS4KLSAgICA8L2J1dHRvbj4KLSAg
PC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICAvLyB2YWxpZE1vZGlm
aWVyIGlzIHRoZXJlIGFzIHRvIGF2b2lkIGZhbHNlIHBvc2l0aXZlcyAtIGl0IHNob3VsZCBqdXN0
IGdldCBpZ25vcmVkCi0gICAgICBjb25zdCBiYWRNb2RpZmllcnMgPSB7IG1vZGlmaWVyczogWyBt
b2RpZmllcldpdGhJbnZhbGlkRGlzcGxheUl0ZW1zLCB2YWxpZE1vZGlmaWVyIF0gfTsKLSAgICAg
IGNvbnN0IGJhZERldGFpbHMgPSBPYmplY3QuYXNzaWduKHt9LCB2YWxpZERldGFpbHMsIGJhZE1v
ZGlmaWVycyk7Ci0gICAgICB0ZXN0QmFkVXBkYXRlKHRoaXMsIGJhZERldGFpbHMsIFJhbmdlRXJy
b3IpOwotICAgICI+Ci0gICAgICBNdXN0IHRocm93IGEgUmFuZ2VFcnJvciB3aGVuIGEgbW9kaWZp
ZXIgZGlzcGxheSBpdGVtIGhhcyBhbiBpbnZhbGlkIGN1cnJlbmN5LgotICAgPC9idXR0b24+Ci0g
IDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAgLy8gdmFsaWRNb2Rp
ZmllciBpcyB0aGVyZSBhcyB0byBhdm9pZCBmYWxzZSBwb3NpdGl2ZXMgLSBpdCBzaG91bGQganVz
dCBnZXQgaWdub3JlZAotICAgICAgY29uc3QgYmFkTW9kaWZpZXJzID0geyBtb2RpZmllcnM6IFsg
bW9kaWZpZXJXaXRoUmVjdXJzaXZlRGF0YSwgdmFsaWRNb2RpZmllciBdIH07Ci0gICAgICBjb25z
dCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCBiYWRNb2RpZmll
cnMpOwotICAgICAgdGVzdEJhZFVwZGF0ZSh0aGlzLCBiYWREZXRhaWxzLCBUeXBlRXJyb3IpOwot
ICAgICI+Ci0gICAgICBNdXN0IHRocm93IGFzIE1vZGlmaWVyIGhhcyBhIHJlY3Vyc2l2ZSBkaWN0
aW9uYXJ5LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNs
aWNrPSJkb25lKCk7Ij5Eb25lITwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAg
SWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQg
dGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQg
cmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVw
ZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtc3RhdGUtY2hlY2tzLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
UGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLXN0YXRlLWNoZWNrcy1tYW51YWwu
aHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmIxNmRlNTY5OWFhNzRl
OWZiNzE3ODhlMjM3OGRmNmUyMTg0N2YxMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgt
c3RhdGUtY2hlY2tzLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTI1ICsw
LDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9wYXltZW50LXJlcXVlc3QvI3VwZGF0
ZXdpdGgoKS1tZXRob2QiPgotPHRpdGxlPnVwZGF0ZVdpdGgoKSBtZXRob2QgLSBzdGF0ZSBtYWNo
aW5lIGNoZWNrczwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBs
aWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgYXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsK
LSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gIGRh
dGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50
LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICBtZXJjaGFudENhcGFi
aWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2Ei
XSwKLSAgfQotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZCA9IE9iamVjdC5mcmVlemUoeyBzdXBwb3J0
ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSk7Ci1jb25zdCB2YWxpZE1ldGhvZHMgPSBPYmplY3Qu
ZnJlZXplKFt2YWxpZE1ldGhvZCwgYXBwbGVQYXldKTsKLWNvbnN0IHZhbGlkQW1vdW50ID0gT2Jq
ZWN0LmZyZWV6ZSh7IGN1cnJlbmN5OiAiVVNEIiwgdmFsdWU6ICI1LjAwIiB9KTsKLWNvbnN0IHZh
bGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6ICJsYWJlbCIsCi0gIGFtb3VudDog
dmFsaWRBbW91bnQsCi19KTsKLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJl
ZXplKHsKLSAgaWQ6ICJhLXNoaXBwaW5nLW9wdGlvbiIsCi0gIGxhYmVsOiAiQSBzaGlwcGluZyBv
cHRpb24iLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICBzZWxlY3RlZDogdHJ1ZSwKLX0pOwot
Y29uc3QgdmFsaWREZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB2YWxpZFRvdGFs
LAotICBzaGlwcGluZ09wdGlvbnM6IFt2YWxpZFNoaXBwaW5nT3B0aW9uXSwKLX0pOwotY29uc3Qg
dmFsaWRPcHRpb25zID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwK
LX0pOwotCi1mdW5jdGlvbiBnZXRQYXltZW50UHJvbWlzZXMoKSB7Ci0gIGNvbnN0IHJlcXVlc3Qg
PSBuZXcgUGF5bWVudFJlcXVlc3QodmFsaWRNZXRob2RzLCB2YWxpZERldGFpbHMsIHZhbGlkT3B0
aW9ucyk7Ci0gIGNvbnN0IGV2ZW50UHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewot
ICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgcmVz
b2x2ZSk7Ci0gIH0pOwotICBjb25zdCByZXNwb25zZVByb21pc2UgPSByZXF1ZXN0LnNob3coKTsK
LSAgcmV0dXJuIHsgZXZlbnRQcm9taXNlLCByZXNwb25zZVByb21pc2UgfTsKLX0KLQotZnVuY3Rp
b24gdGVzdFJlcXVlc3RJc0Nsb3NlZChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gInRy
dWUiOwotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgeyBldmVudFByb21p
c2UsIHJlc3BvbnNlUHJvbWlzZSB9ID0gZ2V0UGF5bWVudFByb21pc2VzKCk7Ci0gICAgY29uc3Qg
ZXZlbnQgPSBhd2FpdCBldmVudFByb21pc2U7Ci0gICAgLy8gV2UgYXJlIGdvaW5nIHRvIGFib3J0
IHRoZSByZXNwb25zZVByb21pc2UsIHNvIHdlIGNhbiBpZ25vcmUgZXJyb3IuCi0gICAgcmVzcG9u
c2VQcm9taXNlLmNhdGNoKGVyciA9PiBlcnIpOwotICAgIC8vIFNldCByZXF1ZXN0Lltbc3RhdGVd
XSB0byBjbG9zZWQKLSAgICBhd2FpdCBldmVudC50YXJnZXQuYWJvcnQoKTsKLSAgICBhc3NlcnRf
dGhyb3dzX2RvbSgKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICAoKSA9PiB7Ci0g
ICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgodmFsaWREZXRhaWxzKTsKLSAgICAgIH0sCi0gICAgICAi
cmVxdWVzdC5bW3N0YXRlXV0gaXMgbm90IGludGVyYWN0aXZlLCBtdXN0IHRocm93IGFuIEludmFs
aWRTdGF0ZUVycm9yLiIKLSAgICApOwotICAgIHJlc3BvbnNlUHJvbWlzZS5jYXRjaChlcnIgPT4g
ZXJyKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3RSZXF1ZXN0SXNVcGRhdGluZyhidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gInRydWUi
OwotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgeyBldmVudFByb21pc2Us
IHJlc3BvbnNlUHJvbWlzZSB9ID0gZ2V0UGF5bWVudFByb21pc2VzKCk7Ci0gICAgY29uc3QgZXZl
bnQgPSBhd2FpdCBldmVudFByb21pc2U7Ci0gICAgLy8gV2UgYXJlIGdvaW5nIHRvIHB1dCBhIHBy
b21pc2UgaW50byBhIHBlbmRpbmcgc3RhdGUKLSAgICAvLyBjaGVjayB0aGF0IGEgc2Vjb25kIGNh
bGwgdG8gdXBkYXRlV2l0aCgpIHRocm93cywKLSAgICAvLyB0aGVuIHJlc29sdmUgdGhlIHBlbmRp
bmcgcHJvbWlzZSBiZWxvdy4KLSAgICBsZXQgcmVzb2x2ZXI7Ci0gICAgY29uc3QgcGVuZGluZ1By
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIHJlc29sdmVyID0gcmVzb2x2
ZTsKLSAgICB9KTsKLSAgICAvLyBTZXQgcmVxdWVzdC5bW3VwZGF0aW5nXV0gdG8gdHJ1ZQotICAg
IGV2ZW50LnVwZGF0ZVdpdGgocGVuZGluZ1Byb21pc2UpOwotICAgIGFzc2VydF90aHJvd3NfZG9t
KAotICAgICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgICgpID0+IHsKLSAgICAgICAgZXZl
bnQudXBkYXRlV2l0aCh2YWxpZERldGFpbHMpOwotICAgICAgfSwKLSAgICAgICJyZXF1ZXN0Lltb
dXBkYXRpbmddXSB0byB0cnVlLCBtdXN0IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yLiIKLSAg
ICApOwotICAgIC8vIFdlIGdvdCB0aGUgZXJyb3Igd2Ugd2FudGVkLCBzbyBsZXQncyByZXNvbHZl
IHdpdGggdmFsaWQgZGV0YWlscy4KLSAgICByZXNvbHZlcih2YWxpZERldGFpbHMpOwotICAgIGF3
YWl0IHBlbmRpbmdQcm9taXNlOwotICAgIGF3YWl0IGV2ZW50LnRhcmdldC5hYm9ydCgpOwotICAg
IHJlc3BvbnNlUHJvbWlzZS5jYXRjaChlcnIgPT4gZXJyKTsKLSAgfSwgYnV0dG9uLnRleHRDb250
ZW50LnRyaW0oKSk7Ci19Ci0KLTwvc2NyaXB0PgotPGgyPnVwZGF0ZVdpdGgoKSBtZXRob2QgLSBz
dGF0ZSBtYWNoaW5lIGNoZWNrczwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4g
c2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4K
LSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRv
dy4KLTwvcD4KLTxwPgotICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCBzZWxlY3Qg
YSBkaWZmZXJlbnQgc2hpcHBpbmcgYWRkcmVzcyBvbmNlLiBUaGVuIHBheS4KLTwvcD4KLTxvbD4K
LSAgPGxpIGlkPSJ0ZXN0LTAiPgotICAgIDxidXR0b24gb25jbGljaz0idGVzdFJlcXVlc3RJc0Ns
b3NlZCh0aGlzKTsiPgotICAgICAgV2hlbiB1cGRhdGVXaXRoKCkgaXMgY2FsbGVkLCBpZiByZXF1
ZXN0Lltbc3RhdGVdXSBpcyBub3QgImludGVyYWN0aXZlIiwgdGhlbiB0aHJvdyBhbiAiIEludmFs
aWRTdGF0ZUVycm9yIiBET01FeGNlcHRpb24uCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxs
aSBpZD0idGVzdC0xIj4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RSZXF1ZXN0SXNVcGRhdGlu
Zyh0aGlzKTsiPgotICAgICAgV2hlbiB1cGRhdGVXaXRoKCkgaXMgY2FsbGVkLCBJZiByZXF1ZXN0
LltbdXBkYXRpbmddXSBpcyB0cnVlLCB0aGVuIHRocm93IGFuICJJbnZhbGlkU3RhdGVFcnJvciIg
RE9NRXhjZXB0aW9uLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRv
biBvbmNsaWNrPSJkb25lKCk7Ij5Eb25lITwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFs
bD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgot
ICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdn
ZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVx
dWVzdFVwZGF0ZUV2ZW50L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRhdGVF
dmVudC93M2MtaW1wb3J0LmxvZwppbmRleCBkNDY4OTkzOTcxZjVhMWY5NTI2ZTc0NjFiYTE4M2Mz
NDQwODFiOTYxLi5hZmU3YjVjMzVkMjhhMGY3MzZhZTcyNzc5MDUzYmRmNDFjZjU2MjFkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdzNjLWltcG9ydC5sb2cKQEAgLTE2LDkgKzE2
LDQgQEAgTm9uZQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50
L2NvbnN0cnVjdG9yLmh0dHAuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvY29u
c3RydWN0b3IuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRl
V2l0aC1jYWxsLWltbWVkaWF0ZS1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0
VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1kdXBsaWNhdGUtc2hpcHBpbmctb3B0aW9ucy1tYW51YWwu
aHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1pbmNy
ZW1lbnRhbC11cGRhdGUtbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0
ZUV2ZW50L3VwZGF0ZVdpdGgtbWV0aG9kLWFib3J0LXVwZGF0ZS1tYW51YWwuaHR0cHMuaHRtbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1zdGF0ZS1jaGVja3MtbWFu
dWFsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZXdpdGgt
bWV0aG9kLmh0dHBzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3Jz
L3JldHJ5LXNob3dzLWVycm9yLW1lbWJlci1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRW
YWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNob3dzLWVycm9yLW1lbWJlci1tYW51YWwuaHR0cHMuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTEzNTUyMGNkNzYyZjNlNjI4NmI1ZjNi
YTU3MmY4OGNhZTkyMGZhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1lcnJvci1tZW1i
ZXItbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi08IWRv
Y3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5bWVudHZhbGlk
YXRpb25lcnJvcnMtZXJyb3IiPgotPHRpdGxlPgotICBQYXltZW50VmFsaWRhdGlvbkVycm9ycycg
YGVycm9yYCBtZW1iZXIKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcGF5bWVudC1yZXNwb25zZS9oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiByZXRyeVNob3dzRXJyb3JNZW1i
ZXIoYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKLSAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSBhd2FpdCBnZXRQYXltZW50UmVx
dWVzdFJlc3BvbnNlKCk7Ci0gICAgYXdhaXQgcmVzcG9uc2UucmV0cnkoeyBlcnJvcjogIlBBU1Mi
IH0pOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Ci0gIH0sIGJ1dHRv
bi50ZXh0Q29udGVudC50cmltKCkpOwotfQotPC9zY3JpcHQ+Ci08aDI+Ci0gIE1hbnVhbCBUZXN0
IGZvciBQYXltZW50VmFsaWRhdGlvbkVycm9ycydzIGBlcnJvcmAgbWVtYmVyIC0gUGxlYXNlIHJ1
biBpbiBvcmRlciEKLTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVu
Y2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFj
aCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwv
cD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50IHNoZWV0LCB1c2UgYW55
IGNhcmQgYW5kIHNlbGVjdCB0byAiUGF5Ii4KLSAgWW91IHdpbGwgYmUgYXNrZWQgdG8gcmV0cnkg
dGhlIHBheW1lbnQgYW5kIGFuIGVycm9yIHNob3VsZCBiZSBzaG93biBzb21ld2hlcmUKLSAgaW4g
dGhlIFVJLiBUaGUgZXhwZWN0ZWQgZXJyb3Igc3RyaW5nIGlzIGRlc2NyaWJlZCBpbiBlYWNoIGlu
ZGl2aWR1YWwgdGVzdC4KLSAgSWYgeW91IHNlZSB0aGUgZXJyb3IsIGhpdCAiUGF5IiBhZ2Fpbi4g
SWYgeW91IGRvbid0IHNlZSB0aGUgZXJyb3IsCi0gIGFib3J0IHRoZSBwYXltZW50IHJlcXVlc3Qg
YnkgaGl0dGluZyAiZXNjIiAtIHdoaWNoIG1lYW5zIHRoYXQgcGFydGljdWxhciB0ZXN0Ci0gIGhh
cyBmYWlsZWQuCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJldHJ5
U2hvd3NFcnJvck1lbWJlcih0aGlzKTsiPgotICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3Mg
dGhlIGVycm9yICJQQVNTIiBzb21ld2hlcmUgaW4gdGhlIFVJLgotICAgIDwvYnV0dG9uPgotICA8
L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCk7Ij4KLSAgICAgIERvbmUh
Ci0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBh
IGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRo
ZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9i
L21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPm93bmVyczwvYT4uCi08L3NtYWxsPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMvcmV0cnktc2hvd3MtcGF5ZXIt
bWVtYmVyLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMvcmV0
cnktc2hvd3MtcGF5ZXItbWVtYmVyLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmODExNWU2OWVjNWQ3YzMxNzJhNmU0MmQ0ZTQ0Njg5OGQwNGY5YThiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRW
YWxpZGF0aW9uRXJyb3JzL3JldHJ5LXNob3dzLXBheWVyLW1lbWJlci1tYW51YWwuaHR0cHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEg
Y2hhcnNldD0idXRmOCI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9wYXltZW50LXJlcXVlc3QvI2RvbS1wYXltZW50dmFsaWRhdGlvbmVycm9ycy1wYXllciI+
Ci08dGl0bGU+Ci0gIFBheW1lbnRWYWxpZGF0aW9uRXJyb3JzJyBgcGF5ZXJgIG1lbWJlcgotPC90
aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi9wYXltZW50LXJlc3BvbnNlL2hlbHBlcnMuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLWZ1bmN0aW9uIHJldHJ5U2hvd3NQYXllck1lbWJlcihidXR0b24sIGVycm9yKSB7
Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
LSAgICBjb25zdCBvcHRpb25zID0gewotICAgICAgcmVxdWVzdFBheWVyTmFtZTogdHJ1ZSwKLSAg
ICAgIHJlcXVlc3RQYXllckVtYWlsOiB0cnVlLAotICAgICAgcmVxdWVzdFBheWVyUGhvbmU6IHRy
dWUsCi0gICAgfQotICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1
ZXN0UmVzcG9uc2Uob3B0aW9ucyk7Ci0gICAgYXdhaXQgcmVzcG9uc2UucmV0cnkoeyBwYXllcjog
ZXJyb3IgfSk7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwg
YnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj4KLSAgTWFudWFs
IFRlc3QgZm9yIFBheW1lbnRWYWxpZGF0aW9uRXJyb3JzJyBgcGF5ZXJgIG1lbWJlciAtIFBsZWFz
ZSBydW4gaW4gb3JkZXIhCi08L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNl
cXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0g
IEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cu
Ci08L3A+Ci08cD4KLSAgV2hlbiBwcmVzZW50ZWQgd2l0aCB0aGUgcGF5bWVudCBzaGVldCwgdXNl
IGFueSBjYXJkIGFuZCBzZWxlY3QgdG8gIlBheSIuCi0gIFlvdSB3aWxsIGJlIGFza2VkIHRvIHJl
dHJ5IHRoZSBwYXltZW50IGFuZCBhbiBlcnJvciBzaG91bGQgYmUgc2hvd24gc29tZXdoZXJlCi0g
IGluIHRoZSBVSS4gVGhlIGV4cGVjdGVkIGVycm9yIHN0cmluZyBpcyBkZXNjcmliZWQgaW4gZWFj
aCBpbmRpdmlkdWFsIHRlc3QuCi0gIElmIHlvdSBzZWUgdGhlIGVycm9yLCBoaXQgIlBheSIgYWdh
aW4uIElmIHlvdSBkb24ndCBzZWUgdGhlIGVycm9yLAotICBhYm9ydCB0aGUgcGF5bWVudCByZXF1
ZXN0IGJ5IGhpdHRpbmcgImVzYyIgLSB3aGljaCBtZWFucyB0aGF0IHBhcnRpY3VsYXIgdGVzdAot
ICBoYXMgZmFpbGVkLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJy
ZXRyeVNob3dzUGF5ZXJNZW1iZXIodGhpcywgeyBlbWFpbDogJ0VNQUlMIEVSUk9SJyB9KTsiPgot
ICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgIkVNQUlMIEVSUk9SIiBmb3IgdGhlIHBheWVy
J3MgZW1haWwuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9u
Y2xpY2s9InJldHJ5U2hvd3NQYXllck1lbWJlcih0aGlzLCB7IG5hbWU6ICdOQU1FIEVSUk9SJyB9
KTsiPgotICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgIk5BTUUgRVJST1IiIGZvciB0aGUg
cGF5ZXIncyBuYW1lLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRv
biBvbmNsaWNrPSJyZXRyeVNob3dzUGF5ZXJNZW1iZXIodGhpcywgeyBwaG9uZTogJ1BIT05FIEVS
Uk9SJyB9KTsiPgotICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hvd3MgIlBIT05FIEVSUk9SIiBm
b3IgdGhlIHBheWVyJ3MgcGhvbmUgbnVtYmVyLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8
bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCk7Ij4KLSAgICAgIERvbmUhCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRl
c3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVm
PSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9w
YXltZW50LXJlcXVlc3QvTUVUQS55bWwiPm93bmVyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMvcmV0cnktc2hvd3Mtc2hpcHBpbmdBZGRyZXNz
LW1lbWJlci1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzL3Jl
dHJ5LXNob3dzLXNoaXBwaW5nQWRkcmVzcy1tZW1iZXItbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0ZTZmYTUxMDViMjBhNzEyNzI5MmRlNTdhZGNmYjIw
ZjNiODA2ZTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvUGF5bWVudFZhbGlkYXRpb25FcnJvcnMvcmV0cnktc2hvd3Mtc2hpcHBpbmdBZGRyZXNzLW1l
bWJlci1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi08
IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5bWVudHZh
bGlkYXRpb25lcnJvcnMtc2hpcHBpbmdhZGRyZXNzIj4KLTx0aXRsZT4KLSAgUGF5bWVudFZhbGlk
YXRpb25FcnJvcnMnIGBzaGlwcGluZ0FkZHJlc3NgIG1lbWJlciAoQWRkcmVzc0Vycm9ycykKLTwv
dGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iLi4vcGF5bWVudC1yZXNwb25zZS9oZWxwZXJzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiByZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVyKGJ1dHRv
biwgZXJyb3IpIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4gewotICAgIGNvbnN0IG9wdGlvbnMgPSB7Ci0gICAgICByZXF1ZXN0U2hpcHBpbmc6
IHRydWUsCi0gICAgfQotICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRS
ZXF1ZXN0UmVzcG9uc2Uob3B0aW9ucyk7Ci0gICAgYXdhaXQgcmVzcG9uc2UucmV0cnkoeyBzaGlw
cGluZ0FkZHJlc3M6IGVycm9yIH0pOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNj
ZXNzIik7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfQotPC9zY3JpcHQ+Ci08
aDI+Ci0gIE1hbnVhbCBUZXN0IGZvciBQYXltZW50VmFsaWRhdGlvbkVycm9ycycgYHNoaXBwaW5n
QWRkcmVzc2AgbWVtYmVyIC0gUGxlYXNlIHJ1biBpbiBvcmRlciEKLTwvaDI+Ci08cD4KLSAgQ2xp
Y2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQg
cmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5
bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRo
IHRoZSBwYXltZW50IHNoZWV0LCB1c2UgYW55IGNhcmQgYW5kIHNlbGVjdCB0byAiUGF5Ii4KLSAg
WW91IHdpbGwgYmUgYXNrZWQgdG8gcmV0cnkgdGhlIHBheW1lbnQgYW5kIGFuIGVycm9yIHNob3Vs
ZCBiZSBzaG93biBzb21ld2hlcmUKLSAgaW4gdGhlIFVJLiBUaGUgZXhwZWN0ZWQgZXJyb3Igc3Ry
aW5nIGlzIGRlc2NyaWJlZCBpbiBlYWNoIGluZGl2aWR1YWwgdGVzdC4KLSAgSWYgeW91IHNlZSB0
aGUgZXJyb3IsIGhpdCAiUGF5IiBhZ2Fpbi4gSWYgeW91IGRvbid0IHNlZSB0aGUgZXJyb3IsCi0g
IGFib3J0IHRoZSBwYXltZW50IHJlcXVlc3QgYnkgaGl0dGluZyAiZXNjIiAtIHdoaWNoIG1lYW5z
IHRoYXQgcGFydGljdWxhciB0ZXN0Ci0gIGhhcyBmYWlsZWQuCi08L3A+Ci08b2w+Ci0gIDxsaT4K
LSAgICA8YnV0dG9uIG9uY2xpY2s9InJldHJ5U2hvd3NTaGlwcGluZ0FkZHJlc3NNZW1iZXIodGhp
cywgeyBhZGRyZXNzTGluZTogJ0FERFJFU1NMSU5FIEVSUk9SJyB9KTsiPgotICAgICAgVGhlIHBh
eW1lbnQgc2hlZXQgc2hvd3MgIkFERFJFU1NMSU5FIEVSUk9SIiBmb3IgdGhlIHNoaXBwaW5nIGFk
ZHJlc3MnIGFkZHJlc3NMaW5lLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAg
PGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVyKHRoaXMsIHsg
Y2l0eTogJ0NJVFkgRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93cyAi
Q0lUWSBFUlJPUiIgZm9yIHRoZSBzaGlwcGluZyBhZGRyZXNzJyBjaXR5LgotICAgIDwvYnV0dG9u
PgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzU2hpcHBp
bmdBZGRyZXNzTWVtYmVyKHRoaXMsIHsgY291bnRyeTogJ0NPVU5UUlkgRVJST1InIH0pOyI+Ci0g
ICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93cyAiQ09VTlRSWSBFUlJPUiIgZm9yIHRoZSBzaGlw
cGluZyBhZGRyZXNzJyBjb3VudHJ5LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0g
ICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVyKHRoaXMs
IHsgZGVwZW5kZW50TG9jYWxpdHk6ICdERVBFTkRFTlRMT0NBTElUWSBFUlJPUicgfSk7Ij4KLSAg
ICAgIFRoZSBwYXltZW50IHNoZWV0IHNob3dzICJERVBFTkRFTlRMT0NBTElUWSBFUlJPUiIgZm9y
IHRoZSBzaGlwcGluZyBhZGRyZXNzJyBkZXBlbmRlbnRMb2NhbGl0eS4KLSAgICA8L2J1dHRvbj4K
LSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icmV0cnlTaG93c1NoaXBwaW5n
QWRkcmVzc01lbWJlcih0aGlzLCB7IG9yZ2FuaXphdGlvbjogJ09SR0FOSVpBVElPTiBFUlJPUicg
fSk7Ij4KLSAgICAgIFRoZSBwYXltZW50IHNoZWV0IHNob3dzICJPUkdBTklaQVRJT04gRVJST1Ii
IGZvciB0aGUgc2hpcHBpbmcgYWRkcmVzcycgb3JnYW5pemF0aW9uLgotICAgIDwvYnV0dG9uPgot
ICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzU2hpcHBpbmdB
ZGRyZXNzTWVtYmVyKHRoaXMsIHsgcGhvbmU6ICdQSE9ORSBFUlJPUicgfSk7Ij4KLSAgICAgIFRo
ZSBwYXltZW50IHNoZWV0IHNob3dzICJQSE9ORSBFUlJPUiIgZm9yIHRoZSBzaGlwcGluZyBhZGRy
ZXNzJyBwaG9uZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24g
b25jbGljaz0icmV0cnlTaG93c1NoaXBwaW5nQWRkcmVzc01lbWJlcih0aGlzLCB7IHBvc3RhbENv
ZGU6ICdQT1NUQUxDT0RFIEVSUk9SJyB9KTsiPgotICAgICAgVGhlIHBheW1lbnQgc2hlZXQgc2hv
d3MgIlBPU1RBTENPREUgRVJST1IiIGZvciB0aGUgc2hpcHBpbmcgYWRkcmVzcycgcG9zdGFsIGNv
ZGUuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9
InJldHJ5U2hvd3NTaGlwcGluZ0FkZHJlc3NNZW1iZXIodGhpcywgeyByZWNpcGllbnQ6ICdSRUNJ
UElFTlQgRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVldCBzaG93cyAiUkVDSVBJ
RU5UIEVSUk9SIiBmb3IgdGhlIHNoaXBwaW5nIGFkZHJlc3MnIHJlY2lwaWVudC4KLSAgICA8L2J1
dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icmV0cnlTaG93c1No
aXBwaW5nQWRkcmVzc01lbWJlcih0aGlzLCB7IHJlZ2lvbjogJ1JFR0lPTiBFUlJPUicgfSk7Ij4K
LSAgICAgIFRoZSBwYXltZW50IHNoZWV0IHNob3dzICJSRUdJT04gRVJST1IiIGZvciB0aGUgc2hp
cHBpbmcgYWRkcmVzcycgcmVnaW9uLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0g
ICAgPGJ1dHRvbiBvbmNsaWNrPSJyZXRyeVNob3dzU2hpcHBpbmdBZGRyZXNzTWVtYmVyKHRoaXMs
IHsgcmVnaW9uQ29kZTogJ1JFR0lPTkNPREUgRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVu
dCBzaGVldCBzaG93cyAiUkVHSU9OQ09ERSBFUlJPUiIgZm9yIHRoZSBzaGlwcGluZyBhZGRyZXNz
JyByZWdpb24gY29kZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0
b24gb25jbGljaz0icmV0cnlTaG93c1NoaXBwaW5nQWRkcmVzc01lbWJlcih0aGlzLCB7IHNvcnRp
bmdDb2RlOiAnU09SVElOR0NPREUgRVJST1InIH0pOyI+Ci0gICAgICBUaGUgcGF5bWVudCBzaGVl
dCBzaG93cyAiU09SVElOR0NPREUgRVJST1IiIGZvciB0aGUgc2hpcHBpbmcgYWRkcmVzcycgc29y
dGluZyBjb2RlLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBv
bmNsaWNrPSJkb25lKCk7Ij4KLSAgICAgIERvbmUhCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08
L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVm
PSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUg
YSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5j
b20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVU
QS55bWwiPm93bmVyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxnb3JpdGhtcy1t
YW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsZ29yaXRobXMtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5MGMzMTJhYmEzYmY0OTc4OTg2ZGVmZTAwZjUxOTVj
NzRiODhiNjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvYWxnb3JpdGhtcy1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3NiAr
MCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNhbGdv
cml0aG1zIj4KLTx0aXRsZT4KLSAgUGF5bWVudCBSZXF1ZXN0IGFsZ29yaXRobXMKLTwvdGl0bGU+
Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0Pgotc2V0dXAoewotICBleHBsaWNpdF9kb25lOiB0cnVlLAotICBleHBsaWNpdF90aW1lb3V0
OiB0cnVlLAotfSk7Ci1jb25zdCBtZXRob2RzID0gWwotICB7Ci0gICAgc3VwcG9ydGVkTWV0aG9k
czogImJhc2ljLWNhcmQiLAotICB9LAotICB7Ci0gICAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBz
Oi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gICAgZGF0YTogewotICAgICAgdmVyc2lvbjogMywK
LSAgICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICAg
IGNvdW50cnlDb2RlOiAiVVMiLAotICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9y
dHMzRFMiXSwKLSAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgICB9LAotICB9
Ci1dOwotY29uc3Qgc2hpcHBpbmdPcHRpb25zID0gewotICBzaGlwcGluZ09wdGlvbnM6IFsKLSAg
ICB7Ci0gICAgICBpZDogImZhaWwiLAotICAgICAgbGFiZWw6ICJPcHRpb24gMSIsCi0gICAgICBh
bW91bnQ6IHsKLSAgICAgICAgY3VycmVuY3k6ICJVU0QiLAotICAgICAgICB2YWx1ZTogIjUuMDAi
LAotICAgICAgfSwKLSAgICAgIHNlbGVjdGVkOiB0cnVlLAotICAgIH0sCi0gICAgewotICAgICAg
aWQ6ICJwYXNzIiwKLSAgICAgIGxhYmVsOiAiT3B0aW9uIDIiLAotICAgICAgYW1vdW50OiB7Ci0g
ICAgICAgIGN1cnJlbmN5OiAiVVNEIiwKLSAgICAgICAgdmFsdWU6ICI1LjAwIiwKLSAgICAgIH0s
Ci0gICAgfSwKLSAgXSwKLX07Ci0KLWNvbnN0IGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucyA9IHsK
LSAgdG90YWw6IHsKLSAgICBsYWJlbDogIlRvdGFsIGR1ZSIsCi0gICAgYW1vdW50OiB7Ci0gICAg
ICBjdXJyZW5jeTogIlVTRCIsCi0gICAgICB2YWx1ZTogIjEuMCIsCi0gICAgfSwKLSAgfSwKLX07
Ci0KLWNvbnN0IGRldGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zID0gT2JqZWN0LmFzc2lnbigKLSAg
ewotICAgIHRvdGFsOiB7Ci0gICAgICBsYWJlbDogIlRvdGFsIGR1ZSIsCi0gICAgICBhbW91bnQ6
IHsKLSAgICAgICAgY3VycmVuY3k6ICJVU0QiLAotICAgICAgICB2YWx1ZTogIjEuMCIsCi0gICAg
ICB9LAotICAgIH0sCi0gIH0sCi0gIHNoaXBwaW5nT3B0aW9ucwotKTsKLQotY29uc3Qgb3B0aW9u
cyA9IHsKLSAgcmVxdWVzdFNoaXBwaW5nOiB0cnVlLAotfTsKLQotZnVuY3Rpb24gdGVzdEZpcmVF
dmVudChidXR0b24sIGRldGFpbHMsIGV2ZW50TmFtZSwgZXhwZWN0UmVxdWVzdFByb3BzKSB7Ci0g
IGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAg
ICBuZXcgUGF5bWVudFJlcXVlc3QobWV0aG9kcywgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25zLCBv
cHRpb25zKTsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMs
IGRldGFpbHMsIG9wdGlvbnMpOwotICAgIGNvbnN0IGhhbmRsZXJQcm9taXNlID0gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7Ci0gICAgICByZXF1ZXN0W2BvbiR7ZXZlbnROYW1lfWBdID0gZXZlbnQg
PT4gewotICAgICAgICAvLyAicHJldmVudCBpbW1lZGlhdGUgcHJvcGFnYXRpb24iIGZsYWcgaXMg
c2V0LgotICAgICAgICAvLyBUaGlzIGxpc3RlbmVyIGJlbG93IHdvbid0IGZpcmUhCi0gICAgICAg
IGV2ZW50LnVwZGF0ZVdpdGgoZGV0YWlscyk7Ci0gICAgICAgIHJlc29sdmUoZXZlbnQpOwotICAg
ICAgfTsKLSAgICB9KTsKLSAgICAvLyBUaGlzIGxpc3RlbmVyIHNob3VsZCBuZXZlciBmaXJlIGJl
Y2F1c2UgdGhlCi0gICAgLy8gdGhlIGV2ZW50IGhhbmRsZXIgY2F1c2VkICJwcmV2ZW50IGltbWVk
aWF0ZSBwcm9wYWdhdGlvbiIgdG8gYmUgc2V0LgotICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5l
cigKLSAgICAgIGV2ZW50TmFtZSwKLSAgICAgIHQudW5yZWFjaGVkX2Z1bmMoIlNlY29uZCBldmVu
dCBsaXN0ZW5lciBzaG91bGQgbmV2ZXIgZmlyZSIpCi0gICAgKTsKLSAgICBjb25zdCByZXNwb25z
ZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOwotICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgaGFuZGxl
clByb21pc2U7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBldmVudCBpbnN0YW5jZW9mIHdpbmRv
dy5QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50LAotICAgICAgIkV4cGVjdGVkIGluc3RhbmNlcyBv
ZiBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IgotICAgICk7Ci0gICAgYXdhaXQgcmVzcG9uc2Uu
Y29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19
Ci0KLWFzeW5jIGZ1bmN0aW9uIHJ1bkFib3J0VGVzdChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2Fi
bGVkID0gdHJ1ZTsKLSAgY29uc3QgeyB0ZXh0Q29udGVudDogdGVzdE5hbWUgfSA9IGJ1dHRvbjsK
LSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5
bWVudFJlcXVlc3QobWV0aG9kcywgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25zKTsKLSAgICAvLyBB
d2FpdCB0aGUgdXNlciB0byBhYm9ydAotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwg
IkFib3J0RXJyb3IiLCByZXF1ZXN0LnNob3coKSk7Ci0gICAgLy8gW1tzdGF0ZV1dIGlzIG5vdyBj
bG9zZWQKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJv
ciIsIHJlcXVlc3Quc2hvdygpKTsKLSAgfSwgdGVzdE5hbWUudHJpbSgpKTsKLX0KLTwvc2NyaXB0
PgotPGgyPgotICBUZXN0cyBmb3IgImFsZ29yaXRobXMiIHNlY3Rpb24KLTwvaDI+Ci08cD4KLSAg
Q2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhv
dXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUg
UGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxzZWN0aW9uPgotICA8aDMgaWQ9ImFi
b3J0LWFsZ28iPgotICAgIFVzZXIgYWJvcnRzIHRoZSBwYXltZW50IHJlcXVlc3QgYWxnb3JpdGht
Ci0gIDwvaDM+Ci0gIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3BheW1lbnQtcmVxdWVzdC8jdXNlci1hYm9ydHMtdGhlLXBheW1lbnQtcmVxdWVzdC1hbGdvcml0
aG0iPgotICA8cD4KLSAgICBXaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50IHNoZWV0LCBh
Ym9ydCB0aGUgcGF5bWVudCByZXF1ZXN0IChlLmcuLCBieSBoaXR0aW5nIHRoZSBlc2Mga2V5IG9y
IHByZXNzaW5nIGEgVUEgcHJvdmlkZWQgYnV0dG9uKS4KLSAgPC9wPgotICA8b2w+Ci0gICAgPGxp
PgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5BYm9ydFRlc3QodGhpcyk7Ij4KLSAgICAgIElm
IHRoZSB1c2VyIGFib3J0cywgdGhlIFVBIG11c3QgcnVuIHRoZSB1c2VyIGFib3J0cyB0aGUgcGF5
bWVudCByZXF1ZXN0IGFsZ29yaXRobS4KLSAgICA8L2J1dHRvbj4KLSAgICA8L2xpPgotICA8L29s
PgotPC9zZWN0aW9uPgotCi08c2VjdGlvbj4KLSAgPGgzIGlkPSJzaGlwcGluZy1hZGRyZXNzLWNo
YW5nZWQtYWxnbyI+U2hpcHBpbmcgYWRkcmVzcyBjaGFuZ2VkIGFsZ29yaXRobTwvaDM+Ci0gIDxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3BheW1lbnQtcmVxdWVz
dC8jc2hpcHBpbmctYWRkcmVzcy1jaGFuZ2VkLWFsZ29yaXRobSI+Ci0gIDxwPgotICAgIFdoZW4g
cHJvbXB0ZWQsIHBsZWFzZSBjaGFuZ2Ugb3IgZW50ZXIgYSBuZXcgc2hpcHBpbmcgYWRkcmVzcyBh
bmQgdGhlbiBzZWxlY3QgUGF5LgotICA8L3A+Ci0gIDxvbD4KLSAgICA8bGk+Ci0gICAgICA8YnV0
dG9uIG9uY2xpY2s9InRlc3RGaXJlRXZlbnQodGhpcywgZGV0YWlsc1dpdGhTaGlwcGluZ09wdGlv
bnMsICdzaGlwcGluZ2FkZHJlc3NjaGFuZ2UnLCB7fSk7Ij4KLSAgICAgIFRoZSBzaGlwcGluZyBh
ZGRyZXNzIGNoYW5nZWQgYWxnb3JpdGhtIHJ1bnMgd2hlbiB0aGUgdXNlciBwcm92aWRlcyBhIG5l
dyBzaGlwcGluZyBhZGRyZXNzLgotICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0gIDwvb2w+Ci08
L3NlY3Rpb24+Ci0KLTxzZWN0aW9uPgotICA8aDMgaWQ9InNoaXBwaW5nLW9wdGlvbi1jaGFuZ2Vk
LWFsZ28iPlNoaXBwaW5nIG9wdGlvbiBjaGFuZ2VkIGFsZ29yaXRobTwvaDM+Ci0gIDxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jc2hp
cHBpbmctb3B0aW9uLWNoYW5nZWQtYWxnb3JpdGhtIj4KLSAgPHA+Ci0gICAgRmluYWxseSwgd2hl
biBwcm9tcHRlZCwgcGxlYXNlIHNlbGVjdCAic2hpcHBpbmcgb3B0aW9uIDIiIGFuZCB0aGVuIHNl
bGVjdCBQYXkuCi0gIDwvcD4KLSAgPG9sPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGlj
az0idGVzdEZpcmVFdmVudCh0aGlzLCBkZXRhaWxzV2l0aFNoaXBwaW5nT3B0aW9ucywgJ3NoaXBw
aW5nb3B0aW9uY2hhbmdlJywge30sICdwYXNzJyk7IGRvbmUoKTsiPgotICAgICAgVGhlIHNoaXBw
aW5nIG9wdGlvbiBjaGFuZ2VkIGFsZ29yaXRobSBydW5zIHdoZW4gdGhlIHVzZXIgY2hvb3NlcyBh
IG5ldyBzaGlwcGluZyBvcHRpb24uCi0gICAgPC9idXR0b24+Ci0gICAgPC9saT4KLSAgPC9vbD4K
LTwvc2VjdGlvbj4KLQotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFz
ZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1
ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJl
cXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L2FsbG93cGF5bWVudC9hY3RpdmUtZG9jdW1lbnQtY3Jvc3Mtb3JpZ2luLmh0dHBz
LnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZlLWRvY3VtZW50LWNyb3Nz
LW9yaWdpbi5odHRwcy5zdWItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhOTljZmJjZDVkYmRm
NWIwZmUxNjcwMzQxZmM1YmFkYmE4ZTVmNGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3Bh
eW1lbnQvYWN0aXZlLWRvY3VtZW50LWNyb3NzLW9yaWdpbi5odHRwcy5zdWItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNSBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8v
d3d3MS5sb2NhbGhvc3Q6OTQ0My9jb21tb24vYmxhbmsuaHRtbAorCisKK1BBU1MgUGF5bWVudFJl
cXVlc3QgPGlmcmFtZSBhbGxvdz0icGF5bWVudCI+IGluIG5vbi1hY3RpdmUgZG9jdW1lbnQgKGNy
b3NzLW9yaWdpbikKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1bWVu
dC1jcm9zcy1vcmlnaW4uaHR0cHMuc3ViLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZlLWRv
Y3VtZW50LWNyb3NzLW9yaWdpbi5odHRwcy5zdWIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYjc2NzM1MDI3
ZDBiODgzMjc2NmFhYzUzNDhmNTQ1YTc2NjdkOWM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxs
b3dwYXltZW50L2FjdGl2ZS1kb2N1bWVudC1jcm9zcy1vcmlnaW4uaHR0cHMuc3ViLmh0bWwKQEAg
LTAsMCArMSwyOCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+UGF5bWVudFJlcXVlc3QgJmx0
O2lmcmFtZSBhbGxvdz0icGF5bWVudCI+IGluIG5vbi1hY3RpdmUgZG9jdW1lbnQgKGNyb3NzLW9y
aWdpbik8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vY29tbW9uL3V0aWxzLmpzPjwvc2NyaXB0PgorPGlmcmFtZSBpZD0i
aWZyYW1lIiBhbGxvdz0icGF5bWVudCI+PC9pZnJhbWU+Cis8c2NyaXB0PgorYXN5bmNfdGVzdCgo
dCkgPT4geworICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1l
Jyk7CisgIGNvbnN0IHBheW1lbnRBcmdzID0gW1t7c3VwcG9ydGVkTWV0aG9kczogJ2Zvbyd9XSwg
e3RvdGFsOiB7bGFiZWw6ICdsYWJlbCcsIGFtb3VudDoge2N1cnJlbmN5OiAnVVNEJywgdmFsdWU6
ICc1LjAwJ319fV07CisKKyAgb25sb2FkID0gKCkgPT4geworICAgIGNvbnN0IHdpbiA9IHdpbmRv
d1swXTsKKyAgICBjb25zdCBkb21FeGNlcHRpb24gPSB3aW4uRE9NRXhjZXB0aW9uOworICAgIGNv
bnN0IHByQ29uc3RydWN0b3IgPSB3aW4uUGF5bWVudFJlcXVlc3Q7CisgICAgd2luLmxvY2F0aW9u
LmhyZWYgPSBtYWtlX2Fic29sdXRlX3VybCh7CisgICAgICBob3N0bmFtZTogJ3t7ZG9tYWluc1t3
d3cxXX19JywKKyAgICAgIHBhdGg6ICcvY29tbW9uL2JsYW5rLmh0bWwnCisgICAgfSk7CisgICAg
aWZyYW1lLm9ubG9hZCA9IHQuc3RlcF9mdW5jX2RvbmUoKCkgPT4geworICAgICAgY29uc3QgZnVu
YyA9ICgpID0+IHsKKyAgICAgICAgbmV3IHByQ29uc3RydWN0b3IoLi4ucGF5bWVudEFyZ3MpOwor
ICAgICAgfQorICAgICAgYXNzZXJ0X3Rocm93c19kb20oJ1NlY3VyaXR5RXJyb3InLCBkb21FeGNl
cHRpb24sIGZ1bmMpOworICAgIH0pOworICB9Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvYWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1bWVudC1zYW1lLW9yaWdpbi5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvYWN0aXZlLWRvY3VtZW50LXNhbWUtb3JpZ2luLmh0dHBz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjg2YTQ4MmYzMGRhNzFhYjkyYmZlNTA0ZDgxNmZi
Yjg3Y2E5OWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1
bWVudC1zYW1lLW9yaWdpbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKKwor
UEFTUyBQYXltZW50UmVxdWVzdCA8aWZyYW1lIGFsbG93PSJwYXltZW50Ij4gaW4gbm9uLWFjdGl2
ZSBkb2N1bWVudCAoc2FtZS1vcmlnaW4pCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9h
Y3RpdmUtZG9jdW1lbnQtc2FtZS1vcmlnaW4uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9h
Y3RpdmUtZG9jdW1lbnQtc2FtZS1vcmlnaW4uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTY3M2Y2
NWNiNzA1MWY4YjEyZjYxYzcyODMwN2QwMTMyYWE0OWE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
YWxsb3dwYXltZW50L2FjdGl2ZS1kb2N1bWVudC1zYW1lLW9yaWdpbi5odHRwcy5odG1sCkBAIC0w
LDAgKzEsMjMgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlBheW1lbnRSZXF1ZXN0ICZsdDtp
ZnJhbWUgYWxsb3c9InBheW1lbnQiPiBpbiBub24tYWN0aXZlIGRvY3VtZW50IChzYW1lLW9yaWdp
bik8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+
Cis8aWZyYW1lIGlkPSJpZnJhbWUiIGFsbG93PSJwYXltZW50Ij48L2lmcmFtZT4KKzxzY3JpcHQ+
Cithc3luY190ZXN0KCh0KSA9PiB7CisgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpZnJhbWUnKTsKKyAgY29uc3QgcGF5bWVudEFyZ3MgPSBbW3tzdXBwb3J0ZWRNZXRo
b2RzOiAnZm9vJ31dLCB7dG90YWw6IHtsYWJlbDogJ2xhYmVsJywgYW1vdW50OiB7Y3VycmVuY3k6
ICdVU0QnLCB2YWx1ZTogJzUuMDAnfX19XTsKKworICBvbmxvYWQgPSAoKSA9PiB7CisgICAgY29u
c3Qgd2luID0gd2luZG93WzBdOworICAgIGNvbnN0IGRvbUV4Y2VwdGlvbiA9IHdpbi5ET01FeGNl
cHRpb247CisgICAgY29uc3QgcHJDb25zdHJ1Y3RvciA9IHdpbi5QYXltZW50UmVxdWVzdDsKKyAg
ICB3aW4ubG9jYXRpb24uaHJlZiA9ICcvY29tbW9uL2JsYW5rLmh0bWwnOworICAgIGlmcmFtZS5v
bmxvYWQgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgICAgIGFzc2VydF90aHJvd3NfZG9t
KCdTZWN1cml0eUVycm9yJywgZG9tRXhjZXB0aW9uLCAoKSA9PiB7CisgICAgICAgIG5ldyBwckNv
bnN0cnVjdG9yKC4uLnBheW1lbnRBcmdzKTsKKyAgICAgIH0pOworICAgIH0pOworICB9Cit9KTsK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FsbG93cGF5bWVudHJlcXVl
c3QtYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1v
cmlnaW4tYmMtY29udGFpbmVycy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzlmZTYz
NjVjMmM4NDdiZGZmZTkzMGNjNzZjN2VjZTViMGM5ZDQ2YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L2FsbG93cGF5bWVudC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4t
YmMtY29udGFpbmVycy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQmxvY2tl
ZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My9wYXlt
ZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbD9pZnJhbWUK
K0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0
NDMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWw/
ZnJhbWUKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxo
b3N0Ojk0NDMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0
Lmh0bWw/b2JqZWN0CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cx
LmxvY2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvZWNoby1QYXltZW50
UmVxdWVzdC5odG1sP2VtYmVkCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0g
bnVsbAorCitUSU1FT1VUIGlmcmFtZSBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBmcmFtZSBUZXN0
IHRpbWVkIG91dAorVElNRU9VVCBvYmplY3QgVGVzdCB0aW1lZCBvdXQKK1RJTUVPVVQgZW1iZWQg
VGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FsbG93cGF5bWVu
dHJlcXVlc3QtYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9hbGxvd3BheW1lbnQvYWxsb3dwYXltZW50cmVxdWVzdC1hdHRyaWJ1dGUtY3Jvc3Mtb3Jp
Z2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yN2Q5ZWExNzJiNDE3MDg5
OWUwOGNjNTkyYjgzNTIwOGY4Mzg2MTg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXlt
ZW50L2FsbG93cGF5bWVudHJlcXVlc3QtYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWlu
ZXJzLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+
UGF5bWVudFJlcXVlc3QgYWxsb3c9InBheW1lbnQiIGF0dHJpYnV0ZSBjcm9zcy1vcmlnaW4gYnJv
d3NpbmcgY29udGV4dCBjb250YWluZXJzPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorY29u
c3QgZXhwZWN0U3VjY2VzcyA9IHsnaWZyYW1lJzogdHJ1ZSwgJ2ZyYW1lJzogZmFsc2UsICdvYmpl
Y3QnOiBmYWxzZSwgJ2VtYmVkJzogZmFsc2V9OworY29uc3Qgc2V0QWxsb3dQYXltZW50ID0gdHJ1
ZTsKK2NvbnN0IHRlc3RDcm9zc09yaWdpbiA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PWNvbW1vbi5zdWIuanM+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvY29t
bW9uLnN1Yi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9jb21tb24uc3ViLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYw
ODk0Y2JhMDU3NmJlZWMzMWZjOWU4MGM3MjMxZjRhNTAwMmFhYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9hbGxvd3BheW1lbnQvY29tbW9uLnN1Yi5qcwpAQCAtMCwwICsxLDYxIEBACisvLyBUZXN0
IHNob3VsZCBzZXQgdGhlc2U6CisvLyBjb25zdCBleHBlY3RTdWNjZXNzID0geydpZnJhbWUnOiBi
b29sLCAnZnJhbWUnOiBib29sLCAnb2JqZWN0JzogYm9vbCwgJ2VtYmVkJzogYm9vbH07CisvLyBj
b25zdCBzZXRBbGxvd1BheW1lbnQgPSBib29sOworLy8gY29uc3QgdGVzdENyb3NzT3JpZ2luID0g
Ym9vbDsKKworY29uc3QgdGVzdHMgPSB7fTsKKword2luZG93Lm9ubWVzc2FnZSA9IGUgPT4gewor
ICBjb25zdCByZXN1bHQgPSBlLmRhdGE7CisgIGNvbnN0IHRhZ05hbWUgPSByZXN1bHQudXJsUXVl
cnk7CisgIGNvbnN0IHQgPSB0ZXN0c1t0YWdOYW1lXTsKKyAgdC5zdGVwKCgpID0+IHsKKyAgICBp
ZiAoZXhwZWN0U3VjY2Vzc1t0YWdOYW1lXSkgeworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQu
bWVzc2FnZSwgIlN1Y2Nlc3MiKTsKKyAgICAgIGlmIChyZXN1bHQubWVzc2FnZSA9PT0gIkV4Y2Vw
dGlvbiIpIHsKKyAgICAgICAgY29uc3QgWywgY29kZSwgbmFtZSwgc3RhY2tdID0gcmVzdWx0LmRl
dGFpbHM7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoYFVuZXhwZWN0ZWQgZXhjZXB0aW9uICIk
e25hbWV9IiAoJHtjb2RlfSkgJHtzdGFja31gKTsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAg
ICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQubWVzc2FnZSwgIkV4Y2VwdGlvbiIpOworICAgICAgY29u
c3QgZGV0YWlsc0FycmF5ID0gcmVzdWx0LmRldGFpbHMuc2xpY2UoMCwzKTsKKyAgICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoZGV0YWlsc0FycmF5LCBbCisgICAgICAgIHRydWUgLypleCBpbnN0YW5j
ZW9mIERPTUV4Y2VwdGlvbiovLAorICAgICAgICBET01FeGNlcHRpb24uU0VDVVJJVFlfRVJSIC8q
ZXguY29kZSovLAorICAgICAgICAiU2VjdXJpdHlFcnJvciIgLypleC5uYW1lKi8sCisgICAgICBd
KTsKKyAgICB9CisgICAgdC5kb25lKCk7CisgIH0pOworfTsKKworWyJpZnJhbWUiLCAiZnJhbWUi
LCAib2JqZWN0IiwgImVtYmVkIl0uZm9yRWFjaCgodGFnTmFtZSwgaSkgPT4geworICB0ZXN0c1t0
YWdOYW1lXSA9IGFzeW5jX3Rlc3QodCA9PiB7CisgICAgY29uc3QgZWxtID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCh0YWdOYW1lKTsKKyAgICBpZiAoc2V0QWxsb3dQYXltZW50KSB7CisgICAgICBl
bG0uc2V0QXR0cmlidXRlKCJhbGxvdyIsICJwYXltZW50Iik7CisgICAgfQorICAgIGNvbnN0IHBh
dGggPSBsb2NhdGlvbi5wYXRobmFtZS5zdWJzdHJpbmcoCisgICAgICAwLAorICAgICAgbG9jYXRp
b24ucGF0aG5hbWUubGFzdEluZGV4T2YoIi8iKSArIDEKKyAgICApOworICAgIGNvbnN0IHVybCA9
CisgICAgICAodGVzdENyb3NzT3JpZ2luID8gImh0dHBzOi8ve3tkb21haW5zW3d3dzFdfX06e3tw
b3J0c1todHRwc11bMF19fSIgOiAiIikgKworICAgICAgcGF0aCArCisgICAgICAiZWNoby1QYXlt
ZW50UmVxdWVzdC5odG1sPyIgKworICAgICAgdGFnTmFtZTsKKyAgICBpZiAodGFnTmFtZSA9PT0g
Im9iamVjdCIpIHsKKyAgICAgIGVsbS5kYXRhID0gdXJsOworICAgIH0gZWxzZSB7CisgICAgICBl
bG0uc3JjID0gdXJsOworICAgIH0KKyAgICBlbG0ub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4g
eworICAgICAgd2luZG93W2ldLnBvc3RNZXNzYWdlKAorICAgICAgICAiV2hhdCBpcyB0aGUgcmVz
dWx0IG9mIG5ldyBQYXltZW50UmVxdWVzdCguLi4pPyIsCisgICAgICAgICIqIgorICAgICAgKTsK
KyAgICB9KTsKKyAgICBlbG0ub25lcnJvciA9IHQudW5yZWFjaGVkX2Z1bmMoImVsbS5vbmVycm9y
Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbG0pOworICB9LCB0YWdOYW1lKTsK
K30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTIxMWM3ZTVjZTc4YzA2MjEwMzY1NzhmZWY3OWFlYjJjOThmMmEyNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwKQEAgLTAsMCArMSwy
NSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8c2NyaXB0Pgord2luZG93Lm9ubWVzc2FnZSA9IChlKSA9
PiB7CisgIGNvbnN0IHBheW1lbnRBcmdzID0gW1t7c3VwcG9ydGVkTWV0aG9kczogJ2Zvbyd9XSwg
e3RvdGFsOiB7bGFiZWw6ICdsYWJlbCcsIGFtb3VudDoge2N1cnJlbmN5OiAnVVNEJywgdmFsdWU6
ICc1LjAwJ319fV07CisKKyAgaWYgKGUuZGF0YSA9PT0gJ1doYXQgaXMgdGhlIHJlc3VsdCBvZiBu
ZXcgUGF5bWVudFJlcXVlc3QoLi4uKT8nKSB7CisgICAgY29uc3QgcmVzdWx0ID0ge3VybFF1ZXJ5
OiBsb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpfTsgLy8gVXNlZCB0byBkaXN0aW5ndWlzaCBz
dWJ0ZXN0cworICAgIHRyeSB7CisgICAgICBuZXcgUGF5bWVudFJlcXVlc3QoLi4ucGF5bWVudEFy
Z3MpOworICAgICAgcmVzdWx0Lm1lc3NhZ2UgPSAnU3VjY2Vzcyc7CisgICAgICBlLnNvdXJjZS5w
b3N0TWVzc2FnZShyZXN1bHQsICcqJyk7CisgICAgfSBjYXRjaChleCkgeworICAgICAgcmVzdWx0
Lm1lc3NhZ2UgPSAnRXhjZXB0aW9uJzsKKyAgICAgIGNvbnN0IGlzRG9tRXhjZXB0aW9uID0gZXgg
aW5zdGFuY2VvZiBET01FeGNlcHRpb247CisgICAgICBjb25zdCBzdGFjayA9ICJzdGFjayIgaW4g
ZXggPyBleC5zdGFjayA6ICIiOworICAgICAgcmVzdWx0LmRldGFpbHMgPSBbIGlzRG9tRXhjZXB0
aW9uLCBleC5jb2RlLCBleC5uYW1lLCBzdGFjayBdOworICAgICAgZS5zb3VyY2UucG9zdE1lc3Nh
Z2UocmVzdWx0LCAnKicpOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICByZXN1bHQubWVzc2FnZSA9
ICdJbmNvcnJlY3QgbWVzc2FnZSc7CisgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UocmVzdWx0LCAn
KicpOworICB9Cit9Cis8L3NjcmlwdD4KKzxwPlRoaXMgcGFnZSBlY2hvcyB0aGUgcmVzdWx0IG9m
IG5ldyBQYXltZW50UmVxdWVzdCguLi4pLjwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVu
dC9uby1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFp
bmVycy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzlmZTYzNjVjMmM4NDdiZGZmZTkz
MGNjNzZjN2VjZTViMGM5ZDQ2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9u
by1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTIgQEAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczov
L3d3dzEubG9jYWxob3N0Ojk0NDMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBh
eW1lbnRSZXF1ZXN0Lmh0bWw/aWZyYW1lCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwg
aHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQv
ZWNoby1QYXltZW50UmVxdWVzdC5odG1sP2ZyYW1lCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5h
bCBVUkwgaHR0cHM6Ly93d3cxLmxvY2FsaG9zdDo5NDQzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3Bh
eW1lbnQvZWNoby1QYXltZW50UmVxdWVzdC5odG1sP29iamVjdAorQmxvY2tlZCBhY2Nlc3MgdG8g
ZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhvc3Q6OTQ0My9wYXltZW50LXJlcXVlc3Qv
YWxsb3dwYXltZW50L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbD9lbWJlZAorCitIYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBpZnJhbWUgVGVzdCB0aW1l
ZCBvdXQKK1RJTUVPVVQgZnJhbWUgVGVzdCB0aW1lZCBvdXQKK1RJTUVPVVQgb2JqZWN0IFRlc3Qg
dGltZWQgb3V0CitUSU1FT1VUIGVtYmVkIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNv
bnRhaW5lcnMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmVkZDZjOWNjOGViMjFjMjdkYjBhMzhm
ZWNjOGJiMmNjZGU0OTQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0
dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sCkBAIC0wLDAgKzEs
MTEgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlBheW1lbnRSZXF1ZXN0IG5vIGF0dHJpYnV0
ZSBjcm9zcy1vcmlnaW4gYnJvd3NpbmcgY29udGV4dCBjb250YWluZXJzPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9k
aXY+Cis8c2NyaXB0PgorY29uc3QgZXhwZWN0U3VjY2VzcyA9IHsnaWZyYW1lJzogZmFsc2UsICdm
cmFtZSc6IGZhbHNlLCAnb2JqZWN0JzogZmFsc2UsICdlbWJlZCc6IGZhbHNlfTsKK2NvbnN0IHNl
dEFsbG93UGF5bWVudCA9IGZhbHNlOworY29uc3QgdGVzdENyb3NzT3JpZ2luID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Y29tbW9uLnN1Yi5qcz48L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUtc2FtZS1vcmlnaW4tYmMtY29udGFpbmVycy5o
dHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvbm8tYXR0cmlidXRlLXNhbWUtb3Jp
Z2luLWJjLWNvbnRhaW5lcnMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1M2ZjMWY2
NWRjMGQyM2I4MzlhNzA4YzFlNWY1NjI4YzU3Y2I2N2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9h
bGxvd3BheW1lbnQvbm8tYXR0cmlidXRlLXNhbWUtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitQQVNTIGlmcmFtZQorUEFTUyBmcmFtZQor
UEFTUyBvYmplY3QKK1BBU1MgZW1iZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L25v
LWF0dHJpYnV0ZS1zYW1lLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxv
d3BheW1lbnQvbm8tYXR0cmlidXRlLXNhbWUtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYzQ2NTI1MDAxZDIwZjNjYzM2ZDY4NzdkMmUwZmNiZDNhMWU1MTM3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L25vLWF0dHJpYnV0ZS1zYW1lLW9yaWdp
bi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8dGl0bGU+UGF5bWVudFJlcXVlc3Qgbm8gYXR0cmlidXRlIHNhbWUgb3JpZ2luIGJyb3dz
aW5nIGNvbnRleHQgY29udGFpbmVyczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2NvbnN0
IGV4cGVjdFN1Y2Nlc3MgPSB7J2lmcmFtZSc6IHRydWUsICdmcmFtZSc6IHRydWUsICdvYmplY3Qn
OiB0cnVlLCAnZW1iZWQnOiB0cnVlfTsKK2NvbnN0IHNldEFsbG93UGF5bWVudCA9IGZhbHNlOwor
Y29uc3QgdGVzdENyb3NzT3JpZ2luID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPWNv
bW1vbi5zdWIuanM+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvcmVtb3Zp
bmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dw
YXltZW50L3JlbW92aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zMDFhNDRiMWRhNTAzNmY5YjFmNGMzYzk2NmVjOTQ4ZWU4NTk0MmZlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3JlbW92aW5nLWFsbG93cGF5bWVudHJl
cXVlc3QuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0Jsb2NrZWQgYWNj
ZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEubG9jYWxob3N0Ojk0NDMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRSZXF1ZXN0Lmh0bWwKKworSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgUGF5bWVudFJlcXVlc3Qg
cmVtb3ZpbmcgYWxsb3c9InBheW1lbnQiIGFmdGVyIGxvYWQgYW5kIHRoZW4gbmF2aWdhdGluZyBU
ZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvcmVtb3ZpbmctYWxs
b3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9yZW1vdmlu
Zy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyMDlmOWQ5
MmY4OGFiMjdkN2E3N2Q4MmFjOWFlN2IzY2NjODQyOTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9h
bGxvd3BheW1lbnQvcmVtb3ZpbmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWIuaHRtbApA
QCAtMCwwICsxLDY3IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5QYXltZW50UmVxdWVzdCBy
ZW1vdmluZyBhbGxvdz0icGF5bWVudCIgYWZ0ZXIgbG9hZCBhbmQgdGhlbiBuYXZpZ2F0aW5nPC90
aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPGRp
diBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KCh0KSA9PiB7CisgIGNvbnN0
IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICBpZnJhbWUuYWxs
b3cgPSAicGF5bWVudCI7CisKKyAgbGV0IGkgPSAwOworCisgIGNvbnN0IHBhdGggPSBsb2NhdGlv
bi5wYXRobmFtZS5zdWJzdHJpbmcoMCwgbG9jYXRpb24ucGF0aG5hbWUubGFzdEluZGV4T2YoJy8n
KSArIDEpOworICBpZnJhbWUuc3JjID0gImh0dHBzOi8ve3tkb21haW5zW3d3dzFdfX06e3twb3J0
c1todHRwc11bMF19fSIgKyBwYXRoICsgImVjaG8tUGF5bWVudFJlcXVlc3QuaHRtbCI7CisgIGlm
cmFtZS5vbmxvYWQgPSB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgaWYgKGkgPT09IDApIHsKKyAg
ICAgIC8vIDIuIFRoZSBpZnJhbWUgaGFzIG5vdyBsb2FkZWQgKHRoZSBmaXJzdCBsb2FkKS4KKyAg
ICAgIC8vIFRoZSBhbGxvdz0icGF5bWVudCIgaXMgc2V0LgorICAgICAgaWZyYW1lLmFsbG93ID0g
IiI7CisgICAgICAvLyAzLiBUaGUgYWxsb3cgYXR0cmlidXRlIGhhcyBub3cgYmVlbiBjbGVhcmVk
LgorICAgICAgLy8gVGhlIGFsbG93PSJwYXltZW50IiBpcyAqc3RpbGwgc2V0KiBmb3IgdGhlIGRv
Y3VtZW50LgorICAgIH0KKyAgICAvLyA0LiAoZmlyc3QgbG9hZCkgQXNrIHRoZSBzdWJkb2N1bWVu
dCB0byBpbnZva2UgUGF5bWVudFJlcXVlc3QgYW5kIHBvc3QgYmFjayB0aGUgcmVzdWx0LgorICAg
IC8vIChTZWUgYmVsb3cgZm9yIHN0ZXBzIDUgYW5kIDYuKQorICAgIC8vIDcuIChzZWNvbmQgbG9h
ZCkgQXNrIHRoZSBzdWJkb2N1bWVudCB0byBpbnZva2UgUGF5bWVudFJlcXVlc3QgYW5kIHBvc3Qg
YmFjayB0aGUgcmVzdWx0LgorICAgIGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCdX
aGF0IGlzIHRoZSByZXN1bHQgb2YgbmV3IFBheW1lbnRSZXF1ZXN0KC4uLik/JywgJyonKTsKKyAg
fSk7CisKKyAgd2luZG93Lm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKChlKSA9PiB7CisgICAgLy8g
SWdub3JlIG1lc3NhZ2VzIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSB0ZXN0LgorICAgIGlmIChl
LnNvdXJjZSAhPSBpZnJhbWUuY29udGVudFdpbmRvdykgcmV0dXJuOworCisgICAgaSsrOworICAg
IGlmIChpID09PSAxKSB7CisgICAgICAvLyA1LiBUaGlzIGlzIHRoZSBmaXJzdCBtZXNzYWdlIHdl
IHJlY2VpdmUsIGZyb20gdGhlIGZpcnN0IGxvYWQuCisgICAgICAvLyBTaW5jZSB0aGUgYWxsb3c9
InBheW1lbnQiIHdhcyBzZXQsIHdlIGV4cGVjdCBzdWNjZXNzLgorICAgICAgYXNzZXJ0X2VxdWFs
cyhlLmRhdGEubWVzc2FnZSwgJ1N1Y2Nlc3MnLCAnYmVmb3JlIG5hdmlnYXRpb24nKTsKKworICAg
ICAgLy8gNi4gTmF2aWdhdGUgdGhlIGlmcmFtZS4gVGhpcyB3aWxsIGZpcmUgYSBzZWNvbmQgJ2xv
YWQnIGV2ZW50IG9uIHRoZSBpZnJhbWUuCisgICAgICAvLyBBdCB0aGlzIHRpbWUsIHRoZSBpZnJh
bWUgZG9lcyBub3QgaGF2ZSBhbiBhbGxvdyBhdHRyaWJ1dGUuCisgICAgICAvLyBodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtbG9jYXRpb24taW50ZXJmYWNlOmRvbS1sb2NhdGlvbi1o
cmVmLTMKKyAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2xvY2F0aW9uLW9i
amVjdC1zZXR0ZXItbmF2aWdhdGUKKyAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5v
cmcvI2xvY2F0aW9uLW9iamVjdC1uYXZpZ2F0ZQorICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy8jbmF2aWdhdGUgc3RlcCAxMgorICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy8jcHJvY2Vzcy1hLW5hdmlnYXRlLXJlc3BvbnNlIHN0ZXAgNQorICAgICAgLy8g
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jcmVhZC1odG1sCisgICAgICAvLyBodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnLyNpbml0aWFsaXNlLXRoZS1kb2N1bWVudC1vYmplY3Qgc3Rl
cCA4CisgICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNzZXQtdGhlLWFsbG93
Ki1mbGFncyBzdGVwIDMgZG9lcyAqbm90KiBzZXQgdGhlIGFsbG93PSJwYXltZW50Ii4KKyAgICAg
IGlmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWYgPSBpZnJhbWUuc3JjICsgJz8yJzsK
KyAgICB9IGVsc2UgeworICAgICAgLy8gOC4gVGhpcyBpcyB0aGUgc2Vjb25kIG1lc3NhZ2Ugd2Ug
cmVjZWl2ZSwgZnJvbSB0aGUgc2Vjb25kIGxvYWQuCisgICAgICAvLyBTaW5jZSB0aGUgYWxsb3c9
InBheW1lbnQiIHdhcyBub3Qgc2V0LCB3ZSBleHBlY3QgYW4gZXhjZXB0aW9uLgorICAgICAgYXNz
ZXJ0X2VxdWFscyhlLmRhdGEubWVzc2FnZSwgJ0V4Y2VwdGlvbicsICdhZnRlciBuYXZpZ2F0aW9u
Jyk7CisgICAgICBhc3NlcnRfZXF1YWxzKDQsIGUuZGF0YS5kZXRhaWxzLmxlbmd0aCk7CisgICAg
ICAvLyBUaGUgbGFzdCBlbnRyeSBpcyB0aGUgZXJyb3Igc3RhY2t0cmFjZS4gSWdub3JlIGl0IGlu
IGNvbXBhcmlzb24uCisgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGUuZGF0YS5kZXRhaWxzLnNs
aWNlKDAsIDMpLCBbdHJ1ZSAvKiBleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiovLCAxOCAvKiBl
eC5jb2RlICovLCAnU2VjdXJpdHlFcnJvcicgLyogZXgubmFtZSAqL10sICdhZnRlciBuYXZpZ2F0
aW9uJyk7CisgICAgICB0LmRvbmUoKTsKKyAgICB9CisgIH0pOworCisgIC8vIDEuIFRoZSBicm93
c2luZyBjb250ZXh0IGZvciB0aGUgaWZyYW1lIGlzIGNyZWF0ZWQgd2hlbiB0aGUgaWZyYW1lIGlz
IGluc2VydGVkIHRvIHRoZSBkb2N1bWVudC4KKyAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy8jdGhlLWlmcmFtZS1lbGVtZW50OmNyZWF0aW5nLWEtbmV3LWJyb3dzaW5nLWNvbnRleHQK
KyAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY3JlYXRpbmctYS1uZXctYnJvd3Np
bmctY29udGV4dCBzdGVwIDExCisgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI3Nl
dC10aGUtYWxsb3cqLWZsYWdzIHN0ZXAgMyBzZXRzIHRoZSBhbGxvdz0icGF5bWVudCIuCisgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1
Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1
ZXN0Lmh0dHBzLnN1Yi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjhkODQ5YTc2NzRkYThhOWZk
NDZhNzdjZDA2MTJlYmFlNGVhY2U1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVu
dC9zZXR0aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL3d3dzEu
bG9jYWxob3N0Ojk0NDMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9lY2hvLVBheW1lbnRS
ZXF1ZXN0Lmh0bWwKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisK
K1RJTUVPVVQgUGF5bWVudFJlcXVlc3Qgc2V0dGluZyBhbGxvdz0icGF5bWVudCIgYWZ0ZXIgbG9h
ZCBhbmQgdGhlbiBuYXZpZ2F0aW5nIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2Fs
bG93cGF5bWVudC9zZXR0aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIyODgxY2Q4OTMzZjIyNGZlM2Y0NTI4NjhjNjhhYzZiN2YzNmE4YWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1
ZXN0Lmh0dHBzLnN1Yi5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRp
dGxlPlBheW1lbnRSZXF1ZXN0IHNldHRpbmcgYWxsb3c9InBheW1lbnQiIGFmdGVyIGxvYWQgYW5k
IHRoZW4gbmF2aWdhdGluZzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVz
dCgodCkgPT4geworICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJh
bWUnKTsKKyAgLy8gbm8gYWxsb3c9InBheW1lbnQiIGF0dHJpYnV0ZQorCisgIGxldCBpID0gMDsK
KworICBjb25zdCBwYXRoID0gbG9jYXRpb24ucGF0aG5hbWUuc3Vic3RyaW5nKDAsIGxvY2F0aW9u
LnBhdGhuYW1lLmxhc3RJbmRleE9mKCcvJykgKyAxKTsKKyAgaWZyYW1lLnNyYyA9ICJodHRwczov
L3t7ZG9tYWluc1t3d3cxXX19Ont7cG9ydHNbaHR0cHNdWzBdfX0iICsgcGF0aCArICJlY2hvLVBh
eW1lbnRSZXF1ZXN0Lmh0bWwiOworICBpZnJhbWUub25sb2FkID0gdC5zdGVwX2Z1bmMoKCkgPT4g
eworICAgIGlmIChpID09PSAwKSB7CisgICAgICBpZnJhbWUuYWxsb3cgPSAicGF5bWVudCI7Cisg
ICAgfQorICAgIGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCdXaGF0IGlzIHRoZSBy
ZXN1bHQgb2YgbmV3IFBheW1lbnRSZXF1ZXN0KC4uLik/JywgJyonKTsKKyAgfSk7CisKKyAgd2lu
ZG93Lm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKChlKSA9PiB7CisgICAgLy8gSWdub3JlIG1lc3Nh
Z2VzIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSB0ZXN0LgorICAgIGlmIChlLnNvdXJjZSAhPSBp
ZnJhbWUuY29udGVudFdpbmRvdykgcmV0dXJuOworCisgICAgaSsrOworICAgIGlmIChpID09PSAx
KSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5tZXNzYWdlLCAnRXhjZXB0aW9uJywgJ2Jl
Zm9yZSBuYXZpZ2F0aW9uJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKDQsIGUuZGF0YS5kZXRhaWxz
Lmxlbmd0aCk7CisgICAgICAvLyBUaGUgbGFzdCBlbnRyeSBpcyB0aGUgZXJyb3Igc3RhY2t0cmFj
ZS4gSWdub3JlIGl0IGluIGNvbXBhcmlzb24uCisgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGUu
ZGF0YS5kZXRhaWxzLnNsaWNlKDAsIDMpLCBbdHJ1ZSAvKiBleCBpbnN0YW5jZW9mIERPTUV4Y2Vw
dGlvbiovLCAxOCAvKiBleC5jb2RlICovLCAnU2VjdXJpdHlFcnJvcicgLyogZXgubmFtZSAqL10s
ICdiZWZvcmUgbmF2aWdhdGlvbicpOworCisgICAgICAvLyBOYXZpZ2F0ZSB0aGUgaWZyYW1lLiBU
aGlzIHdpbGwgZmlyZSBhIHNlY29uZCAnbG9hZCcgZXZlbnQgb24gdGhlIGlmcmFtZS4KKyAgICAg
IGlmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWYgPSBpZnJhbWUuc3JjICsgJz8yJzsK
KyAgICB9IGVsc2UgeworICAgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEubWVzc2FnZSwgJ1N1Y2Nl
c3MnLCAnYWZ0ZXIgbmF2aWdhdGlvbicpOworICAgICAgdC5kb25lKCk7CisgICAgfQorICB9KTsK
KworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Cit9KTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXlt
ZW50L3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyZjNhZjk4Yjc1YmJmM2RhNmNmMjY5N2Uy
ZDE5YzIwNTY0MmQyMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvdzNjLWlt
cG9ydC5sb2cKQEAgLTAsMCArMSwyNSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25l
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50L2FjdGl2
ZS1kb2N1bWVudC1jcm9zcy1vcmlnaW4uaHR0cHMuc3ViLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQv
YWN0aXZlLWRvY3VtZW50LXNhbWUtb3JpZ2luLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQv
YWxsb3dwYXltZW50cmVxdWVzdC1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMu
aHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9jb21tb24uc3ViLmpzCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXlt
ZW50L2VjaG8tUGF5bWVudFJlcXVlc3QuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1
dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVu
dC9uby1hdHRyaWJ1dGUtc2FtZS1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
YWxsb3dwYXltZW50L3JlbW92aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0cHMuc3ViLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0Lmh0dHBzLnN1Yi5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9iaWxsaW5nLWFkZHJlc3MtY2hhbmdlZC1tYW51YWwuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvYmlsbGluZy1hZGRyZXNzLWNoYW5nZWQtbWFudWFsLmh0dHBzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTA3ZmZkNzgwZDFjZTc2
YzM3MGY3ODBlMmMyOTUzYTdhZDZhNGY0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9iaWxsaW5nLWFkZHJlc3MtY2hhbmdlZC1tYW51YWwuaHR0cHMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotUmVxdWVzdCBiaWxs
aW5nIGFkZHJlc3MKLQotQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3Ag
dG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4gRWFjaCBidXR0b24gd2lsbCBi
cmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLQotV2hlbiB0aGUgcGF5bWVu
dCBzaGVldCBpcyBwcmVzZW50ZWQsIHNlbGVjdCBhIHBheW1lbnQgbWV0aG9kIChlLmcuLCBhIGNy
ZWRpdCBjYXJkKS4KLQotV2hlbiBubyBiaWxsaW5nIGFkZHJlc3MgaXMgcmVxdWVzdGVkLCBgUGF5
bWVudE1ldGhvZENoYW5nZUV2ZW50Lm1ldGhvZERldGFpbHMuYmlsbGluZ0FkZHJlc3NgIGlzIG51
bGwuCi1XaGVuIGJpbGxpbmcgYWRkcmVzcyBpcyByZXF1ZXN0ZWQsYFBheW1lbnRNZXRob2RDaGFu
Z2VFdmVudC5tZXRob2REZXRhaWxzLmJpbGxpbmdBZGRyZXNzYCBpcyBhIGBQYXltZW50QWRkcmVz
c2AuCi1Eb25lIQotSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgZmlsZSBhIGJ1ZyBh
bmQgdGFnIG9uZSBvZiB0aGUgc3VnZ2VzdGVkIHJldmlld2Vycy4KLQotSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVBBU1Mgb25wYXltZW50bWV0aG9kY2hhbmdlIGlz
IGluIHByb3RvdHlwZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9iaWxsaW5nLWFkZHJlc3MtY2hhbmdlZC1t
YW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L2JpbGxpbmctYWRkcmVzcy1jaGFuZ2VkLW1hbnVhbC5odHRw
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZmY5Y2IyODU3ZmY2YTVjNmU1
N2IzZmU0M2E3MWUyZmVkNzVhYWJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L2JpbGxpbmctYWRkcmVzcy1jaGFuZ2VkLW1hbnVhbC5odHRwcy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTE0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPiA8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIgLz4KLTx0aXRsZT5UZXN0IGZvciByZXF1ZXN0aW5nIGJpbGxpbmcgYWRk
cmVzczwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotICBzZXR1cCh7Ci0gICAgZXhwbGljaXRfZG9uZTogdHJ1ZSwKLSAg
ICBleHBsaWNpdF90aW1lb3V0OiB0cnVlLAotICB9KTsKLQotICBjb25zdCBtZXRob2RzID0gWwot
ICAgIHsgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiIH0sCi0gICAgewotICAgICAgc3Vw
cG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gICAgICBkYXRh
OiB7Ci0gICAgICAgIHZlcnNpb246IDMsCi0gICAgICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1l
cmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICAgICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgICAg
IG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgICAgIHN1cHBvcnRl
ZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgICAgIH0sCi0gICAgfSwKLSAgXTsKLQotICBjb25zdCBk
ZXRhaWxzID0gewotICAgIHRvdGFsOiB7Ci0gICAgICBsYWJlbDogImxhYmVsIiwKLSAgICAgIGFt
b3VudDogeyBjdXJyZW5jeTogIlVTRCIsIHZhbHVlOiAiNS4wMCIgfSwKLSAgICB9LAotICB9Owot
ICB0ZXN0KCgpID0+IHsKLSAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICJvbnBheW1lbnRtZXRob2Rj
aGFuZ2UiIGluIFBheW1lbnRSZXF1ZXN0LnByb3RvdHlwZSwKLSAgICAgICJUaGUgcGF5bWVudG1l
dGhvZGNoYW5nZSBpcyBub3Qgc3VwcG9ydGVkIgotICAgICk7Ci0gIH0sICJvbnBheW1lbnRtZXRo
b2RjaGFuZ2UgaXMgaW4gcHJvdG90eXBlIik7Ci0KLSAgZnVuY3Rpb24gZG9udFJlcXVlc3RCaWxs
aW5nQWRkcmVzcygpIHsKLSAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgICBjb25z
dCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGRldGFpbHMsIHt9KTsKLSAg
ICAgIGNvbnN0IHNob3dQcm9taXNlID0gcmVxdWVzdC5zaG93KCk7Ci0KLSAgICAgIC8vIExldCdz
IGNoZWNrIHRoZSBtZXRob2QgZGF0YSBmcm9tIGV2ZW50LgotICAgICAgY29uc3QgeyBtZXRob2RE
ZXRhaWxzIH0gPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+Ci0gICAgICAgIHJlcXVlc3Qu
YWRkRXZlbnRMaXN0ZW5lcigicGF5bWVudG1ldGhvZGNoYW5nZSIsIHJlc29sdmUpCi0gICAgICAp
OwotCi0gICAgICBhc3NlcnRfdHJ1ZSgiYmlsbGluZ0FkZHJlc3MiIGluIG1ldGhvZERldGFpbHMp
OwotICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgbWV0aG9kRGV0YWlscy5iaWxsaW5nQWRk
cmVzcywKLSAgICAgICAgbnVsbCwKLSAgICAgICAgIkV4cGVjdGVkIG1ldGhvZERldGFpbHMuYmls
bGluZ0FkZHJlc3MgdG8gYmUgbnVsbCIKLSAgICAgICk7Ci0gICAgICBhd2FpdCByZXF1ZXN0LmFi
b3J0KCk7Ci0gICAgfSk7Ci0gIH0KLQotICBmdW5jdGlvbiByZXF1ZXN0QmlsbGluZ0FkZHJlc3Mo
KSB7Ci0gICAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgICAgY29uc3QgcmVxdWVzdCA9
IG5ldyBQYXltZW50UmVxdWVzdChtZXRob2RzLCBkZXRhaWxzLCB7Ci0gICAgICAgIHJlcXVlc3RC
aWxsaW5nQWRkcmVzczogdHJ1ZSwKLSAgICAgIH0pOwotICAgICAgY29uc3Qgc2hvd1Byb21pc2Ug
PSByZXF1ZXN0LnNob3coKTsKLQotICAgICAgLy8gTGV0J3MgY2hlY2sgdGhlIG1ldGhvZCBkYXRh
IGZyb20gZXZlbnQuCi0gICAgICBjb25zdCB7IG1ldGhvZERldGFpbHMgfSA9IGF3YWl0IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4KLSAgICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJwYXlt
ZW50bWV0aG9kY2hhbmdlIiwgcmVzb2x2ZSkKLSAgICAgICk7Ci0KLSAgICAgIGFzc2VydF90cnVl
KCJiaWxsaW5nQWRkcmVzcyIgaW4gbWV0aG9kRGV0YWlscyk7Ci0KLSAgICAgIGNvbnN0IHsgYmls
bGluZ0FkZHJlc3MgfSA9IG1ldGhvZERldGFpbHM7Ci0gICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAg
ICAgYmlsbGluZ0FkZHJlc3MgaW5zdGFuY2VvZiBQYXltZW50QWRkcmVzcywKLSAgICAgICAgIkV4
cGVjdGVkIGluc3RhbmNlIG9mIFBheW1lbnRBZGRyZXNzIgotICAgICAgKTsKLSAgICAgIGF3YWl0
IHJlcXVlc3QuYWJvcnQoKTsKLSAgICB9KTsKLSAgfQotPC9zY3JpcHQ+Ci0KLTxoMj5SZXF1ZXN0
IGJpbGxpbmcgYWRkcmVzczwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2Vx
dWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUKLSAgcGFnZS4g
RWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4K
LTwvcD4KLTxwPgotICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHByZXNlbnRlZCwgc2VsZWN0
IGEgcGF5bWVudCBtZXRob2QgKGUuZy4sIGEgY3JlZGl0Ci0gIGNhcmQpLgotPC9wPgotPG9sPgot
ICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJkb250UmVxdWVzdEJpbGxpbmdBZGRyZXNzKCki
PgotICAgICAgV2hlbiBubyBiaWxsaW5nIGFkZHJlc3MgaXMgcmVxdWVzdGVkLAotICAgICAgYFBh
eW1lbnRNZXRob2RDaGFuZ2VFdmVudC5tZXRob2REZXRhaWxzLmJpbGxpbmdBZGRyZXNzYCBpcyBu
dWxsLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNr
PSJyZXF1ZXN0QmlsbGluZ0FkZHJlc3MoKSI+Ci0gICAgICBXaGVuIGJpbGxpbmcgYWRkcmVzcyBp
cwotICAgICAgcmVxdWVzdGVkLGBQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnQubWV0aG9kRGV0YWls
cy5iaWxsaW5nQWRkcmVzc2AgaXMgYQotICAgICAgYFBheW1lbnRBZGRyZXNzYC4KLSAgICA8L2J1
dHRvbj4KLSAgPC9saT4KLSAgPGxpPjxidXR0b24gb25jbGljaz0iZG9uZSgpIj5Eb25lITwvYnV0
dG9uPjwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBs
ZWFzZQotICA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+IGFuZAotICB0YWcgb25lIG9mIHRoZQotICA8YQotICAg
IGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFz
dGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCIKLSAgICA+c3VnZ2VzdGVkIHJldmlld2Vyczwv
YT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi1tYW51
YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5nZS1zaGlwcGluZy1vcHRpb24tbWFudWFsLmh0dHBzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzODAwMTgwNGFjZGFjYTIxNDEwY2Uw
ZDM2N2E4MjA4Y2FjNjBhZmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi1tYW51YWwuaHR0cHMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDEwNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTwhLS0gQ29weXJp
Z2h0IMKpIDIwMTcgQ2hyb21pdW0gYXV0aG9ycyBhbmQgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1
bSwgKE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIEVSQ0lNLCBLZWlvIFVu
aXZlcnNpdHksIEJlaWhhbmcpLiAtLT4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5U
ZXN0IGZvciBQYXltZW50UmVxdWVzdCBzaGlwcGluZ09wdGlvbiBhdHRyaWJ1dGU8L3RpdGxlPgot
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1
ZXN0LyNzaGlwcGluZ29wdGlvbi1hdHRyaWJ1dGUiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNvbnNoaXBwaW5nb3B0aW9uY2hh
bmdlLWF0dHJpYnV0ZSI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNp
dF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgdmFsaWRNZXRob2QgPSBPYmplY3QuZnJlZXplKHsg
c3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiIH0pOwotY29uc3QgYXBwbGVQYXlNZXRob2Qg
PSB7Ci0gIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAot
ICBkYXRhOiB7Ci0gICAgdmVyc2lvbjogMywKLSAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJj
aGFudC5jb20uZXhhbXBsZSIsCi0gICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgbWVyY2hhbnRD
YXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2
aXNhIl0sCi0gIH0sCi19OwotY29uc3QgdmFsaWRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbdmFs
aWRNZXRob2QsIGFwcGxlUGF5TWV0aG9kXSk7Ci1jb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5m
cmVlemUoeyBjdXJyZW5jeTogIlVTRCIsIHZhbHVlOiAiNS4wMCIgfSk7Ci1jb25zdCB2YWxpZFRv
dGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGxhYmVsOiAibGFiZWwiLAotICBhbW91bnQ6IHZhbGlk
QW1vdW50LAotfSk7Ci1jb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsgdG90YWw6
IHZhbGlkVG90YWwgfSk7Ci0KLWNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24xID0gT2JqZWN0LmZy
ZWV6ZSh7Ci0gIGlkOiAidmFsaWQtMSIsCi0gIGxhYmVsOiAiUElDSyBNRSEiLAotICBhbW91bnQ6
IHZhbGlkQW1vdW50LAotICBzZWxlY3RlZDogZmFsc2UsCi19KTsKLQotY29uc3QgdmFsaWRTaGlw
cGluZ09wdGlvbjIgPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJpbml0aWFsbHktc2VsZWN0ZWQi
LAotICBsYWJlbDogIlZhbGlkIHNoaXBwaW5nIG9wdGlvbiAyIiwKLSAgYW1vdW50OiB2YWxpZEFt
b3VudCwKLSAgc2VsZWN0ZWQ6IHRydWUsCi19KTsKLQotY29uc3QgcmVxdWVzdFNoaXBwaW5nID0g
T2JqZWN0LmZyZWV6ZSh7Ci0gIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwKLX0pOwotCi1mdW5jdGlv
biB0ZXN0U2hpcHBpbmdPcHRpb25DaGFuZ2VkKCkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7Ci0gICAgY29uc3QgZGV0YWlsc1dpdGhTaGlwcGluZ09wdGlvbnMgPSBPYmplY3QuYXNzaWdu
KHt9LCB2YWxpZERldGFpbHMsIHsKLSAgICAgIHNoaXBwaW5nT3B0aW9uczogW3ZhbGlkU2hpcHBp
bmdPcHRpb24xLCB2YWxpZFNoaXBwaW5nT3B0aW9uMl0sCi0gICAgfSk7Ci0gICAgY29uc3QgcmVx
dWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKLSAgICAgIHZhbGlkTWV0aG9kcywKLSAgICAgIGRl
dGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zLAotICAgICAgcmVxdWVzdFNoaXBwaW5nCi0gICAgKTsK
LSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgcmVxdWVzdC5zaGlwcGluZ09wdGlvbiwKLSAgICAg
ICJpbml0aWFsbHktc2VsZWN0ZWQiLAotICAgICAgIk11c3QgYmUgJ2luaXRpYWxseS1zZWxlY3Rl
ZCcsIGFzIHRoZSBzZWxlY3RlZCBtZW1iZXIgaXMgdHJ1ZSIKLSAgICApOwotICAgIGNvbnN0IGxp
c3RlbmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgcmVxdWVzdC5h
ZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ29wdGlvbmNoYW5nZSIsICgpID0+IHsKLSAgICAgICAg
cmVzb2x2ZShyZXF1ZXN0LnNoaXBwaW5nT3B0aW9uKTsKLSAgICAgIH0pOwotICAgIH0pOwotICAg
IGNvbnN0IGhhbmRsZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICBy
ZXF1ZXN0Lm9uc2hpcHBpbmdvcHRpb25jaGFuZ2UgPSAoKSA9PiB7Ci0gICAgICAgIHJlc29sdmUo
cmVxdWVzdC5zaGlwcGluZ09wdGlvbik7Ci0gICAgICB9OwotICAgIH0pOwotICAgIHJlcXVlc3Qu
c2hvdygpLmNhdGNoKGVyciA9PiBlcnIpOwotCi0gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFBy
b21pc2UuYWxsKFtsaXN0ZW5lclByb21pc2UsIGhhbmRsZXJQcm9taXNlXSk7Ci0gICAgYXNzZXJ0
X3RydWUoCi0gICAgICByZXN1bHRzLmV2ZXJ5KHJlc3VsdCA9PiByZXN1bHQgPT09ICJ2YWxpZC0x
IiksCi0gICAgICAiRXhwZWN0ZWQgdmFsaWQtMSBhcyB0aGUgc2hpcHBpbmdPcHRpb24iCi0gICAg
KTsKLSAgICBhd2FpdCByZXF1ZXN0LmFib3J0KCk7Ci0gIH0pOwotICBkb25lKCk7Ci19Ci08L3Nj
cmlwdD4KLQotPGgyPlBheW1lbnRSZXF1ZXN0IHNoaXBwaW5nT3B0aW9uIGF0dHJpYnV0ZTwvaDI+
Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90
dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmlu
ZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHRo
ZSBwYXltZW50IHNoZWV0IGlzIHByZXNlbnRlZCwgc2VsZWN0ICJQSUNLIE1FISIgYXMgdGhlIHNo
aXBwaW5nIG9wdGlvbi4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0i
dGVzdFNoaXBwaW5nT3B0aW9uQ2hhbmdlZCgpIj4KLSAgICAgIFdoZW4gdGhlIHNoaXBwaW5nIG9w
dGlvbiBpcyBtYW51YWxseSBjaGFuZ2VkLCByZXF1ZXN0LnNoaXBwaW5nT3B0aW9uIHJlcHJlc2Vu
dHMgdGhlIHVzZXIncyBjaG9pY2UuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNt
YWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+
Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1
Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5nZS1z
aGlwcGluZy1vcHRpb24tc2VsZWN0LWxhc3QtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9jaGFuZ2Ut
c2hpcHBpbmctb3B0aW9uLXNlbGVjdC1sYXN0LW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0YWQzMWQ2NTMxNzMzOGYwNDc0YzI0ZTZlMzU2ODhlYjhmMmI0
Y2JlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2No
YW5nZS1zaGlwcGluZy1vcHRpb24tc2VsZWN0LWxhc3QtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdCBmb3IgUGF5bWVudERldGFpbHNCYXNlJ3Mgc2hpcHBpbmdP
cHRpb25zIG1lbWJlcjwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI2RvbS1wYXltZW50ZGV0YWlsc2Jhc2Utc2hpcHBp
bmdvcHRpb25zIj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci1zZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3Rp
bWVvdXQ6IHRydWUgfSk7Ci1jb25zdCB2YWxpZE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFsKLSAg
eyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSwKLSAgewotICAgIHN1cHBvcnRlZE1l
dGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICAgIGRhdGE6IHsKLSAgICAg
IHZlcnNpb246IDMsCi0gICAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhh
bXBsZSIsCi0gICAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICAgIG1lcmNoYW50Q2FwYWJpbGl0
aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0s
Ci0gICAgfSwKLSAgfSwKLV0pOwotY29uc3QgdmFsaWRBbW91bnQgPSBPYmplY3QuZnJlZXplKHsg
Y3VycmVuY3k6ICJVU0QiLCB2YWx1ZTogIjUuMDAiIH0pOwotY29uc3QgdmFsaWRUb3RhbCA9IE9i
amVjdC5mcmVlemUoewotICBsYWJlbDogImxhYmVsIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwK
LX0pOwotY29uc3QgdmFsaWREZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7IHRvdGFsOiB2YWxpZFRv
dGFsIH0pOwotCi1jb25zdCB2YWxpZFNoaXBwaW5nT3B0aW9uMSA9IE9iamVjdC5mcmVlemUoewot
ICBpZDogImZhaWwtaWYtc2VsZWN0ZWQtMSIsCi0gIGxhYmVsOiAiRkFJTCBpZiBzZWxlY3RlZCAx
IiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgc2VsZWN0ZWQ6IHRydWUsCi19KTsKLQotY29u
c3QgdmFsaWRTaGlwcGluZ09wdGlvbjIgPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJmYWlsLWlm
LXNlbGVjdGVkLTIiLAotICBsYWJlbDogIkZBSUwgaWYgc2VsZWN0ZWQgMiIsCi0gIGFtb3VudDog
dmFsaWRBbW91bnQsCi0gIHNlbGVjdGVkOiBmYWxzZSwKLX0pOwotCi1jb25zdCB2YWxpZFNoaXBw
aW5nT3B0aW9uMyA9IE9iamVjdC5mcmVlemUoewotICBpZDogInBhc3MtaWYtc2VsZWN0ZWQiLAot
ICBsYWJlbDogIlRISVMgTVVTVCBCRSBBVVRPTUFUSUNBTExZIFNFTEVDVEVEIiwKLSAgYW1vdW50
OiB2YWxpZEFtb3VudCwKLSAgc2VsZWN0ZWQ6IHRydWUsCi19KTsKLQotZnVuY3Rpb24gdGVzdFNo
aXBwaW5nT3B0aW9uQ2hhbmdlZChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsK
LSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IGRldGFpbHNXaXRoU2hpcHBp
bmdPcHRpb25zID0gewotICAgICAgLi4udmFsaWREZXRhaWxzLAotICAgICAgc2hpcHBpbmdPcHRp
b25zOiBbCi0gICAgICAgIHZhbGlkU2hpcHBpbmdPcHRpb24xLAotICAgICAgICB2YWxpZFNoaXBw
aW5nT3B0aW9uMiwKLSAgICAgICAgdmFsaWRTaGlwcGluZ09wdGlvbjMsCi0gICAgICBdLAotICAg
IH07Ci0gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKLSAgICAgIHZhbGlk
TWV0aG9kcywKLSAgICAgIGRldGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zLAotICAgICAgeyByZXF1
ZXN0U2hpcHBpbmc6IHRydWUgfQotICAgICk7Ci0gICAgYXNzZXJ0X2VxdWFscygKLSAgICAgIHJl
cXVlc3Quc2hpcHBpbmdPcHRpb24sCi0gICAgICAicGFzcy1pZi1zZWxlY3RlZCIsCi0gICAgICAi
TXVzdCBiZSAncGFzcy1pZi1zZWxlY3RlZCcsIGFzIHRoZSBzZWxlY3RlZCBtZW1iZXIgaXMgdHJ1
ZSIKLSAgICApOwotICAgIHJlcXVlc3Qub25zaGlwcGluZ29wdGlvbmNoYW5nZSA9ICgpID0+IHsK
LSAgICAgIGFzc2VydF91bnJlYWNoZWQoIm9uc2hpcHBpbmdvcHRpb25jaGFuZ2UgZmlyZWQgdW5l
eHBlY3RlZGx5Iik7Ci0gICAgfTsKLSAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Qu
c2hvdygpOwotICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2Uuc2hpcHBpbmdPcHRpb24sICJwYXNz
LWlmLXNlbGVjdGVkIik7Ci0gICAgcmVzcG9uc2UuY29tcGxldGUoKTsKLSAgfSwgYnV0dG9uLnRl
eHRDb250ZW50LnRyaW0oKSk7Ci0gIGRvbmUoKTsKLX0KLTwvc2NyaXB0PgotCi08aDI+UGF5bWVu
dFJlcXVlc3Qgc2hpcHBpbmdPcHRpb24gYXR0cmlidXRlPC9oMj4KLTxwPgotICBDbGljayBvbiBl
YWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZyZXNo
aW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJl
cXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMg
cHJlc2VudGVkLCBoaXQgcGF5LgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNs
aWNrPSJ0ZXN0U2hpcHBpbmdPcHRpb25DaGFuZ2VkKHRoaXMpIj4KLSAgICAgIFdoZW4gZGVmYXVs
dCBzaGlwcGluZyBvcHRpb24gaXMgcHJlLXNlbGVjdGVkLCBtdXN0IG5vdCBmaXJlIG9uc2hpcHBp
bmdvcHRpb25jaGFuZ2UKLSAgICAgIGFuZCBQYXltZW50UmVzcG9uc2UgbXVzdCByZWZsZWN0IHRo
ZSBwcmUtc2VsZWN0ZWQgb3B0aW9uLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxz
bWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9h
PgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5z
dWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9keW5hbWlj
YWxseS1jaGFuZ2Utc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvZHluYW1pY2FsbHktY2hhbmdlLXNoaXBwaW5nLW9wdGlvbnMtbWFudWFsLmh0dHBzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkxYzlmZWJiODQzYzI3NDJl
ODk2OGUwZmQ5MzU4M2VjNWNmNzM2NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9keW5hbWljYWxseS1jaGFuZ2Utc2hpcHBpbmctb3B0aW9ucy1tYW51
YWwuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotUGF5
bWVudFJlcXVlc3Qgc2hpcHBpbmdPcHRpb24gYXR0cmlidXRlCi0KLUNsaWNrIG9uIGVhY2ggYnV0
dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhl
IHBhZ2UuIEVhY2ggYnV0dG9uIChleGNlcHQgdGhlICdEb25lJyBidXR0b24pIHdpbGwgYnJpbmcg
dXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi0KLVdoZW4gdGhlIHBheW1lbnQgc2hl
ZXQgaXMgcHJlc2VudGVkLCB2aWV3IG9wdGlvbnMgZm9yIFNoaXBwaW5nIE1ldGhvZC4gVGhlcmUg
c2hvdWxkIG9ubHkgYmUgb25lOiAiRGVmYXVsdCBzaGlwcGluZyBtZXRob2QiCi1DaGFuZ2UgeW91
ciBTaGlwcGluZyBBZGRyZXNzIC0gZWl0aGVyIHVwZGF0ZSB5b3VyIGV4aXN0aW5nIG9uZSBieSBj
aGFuZ2luZyBzb21ldGhpbmcgKG5hbWUsIGFkZHJlc3MsIGV0YyksIG9yIHNlbGVjdCBhIGRpZmZl
cmVudCBTaGlwcGluZyBBZGRyZXNzLCBvciBhZGQgYSBuZXcgU2hpcHBpbmcgQWRkcmVzcyBhbmQg
c2VsZWN0IGl0LgotR28gYmFjayB0byBTaGlwcGluZyBNZXRob2QsIGFuZCB0aGVyZSBpcyBub3cg
YW4gb3B0aW9uIGNhbGxlZCAiRHluYW1pY2FsbHkgYWRkZWQgc2hpcHBpbmcgb3B0aW9uIi4gU2Vs
ZWN0IGl0Ci1DbGljayBvbiB0aGUgJ0RvbmUnIGJ1dHRvbgotV2hlbiB0aGUgYWRkcmVzcyBpcyBj
aGFuZ2VkLCBzaGlwcGluZyBtZXRob2RzIGNhbiBiZSB1cGRhdGVkCi1Eb25lCi1JZiB5b3UgZmlu
ZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSBmaWxlIGEgYnVnIGFuZCB0YWcgb25lIG9mIHRoZSBzdWdn
ZXN0ZWQgcmV2aWV3ZXJzLgotCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51
bGwKLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9keW5hbWljYWxseS1jaGFuZ2Utc2hpcHBpbmctb3B0aW9u
cy1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2R5bmFtaWNhbGx5LWNoYW5nZS1zaGlwcGluZy1vcHRp
b25zLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2I3
MDUzNTBkNGQ5ZjU1ODUzMzQ0NDY5NTIxOThkZmFjNDdkMDQyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2R5bmFtaWNhbGx5LWNoYW5nZS1zaGlwcGlu
Zy1vcHRpb25zLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTQxICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Ci08dGl0bGU+VGVz
dCBmb3IgUGF5bWVudFJlcXVlc3Qgc2hpcHBpbmdPcHRpb24gZHluYW1pYyB1cGRhdGluZzwvdGl0
bGU+Ci08bGluawotICByZWw9ImhlbHAiCi0gIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9w
YXltZW50LXJlcXVlc3QvI3NoaXBwaW5nb3B0aW9uLWF0dHJpYnV0ZSIKLS8+Ci08bGluawotICBy
ZWw9ImhlbHAiCi0gIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3Qv
I29uc2hpcHBpbmdvcHRpb25jaGFuZ2UtYXR0cmlidXRlIgotLz4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gIHNldHVwKHsgZXhw
bGljaXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKLSAgY29uc3QgdmFs
aWRNZXRob2QgPSBPYmplY3QuZnJlZXplKHsgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQi
IH0pOwotICBjb25zdCBhcHBsZVBheU1ldGhvZCA9IHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAi
aHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgICBkYXRhOiB7Ci0gICAgICB2ZXJzaW9u
OiAzLAotICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAot
ICAgICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJz
dXBwb3J0czNEUyJdLAotICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICAgIH0s
Ci0gIH07Ci0gIGNvbnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkTWV0aG9k
LCBhcHBsZVBheU1ldGhvZF0pOwotICBjb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUo
eyBjdXJyZW5jeTogIlVTRCIsIHZhbHVlOiAiNS4wMCIgfSk7Ci0gIGNvbnN0IHZhbGlkVG90YWwg
PSBPYmplY3QuZnJlZXplKHsKLSAgICBsYWJlbDogImxhYmVsIiwKLSAgICBhbW91bnQ6IHZhbGlk
QW1vdW50LAotICB9KTsKLSAgY29uc3QgdmFsaWREZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7IHRv
dGFsOiB2YWxpZFRvdGFsIH0pOwotCi0gIGNvbnN0IGluaXRpYWxWYWxpZFNoaXBwaW5nT3B0aW9u
ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgaWQ6ICJkZWZhdWx0LW1ldGhvZCIsCi0gICAgbGFiZWw6
ICJEZWZhdWx0IHNoaXBwaW5nIG1ldGhvZCIsCi0gICAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAg
ICBzZWxlY3RlZDogdHJ1ZSwKLSAgfSk7Ci0KLSAgY29uc3QgdmFsaWREeW5hbWljU2hpcHBpbmdP
cHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAgICBpZDogImR5bmFtaWNhbGx5LWFkZGVkLWlkIiwK
LSAgICBsYWJlbDogIkR5bmFtaWNhbGx5IGFkZGVkIHNoaXBwaW5nIG9wdGlvbiIsCi0gICAgYW1v
dW50OiB2YWxpZEFtb3VudCwKLSAgICBzZWxlY3RlZDogZmFsc2UsCi0gIH0pOwotCi0gIGNvbnN0
IHJlcXVlc3RTaGlwcGluZyA9IE9iamVjdC5mcmVlemUoewotICAgIHJlcXVlc3RTaGlwcGluZzog
dHJ1ZSwKLSAgfSk7Ci0KLSAgZnVuY3Rpb24gdGVzdFNoaXBwaW5nT3B0aW9uQ2hhbmdlZCgpIHsK
LSAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKLSAgICAgIGNvbnN0IGRldGFpbHNXaXRo
U2hpcHBpbmdPcHRpb25zID0gewotICAgICAgICAuLi52YWxpZERldGFpbHMsCi0gICAgICAgIHNo
aXBwaW5nT3B0aW9uczogW2luaXRpYWxWYWxpZFNoaXBwaW5nT3B0aW9uXSwKLSAgICAgIH07Ci0g
ICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAotICAgICAgICB2YWxpZE1l
dGhvZHMsCi0gICAgICAgIGRldGFpbHNXaXRoU2hpcHBpbmdPcHRpb25zLAotICAgICAgICByZXF1
ZXN0U2hpcHBpbmcKLSAgICAgICk7Ci0gICAgICBjb25zdCBzaGlwcGluZ0FkZHJlc3NDaGFuZ2VM
aXN0ZW5lciA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgIHJlcXVlc3QuYWRk
RXZlbnRMaXN0ZW5lcigKLSAgICAgICAgICAic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwKLSAgICAg
ICAgICAoZXYpID0+IHsKLSAgICAgICAgICAgIC8vIHJlc29sdmUocmVxdWVzdC5zaGlwcGluZ09w
dGlvbik7Ci0gICAgICAgICAgICBldi51cGRhdGVXaXRoKHsKLSAgICAgICAgICAgICAgc2hpcHBp
bmdPcHRpb25zOiBbCi0gICAgICAgICAgICAgICAgaW5pdGlhbFZhbGlkU2hpcHBpbmdPcHRpb24s
Ci0gICAgICAgICAgICAgICAgdmFsaWREeW5hbWljU2hpcHBpbmdPcHRpb24sCi0gICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAg
ICB9LAotICAgICAgICAgIHsgb25jZTogdHJ1ZSB9Ci0gICAgICAgICk7Ci0gICAgICB9KTsKLSAg
ICAgIGNvbnN0IGhhbmRsZXJQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAg
ICAgICAgcmVxdWVzdC5vbnNoaXBwaW5nb3B0aW9uY2hhbmdlID0gKCkgPT4gewotICAgICAgICAg
IHJlc29sdmUocmVxdWVzdC5zaGlwcGluZ09wdGlvbik7Ci0gICAgICAgIH07Ci0gICAgICB9KTsK
LSAgICAgIHJlcXVlc3Quc2hvdygpLmNhdGNoKChlcnIpID0+IGVycik7Ci0KLSAgICAgIGNvbnN0
IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChbCi0gICAgICAgIHNoaXBwaW5nQWRkcmVzc0No
YW5nZUxpc3RlbmVyLAotICAgICAgICBoYW5kbGVyUHJvbWlzZSwKLSAgICAgIF0pOwotICAgICAg
YXNzZXJ0X3RydWUoCi0gICAgICAgIHJlc3VsdHNbMV0gPT09ICJkeW5hbWljYWxseS1hZGRlZC1p
ZCIsCi0gICAgICAgICJFeHBlY3RlZCBkeW5hbWljYWxseS1hZGRlZC1pZCBhcyB0aGUgc2hpcHBp
bmdPcHRpb24iCi0gICAgICApOwotICAgICAgYXdhaXQgcmVxdWVzdC5hYm9ydCgpOwotICAgIH0p
OwotICB9Ci08L3NjcmlwdD4KLQotPGgyPlBheW1lbnRSZXF1ZXN0IHNoaXBwaW5nT3B0aW9uIGF0
dHJpYnV0ZTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJv
bSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUKLSAgcGFnZS4gRWFjaCBidXR0
b24gKGV4Y2VwdCB0aGUgJ0RvbmUnIGJ1dHRvbikgd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBS
ZXF1ZXN0Ci0gIFVJIHdpbmRvdy4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIFdoZW4gdGhlIHBh
eW1lbnQgc2hlZXQgaXMgcHJlc2VudGVkLCB2aWV3IG9wdGlvbnMgZm9yIFNoaXBwaW5nIE1ldGhv
ZC4gVGhlcmUKLSAgICBzaG91bGQgb25seSBiZSBvbmU6ICJEZWZhdWx0IHNoaXBwaW5nIG1ldGhv
ZCIKLSAgPC9saT4KLSAgPGxpPgotICAgIENoYW5nZSB5b3VyIFNoaXBwaW5nIEFkZHJlc3MgLSBl
aXRoZXIgdXBkYXRlIHlvdXIgZXhpc3Rpbmcgb25lIGJ5IGNoYW5naW5nCi0gICAgc29tZXRoaW5n
IChuYW1lLCBhZGRyZXNzLCBldGMpLCBvciBzZWxlY3QgYSBkaWZmZXJlbnQgU2hpcHBpbmcgQWRk
cmVzcywgb3IKLSAgICBhZGQgYSBuZXcgU2hpcHBpbmcgQWRkcmVzcyBhbmQgc2VsZWN0IGl0Lgot
ICA8L2xpPgotICA8bGk+Ci0gICAgR28gYmFjayB0byBTaGlwcGluZyBNZXRob2QsIGFuZCB0aGVy
ZSBpcyBub3cgYW4gb3B0aW9uIGNhbGxlZCAiRHluYW1pY2FsbHkKLSAgICBhZGRlZCBzaGlwcGlu
ZyBvcHRpb24iLiBTZWxlY3QgaXQKLSAgPC9saT4KLSAgPGxpPgotICAgIENsaWNrIG9uIHRoZSAn
RG9uZScgYnV0dG9uCi0gIDwvbGk+Ci08L29sPgotPHVsPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBv
bmNsaWNrPSJ0ZXN0U2hpcHBpbmdPcHRpb25DaGFuZ2VkKCkiPgotICAgICAgV2hlbiB0aGUgYWRk
cmVzcyBpcyBjaGFuZ2VkLCBzaGlwcGluZyBtZXRob2RzIGNhbiBiZSB1cGRhdGVkCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImRvbmUoKSI+RG9u
ZTwvYnV0dG9uPgotICA8L2xpPgotPC91bD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdn
eSB0ZXN0LCBwbGVhc2UKLSAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPiBhbmQKLSAgdGFnIG9uZSBvZiB0aGUK
LSAgPGEKLSAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiCi0gICAgPnN1Z2dlc3RlZCBy
ZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2hpc3RvcmljYWwuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvaGlzdG9yaWNhbC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYjdi
NjZlMjIzMzhlNzViN2QwMDQzMjM3MTA1MTQxNTRjMjEwZWNmMC4uNmY5NmM1OTZkZDBhMDk5Y2I3
NDMwZTEwYWM1YjYwMGYyMjlkZjY4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvaGlzdG9yaWNhbC5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvaGlzdG9yaWNhbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTYs
NSArNiw2IEBAIFBBU1MgdG90YWxBbW91bnQgaW4gUGF5bWVudFJlc3BvbnNlCiBQQVNTIHBheW1l
bnRSZXF1ZXN0SWQgaW4gUGF5bWVudFJlcXVlc3QKIFBBU1MgcGF5bWVudFJlcXVlc3RJZCBpbiBQ
YXltZW50UmVzcG9uc2UKIFBBU1MgbGFuZ3VhZ2VDb2RlIGluIFBheW1lbnRBZGRyZXNzCitQQVNT
IGFsbG93UGF5bWVudFJlcXVlc3QgaW4gSFRNTElGcmFtZUVsZW1lbnQKIFBBU1Mgc3VwcG9ydGVk
TWV0aG9kcyBtdXN0IG5vdCBzdXBwb3J0IHNlcXVlbmNlPERPTVN0cmluZz4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvaGlzdG9yaWNhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvaGlzdG9yaWNhbC5odHRwcy5odG1sCmlu
ZGV4IDY2NjNlNjMxYmZkMjg1N2RjNjNmZjk4NTRlODY1Nzg5M2M3MWE3ZWQuLmFhMTgzYTU4Y2Ri
OWZjYWYyMDZiODI2Njc3NTI0MzM2YTg2ZmZiYWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2hpc3RvcmljYWwu
aHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9oaXN0b3JpY2FsLmh0dHBzLmh0bWwKQEAgLTIxLDYgKzIxLDEw
IEBACiAKICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9wYXltZW50LXJlcXVlc3QvcHVsbC83
NjUKICAgWyJsYW5ndWFnZUNvZGUiLCAiUGF5bWVudEFkZHJlc3MiXSwKKworICAvL2h0dHBzOi8v
Z2l0aHViLmNvbS93aGF0d2cvaHRtbC9wdWxsLzU5MTUKKyAgWyJhbGxvd1BheW1lbnRSZXF1ZXN0
IiwgIkhUTUxJRnJhbWVFbGVtZW50Il0sCisKIF0uZm9yRWFjaCgoW21lbWJlciwgaW50ZXJmXSkg
PT4gewogICB0ZXN0KCgpID0+IHsKICAgICBhc3NlcnRfZmFsc2UobWVtYmVyIGluIHdpbmRvd1tp
bnRlcmZdLnByb3RvdHlwZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9vbm1lcmNoYW50dmFsaWRhdGlvbi1h
dHRyaWJ1dGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvb25tZXJjaGFudHZhbGlkYXRpb24tYXR0
cmlidXRlLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
M2M4ZDVhNjkxNzBlODRhNmYyZmEwNmI1NTg5M2JiYTk3MTUzMGNiMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9vbm1lcmNoYW50dmFsaWRhdGlvbi1h
dHRyaWJ1dGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBA
Ci0KLVBBU1MgTXVzdCBoYXZlIGEgb25tZXJjaGFudHZhbGlkYXRpb24gSURMIGF0dHJpYnV0ZQot
UEFTUyBvbm1lcmNoYW50dmFsaWRhdGlvbiBhdHRyaWJ1dGUgaXMgYSBnZW5lcmljIGhhbmRsZXIg
Zm9yICJtZXJjaGFudHZhbGlkYXRpb24iCi1QQVNTIG9ubWVyY2hhbnR2YWxpZGF0aW9uIGF0dHJp
YnV0ZSBpcyBhIGhhbmRsZXIgZm9yIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Ci1QQVNTIG9ubWVy
Y2hhbnR2YWxpZGF0aW9uIGF0dHJpYnV0ZSBhbmQgbGlzdGVuZXJzIGJvdGggd29yawotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9vbm1lcmNoYW50dmFsaWRhdGlvbi1hdHRyaWJ1dGUuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L29ubWVyY2hhbnR2YWxpZGF0aW9uLWF0dHJpYnV0ZS5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBkMzFhYzJkZDcyYWJjZjUxYTI4ZWNlYzg1MDQwMGY1ZjBjNmI5YmI1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L29ubWVy
Y2hhbnR2YWxpZGF0aW9uLWF0dHJpYnV0ZS5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0
bGU+VGVzdCBmb3IgUGF5bWVudFJlcXVlc3QncyBvbm1lcmNoYW50dmFsaWRhdGlvbiBhdHRyaWJ1
dGU8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8v
YnJvd3Nlci1wYXltZW50LWFwaS8jZG9tLXBheW1lbnRyZXF1ZXN0LW9ubWVyY2hhbnR2YWxpZGF0
aW9uIj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQ+Ci0idXNlIHN0cmljdCI7Ci1jb25zdCB0ZXN0TWV0aG9kID0gT2JqZWN0LmZyZWV6
ZSh7IHN1cHBvcnRlZE1ldGhvZHM6ICJub3QtYS1yZWFsLW1ldGhvZCIgfSk7Ci1jb25zdCBhcHBs
ZVBheSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBs
ZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0gICAgbWVyY2hh
bnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50cnlDb2RlOiAi
VVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCi0gICAgc3Vw
cG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9LAotfSk7Ci1jb25zdCBkZWZhdWx0TWV0aG9k
cyA9IE9iamVjdC5mcmVlemUoW3Rlc3RNZXRob2QsIGFwcGxlUGF5XSk7Ci1jb25zdCBkZWZhdWx0
RGV0YWlscyA9IE9iamVjdC5mcmVlemUoewotICB0b3RhbDogewotICAgIGxhYmVsOiAiVG90YWwi
LAotICAgIGFtb3VudDogewotICAgICAgY3VycmVuY3k6ICJVU0QiLAotICAgICAgdmFsdWU6ICIx
LjAwIiwKLSAgICB9LAotICB9LAotfSk7Ci1jb25zdCB2YWxpZGF0aW9uVVJMID0gImh0dHBzOi8v
ZXhhbXBsZS5jb20iOwotCi10ZXN0KCgpID0+IHsKLSAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXlt
ZW50UmVxdWVzdChkZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOwotICBhc3NlcnRfaWRs
X2F0dHJpYnV0ZShyZXF1ZXN0LCAib25tZXJjaGFudHZhbGlkYXRpb24iKTsKLX0sICJNdXN0IGhh
dmUgYSBvbm1lcmNoYW50dmFsaWRhdGlvbiBJREwgYXR0cmlidXRlIik7Ci0KLXRlc3QoKCkgPT4g
ewotICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBk
ZWZhdWx0RGV0YWlscyk7Ci0gIGNvbnN0IGV2ID0gbmV3IEV2ZW50KCJtZXJjaGFudHZhbGlkYXRp
b24iKTsKLSAgbGV0IGRpZEhhbmRsZSA9IGZhbHNlOwotICByZXF1ZXN0Lm9ubWVyY2hhbnR2YWxp
ZGF0aW9uID0gZXZ0ID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGV2LCBldnQsICJtdXN0IGJlIHNh
bWUgZXZlbnQiKTsKLSAgICBkaWRIYW5kbGUgPSB0cnVlOwotICB9OwotICByZXF1ZXN0LmRpc3Bh
dGNoRXZlbnQoZXYpOwotICBhc3NlcnRfdHJ1ZShkaWRIYW5kbGUsICJldmVudCBkaWQgbm90IGZp
cmUiKTsKLX0sIGBvbm1lcmNoYW50dmFsaWRhdGlvbiBhdHRyaWJ1dGUgaXMgYSBnZW5lcmljIGhh
bmRsZXIgZm9yICJtZXJjaGFudHZhbGlkYXRpb24iYCk7Ci0KLXRlc3QoKCkgPT4gewotICBjb25z
dCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0
YWlscyk7Ci0gIGNvbnN0IGV2ID0gbmV3IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KCJtZXJjaGFu
dHZhbGlkYXRpb24iLCB7IHZhbGlkYXRpb25VUkwgfSk7Ci0gIGxldCBkaWRIYW5kbGUgPSBmYWxz
ZTsKLSAgcmVxdWVzdC5vbm1lcmNoYW50dmFsaWRhdGlvbiA9IGV2dCA9PiB7Ci0gICAgYXNzZXJ0
X2VxdWFscyhldiwgZXZ0LCAibXVzdCBiZSBzYW1lIGV2ZW50Iik7Ci0gICAgZGlkSGFuZGxlID0g
dHJ1ZTsKLSAgfTsKLSAgcmVxdWVzdC5kaXNwYXRjaEV2ZW50KGV2KTsKLSAgYXNzZXJ0X3RydWUo
ZGlkSGFuZGxlLCAiZXZlbnQgZGlkIG5vdCBmaXJlIik7Ci19LCBgb25tZXJjaGFudHZhbGlkYXRp
b24gYXR0cmlidXRlIGlzIGEgaGFuZGxlciBmb3IgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnRgKTsK
LQotdGVzdCgoKSA9PiB7Ci0gIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVm
YXVsdE1ldGhvZHMsIGRlZmF1bHREZXRhaWxzKTsKLSAgY29uc3QgZXYgPSBuZXcgTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQoIm1lcmNoYW50dmFsaWRhdGlvbiIsIHsgdmFsaWRhdGlvblVSTCB9KTsK
LSAgbGV0IGRpZEhhbmRsZSA9IGZhbHNlOwotICBsZXQgZGlkTGlzdGVuID0gZmFsc2U7Ci0gIHJl
cXVlc3Qub25tZXJjaGFudHZhbGlkYXRpb24gPSBldnQgPT4gewotICAgIGFzc2VydF9lcXVhbHMo
ZXYsIGV2dCwgIm11c3QgYmUgc2FtZSBldmVudCIpOwotICAgIGRpZEhhbmRsZSA9IHRydWU7Ci0g
IH07Ci0gIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgZXZ0
ID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGV2LCBldnQsICJtdXN0IGJlIHNhbWUgZXZlbnQiKTsK
LSAgICBkaWRMaXN0ZW4gPSB0cnVlOwotICB9KTsKLSAgcmVxdWVzdC5kaXNwYXRjaEV2ZW50KGV2
KTsKLSAgYXNzZXJ0X3RydWUoZGlkSGFuZGxlLCAib25tZXJjaGFudHZhbGlkYXRpb24gbXVzdCBy
ZWNlaXZlIHRoZSBldmVudCIpOwotICBhc3NlcnRfdHJ1ZShkaWRMaXN0ZW4sICJhZGRFdmVudExp
c3RlbmVyIG11c3QgcmVjZWl2ZSB0aGUgZXZlbnQiKTsKLX0sIGBvbm1lcmNoYW50dmFsaWRhdGlv
biBhdHRyaWJ1dGUgYW5kIGxpc3RlbmVycyBib3RoIHdvcmtgKTsKLTwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvcGF5bWVudC1pcy1zaG93aW5nLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtaXMtc2hvd2luZy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMzdiNTBiMzI3MDNjNzU0NGE1
NThhMTEzYjUxNDYwOWI0YTYyNzJlNy4uMTI1ZDA5MzdhYzBlOWQ0ZWI2NjAwNjA4MTg5MDk4NGQy
ZTdjOWEzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1pcy1zaG93aW5nLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bh
eW1lbnQtcmVxdWVzdC9wYXltZW50LWlzLXNob3dpbmcuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0x
LDE1ICsxLDM4IEBACi1UaGlzIHRlc3QgcmVxdWlyZXMgdXNlciBpbnRlcmFjdGlvbi4KLVBsZWFz
ZSBjbGljayBoZXJlIHRvIGFsbG93IHRlc3Rpbmcgb25lIHBheW1lbnQgc2hlZXQgcGVyIHdpbmRv
dy4KLQotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQg
VGhlIHRvcCBicm93c2luZyBjb250ZXh0IGNhbiBvbmx5IHNob3cgb25lIHBheW1lbnQgc2hlZXQg
YXQgYSB0aW1lLiBUZXN0IHRpbWVkIG91dAotTk9UUlVOIElmIGFuIGlmcmFtZSBzaG93cyBhIHBh
eW1lbnQgcmVxdWVzdCwgdGhlIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0IGNhbid0IGFsc28g
c2hvdyBvbmUuCi1OT1RSVU4gQW4gaWZyYW1lIGNhbm5vdCBzaG93IGEgcGF5bWVudCByZXF1ZXN0
IGlmIHRoZSB0b3AtbGV2ZWwgd2luZG93IGlzIGFscmVhZHkgc2hvd2luZyBvbmUuCi1OT1RSVU4g
VXNpbmcgYSBwb3B1cCB3aW5kb3cgcHJldmVudHMgdGhlIHRvcC1icm93c2luZyBjb250ZXh0IGZy
b20gc2hvd2luZyBhIHBheW1lbnQgcmVxdWVzdAotTk9UUlVOIEdpdmVuIG11bHRpcGxlIG5lc3Rl
ZCBicm93c2luZyBjb250ZXh0cywgYW5kIHdpbmRvdyBjYWxscyBzaG93KCkgZmlyc3QsIG90aGVy
IG5lc3RlZCBicm93c2luZyBjb250ZXh0cyBjYW4ndCBzaG93IGEgcmVxdWVzdC4KLU5PVFJVTiBH
aXZlbiBtdWx0aXBsZSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMsIGFuZCBwb3B1cCBjYWxscyBz
aG93KCkgZmlyc3QsIG90aGVyIG5lc3RlZCBicm93c2luZyBjb250ZXh0cyBjYW4ndCBzaG93IGEg
cmVxdWVzdC4KLU5PVFJVTiBHaXZlbiBtdWx0aXBsZSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMs
IGFuZCBhbiBpZnJhbWUgY2FsbHMgc2hvdygpIGZpcnN0LCBvdGhlciBuZXN0ZWQgYnJvd3Npbmcg
Y29udGV4dHMgY2FuJ3Qgc2hvdyBhIHJlcXVlc3QuCi1OT1RSVU4gTmF2aWdhdGluZyBhbiBpZnJh
bWUgYXMgYSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dCBzZXRzICdwYXltZW50IHJlcXVlc3QgaXMg
c2hvd2luZyBib29sZWFuJyB0byBmYWxzZS4KLU5PVFJVTiBOYXZpZ2F0aW5nIGEgcG9wdXAgYXMg
YSBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dCBzZXRzICdwYXltZW50IHJlcXVlc3QgaXMgc2hvd2lu
ZyBib29sZWFuJyB0byBmYWxzZS4KK0NPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2Ug
UmVqZWN0aW9uOiBTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNl
ciBhY3RpdmF0aW9uLgorQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rp
b246IFNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2
YXRpb24uCitDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogU2Vj
dXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4K
K0NPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBTZWN1cml0eUVy
cm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLgorQ09OU09M
RSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFNlY3VyaXR5RXJyb3I6IHNo
b3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uCitDT05TT0xFIE1FU1NB
R0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogU2VjdXJpdHlFcnJvcjogc2hvdygpIG11
c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4KK0NPTlNPTEUgTUVTU0FHRTogVW5o
YW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0
cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLgorQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQg
UHJvbWlzZSBSZWplY3Rpb246IFNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJl
ZCBieSB1c2VyIGFjdGl2YXRpb24uCitDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNl
IFJlamVjdGlvbjogU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVz
ZXIgYWN0aXZhdGlvbi4KK0NPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0
aW9uOiBTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3Rp
dmF0aW9uLgorQ09OU09MRSBNRVNTQUdFOiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IFNl
Y3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24u
CitDT05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogU2VjdXJpdHlF
cnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4KKworCitI
YXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IHNob3co
KSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uCisKK0ZBSUwgVGhlIHRvcCBi
cm93c2luZyBjb250ZXh0IGNhbiBvbmx5IHNob3cgb25lIHBheW1lbnQgc2hlZXQgYXQgYSB0aW1l
LiBwcm9taXNlX3JlamVjdHNfZG9tOiBBdHRlbXB0aW5nIHRvIHNob3cgYSBzZWNvbmQgcGF5bWVu
dCByZXF1ZXN0IG11c3QgcmVqZWN0LiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0i
IHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5
IHVzZXIgYWN0aXZhdGlvbi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEFib3J0RXJyb3I6
IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAxOCwgZXhwZWN0ZWQgMjAKK0ZBSUwgSWYgYW4g
aWZyYW1lIHNob3dzIGEgcGF5bWVudCByZXF1ZXN0LCB0aGUgdG9wLWxldmVsIGJyb3dzaW5nIGNv
bnRleHQgY2FuJ3QgYWxzbyBzaG93IG9uZS4gcHJvbWlzZV9yZWplY3RzX2RvbTogaWZyYW1lIGlz
IGFscmVhZHkgc2hvd2luZyBhIHBheW1lbnQgcmVxdWVzdC4gZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJl
IHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlv
biBBYm9ydEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIw
CitGQUlMIEFuIGlmcmFtZSBjYW5ub3Qgc2hvdyBhIHBheW1lbnQgcmVxdWVzdCBpZiB0aGUgdG9w
LWxldmVsIHdpbmRvdyBpcyBhbHJlYWR5IHNob3dpbmcgb25lLiBwcm9taXNlX3JlamVjdHNfZG9t
OiBUaGUgdG9wIHdpbmRvdyBpcyBhbHJlYWR5IHNob3dpbmcgYSBwYXltZW50IHJlcXVlc3QuIGZ1
bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVy
cm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgdGhhdCBp
cyBub3QgYSBET01FeGNlcHRpb24gQWJvcnRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFs
IHRvIDE4LCBleHBlY3RlZCAyMAorRkFJTCBVc2luZyBhIHBvcHVwIHdpbmRvdyBwcmV2ZW50cyB0
aGUgdG9wLWJyb3dzaW5nIGNvbnRleHQgZnJvbSBzaG93aW5nIGEgcGF5bWVudCByZXF1ZXN0IHBy
b21pc2VfcmVqZWN0c19kb206IEV4cGVjdGVkIHdpbmRvdydzIHNob3dQcm9taXNlIHRvIHJlamVj
dCwgcmVxdWVzdCBpcyBhbHJlYWR5IHNob3dpbmcgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhy
b3cgZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdn
ZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBBYm9y
dEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitGQUlM
IEdpdmVuIG11bHRpcGxlIG5lc3RlZCBicm93c2luZyBjb250ZXh0cywgYW5kIHdpbmRvdyBjYWxs
cyBzaG93KCkgZmlyc3QsIG90aGVyIG5lc3RlZCBicm93c2luZyBjb250ZXh0cyBjYW4ndCBzaG93
IGEgcmVxdWVzdC4gcHJvbWlzZV9yZWplY3RzX2RvbTogRXhwZWN0ZWQgcG9wdXBTaG93UHJvbWlz
ZSB0byByZWplY3QsIHJlcXVlc3QgaXMgYWxyZWFkeSBzaG93aW5nLiBmdW5jdGlvbiAiZnVuY3Rp
b24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11
c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iIHRoYXQgaXMgbm90IGEgRE9NRXhj
ZXB0aW9uIEFib3J0RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAxOCwgZXhwZWN0
ZWQgMjAKK0ZBSUwgR2l2ZW4gbXVsdGlwbGUgbmVzdGVkIGJyb3dzaW5nIGNvbnRleHRzLCBhbmQg
cG9wdXAgY2FsbHMgc2hvdygpIGZpcnN0LCBvdGhlciBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMg
Y2FuJ3Qgc2hvdyBhIHJlcXVlc3QuIHByb21pc2VfcmVqZWN0c19kb206IEV4cGVjdGVkIHdpbmRv
d1Nob3dQcm9taXNlIHRvIHJlamVjdCwgdGhlIHBvcHVwIGlzIHNob3dpbmcgYSBwYXltZW50IHJl
cXVlc3QuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJT
ZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9u
LiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gQWJvcnRFcnJvcjogcHJvcGVydHkgImNvZGUi
IGlzIGVxdWFsIHRvIDE4LCBleHBlY3RlZCAyMAorRkFJTCBHaXZlbiBtdWx0aXBsZSBuZXN0ZWQg
YnJvd3NpbmcgY29udGV4dHMsIGFuZCBhbiBpZnJhbWUgY2FsbHMgc2hvdygpIGZpcnN0LCBvdGhl
ciBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMgY2FuJ3Qgc2hvdyBhIHJlcXVlc3QuIHByb21pc2Vf
cmVqZWN0c19kb206IEV4cGVjdGVkIHdpbmRvd1Nob3dQcm9taXNlIHRvIHJlamVjdCwgdGhlIHBv
cHVwIGlzIHNob3dpbmcgYSBwYXltZW50IHJlcXVlc3QuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0
cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24g
QWJvcnRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDE4LCBleHBlY3RlZCAyMAor
RkFJTCBOYXZpZ2F0aW5nIGFuIGlmcmFtZSBhcyBhIG5lc3RlZCBicm93c2luZyBjb250ZXh0IHNl
dHMgJ3BheW1lbnQgcmVxdWVzdCBpcyBzaG93aW5nIGJvb2xlYW4nIHRvIGZhbHNlLiBwcm9taXNl
X3JlamVjdHNfZG9tOiBOYXZpZ2F0aW5nIGlmcmFtZSBhd2F5IG11c3QgY2F1c2UgdGhlIGlmcmFt
ZVNob3dQcm9taXNlIHRvIHJlamVjdC4gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9
IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBi
eSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBBYm9ydEVycm9y
OiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitUSU1FT1VUIE5h
dmlnYXRpbmcgYSBwb3B1cCBhcyBhIG5lc3RlZCBicm93c2luZyBjb250ZXh0IHNldHMgJ3BheW1l
bnQgcmVxdWVzdCBpcyBzaG93aW5nIGJvb2xlYW4nIHRvIGZhbHNlLiBUZXN0IHRpbWVkIG91dAor
CitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFVuaGFuZGxlZCByZWplY3Rpb246IHNo
b3coKSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uCisKK0ZBSUwgVGhlIHRv
cCBicm93c2luZyBjb250ZXh0IGNhbiBvbmx5IHNob3cgb25lIHBheW1lbnQgc2hlZXQgYXQgYSB0
aW1lLiBwcm9taXNlX3JlamVjdHNfZG9tOiBBdHRlbXB0aW5nIHRvIHNob3cgYSBzZWNvbmQgcGF5
bWVudCByZXF1ZXN0IG11c3QgcmVqZWN0LiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBl
IH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVk
IGJ5IHVzZXIgYWN0aXZhdGlvbi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEFib3J0RXJy
b3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAxOCwgZXhwZWN0ZWQgMjAKK0ZBSUwgSWYg
YW4gaWZyYW1lIHNob3dzIGEgcGF5bWVudCByZXF1ZXN0LCB0aGUgdG9wLWxldmVsIGJyb3dzaW5n
IGNvbnRleHQgY2FuJ3QgYWxzbyBzaG93IG9uZS4gcHJvbWlzZV9yZWplY3RzX2RvbTogaWZyYW1l
IGlzIGFscmVhZHkgc2hvd2luZyBhIHBheW1lbnQgcmVxdWVzdC4gZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0
IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2Vw
dGlvbiBBYm9ydEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVk
IDIwCitGQUlMIEFuIGlmcmFtZSBjYW5ub3Qgc2hvdyBhIHBheW1lbnQgcmVxdWVzdCBpZiB0aGUg
dG9wLWxldmVsIHdpbmRvdyBpcyBhbHJlYWR5IHNob3dpbmcgb25lLiBwcm9taXNlX3JlamVjdHNf
ZG9tOiBUaGUgdG9wIHdpbmRvdyBpcyBhbHJlYWR5IHNob3dpbmcgYSBwYXltZW50IHJlcXVlc3Qu
IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0
eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgdGhh
dCBpcyBub3QgYSBET01FeGNlcHRpb24gQWJvcnRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVx
dWFsIHRvIDE4LCBleHBlY3RlZCAyMAorRkFJTCBVc2luZyBhIHBvcHVwIHdpbmRvdyBwcmV2ZW50
cyB0aGUgdG9wLWJyb3dzaW5nIGNvbnRleHQgZnJvbSBzaG93aW5nIGEgcGF5bWVudCByZXF1ZXN0
IHByb21pc2VfcmVqZWN0c19kb206IEV4cGVjdGVkIHdpbmRvdydzIHNob3dQcm9taXNlIHRvIHJl
amVjdCwgcmVxdWVzdCBpcyBhbHJlYWR5IHNob3dpbmcgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsg
dGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRy
aWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBB
Ym9ydEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitG
QUlMIEdpdmVuIG11bHRpcGxlIG5lc3RlZCBicm93c2luZyBjb250ZXh0cywgYW5kIHdpbmRvdyBj
YWxscyBzaG93KCkgZmlyc3QsIG90aGVyIG5lc3RlZCBicm93c2luZyBjb250ZXh0cyBjYW4ndCBz
aG93IGEgcmVxdWVzdC4gcHJvbWlzZV9yZWplY3RzX2RvbTogRXhwZWN0ZWQgcG9wdXBTaG93UHJv
bWlzZSB0byByZWplY3QsIHJlcXVlc3QgaXMgYWxyZWFkeSBzaG93aW5nLiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygp
IG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iIHRoYXQgaXMgbm90IGEgRE9N
RXhjZXB0aW9uIEFib3J0RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAxOCwgZXhw
ZWN0ZWQgMjAKK0ZBSUwgR2l2ZW4gbXVsdGlwbGUgbmVzdGVkIGJyb3dzaW5nIGNvbnRleHRzLCBh
bmQgcG9wdXAgY2FsbHMgc2hvdygpIGZpcnN0LCBvdGhlciBuZXN0ZWQgYnJvd3NpbmcgY29udGV4
dHMgY2FuJ3Qgc2hvdyBhIHJlcXVlc3QuIHByb21pc2VfcmVqZWN0c19kb206IEV4cGVjdGVkIHdp
bmRvd1Nob3dQcm9taXNlIHRvIHJlamVjdCwgdGhlIHBvcHVwIGlzIHNob3dpbmcgYSBwYXltZW50
IHJlcXVlc3QuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0
ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0
aW9uLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gQWJvcnRFcnJvcjogcHJvcGVydHkgImNv
ZGUiIGlzIGVxdWFsIHRvIDE4LCBleHBlY3RlZCAyMAorRkFJTCBHaXZlbiBtdWx0aXBsZSBuZXN0
ZWQgYnJvd3NpbmcgY29udGV4dHMsIGFuZCBhbiBpZnJhbWUgY2FsbHMgc2hvdygpIGZpcnN0LCBv
dGhlciBuZXN0ZWQgYnJvd3NpbmcgY29udGV4dHMgY2FuJ3Qgc2hvdyBhIHJlcXVlc3QuIHByb21p
c2VfcmVqZWN0c19kb206IEV4cGVjdGVkIHdpbmRvd1Nob3dQcm9taXNlIHRvIHJlamVjdCwgdGhl
IHBvcHVwIGlzIHNob3dpbmcgYSBwYXltZW50IHJlcXVlc3QuIGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBi
ZSB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0aW9uLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRp
b24gQWJvcnRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDE4LCBleHBlY3RlZCAy
MAorRkFJTCBOYXZpZ2F0aW5nIGFuIGlmcmFtZSBhcyBhIG5lc3RlZCBicm93c2luZyBjb250ZXh0
IHNldHMgJ3BheW1lbnQgcmVxdWVzdCBpcyBzaG93aW5nIGJvb2xlYW4nIHRvIGZhbHNlLiBwcm9t
aXNlX3JlamVjdHNfZG9tOiBOYXZpZ2F0aW5nIGlmcmFtZSBhd2F5IG11c3QgY2F1c2UgdGhlIGlm
cmFtZVNob3dQcm9taXNlIHRvIHJlamVjdC4gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cg
ZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJl
ZCBieSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBBYm9ydEVy
cm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4cGVjdGVkIDIwCitUSU1FT1VU
IE5hdmlnYXRpbmcgYSBwb3B1cCBhcyBhIG5lc3RlZCBicm93c2luZyBjb250ZXh0IHNldHMgJ3Bh
eW1lbnQgcmVxdWVzdCBpcyBzaG93aW5nIGJvb2xlYW4nIHRvIGZhbHNlLiBUZXN0IHRpbWVkIG91
dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LWlzLXNob3dpbmcuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtaXMtc2hvd2luZy5odHRwcy5odG1sCmluZGV4IDBlYTAyODA4ZWUyYTEyMDEzZTQxZTgx
OWRhMzIzZmVkZjhkODUzZmYuLmZlZDZlYWY2ZDlmYWRhMTE0NDZiMzJjYWFiYTA3YjVkZTJkODhi
MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtaXMtc2hvd2luZy5odHRwcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3BheW1lbnQtaXMtc2hvd2luZy5odHRwcy5odG1sCkBAIC03LDggKzcsOCBAQAogPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVy
LXZlbmRvci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVy
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzIj48L3NjcmlwdD4KIDxib2R5PgogICA8c2NyaXB0PgogICAgICJ1c2Ugc3RyaWN0IjsKQEAg
LTQxLDcgKzQxLDcgQEAKICAgICAgKi8KICAgICBhc3luYyBmdW5jdGlvbiBhdHRhY2hJZnJhbWUo
c3JjID0gImJsYW5rLmh0bWwiKSB7CiAgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICAgIGlmcmFtZS5hbGxvd1BheW1lbnRSZXF1ZXN0ID0g
dHJ1ZTsKKyAgICAgIGlmcmFtZS5hbGxvdyA9ICJwYXltZW50IjsKICAgICAgIGlmcmFtZS5zcmMg
PSBzcmM7CiAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiAgICAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVx
dWVzdC1hYm9ydC1tZXRob2QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1hYm9ydC1t
ZXRob2QuaHR0cHMuaHRtbAppbmRleCA4MjMwZTI0NThhYWEzZTAzNjRkYzQ1OTg1ZjU5Njc1OWYw
MDk1NDdkLi41OTk2OGM2ZDcwZWYyZGIxZjBkYmM0MDIwZjZlNTI0YWQyNDQzMzg4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtYWJvcnQtbWV0aG9kLmh0dHBzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
cGF5bWVudC1yZXF1ZXN0LWFib3J0LW1ldGhvZC5odHRwcy5odG1sCkBAIC0xLDExICsxLDExIEBA
CiA8IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04IiAvPgogPHRpdGxlPlRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0LmFib3J0KCkgbWV0aG9k
PC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Bh
eW1lbnQtcmVxdWVzdC8jYWJvcnQtbWV0aG9kIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jYWJvcnQtbWV0aG9kIiAvPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0nL3Jl
c291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyc+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogInVzZSBz
dHJpY3QiOwogc2V0dXAoewpAQCAtMjMsNyArMjMsNyBAQCBjb25zdCBhcHBsZVBheSA9IE9iamVj
dC5mcmVlemUoewogICAgIGNvdW50cnlDb2RlOiAiVVMiLAogICAgIG1lcmNoYW50Q2FwYWJpbGl0
aWVzOiBbInN1cHBvcnRzM0RTIl0sCiAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAot
ICB9CisgIH0sCiB9KTsKIGNvbnN0IGRlZmF1bHRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbYmFz
aWNDYXJkLCBhcHBsZVBheV0pOwogY29uc3QgZGVmYXVsdERldGFpbHMgPSBPYmplY3QuZnJlZXpl
KHsKQEAgLTQ0LDI0ICs0NCwyMiBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAKIHByb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVz
dChkZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOwotICBjb25zdCBwcm9taXNlcyA9IG5l
dyBTZXQoW3JlcXVlc3QuYWJvcnQoKSwgcmVxdWVzdC5hYm9ydCgpLCByZXF1ZXN0LmFib3J0KCld
KTsKKyAgY29uc3QgcHJvbWlzZXMgPSBuZXcgU2V0KFsKKyAgICByZXF1ZXN0LmFib3J0KCksCisg
ICAgcmVxdWVzdC5hYm9ydCgpLAorICAgIHJlcXVlc3QuYWJvcnQoKSwKKyAgXSk7CiAgIGFzc2Vy
dF9lcXVhbHMocHJvbWlzZXMuc2l6ZSwgMywgIk11c3QgaGF2ZSB0aHJlZSB1bmlxdWUgb2JqZWN0
cyIpOwogfSwgIkNhbGxpbmcgYWJvcnQoKSBtdWx0aXBsZSB0aW1lcyBpcyBhbHdheXMgYSBuZXcg
b2JqZWN0LiIpOwogCiBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgIGNvbnN0IHJlcXVlc3Qg
PSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRlZmF1bHREZXRhaWxzKTsKLSAg
Y29uc3QgW2Fib3J0UHJvbWlzZSwgYWNjZXB0UHJvbWlzZV0gPSBhd2FpdCB0ZXN0X2RyaXZlci5i
bGVzcygKLSAgICAic2hvdyBwYXltZW50IHJlcXVlc3QiLAotICAgICgpID0+IHsKLSAgICAgIGNv
bnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coKQotICAgICAgYWNjZXB0UHJvbWlzZS5j
YXRjaCgoKSA9PiB7fSk7IC8vIG5vLW9wLCBqdXN0IHRvIHNpbGVuY2UgdW5oYW5kbGVkIHJlamVj
dGlvbiBpbiBkZXZ0b29scy4KLSAgICAgIGNvbnN0IGFib3J0UHJvbWlzZSA9IHJlcXVlc3QuYWJv
cnQoKTsKLSAgICAgIHJldHVybiBbYWJvcnRQcm9taXNlLCBhY2NlcHRQcm9taXNlXTsKLSAgICB9
KTsKLQotICBhd2FpdCBhYm9ydFByb21pc2U7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKCJz
aG93IHBheW1lbnQgcmVxdWVzdCIpOworICBjb25zdCBhY2NlcHRQcm9taXNlID0gcmVxdWVzdC5z
aG93KCk7CisgIGF3YWl0IHJlcXVlc3QuYWJvcnQoKTsKICAgYXdhaXQgcHJvbWlzZV9yZWplY3Rz
X2RvbSh0LCAiQWJvcnRFcnJvciIsIGFjY2VwdFByb21pc2UpOwogICAvLyBBcyByZXF1ZXN0IGlz
IG5vdyAiY2xvc2VkIiwgdHJ5aW5nIHRvIHNob3cgaXQgd2lsbCBmYWlsCisgIGF3YWl0IHRlc3Rf
ZHJpdmVyLmJsZXNzKCJzaG93IHBheW1lbnQgcmVxdWVzdCIpOwogICBhd2FpdCBwcm9taXNlX3Jl
amVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIHJlcXVlc3Quc2hvdygpKTsKIH0sICJU
aGUgc2FtZSByZXF1ZXN0IGNhbm5vdCBiZSBzaG93biBtdWx0aXBsZSB0aW1lcy4iKTsKIApAQCAt
NzMsMjIgKzcxLDIwIEBAIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAgYXdhaXQgcHJvbWlz
ZV9yZWplY3RzX2RvbSh0LCAiSW52YWxpZFN0YXRlRXJyb3IiLCByZXF1ZXN0LmFib3J0KCkpOwog
ICAvLyBUaGUgcmVxdWVzdCdzIHN0YXRlIGlzICJjcmVhdGVkIiwgc28gbGV0J3Mgc2hvdyBpdAog
ICAvLyB3aGljaCBjaGFuZ2VzIHRoZSBzdGF0ZSB0byAiaW50ZXJhY3RpdmUuIi4KLSAgY29uc3Qg
W2Fib3J0UHJvbWlzZSwgYWNjZXB0UHJvbWlzZV0gPSBhd2FpdCB0ZXN0X2RyaXZlci5ibGVzcygK
LSAgICAic2hvdyBwYXltZW50IHJlcXVlc3QiLAotICAgICgpID0+IHsKLSAgICAgIGNvbnN0IGFj
Y2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coKQotICAgICAgLy8gTGV0J3Mgc2V0IHJlcXVlc3Qg
dGhlIHN0YXRlIHRvICJjbG9zZWQiIGJ5IGNhbGxpbmcgLmFib3J0KCkKLSAgICAgIGNvbnN0IGFi
b3J0UHJvbWlzZSA9IHJlcXVlc3QuYWJvcnQoKTsKLSAgICAgIHJldHVybiBbYWJvcnRQcm9taXNl
LCBhY2NlcHRQcm9taXNlXTsKLSAgICB9KTsKLQotICBhd2FpdCBhYm9ydFByb21pc2U7CisgIGF3
YWl0IHRlc3RfZHJpdmVyLmJsZXNzKCJzaG93IHBheW1lbnQgcmVxdWVzdCIpOworICBjb25zdCBh
Y2NlcHRQcm9taXNlID0gcmVxdWVzdC5zaG93KCk7CisgIC8vIExldCdzIHNldCByZXF1ZXN0IHRo
ZSBzdGF0ZSB0byAiY2xvc2VkIiBieSBjYWxsaW5nIC5hYm9ydCgpCisgIGF3YWl0IHJlcXVlc3Qu
YWJvcnQoKTsKICAgLy8gVGhlIHJlcXVlc3QgaXMgbm93ICJjbG9zZWQiLCBzby4uLgogICBhd2Fp
dCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIHJlcXVlc3QuYWJv
cnQoKSk7CiAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkFib3J0RXJyb3IiLCBhY2Nl
cHRQcm9taXNlKTsKIH0sICJBYm9ydGluZyBhIHJlcXVlc3QgYmVmb3JlIGl0IGlzIHNob3duIGRv
ZXNuJ3QgcHJldmVudCBpdCBmcm9tIGJlaW5nIHNob3duIGxhdGVyLiIpOwogPC9zY3JpcHQ+CiA8
c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1Zzwv
YT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWIt
cGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+
c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCisgIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxl
YXNlCisgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4gYW5kCisgIHRhZyBvbmUgb2YgdGhlCisgIDxhCisgICAg
aHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0
ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIgorICAgID5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9h
Pi4KIDwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1l
bnQtbWV0aG9kLXByb3RlY3Rpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1
ZXN0LWNhbm1ha2VwYXltZW50LW1ldGhvZC1wcm90ZWN0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWFlNWEyZmE3NmI5Y2FkMWIyNGMzNTkyM2Y1
NDhiZmIwODc3OGYyMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQtbWV0aG9kLXByb3RlY3Rpb24u
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1JZiB5b3Ug
ZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSBmaWxlIGEgYnVnIGFuZCB0YWcgb25lIG9mIHRoZSBz
dWdnZXN0ZWQgcmV2aWV3ZXJzLgotCi1QQVNTIE9wdGlvbmFsbHksIGF0IHRoZSB1c2VyIGFnZW50
J3MgZGlzY3JldGlvbiwgcmV0dXJuIGEgcHJvbWlzZSByZWplY3RlZCB3aXRoIGEgIk5vdEFsbG93
ZWRFcnJvciIgRE9NRXhjZXB0aW9uLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3Qt
Y2FubWFrZXBheW1lbnQtbWV0aG9kLXByb3RlY3Rpb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVxdWVzdC1jYW5tYWtlcGF5bWVudC1tZXRob2QtcHJvdGVjdGlvbi5odHRwcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMjIxMDM0ZGQ0ZWJkMDVjNWJkNzAxZTA1YTgxODk1
Yjg0NTdjM2I3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3BheW1lbnQtcmVxdWVzdC1jYW5tYWtlcGF5bWVudC1tZXRob2QtcHJvdGVjdGlvbi5odHRw
cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdHMgZm9yIFBheW1lbnRSZXF1ZXN0LmNh
bk1ha2VQYXltZW50KCkgbWV0aG9kPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL2Jyb3dzZXItcGF5bWVudC1hcGkvI3Nob3ctbWV0aG9kIj4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPScvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzJz48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWNvbnN0
IGJhc2ljQ2FyZCA9IE9iamVjdC5mcmVlemUoeyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2Fy
ZCIgfSk7Ci1jb25zdCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRo
b2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNp
b246IDMsCi0gICAgbWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAot
ICAgIGNvdW50cnlDb2RlOiAiVVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBv
cnRzM0RTIl0sCi0gICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9Ci19KTsKLWNv
bnN0IGRlZmF1bHRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbYmFzaWNDYXJkLCBhcHBsZVBheV0p
OwotY29uc3QgZGVmYXVsdERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6IHsKLSAg
ICBsYWJlbDogIlRvdGFsIiwKLSAgICBhbW91bnQ6IHsKLSAgICAgIGN1cnJlbmN5OiAiVVNEIiwK
LSAgICAgIHZhbHVlOiAiMS4wMCIsCi0gICAgfSwKLSAgfSwKLX0pOwotCi1wcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7Ci0gIC8vIFRoaXMgdGVzdCBtaWdodCBuZXZlciBhY3R1YWxseSBoaXQgaXRz
IGFzc2VydGlvbiwgYnV0IHRoYXQncyBhbGxvd2VkLgotICBjb25zdCByZXF1ZXN0ID0gbmV3IFBh
eW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gIGZvciAobGV0
IGkgPSAwOyBpIDwgMTAwMDsgaSsrKSB7Ci0gICAgdHJ5IHsKLSAgICAgIGF3YWl0IHJlcXVlc3Qu
Y2FuTWFrZVBheW1lbnQoKTsKLSAgICB9IGNhdGNoIChlcnIpIHsKLSAgICAgIGFzc2VydF9lcXVh
bHMoCi0gICAgICAgIGVyci5uYW1lLAotICAgICAgICAiTm90QWxsb3dlZEVycm9yIiwKLSAgICAg
ICAgImlmIGl0IHRocm93cywgdGhlbiBpdCBtdXN0IGJlIGEgTm90QWxsb3dlZEVycm9yLiIKLSAg
ICAgICk7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gIH0KLSAgZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDAwOyBpKyspIHsKLSAgICB0cnkgewotICAgICAgYXdhaXQgbmV3IFBheW1lbnRSZXF1ZXN0KGRl
ZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscykuY2FuTWFrZVBheW1lbnQoKTsKLSAgICB9IGNh
dGNoIChlcnIpIHsKLSAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIGVyci5uYW1lLAotICAg
ICAgICAiTm90QWxsb3dlZEVycm9yIiwKLSAgICAgICAgImlmIGl0IHRocm93cywgdGhlbiBpdCBt
dXN0IGJlIGEgTm90QWxsb3dlZEVycm9yLiIKLSAgICAgICk7Ci0gICAgICBicmVhazsKLSAgICB9
Ci0gIH0KLX0sIGBPcHRpb25hbGx5LCBhdCB0aGUgdXNlciBhZ2VudCdzIGRpc2NyZXRpb24sIHJl
dHVybiBhIHByb21pc2UgcmVqZWN0ZWQgd2l0aCBhICJOb3RBbGxvd2VkRXJyb3IiIERPTUV4Y2Vw
dGlvbi5gKTsKLTwvc2NyaXB0PgotCi08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVz
dCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9
Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3Bh
eW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxs
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWhhc2Vucm9sbGVkaW5zdHJ1bWVudC1t
ZXRob2QtbWFudWFsLnRlbnRhdGl2ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJl
cXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVtZW50LW1ldGhvZC1tYW51YWwudGVudGF0aXZlLmh0dHBz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTBmNzIwMGVkZWE0
ODZiNDgwNGYyY2JiOWYyODI0NzFjNDZlZDI1NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVt
ZW50LW1ldGhvZC1tYW51YWwudGVudGF0aXZlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE1ICswLDAgQEAKLU1hbnVhbCB0ZXN0cyBmb3IgaGFzRW5yb2xsZWRJbnN0cnVt
ZW50KCkgbWV0aG9kCi0KLUZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGZyb20gdG9wIHRvIGJvdHRv
bS4gQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2Ugd2l0aG91dCByZWZyZXNoaW5nIHRo
ZSBwYWdlLiBTb21lIG9mIHRoZSB0ZXN0cyB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50IFJlcXVl
c3QgVUkgYW5kIGNsb3NlIHRoZW0gYXV0b21hdGljYWxseS4gSWYgYSBwYXltZW50IHNoZWV0IHN0
YXlzIG9wZW4sIHRoZSB0ZXN0IGhhcyBmYWlsZWQuCi0KLUZvbGxvdyBicm93c2VyLXNwZWNpZmlj
IGluc3RydWN0aW9ucyB0byByZW1vdmUgYWxsIGNhcmRzIGZyb20gdGhlIHRlc3QgcHJvZmlsZS4K
LWhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpIHJlc29sdmVzIHRvIGZhbHNlIHdoZW4gdXNlciBoYXMg
bm8gZW5yb2xsZWQgaW5zdHJ1bWVudC4KLUFkZCBhIHRlc3QgVmlzYSBjYXJkIHRvIHlvdXIgdGVz
dCBwcm9maWxlLCBlLmcuIDQwMTI4ODg4ODg4ODE4ODEuCi1oYXNFbnJvbGxlZEluc3RydW1lbnQo
KSByZXNvbHZlcyB0byB0cnVlIHdoZW4gdXNlciBoYXMgYW4gZW5yb2xsZWQgaW5zdHJ1bWVudC4K
LWhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgaWYg
dGhlIHBheW1lbnQgbWV0aG9kIGRldGFpbHMgYXJlIGlkZW50aWNhbC4KLURvbmUhCi1JZiB5b3Ug
ZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSBmaWxlIGEgYnVnIGFuZCB0YWcgb25lIG9mIHRoZSBz
dWdnZXN0ZWQgcmV2aWV3ZXJzLgotCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0
cnVtZW50LW1ldGhvZC1tYW51YWwudGVudGF0aXZlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJl
cXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVtZW50LW1ldGhvZC1tYW51YWwudGVudGF0aXZlLmh0dHBz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2YjE2NGY3Y2M3YjhmMWM1N2I4
ZmE5ZmQxNGNiYzdmNWVmODFlZWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWhhc2Vucm9sbGVkaW5zdHJ1bWVudC1tZXRo
b2QtbWFudWFsLnRlbnRhdGl2ZS5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+TWFu
dWFsIHRlc3RzIGZvciBQYXltZW50UmVxdWVzdC5oYXNFbnJvbGxlZEluc3RydW1lbnQoKSBtZXRo
b2Q8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8v
cGF5bWVudC1yZXF1ZXN0LyNoYXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kIj4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1zZXR1
cCh7Ci0gIGV4cGxpY2l0X2RvbmU6IHRydWUsCi0gIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUsCi19
KTsKLQotY29uc3QgZGVmYXVsdE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFsKLSAgewotICAgIHN1
cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiwKLSAgICBkYXRhOiB7Ci0gICAgICBzdXBwb3J0
ZWROZXR3b3JrczogWyAndmlzYScgXSwKLSAgICB9LAotICB9Ci1dKTsKLWNvbnN0IGRlZmF1bHRE
ZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB7Ci0gICAgbGFiZWw6ICJUb3RhbCIs
Ci0gICAgYW1vdW50OiB7Ci0gICAgICBjdXJyZW5jeTogIlVTRCIsCi0gICAgICB2YWx1ZTogIjEu
MDAiLAotICAgIH0sCi0gIH0sCi19KTsKLQotZnVuY3Rpb24gdGVzdEhhc05vRW5yb2xsZWRJbnN0
cnVtZW50KCkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgcmVxdWVz
dCA9IG5ldyBQYXltZW50UmVxdWVzdChkZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOwot
ICAgIGFzc2VydF9mYWxzZSgKLSAgICAgIGF3YWl0IHJlcXVlc3QuaGFzRW5yb2xsZWRJbnN0cnVt
ZW50KCksCi0gICAgICAiTm8gdGVzdCBlbnJvbGxlZCBpbiB0aGUgdGVzdCBwcm9maWxlLiIKLSAg
ICApOwotICB9LCBgaGFzRW5yb2xsZWRJbnN0cnVtZW50KCkgcmVzb2x2ZXMgdG8gZmFsc2Ugd2hl
biB1c2VyIGhhcyBubyBlbnJvbGxlZCBpbnN0cnVtZW50LmApOwotfQotCi1mdW5jdGlvbiB0ZXN0
SGFzRW5yb2xsZWRJbnN0cnVtZW50KCkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0g
ICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChkZWZhdWx0TWV0aG9kcywgZGVm
YXVsdERldGFpbHMpOwotICAgIGFzc2VydF90cnVlKAotICAgICAgYXdhaXQgcmVxdWVzdC5oYXNF
bnJvbGxlZEluc3RydW1lbnQoKSwKLSAgICAgICJBIGNhcmQgaXMgZW5yb2xsZWQgaW4gdGhlIHRl
c3QgcHJvZmlsZS4iCi0gICAgKTsKLSAgfSwgYGhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpIHJlc29s
dmVzIHRvIHRydWUgd2hlbiB1c2VyIGhhcyBhbiBlbnJvbGxlZCBpbnN0cnVtZW50LmApOwotfQot
Ci1mdW5jdGlvbiB0ZXN0SGFzRW5yb2xsZWRJbnN0cnVtZW50QWdhaW4oKSB7Ci0gIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0
KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAg
ICBhd2FpdCByZXF1ZXN0Lmhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpLAotICAgICAgIkEgY2FyZCBp
cyBlbnJvbGxlZCBpbiB0aGUgdGVzdCBwcm9maWxlLiIKLSAgICApOwotICB9LCBgaGFzRW5yb2xs
ZWRJbnN0cnVtZW50KCkgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGUgcGF5bWVu
dCBtZXRob2QgZGV0YWlscyBhcmUgaWRlbnRpY2FsLmApOwotfQotPC9zY3JpcHQ+Ci0KLTxoMj5N
YW51YWwgdGVzdHMgZm9yIGhhc0Vucm9sbGVkSW5zdHJ1bWVudCgpIG1ldGhvZDwvaDI+Ci08cD4K
LSAgRm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgZnJvbSB0b3AgdG8gYm90dG9tLiBDbGljayBvbiBl
YWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZQotICB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuIFNv
bWUgb2YgdGhlIHRlc3RzIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQKLSAgUmVxdWVzdCBVSSBh
bmQgY2xvc2UgdGhlbSBhdXRvbWF0aWNhbGx5LiBJZiBhIHBheW1lbnQgc2hlZXQgc3RheXMgb3Bl
biwgdGhlCi0gIHRlc3QgaGFzIGZhaWxlZC4KLTwvcD4KLTxvbD4KLSAgPGxpPkZvbGxvdyBicm93
c2VyLXNwZWNpZmljIGluc3RydWN0aW9ucyB0byByZW1vdmUgYWxsIGNhcmRzIGZyb20gdGhlIHRl
c3QgcHJvZmlsZS48L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0SGFzTm9F
bnJvbGxlZEluc3RydW1lbnQoKSI+Ci0gICAgICBoYXNFbnJvbGxlZEluc3RydW1lbnQoKSByZXNv
bHZlcyB0byBmYWxzZSB3aGVuIHVzZXIgaGFzIG5vIGVucm9sbGVkIGluc3RydW1lbnQuCi0gICAg
PC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT5BZGQgYSB0ZXN0IFZpc2EgY2FyZCB0byB5b3VyIHRl
c3QgcHJvZmlsZSwgZS5nLiA0MDEyODg4ODg4ODgxODgxLjwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0
dG9uIG9uY2xpY2s9InRlc3RIYXNFbnJvbGxlZEluc3RydW1lbnQoKSI+Ci0gICAgICBoYXNFbnJv
bGxlZEluc3RydW1lbnQoKSByZXNvbHZlcyB0byB0cnVlIHdoZW4gdXNlciBoYXMgYW4gZW5yb2xs
ZWQgaW5zdHJ1bWVudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0
b24gb25jbGljaz0idGVzdEhhc0Vucm9sbGVkSW5zdHJ1bWVudEFnYWluKCkiPgotICAgICAgaGFz
RW5yb2xsZWRJbnN0cnVtZW50KCkgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGUg
cGF5bWVudCBtZXRob2QKLSAgICAgIGRldGFpbHMgYXJlIGlkZW50aWNhbC4KLSAgICA8L2J1dHRv
bj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpIj5Eb25lITwv
YnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0
ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0
cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJl
Zj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIv
cGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21h
bGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVtZW50
LW1ldGhvZC50ZW50YXRpdmUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJv
bGxlZGluc3RydW1lbnQtbWV0aG9kLnRlbnRhdGl2ZS5odHRwcy5odG1sCmluZGV4IGM1NTMxMmNl
MzNiMGRhMmZjZDFkMTYxOWI2ZDdmZjhjNjE0YTRmNmIuLjRmNmI3ZTkyMzliNjdlNDMxN2MzMjVh
ZjY1MWFiNjg1ZjBjNjNjNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJv
bGxlZGluc3RydW1lbnQtbWV0aG9kLnRlbnRhdGl2ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLnRlbnRhdGl2ZS5odHRwcy5o
dG1sCkBAIC04LDYgKzgsOSBAQAogPHNjcmlwdCBzcmM9Jy9yZXNvdXJjZXMvdGVzdGRyaXZlci12
ZW5kb3IuanMnPjwvc2NyaXB0PgogPHNjcmlwdD4KICJ1c2Ugc3RyaWN0IjsKKworc2V0dXAoeyBh
bGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUgfSk7CisKIGNvbnN0IHVuc3VwcG9ydGVkTWV0
aG9kcyA9IFsKICAgeyBzdXBwb3J0ZWRNZXRob2RzOiAidGhpcy1pcy1ub3Qtc3VwcG9ydGVkIiB9
LAogICB7IHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL25vdC5zdXBwb3J0ZWQiIH0sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3Qtc2hvdy1tZXRob2QuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVxdWVzdC1zaG93LW1ldGhvZC5odHRwcy5odG1sCmluZGV4IGRjZjc4ZWY0MjgxYzQy
NTZlY2I0MTQxYjNmOTNkMTVhOTQ3ODA1YTMuLjk3ODg3MjFhYTM1NDcyZDQ3OTlhNDQyMzkyMzA2
NjA3NDc1YWZhZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1zaG93LW1ldGhvZC5o
dHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1zaG93LW1ldGhvZC5odHRwcy5odG1s
CkBAIC0xLDEzICsxLDE2IEBACiA8IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogPHRpdGxlPlRlc3QgZm9yIFBheW1lbnRSZXF1
ZXN0LnNob3coKSBtZXRob2Q8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNzaG93LW1ldGhvZCI+Cis8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI3Nob3ct
bWV0aG9kIiAvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0PgogInVzZSBzdHJpY3QiOworCitzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlv
bjogdHJ1ZSB9KTsKKwogY29uc3QgZGVmYXVsdE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFsKICAg
eyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSwKICAgewpAQCAtMTgsNyArMjEsNyBA
QCBjb25zdCBkZWZhdWx0TWV0aG9kcyA9IE9iamVjdC5mcmVlemUoWwogICAgICAgY291bnRyeUNv
ZGU6ICJVUyIsCiAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAog
ICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICAgIH0KKyAgICB9LAogICB9LAog
XSk7CiAKQEAgLTMyLDcgKzM1LDcgQEAgY29uc3QgZGVmYXVsdERldGFpbHMgPSBPYmplY3QuZnJl
ZXplKHsKICAgfSwKIH0pOwogCi1wcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Citwcm9taXNlX3Rl
c3QoYXN5bmMgKHQpID0+IHsKICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChk
ZWZhdWx0TWV0aG9kcywgZGVmYXVsdERldGFpbHMpOwogICBjb25zdCBhY2NlcHRQcm9taXNlID0g
cmVxdWVzdC5zaG93KCk7CiAgIC8vIEFib3J0IHRoZSByZXF1ZXN0IGFmdGVyIDIgc2Vjb25kcyBp
ZiBpdCBoYXMgbm90IHJlamVjdGVkLiBUaGlzIGFsbG93cyB0aGUKQEAgLTQzLDYyICs0Niw2NCBA
QCBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CiAgICAgcmVxdWVzdC5hYm9ydCgpOwogICB9LCAy
MDAwKTsKIAotICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJTZWN1cml0eUVycm9yIiwg
YWNjZXB0UHJvbWlzZSk7CisgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIk5vdEFsbG93
ZWRFcnJvciIsIGFjY2VwdFByb21pc2UpOwogfSwgYENhbGxpbmcgc2hvdygpIHdpdGhvdXQgYmVp
bmcgdHJpZ2dlcmVkIGJ5IHVzZXIgaW50ZXJhY3Rpb24gdGhyb3dzYCk7CiAKLXByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4gewogICBjb25zdCByZXF1
ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWlscyk7
Ci0gIGNvbnN0IFthY2NlcHRQcm9taXNlXSA9IGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKAotICAg
ICJ0ZXN0OiB0aHJvd3MgaWYgdGhlIHByb21pc2UgW1tzdGF0ZV1dIGlzIG5vdCAnY3JlYXRlZCci
LAotICAgICgpID0+IHsKLSAgICAgIGNvbnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3co
KTsgLy8gU2V0cyBzdGF0ZSB0byAiaW50ZXJhY3RpdmUiCi0gICAgICByZXR1cm4gW2FjY2VwdFBy
b21pc2VdOwotICAgIH0pOworICBhd2FpdCB0ZXN0X2RyaXZlci5ibGVzcygKKyAgICAidGVzdDog
dGhyb3dzIGlmIHRoZSBwcm9taXNlIFtbc3RhdGVdXSBpcyBub3QgJ2NyZWF0ZWQnIgorICApOwor
ICBjb25zdCBhY2NlcHRQcm9taXNlID0gcmVxdWVzdC5zaG93KCk7IC8vIFNldHMgc3RhdGUgdG8g
ImludGVyYWN0aXZlIgorICAvLyBObyB1c2VyIGFjdGl2YXRpb24uLi4KKyAgYXdhaXQgcHJvbWlz
ZV9yZWplY3RzX2RvbSh0LCAiTm90QWxsb3dlZEVycm9yIiwgcmVxdWVzdC5zaG93KCkpOworCisg
IC8vIEdldCB1c2VyIGFjdGl2YXRpb24KKyAgYXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoCisgICAg
InRlc3Q6IHRocm93cyBpZiB0aGUgcHJvbWlzZSBbW3N0YXRlXV0gaXMgbm90ICdjcmVhdGVkJyIK
KyAgKTsKICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiSW52YWxpZFN0YXRlRXJyb3Ii
LCByZXF1ZXN0LnNob3coKSk7CisKICAgYXdhaXQgcmVxdWVzdC5hYm9ydCgpOwogICBhd2FpdCBw
cm9taXNlX3JlamVjdHNfZG9tKHQsICJBYm9ydEVycm9yIiwgYWNjZXB0UHJvbWlzZSk7CiB9LCAi
VGhyb3dzIGlmIHRoZSBwcm9taXNlIFtbc3RhdGVdXSBpcyBub3QgJ2NyZWF0ZWQnLiIpOwogCi1w
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Citwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKICAg
Y29uc3QgcmVxdWVzdDEgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVsdE1ldGhvZHMsIGRlZmF1
bHREZXRhaWxzKTsKICAgY29uc3QgcmVxdWVzdDIgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVs
dE1ldGhvZHMsIGRlZmF1bHREZXRhaWxzKTsKLSAgY29uc3QgW2FjY2VwdFByb21pc2UxXSA9IGF3
YWl0IHRlc3RfZHJpdmVyLmJsZXNzKAotICAgIGB0ZXN0OiByZWplY3QgcHJvbWlzZSB3aXRoICJB
Ym9ydGVkRXJyb3IiIGlmIHBheW1lbnQgcmVxdWVzdCBpcyBhbHJlYWR5IHNob3dpbmdgLAotICAg
IGFzeW5jICgpID0+IHsKLSAgICAgIGNvbnN0IGFjY2VwdFByb21pc2UxID0gcmVxdWVzdDEuc2hv
dygpOwotICAgICAgY29uc3QgYWNjZXB0UHJvbWlzZTIgPSByZXF1ZXN0Mi5zaG93KCk7Ci0gICAg
ICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJBYm9ydEVycm9yIiwgYWNjZXB0UHJvbWlz
ZTIpOwotICAgICAgcmV0dXJuIFthY2NlcHRQcm9taXNlMV07Ci0gICAgfSk7CisKKyAgYXdhaXQg
dGVzdF9kcml2ZXIuYmxlc3MoInBheW1lbnQgcmVxdWVzdCIpOworICBjb25zdCBhY2NlcHRQcm9t
aXNlMSA9IHJlcXVlc3QxLnNob3coKTsKKworICAvLyBVc2VyIGFjdGl2YXRpb24gY29uc3VtZWQs
IHNvLi4uCisgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIk5vdEFsbG93ZWRFcnJvciIs
IHJlcXVlc3QyLnNob3coKSk7CisKKyAgLy8gUGF5bWVudCByZXF1ZXN0IGFscmVhZHkgc2hvd2lu
Zywgc28uLi4KKyAgYXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoInBheW1lbnQgcmVxdWVzdCIpOwor
ICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJBYm9ydEVycm9yIiwgcmVxdWVzdDIuc2hv
dygpKTsKIAogICBhd2FpdCByZXF1ZXN0MS5hYm9ydCgpOwogICBhd2FpdCBwcm9taXNlX3JlamVj
dHNfZG9tKHQsICJBYm9ydEVycm9yIiwgYWNjZXB0UHJvbWlzZTEpOwogfSwgYElmIHRoZSB1c2Vy
IGFnZW50J3MgInBheW1lbnQgcmVxdWVzdCBpcyBzaG93aW5nIiBib29sZWFuIGlzIHRydWUsIHRo
ZW4gcmV0dXJuIGEgcHJvbWlzZSByZWplY3RlZCB3aXRoIGFuICJBYm9ydEVycm9yIiBET01FeGNl
cHRpb24uYCk7CiAKLXByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKK3Byb21pc2VfdGVzdChhc3lu
YyAodCkgPT4gewogICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAogICAgIFt7
IHN1cHBvcnRlZE1ldGhvZHM6ICJ0aGlzLWlzLW5vdC1zdXBwb3J0ZWQiIH1dLAogICAgIGRlZmF1
bHREZXRhaWxzCiAgICk7Ci0gIGNvbnN0IFthY2NlcHRQcm9taXNlXSA9IGF3YWl0IHRlc3RfZHJp
dmVyLmJsZXNzKAotICAgIGB0ZXN0OiByZWplY3QgcHJvbWlzZSB3aXRoICJOb3RTdXBwb3J0ZWRF
cnJvciJgLAotICAgICgpID0+IHsKLSAgICAgIGNvbnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0
LnNob3coKTsKLSAgICAgIHJldHVybiBbYWNjZXB0UHJvbWlzZV07Ci0gICAgfSk7CisgIGF3YWl0
IHRlc3RfZHJpdmVyLmJsZXNzKGB0ZXN0OiByZWplY3QgcHJvbWlzZSB3aXRoICJOb3RTdXBwb3J0
ZWRFcnJvciJgKTsKKyAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJlcXVlc3Quc2hvdygpOwogICBh
d2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJOb3RTdXBwb3J0ZWRFcnJvciIsIGFjY2VwdFBy
b21pc2UpOwogfSwgYElmIHBheW1lbnQgbWV0aG9kIGNvbnN1bHRhdGlvbiBwcm9kdWNlcyBubyBz
dXBwb3J0ZWQgbWV0aG9kIG9mIHBheW1lbnQsIHRoZW4gcmV0dXJuIGEgcHJvbWlzZSByZWplY3Rl
ZCB3aXRoIGEgIk5vdFN1cHBvcnRlZEVycm9yIiBET01FeGNlcHRpb24uYCk7CiAKLXByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4gewogICBjb25zdCBy
ZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KGRlZmF1bHRNZXRob2RzLCBkZWZhdWx0RGV0YWls
cyk7Ci0gIGNvbnN0IFtwMSwgcDIsIHAzXSA9IGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKAotICAg
IGB0ZXN0OiBjYWxsaW5nIHNob3coKSBtdWx0aXBsZSB0aW1lcyBhbHdheXMgcmV0dXJucyBhIG5l
dyBwcm9taXNlYCwKLSAgICAoKSA9PiB7Ci0gICAgICBjb25zdCBwMSA9IHJlcXVlc3Quc2hvdygp
OwotICAgICAgY29uc3QgcDIgPSByZXF1ZXN0LnNob3coKTsKLSAgICAgIGNvbnN0IHAzID0gcmVx
dWVzdC5zaG93KCk7Ci0gICAgICByZXR1cm4gW3AxLCBwMiwgcDNdOwotICAgIH0pOworICBhd2Fp
dCB0ZXN0X2RyaXZlci5ibGVzcygiY2FsbCBzaG93KCkiKTsKKyAgY29uc3QgcDEgPSByZXF1ZXN0
LnNob3coKTsKKyAgYXdhaXQgdGVzdF9kcml2ZXIuYmxlc3MoImNhbGwgc2hvdygpIik7CisgIGNv
bnN0IHAyID0gcmVxdWVzdC5zaG93KCk7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmJsZXNzKCJjYWxs
IHNob3coKSIpOworICBjb25zdCBwMyA9IHJlcXVlc3Quc2hvdygpOwogICBjb25zdCBwcm9taXNl
cyA9IG5ldyBTZXQoW3AxLCBwMiwgcDNdKTsKICAgYXNzZXJ0X2VxdWFscyhwcm9taXNlcy5zaXpl
LCAzLCAiTXVzdCBoYXZlIHRocmVlIHVuaXF1ZSBvYmplY3RzIik7CiAKQEAgLTEwOCw5ICsxMTMs
MTIgQEAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewogICBhd2FpdCByZXF1ZXN0LmFib3J0KCk7
CiAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20odCwgIkFib3J0RXJyb3IiLCBwMSk7CiB9LCAi
Q2FsbGluZyBzaG93KCkgbXVsdGlwbGUgdGltZXMgYWx3YXlzIHJldHVybnMgYSBuZXcgcHJvbWlz
ZS4iKTsKLQogPC9zY3JpcHQ+CiA8c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwg
cGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0
L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1l
bnQtcmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCisgIElmIHlvdSBm
aW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlCisgIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4gYW5kCisgIHRhZyBv
bmUgb2YgdGhlCisgIDxhCisgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIgorICAgID5z
dWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KIDwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50
LXJlc3BvbnNlL2NvbXBsZXRlLW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVzcG9uc2UvY29tcGxldGUtbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmN2ZhY2Q3OTgwMDE2MTg5ZDNkYmVlNjUzYTM4ODk5ZGEyNmJlZDk1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVzcG9uc2UvY29tcGxldGUtbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTAxICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRm
OCI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50
LXJlcXVlc3QvI2RvbS1wYXltZW50cmVzcG9uc2UtY29tcGxldGUoKSI+Ci08dGl0bGU+Ci0gIFBh
eW1lbnRSZXNwb25zZS5wcm90b3R5cGUuY29tcGxldGUoKSBtZXRob2QKLTwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotYXN5bmMgZnVuY3Rpb24gcnVuTWFu
dWFsVGVzdCh7IGNvbXBsZXRlV2l0aDogcmVzdWx0IH0sIGJ1dHRvbikgewotICBidXR0b24uZGlz
YWJsZWQgPSB0cnVlOwotICBjb25zdCB7IHJlc3BvbnNlLCByZXF1ZXN0IH0gPSBhd2FpdCBnZXRQ
YXltZW50UmVxdWVzdFJlc3BvbnNlKCk7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAg
ICBsZXQgY29tcGxldGVQcm9taXNlOwotICAgIGxldCBpbnZhbGlkQ29tcGxldGU7Ci0gICAgbGV0
IGFmdGVyQ29tcGxldGU7Ci0gICAgdHJ5IHsKLSAgICAgIC8vIFdlIC5jb21wbGV0ZSgpIGFzIG5v
cm1hbCwgdXNpbmcgdGhlIHBhc3NlZCB0ZXN0IHZhbHVlCi0gICAgICBjb21wbGV0ZVByb21pc2Ug
PSByZXNwb25zZS5jb21wbGV0ZShyZXN1bHQpOwotICAgICAgYXNzZXJ0X3RydWUoY29tcGxldGVQ
cm9taXNlIGluc3RhbmNlb2YgUHJvbWlzZSwgInJldHVybnMgYSBwcm9taXNlIik7Ci0gICAgICAv
LyBJbW1lZGlhdGVseSBjYWxsaW5nIGNvbXBsZXRlKCkgYWdhaW4geWllbGRzIGEgcmVqZWN0ZWQg
cHJvbWlzZS4KLSAgICAgIGludmFsaWRDb21wbGV0ZSA9IHJlc3BvbnNlLmNvbXBsZXRlKHJlc3Vs
dCk7Ci0gICAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJv
ciIsIGludmFsaWRDb21wbGV0ZSk7Ci0gICAgICAvLyBidXQgdGhlIG9yaWdpbmFsIHByb21pc2Ug
aXMgdW5hZmZlY3RlZAotICAgICAgY29uc3QgcmV0dXJuZWRWYWx1ZSA9IGF3YWl0IGNvbXBsZXRl
UHJvbWlzZTsKLSAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgIHJldHVybmVkVmFsdWUsCi0g
ICAgICAgIHVuZGVmaW5lZCwKLSAgICAgICAgIlJldHVybmVkIHZhbHVlIG11c3QgYWx3YXlzIGJl
IHVuZGVmaW5lZCIKLSAgICAgICk7Ci0gICAgICAvLyBXZSBub3cgY2FsbCAuY29tcGxldGUoKSBh
Z2FpbiwgdG8gZm9yY2UgYW4gZXhjZXB0aW9uCi0gICAgICAvLyBiZWNhdXNlIFtbY29tcGxldGVd
XSBpcyB0cnVlLgotICAgICAgYWZ0ZXJDb21wbGV0ZSA9IHJlc3BvbnNlLmNvbXBsZXRlKHJlc3Vs
dCk7Ci0gICAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJv
ciIsIGFmdGVyQ29tcGxldGUpOwotICAgICAgYnV0dG9uLmlubmVySFRNTCA9IGDinIUgICR7YnV0
dG9uLnRleHRDb250ZW50fWA7Ci0gICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICBidXR0b24uaW5u
ZXJIVE1MID0gYOKdjCAgJHtidXR0b24udGV4dENvbnRlbnR9YDsKLSAgICAgIGFzc2VydF91bnJl
YWNoZWQoIlVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAiICsgZXJyLm1lc3NhZ2UpOwotICAgIH0KLSAg
ICBjb25zdCBhbGxQcm9taXNlcyA9IG5ldyBTZXQoWwotICAgICAgY29tcGxldGVQcm9taXNlLAot
ICAgICAgaW52YWxpZENvbXBsZXRlLAotICAgICAgYWZ0ZXJDb21wbGV0ZSwKLSAgICBdKTsKLSAg
ICBhc3NlcnRfZXF1YWxzKAotICAgICAgYWxsUHJvbWlzZXMuc2l6ZSwKLSAgICAgIDMsCi0gICAg
ICAiQ2FsbGluZyBjb21wbGV0ZSgpIG11bHRpcGxlIHRpbWVzIGlzIGFsd2F5cyBhIG5ldyBvYmpl
Y3QuIgotICAgICk7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfQotPC9zY3Jp
cHQ+Ci0KLTxoMj4KLSAgICBNYW51YWwgVGVzdHMgZm9yIFBheW1lbnRSZXNwb25zZS5jb21wbGV0
ZSgpIC0gUGxlYXNlIHJ1biBpbiBvcmRlciEKLTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBi
dXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0
aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0
IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBwYXltZW50
IHNoZWV0LCB1c2UgYW55IGNyZWRpdCBjYXJkIHNlbGVjdCB0byAiUGF5Ii4KLSAgQWxzbyBjb25m
aXJtIGFueSBwcm9tcHRzIHRoYXQgY29tZSB1cC4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxi
dXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh7Y29tcGxldGVXaXRoOiAnc3VjY2Vzcyd9LCB0
aGlzKSI+Ci0gICAgICBJZiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIHNsb3QgW1tjb21wbGV0
ZUNhbGxlZF1dIGlzIHRydWUsCi0gICAgICByZWplY3QgcHJvbWlzZSB3aXRoIGFuICJJbnZhbGlk
U3RhdGVFcnJvciIgRE9NRXhjZXB0aW9uLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHtjb21wbGV0ZVdpdGg6IHVuZGVm
aW5lZH0sIHRoaXMpIj4KLSAgICAgIFBhc3Npbmcgbm8gYXJndW1lbnQgZGVmYXVsdHMgdG8gInVu
a25vd24iLAotICAgICAgZXZlbnR1YWxseSBjbG9zaW5nIHRoZSBzaGVldCBhbmQgZG9lc24ndCB0
aHJvdy4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGlj
az0icnVuTWFudWFsVGVzdCh7Y29tcGxldGVXaXRoOiAnc3VjY2Vzcyd9LCB0aGlzKSI+Ci0gICAg
ICBQYXNzaW5nICJzdWNjZXNzIiBldmVudHVhbGx5IGNsb3NlcyB0aGUgc2hlZXQgYW5kIGRvZXNu
J3QgdGhyb3cuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9u
Y2xpY2s9InJ1bk1hbnVhbFRlc3Qoe2NvbXBsZXRlV2l0aDogJ2ZhaWwnfSwgdGhpcykiPgotICAg
ICAgUGFzc2luZyAiZmFpbCIgZXZlbnR1YWxseSBjbG9zZXMgdGhlIHNoZWV0IGFuZCBkb2Vzbid0
IHRocm93LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNs
aWNrPSJydW5NYW51YWxUZXN0KHtjb21wbGV0ZVdpdGg6ICd1bmtub3duJ30sIHRoaXMpIj4KLSAg
ICAgIFBhc3NpbmcgInVua25vd24iIGV2ZW50dWFsbHkgY2xvc2VzIHRoZSBzaGVldCBhbmQgZG9l
c24ndCB0aHJvdy4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24g
b25jbGljaz0iZG9uZSgpIj5Eb25lITwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4K
LSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBh
bmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0
ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3Bv
bnNlL21ldGhvZE5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS9tZXRob2ROYW1lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGE4ZWY2Yzc3ZTg3ZTY4YTFiN2Y5YWEyODU4OGJlNGRlM2Rh
OThmMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlc3BvbnNlL21ldGhvZE5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFy
c2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L3BheW1lbnQtcmVxdWVzdC8jZG9tLXBheW1lbnRyZXNwb25zZS1tZXRob2RuYW1lIj4KLTx0aXRs
ZT4KLSAgUGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZS5tZXRob2ROYW1lIGF0dHJpYnV0ZQotPC90
aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxoMj5tZXRob2ROYW1lIGF0dHJp
YnV0ZTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0
b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24g
d2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgot
ICBVc2UgYW55IGNyZWRpdCBjYXJkIGFuZCBhbnkgdmFsdWVzLgotPC9wPgotPG9sPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHt9LCB7IG1ldGhvZE5h
bWU6ICdiYXNpYy1jYXJkJyB9KS50aGVuKGRvbmUpIj4KLSAgICAgIEV4cGVjdCB0aGUgcGF5bWVu
dCBtZXRob2QgaWRlbnRpZmllciB0byBiZSAnYmFzaWMtY2FyZCcuCi0gICAgPC9idXR0b24+Ci0g
IDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFz
ZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1
ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJl
cXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvb25wYXllcmRldGFpbGNoYW5nZS1hdHRyaWJ1dGUt
bWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL29ucGF5ZXJkZXRhaWxjaGFu
Z2UtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1NzMxOTUyYzBlYmMwZTgwODVjYjM0MGI1YjdjZmM0Nzg4NDlmYzk5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
b25wYXllcmRldGFpbGNoYW5nZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw3MyArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9dXRm
LTg+Ci08dGl0bGU+UGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZS5vbnBheWVyZGV0YWlsY2hhbmdl
IGF0dHJpYnV0ZTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1m
dW5jdGlvbiBydW5UZXN0KGJ1dHRvbiwgb3B0aW9ucywgZXhwZWN0ZWQpewotICBidXR0b24uZGlz
YWJsZWQgPSB0cnVlOwotICBwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGNvbnN0IHJl
c3BvbnNlID0gYXdhaXQgZ2V0UGF5bWVudFJlc3BvbnNlKG9wdGlvbnMpOwotICAgIGNvbnN0IGV2
ZW50UHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgcmVzcG9uc2UuYWRk
RXZlbnRMaXN0ZW5lcigicGF5ZXJkZXRhaWxjaGFuZ2UiLCByZXNvbHZlKTsKLSAgICB9KTsKLSAg
ICBjb25zdCBlcnJvciA9IGJ1dHRvbi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nLnRleHRDb250ZW50
LnRyaW0oKTsKLSAgICBhd2FpdCByZXNwb25zZS5yZXRyeSh7IGVycm9yIH0pOwotICAgIGNvbnN0
IGV2ZW50ID0gYXdhaXQgZXZlbnRQcm9taXNlOwotICAgIGFzc2VydF90cnVlKGV2ZW50IGluc3Rh
bmNlb2YgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCk7Ci0gICAgZm9yKFtwcm9wLCB2YWx1ZV0g
b2YgT2JqZWN0LmVudHJpZXMoZXhwZWN0ZWQpKXsKLSAgICAgIGlmIChwcm9wID09PSAncGF5ZXJQ
aG9uZScpIHsKLSAgICAgICAgLy8gfHBheWVyUGhvbmV8IG1heSBvcHRpb25hbGx5IGFkaGVyZSB0
byBFMTY0IHN0cnVjdHVyZSwgd2hpY2ggZG9lcyBub3QKLSAgICAgICAgLy8gY29udGFpbiBmb3Jt
YXR0aW5nLCBlLmcuICsxODAwMDAwMDAgaW5zdGVhZCBvZiArMS04MDAtMDAwLTAwMDAuCi0gICAg
ICAgIC8vIFN0cmlwIG91dCB0aGUgZm9ybWF0dGluZyBpbiBjYXNlIHRoZSB1c2VyIGFnZW50IGlt
cGxlbWVudHMgRTE2NC4KLSAgICAgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQt
cmVxdWVzdC8jYWRkcmVzc2luaXQtZGljdGlvbmFyeQotICAgICAgICB2YWx1ZSA9IHZhbHVlLnJl
cGxhY2UoL1stXChcKSBdL2csICcnKTsKLSAgICAgIH0KLSAgICAgIGFzc2VydF9lcXVhbHMocmVz
cG9uc2VbcHJvcF0sIHZhbHVlKTsKLSAgICB9Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUo
InN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci08L3Njcmlw
dD4KLTxoMj5IYW5kbGluZyBQYXltZW50UmVzcG9uc2UucHJvdG90eXBlLm9ucGF5ZXJkZXRhaWxj
aGFuZ2UgZXZlbnRzPC9oMj4KLTxwPgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQ
YXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotICBXaGVuIHNob3duIHRoZSBwYXltZW50IHNoZWV0
LCB1c2UgYW55IGRldGFpbHMgYW5kIGhpdCBwYXkuCi08L3A+Ci08cD4KLSAgV2hlbiBhc2tlZCB0
byByZXRyeSB0aGUgcGF5bWVudDoKLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxwPgotICAgICAg
Q2hhbmdlIHBheWVyJ3MgbmFtZSB0byAicGFzcyIuCi0gICAgPC9wPgotICAgIDxidXR0b24gb25j
bGljaz0icnVuVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllck5hbWU6IHRydWUgfSwgeyBwYXllck5h
bWU6ICdwYXNzJyB9KTsiPgotICAgICAgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCBpcyBkaXNw
YXRjaGVkIHdoZW4gcGF5ZXIgbmFtZSBjaGFuZ2VzLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPHA+Ci0gICAgICBDaGFuZ2UgcGF5ZXIncyBlbWFpbCB0byAicGFzc0BwYXNz
LnBhc3MiLgotICAgIDwvcD4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1blRlc3QodGhpcywge3Jl
cXVlc3RQYXllckVtYWlsOiB0cnVlfSwgeyBwYXllckVtYWlsOiAncGFzc0BwYXNzLnBhc3MnIH0p
OyI+Ci0gICAgICBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IGlzIGRpc3BhdGNoZWQgd2hlbiBw
YXllciBlbWFpbCBjaGFuZ2VzLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAg
PHA+Ci0gICAgICBDaGFuZ2UgcGF5ZXIncyBwaG9uZSB0byAiKzEtODAwLTAwMC0wMDAwIi4KLSAg
ICA8L3A+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5UZXN0KHRoaXMsIHtyZXF1ZXN0UGF5ZXJQ
aG9uZTogdHJ1ZX0sIHsgcGF5ZXJQaG9uZTogJysxODAwMDAwMDAwMCcgfSkiPgotICAgICAgUGF5
bWVudFJlcXVlc3RVcGRhdGVFdmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gcGF5ZXIgcGhvbmUgY2hh
bmdlcy4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGlj
az0iZG9uZSgpOyI+RE9ORSE8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElm
IHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRh
ZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+b3duZXJzPC9hPi4K
LTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyRW1haWwtYXR0
cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllckVtYWls
LWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjhjZTRjMjhhODVjNWJkYjc5ZjA4NDM4ZWRkMjA4NmZkNmIwOWMwOC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3Bh
eWVyRW1haWwtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NDggKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8j
ZG9tLXBheW1lbnRyZXNwb25zZS1wYXllcmVtYWlsIj4KLTx0aXRsZT4KLSAgUGF5bWVudFJlc3Bv
bnNlLnByb3RvdHlwZS5wYXllckVtYWlsIGF0dHJpYnV0ZQotPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxw
ZXJzLmpzIj48L3NjcmlwdD4KLTxoMj5wYXllckVtYWlsIGF0dHJpYnV0ZTwvaDI+Ci08cD4KLSAg
Q2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhv
dXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUg
UGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHJlcXVlc3RlZCwg
cGxlYXNlIHVzZSAid3B0QHczLm9yZyIgYXMgdGhlIGVtYWlsLgotPC9wPgotPG9sPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHVuZGVmaW5lZCwgeyBw
YXllckVtYWlsOiBudWxsIH0pIj4KLSAgICAgIHBheWVyRW1haWwgYXR0cmlidXRlIGlzIG51bGwg
d2hlbiBvcHRpb25zIHVuZGVmaW5lZC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgot
ICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllckVt
YWlsOiB1bmRlZmluZWQgfSwgeyBwYXllckVtYWlsOiBudWxsIH0pIj4KLSAgICAgIHBheWVyRW1h
aWwgYXR0cmlidXRlIGlzIG51bGwgd2hlbiByZXF1ZXN0UGF5ZXJFbWFpbCBpcyB1bmRlZmluZWQu
Ci0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1
bk1hbnVhbFRlc3QodGhpcywgeyByZXF1ZXN0UGF5ZXJFbWFpbDogZmFsc2UgfSwgeyBwYXllckVt
YWlsOiBudWxsIH0pIj4KLSAgICAgIHBheWVyRW1haWwgYXR0cmlidXRlIGlzIG51bGwgd2hlbiBy
ZXF1ZXN0UGF5ZXJFbWFpbCBpcyBmYWxzZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxp
PgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXll
ckVtYWlsOiB0cnVlIH0sIHsgcGF5ZXJFbWFpbDogJ3dwdEB3My5vcmcnIH0pIj4KLSAgICAgIHBh
eWVyRW1haWwgYXR0cmlidXRlIGlzICd3cHRAdzMub3JnJyB3aGVuIHJlcXVlc3RQYXllckVtYWls
IGlzIHRydWUuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9u
Y2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgeyByZXF1ZXN0UGF5ZXJFbWFpbDogJ3llcCcgfSwg
eyBwYXllckVtYWlsOiAnd3B0QHczLm9yZycgfSkudGhlbihkb25lKSI+Ci0gICAgICBwYXllckVt
YWlsIGF0dHJpYnV0ZSBpcyAnd3B0QHczLm9yZycgd2hlbiByZXF1ZXN0UGF5ZXJFbWFpbCBpcyB0
cnV0aHkuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3Ug
ZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2Vi
LXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25l
IG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdl
cnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJO
YW1lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5
ZXJOYW1lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDRkNzQxYWU0NWNiN2Y4ZjM0ZmExNTUwYjQ3YjQ5Y2YzZTBjNDUwYi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3Bv
bnNlL3BheWVyTmFtZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw0OCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgot
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1
ZXN0LyNkb20tcGF5bWVudHJlc3BvbnNlLXBheWVybmFtZSI+Ci08dGl0bGU+Ci0gIFBheW1lbnRS
ZXNwb25zZS5wcm90b3R5cGUucGF5ZXJOYW1lIGF0dHJpYnV0ZQotPC90aXRsZT4KLTxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJo
ZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxoMj5wYXllck5hbWUgYXR0cmlidXRlPC9oMj4KLTxwPgot
ICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0
aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRo
ZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gcmVxdWVzdGVk
LCBwbGVhc2UgdXNlICJ3ZWIgcGxhdGZvcm0gdGVzdCIgYXMgdGhlIHBheWVyIG5hbWUuCi08L3A+
Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywg
dW5kZWZpbmVkLCB7IHBheWVyTmFtZTogbnVsbCB9KSI+Ci0gICAgICBwYXllck5hbWUgYXR0cmli
dXRlIGlzIG51bGwgd2hlbiBvcHRpb24gaXMgdW5kZWZpbmVkLgotICAgIDwvYnV0dG9uPgotICA8
L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHsg
cmVxdWVzdFBheWVyTmFtZTogdW5kZWZpbmVkIH0sIHsgcGF5ZXJOYW1lOiBudWxsIH0pIj4KLSAg
ICAgIHBheWVyTmFtZSBhdHRyaWJ1dGUgaXMgbnVsbCB3aGVuIHJlcXVlc3RQYXllck5hbWUgaXMg
dW5kZWZpbmVkLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBv
bmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHsgcmVxdWVzdFBheWVyTmFtZTogZmFsc2UgfSwg
eyBwYXllck5hbWU6IG51bGwgfSkiPgotICAgICAgcGF5ZXJOYW1lIGF0dHJpYnV0ZSBpcyBudWxs
IHdoZW4gcmVxdWVzdFBheWVyTmFtZSBpcyBmYWxzZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4K
LSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7IHJlcXVl
c3RQYXllck5hbWU6IHRydWUgfSwgeyBwYXllck5hbWU6ICd3ZWIgcGxhdGZvcm0gdGVzdCcgfSki
PgotICAgICAgcGF5ZXJOYW1lIGF0dHJpYnV0ZSBpcyAnd2ViIHBsYXRmb3JtIHRlc3QnIHdoZW4g
cmVxdWVzdFBheWVyTmFtZSBpcyB0cnVlLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHsgcmVxdWVzdFBheWVy
TmFtZTogJ3llcCcgfSwgeyBwYXllck5hbWU6ICd3ZWIgcGxhdGZvcm0gdGVzdCcgfSkudGhlbihk
b25lKSI+Ci0gICAgICBwYXllck5hbWUgYXR0cmlidXRlIGlzICd3ZWIgcGxhdGZvcm0gdGVzdCcg
d2hlbiByZXF1ZXN0UGF5ZXJOYW1lIGlzIHRydXRoeS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4K
LTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhy
ZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+Zmls
ZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9N
RVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvcGF5bWVudC1yZXNwb25zZS9wYXllclBob25lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJQaG9uZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1YTQ0YTgxOWNkODU1NWUwMzI1
MjBmODg3Y2Y4OTUwOGJkYjk4YjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllclBob25lLWF0dHJpYnV0ZS1tYW51
YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhZG9jdHlwZSBo
dG1sPgotPG1ldGEgY2hhcnNldD0idXRmOCI+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI2RvbS1wYXltZW50cmVzcG9uc2UtcGF5
ZXJwaG9uZSI+Ci08dGl0bGU+Ci0gIFBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUucGF5ZXJQaG9u
ZSBhdHRyaWJ1dGUKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08aDI+
cGF5ZXJQaG9uZSBhdHRyaWJ1dGU8L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2ggYnV0dG9uIGlu
IHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2Uu
Ci0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5k
b3cuCi08L3A+Ci08cD4KLSAgV2hlbiBwcm9tcHRlZCwgcGxlYXNlIHVzZSArMTIzNDU2Nzg5MTAg
YXMgdGhlIHBob25lIG51bWJlci4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25j
bGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB1bmRlZmluZWQsIHsgcGF5ZXJQaG9uZTogbnVsbCB9
KSI+Ci0gICAgICBwYXllclBob25lIGF0dHJpYnV0ZSBpcyBudWxsIHdoZW4gb3B0aW9ucyBpcyB1
bmRlZmluZWQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9u
Y2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgeyByZXF1ZXN0UGF5ZXJQaG9uZTogdW5kZWZpbmVk
IH0sIHsgcGF5ZXJQaG9uZTogbnVsbCB9KSI+Ci0gICAgICBwYXllclBob25lIGF0dHJpYnV0ZSBp
cyBudWxsIHdoZW4gcmVxdWVzdFBheWVyUGhvbmUgaXMgdW5kZWZpbmVkLgotICAgIDwvYnV0dG9u
PgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRo
aXMsIHsgcmVxdWVzdFBheWVyUGhvbmU6IGZhbHNlIH0sIHsgcGF5ZXJQaG9uZTogbnVsbCB9KSI+
Ci0gICAgICBwYXllclBob25lIGF0dHJpYnV0ZSBpcyBudWxsIHdoZW4gcmVxdWVzdFBheWVyUGhv
bmUgaXMgZmFsc2UuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9u
IG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgeyByZXF1ZXN0UGF5ZXJQaG9uZTogdHJ1ZSB9
LCB7IHBheWVyUGhvbmU6ICcrMTIzNDU2Nzg5MTAnIH0pIj4KLSAgICAgIHBheWVyUGhvbmUgYXR0
cmlidXRlIGlzICcrMTIzNDU2Nzg5MTAnIHdoZW4gcmVxdWVzdFBheWVyUGhvbmUgaXMgdHJ1ZS4K
LSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVu
TWFudWFsVGVzdCh0aGlzLCB7IHJlcXVlc3RQYXllclBob25lOiAneWVwJyB9LCB7IHBheWVyUGhv
bmU6ICcrMTIzNDU2Nzg5MTAnIH0pLnRoZW4oZG9uZSkiPgotICAgICAgcGF5ZXJQaG9uZSBhdHRy
aWJ1dGUgaXMgJysxMjM0NTY3ODkxMCcgd2hlbiByZXF1ZXN0UGF5ZXJQaG9uZSBpcyB0cnV0aHku
Ci0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBh
IGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRo
ZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9i
L21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+
LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJkZXRhaWxz
Y2hhbmdlLXVwZGF0ZVdpdGgtaW1tZWRpYXRlLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9wYXltZW50LXJlc3BvbnNlL3BheWVyZGV0YWlsc2NoYW5nZS11cGRhdGVXaXRoLWltbWVkaWF0
ZS1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyMGEyMzY2MDc3YzliYTkzMDNjNTcyMjk0ZDhhYTRjNmVmYWJjY2RjLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5
ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdpdGgtaW1tZWRpYXRlLW1hbnVhbC5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi1IYW5kbGluZyBQYXltZW50UmVz
cG9uc2UucHJvdG90eXBlLm9ucGF5ZXJkZXRhaWxjaGFuZ2UgZXZlbnRzCi0KLVRoZSB0ZXN0IGJy
aW5ncyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4gV2hlbiBzaG93biB0aGUgcGF5
bWVudCBzaGVldCwgdXNlIGFueSBkZXRhaWxzIGFuZCBoaXQgcGF5LgotCi1XaGVuIGFza2VkIHRv
IHJldHJ5IHRoZSBwYXltZW50OgotCi1DaGFuZ2UgcGF5ZXIncyBuYW1lIHRvIGFueXRoaW5nLgot
Ci11cGRhdGVXaXRoKCkgbXVzdCBiZSBjYWxsZWQgaW1tZWRpYXRlbHksIG90aGVyd2lzZSBtdXN0
IHRocm93IGFuIEludmFsaWRTdGF0ZUVycm9yLgotRE9ORSEKLUlmIHlvdSBmaW5kIGEgYnVnZ3kg
dGVzdCwgcGxlYXNlIGZpbGUgYSBidWcgYW5kIHRhZyBvbmUgb2YgdGhlIG93bmVycy4KLQotSGFy
bmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVBBU1MgQ2FuIGNvbnN0cnVj
dCBhIHBheW1lbnQgcmVxdWVzdCAoc21va2UgdGVzdCkuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVzcG9uc2UvcGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdpdGgtaW1tZWRpYXRlLW1hbnVh
bC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBk
YXRlV2l0aC1pbW1lZGlhdGUtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDdlMzVkNzg3MDA2ZWJiNTU0YzMwNWFiYzM4YTQyN2E0MTM1Njc2ZjIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNw
b25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1pbW1lZGlhdGUtbWFudWFsLmh0dHBz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxt
ZXRhIGNoYXJzZXQ9dXRmLTg+Ci08dGl0bGU+RGlzcGF0Y2hpbmcgUGF5bWVudFJlcXVlc3RVcGRh
dGVFdmVudCBmb3IgInBheWVyZGV0YWlsc2NoYW5nZSI8L3RpdGxlPgotPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaGVscGVycy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdGVzdEltbWVkaWF0ZVVwZGF0ZSh7IHRleHRD
b250ZW50OiB0ZXN0TmFtZSB9KSB7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBj
b25zdCByZXNwb25zZSA9IGF3YWl0IGdldFBheW1lbnRSZXNwb25zZSh7IHJlcXVlc3RQYXllck5h
bWU6IHRydWUgfSk7Ci0gICAgY29uc3QgZXZlbnRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4gewotICAgICAgcmVzcG9uc2UuYWRkRXZlbnRMaXN0ZW5lcigKLSAgICAg
ICAgInBheWVyZGV0YWlsY2hhbmdlIiwKLSAgICAgICAgZXYgPT4gewotICAgICAgICAgIC8vIEZv
cmNlcyB1cGRhdGVXaXRoKCkgdG8gYmUgcnVuIGluIHRoZSBuZXh0IGV2ZW50IGxvb3AgdGljayBz
byB0aGF0Ci0gICAgICAgICAgLy8gW1t3YWl0Rm9yVXBkYXRlXV0gaXMgYWxyZWFkeSB0cnVlIHdo
ZW4gaXQgcnVucy4KLSAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAg
ICB0cnkgewotICAgICAgICAgICAgICBldi51cGRhdGVXaXRoKHt9KTsKLSAgICAgICAgICAgICAg
cmVzb2x2ZSgpOyAvLyBUaGlzIGlzIGJhZC4KLSAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgewot
ICAgICAgICAgICAgICByZWplY3QoZXJyKTsgLy8gdGhpcyBpcyBnb29kLgotICAgICAgICAgICAg
fQotICAgICAgICAgIH0pOwotICAgICAgICB9LAotICAgICAgICB7IG9uY2U6IHRydWUgfQotICAg
ICAgKTsKLSAgICB9KTsKLQotICAgIGNvbnN0IHJldHJ5UHJvbWlzZSA9IHJlc3BvbnNlLnJldHJ5
KHsKLSAgICAgIHBheWVyOiB7IG5hbWU6ICJDaGFuZ2UgbWUhIiB9LAotICAgIH0pOwotICAgIGF3
YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAgICAgIkludmFsaWRTdGF0ZUVy
cm9yIiwKLSAgICAgIGV2ZW50UHJvbWlzZSwKLSAgICAgICJUaGUgZXZlbnQgbG9vcCBhbHJlYWR5
IHNwdW4sIHNvIFtbd2FpdEZvclVwZGF0ZV1dIGlzIG5vdyB0cnVlIgotICAgICk7Ci0gICAgYXdh
aXQgcmV0cnlQcm9taXNlOwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7
Ci0gIH0sIHRlc3ROYW1lLnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj5IYW5kbGluZyBQYXlt
ZW50UmVzcG9uc2UucHJvdG90eXBlLm9ucGF5ZXJkZXRhaWxjaGFuZ2UgZXZlbnRzPC9oMj4KLTxw
PgotICBUaGUgdGVzdCBicmluZ3MgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi0g
IFdoZW4gc2hvd24gdGhlIHBheW1lbnQgc2hlZXQsIHVzZSBhbnkgZGV0YWlscyBhbmQgaGl0IHBh
eS4KLTwvcD4KLTxwPgotICBXaGVuIGFza2VkIHRvIHJldHJ5IHRoZSBwYXltZW50OgotPC9wPgot
PG9sPgotICA8bGk+Ci0gICAgPHA+Ci0gICAgICBDaGFuZ2UgcGF5ZXIncyBuYW1lIHRvIGFueXRo
aW5nLgotICAgIDwvcD4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RJbW1lZGlhdGVVcGRhdGUo
dGhpcyk7Ij4KLSAgICAgIHVwZGF0ZVdpdGgoKSBtdXN0IGJlIGNhbGxlZCBpbW1lZGlhdGVseSwg
b3RoZXJ3aXNlIG11c3QgdGhyb3cgYW4gSW52YWxpZFN0YXRlRXJyb3IuCi0gICAgPC9idXR0b24+
Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImRvbmUoKTsiPkRPTkUhPC9i
dXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRl
c3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3Rz
L3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVm
PSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9w
YXltZW50LXJlcXVlc3QvTUVUQS55bWwiPm93bmVyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1tYW51
YWwuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNj
aGFuZ2UtdXBkYXRlV2l0aC1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyMjZmYmRmNzYxMjM5Y2Q4MzkzMzJmOGE2ZjYxZWFkY2EwNDJjNmNm
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVzcG9uc2UvcGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdpdGgtbWFudWFsLmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLUhhbmRsaW5nIFBheW1l
bnRSZXNwb25zZS5wcm90b3R5cGUub25wYXllcmRldGFpbGNoYW5nZSBldmVudHMKLQotVGhlIHRl
c3QgYnJpbmdzIHVwIHRoZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LiBXaGVuIHNob3duIHRo
ZSBwYXltZW50IHNoZWV0LCB1c2UgYW55IGRldGFpbHMgYW5kIGhpdCBwYXkuCi0KLVdoZW4gYXNr
ZWQgdG8gcmV0cnkgdGhlIHBheW1lbnQ6Ci0KLUNoYW5nZSBwYXllcidzIG5hbWUgdG8gYW55dGhp
bmcuCi0KLUNhbGxpbmcgUGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudCB1cGRhdGVXaXRoKCkgdHdp
Y2UgdGhyb3dzIGFuICJJbnZhbGlkU3RhdGVFcnJvciIuCi1ET05FIQotSWYgeW91IGZpbmQgYSBi
dWdneSB0ZXN0LCBwbGVhc2UgZmlsZSBhIGJ1ZyBhbmQgdGFnIG9uZSBvZiB0aGUgb3duZXJzLgot
Ci1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotUEFTUyBDYW4gY29u
c3RydWN0IGEgcGF5bWVudCByZXF1ZXN0IChzbW9rZSB0ZXN0KS4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
cGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNjaGFuZ2UtdXBkYXRlV2l0aC1tYW51YWwuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdp
dGgtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhNzM0
MjM2NWQ2NDRmNjQ3MGVhMmNlMjVmZTg1Y2ZmYWU2NDc5NDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFp
bHNjaGFuZ2UtdXBkYXRlV2l0aC1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDU2ICswLDAgQEAKLTwhZG9jdHlwZSBodG1sPgotPG1ldGEgY2hhcnNldD11dGYtOD4KLTx0aXRs
ZT5EaXNwYXRjaGluZyBQYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50IGZvciAicGF5ZXJkZXRhaWxz
Y2hhbmdlIjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiBydW5UZXN0KGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRQYXlt
ZW50UmVzcG9uc2UoeyByZXF1ZXN0UGF5ZXJOYW1lOiB0cnVlIH0pOwotICAgIGNvbnN0IGV2ZW50
UHJvbWlzZSA9IG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHsKLSAgICAgIHJlc3BvbnNlLmFk
ZEV2ZW50TGlzdGVuZXIoInBheWVyZGV0YWlsY2hhbmdlIiwgZXYgPT4gewotICAgICAgICAvLyBb
W3dhaXRGb3JVcGRhdGVdXSBiZWNvbWVzIHRydWUuLi4KLSAgICAgICAgZXYudXBkYXRlV2l0aCh7
fSk7Ci0gICAgICAgIC8vIFNvIGNhbGxpbmcgaXQgYWdhaW4gdGhyb3dzICJJbnZhbGlkU3RhdGVF
cnJvciIuCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgZXYudXBkYXRlV2l0aCh7fSk7Ci0gICAg
ICAgIH0gY2F0Y2ggKGVycikgewotICAgICAgICAgIHJlamVjdChlcnIpOwotICAgICAgICB9Ci0g
ICAgICB9KTsKLSAgICB9KTsKLSAgICBhd2FpdCByZXNwb25zZS5yZXRyeSh7Ci0gICAgICBwYXll
cjogeyBuYW1lOiAiQ2hhbmdlIG1lISIgfSwKLSAgICB9KTsKLSAgICBhd2FpdCBwcm9taXNlX3Jl
amVjdHNfZG9tKHQsICJJbnZhbGlkU3RhdGVFcnJvciIsIGV2ZW50UHJvbWlzZSk7Ci0gICAgYXdh
aXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50
LnRyaW0oKSk7Ci19Ci08L3NjcmlwdD4KLTxoMj5IYW5kbGluZyBQYXltZW50UmVzcG9uc2UucHJv
dG90eXBlLm9ucGF5ZXJkZXRhaWxjaGFuZ2UgZXZlbnRzPC9oMj4KLTxwPgotICBUaGUgdGVzdCBi
cmluZ3MgdXAgdGhlIFBheW1lbnQgUmVxdWVzdCBVSSB3aW5kb3cuCi0gIFdoZW4gc2hvd24gdGhl
IHBheW1lbnQgc2hlZXQsIHVzZSBhbnkgZGV0YWlscyBhbmQgaGl0IHBheS4KLTwvcD4KLTxwPgot
ICBXaGVuIGFza2VkIHRvIHJldHJ5IHRoZSBwYXltZW50OgotPC9wPgotPG9sPgotICA8bGk+Ci0g
ICAgPHA+Ci0gICAgICBDaGFuZ2UgcGF5ZXIncyBuYW1lIHRvIGFueXRoaW5nLgotICAgIDwvcD4K
LSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1blRlc3QodGhpcyk7Ij4KLSAgICAgIENhbGxpbmcgUGF5
bWVudFJlcXVlc3RVcGRhdGVFdmVudCB1cGRhdGVXaXRoKCkgdHdpY2UgdGhyb3dzIGFuICJJbnZh
bGlkU3RhdGVFcnJvciIuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0
dG9uIG9uY2xpY2s9ImRvbmUoKTsiPkRPTkUhPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNt
YWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+
Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPm93
bmVyczwvYT4uCi08L3NtYWxsPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZWpl
Y3RzX2lmX25vdF9hY3RpdmUtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNl
L3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMjhiYjUzMzEzZGNlOTI2NjQ1M2I4OWYzYmQ5OGQ3YzAxY2I5ZWE2OC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50
LXJlc3BvbnNlL3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDE2MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9
dXRmLTg+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXlt
ZW50LXJlcXVlc3QvI3JldHJ5LW1ldGhvZCI+Ci08dGl0bGU+UGF5bWVudFJlc3BvbnNlIHJldHJ5
KCkgcmVqZWN0cyBpZiBkb2MgaXMgbm90IGZ1bGx5IGFjdGl2ZTwvdGl0bGU+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVlc3QvI2RvbS1wYXltZW50
cmVzcG9uc2UtcmV0cnkiPgotPGJvZHk+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25l
OiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgdmFsaWRNZXRob2QgPSBP
YmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotfSk7Ci1j
b25zdCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0
cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwKLSAgZGF0YTogewotICAgIHZlcnNpb246IDMsCi0g
ICAgbWVyY2hhbnRJZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgIGNvdW50
cnlDb2RlOiAiVVMiLAotICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0s
Ci0gICAgc3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAotICB9Ci19KTsKLWNvbnN0IHZhbGlk
TWV0aG9kcyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkTWV0aG9kLCBhcHBsZVBheV0pOwotY29uc3Qg
dmFsaWRBbW91bnQgPSBPYmplY3QuZnJlZXplKHsKLSAgY3VycmVuY3k6ICJVU0QiLAotICB2YWx1
ZTogIjUuMDAiLAotfSk7Ci1jb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGxh
YmVsOiAiVG90YWwgZHVlIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLX0pOwotY29uc3QgdmFs
aWREZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB2YWxpZFRvdGFsLAotfSk7Ci0K
LWZ1bmN0aW9uIGdldExvYWRlZFBheW1lbnRSZXNwb25zZShpZnJhbWUsIHVybCkgewotICByZXR1
cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIo
Ci0gICAgICAibG9hZCIsCi0gICAgICBhc3luYyAoKSA9PiB7Ci0gICAgICAgIGNvbnN0IHsgUGF5
bWVudFJlcXVlc3QgfSA9IGlmcmFtZS5jb250ZW50V2luZG93OwotICAgICAgICBjb25zdCByZXNw
b25zZSA9IGF3YWl0IG5ldyBQYXltZW50UmVxdWVzdCgKLSAgICAgICAgICB2YWxpZE1ldGhvZHMs
Ci0gICAgICAgICAgdmFsaWREZXRhaWxzCi0gICAgICAgICkuc2hvdygpOwotICAgICAgICByZXNv
bHZlKHJlc3BvbnNlKTsKLSAgICAgIH0sCi0gICAgICB7IG9uY2U6IHRydWUgfQotICAgICk7Ci0g
ICAgaWZyYW1lLnNyYyA9IHVybDsKLSAgfSk7Ci19Ci0KLWZ1bmN0aW9uIG1ldGhvZE5vdEZ1bGx5
QWN0aXZlKGJ1dHRvbiwgbWV0aG9kLCAuLi5hcmdzKSB7Ci0gIGNvbnN0IHRleHQgPSBidXR0b24u
dGV4dENvbnRlbnQudHJpbSgpOwotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29u
c3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1l
LmFsbG93UGF5bWVudFJlcXVlc3QgPSB0cnVlOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaWZyYW1lKTsKLQotICAgIC8vIFdlIGZpcnN0IGdvdCB0byBwYWdlMS5odG1sLCBncmFiIGEg
UGF5bWVudFJlc3BvbnNlIGluc3RhbmNlLgotICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0
TG9hZGVkUGF5bWVudFJlc3BvbnNlKAotICAgICAgaWZyYW1lLAotICAgICAgIi9wYXltZW50LXJl
cXVlc3QvcmVzb3VyY2VzL3BhZ2UxLmh0bWwiCi0gICAgKTsKLSAgICAvLyBXZSBuYXZpZ2F0ZSB0
aGUgaWZyYW1lIGFnYWluLCBwdXR0aW5nIHJlc3BvbnNlJ3MgZG9jdW1lbnQgaW50byBhbiBpbmFj
dGl2ZSBzdGF0ZS4KLSAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIGlm
cmFtZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcmVzb2x2ZSk7Ci0gICAgICBpZnJhbWUuc3Jj
ID0gIi9wYXltZW50LXJlcXVlc3QvcmVzb3VyY2VzL3BhZ2UyLmh0bWwiOwotICAgIH0pOwotICAg
IC8vIE5vdywgcmVzcG9uc2UncyByZWxldmFudCBnbG9iYWwgb2JqZWN0J3MgZG9jdW1lbnQgaXMg
bm8gbG9uZ2VyIGFjdGl2ZS4KLSAgICAvLyBTbywgcHJvbWlzZSBuZWVkcyB0byByZWplY3QgYXBw
cm9wcmlhdGVseS4KLSAgICBjb25zdCBwcm9taXNlID0gcmVzcG9uc2VbbWV0aG9kTmFtZV0oLi4u
YXJncyk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAi
QWJvcnRFcnJvciIsCi0gICAgICBwcm9taXNlLAotICAgICAgIkluYWN0aXZlIGRvY3VtZW50LCBz
byBtdXN0IHRocm93IEFib3J0RXJyb3IiCi0gICAgKTsKLSAgICAvLyBXZSBhcmUgZG9uZSwgc28g
Y2xlYW4gdXAuCi0gICAgaWZyYW1lLnJlbW92ZSgpOwotICB9LCB0ZXh0KTsKLX0KLQotZnVuY3Rp
b24gbWV0aG9kQmVjb21lc05vdEZ1bGx5QWN0aXZlKGJ1dHRvbiwgbWV0aG9kTmFtZSwgLi4uYXJn
cykgewotICBjb25zdCB0ZXh0ID0gYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKTsKLSAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOwotICAgIGlmcmFtZS5hbGxvd1BheW1lbnRSZXF1ZXN0ID0gdHJ1ZTsK
LSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7Ci0KLSAgICAvLyBXZSBmaXJz
dCBnb3QgdG8gcGFnZTEuaHRtbCwgZ3JhYiBhIFBheW1lbnRSZXNwb25zZSBpbnN0YW5jZS4KLSAg
ICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldExvYWRlZFBheW1lbnRSZXNwb25zZSgKLSAgICAg
IGlmcmFtZSwKLSAgICAgICIvcGF5bWVudC1yZXF1ZXN0L3Jlc291cmNlcy9wYWdlMS5odG1sIgot
ICAgICk7Ci0KLSAgICAvLyB3ZSBnZXQgdGhlIHByb21pc2UgZnJvbSBwYWdlMS5odG1sLCB3aGls
ZSBpdCdzIGFjdGl2ZSEKLSAgICBjb25zdCBwcm9taXNlID0gcmVzcG9uc2VbbWV0aG9kTmFtZV0o
Li4uYXJncyk7Ci0KLSAgICAvLyBXZSBuYXZpZ2F0ZSB0aGUgaWZyYW1lIGFnYWluLCBwdXR0aW5n
IHJlc3BvbnNlJ3MgZG9jdW1lbnQgaW50byBhbiBpbmFjdGl2ZSBzdGF0ZS4KLSAgICBhd2FpdCBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgcmVzb2x2ZSk7Ci0gICAgICBpZnJhbWUuc3JjID0gIi9wYXltZW50LXJlcXVlc3QvcmVz
b3VyY2VzL3BhZ2UyLmh0bWwiOwotICAgIH0pOwotCi0gICAgLy8gTm93LCByZXNwb25zZSdzIHJl
bGV2YW50IGdsb2JhbCBvYmplY3QncyBkb2N1bWVudCBpcyBubyBsb25nZXIgYWN0aXZlLgotICAg
IC8vIFNvLCBwcm9taXNlIG5lZWRzIHRvIHJlamVjdCBhcHByb3ByaWF0ZWx5LgotICAgIGF3YWl0
IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICB0LAotICAgICAgIkFib3J0RXJyb3IiLAotICAg
ICAgcHJvbWlzZSwKLSAgICAgICJJbmFjdGl2ZSBkb2N1bWVudCwgc28gbXVzdCB0aHJvdyBBYm9y
dEVycm9yIgotICAgICk7Ci0gICAgLy8gV2UgYXJlIGRvbmUsIHNvIGNsZWFuIHVwLgotICAgIGlm
cmFtZS5yZW1vdmUoKTsKLSAgfSwgdGV4dCk7Ci19Ci08L3NjcmlwdD4KLTxzZWN0aW9uPgotICA8
cD4KLSAgICBGb3IgZWFjaCB0ZXN0LCB3aGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCBz
ZWxlY3QgYSBwYXltZW50IG1ldGhvZCBhbmQgaGl0ICJQYXkiLgotICA8L3A+Ci0gIDxoMj5yZXRy
eSgpIGFuZCBkb2N1bWVudCBhY3RpdmUgc3RhdGU8L2gyPgotICA8cD5NYW51YWwgVGVzdHMgZm9y
IFBheW1lbnRSZXNwb25zZS5yZXRyeSgpIC0gUGxlYXNlIHJ1biBpbiBvcmRlciE8L3A+Ci0gIDxv
bD4KLSAgICA8bGk+Ci0gICAgICA8YnV0dG9uIG9uY2xpY2s9Im1ldGhvZE5vdEZ1bGx5QWN0aXZl
KHRoaXMsICdyZXRyeScsIHt9KTsiPgotICAgICAgICByZXRyeSgpJ3MgcmV0cnlQcm9taXNlIHJl
amVjdHMgaWYgZG9jdW1lbnQgaXMgbm90IGZ1bGx5IGFjdGl2ZS4KLSAgICAgIDwvYnV0dG9uPgot
ICAgIDwvbGk+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJtZXRob2RCZWNvbWVz
Tm90RnVsbHlBY3RpdmUodGhpcywgJ3JldHJ5Jywge30pOyI+Ci0gICAgICAgIHJldHJ5KCkncyBy
ZXRyeVByb21pc2UgcmVqZWN0cyBpZiB0aGUgZG9jdW1lbnQgYmVjb21lcyBub3QgZnVsbHkgYWN0
aXZlLgotICAgICAgPC9idXR0b24+Ci0gICAgPC9saT4KLSAgPC9vbD4KLSAgPGgyPmNvbXBsZXRl
KCkgYW5kIGRvY3VtZW50IGFjdGl2ZSBzdGF0ZTwvaDI+Ci0gIDxwPk1hbnVhbCBUZXN0cyBmb3Ig
UGF5bWVudFJlc3BvbnNlLmNvbXBsZXRlKCkgLSBQbGVhc2UgcnVuIGluIG9yZGVyITwvcD4KLSAg
PG9sPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0ibWV0aG9kTm90RnVsbHlBY3Rp
dmUodGhpcywgJ2NvbXBsZXRlJywgJ3N1Y2Nlc3MnKTsiPgotICAgICAgICBjb21wbGV0ZSgpJ3Mg
Y29tcGxldGVQcm9taXNlIHJlamVjdHMgaWYgZG9jdW1lbnQgaXMgbm90IGZ1bGx5IGFjdGl2ZS4K
LSAgICAgIDwvYnV0dG9uPgotICAgIDwvbGk+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNs
aWNrPSJtZXRob2RCZWNvbWVzTm90RnVsbHlBY3RpdmUodGhpcywgJ2NvbXBsZXRlJywgJ3N1Y2Nl
c3MnKTsiPgotICAgICAgICBjb21wbGV0ZSgpJ3MgY29tcGxldGVQcm9taXNlIHJlamVjdHMgaWYg
dGhlIGRvY3VtZW50IGJlY29tZXMgbm90IGZ1bGx5IGFjdGl2ZS4KLSAgICAgIDwvYnV0dG9uPgot
ICAgIDwvbGk+Ci0gICAgPGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCk7Ij5Eb25l
PC9idXR0b24+Ci0gICAgPC9saT4KLSAgPC9vbD4KLTwvc2VjdGlvbj4KLTxzbWFsbD4KLSAgSWYg
eW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFn
IG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0
cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2
aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3Jl
cXVlc3RJZC1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNl
L3JlcXVlc3RJZC1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGRkYjFlMGQ4MzFkYWM2NWNkMmY1ZGM2NGM3MjE4YTQ1YjJlMTU0YTguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS9yZXF1ZXN0SWQtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzQgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQt
cmVxdWVzdC8jZG9tLXBheW1lbnRyZXNwb25zZS1yZXF1ZXN0aWQiPgotPHRpdGxlPgotICBQYXlt
ZW50UmVzcG9uc2UucHJvdG90eXBlLnJlcXVlc3RJZCBhdHRyaWJ1dGUKLTwvdGl0bGU+Ci08c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iaGVscGVycy5qcyI+PC9zY3JpcHQ+Ci08aDI+cmVxdWVzdElkIGF0dHJpYnV0ZTwvaDI+Ci08
cD4KLSAgQ2xpY2sgb24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9t
IHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1
cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByZXNl
bnRlZCB3aXRoIHRoZSBwYXltZW50IHNoZWV0LCB1c2UgYW55IGNyZWRpdCBjYXJkIHNlbGVjdCB0
byAiUGF5Ii4KLSAgQWxzbyBjb25maXJtIGFueSBwcm9tcHRzIHRoYXQgY29tZSB1cC4KLTwvcD4K
LTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFsVGVzdCh0aGlzLCB7
fSwge30pIj4KLSAgICAgIE11c3QgbWlycm9yIHRoZSBwYXltZW50IHJlcXVlc3QncyBhdXRvbWF0
aWNhbGx5IHNldCBpZAotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRv
biBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHt9LCB7cmVxdWVzdElkOiAncGFzcyd9LCAn
cGFzcycpLnRoZW4oZG9uZSkiPgotICAgICAgTXVzdCBtaXJyb3IgdGhlIHBheW1lbnQgcmVxdWVz
dCdzIGV4cGxpY2l0bHkgc2V0IGlkCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08L29sPgotPHNt
YWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVmPSJodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUgYSBidWc8L2E+
Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBs
YXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVUQS55bWwiPnN1
Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVzcG9uc2UvcmV0cnktbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNw
b25zZS9yZXRyeS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGE1YWFiNDllMzg3ZDMyNmM2OGJjY2EzMmQyYWQ1ZmU1OTM4NWY1MTcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNw
b25zZS9yZXRyeS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwy
OTYgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8j
ZG9tLXBheW1lbnRyZXNwb25zZS1yZXRyeSI+Ci08dGl0bGU+Ci0gIFBheW1lbnRSZXNwb25zZS5w
cm90b3R5cGUucmV0cnkoKSBtZXRob2QKLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaGVscGVycy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0PgotdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90cnVlKAotICAgICJyZXRy
eSIgaW4gUGF5bWVudFJlc3BvbnNlLnByb3RvdHlwZSwKLSAgICAicmV0cnkgbXVzdCBiZSBpbiBw
cm90b3R5cGUiCi0gICk7Ci0gIGFzc2VydF90cnVlKAotICAgIFBheW1lbnRSZXNwb25zZS5wcm90
b3R5cGUucmV0cnkgaW5zdGFuY2VvZiBGdW5jdGlvbiwKLSAgICAicmV0cnkgbXVzdCBiZSBhIGZ1
bmN0aW9uIgotICApOwotfSwgIlBheW1lbnRSZXNwb25zZS5wcm90b3R5cGUgbXVzdCBoYXZlIGEg
cmV0cnkoKSBmdW5jdGlvbiAoc21va2UgdGVzdCkuIik7Ci0KLWZ1bmN0aW9uIGNoZWNrQ29tcGxl
dGVkQ2FudFJldHJ5KGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgeyByZXNwb25zZSB9ID0gYXdhaXQgZ2V0
UGF5bWVudFJlcXVlc3RSZXNwb25zZSgpOwotICAgIC8vIHNldHMgcmVzcG9uc2UuW1tjb21wbGV0
ZV1dIHRvIHRydWUuCi0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAg
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0
YXRlRXJyb3IiLAotICAgICAgcmVzcG9uc2UucmV0cnkoKSwKLSAgICAgICJyZXNwb25zZS5bW2Nv
bXBsZXRlXV0gaXMgdHJ1ZSwgc28gcmVqZWN0cyB3aXRoIEludmFsaWRTdGF0ZUVycm9yLiIKLSAg
ICApOwotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLQotZnVuY3Rpb24gcmVw
ZWF0ZWRDYWxsc1RvUmV0cnkoYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0g
IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSBhd2Fp
dCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKCk7Ci0gICAgY29uc3QgcmV0cnlQcm9taXNlID0g
cmVzcG9uc2UucmV0cnkoKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAg
dCwKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICByZXNwb25zZS5yZXRyeSgpLAot
ICAgICAgIkNhbGxpbmcgcmV0cnkoKSBhZ2FpbiByZWplY3RzIHdpdGggYW4gSW52YWxpZFN0YXRl
RXJyb3IiCi0gICAgKTsKLSAgICBhd2FpdCByZXRyeVByb21pc2U7Ci0gICAgYXdhaXQgcmVzcG9u
c2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7
Ci19Ci0KLWZ1bmN0aW9uIGNhbGxDb21wbGV0ZVdoaWxlUmV0cnlpbmcoYnV0dG9uKSB7Ci0gIGJ1
dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBj
b25zdCB7IHJlc3BvbnNlIH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKCk7Ci0g
ICAgY29uc3QgcmV0cnlQcm9taXNlID0gcmVzcG9uc2UucmV0cnkoKTsKLSAgICBjb25zdCBjb21w
bGV0ZVByb21pc2UxID0gcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgICBjb25zdCBj
b21wbGV0ZVByb21pc2UyID0gcmVzcG9uc2UuY29tcGxldGUoImZhaWwiKTsKLSAgICBhc3NlcnRf
bm90X2VxdWFscygKLSAgICAgIGNvbXBsZXRlUHJvbWlzZTEsCi0gICAgICBjb21wbGV0ZVByb21p
c2UyLAotICAgICAgImNvbXBsZXRlKCkgbXVzdCByZXR1cm4gdW5pcXVlIHByb21pc2VzIgotICAg
ICk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52
YWxpZFN0YXRlRXJyb3IiLAotICAgICAgY29tcGxldGVQcm9taXNlMSwKLSAgICAgICJDYWxsaW5n
IGNvbXBsZXRlKCkgd2hpbGUgcmV0cnlpbmcgcmVqZWN0cyB3aXRoIGFuIEludmFsaWRTdGF0ZUVy
cm9yIgotICAgICk7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0g
ICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAgICAgY29tcGxldGVQcm9taXNlMiwKLSAgICAg
ICJDYWxsaW5nIGNvbXBsZXRlKCkgd2hpbGUgcmV0cnlpbmcgcmVqZWN0cyB3aXRoIGFuIEludmFs
aWRTdGF0ZUVycm9yIgotICAgICk7Ci0gICAgYXNzZXJ0X25vdF9lcXVhbHMoCi0gICAgICBjb21w
bGV0ZVByb21pc2UxLAotICAgICAgY29tcGxldGVQcm9taXNlMiwKLSAgICAgICJjb21wbGV0ZSgp
IG11c3QgcmV0dXJuIHVuaXF1ZSBwcm9taXNlcyIKLSAgICApOwotICAgIGF3YWl0IHJldHJ5UHJv
bWlzZTsKLSAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOwotICB9LCBidXR0
b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0KLQotZnVuY3Rpb24gY2FsbGluZ1JlcXVlc3RBYm9y
dE11c3ROb3RBYm9ydChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHsgcmVzcG9uc2UsIHJlcXVlc3QgfSA9
IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2UoKTsKLSAgICBjb25zdCByZXRyeVByb21p
c2UgPSByZXNwb25zZS5yZXRyeSgpOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0g
ICAgICB0LAotICAgICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIHJlcXVlc3QuYWJvcnQo
KSwKLSAgICAgICJDYWxsaW5nIHJlcXVlc3QuYWJvcnQoKSB3aGlsZSByZXRyeWluZyByZWplY3Rz
IHdpdGggYW4gSW52YWxpZFN0YXRlRXJyb3IiCi0gICAgKTsKLSAgICBhd2FpdCByZXRyeVByb21p
c2U7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKLSAgfSwgYnV0dG9u
LnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIGNhblJldHJ5TXVsdGlwbGVUaW1l
cyhidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4gewotICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1
ZXN0UmVzcG9uc2UoKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgYXdhaXQgcmVzcG9uc2Uu
cmV0cnkoKSwKLSAgICAgIHVuZGVmaW5lZCwKLSAgICAgICJFeHBlY3RlZCB1bmRlZmluZWQgYXMg
dGhlIHJlc29sdmUgdmFsdWUiCi0gICAgKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgYXdh
aXQgcmVzcG9uc2UucmV0cnkoKSwKLSAgICAgIHVuZGVmaW5lZCwKLSAgICAgICJFeHBlY3RlZCB1
bmRlZmluZWQgYXMgdGhlIHJlc29sdmUgdmFsdWUiCi0gICAgKTsKLSAgICBhd2FpdCByZXNwb25z
ZS5jb21wbGV0ZSgic3VjY2VzcyIpOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0g
ICAgICB0LAotICAgICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIHJlc3BvbnNlLnJldHJ5
KCksCi0gICAgICAiQ2FsbGluZyByZXRyeSgpIGFmdGVyIGNvbXBsZXRlKCkgcmVqZWN0cyB3aXRo
IGEgSW52YWxpZFN0YXRlRXJyb3IiCi0gICAgKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRy
aW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIHVzZXJDYW5BYm9ydEFSZXRyeShidXR0b24pIHsKLSAgYnV0
dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNv
bnN0IHsgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2UoKTsKLSAg
ICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJBYm9ydEVycm9y
IiwKLSAgICAgIHJlc3BvbnNlLnJldHJ5KCksCi0gICAgICAiVGhlIHVzZXIgYWJvcnRpbmcgYSBy
ZXRyeSByZWplY3RzIHdpdGggYSBBYm9ydEVycm9yIgotICAgICk7Ci0gICAgYXdhaXQgcHJvbWlz
ZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0gICAgICAiSW52YWxpZFN0YXRlRXJyb3IiLAotICAg
ICAgcmVzcG9uc2UucmV0cnkoKSwKLSAgICAgICJBZnRlciB0aGUgdXNlciBhYm9ydHMsIHJlc3Bv
bnNlIFtbY29tcGxldGVdXSBpcyB0cnVlIHNvIHJldHJ5KCkgbXVzdCByZWplY3Qgd2l0aCBJbnZh
bGlkU3RhdGVFcnJvciIKLSAgICApOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0g
ICAgICB0LAotICAgICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIHJlc3BvbnNlLmNvbXBs
ZXRlKCJzdWNjZXNzIiksCi0gICAgICAiQWZ0ZXIgdGhlIHVzZXIgYWJvcnRzLCByZXNwb25zZSBb
W2NvbXBsZXRlXV0gaXMgdHJ1ZSwgc28gY29tcGxldGUoKSByZWplY3RzIHdpdGggYSBJbnZhbGlk
U3RhdGVFcnJvciIKLSAgICApOwotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJpbSgpKTsKLX0K
LQotZnVuY3Rpb24gdXNlcklzU2hvd25FcnJvcnNGaWVsZHMoYnV0dG9uKSB7Ci0gIGJ1dHRvbi5k
aXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB7
IHJlc3BvbnNlLCByZXF1ZXN0IH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKHsg
cmVxdWVzdFNoaXBwaW5nOiB0cnVlIH0pOwotICAgIGNvbnN0IHJldHJ5UHJvbWlzZSA9IHJlc3Bv
bnNlLnJldHJ5KHsKLSAgICAgIHNoaXBwaW5nQWRkcmVzczogeyBjaXR5OiAiSW52YWxpZCBjaXR5
IiwgYWRkcmVzc0xpbmU6ICJJbnZhbGlkIGFkZHJlc3MgbGluZSIgfSwKLSAgICB9KTsKLSAgICBh
d2FpdCByZXRyeVByb21pc2U7Ci0gICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3Mi
KTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIGFib3J0
VGhlVXBkYXRlKGJ1dHRvbikgewotICBidXR0b24uZGlzYWJsZWQgPSB0cnVlOwotICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgeyByZXNwb25zZSwgcmVxdWVzdCB9ID0gYXdh
aXQgZ2V0UGF5bWVudFJlcXVlc3RSZXNwb25zZSh7Ci0gICAgICByZXF1ZXN0U2hpcHBpbmc6IHRy
dWUsCi0gICAgfSk7Ci0gICAgY29uc3Qgc2hpcE9wdGlvbkNoYW5nZVByb21pc2UgPSBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKLSAgICAgIHJlcXVlc3Qub25zaGlwcGluZ29wdGlvbmNoYW5nZSA9
IGV2ZW50ID0+IHsKLSAgICAgICAgLy8gY2F1c2VzICJhYm9ydCB0aGUgdXBkYXRlIiB0byBydW4K
LSAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IHRvdGFsOiAiZXJyb3IhIiB9KTsKLSAgICAgICAg
cmVzb2x2ZSgpOwotICAgICAgfTsKLSAgICB9KTsKLSAgICBjb25zdCByZXRyeVByb21pc2UgPSBy
ZXNwb25zZS5yZXRyeSgpOwotICAgIGF3YWl0IHNoaXBPcHRpb25DaGFuZ2VQcm9taXNlOwotICAg
IGF3YWl0IHByb21pc2VfcmVqZWN0c19qcygKLSAgICAgIHQsCi0gICAgICBUeXBlRXJyb3IsCi0g
ICAgICByZXRyeVByb21pc2UsCi0gICAgICAicmV0cnkoKSBhYm9ydHMgd2l0aCBhIFR5cGVFcnJv
ciwgYmVjYXVzZSB0b3RhbHMnIHZhbHVlIGlzIGludmFsaWQiCi0gICAgKTsKLSAgICBhd2FpdCBw
cm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJJbnZhbGlkU3RhdGVFcnJvciIs
Ci0gICAgICByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpLAotICAgICAgIkFmdGVyIHRoZSB1
c2VyIGFib3J0cywgcmVzcG9uc2UgW1tjb21wbGV0ZV1dIGlzIHRydWUsIHNvIGNvbXBsZXRlKCkg
cmVqZWN0cyB3aXRoIGEgSW52YWxpZFN0YXRlRXJyb3IiCi0gICAgKTsKLSAgfSwgYnV0dG9uLnRl
eHRDb250ZW50LnRyaW0oKSk7Ci19Ci0KLWZ1bmN0aW9uIGNhbGxpbmdSZXRyeVJldHVybnNVbmlx
dWVQcm9taXNlKGJ1dHRvbil7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB7IHJlc3BvbnNlIH0gPSBhd2FpdCBnZXRQYXlt
ZW50UmVxdWVzdFJlc3BvbnNlKCk7Ci0gICAgY29uc3QgcmV0cnlQcm9taXNlID0gcmVzcG9uc2Uu
cmV0cnkoKTsKLSAgICBjb25zdCBwcm9taXNlcyA9IG5ldyBTZXQoWwotICAgICAgcmV0cnlQcm9t
aXNlLAotICAgICAgcmVzcG9uc2UucmV0cnkoKSwKLSAgICAgIHJlc3BvbnNlLnJldHJ5KCksCi0g
ICAgXSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhwcm9taXNlcy5zaXplLCAzLCAiTXVzdCBoYXZlIHRo
cmVlIHVuaXF1ZSBvYmplY3RzIik7Ci0gICAgYXdhaXQgcmV0cnlQcm9taXNlOwotICAgIGF3YWl0
IHJlc3BvbnNlLmNvbXBsZXRlKCk7Ci0gIH0sIGJ1dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwot
fTsKLQotCi08L3NjcmlwdD4KLTxoMj4KLSAgICBNYW51YWwgVGVzdHMgZm9yIFBheW1lbnRSZXNw
b25zZS5yZXRyeSgpIC0gUGxlYXNlIHJ1biBpbiBvcmRlciEKLTwvaDI+Ci08cD4KLSAgQ2xpY2sg
b24gZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVm
cmVzaGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVu
dCBSZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRoIHRo
ZSBwYXltZW50IHNoZWV0LCB1c2UgYW55IGNyZWRpdCBjYXJkIHNlbGVjdCB0byAiUGF5IiBtdWx0
aXBsZSB0aW1lcy4KLTwvcD4KLTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iY2hl
Y2tDb21wbGV0ZWRDYW50UmV0cnkodGhpcyk7Ij4KLSAgICAgIEEgY29tcGxldGVkIHBheW1lbnQg
cmVxdWVzdCBjYW5ub3QgYmUgcmV0cmllZC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxp
PgotICAgIDxidXR0b24gb25jbGljaz0icmVwZWF0ZWRDYWxsc1RvUmV0cnkodGhpcyk7Ij4KLSAg
ICAgIENhbGxpbmcgcmV0cnkoKSBtb3JlIHRoYW4gb25jZSB5aWVsZCBhIHJlamVjdGVkIHByb21p
c2UsIGJ1dCB0aGUKLSAgICAgIHJldHJ5UHJvbWlzZSByZXNvbHZlcyBpbmRlcGVuZGVudGx5Lgot
ICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJjYWxs
Q29tcGxldGVXaGlsZVJldHJ5aW5nKHRoaXMpOyI+Ci0gICAgICBDYWxsaW5nIGNvbXBsZXRlKCkg
d2hpbGUgYSByZXRyeSgpIGlzIGluIHByb2dyZXNzIHJlc3VsdHMgaW4gYW4gSW52YWxpZFN0YXRl
RXJyb3IuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xp
Y2s9ImNhbGxpbmdSZXF1ZXN0QWJvcnRNdXN0Tm90QWJvcnQodGhpcyk7Ij4KLSAgICAgIFRyeWlu
ZyB0byBhYm9ydCgpIHZpYSBQYXltZW50UmVxdWVzdCBpcyBub3QgcG9zc2libGUuCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImNhblJldHJ5TXVs
dGlwbGVUaW1lcyh0aGlzKTsiPgotICAgICAgSXQncyBwb3NzaWJsZSB0byByZXRyeSgpIG11bHRp
cGxlIHRpbWVzIGFuZCBldmVudHVhbGx5IGNvbXBsZXRlKCkuCi0gICAgICBBZnRlciBjb21wbGV0
ZSgpLCBob3dldmVyLCByZXRyeSgpIHJlamVjdHMgd2l0aCBhbiBJbnZhbGlkU3RhdGVFcnJvci4K
LSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxwPgotICAgICAgV2hlbiBzaG93
biB0aGUgcGF5bWVudCBzaGVldCwgaGl0IHBheSBvbmNlLCB0aGVuIGFib3J0IHJldHJ5aW5nIHRo
ZSBwYXltZW50LgotICAgIDwvcD4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InVzZXJDYW5BYm9ydEFS
ZXRyeSh0aGlzKTsiPgotICAgICAgVGhlIHVzZXIgYWJvcnRpbmcgcmV0cnlpbmcgYSBwYXltZW50
IGNhdXNlcyB0aGUgcmV0cnlQcm9taXNlIHRvIHJlamVjdCB3aXRoIEFib3J0RXJyb3IuCi0gICAg
ICBBYm9ydGluZyBhIHBheW1lbnQgaXMgY2F1c2VzIGl0IGNvbXBsZXRlLgotICAgIDwvYnV0dG9u
PgotICA8L2xpPgotICA8bGk+Ci0gICAgPHA+Ci0gICAgICBXaGVuIHNob3duIHRoZSBwYXltZW50
IHNoZWV0LCBoaXQgcGF5IG9uY2UuIENoZWNrIHBheW1lbnQgc2hlZXQgZm9yIGVycm9yIGZpZWxk
cy4KLSAgICAgIFRoZW4gaGl0IGVzY2FwZSBvciBvdGhlcndpc2UgYWJvcnQgdGhlIHBheW1lbnQu
Ci0gICAgPC9wPgotICAgIDxidXR0b24gb25jbGljaz0idXNlcklzU2hvd25FcnJvcnNGaWVsZHMo
dGhpcyk7Ij4KLSAgICAgIFdoZW4gcmV0cnlpbmcsIHRoZSB1c2VyIGlzIHNob3duIGVycm9yIGZp
ZWxkcyB0byBmaXguCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8cD4KLSAg
ICAgIFdoZW4gc2hvd24gdGhlIHBheW1lbnQgc2hlZXQsIGhpdCBwYXkgb25jZS4KLSAgICAgIFRo
ZW4sIGNoYW5nZSB0aGUgc2hpcHBpbmcgb3B0aW9uLgotICAgICAgU2VsZWN0IHRvIHBheSBhZ2Fp
bi4KLSAgICA8L3A+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJhYm9ydFRoZVVwZGF0ZSh0aGlzKTsi
PgotICAgICAgV2hlbiAiYWJvcnQgdGhlIHVwZGF0ZSIgb2NjdXJzIGJlY2F1c2Ugb2YgYW4gdXBk
YXRlIGVycm9yLAotICAgICAgdGhlIGByZXRyeVByb21pc2VgIGlzIHJlamVjdGVkIGFuZCByZXNw
b25zZS5bW2NvbXBsZXRlXV0gYmVjb21lcyB0cnVlLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPHA+Ci0gICAgICBXaGVuIHNob3duIHRoZSBwYXltZW50IHNoZWV0LCBoaXQg
cGF5IG9uY2UuIFRoZW4gcmV0cnkgb25jZS4KLSAgICA8L3A+Ci0gICAgPGJ1dHRvbiBvbmNsaWNr
PSJjYWxsaW5nUmV0cnlSZXR1cm5zVW5pcXVlUHJvbWlzZSh0aGlzKTsiPgotICAgICAgQ2FsbGlu
ZyByZXRyeSgpIG11bHRpcGxlIHRpbWVzIGlzIGFsd2F5cyBhIG5ldyBvYmplY3QuCi0gICAgPC9i
dXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImRvbmUoKTsiPgot
ICAgICAgRG9uZSEKLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElm
IHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv
bS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRh
ZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQtcmVxdWVzdC9NRVRBLnltbCI+b3duZXJzPC9hPi4K
LTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC13
YXJuaW5ncy1tYW51YWwuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9y
ZXRyeS1tZXRob2Qtd2FybmluZ3MtbWFudWFsLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggY2UyYjJkN2RjMDIyODZmNWRiOWVhNmNhMWEzNTcxZWVlNjZk
Zjk5My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlc3BvbnNlL3JldHJ5LW1ldGhvZC13YXJuaW5ncy1tYW51YWwuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotTWFudWFsIFRlc3RzIC0gUGxl
YXNlIHJ1biBpbiBvcmRlciEKLQotUGxlYXNlIG9wZW4gdGhlIGRldmVsb3BlciBjb25zb2xlLiBF
YWNoIG9mIHRoZSB0ZXN0cyBiZWxvdyBzaG91bGQgZ2VuZXJhdGUgYSB3YXJuaW5nIGluIHRoZSBk
ZXZlbG9wZXIgY29uc29sZS4KLQotV2hlbiBwcmVzZW50ZWQgd2l0aCB0aGUgcGF5bWVudCBzaGVl
dCwgaGl0IHBheSB0d2ljZS4KLQotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0UGF5ZXJOYW1lYCBp
ZiBmYWxzZSwgYW5kIGBlcnJvckZpZWxkcy5wYXllci5uYW1lYCBpcyBwcmVzZW50LgotU2hvdyB3
YXJuaW5nIGlmIGByZXF1ZXN0UGF5ZXJFbWFpbGAgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMu
cGF5ZXIuZW1haWxgIGlzIHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RQYXllclBo
b25lYCBpZiBmYWxzZSwgYW5kIGBlcnJvckZpZWxkcy5wYXllci5waG9uZWAgaXMgcHJlc2VudC4K
LVNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kIGBlcnJvckZp
ZWxkcy5zaGlwcGluZ0FkZHJlc3NgIG1lbWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGBy
ZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVz
cy5hZGRyZXNzTGluZWAgbWVtYmVyIHByZXNlbnQuCi1TaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RT
aGlwcGluZ2AgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLmNpdHlg
IG1lbWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZh
bHNlLCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5jb3VudHJ5YCBtZW1iZXIgcHJl
c2VudC4KLVNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kIGBl
cnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3MuZGVwZW5kZW50TG9jYWxpdHlgIG1lbWJlciBwcmVz
ZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQgYGVy
cm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5vcmdhbml6YXRpb25gIG1lbWJlciBwcmVzZW50Lgot
U2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmll
bGRzLnNoaXBwaW5nQWRkcmVzcy5waG9uZWAgbWVtYmVyIHByZXNlbnQuCi1TaG93IHdhcm5pbmcg
aWYgYHJlcXVlc3RTaGlwcGluZ2AgaWYgZmFsc2UsIGFuZCBgZXJyb3JGaWVsZHMuc2hpcHBpbmdB
ZGRyZXNzLnBvc3RhbENvZGVgIG1lbWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1
ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5y
ZWNpcGllbnRgIG1lbWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBp
bmdgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5yZWdpb25gIG1l
bWJlciBwcmVzZW50LgotU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNl
LCBhbmQgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5yZWdpb25Db2RlYCBtZW1iZXIgcHJl
c2VudC4KLVNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kIGBl
cnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3Muc29ydGluZ0NvZGVgIG1lbWJlciBwcmVzZW50Lgot
RG9uZSEKLQotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVBBU1Mg
Q2FuIGNvbnN0cnVjdCBhIHBheW1lbnQgcmVxdWVzdCAoc21va2UgdGVzdCkuCi1QQVNTIFBheW1l
bnRSZXNwb25zZS5wcm90b3R5cGUgbXVzdCBoYXZlIGEgcmV0cnkoKSBmdW5jdGlvbiAoc21va2Ug
dGVzdCkuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcmV0cnktbWV0aG9kLXdh
cm5pbmdzLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXRyeS1tZXRo
b2Qtd2FybmluZ3MtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGI2OGJmMTgzMDk3MDJjNDgxYzc2YWRlZjBjZGRlZTI0Y2JkMWI1NDMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9y
ZXRyeS1tZXRob2Qtd2FybmluZ3MtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSwxNTggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+IDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgot
PHRpdGxlPldhcm4gd2hlbiBlcnJvckZpZWxkcyBkb24ndCBtYXRjaCByZXF1ZXN0W1tvcHRpb25z
XV08L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdzNj
L3BheW1lbnQtcmVxdWVzdC9wdWxsLzgwNyIgLz4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0gIHRlc3QoKCkgPT4gewotICAgIGFzc2VydF90cnVlKAotICAgICAgInJl
dHJ5IiBpbiBQYXltZW50UmVzcG9uc2UucHJvdG90eXBlLAotICAgICAgInJldHJ5IG11c3QgYmUg
aW4gcHJvdG90eXBlIgotICAgICk7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBQYXltZW50UmVz
cG9uc2UucHJvdG90eXBlLnJldHJ5IGluc3RhbmNlb2YgRnVuY3Rpb24sCi0gICAgICAicmV0cnkg
bXVzdCBiZSBhIGZ1bmN0aW9uIgotICAgICk7Ci0gIH0sICJQYXltZW50UmVzcG9uc2UucHJvdG90
eXBlIG11c3QgaGF2ZSBhIHJldHJ5KCkgZnVuY3Rpb24gKHNtb2tlIHRlc3QpLiIpOwotCi0gIGNv
bnN0IGRlZmF1bHRPcHRpb25zID0gewotICAgIHJlcXVlc3RQYXllck5hbWU6IGZhbHNlLAotICAg
IHJlcXVlc3RQYXllckVtYWlsOiBmYWxzZSwKLSAgICByZXF1ZXN0UGF5ZXJQaG9uZTogZmFsc2Us
Ci0gICAgcmVxdWVzdFNoaXBwaW5nOiBmYWxzZSwKLSAgfTsKLSAgZnVuY3Rpb24gdGVzdFNob3dX
YXJuaW5nKGJ1dHRvbiwgZXJyb3JGaWVsZHMpIHsKLSAgICBidXR0b24uZGlzYWJsZWQgPSB0cnVl
OwotICAgIHByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Ci0gICAgICBjb25zdCB7IHJlc3BvbnNl
IH0gPSBhd2FpdCBnZXRQYXltZW50UmVxdWVzdFJlc3BvbnNlKGRlZmF1bHRPcHRpb25zKTsKLSAg
ICAgIGF3YWl0IHJlc3BvbnNlLnJldHJ5KGVycm9yRmllbGRzKTsKLSAgICAgIGF3YWl0IHJlc3Bv
bnNlLmNvbXBsZXRlKCk7Ci0gICAgfSk7Ci0gIH0KLTwvc2NyaXB0PgotPGgyPk1hbnVhbCBUZXN0
cyAtIFBsZWFzZSBydW4gaW4gb3JkZXIhPC9oMj4KLTxwPgotICBQbGVhc2Ugb3BlbiB0aGUgZGV2
ZWxvcGVyIGNvbnNvbGUuIEVhY2ggb2YgdGhlIHRlc3RzIGJlbG93IHNob3VsZCBnZW5lcmF0ZSBh
Ci0gIHdhcm5pbmcgaW4gdGhlIGRldmVsb3BlciBjb25zb2xlLgotPC9wPgotPHA+V2hlbiBwcmVz
ZW50ZWQgd2l0aCB0aGUgcGF5bWVudCBzaGVldCwgaGl0IHBheSB0d2ljZS48L3A+Ci08b2w+Ci0g
IDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InRlc3RTaG93V2FybmluZyh0aGlzLCB7cGF5ZXI6
IHtuYW1lOiAnRG9udCBzaG93IHRoaXMnfX0pOyI+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJl
cXVlc3RQYXllck5hbWVgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnBheWVyLm5hbWVgIGlz
Ci0gICAgICBwcmVzZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1
dHRvbgotICAgICAgb25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtwYXllcjoge2VtYWls
OiAnRG9udCBzaG93IHRoaXMnfX0pOyIKLSAgICA+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJl
cXVlc3RQYXllckVtYWlsYCBpZiBmYWxzZSwgYW5kIGBlcnJvckZpZWxkcy5wYXllci5lbWFpbGAK
LSAgICAgIGlzIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8
YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3BheWVyOiB7cGhv
bmU6ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2FybmluZyBpZiBg
cmVxdWVzdFBheWVyUGhvbmVgIGlmIGZhbHNlLCBhbmQgYGVycm9yRmllbGRzLnBheWVyLnBob25l
YAotICAgICAgaXMgcHJlc2VudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAg
IDxidXR0b24gb25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGluZ0FkZHJlc3M6
IHt9fSk7Ij4KLSAgICAgIFNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxz
ZSwgYW5kCi0gICAgICBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzYCBtZW1iZXIgcHJlc2Vu
dC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24KLSAgICAgIG9u
Y2xpY2s9InRlc3RTaG93V2FybmluZyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNzOiB7YWRkcmVzc0xp
bmU6ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2FybmluZyBpZiBg
cmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JGaWVsZHMuc2hpcHBp
bmdBZGRyZXNzLmFkZHJlc3NMaW5lYCBtZW1iZXIgcHJlc2VudC4KLSAgICA8L2J1dHRvbj4KLSAg
PC9saT4KLSAgPGxpPgotICAgIDxidXR0b24KLSAgICAgIG9uY2xpY2s9InRlc3RTaG93V2Fybmlu
Zyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNzOiB7Y2l0eTogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0g
ICAgPgotICAgICAgU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBh
bmQKLSAgICAgIGBlcnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3MuY2l0eWAgbWVtYmVyIHByZXNl
bnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uCi0gICAgICBv
bmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3NoaXBwaW5nQWRkcmVzczoge2NvdW50cnk6
ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2FybmluZyBpZiBgcmVx
dWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JGaWVsZHMuc2hpcHBpbmdB
ZGRyZXNzLmNvdW50cnlgIG1lbWJlciBwcmVzZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPGJ1dHRvbgotICAgICAgb25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMs
IHtzaGlwcGluZ0FkZHJlc3M6IHtkZXBlbmRlbnRMb2NhbGl0eTogJ0RvbnQgc2hvdyB0aGlzJ319
KTsiCi0gICAgPgotICAgICAgU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZh
bHNlLCBhbmQKLSAgICAgIGBlcnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3MuZGVwZW5kZW50TG9j
YWxpdHlgIG1lbWJlciBwcmVzZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0g
ICAgPGJ1dHRvbgotICAgICAgb25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGlu
Z0FkZHJlc3M6IHtvcmdhbml6YXRpb246ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAg
ICAgIFNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0gICAg
ICBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLm9yZ2FuaXphdGlvbmAgbWVtYmVyIHByZXNl
bnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uCi0gICAgICBv
bmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3NoaXBwaW5nQWRkcmVzczoge3Bob25lOiAn
RG9udCBzaG93IHRoaXMnfX0pOyIKLSAgICA+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJlcXVl
c3RTaGlwcGluZ2AgaWYgZmFsc2UsIGFuZAotICAgICAgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRk
cmVzcy5waG9uZWAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxs
aT4KLSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmcodGhpcywge3No
aXBwaW5nQWRkcmVzczoge3Bvc3RhbENvZGU6ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4K
LSAgICAgIFNob3cgd2FybmluZyBpZiBgcmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0g
ICAgICBgZXJyb3JGaWVsZHMuc2hpcHBpbmdBZGRyZXNzLnBvc3RhbENvZGVgIG1lbWJlciBwcmVz
ZW50LgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbgotICAgICAg
b25jbGljaz0idGVzdFNob3dXYXJuaW5nKHRoaXMsIHtzaGlwcGluZ0FkZHJlc3M6IHtyZWNpcGll
bnQ6ICdEb250IHNob3cgdGhpcyd9fSk7IgotICAgID4KLSAgICAgIFNob3cgd2FybmluZyBpZiBg
cmVxdWVzdFNoaXBwaW5nYCBpZiBmYWxzZSwgYW5kCi0gICAgICBgZXJyb3JGaWVsZHMuc2hpcHBp
bmdBZGRyZXNzLnJlY2lwaWVudGAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwv
bGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5pbmco
dGhpcywge3NoaXBwaW5nQWRkcmVzczoge3JlZ2lvbjogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0g
ICAgPgotICAgICAgU2hvdyB3YXJuaW5nIGlmIGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBh
bmQKLSAgICAgIGBlcnJvckZpZWxkcy5zaGlwcGluZ0FkZHJlc3MucmVnaW9uYCBtZW1iZXIgcHJl
c2VudC4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24KLSAgICAg
IG9uY2xpY2s9InRlc3RTaG93V2FybmluZyh0aGlzLCB7c2hpcHBpbmdBZGRyZXNzOiB7cmVnaW9u
Q29kZTogJ0RvbnQgc2hvdyB0aGlzJ319KTsiCi0gICAgPgotICAgICAgU2hvdyB3YXJuaW5nIGlm
IGByZXF1ZXN0U2hpcHBpbmdgIGlmIGZhbHNlLCBhbmQKLSAgICAgIGBlcnJvckZpZWxkcy5zaGlw
cGluZ0FkZHJlc3MucmVnaW9uQ29kZWAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0g
IDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uCi0gICAgICBvbmNsaWNrPSJ0ZXN0U2hvd1dhcm5p
bmcodGhpcywge3NoaXBwaW5nQWRkcmVzczoge3NvcnRpbmdDb2RlOiAnRG9udCBzaG93IHRoaXMn
fX0pOyIKLSAgICA+Ci0gICAgICBTaG93IHdhcm5pbmcgaWYgYHJlcXVlc3RTaGlwcGluZ2AgaWYg
ZmFsc2UsIGFuZAotICAgICAgYGVycm9yRmllbGRzLnNoaXBwaW5nQWRkcmVzcy5zb3J0aW5nQ29k
ZWAgbWVtYmVyIHByZXNlbnQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT48YnV0dG9u
IG9uY2xpY2s9ImRvbmUoKSI+RG9uZSE8L2J1dHRvbj48L2xpPgotPC9vbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3BheW1lbnQtcmVzcG9uc2Uvc2hpcHBpbmdBZGRyZXNzLWF0dHJpYnV0ZS1tYW51YWwuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvc2hpcHBpbmdBZGRyZXNzLWF0dHJpYnV0ZS1t
YW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTJiYWMyYmI1
ZTVlMjcwY2VkZmI1Yjg0YmM4Yzg5OThkZjQ2MjY1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3NoaXBwaW5nQWRkcmVz
cy1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAs
MCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4Ij4KLTxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jZG9tLXBh
eW1lbnRyZXNwb25zZS1zaGlwcGluZ2FkZHJlc3MiPgotPHRpdGxlPgotICBQYXltZW50UmVzcG9u
c2UucHJvdG90eXBlLnNoaXBwaW5nQWRkcmVzcwotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1hc3luYyBmdW5jdGlvbiBjaGVja051bGxTaGlwcGluZ0Fk
ZHJlc3MoYnV0dG9uLCBvcHRpb25zKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIGNv
bnN0IHsgcmVxdWVzdCwgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9u
c2Uob3B0aW9ucyk7Ci0gIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCk7Ci0gIHRlc3QoKCkgPT4g
ewotICAgIGFzc2VydF9pZGxfYXR0cmlidXRlKHJlc3BvbnNlLCAic2hpcHBpbmdBZGRyZXNzIik7
Ci0gICAgYXNzZXJ0X2VxdWFscygKLSAgICAgIHJlc3BvbnNlLnNoaXBwaW5nQWRkcmVzcywKLSAg
ICAgIG51bGwsCi0gICAgICAiRXhwZWN0ZWQgcmVzcG9uc2Uuc2hpcHBpbmdBZGRyZXNzIHRvIGJl
IG51bGwiCi0gICAgKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgcmVxdWVzdC5zaGlwcGlu
Z0FkZHJlc3MsCi0gICAgICBudWxsLAotICAgICAgIkV4cGVjdGVkIHJlcXVlc3Quc2hpcHBpbmdB
ZGRyZXNzIHRvIGJlIG51bGwiCi0gICAgKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0o
KSk7Ci19Ci0KLWFzeW5jIGZ1bmN0aW9uIHJ1bk1hbnVhbFRlc3QoYnV0dG9uLCBvcHRpb25zID0g
e30sIGV4cGVjdGVkID0ge30sIGlkKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIGNv
bnN0IHsgcmVxdWVzdCwgcmVzcG9uc2UgfSA9IGF3YWl0IGdldFBheW1lbnRSZXF1ZXN0UmVzcG9u
c2Uob3B0aW9ucywgaWQpOwotICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgpOwotICB0ZXN0KCgp
ID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlLnJlcXVlc3RJZCwgcmVxdWVzdC5pZCwg
YEV4cGVjdGVkIGlkcyB0byBtYXRjaGApOwotICAgIGFzc2VydF9pZGxfYXR0cmlidXRlKHJlc3Bv
bnNlLCAic2hpcHBpbmdBZGRyZXNzIik7Ci0gICAgY29uc3QgeyBzaGlwcGluZ0FkZHJlc3M6IGFk
ZHIgfSA9IHJlcXVlc3Q7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBhZGRyIGluc3RhbmNlb2Yg
UGF5bWVudEFkZHJlc3MsCi0gICAgICAiRXhwZWN0IGluc3RhbmNlIG9mIFBheW1lbnRBZGRyZXNz
IgotICAgICk7Ci0gICAgdHJ5IHsKLSAgICAgIGFkZHIudG9KU09OKCk7Ci0gICAgfSBjYXRjaCAo
ZXJyKSB7Ci0gICAgICBhc3NlcnRfdW5yZWFjaGVkKAotICAgICAgICBgVW5leHBlY3RlZCBleGNl
cHRpb24gY2FsbGluZyBQYXltZW50QWRkcmVzcy50b0pTT04oKTogJHtlcnJ9YAotICAgICAgKTsK
LSAgICB9Ci0gICAgaWYgKGV4cGVjdGVkLnNoaXBwaW5nQWRkcmVzcyA9PT0gbnVsbCkgewotICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICBhc3NlcnRfZXF1YWxzKGFkZHIuY291bnRyeSwgIkFGIiwg
IkV4cGVjdGVkIEFGIGZvciBjb3VudHJ5Iik7Ci0gICAgYXNzZXJ0X3RydWUoCi0gICAgICBhZGRy
LmFkZHJlc3NMaW5lIGluc3RhbmNlb2YgQXJyYXksCi0gICAgICAiRXhwZWN0ZWQgYWRkcmVzc0xp
bmUgdG8gYmUgYW4gYXJyYXkiCi0gICAgKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgYWRk
ci5hZGRyZXNzTGluZS50b1N0cmluZygpLAotICAgICAgIjEgd3B0IHN0cmVldCIsCi0gICAgICAi
RXhwZWN0ZWQgJzEgd3B0IHN0cmVldCcgZm9yIGFkZHJlc3NMaW5lIgotICAgICk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyhhZGRyLmNpdHksICJLYWJ1bCIsICJFeHBlY3RlZCBjaXR5IHRvIGJlIEthYnVs
Iik7Ci0gICAgYXNzZXJ0X2VxdWFscyhhZGRyLnBvc3RhbENvZGUsICIxMDAxIiwgIkV4cGVjdCBw
b3N0YWxDb2RlIHRvIGJlIDEwMDEiKTsKLSAgICBhc3NlcnRfZXF1YWxzKGFkZHIucmVjaXBpZW50
LCAid2ViIHBsYXRmb3JtIHRlc3QiKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50LnRyaW0oKSk7
Ci19Ci08L3NjcmlwdD4KLTxoMj5zaGlwcGluZ0FkZHJlc3MgYXR0cmlidXRlPC9oMj4KLTxwPgot
ICBDbGljayBvbiBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0
aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRo
ZSBQYXltZW50IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gcHJvbXB0ZWQs
IHBsZWFzZSBlbnRlciAid2ViIHBsYXRmb3JtIHRlc3QiIGFzIHJlY2lwaWVudCwgYXQgYWRkcmVz
cyAiMSB3cHQgc3RyZWV0IiBpbiAiS2FidWwsIEFmZ2hhbmlzdGFuIiwgemlwL3Bvc3RhbCBjb2Rl
IDEwMDEuCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImNoZWNrTnVs
bFNoaXBwaW5nQWRkcmVzcyh0aGlzLCB1bmRlZmluZWQpIj4KLSAgICAgIElmIG9wdGlvbnMgaXMg
dW5kZWZpbmVkLCB0aGVuIHNoaXBwaW5nQWRkcmVzcyBtdXN0IGJlIG51bGwuCi0gICAgPC9idXR0
b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9ImNoZWNrTnVsbFNoaXBw
aW5nQWRkcmVzcyh0aGlzLCB7fSkiPgotICAgICAgSWYgdGhlIHJlcXVlc3RTaGlwcGluZyBtZW1i
ZXIgaXMgbWlzc2luZywgdGhlbiBzaGlwcGluZ0FkZHJlc3MgbXVzdCBiZSBudWxsLgotICAgIDwv
YnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJjaGVja051bGxT
aGlwcGluZ0FkZHJlc3ModGhpcywge3JlcXVlc3RTaGlwcGluZzogZmFsc2V9KSI+Ci0gICAgICBJ
ZiB0aGUgcmVxdWVzdFNoaXBwaW5nIG1lbWJlciBpcyBmYWxzZSwgdGhlbiBzaGlwcGluZ0FkZHJl
c3MgbXVzdCBiZSBudWxsLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1
dHRvbiBvbmNsaWNrPSJydW5NYW51YWxUZXN0KHRoaXMsIHtyZXF1ZXN0U2hpcHBpbmc6IHRydWV9
KS50aGVuKGRvbmUpIj4KLSAgICAgIElmIHRoZSByZXF1ZXN0U2hpcHBpbmcgbWVtYmVyIGlzIHRy
dWUsIHRoZW4gc2hpcHBpbmdBZGRyZXNzIG11c3QgYmUgIjEgd3B0IHN0cmVldCIgaW4gIkthYnVs
LCBBZmdoYW5pc3RhbiIsIHppcCBjb2RlIDEwMDEuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci08
L29sPgotPHNtYWxsPgotICBJZiB5b3UgZmluZCBhIGJ1Z2d5IHRlc3QsIHBsZWFzZSA8YSBocmVm
PSJodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9pc3N1ZXMiPmZpbGUg
YSBidWc8L2E+Ci0gIGFuZCB0YWcgb25lIG9mIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5j
b20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9ibG9iL21hc3Rlci9wYXltZW50LXJlcXVlc3QvTUVU
QS55bWwiPnN1Z2dlc3RlZCByZXZpZXdlcnM8L2E+LgotPC9zbWFsbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3BheW1lbnQtcmVzcG9uc2Uvc2hpcHBpbmdPcHRpb24tYXR0cmlidXRlLW1hbnVhbC5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50
LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUtbWFudWFs
Lmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4N2QzYTUyZGU5ZjZi
ZmRiMTA0NTYxNDc1ODYwMDhiMTg2ODNlYjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ09wdGlvbi1hdHRy
aWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi08
IWRvY3R5cGUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyNkb20tcGF5bWVudHJl
c3BvbnNlLXNoaXBwaW5nb3B0aW9uIj4KLTx0aXRsZT4KLSAgUGF5bWVudFJlc3BvbnNlLnByb3Rv
dHlwZS5jb21wbGV0ZSgpIG1ldGhvZAotPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxwZXJzLmpzIj48L3Nj
cmlwdD4KLTxoMj5zaGlwcGluZ09wdGlvbiBhdHRyaWJ1dGU8L2gyPgotPHA+Ci0gIENsaWNrIG9u
IGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJl
c2hpbmcgdGhlIHBhZ2UuCi0gIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQg
UmVxdWVzdCBVSSB3aW5kb3cuCi08L3A+Ci08cD4KLSAgRm9yIHRoZSBsYXN0IHRlc3QsIHBsZWFz
ZSBzZWxlY3QgdGhlIG9ubHkgYXZhaWxhYmxlIHNoaXBwaW5nIG9wdGlvbiBhbmQgc2VsZWN0ICJQ
YXkiLgotPC9wPgotPG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJydW5NYW51YWxU
ZXN0KHRoaXMsIHVuZGVmaW5lZCwgeyBzaGlwcGluZ09wdGlvbjogbnVsbCB9KSI+Ci0gICAgICBJ
ZiB0aGUgb3B0aW9ucyBpcyB1bmRlZmluZWQsIHRoZW4gc2hpcHBpbmdPcHRpb24gbXVzdCBiZSBu
dWxsLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNr
PSJydW5NYW51YWxUZXN0KHRoaXMsIHsgcmVxdWVzdFNoaXBwaW5nOiB1bmRlZmluZWQgfSwgeyBz
aGlwcGluZ09wdGlvbjogbnVsbCB9KSI+Ci0gICAgICBJZiB0aGUgcmVxdWVzdFNoaXBwaW5nIG1l
bWJlciBpcyBtaXNzaW5nLCB0aGVuIHNoaXBwaW5nT3B0aW9uIG11c3QgYmUgbnVsbC4KLSAgICA8
L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuTWFudWFs
VGVzdCh0aGlzLCB7IHJlcXVlc3RTaGlwcGluZzogZmFsc2UgfSwgeyBzaGlwcGluZ09wdGlvbjog
bnVsbCB9KSI+Ci0gICAgICBJZiB0aGUgcmVxdWVzdFNoaXBwaW5nIG1lbWJlciBpcyBmYWxzZSwg
dGhlbiBzaGlwcGluZ09wdGlvbiBtdXN0IGJlIG51bGwuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+
Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1bk1hbnVhbFRlc3QodGhpcywgeyByZXF1
ZXN0U2hpcHBpbmc6IHRydWUgfSwgeyBzaGlwcGluZ09wdGlvbjogJ3Bhc3MnIH0pLnRoZW4oZG9u
ZSkiPgotICAgICAgSWYgdGhlIHJlcXVlc3RTaGlwcGluZyBtZW1iZXIgaXMgdHJ1ZSwgdGhlbiBz
aGlwcGluZ09wdGlvbiBtdXN0IGJlIHRoZSBpZCBvZiB0aGUgc2VsZWN0ZWQgc2hpcHBpbmcgb3B0
aW9uICgicGFzcyIpLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAg
SWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQg
dGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQg
cmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNl
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS93M2MtaW1wb3J0LmxvZwppbmRl
eCBmMjQ1OWIxN2MwMzJiZmExN2E2ZGE2MjU5NTllY2IwMGM2OWYxZjViLi44MzYzYTA1NmQwNDg3
NzQ4YTdhYzNkNTM5ZWU3Mzg2OTJiZDk3ZWZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3Bv
bnNlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvdzNjLWltcG9ydC5s
b2cKQEAgLTE0LDE5ICsxNCw1IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVzcG9uc2UvY29tcGxldGUtbWV0aG9kLW1hbnVhbC5odHRwcy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVu
dC1yZXNwb25zZS9oZWxwZXJzLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9tZXRob2ROYW1lLWF0
dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvb25wYXllcmRl
dGFpbGNoYW5nZS1hdHRyaWJ1dGUtbWFudWFsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3Bv
bnNlL29ucGF5ZXJkZXRhaWxjaGFuZ2UtYXR0cmlidXRlLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50
LXJlc3BvbnNlL3BheWVyRW1haWwtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5
bWVudC1yZXNwb25zZS9wYXllck5hbWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
cGF5bWVudC1yZXNwb25zZS9wYXllclBob25lLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJkZXRhaWxzY2hhbmdlLXVwZGF0ZVdpdGgtaW1tZWRp
YXRlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllcmRldGFpbHNj
aGFuZ2UtdXBkYXRlV2l0aC1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uv
cmVqZWN0c19pZl9ub3RfYWN0aXZlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNw
b25zZS9yZXF1ZXN0SWQtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS9yZXRyeS1tZXRob2QtbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3Bv
bnNlL3JldHJ5LW1ldGhvZC13YXJuaW5ncy1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQt
cmVzcG9uc2Uvc2hpcHBpbmdBZGRyZXNzLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbAotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3BheW1lbnQtcmVzcG9uc2Uvc2hpcHBpbmdPcHRpb24tYXR0cmlidXRlLW1hbnVhbC5odHRwcy5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9yZWplY3RzX2lmX25vdF9hY3RpdmUtbWFudWFsLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmQ0NWRiMzUxOWFlMDNkMzIz
OGI3NzRjZDc4Yzc4ODc2NGQwZDFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotUGF5bWVudFJlcXVlc3Qgc2hv
dygpIHJlamVjdHMgaWYgZG9jIGlzIG5vdCBmdWxseSBhY3RpdmUKLQotQ2xpY2sgb24gZWFjaCBi
dXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0
aGUgcGFnZS4gRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJ
IHdpbmRvdyBhbmQgdGhlbiB3aWxsIGNsb3NlIGl0IGF1dG9tYXRpY2FsbHkuIChJZiBhIHBheW1l
bnQgc2hlZXQgc3RheXMgb3BlbiwgdGhlIHRlc3QgaGFzIGZhaWxlZC4pCi0KLVBheW1lbnRSZXF1
ZXN0LnNob3coKSBhYm9ydHMgaWYgdGhlIGRvY3VtZW50IGlzIG5vdCBhY3RpdmUuCi1QYXltZW50
UmVxdWVzdC5zaG93KCkgYWJvcnRzIGlmIHRoZSBkb2N1bWVudCBpcyBhY3RpdmUsIGJ1dCBub3Qg
ZnVsbHkgYWN0aXZlLgotRG9uZSEKLUlmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxlYXNlIGZp
bGUgYSBidWcgYW5kIHRhZyBvbmUgb2YgdGhlIHN1Z2dlc3RlZCByZXZpZXdlcnMuCi0KLUhhcm5l
c3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Jl
amVjdHNfaWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90
X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OGUyMTRjYjYwOTRhMjU0MzYzNzRkYTk4NGRlYWFkZTY2MGNjYzE5MS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9yZWplY3RzX2lmX25vdF9hY3RpdmUt
bWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNzEgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPHRpdGxlPlBheW1lbnRSZXF1ZXN0IHNo
b3coKSByZWplY3RzIGlmIGRvYyBpcyBub3QgZnVsbHkgYWN0aXZlPC90aXRsZT4KLTxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jc2hv
dy1tZXRob2QiPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgotPGJvZHk+Ci08c2NyaXB0Pgotc2V0dXAoewotICBleHBsaWNpdF9kb25lOiB0cnVlLAot
ICBleHBsaWNpdF90aW1lb3V0OiB0cnVlLAotfSk7Ci0KLWNvbnN0IGFwcGxlUGF5ID0gT2JqZWN0
LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1w
YXkiLAotICBkYXRhOiB7Ci0gICAgdmVyc2lvbjogMywKLSAgICBtZXJjaGFudElkZW50aWZpZXI6
ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCi0gICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgbWVy
Y2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAgICBzdXBwb3J0ZWROZXR3b3Jr
czogWyJ2aXNhIl0sCi0gIH0KLX0pOwotY29uc3QgdmFsaWRNZXRob2QgPSBPYmplY3QuZnJlZXpl
KHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotfSk7Ci1jb25zdCB2YWxpZE1l
dGhvZHMgPSBPYmplY3QuZnJlZXplKFt2YWxpZE1ldGhvZCwgYXBwbGVQYXldKTsKLQotY29uc3Qg
dmFsaWREZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB7Ci0gICAgbGFiZWw6ICJU
b3RhbCBkdWUiLAotICAgICAgYW1vdW50OiB7Ci0gICAgICBjdXJyZW5jeTogIlVTRCIsCi0gICAg
ICB2YWx1ZTogIjUuMDAiLAotICAgIH0sCi0gIH0sCi19KTsKLQotZnVuY3Rpb24gZ2V0TG9hZGVk
UGF5bWVudFJlcXVlc3QoaWZyYW1lLCB1cmwpIHsKLSAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29s
dmUgPT4gewotICAgIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKAotICAgICAgImxvYWQiLAotICAg
ICAgKCkgPT4gewotICAgICAgICBjb25zdCB7IFBheW1lbnRSZXF1ZXN0IH0gPSBpZnJhbWUuY29u
dGVudFdpbmRvdzsKLSAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCh2
YWxpZE1ldGhvZHMsIHZhbGlkRGV0YWlscyk7Ci0gICAgICAgIHJlc29sdmUocmVxdWVzdCk7Ci0g
ICAgICB9LAotICAgICAgeyBvbmNlOiB0cnVlIH0KLSAgICApOwotICAgIGlmcmFtZS5zcmMgPSB1
cmw7Ci0gIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0QWJvcnRTaG93SWZEb2N1bWVudElzTm90QWN0
aXZlKCkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgaWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLmFsbG93UGF5bWVu
dFJlcXVlc3QgPSB0cnVlOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsK
LSAgICAvLyBXZSBmaXJzdCBnb3QgdG8gcGFnZTEuaHRtbCwgZ3JhYiBhIFBheW1lbnRSZXF1ZXN0
IGluc3RhbmNlLgotICAgIGNvbnN0IHJlcXVlc3QxID0gYXdhaXQgZ2V0TG9hZGVkUGF5bWVudFJl
cXVlc3QoCi0gICAgICBpZnJhbWUsCi0gICAgICAiL3BheW1lbnQtcmVxdWVzdC9yZXNvdXJjZXMv
cGFnZTEuaHRtbCIKLSAgICApOwotICAgIC8vIFNhdmUgdGhlIERPTUV4Y2VwdGlvbiBvZiBwYWdl
MS5odG1sIGJlZm9yZSBuYXZpZ2F0aW5nIGF3YXkuCi0gICAgY29uc3QgZnJhbWVET01FeGNlcHRp
b24xID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuRE9NRXhjZXB0aW9uOwotICAgIC8vIFdlIG5hdmln
YXRlIHRoZSBpZnJhbWUgYWdhaW4sIHB1dHRpbmcgcmVxdWVzdDEncyBkb2N1bWVudCBpbnRvIGFu
IGluYWN0aXZlIHN0YXRlLgotICAgIGNvbnN0IHJlcXVlc3QyID0gYXdhaXQgZ2V0TG9hZGVkUGF5
bWVudFJlcXVlc3QoCi0gICAgICBpZnJhbWUsCi0gICAgICAiL3BheW1lbnQtcmVxdWVzdC9yZXNv
dXJjZXMvcGFnZTIuaHRtbCIKLSAgICApOwotICAgIC8vIE5vdywgcmVxdWVzdDEncyByZWxldmFu
dCBnbG9iYWwgb2JqZWN0J3MgZG9jdW1lbnQgaXMgbm8gbG9uZ2VyIGFjdGl2ZS4KLSAgICAvLyBT
bywgY2FsbCAuc2hvdygpLCBhbmQgbWFrZSBzdXJlIGl0IHJlamVjdHMgYXBwcm9wcmlhdGVseS4K
LSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJBYm9ydEVy
cm9yIiwKLSAgICAgIGZyYW1lRE9NRXhjZXB0aW9uMSwKLSAgICAgIHJlcXVlc3QxLnNob3coKSwK
LSAgICAgICJJbmFjdGl2ZSBkb2N1bWVudCwgc28gbXVzdCB0aHJvdyBBYm9ydEVycm9yIgotICAg
ICk7Ci0gICAgLy8gcmVxdWVzdDIgaGFzIGFuIGFjdGl2ZSBkb2N1bWVudCB0aG8sIHNvIGNvbmZp
cm0gaXQncyB3b3JraW5nIGFzIGV4cGVjdGVkOgotICAgIHJlcXVlc3QyLnNob3coKTsKLSAgICBh
d2FpdCByZXF1ZXN0Mi5hYm9ydCgpOwotICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0g
ICAgICB0LAotICAgICAgIkludmFsaWRTdGF0ZUVycm9yIiwKLSAgICAgIGlmcmFtZS5jb250ZW50
V2luZG93LkRPTUV4Y2VwdGlvbiwKLSAgICAgIHJlcXVlc3QyLnNob3coKSwKLSAgICAgICJBYm9y
dCBhbHJlYWR5IGNhbGxlZCwgc28gSW52YWxpZFN0YXRlRXJyb3IiCi0gICAgKTsKLSAgICAvLyBX
ZSBhcmUgZG9uZSwgc28gY2xlYW4gdXAuCi0gICAgaWZyYW1lLnJlbW92ZSgpOwotICB9LCAiUGF5
bWVudFJlcXVlc3Quc2hvdygpIGFib3J0cyBpZiB0aGUgZG9jdW1lbnQgaXMgbm90IGFjdGl2ZS4i
KTsKLX0KLQotZnVuY3Rpb24gdGVzdEFib3J0U2hvd0lmRG9jdW1lbnRJc05vdEZ1bGx5QWN0aXZl
KCkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgLy8gV2UgbmVzdCB0d28gaWZy
YW1lcyBhbmQgd2FpdCBmb3IgdGhlbSB0byBsb2FkLgotICAgIGNvbnN0IG91dGVySWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgb3V0ZXJJZnJhbWUuYWxsb3dQ
YXltZW50UmVxdWVzdCA9IHRydWU7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvdXRl
cklmcmFtZSk7Ci0gICAgLy8gTG9hZCB0aGUgb3V0ZXIgaWZyYW1lICh3ZSBkb24ndCBjYXJlIGFi
b3V0IHRoZSBhd2FpdGVkIHJlcXVlc3QpCi0gICAgYXdhaXQgZ2V0TG9hZGVkUGF5bWVudFJlcXVl
c3QoCi0gICAgICBvdXRlcklmcmFtZSwKLSAgICAgICIvcGF5bWVudC1yZXF1ZXN0L3Jlc291cmNl
cy9wYWdlMS5odG1sIgotICAgICk7Ci0KLSAgICAvLyBOb3cgd2UgY3JlYXRlIHRoZSBpbm5lciBp
ZnJhbWUKLSAgICBjb25zdCBpbm5lcklmcmFtZSA9IG91dGVySWZyYW1lLmNvbnRlbnREb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpbm5lcklmcmFtZS5hbGxvd1BheW1lbnRS
ZXF1ZXN0ID0gdHJ1ZTsKLQotICAgIC8vIG5lc3QgdGhlbQotICAgIG91dGVySWZyYW1lLmNvbnRl
bnREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlubmVySWZyYW1lKTsKLQotICAgIC8vIGxvYWQg
aW5uZXJJZnJhbWUsIGFuZCBnZXQgdGhlIFBheW1lbnRSZXF1ZXN0IGluc3RhbmNlCi0gICAgY29u
c3QgcmVxdWVzdCA9IGF3YWl0IGdldExvYWRlZFBheW1lbnRSZXF1ZXN0KAotICAgICAgaW5uZXJJ
ZnJhbWUsCi0gICAgICAiL3BheW1lbnQtcmVxdWVzdC9yZXNvdXJjZXMvcGFnZTIuaHRtbCIKLSAg
ICApOwotICAgIC8vIFNhdmUgRE9NRXhjZXB0aW9uIGZyb20gaW5uZXJJZnJhbWUgYmVmb3JlIG5h
dmlnYXRpbmcgYXdheS4KLSAgICBjb25zdCBpbm5lcklmcmFtZURPTUV4Y2VwdGlvbiA9IGlubmVy
SWZyYW1lLmNvbnRlbnRXaW5kb3cuRE9NRXhjZXB0aW9uOwotCi0gICAgLy8gTmF2aWdhdGUgdGhl
IG91dGVyIGlmcmFtZSB0byBhIG5ldyBsb2NhdGlvbi4KLSAgICAvLyBXYWl0IGZvciB0aGUgbG9h
ZCBldmVudCB0byBmaXJlLgotICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAg
ICAgb3V0ZXJJZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJlc29sdmUpOwotICAgICAg
b3V0ZXJJZnJhbWUuc3JjID0gIi9wYXltZW50LXJlcXVlc3QvcmVzb3VyY2VzL3BhZ2UyLmh0bWwi
OwotICAgIH0pOwotCi0gICAgY29uc3Qgc2hvd1Byb21pc2UgPSByZXF1ZXN0LnNob3coKTsKLSAg
ICAvLyBOb3csIHJlcXVlc3QncyByZWxldmFudCBnbG9iYWwgb2JqZWN0J3MgZG9jdW1lbnQgaXMg
c3RpbGwgYWN0aXZlCi0gICAgLy8gKGl0IGlzIHRoZSBhY3RpdmUgZG9jdW1lbnQgb2YgdGhlIGlu
bmVyIGlmcmFtZSksIGJ1dCBpcyBub3QgZnVsbHkgYWN0aXZlCi0gICAgLy8gKHNpbmNlIHRoZSBw
YXJlbnQgb2YgdGhlIGlubmVyIGlmcmFtZSBpcyBpdHNlbGYgbm8gbG9uZ2VyIGFjdGl2ZSkuCi0g
ICAgLy8gU28sIGNhbGwgcmVxdWVzdC5zaG93KCkgYW5kIG1ha2Ugc3VyZSBpdCByZWplY3RzIGFw
cHJvcHJpYXRlbHkuCi0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSgKLSAgICAgIHQsCi0g
ICAgICAiQWJvcnRFcnJvciIsCi0gICAgICBpbm5lcklmcmFtZURPTUV4Y2VwdGlvbiwKLSAgICAg
IHNob3dQcm9taXNlLAotICAgICAgIkFjdGl2ZSwgYnV0IG5vdCBmdWxseSBhY3RpdmUsIHNvIG11
c3QgdGhyb3cgQWJvcnRFcnJvciIKLSAgICApOwotICAgIC8vIFdlIGFyZSBkb25lLCBzbyBjbGVh
biB1cC4KLQotICAgIG91dGVySWZyYW1lLnJlbW92ZSgpOwotICB9LCAiUGF5bWVudFJlcXVlc3Qu
c2hvdygpIGFib3J0cyBpZiB0aGUgZG9jdW1lbnQgaXMgYWN0aXZlLCBidXQgbm90IGZ1bGx5IGFj
dGl2ZS4iKTsKLX0KLTwvc2NyaXB0PgotCi08aDI+UGF5bWVudFJlcXVlc3Qgc2hvdygpIHJlamVj
dHMgaWYgZG9jIGlzIG5vdCBmdWxseSBhY3RpdmU8L2gyPgotPHA+Ci0gIENsaWNrIG9uIGVhY2gg
YnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcg
dGhlCi0gIHBhZ2UuIEVhY2ggYnV0dG9uIHdpbGwgYnJpbmcgdXAgdGhlIFBheW1lbnQgUmVxdWVz
dCBVSSB3aW5kb3cgYW5kIHRoZW4gd2lsbAotICBjbG9zZSBpdCBhdXRvbWF0aWNhbGx5LiAoSWYg
YSBwYXltZW50IHNoZWV0IHN0YXlzIG9wZW4sIHRoZSB0ZXN0IGhhcyBmYWlsZWQuKQotPC9wPgot
PG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0QWJvcnRTaG93SWZEb2N1bWVu
dElzTm90QWN0aXZlKCkiPgotICAgICAgUGF5bWVudFJlcXVlc3Quc2hvdygpIGFib3J0cyBpZiB0
aGUgZG9jdW1lbnQgaXMgbm90IGFjdGl2ZS4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxp
PgotICAgIDxidXR0b24gb25jbGljaz0idGVzdEFib3J0U2hvd0lmRG9jdW1lbnRJc05vdEZ1bGx5
QWN0aXZlKCkiPgotICAgICAgUGF5bWVudFJlcXVlc3Quc2hvdygpIGFib3J0cyBpZiB0aGUgZG9j
dW1lbnQgaXMgYWN0aXZlLCBidXQgbm90IGZ1bGx5Ci0gICAgICBhY3RpdmUuCi0gICAgPC9idXR0
b24+Ci0gIDwvbGk+Ci0gIDxsaT48YnV0dG9uIG9uY2xpY2s9ImRvbmUoKSI+RG9uZSE8L2J1dHRv
bj48L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVh
c2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNz
dWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1y
ZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9yZWplY3RzX2lmX25vdF9hY3RpdmUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3JlamVjdHNf
aWZfbm90X2FjdGl2ZS5odHRwcy5odG1sCmluZGV4IDFjNjY2YWVhNDM1NzU4Y2Q3Zjc5MTcyYWFh
NjkxZjQzZjc5MDdhNDcuLjg5YzM0MDdlM2QwYmM1ZWJhZmMzYzdjMGQwMDE1MDk5MTI1MWExMzIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3JlamVjdHNfaWZfbm90X2FjdGl2ZS5odHRwcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3JlamVjdHNfaWZfbm90X2FjdGl2ZS5odHRwcy5odG1sCkBAIC01MSw3ICs1MSw3IEBAIGZ1bmN0
aW9uIGdldExvYWRlZFBheW1lbnRSZXF1ZXN0KGlmcmFtZSwgdXJsKSB7CiAKIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aWZyYW1lIik7Ci0gIGlmcmFtZS5hbGxvd1BheW1lbnRSZXF1ZXN0ID0gdHJ1ZTsKKyAgaWZyYW1l
LmFsbG93ID0gInBheW1lbnQiOwogICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7
CiAgIC8vIE1ha2UgYSByZXF1ZXN0IGluIHRoZSBpZnJhbWUuCiAgIGNvbnN0IHJlcXVlc3QgPSBh
d2FpdCBnZXRMb2FkZWRQYXltZW50UmVxdWVzdCgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3NoaXBwaW5nLWFk
ZHJlc3MtY2hhbmdlZC1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3NoaXBwaW5nLWFkZHJlc3MtY2hh
bmdlZC1tYW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzhi
N2YxN2NlZWI5ODRiZGU4MDA5MDkzYTU2OTY5MjYxZTQ0ZGQ3Yy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaGlwcGluZy1hZGRyZXNzLWNoYW5nZWQt
bWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTwhLS0gQ29weXJpZ2h0IMKpIDIwMTcgQ2hyb21pdW0gYXV0aG9ycyBhbmQgV29y
bGQgV2lkZSBXZWIgQ29uc29ydGl1bSwgKE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hu
b2xvZ3ksIEVSQ0lNLCBLZWlvIFVuaXZlcnNpdHksIEJlaWhhbmcpLiAtLT4KLTxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KLTx0aXRsZT5UZXN0IGZvciBQYXltZW50UmVxdWVzdCBzaGlwcGluZ0FkZHJl
c3MgYXR0cmlidXRlPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3BheW1lbnQtcmVxdWVzdC8jc2hpcHBpbmdhZGRyZXNzLWF0dHJpYnV0ZSI+Ci08
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVl
c3QvI29uc2hpcHBpbmdhZGRyZXNzY2hhbmdlLWF0dHJpYnV0ZSI+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBs
aWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgYXBwbGVQ
YXkgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUu
Y29tL2FwcGxlLXBheSIsCi0gIGRhdGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50
SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVT
IiwKLSAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBv
cnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgfQotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZCA9IE9i
amVjdC5mcmVlemUoeyBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIgfSk7Ci1jb25zdCB2
YWxpZE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFt2YWxpZE1ldGhvZCwgYXBwbGVQYXldKTsKLWNv
bnN0IHZhbGlkQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7IGN1cnJlbmN5OiAiVVNEIiwgdmFsdWU6
ICI1LjAwIiB9KTsKLWNvbnN0IHZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6
ICJsYWJlbCIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQsCi19KTsKLWNvbnN0IHZhbGlkU2hpcHBp
bmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJ2YWxpZCIsCi0gIGxhYmVsOiAiU2hp
cHBpbmcgT3B0aW9uIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgc2VsZWN0ZWQ6IGZhbHNl
LAotfSk7Ci1jb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKLSAgdG90YWw6IHZh
bGlkVG90YWwsCi0gIHNoaXBwaW5nT3B0aW9uczogW3ZhbGlkU2hpcHBpbmdPcHRpb25dLAotfSk7
Ci1jb25zdCByZXF1ZXN0U2hpcHBpbmcgPSBPYmplY3QuZnJlZXplKHsKLSAgcmVxdWVzdFNoaXBw
aW5nOiB0cnVlLAotfSk7Ci0KLWZ1bmN0aW9uIHRlc3RTaGlwcGluZ0FkZHJlc3NDaGFuZ2UoKSB7
Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBh
eW1lbnRSZXF1ZXN0KAotICAgICAgdmFsaWRNZXRob2RzLAotICAgICAgdmFsaWREZXRhaWxzLAot
ICAgICAgcmVxdWVzdFNoaXBwaW5nCi0gICAgKTsKLSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAg
cmVxdWVzdC5zaGlwcGluZ0FkZHJlc3MsCi0gICAgICBudWxsLAotICAgICAgInJlcXVlc3Quc2hp
cHBpbmdBZGRyZXNzIG11c3QgaW5pdGlhbGx5IGJlIG51bGwiCi0gICAgKTsKLSAgICBjb25zdCBs
aXN0ZW5lclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgIHJlcXVlc3Qu
YWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgKCkgPT4gewotICAgICAg
ICByZXNvbHZlKHJlcXVlc3Quc2hpcHBpbmdBZGRyZXNzKTsKLSAgICAgIH0pOwotICAgIH0pOwot
ICAgIGNvbnN0IGhhbmRsZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAg
ICByZXF1ZXN0Lm9uc2hpcHBpbmdhZGRyZXNzY2hhbmdlID0gKCkgPT4gewotICAgICAgICByZXNv
bHZlKHJlcXVlc3Quc2hpcHBpbmdBZGRyZXNzKTsKLSAgICAgIH07Ci0gICAgfSk7Ci0gICAgcmVx
dWVzdC5zaG93KCkuY2F0Y2goZXJyID0+IGVycik7Ci0gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0
IFByb21pc2UuYWxsKFtsaXN0ZW5lclByb21pc2UsIGhhbmRsZXJQcm9taXNlXSk7Ci0gICAgcmVz
dWx0cy5mb3JFYWNoKG9iaiA9PiB7Ci0gICAgICBhc3NlcnRfdHJ1ZShvYmogaW5zdGFuY2VvZiBQ
YXltZW50QWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICJFeHBlY3RlZCBpbnN0YW5jZSBvZiBQ
YXltZW50QWRkcmVzcyIpOwotICAgICAgYXNzZXJ0X2VxdWFscyhvYmoub3JnYW5pemF0aW9uLCAi
IiwgIm9yZ2FuaXphdGlvbiBzaG91bGQgYmUgcmVkYWN0ZWQiKTsKLSAgICAgIGFzc2VydF9lcXVh
bHMob2JqLnBob25lLCAiIiwgInBob25lIHNob3VsZCBiZSByZWRhY3RlZCIpOwotICAgICAgYXNz
ZXJ0X2VxdWFscyhvYmoucmVjaXBpZW50LCAiIiwgInJlY2lwaWVudCBzaG91bGQgYmUgcmVkYWN0
ZWQiKTsKLSAgICAgIGFzc2VydF9lcXVhbHMob2JqLmFkZHJlc3NMaW5lLmxlbmd0aCwgMCwgImFk
ZHJlc3NMaW5lIHNob3VsZCBiZSByZWRhY3RlZCIpOwotICAgIH0pOwotICAgIGF3YWl0IHJlcXVl
c3QuYWJvcnQoKTsKLSAgfSk7Ci0gIGRvbmUoKTsKLX0KLQotPC9zY3JpcHQ+Ci0KLTxoMj5QYXlt
ZW50UmVxdWVzdCBzaGlwcGluZ0FkZHJlc3MgYXR0cmlidXRlPC9oMj4KLTxwPgotICBDbGljayBv
biBlYWNoIGJ1dHRvbiBpbiBzZXF1ZW5jZSBmcm9tIHRvcCB0byBib3R0b20gd2l0aG91dCByZWZy
ZXNoaW5nIHRoZSBwYWdlLgotICBFYWNoIGJ1dHRvbiB3aWxsIGJyaW5nIHVwIHRoZSBQYXltZW50
IFJlcXVlc3QgVUkgd2luZG93LgotPC9wPgotPHA+Ci0gIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQg
aXMgcHJlc2VudGVkLCBlbnRlciBvciBzZWxlY3QgYSBzaGlwcGluZyBhZGRyZXNzLgotPC9wPgot
PG9sPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJ0ZXN0U2hpcHBpbmdBZGRyZXNzQ2hh
bmdlKCkiPgotICAgICAgV2hlbiB0aGUgc2hpcHBpbmcgYWRkcmVzcyBpcyBtYW51YWxseSBjaGFu
Z2VkLCByZXF1ZXN0LnNoaXBwaW5nQWRkcmVzcyBpcyBhIFBheW1lbnRBZGRyZXNzLgotICAgIDwv
YnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0
ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0
cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJl
Zj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIv
cGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21h
bGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LWNvbnN1bWUtYWN0aXZhdGlvbi5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9zaG93LWNvbnN1bWUtYWN0aXZhdGlvbi5odHRwcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjVjNTg4OTBkMmFiYmQ2NWUzNThiNmUzMDZlN2Y4NmRmZmEzMDNhYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3Nob3ctY29uc3VtZS1hY3RpdmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBDYWxsaW5nIHNoYXJlIGNvbnN1bWVzIHVzZXIgYWN0
aXZhdGlvbiBwcm9taXNlX3JlamVjdHNfZG9tOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJv
dyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dl
cmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5vdEFs
bG93ZWRFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDE4LCBleHBlY3RlZCAwCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3Nob3ctY29uc3VtZS1hY3RpdmF0aW9uLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9z
aG93LWNvbnN1bWUtYWN0aXZhdGlvbi5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiOTJjNGMxNWNm
MTU4NDU3YTljZmFlNmZhYjAyMTcxYTQ5Y2E1ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93
LWNvbnN1bWUtYWN0aXZhdGlvbi5odHRwcy5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgor
ICAgIDx0aXRsZT5zaG93KCkgY29uc3VtZXMgdXNlciBhY3RpdmF0aW9uPC90aXRsZT4KKyAgICA8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wYXltZW50LXJlcXVl
c3QvI3Nob3ctbWV0aG9kIiAvPgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRy
aXZlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZl
ci12ZW5kb3IuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxzY3JpcHQ+
CisgICAgICBjb25zdCBkZWZhdWx0TWV0aG9kcyA9IFsKKyAgICAgICAgeyBzdXBwb3J0ZWRNZXRo
b2RzOiAiYmFzaWMtY2FyZCIgfSwKKyAgICAgICAgeworICAgICAgICAgIHN1cHBvcnRlZE1ldGhv
ZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAorICAgICAgICAgIGRhdGE6IHsKKyAg
ICAgICAgICAgIHZlcnNpb246IDMsCisgICAgICAgICAgICBtZXJjaGFudElkZW50aWZpZXI6ICJt
ZXJjaGFudC5jb20uZXhhbXBsZSIsCisgICAgICAgICAgICBjb3VudHJ5Q29kZTogIlVTIiwKKyAg
ICAgICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbInN1cHBvcnRzM0RTIl0sCisgICAgICAg
ICAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCisgICAgICAgICAgfSwKKyAgICAgICAg
fSwKKyAgICAgIF07CisKKyAgICAgIGNvbnN0IGRlZmF1bHREZXRhaWxzID0geworICAgICAgICB0
b3RhbDogeworICAgICAgICAgIGxhYmVsOiAiVG90YWwiLAorICAgICAgICAgIGFtb3VudDogewor
ICAgICAgICAgICAgY3VycmVuY3k6ICJVU0QiLAorICAgICAgICAgICAgdmFsdWU6ICIxLjAwIiwK
KyAgICAgICAgICB9LAorICAgICAgICB9LAorICAgICAgfTsKKyAgICAgIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICAgICAgY29uc3QgcHIgPSBuZXcgUGF5bWVudFJlcXVlc3QoZGVmYXVs
dE1ldGhvZHMsIGRlZmF1bHREZXRhaWxzKTsKKworICAgICAgICAvLyBOb3QgYWN0aXZhdGVkIGJ5
IHVzZXIgZ2VzdHVyZSwgc28gbm90IGFsbG93ZWQhCisgICAgICAgIGF3YWl0IHByb21pc2VfcmVq
ZWN0c19kb20odCwgIk5vdEFsbG93ZWRFcnJvciIsIHByLnNob3coKSk7CisKKyAgICAgICAgYXdh
aXQgdGVzdF9kcml2ZXIuYmxlc3MoIkNhbGxzIHNob3coKSBtZXRob2QiKTsKKworICAgICAgICAv
LyBBY3RpdmF0ZWQgYnkgdXNlciBnZXN0dXJlLCBzbyBhbGwgZ29vZC4KKyAgICAgICAgY29uc3Qg
c2hvd1Byb21pc2UgPSBwci5zaG93KCk7CisKKyAgICAgICAgLy8gVGhlIGFjdGl2YXRpb24gaGFz
IGJlZW4gY29uc3VtZWQsIHNvIGNhbGxpbmcgc2hvdygpIGFnYWluIHdvdWxkIHJlcXVpcmUKKyAg
ICAgICAgLy8gYSBuZXcgZ2VzdHVyZS4KKyAgICAgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2Rv
bSh0LCAiTm90QWxsb3dlZEVycm9yIiwgcHIuc2hvdygpKTsKKworICAgICAgICAvLyBBYm9ydCB0
aGUgcGF5bWVudCByZXF1ZXN0CisgICAgICAgIHByLmFib3J0KCkKKyAgICAgICAgYXdhaXQgcHJv
bWlzZV9yZWplY3RzX2RvbSh0LCAiQWJvcnRFcnJvciIsIHNob3dQcm9taXNlKTsKKyAgICAgIH0s
ICJDYWxsaW5nIHNoYXJlIGNvbnN1bWVzIHVzZXIgYWN0aXZhdGlvbiIpOworICAgIDwvc2NyaXB0
PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25h
bC1wcm9taXNlLXJlamVjdHMtbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRp
b25hbC1wcm9taXNlLXJlamVjdHMtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDFhMzIyNDUyZWI2MTE0NjMwYjJmMGQxZDJhOTc2MjA5MmFkNWViYjkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRo
b2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWplY3RzLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjk0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPG1ldGEgY2hhcnNldD0idXRm
LTgiPgotPHRpdGxlPlRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0LnNob3cob3B0aW9uYWwgZGV0YWls
c1Byb21pc2UpIG1ldGhvZDwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9icm93c2VyLXBheW1lbnQtYXBpLyNzaG93LW1ldGhvZCI+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAv
LyBTZWUgZnVuY3Rpb24gdGVzdEJhZFVwZGF0ZSgpIGZvciB0ZXN0IGRldGFpbHMhCi0gIHNldHVw
KHsKLSAgICBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUsCi0gICAgZXhwbGljaXRfZG9u
ZTogdHJ1ZSwKLSAgICBleHBsaWNpdF90aW1lb3V0OiB0cnVlLAotICB9KTsKLQotICAvLyA9PSBU
RVNUIERBVEEgPT09Ci0gIC8vIFBheW1lbnRNZXRob2QKLSAgY29uc3QgdmFsaWRNZXRob2QgPSBP
YmplY3QuZnJlZXplKHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAidmFsaWQtYnV0LXdvbnQtZXZl
ci1tYXRjaCIsCi0gIH0pOwotCi0gIGNvbnN0IHZhbGlkTWV0aG9kQmFzaWNDYXJkID0gT2JqZWN0
LmZyZWV6ZSh7Ci0gICAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotICB9KTsKLQot
ICBjb25zdCB2YWxpZE1ldGhvZEFwcGxlUGF5ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgc3VwcG9y
dGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsCi0gICAgZGF0YTogewot
ICAgICAgdmVyc2lvbjogMywKLSAgICAgIG1lcmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNv
bS5leGFtcGxlIiwKLSAgICAgIGNvdW50cnlDb2RlOiAiVVMiLAotICAgICAgbWVyY2hhbnRDYXBh
YmlsaXRpZXM6IFsic3VwcG9ydHMzRFMiXSwKLSAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbInZp
c2EiXSwKLSAgICB9Ci0gIH0pOwotCi0gIC8vIE1ldGhvZHMKLSAgY29uc3QgdmFsaWRNZXRob2Rz
ID0gT2JqZWN0LmZyZWV6ZShbCi0gICAgdmFsaWRNZXRob2RCYXNpY0NhcmQsCi0gICAgdmFsaWRN
ZXRob2QsCi0gICAgdmFsaWRNZXRob2RBcHBsZVBheSwKLSAgXSk7Ci0KLSAgLy8gQW1vdW50cwot
ICBjb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICAgIGN1cnJlbmN5OiAiVVNE
IiwKLSAgICB2YWx1ZTogIjEuMDAiLAotICB9KTsKLQotICBjb25zdCBpbnZhbGlkQW1vdW50ID0g
T2JqZWN0LmZyZWV6ZSh7Ci0gICAgY3VycmVuY3k6ICLCoUlOVkFMSUQhIiwKLSAgICB2YWx1ZTog
IkExLjAiLAotICB9KTsKLQotICBjb25zdCBuZWdhdGl2ZUFtb3VudCA9IE9iamVjdC5mcmVlemUo
ewotICAgIGN1cnJlbmN5OiAiVVNEIiwKLSAgICB2YWx1ZTogIi0xLjAwIiwKLSAgfSk7Ci0KLSAg
Ly8gVG90YWxzCi0gIGNvbnN0IHZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgICBsYWJl
bDogIlZhbGlkIFRvdGFsIiwKLSAgICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICB9KTsKLQotICBj
b25zdCBpbnZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgICBsYWJlbDogIkludmFsaWQg
VG90YWwiLAotICAgIGFtb3VudDogaW52YWxpZEFtb3VudCwKLSAgfSk7Ci0KLSAgY29uc3QgaW52
YWxpZE5lZ2F0aXZlVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgICBsYWJlbDogIkludmFsaWQg
bmVnYXRpdmUgdG90YWwiLAotICAgIGFtb3VudDogbmVnYXRpdmVBbW91bnQsCi0gIH0pOwotCi0g
IC8vIFBheW1lbnREZXRhaWxzSW5pdAotICBjb25zdCB2YWxpZERldGFpbHMgPSBPYmplY3QuZnJl
ZXplKHsKLSAgICB0b3RhbDogdmFsaWRUb3RhbCwKLSAgfSk7Ci0KLSAgY29uc3QgaW52YWxpZERl
dGFpbHNOZWdhdGl2ZVRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgdG90YWw6IGludmFsaWRO
ZWdhdGl2ZVRvdGFsLAotICB9KTsKLQotICAvLyBQYXltZW50T3B0aW9ucwotICBjb25zdCB2YWxp
ZE9wdGlvbnMgPSBPYmplY3QuZnJlZXplKHsKLSAgICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi0g
IH0pOwotCi0gIC8vIFBheW1lbnRJdGVtCi0gIGNvbnN0IHZhbGlkUGF5bWVudEl0ZW0gPSBPYmpl
Y3QuZnJlZXplKHsKLSAgICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICAgIGxhYmVsOiAiVmFsaWQg
cGF5bWVudCBpdGVtIiwKLSAgfSk7Ci0KLSAgY29uc3QgaW52YWxpZFBheW1lbnRJdGVtID0gT2Jq
ZWN0LmZyZWV6ZSh7Ci0gICAgYW1vdW50OiBpbnZhbGlkQW1vdW50LAotICAgIGxhYmVsOiAiSW52
YWxpZCBwYXltZW50IGl0ZW0iLAotICB9KTsKLQotICAvLyBQYXltZW50SXRlbQotICBjb25zdCB2
YWxpZFBheW1lbnRJdGVtcyA9IE9iamVjdC5mcmVlemUoW3ZhbGlkUGF5bWVudEl0ZW1dKTsKLSAg
Y29uc3QgaW52YWxpZFBheW1lbnRJdGVtcyA9IE9iamVjdC5mcmVlemUoW2ludmFsaWRQYXltZW50
SXRlbV0pOwotCi0gIC8vIFBheW1lbnRTaGlwcGluZ09wdGlvbgotICBjb25zdCBpbnZhbGlkU2hp
cHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAgICBpZDogImFiYyIsCi0gICAgbGFiZWw6
ICJJbnZhbGlkIHNoaXBwaW5nIG9wdGlvbiIsCi0gICAgYW1vdW50OiBpbnZhbGlkQW1vdW50LAot
ICAgIHNlbGVjdGVkOiB0cnVlLAotICB9KTsKLQotICAvLyBQYXltZW50U2hpcHBpbmdPcHRpb25z
Ci0gIGNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAgICBpZDog
ImFiYyIsCi0gICAgbGFiZWw6ICJ2YWxpZCBzaGlwcGluZyBvcHRpb24iLAotICAgIGFtb3VudDog
dmFsaWRBbW91bnQsCi0gIH0pOwotCi0gIGNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb25zID0gT2Jq
ZWN0LmZyZWV6ZShbdmFsaWRTaGlwcGluZ09wdGlvbl0pOwotICBjb25zdCBpbnZhbGlkU2hpcHBp
bmdPcHRpb25zID0gT2JqZWN0LmZyZWV6ZShbaW52YWxpZFNoaXBwaW5nT3B0aW9uXSk7Ci0KLSAg
Ly8gUGF5bWVudERldGFpbHNNb2RpZmllcgotICBjb25zdCB2YWxpZE1vZGlmaWVyID0gT2JqZWN0
LmZyZWV6ZSh7Ci0gICAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogdmFsaWRQYXltZW50SXRlbXMs
Ci0gICAgc3VwcG9ydGVkTWV0aG9kczogInZhbGlkLWJ1dC13b250LWV2ZXItbWF0Y2giLAotICAg
IHRvdGFsOiB2YWxpZFRvdGFsLAotICB9KTsKLQotICBjb25zdCBtb2RpZmllcldpdGhJbnZhbGlk
RGlzcGxheUl0ZW1zID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgYWRkaXRpb25hbERpc3BsYXlJdGVt
czogaW52YWxpZFBheW1lbnRJdGVtcywKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2Fy
ZCIsCi0gICAgdG90YWw6IHZhbGlkVG90YWwsCi0gIH0pOwotCi0gIGNvbnN0IG1vZGlmaWVyV2l0
aFZhbGlkRGlzcGxheUl0ZW1zID0gT2JqZWN0LmZyZWV6ZSh7Ci0gICAgYWRkaXRpb25hbERpc3Bs
YXlJdGVtczogdmFsaWRQYXltZW50SXRlbXMsCi0gICAgc3VwcG9ydGVkTWV0aG9kczogImJhc2lj
LWNhcmQiLAotICAgIHRvdGFsOiB2YWxpZFRvdGFsLAotICB9KTsKLQotICBjb25zdCBtb2RpZmll
cldpdGhJbnZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgICBhZGRpdGlvbmFsRGlzcGxh
eUl0ZW1zOiB2YWxpZFBheW1lbnRJdGVtcywKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMt
Y2FyZCIsCi0gICAgdG90YWw6IGludmFsaWRUb3RhbCwKLSAgfSk7Ci0KLSAgY29uc3QgcmVjdXJz
aXZlRGF0YSA9IHt9OwotICByZWN1cnNpdmVEYXRhLmZvbyA9IHJlY3Vyc2l2ZURhdGE7Ci0gIE9i
amVjdC5mcmVlemUocmVjdXJzaXZlRGF0YSk7Ci0KLSAgY29uc3QgbW9kaWZpZXJXaXRoUmVjdXJz
aXZlRGF0YSA9IE9iamVjdC5mcmVlemUoewotICAgIHN1cHBvcnRlZE1ldGhvZHM6IHZhbGlkTWV0
aG9kQmFzaWNDYXJkLAotICAgIHRvdGFsOiB2YWxpZFRvdGFsLAotICAgIGRhdGE6IHJlY3Vyc2l2
ZURhdGEsCi0gIH0pOwotICAvLyA9PSBFTkQgT0YgVEVTVCBEQVRBID09PQotICAvKgotICAgIFRo
ZXNlIHRlc3Qgd29yayBieSBjcmVhdGluZyBhICJ2YWxpZCIgcGF5bWVudCByZXF1ZXN0IGFuZCB0
aGVuCi0gICAgcGVyZm9ybWluZyBhIGJhZCB1cGRhdGUgdmlhIGBzaG93KGRldGFpbHNQcm9taXNl
KWAuCi0gICAgVGhlIGBiYWREZXRhaWxzYCBjYXVzZSBkZXRhaWxzUHJvbWlzZSB0byByZWplY3Qg
d2l0aCBgZXhwZWN0ZWRFcnJvcmAuCi0gICAgKi8KLSAgZnVuY3Rpb24gdGVzdEJhZFVwZGF0ZSh0
ZXN0QXNzZXJ0aW9uLCBiYWREZXRhaWxzLCBleHBlY3RlZEVycm9yKSB7Ci0gICAgcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4gewotICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVz
dCgKLSAgICAgICAgdmFsaWRNZXRob2RzLAotICAgICAgICB2YWxpZERldGFpbHMsCi0gICAgICAg
IHZhbGlkT3B0aW9ucwotICAgICAgKTsKLSAgICAgIGNvbnN0IGRldGFpbHNQcm9taXNlID0gUHJv
bWlzZS5yZXNvbHZlKGJhZERldGFpbHMpOwotICAgICAgY29uc3QgYWNjZXB0UHJvbWlzZSA9IHJl
cXVlc3Quc2hvdyhkZXRhaWxzUHJvbWlzZSk7Ci0gICAgICBsZXQgdGVzdF9mdW5jOwotICAgICAg
aWYgKHR5cGVvZiBleHBlY3RlZEVycm9yID09ICJmdW5jdGlvbiIpIHsKLSAgICAgICAgdGVzdF9m
dW5jID0gcHJvbWlzZV9yZWplY3RzX2pzOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgdGVzdF9m
dW5jID0gcHJvbWlzZV9yZWplY3RzX2RvbTsKLSAgICAgIH0KLSAgICAgIGF3YWl0IHRlc3RfZnVu
YygKLSAgICAgICAgdCwKLSAgICAgICAgZXhwZWN0ZWRFcnJvciwKLSAgICAgICAgYWNjZXB0UHJv
bWlzZSwKLSAgICAgICAgImJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9taXNlIHRvIHJl
amVjdCB3aXRoIGV4cGVjdGVkRXJyb3IiCi0gICAgICApOwotICAgIH0sIHRlc3RBc3NlcnRpb24p
OwotICB9Ci08L3NjcmlwdD4KLTxoMj4KLSAgUGF5bWVudFJlcXVlc3QgPGNvZGU+LnNob3cob3B0
aW9uYWwgZGV0YWlsc1Byb21pc2UpPC9jb2RlPiB0ZXN0cwotPC9oMj4KLTxoMz4KLSAgQmFkIGRl
dGFpbHMgLSBjYXVzZXMgYGRldGFpbHNQcm9taXNlYCB0byByZWplY3QuCi08L2gzPgotPHA+Ci0g
IENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVlbmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRo
b3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gIE5vIHBheW1lbnQgc2hlZXQgc2hvdWxkIGJlIHNo
b3duLCBhcyBhbGwgcHJvdmlkZWQgdmFsdWVzIGNhdXNlIGFuIGVycm9yLgotPC9wPgotPHA+Ci0g
IDxzdHJvbmc+Ci0gICAgSWYgeW91IHNlZSBhIHBheW1lbnQgc2hlZXQsIGl0IG1lYW5zIHRoZSB0
ZXN0IGhhcyBmYWlsZWQuCi0gIDwvc3Ryb25nPgotPC9wPgotPG9sPgotICA8bGk+PGJ1dHRvbiBv
bmNsaWNrPSIKLSAgICBjb25zdCByZWplY3RlZFByb21pc2UgPSBQcm9taXNlLnJlamVjdChuZXcg
U3ludGF4RXJyb3IoJ3Rlc3QnKSkKLSAgICAgIC5jYXRjaChlcnIgPT4gZXJyKTsKLSAgICB0ZXN0
QmFkVXBkYXRlKHRoaXMudGV4dENvbnRlbnQsIHJlamVjdGVkUHJvbWlzZSwgJ0Fib3J0RXJyb3In
KTsKLSAgIj4KLSAgUmVqZWN0aW9uIG9mIGRldGFpbHNQcm9taXNlIG11c3QgYWJvcnQgdGhlIHVw
ZGF0ZSB3aXRoIGFuICdBYm9ydEVycm9yJyBET01FeGNlcHRpb24uCi0gIDwvYnV0dG9uPjwvbGk+
Ci0KLSAgPGxpPjxidXR0b24gb25jbGljaz0iCi0gICAgY29uc3QgaW52YWxpZERldGFpbHMgPSB7
IHRvdGFsOiBgdGhpcyB3aWxsIGNhdXNlIGEgVHlwZUVycm9yIWAgfTsKLSAgICB0ZXN0QmFkVXBk
YXRlKHRoaXMudGV4dENvbnRlbnQsIGludmFsaWREZXRhaWxzLCBUeXBlRXJyb3IpOwotICAiPgot
ICBUb3RhbCBpbiB0aGUgdXBkYXRlIGlzIGEgc3RyaW5nLCBzbyBjb252ZXJ0aW5nIHRvIElETCBt
dXN0IGFib3J0IHRoZSB1cGRhdGUgd2l0aCBhIFR5cGVFcnJvci4KLSAgPC9idXR0b24+PC9saT4K
LQotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBpbnZhbGlkRGV0YWlscyA9IHsg
dG90YWw6IHJlY3Vyc2l2ZURhdGEgfTsKLSAgICB0ZXN0QmFkVXBkYXRlKHRoaXMudGV4dENvbnRl
bnQsIGludmFsaWREZXRhaWxzLCBUeXBlRXJyb3IpOwotICAiPgotICBUb3RhbCBpcyByZWN1cnNp
dmUsIHNvIGNvbnZlcnRpbmcgdG8gSURMIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGEgVHlw
ZUVycm9yLgotICA8L2J1dHRvbj48L2xpPgotCi0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAg
IHRlc3RCYWRVcGRhdGUodGhpcy50ZXh0Q29udGVudCwgaW52YWxpZERldGFpbHNOZWdhdGl2ZVRv
dGFsLCBUeXBlRXJyb3IpOwotICAiPgotICBVcGRhdGluZyB3aXRoIGEgbmVnYXRpdmUgdG90YWwg
cmVzdWx0cyBpbiBhIFR5cGVFcnJvci4KLSAgPC9idXR0b24+PC9saT4KLQotICA8bGk+PGJ1dHRv
biBvbmNsaWNrPSIKLSAgICBjb25zdCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFs
aWREZXRhaWxzLCB7Ci0gICAgICBkaXNwbGF5SXRlbXM6IGludmFsaWRQYXltZW50SXRlbXMKLSAg
ICB9KTsKLSAgICB0ZXN0QmFkVXBkYXRlKHRoaXMudGV4dENvbnRlbnQsIGJhZERldGFpbHMsIFJh
bmdlRXJyb3IpOwotICAiPgotICBVcGRhdGluZyB3aXRoIGEgZGlzcGxheUl0ZW0gd2l0aCBhbiBp
bnZhbGlkIGN1cnJlbmN5IHJlc3VsdHMgaW4gUmFuZ2VFcnJvci4KLSAgPC9idXR0b24+PC9saT4K
LQotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBkdXBsaWNhdGVTaGlwcGluZ09w
dGlvbnMgPSBbdmFsaWRTaGlwcGluZ09wdGlvbiwgdmFsaWRTaGlwcGluZ09wdGlvbl07Ci0gICAg
Y29uc3QgYmFkRGV0YWlscyA9IE9iamVjdC5hc3NpZ24oe30sIHZhbGlkRGV0YWlscywgewotICAg
ICAgc2hpcHBpbmdPcHRpb25zOiBkdXBsaWNhdGVTaGlwcGluZ09wdGlvbnMsCi0gICAgfSk7Ci0g
ICAgdGVzdEJhZFVwZGF0ZSh0aGlzLnRleHRDb250ZW50LCBiYWREZXRhaWxzLCBUeXBlRXJyb3Ip
OwotICAiPgotICBVcGRhdGluZyB3aXRoIGR1cGxpY2F0ZSBzaGlwcGluZ09wdGlvbnMgKHNhbWUg
SURzKSByZXN1bHRzIGluIGEgVHlwZUVycm9yLgotICA8L2J1dHRvbj48L2xpPgotICA8bGk+PGJ1
dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwg
dmFsaWREZXRhaWxzLCB7Ci0gICAgICBzaGlwcGluZ09wdGlvbnM6IGludmFsaWRTaGlwcGluZ09w
dGlvbnMsCi0gICAgfSk7Ci0gICAgdGVzdEJhZFVwZGF0ZSh0aGlzLnRleHRDb250ZW50LCBiYWRE
ZXRhaWxzLCBSYW5nZUVycm9yKTsKLSAgIj4KLSAgVXBkYXRpbmcgd2l0aCBhIHNoaXBwaW5nT3B0
aW9uIHdpdGggYW4gaW52YWxpZCBjdXJyZW5jeSB2YWx1ZSByZXN1bHRzIGluIGEgUmFuZ0Vycm9y
LgotICA8L2J1dHRvbj48L2xpPgotCi0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAgIC8vIHZh
bGlkTW9kaWZpZXIgaXMgdGhlcmUgYXMgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzCi0gICAgY29u
c3QgYmFkTW9kaWZpZXJzID0geyBtb2RpZmllcnM6IFttb2RpZmllcldpdGhJbnZhbGlkVG90YWws
IHZhbGlkTW9kaWZpZXJdIH07Ci0gICAgY29uc3QgYmFkRGV0YWlscyA9IE9iamVjdC5hc3NpZ24o
e30sIHZhbGlkRGV0YWlscywgYmFkTW9kaWZpZXJzKTsKLSAgICB0ZXN0QmFkVXBkYXRlKHRoaXMu
dGV4dENvbnRlbnQsIGJhZERldGFpbHMsIFJhbmdlRXJyb3IpOwotICAiPgotICBNdXN0IHRocm93
IGEgUmFuZ2VFcnJvciB3aGVuIGEgbW9kaWZpZXIncyB0b3RhbCBpdGVtIGhhcyBhbiBpbnZhbGlk
IGN1cnJlbmN5LgotICA8L2J1dHRvbj48L2xpPgotCi0gIDxsaT48YnV0dG9uIG9uY2xpY2s9Igot
ICAgIC8vIHZhbGlkTW9kaWZpZXIgaXMgdGhlcmUgYXMgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVz
Ci0gICAgY29uc3QgYmFkTW9kaWZpZXJzID0gewotICAgICAgbW9kaWZpZXJzOiBbbW9kaWZpZXJX
aXRoSW52YWxpZERpc3BsYXlJdGVtcywgdmFsaWRNb2RpZmllcl0sCi0gICAgfTsKLSAgICBjb25z
dCBiYWREZXRhaWxzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsaWREZXRhaWxzLCBiYWRNb2RpZmll
cnMpOwotICAgIHRlc3RCYWRVcGRhdGUodGhpcy50ZXh0Q29udGVudCwgYmFkRGV0YWlscywgUmFu
Z2VFcnJvcik7Ci0gICI+Ci0gIE11c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmll
ciBkaXNwbGF5IGl0ZW0gaGFzIGFuIGludmFsaWQgY3VycmVuY3kuCi0gIDwvYnV0dG9uPjwvbGk+
Ci0KLSAgPGxpPjxidXR0b24gb25jbGljaz0iCi0gICAgLy8gdmFsaWRNb2RpZmllciBpcyB0aGVy
ZSBhcyB0byBhdm9pZCBmYWxzZSBwb3NpdGl2ZXMKLSAgICBjb25zdCBiYWRNb2RpZmllcnMgPSB7
Ci0gICAgICBtb2RpZmllcnM6IFttb2RpZmllcldpdGhSZWN1cnNpdmVEYXRhLCB2YWxpZE1vZGlm
aWVyXSwKLSAgICB9OwotICAgIGNvbnN0IGJhZERldGFpbHMgPSBPYmplY3QuYXNzaWduKHt9LCB2
YWxpZERldGFpbHMsIGJhZE1vZGlmaWVycyk7Ci0gICAgdGVzdEJhZFVwZGF0ZSh0aGlzLnRleHRD
b250ZW50LCBiYWREZXRhaWxzLCBUeXBlRXJyb3IpOwotICAiPgotICBNdXN0IHRocm93IGFzIE1v
ZGlmaWVyIGhhcyBhIHJlY3Vyc2l2ZSBkaWN0aW9uYXJ5LgotICA8L2J1dHRvbj48L2xpPgotCi0g
IDxsaT48YnV0dG9uIG9uY2xpY2s9ImRvbmUoKTsiPkRvbmUhPC9idXR0b24+PC9saT4KLTwvb2w+
Ci0KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0i
aHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEg
YnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEu
eW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9z
aG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJlamVjdHMuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWplY3RzLmh0dHBzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MGVkMmZlN2Y4NzdkMTNlM2IzODA3ZGM5Zjc3MGEyMjkxMmRjODgwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWplY3Rz
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMwIEBACisKK0ZBSUwgUmVqZWN0aW9uIG9m
IGRldGFpbHNQcm9taXNlIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGFuICdBYm9ydEVycm9y
JyBET01FeGNlcHRpb24uIHByb21pc2VfcmVqZWN0c19kb206IGJhZERldGFpbHMgbXVzdCBjYXVz
ZSBhY2NlcHRQcm9taXNlIHRvIHJlamVjdCB3aXRoIGV4cGVjdGVkRXJyb3IgZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3co
KSBtdXN0IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uIiB0aGF0IGlzIG5vdCBhIERP
TUV4Y2VwdGlvbiBBYm9ydEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTgsIGV4
cGVjdGVkIDIwCitGQUlMIFRvdGFsIGluIHRoZSB1cGRhdGUgaXMgYSBzdHJpbmcsIHNvIGNvbnZl
cnRpbmcgdG8gSURMIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGEgVHlwZUVycm9yLiBwcm9t
aXNlX3JlamVjdHNfanM6IGJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2NlcHRQcm9taXNlIHRvIHJl
amVjdCB3aXRoIGV4cGVjdGVkRXJyb3IgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9
IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0IGJlIHRyaWdnZXJlZCBi
eSB1c2VyIGFjdGl2YXRpb24uIiAoIlNlY3VyaXR5RXJyb3IiKSBleHBlY3RlZCBpbnN0YW5jZSBv
ZiBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30i
ICgiVHlwZUVycm9yIikKK0ZBSUwgVG90YWwgaXMgcmVjdXJzaXZlLCBzbyBjb252ZXJ0aW5nIHRv
IElETCBtdXN0IGFib3J0IHRoZSB1cGRhdGUgd2l0aCBhIFR5cGVFcnJvci4gcHJvbWlzZV9yZWpl
Y3RzX2pzOiBiYWREZXRhaWxzIG11c3QgY2F1c2UgYWNjZXB0UHJvbWlzZSB0byByZWplY3Qgd2l0
aCBleHBlY3RlZEVycm9yIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcg
b2JqZWN0ICJTZWN1cml0eUVycm9yOiBzaG93KCkgbXVzdCBiZSB0cmlnZ2VyZWQgYnkgdXNlciBh
Y3RpdmF0aW9uLiIgKCJTZWN1cml0eUVycm9yIikgZXhwZWN0ZWQgaW5zdGFuY2Ugb2YgZnVuY3Rp
b24gImZ1bmN0aW9uIFR5cGVFcnJvcigpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiAoIlR5cGVF
cnJvciIpCitGQUlMIFVwZGF0aW5nIHdpdGggYSBuZWdhdGl2ZSB0b3RhbCByZXN1bHRzIGluIGEg
VHlwZUVycm9yLiBwcm9taXNlX3JlamVjdHNfanM6IGJhZERldGFpbHMgbXVzdCBjYXVzZSBhY2Nl
cHRQcm9taXNlIHRvIHJlamVjdCB3aXRoIGV4cGVjdGVkRXJyb3IgZnVuY3Rpb24gImZ1bmN0aW9u
ICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IHNob3coKSBtdXN0
IGJlIHRyaWdnZXJlZCBieSB1c2VyIGFjdGl2YXRpb24uIiAoIlNlY3VyaXR5RXJyb3IiKSBleHBl
Y3RlZCBpbnN0YW5jZSBvZiBmdW5jdGlvbiAiZnVuY3Rpb24gVHlwZUVycm9yKCkgeworICAgIFtu
YXRpdmUgY29kZV0KK30iICgiVHlwZUVycm9yIikKK0ZBSUwgVXBkYXRpbmcgd2l0aCBhIGRpc3Bs
YXlJdGVtIHdpdGggYW4gaW52YWxpZCBjdXJyZW5jeSByZXN1bHRzIGluIFJhbmdlRXJyb3IuIHBy
b21pc2VfcmVqZWN0c19qczogYmFkRGV0YWlscyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8g
cmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJvciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBl
IH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVk
IGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgiU2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIGluc3RhbmNl
IG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBSYW5nZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0K
K30iICgiUmFuZ2VFcnJvciIpCitGQUlMIFVwZGF0aW5nIHdpdGggZHVwbGljYXRlIHNoaXBwaW5n
T3B0aW9ucyAoc2FtZSBJRHMpIHJlc3VsdHMgaW4gYSBUeXBlRXJyb3IuIHByb21pc2VfcmVqZWN0
c19qczogYmFkRGV0YWlscyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGgg
ZXhwZWN0ZWRFcnJvciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9i
amVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0
aXZhdGlvbi4iICgiU2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9u
ICJmdW5jdGlvbiBUeXBlRXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJUeXBlRXJy
b3IiKQorRkFJTCBVcGRhdGluZyB3aXRoIGEgc2hpcHBpbmdPcHRpb24gd2l0aCBhbiBpbnZhbGlk
IGN1cnJlbmN5IHZhbHVlIHJlc3VsdHMgaW4gYSBSYW5nRXJyb3IuIHByb21pc2VfcmVqZWN0c19q
czogYmFkRGV0YWlscyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhw
ZWN0ZWRFcnJvciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVj
dCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZh
dGlvbi4iICgiU2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJm
dW5jdGlvbiBSYW5nZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iICgiUmFuZ2VFcnJv
ciIpCitGQUlMIE11c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmllcidzIHRvdGFs
IGl0ZW0gaGFzIGFuIGludmFsaWQgY3VycmVuY3kuIHByb21pc2VfcmVqZWN0c19qczogYmFkRGV0
YWlscyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJv
ciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJp
dHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgi
U2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBS
YW5nZUVycm9yKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iICgiUmFuZ2VFcnJvciIpCitGQUlM
IE11c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmllciBkaXNwbGF5IGl0ZW0gaGFz
IGFuIGludmFsaWQgY3VycmVuY3kuIHByb21pc2VfcmVqZWN0c19qczogYmFkRGV0YWlscyBtdXN0
IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGggZXhwZWN0ZWRFcnJvciBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiU2VjdXJpdHlFcnJvcjog
c2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbi4iICgiU2VjdXJpdHlF
cnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9uICJmdW5jdGlvbiBSYW5nZUVycm9y
KCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iICgiUmFuZ2VFcnJvciIpCitGQUlMIE11c3QgdGhy
b3cgYXMgTW9kaWZpZXIgaGFzIGEgcmVjdXJzaXZlIGRpY3Rpb25hcnkuIHByb21pc2VfcmVqZWN0
c19qczogYmFkRGV0YWlscyBtdXN0IGNhdXNlIGFjY2VwdFByb21pc2UgdG8gcmVqZWN0IHdpdGgg
ZXhwZWN0ZWRFcnJvciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9i
amVjdCAiU2VjdXJpdHlFcnJvcjogc2hvdygpIG11c3QgYmUgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0
aXZhdGlvbi4iICgiU2VjdXJpdHlFcnJvciIpIGV4cGVjdGVkIGluc3RhbmNlIG9mIGZ1bmN0aW9u
ICJmdW5jdGlvbiBUeXBlRXJyb3IoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgKCJUeXBlRXJy
b3IiKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJlamVj
dHMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXByb21pc2UtcmVqZWN0cy5o
dHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiNDI5NjU1MDM5MjJkODgyMTM0MDlkYzgxNDMwMGMwNWIz
YTY3MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNl
LXJlamVjdHMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDI1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UZXN0IGZvciBQYXltZW50UmVxdWVzdC5z
aG93KG9wdGlvbmFsIGRldGFpbHNQcm9taXNlKSBtZXRob2Q8L3RpdGxlPgorPGxpbmsKKyAgcmVs
PSJoZWxwIgorICBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vYnJvd3Nlci1wYXltZW50LWFw
aS8jc2hvdy1tZXRob2QiCisvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorICAvLyBTZWUgZnVuY3Rpb24gdGVzdEJhZFVwZGF0ZSgpIGZvciB0
ZXN0IGRldGFpbHMhCisgIHNldHVwKHsKKyAgICBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRy
dWUsCisgIH0pOworCisgIC8vID09IFRFU1QgREFUQSA9PT0KKyAgLy8gUGF5bWVudE1ldGhvZAor
ICBjb25zdCB2YWxpZE1ldGhvZCA9IE9iamVjdC5mcmVlemUoeworICAgIHN1cHBvcnRlZE1ldGhv
ZHM6ICJ2YWxpZC1idXQtd29udC1ldmVyLW1hdGNoIiwKKyAgfSk7CisKKyAgY29uc3QgdmFsaWRN
ZXRob2RCYXNpY0NhcmQgPSBPYmplY3QuZnJlZXplKHsKKyAgICBzdXBwb3J0ZWRNZXRob2RzOiAi
YmFzaWMtY2FyZCIsCisgIH0pOworCisgIGNvbnN0IHZhbGlkTWV0aG9kQXBwbGVQYXkgPSBPYmpl
Y3QuZnJlZXplKHsKKyAgICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBw
bGUtcGF5IiwKKyAgICBkYXRhOiB7CisgICAgICB2ZXJzaW9uOiAzLAorICAgICAgbWVyY2hhbnRJ
ZGVudGlmaWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAorICAgICAgY291bnRyeUNvZGU6ICJV
UyIsCisgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAorICAgICAg
c3VwcG9ydGVkTmV0d29ya3M6IFsidmlzYSJdLAorICAgIH0sCisgIH0pOworCisgIC8vIE1ldGhv
ZHMKKyAgY29uc3QgdmFsaWRNZXRob2RzID0gT2JqZWN0LmZyZWV6ZShbCisgICAgdmFsaWRNZXRo
b2RCYXNpY0NhcmQsCisgICAgdmFsaWRNZXRob2QsCisgICAgdmFsaWRNZXRob2RBcHBsZVBheSwK
KyAgXSk7CisKKyAgLy8gQW1vdW50cworICBjb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVl
emUoeworICAgIGN1cnJlbmN5OiAiVVNEIiwKKyAgICB2YWx1ZTogIjEuMDAiLAorICB9KTsKKwor
ICBjb25zdCBpbnZhbGlkQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgY3VycmVuY3k6ICLC
oUlOVkFMSUQhIiwKKyAgICB2YWx1ZTogIkExLjAiLAorICB9KTsKKworICBjb25zdCBuZWdhdGl2
ZUFtb3VudCA9IE9iamVjdC5mcmVlemUoeworICAgIGN1cnJlbmN5OiAiVVNEIiwKKyAgICB2YWx1
ZTogIi0xLjAwIiwKKyAgfSk7CisKKyAgLy8gVG90YWxzCisgIGNvbnN0IHZhbGlkVG90YWwgPSBP
YmplY3QuZnJlZXplKHsKKyAgICBsYWJlbDogIlZhbGlkIFRvdGFsIiwKKyAgICBhbW91bnQ6IHZh
bGlkQW1vdW50LAorICB9KTsKKworICBjb25zdCBpbnZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXpl
KHsKKyAgICBsYWJlbDogIkludmFsaWQgVG90YWwiLAorICAgIGFtb3VudDogaW52YWxpZEFtb3Vu
dCwKKyAgfSk7CisKKyAgY29uc3QgaW52YWxpZE5lZ2F0aXZlVG90YWwgPSBPYmplY3QuZnJlZXpl
KHsKKyAgICBsYWJlbDogIkludmFsaWQgbmVnYXRpdmUgdG90YWwiLAorICAgIGFtb3VudDogbmVn
YXRpdmVBbW91bnQsCisgIH0pOworCisgIC8vIFBheW1lbnREZXRhaWxzSW5pdAorICBjb25zdCB2
YWxpZERldGFpbHMgPSBPYmplY3QuZnJlZXplKHsKKyAgICB0b3RhbDogdmFsaWRUb3RhbCwKKyAg
fSk7CisKKyAgY29uc3QgaW52YWxpZERldGFpbHNOZWdhdGl2ZVRvdGFsID0gT2JqZWN0LmZyZWV6
ZSh7CisgICAgdG90YWw6IGludmFsaWROZWdhdGl2ZVRvdGFsLAorICB9KTsKKworICAvLyBQYXlt
ZW50T3B0aW9ucworICBjb25zdCB2YWxpZE9wdGlvbnMgPSBPYmplY3QuZnJlZXplKHsKKyAgICBy
ZXF1ZXN0U2hpcHBpbmc6IHRydWUsCisgIH0pOworCisgIC8vIFBheW1lbnRJdGVtCisgIGNvbnN0
IHZhbGlkUGF5bWVudEl0ZW0gPSBPYmplY3QuZnJlZXplKHsKKyAgICBhbW91bnQ6IHZhbGlkQW1v
dW50LAorICAgIGxhYmVsOiAiVmFsaWQgcGF5bWVudCBpdGVtIiwKKyAgfSk7CisKKyAgY29uc3Qg
aW52YWxpZFBheW1lbnRJdGVtID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgYW1vdW50OiBpbnZhbGlk
QW1vdW50LAorICAgIGxhYmVsOiAiSW52YWxpZCBwYXltZW50IGl0ZW0iLAorICB9KTsKKworICAv
LyBQYXltZW50SXRlbQorICBjb25zdCB2YWxpZFBheW1lbnRJdGVtcyA9IE9iamVjdC5mcmVlemUo
W3ZhbGlkUGF5bWVudEl0ZW1dKTsKKyAgY29uc3QgaW52YWxpZFBheW1lbnRJdGVtcyA9IE9iamVj
dC5mcmVlemUoW2ludmFsaWRQYXltZW50SXRlbV0pOworCisgIC8vIFBheW1lbnRTaGlwcGluZ09w
dGlvbgorICBjb25zdCBpbnZhbGlkU2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKKyAg
ICBpZDogImFiYyIsCisgICAgbGFiZWw6ICJJbnZhbGlkIHNoaXBwaW5nIG9wdGlvbiIsCisgICAg
YW1vdW50OiBpbnZhbGlkQW1vdW50LAorICAgIHNlbGVjdGVkOiB0cnVlLAorICB9KTsKKworICAv
LyBQYXltZW50U2hpcHBpbmdPcHRpb25zCisgIGNvbnN0IHZhbGlkU2hpcHBpbmdPcHRpb24gPSBP
YmplY3QuZnJlZXplKHsKKyAgICBpZDogImFiYyIsCisgICAgbGFiZWw6ICJ2YWxpZCBzaGlwcGlu
ZyBvcHRpb24iLAorICAgIGFtb3VudDogdmFsaWRBbW91bnQsCisgIH0pOworCisgIGNvbnN0IHZh
bGlkU2hpcHBpbmdPcHRpb25zID0gT2JqZWN0LmZyZWV6ZShbdmFsaWRTaGlwcGluZ09wdGlvbl0p
OworICBjb25zdCBpbnZhbGlkU2hpcHBpbmdPcHRpb25zID0gT2JqZWN0LmZyZWV6ZShbaW52YWxp
ZFNoaXBwaW5nT3B0aW9uXSk7CisKKyAgLy8gUGF5bWVudERldGFpbHNNb2RpZmllcgorICBjb25z
dCB2YWxpZE1vZGlmaWVyID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgYWRkaXRpb25hbERpc3BsYXlJ
dGVtczogdmFsaWRQYXltZW50SXRlbXMsCisgICAgc3VwcG9ydGVkTWV0aG9kczogInZhbGlkLWJ1
dC13b250LWV2ZXItbWF0Y2giLAorICAgIHRvdGFsOiB2YWxpZFRvdGFsLAorICB9KTsKKworICBj
b25zdCBtb2RpZmllcldpdGhJbnZhbGlkRGlzcGxheUl0ZW1zID0gT2JqZWN0LmZyZWV6ZSh7Cisg
ICAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogaW52YWxpZFBheW1lbnRJdGVtcywKKyAgICBzdXBw
b3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCisgICAgdG90YWw6IHZhbGlkVG90YWwsCisgIH0p
OworCisgIGNvbnN0IG1vZGlmaWVyV2l0aFZhbGlkRGlzcGxheUl0ZW1zID0gT2JqZWN0LmZyZWV6
ZSh7CisgICAgYWRkaXRpb25hbERpc3BsYXlJdGVtczogdmFsaWRQYXltZW50SXRlbXMsCisgICAg
c3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAorICAgIHRvdGFsOiB2YWxpZFRvdGFsLAor
ICB9KTsKKworICBjb25zdCBtb2RpZmllcldpdGhJbnZhbGlkVG90YWwgPSBPYmplY3QuZnJlZXpl
KHsKKyAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiB2YWxpZFBheW1lbnRJdGVtcywKKyAgICBz
dXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCisgICAgdG90YWw6IGludmFsaWRUb3RhbCwK
KyAgfSk7CisKKyAgY29uc3QgcmVjdXJzaXZlRGF0YSA9IHt9OworICByZWN1cnNpdmVEYXRhLmZv
byA9IHJlY3Vyc2l2ZURhdGE7CisgIE9iamVjdC5mcmVlemUocmVjdXJzaXZlRGF0YSk7CisKKyAg
Y29uc3QgbW9kaWZpZXJXaXRoUmVjdXJzaXZlRGF0YSA9IE9iamVjdC5mcmVlemUoeworICAgIHN1
cHBvcnRlZE1ldGhvZHM6ICJiYXNpYy1jYXJkIiwKKyAgICB0b3RhbDogdmFsaWRUb3RhbCwKKyAg
ICBkYXRhOiByZWN1cnNpdmVEYXRhLAorICB9KTsKKyAgLy8gPT0gRU5EIE9GIFRFU1QgREFUQSA9
PT0KKyAgLyoKKyAgICBUaGVzZSB0ZXN0IHdvcmsgYnkgY3JlYXRpbmcgYSAidmFsaWQiIHBheW1l
bnQgcmVxdWVzdCBhbmQgdGhlbgorICAgIHBlcmZvcm1pbmcgYSBiYWQgdXBkYXRlIHZpYSBgc2hv
dyhkZXRhaWxzUHJvbWlzZSlgLgorICAgIFRoZSBgYmFkRGV0YWlsc2AgY2F1c2UgZGV0YWlsc1By
b21pc2UgdG8gcmVqZWN0IHdpdGggYGV4cGVjdGVkRXJyb3JgLgorICAgICovCisgIGZ1bmN0aW9u
IHRlc3RCYWRVcGRhdGUodGVzdEFzc2VydGlvbiwgYmFkRGV0YWlscywgZXhwZWN0ZWRFcnJvcikg
eworICAgIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgICAgY29uc3QgcmVxdWVzdCA9
IG5ldyBQYXltZW50UmVxdWVzdCgKKyAgICAgICAgdmFsaWRNZXRob2RzLAorICAgICAgICB2YWxp
ZERldGFpbHMsCisgICAgICAgIHZhbGlkT3B0aW9ucworICAgICAgKTsKKyAgICAgIGF3YWl0IHRl
c3RfZHJpdmVyLmJsZXNzKCJQYXltZW50IHJlcXVlc3QiKTsKKyAgICAgIGNvbnN0IGRldGFpbHNQ
cm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKGJhZERldGFpbHMpOworICAgICAgY29uc3QgYWNjZXB0
UHJvbWlzZSA9IHJlcXVlc3Quc2hvdyhkZXRhaWxzUHJvbWlzZSk7CisgICAgICBjb25zdCB0ZXN0
X2Z1bmMgPQorICAgICAgICB0eXBlb2YgZXhwZWN0ZWRFcnJvciA9PSAiZnVuY3Rpb24iCisgICAg
ICAgICAgPyBwcm9taXNlX3JlamVjdHNfanMKKyAgICAgICAgICA6IHByb21pc2VfcmVqZWN0c19k
b207CisgICAgICBhd2FpdCB0ZXN0X2Z1bmMoCisgICAgICAgIHQsCisgICAgICAgIGV4cGVjdGVk
RXJyb3IsCisgICAgICAgIGFjY2VwdFByb21pc2UsCisgICAgICAgICJiYWREZXRhaWxzIG11c3Qg
Y2F1c2UgYWNjZXB0UHJvbWlzZSB0byByZWplY3Qgd2l0aCBleHBlY3RlZEVycm9yIgorICAgICAg
KTsKKyAgICB9LCB0ZXN0QXNzZXJ0aW9uKTsKKyAgfQorCisgIGNvbnN0IHJlamVjdGVkUHJvbWlz
ZSA9IFByb21pc2UucmVqZWN0KG5ldyBTeW50YXhFcnJvcigidGVzdCIpKTsKKyAgdGVzdEJhZFVw
ZGF0ZSgKKyAgICAiUmVqZWN0aW9uIG9mIGRldGFpbHNQcm9taXNlIG11c3QgYWJvcnQgdGhlIHVw
ZGF0ZSB3aXRoIGFuICdBYm9ydEVycm9yJyBET01FeGNlcHRpb24uIiwKKyAgICByZWplY3RlZFBy
b21pc2UsCisgICAgIkFib3J0RXJyb3IiCisgICk7CisKKyAgdGVzdEJhZFVwZGF0ZSgKKyAgICAi
VG90YWwgaW4gdGhlIHVwZGF0ZSBpcyBhIHN0cmluZywgc28gY29udmVydGluZyB0byBJREwgbXVz
dCBhYm9ydCB0aGUgdXBkYXRlIHdpdGggYSBUeXBlRXJyb3IuIiwKKyAgICB7IHRvdGFsOiBgdGhp
cyB3aWxsIGNhdXNlIGEgVHlwZUVycm9yIWAgfSwKKyAgICBUeXBlRXJyb3IKKyAgKTsKKworICB0
ZXN0QmFkVXBkYXRlKAorICAgICJUb3RhbCBpcyByZWN1cnNpdmUsIHNvIGNvbnZlcnRpbmcgdG8g
SURMIG11c3QgYWJvcnQgdGhlIHVwZGF0ZSB3aXRoIGEgVHlwZUVycm9yLiIsCisgICAgeyB0b3Rh
bDogcmVjdXJzaXZlRGF0YSB9LAorICAgIFR5cGVFcnJvcgorICApOworCisgIHRlc3RCYWRVcGRh
dGUoCisgICAgIlVwZGF0aW5nIHdpdGggYSBuZWdhdGl2ZSB0b3RhbCByZXN1bHRzIGluIGEgVHlw
ZUVycm9yLiIsCisgICAgaW52YWxpZERldGFpbHNOZWdhdGl2ZVRvdGFsLAorICAgIFR5cGVFcnJv
cgorICApOworCisgIHRlc3RCYWRVcGRhdGUoCisgICAgIlVwZGF0aW5nIHdpdGggYSBkaXNwbGF5
SXRlbSB3aXRoIGFuIGludmFsaWQgY3VycmVuY3kgcmVzdWx0cyBpbiBSYW5nZUVycm9yLiIsCisg
ICAgeyAuLi52YWxpZERldGFpbHMsIGRpc3BsYXlJdGVtczogaW52YWxpZFBheW1lbnRJdGVtcyB9
LAorICAgIFJhbmdlRXJyb3IKKyAgKTsKKworICB0ZXN0QmFkVXBkYXRlKAorICAgICJVcGRhdGlu
ZyB3aXRoIGR1cGxpY2F0ZSBzaGlwcGluZ09wdGlvbnMgKHNhbWUgSURzKSByZXN1bHRzIGluIGEg
VHlwZUVycm9yLiIsCisgICAgeworICAgICAgLi4udmFsaWREZXRhaWxzLAorICAgICAgc2hpcHBp
bmdPcHRpb25zOiBbdmFsaWRTaGlwcGluZ09wdGlvbiwgdmFsaWRTaGlwcGluZ09wdGlvbl0sCisg
ICAgfSwKKyAgICBUeXBlRXJyb3IKKyAgKTsKKworICB0ZXN0QmFkVXBkYXRlKAorICAgICJVcGRh
dGluZyB3aXRoIGEgc2hpcHBpbmdPcHRpb24gd2l0aCBhbiBpbnZhbGlkIGN1cnJlbmN5IHZhbHVl
IHJlc3VsdHMgaW4gYSBSYW5nRXJyb3IuIiwKKyAgICB7IC4uLnZhbGlkRGV0YWlscywgc2hpcHBp
bmdPcHRpb25zOiBpbnZhbGlkU2hpcHBpbmdPcHRpb25zIH0sCisgICAgUmFuZ2VFcnJvcgorICAp
OworCisgIHRlc3RCYWRVcGRhdGUoCisgICAgIk11c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4g
YSBtb2RpZmllcidzIHRvdGFsIGl0ZW0gaGFzIGFuIGludmFsaWQgY3VycmVuY3kuIiwKKyAgICB7
IC4uLnZhbGlkRGV0YWlscywgbW9kaWZpZXJzOiBbbW9kaWZpZXJXaXRoSW52YWxpZFRvdGFsLCB2
YWxpZE1vZGlmaWVyXSB9LAorICAgIFJhbmdlRXJyb3IKKyAgKTsKKworICB0ZXN0QmFkVXBkYXRl
KAorICAgICJNdXN0IHRocm93IGEgUmFuZ2VFcnJvciB3aGVuIGEgbW9kaWZpZXIgZGlzcGxheSBp
dGVtIGhhcyBhbiBpbnZhbGlkIGN1cnJlbmN5LiIsCisgICAgeworICAgICAgLi4udmFsaWREZXRh
aWxzLAorICAgICAgbW9kaWZpZXJzOiBbbW9kaWZpZXJXaXRoSW52YWxpZERpc3BsYXlJdGVtcywg
dmFsaWRNb2RpZmllcl0sCisgICAgfSwKKyAgICBSYW5nZUVycm9yCisgICk7CisgIHRlc3RCYWRV
cGRhdGUoCisgICAgIk11c3QgdGhyb3cgYXMgTW9kaWZpZXIgaGFzIGEgcmVjdXJzaXZlIGRpY3Rp
b25hcnkuIiwKKyAgICB7IC4uLnZhbGlkRGV0YWlscywgbW9kaWZpZXJzOiBbbW9kaWZpZXJXaXRo
UmVjdXJzaXZlRGF0YSwgdmFsaWRNb2RpZmllcl0gfSwKKyAgICBUeXBlRXJyb3IKKyAgKTsKKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZXNv
bHZlcy1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXByb21pc2Ut
cmVzb2x2ZXMtbWFudWFsLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDUzNjBhOTcwNGFmNDU5ZjMwMTgwZjkzOGQxMjgyOGY2ZGJmMWI1NzAuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwt
cHJvbWlzZS1yZXNvbHZlcy1tYW51YWwuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMz
OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRs
ZT5UZXN0IGZvciBQYXltZW50UmVxdWVzdC5zaG93KG9wdGlvbmFsIHByb21pc2UpIG1ldGhvZDwv
dGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9icm93
c2VyLXBheW1lbnQtYXBpLyNzaG93LW1ldGhvZCI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotc2V0dXAo
ewotICBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUsCi0gIGV4cGxpY2l0X2RvbmU6IHRy
dWUsCi0gIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUsCi19KTsKLQotLy8gREFUQSBVU0VEIEJZIFRF
U1RTCi0vLyBQYXltZW50TWV0aG9kcwotY29uc3QgdmFsaWRNZXRob2RzID0gT2JqZWN0LmZyZWV6
ZShbCi0gIHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAidmFsaWQtYnV0LXdvbnQtZXZlci1tYXRj
aCIsCi0gIH0sCi0gIHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiYmFzaWMtY2FyZCIsCi0gIH0s
Ci0gIHsKLSAgICBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5
IiwKLSAgICBkYXRhOiB7Ci0gICAgICB2ZXJzaW9uOiAzLAotICAgICAgbWVyY2hhbnRJZGVudGlm
aWVyOiAibWVyY2hhbnQuY29tLmV4YW1wbGUiLAotICAgICAgY291bnRyeUNvZGU6ICJVUyIsCi0g
ICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgICAgc3VwcG9y
dGVkTmV0d29ya3M6IFsidmlzYSJdLAotICAgIH0KLSAgfSwKLV0pOwotCi0vLyBBbW91bnRzCi1j
b25zdCBmYWlsQW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGN1cnJlbmN5OiAiVVNEIiwKLSAg
dmFsdWU6ICIxLjAwIiwKLX0pOwotY29uc3QgcGFzc0Ftb3VudCA9IE9iamVjdC5mcmVlemUoewot
ICBjdXJyZW5jeTogIkNBRCIsCi0gIHZhbHVlOiAiNTAuMDAiLAotfSk7Ci1jb25zdCBuZXV0cmFs
QW1vdW50ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGN1cnJlbmN5OiAiQVVEIiwKLSAgdmFsdWU6ICIw
LjAwIiwKLX0pOwotCi0vLyBMYWJlbHMKLWNvbnN0IGZhaWxMYWJlbCA9ICLwn5KlIFRFU1QgSEFT
IEZBSUxFRCDwn5KlIjsKLWNvbnN0IHBhc3NMYWJlbCA9ICLinIUgVEVTVCBIQVMgUEFTU0VEIOKc
hSI7Ci1jb25zdCBuZXV0cmFsTGFiZWwgPSAiSWdub3JlIHRoaXMgbGFiZWwiOwotLy8gVG90YWxz
Ci1jb25zdCBmYWlsVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6IGZhaWxMYWJlbCwK
LSAgYW1vdW50OiBmYWlsQW1vdW50LAotfSk7Ci1jb25zdCBwYXNzVG90YWwgPSBPYmplY3QuZnJl
ZXplKHsKLSAgbGFiZWw6IHBhc3NMYWJlbCwKLSAgYW1vdW50OiBwYXNzQW1vdW50LAotfSk7Ci1j
b25zdCBuZXV0cmFsVG90YWwgPSBPYmplY3QuZnJlZXplKHsKLSAgbGFiZWw6IG5ldXRyYWxMYWJl
bCwKLSAgYW1vdW50OiBwYXNzQW1vdW50LAotfSk7Ci0KLS8vIFBheW1lbnRJdGVtCi1jb25zdCBm
YWlsUGF5bWVudEl0ZW0gPSBPYmplY3QuZnJlZXplKHsKLSAgYW1vdW50OiBmYWlsQW1vdW50LAot
ICBsYWJlbDogZmFpbExhYmVsLAotfSk7Ci1jb25zdCBmYWlsUGF5bWVudEl0ZW1zID0gT2JqZWN0
LmZyZWV6ZShbZmFpbFBheW1lbnRJdGVtXSk7Ci0KLWNvbnN0IHBhc3NQYXltZW50SXRlbSA9IE9i
amVjdC5mcmVlemUoewotICBhbW91bnQ6IHBhc3NBbW91bnQsCi0gIGxhYmVsOiBwYXNzTGFiZWws
Ci19KTsKLWNvbnN0IHBhc3NQYXltZW50SXRlbXMgPSBPYmplY3QuZnJlZXplKFtwYXNzUGF5bWVu
dEl0ZW1dKTsKLQotLy8gUGF5bWVudFNoaXBwaW5nT3B0aW9ucwotY29uc3QgZmFpbFNoaXBwaW5n
T3B0aW9uID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIGlkOiAiZmFpbCIsCi0gIGxhYmVsOiBmYWlsTGFi
ZWwsCi0gIGFtb3VudDogZmFpbEFtb3VudCwKLX0pOwotY29uc3QgZmFpbFNoaXBwaW5nT3B0aW9u
cyA9IE9iamVjdC5mcmVlemUoW2ZhaWxTaGlwcGluZ09wdGlvbl0pOwotCi1jb25zdCBuZXV0cmFs
U2hpcHBpbmdPcHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJuZXV0cmFsIiwKLSAgbGFi
ZWw6IG5ldXRyYWxMYWJlbCwKLSAgYW1vdW50OiBuZXV0cmFsQW1vdW50LAotfSk7Ci0KLWNvbnN0
IHVwZGF0ZWRTaGlwcGluZ09wdGlvbjEgPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJ1cGRhdGVk
LTEiLAotICBsYWJlbDogYCR7cGFzc0xhYmVsfSAtIG9wdGlvbiAxYCwKLSAgYW1vdW50OiBwYXNz
QW1vdW50LAotfSk7Ci1jb25zdCB1cGRhdGVkU2hpcHBpbmdPcHRpb24yID0gT2JqZWN0LmZyZWV6
ZSh7Ci0gIGlkOiAidXBkYXRlZC0yIiwKLSAgbGFiZWw6IGAke3Bhc3NMYWJlbH0gLSBvcHRpb24g
MiAoTVVTVCBCRSBTRUxFQ1RFRCEpYCwKLSAgYW1vdW50OiBwYXNzQW1vdW50LAotICBzZWxlY3Rl
ZDogdHJ1ZSwKLX0pOwotY29uc3QgcGFzc1NoaXBwaW5nT3B0aW9ucyA9IE9iamVjdC5mcmVlemUo
WwotICB1cGRhdGVkU2hpcHBpbmdPcHRpb24xLAotICB1cGRhdGVkU2hpcHBpbmdPcHRpb24yLAot
XSk7Ci0KLS8vIE1vZGlmaWVycwotLy8gY3JlYXRlIGEgbW9kaWZpZXIgb2JqZWN0cyBmb3IgZWFj
aCB2YWxpZE1ldGhvZHMKLS8vIGFuZCBzaW5nbGUgYWRkaXRpb25hbCBkaXNwbGF5IGl0ZW0KLWNv
bnN0IGZhaWxNb2RpZmllcnMgPSB2YWxpZE1ldGhvZHMubWFwKG1vZGlmaWVyID0+IHsKLSAgY29u
c3QgbGFiZWwgPSBgJHtmYWlsTGFiZWx9IC0gKCR7bW9kaWZpZXIuc3VwcG9ydGVkTWV0aG9kc30p
YDsKLSAgcmV0dXJuIHsKLSAgICAuLi5tb2RpZmllciwKLSAgICB0b3RhbDogewotICAgICAgLi4u
ZmFpbFRvdGFsLAotICAgICAgbGFiZWwsCi0gICAgfSwKLSAgICBhZGRpdGlvbmFsRGlzcGxheUl0
ZW1zOiBbCi0gICAgICB7Ci0gICAgICAgIC4uLmZhaWxQYXltZW50SXRlbSwKLSAgICAgICAgbGFi
ZWwsCi0gICAgICB9LAotICAgIF0sCi0gIH07Ci19KTsKLS8vIFVwZGF0ZXMgdGhlIHRvdGFsIGZv
ciBlYWNoLCBhbmQgY2hhbmdlcyB0aGUgYWRkaXRpb25hbERpc3BsYXlJdGVtcwotY29uc3QgcGFz
c01vZGlmaWVycyA9IGZhaWxNb2RpZmllcnMubWFwKG1vZGlmaWVyID0+IHsKLSAgY29uc3QgbGFi
ZWwgPSBgJHtwYXNzTGFiZWx9IC0gKCR7bW9kaWZpZXIuc3VwcG9ydGVkTWV0aG9kc30pYDsKLSAg
cmV0dXJuIHsKLSAgICAuLi5tb2RpZmllciwKLSAgICB0b3RhbDogewotICAgICAgLi4ucGFzc1Rv
dGFsLAotICAgICAgbGFiZWwsCi0gICAgfSwKLSAgICBhZGRpdGlvbmFsRGlzcGxheUl0ZW1zOiBb
Ci0gICAgICB7Ci0gICAgICAgIC4uLnBhc3NQYXltZW50SXRlbSwKLSAgICAgICAgbGFiZWwsCi0g
ICAgICB9LAotICAgIF0sCi0gIH07Ci19KTsKLQotLy8gUGF5bWVudERldGFpbHNJbml0Ci1jb25z
dCBmYWlsRGV0YWlscyA9IE9iamVjdC5mcmVlemUoewotICBkaXNwbGF5SXRlbXM6IGZhaWxQYXlt
ZW50SXRlbXMsCi0gIGlkOiAidGhpcyBjYW5ub3QgYmUgY2hhbmdlZCIsCi0gIG1vZGlmaWVyczog
ZmFpbE1vZGlmaWVycywKLSAgc2hpcHBpbmdPcHRpb25zOiBmYWlsU2hpcHBpbmdPcHRpb25zLAot
ICB0b3RhbDogZmFpbFRvdGFsLAotfSk7Ci0KLWNvbnN0IG5ldXRyYWxEZXRhaWxzID0gT2JqZWN0
LmZyZWV6ZSh7Ci0gIGRpc3BsYXlJdGVtczogW10sCi0gIG1vZGlmaWVyczogW10sCi0gIHNoaXBw
aW5nT3B0aW9uczogW25ldXRyYWxTaGlwcGluZ09wdGlvbl0sCi0gIHRvdGFsOiBuZXV0cmFsVG90
YWwsCi19KTsKLQotZnVuY3Rpb24gc21va2VUZXN0KCkgewotICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7Ci0gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCh2YWxpZE1ldGhv
ZHMsIGZhaWxEZXRhaWxzKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfanMoCi0gICAgICB0
LAotICAgICAgVHlwZUVycm9yLAotICAgICAgcmVxdWVzdC5zaG93KHsKLSAgICAgICAgdG90YWw6
ICJUaGlzIHRocm93cyBhIFR5cGVFcnJvciIsCi0gICAgICB9KSwKLSAgICAgICJleHBlY3RlZCBU
eXBlRXJyb3IiCi0gICAgKTsKLSAgfSwgInNtb2tlIHRlc3QgLSBjaGVja3MgaWYgdGhlIG9wdGlv
bmFsIGRldGFpbHMgYXJlIHN1cHBvcnRlZCBvbiBzaG93KCkgbWV0aG9kIik7Ci19Ci0KLWZ1bmN0
aW9uIHJ1blVwZGF0ZURldGFpbHNBbGdvcml0aG0oCi0gIGJ1dHRvbkVsZW1lbnQsCi0gIGRldGFp
bHMsCi0gIG9wdGlvbnMgPSB7Ci0gICAgcmVxdWVzdFNoaXBwaW5nOiB0cnVlLAotICB9LAotICBp
bml0aWFsRGV0YWlscyA9IGZhaWxEZXRhaWxzLAotKSB7Ci0gIGNvbnN0IHRlc3RBc3NlcnRpb24g
PSBidXR0b25FbGVtZW50LnRleHRDb250ZW50LnRyaW0oKTsKLSAgYnV0dG9uRWxlbWVudC5kaXNh
YmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1
ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KHZhbGlkTWV0aG9kcywgaW5pdGlhbERldGFpbHMsIG9w
dGlvbnMpOwotICAgIGNvbnN0IGRldGFpbHNQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKGRldGFp
bHMpOwotICAgIGNvbnN0IGFjY2VwdFByb21pc2UgPSByZXF1ZXN0LnNob3coZGV0YWlsc1Byb21p
c2UpOwotICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdC5pZCwgInRoaXMgY2Fubm90IGJlIGNoYW5n
ZWQiLCAiaWQgbXVzdCBuZXZlciBjaGFuZ2UuIik7Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3Rz
X2RvbSgKLSAgICAgIHQsCi0gICAgICAiQWJvcnRFcnJvciIsCi0gICAgICBhY2NlcHRQcm9taXNl
LAotICAgICAgImV4cGVjdGVkIEFib3J0RXJyb3IiCi0gICAgKTsKLSAgfSwgdGVzdEFzc2VydGlv
bik7Ci19Ci08L3NjcmlwdD4KLTxoMj4KLSAgUGF5bWVudFJlcXVlc3QgPGNvZGU+LnNob3cob3B0
aW9uYWwgZGV0YWlsc1Byb21pc2UpPC9jb2RlPiB0ZXN0cwotPC9oMj4KLTxwPgotICBUaGVzZSB0
ZXN0IGNhdXNlIDxjb2RlPmRldGFpbHNQcm9taXNlPC9jb2RlPiB0byByZXNvbHZlIHN1Y2Nlc3Nm
dWxseSB3aXRoIHNvbWUgdXBkYXRlZCB2YWx1ZS4gQXMgc3VjaCwgdGhhdCB3aWxsIGNhdXNlCi0g
IHNvbWV0aGluZyBpbiB0aGUgcGF5bWVudCBzaGVldCB0byBjaGFuZ2UuIEVhY2ggdGVzdCBkZXNj
cmliZXMgd2hhdCBpcyBleHBlY3RlZCB0byBjaGFuZ2UgLSBpZiBhbnl0aGluZy4KLTwvcD4KLTxw
PgotICA8c3Ryb25nPkluc3RydWN0aW9uczo8L3N0cm9uZz4gQ2xpY2sgb24gZWFjaCBidXR0b24g
aW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVzaGluZyB0aGUgcGFn
ZS4gVGhlIHBheW1lbnQKLSAgc2hlZXQgd2lsbCBiZSBzaG93bi4gSWYgcmVxdWlyZWQsIGNvbmZp
cm0gdGhhdCB0aGUgZXhwZWN0ZWQgdmFsdWUgYXBwZWFycyBpbiB0aGUgcGF5bWVudCBzaGVldC4g
RmluYWxseSwgbWFudWFsbHkgYWJvcnQvY2FuY2VsCi0gIHRoZSBwYXltZW50IHJlcXVlc3QgYnkg
Y2xvc2luZyB0aGUgcGF5bWVudCBzaGVldC4KLTwvcD4KLTxvbD4KLSAgPGxpPjxidXR0b24gb25j
bGljaz0ic21va2VUZXN0KCkiPklmIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCB0aGUgdGVz
dCBoYXMgZmFpbGVkLjwvYnV0dG9uPjwvbGk+Ci0gIDxsaT48YnV0dG9uIG9uY2xpY2s9IgotICAg
IGNvbnN0IGRldGFpbHMgPSB7Ci0gICAgICAuLi5uZXV0cmFsRGV0YWlscywKLSAgICAgIGlkOiAn
ZmFpbCcsCi0gICAgfTsKLSAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3JpdGhtKHRoaXMsIGRldGFp
bHMpOwotICAiPgotICAgIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRoZSBwcm92
aWRlZCBgaWRgIG11c3QgaGF2ZSBubyBlZmZlY3Qgb24gdGhlIHBheW1lbnQgcmVxdWVzdC4KLSAg
PC9idXR0b24+PC9saT4KLSAgPGxpPjxidXR0b24gb25jbGljaz0iCi0gICAgY29uc3QgZGV0YWls
cyA9IHsKLSAgICAgIC4uLm5ldXRyYWxEZXRhaWxzLAotICAgICAgdG90YWw6IHBhc3NUb3RhbAot
ICAgIH07Ci0gICAgcnVuVXBkYXRlRGV0YWlsc0FsZ29yaXRobSh0aGlzLCBkZXRhaWxzKTsKLSAg
Ij4KLSAgICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCB0aGUgdG90YWwgbXVzdCBi
ZSBDQUQkNTAgd2l0aCB0aGUgbGFiZWwgIuKchSBURVNUIEhBUyBQQVNTRUQg4pyFIi4KLSAgPC9i
dXR0b24+PC9saT4KLSAgPGxpPjxidXR0b24gb25jbGljaz0iCi0gICAgY29uc3QgZGV0YWlscyA9
IHsKLSAgICAgIC4uLm5ldXRyYWxEZXRhaWxzLAotICAgICAgZGlzcGxheUl0ZW1zOiBwYXNzUGF5
bWVudEl0ZW1zLAotICAgIH07Ci0gICAgcnVuVXBkYXRlRGV0YWlsc0FsZ29yaXRobSh0aGlzLCBk
ZXRhaWxzKTsKLSAgICAiPgotICAgIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRo
ZXJlIG11c3QgYmUgYSBvbmUgZGlzcGxheSBpdGVtIHdpdGggYSB2YWx1ZSBvZiBDQUQkNTAgd2l0
aCB0aGUgbGFiZWwgIuKchSBURVNUIEhBUyBQQVNTRUQg4pyFIi4KLSAgICA8L2J1dHRvbj4KLSAg
PC9saT4KLSAgPGxpPjxidXR0b24gb25jbGljaz0iCi0gICAgY29uc3QgYXVJdGVtID0gewotICAg
ICAgLi4ucGFzc1BheW1lbnRJdGVtLAotICAgICAgYW1vdW50OiB7IHZhbHVlOiAnNDAnLCBjdXJy
ZW5jeTogJ0FVRCd9LAotICAgICAgcGVuZGluZzogdHJ1ZQotICAgIH0KLSAgICBjb25zdCBkZXRh
aWxzID0gewotICAgICAgLi4ubmV1dHJhbERldGFpbHMsCi0gICAgICBkaXNwbGF5SXRlbXM6IHBh
c3NQYXltZW50SXRlbXMuY29uY2F0KGF1SXRlbSksCi0gICAgfTsKLSAgICBydW5VcGRhdGVEZXRh
aWxzQWxnb3JpdGhtKHRoaXMsIGRldGFpbHMpOwotICAgICI+Ci0gICAgV2hlbiB0aGUgcGF5bWVu
dCBzaGVldCBpcyBzaG93biwgdGhlcmUgbXVzdCBiZQotICAgIHR3byBkaXNwbGF5IGl0ZW1zOiBP
bmUgd2l0aCBhIHZhbHVlIG9mIENBRCQ1MCwgYW5vdGhlciB3aXRoCi0gICAgdmFsdWUgQVVEJDQw
IHRoYXQgaXMgcGVuZGluZy4KLSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPjxidXR0b24g
b25jbGljaz0iCi0gICAgY29uc3QgZGV0YWlscyA9IHsKLSAgICAgIC4uLm5ldXRyYWxEZXRhaWxz
LAotICAgICAgc2hpcHBpbmdPcHRpb25zOiBbdXBkYXRlZFNoaXBwaW5nT3B0aW9uMV0sCi0gICAg
fTsKLSAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3JpdGhtKHRoaXMsIGRldGFpbHMpOwotICAgICI+
Ci0gICAgV2hlbiB0aGUgcGF5bWVudCBzaGVldCBpcyBzaG93biwgdGhlcmUgbXVzdCBiZSBhIG9u
ZSBzaGlwcGluZyBvcHRpb24KLSAgICB3aXRoIGEgdmFsdWUgb2YgQ0FEJDUwLgotICAgIDwvYnV0
dG9uPgotICA8L2xpPgotICA8bGk+PGJ1dHRvbiBvbmNsaWNrPSIKLSAgICBjb25zdCBkZXRhaWxz
ID0gewotICAgICAgLi4ubmV1dHJhbERldGFpbHMsCi0gICAgICBzaGlwcGluZ09wdGlvbnM6IHBh
c3NTaGlwcGluZ09wdGlvbnMsCi0gICAgfTsKLSAgICBydW5VcGRhdGVEZXRhaWxzQWxnb3JpdGht
KHRoaXMsIGRldGFpbHMpOwotICAgICI+Ci0gICAgV2hlbiB0aGUgcGF5bWVudCBzaGVldCBpcyBz
aG93biwgdGhlcmUgbXVzdCBiZQotICAgIHR3byBzaGlwcGluZyBvcHRpb25zOiBPbmUgd2l0aCBh
IHZhbHVlIG9mIENBRCQ1MCwgYW5vdGhlciB3aXRoCi0gICAgdmFsdWUgQVVEJDQwIHRoYXQgaXMg
c2VsZWN0ZWQuCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT48YnV0dG9uIG9uY2xpY2s9
IgotICAgIGNvbnN0IGRldGFpbHMgPSB7Ci0gICAgICAuLi5uZXV0cmFsRGV0YWlscywKLSAgICAg
IG1vZGlmaWVyczogcGFzc01vZGlmaWVycywKLSAgICB9OwotICAgIHJ1blVwZGF0ZURldGFpbHNB
bGdvcml0aG0odGhpcywgZGV0YWlscyk7Ci0gICAgIj4KLSAgICBXaGVuIHRoZSBwYXltZW50IHNo
ZWV0IGlzIHNob3duLCB0aGUgdG90YWwgc2hvdWxkIGJlIENBRCQ1MC4KLSAgPC9idXR0b24+Ci0g
IDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9IgotICAgICAgY29uc3QgZGV0YWls
cyA9IHsKLSAgICAgICAgLi4ubmV1dHJhbERldGFpbHMsCi0gICAgICAgIHNoaXBwaW5nT3B0aW9u
czogW10sCi0gICAgICAgIGVycm9yOiBwYXNzTGFiZWwsCi0gICAgICB9OwotICAgICAgcnVuVXBk
YXRlRGV0YWlsc0FsZ29yaXRobSh0aGlzLCBkZXRhaWxzKTsKLSAgICAiPgotICAgIFdoZW4gdGhl
IHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRoZSBzdHJpbmcgIuKchSBURVNUIEhBUyBQQVNTRUQg
4pyFIiBzaG91bGQgYmUgc2hvd24KLSAgICBzb21ld2hlcmUgaW4gdGhlIHVzZXIgaW50ZXJmYWNl
LiBBbHRlcm5hdGl2ZWx5LCB0aGUgcGF5bWVudCBzaGVldCBtdXN0IGluZGljYXRlIHRvIHRoZQot
ICAgIGVuZCB1c2VyIHRoYXQgaXQncyBub3QgcG9zc2libGUgdG8gc2hpcCB0aGVpciBvcmRlci4K
LSAgICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iCi0g
ICAgICBjb25zdCBkZXRhaWxzID0gewotICAgICAgICAuLi5uZXV0cmFsRGV0YWlscywKLSAgICAg
ICAgZXJyb3I6IGZhaWxMYWJlbCwKLSAgICAgIH07Ci0gICAgICBydW5VcGRhdGVEZXRhaWxzQWxn
b3JpdGhtKHRoaXMsIGRldGFpbHMsIHtyZXF1ZXN0U2hpcHBpbmc6IGZhbHNlfSk7Ci0gICAgIj4K
LSAgICBXaGVuIHRoZSBwYXltZW50IHNoZWV0IGlzIHNob3duLCB0aGVyZSBzaG91bGQgbm90IGJl
IGFueSBlcnJvcnMgc2hvd24uCi0gICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8
YnV0dG9uIG9uY2xpY2s9IgotICAgICAgY29uc3QgaW5pdGlhbERldGFpbHMgPSB7dG90YWw6IHBh
c3NUb3RhbCwgaWQ6ICd0aGlzIGNhbm5vdCBiZSBjaGFuZ2VkJ307Ci0gICAgICBjb25zdCB1cGRh
dGVkRGV0YWlscyA9IHt9OwotICAgICAgcnVuVXBkYXRlRGV0YWlsc0FsZ29yaXRobSgKLSAgICAg
ICAgICAgIHRoaXMsIHVwZGF0ZWREZXRhaWxzLCB7cmVxdWVzdFNoaXBwaW5nOiBmYWxzZX0sIGlu
aXRpYWxEZXRhaWxzKTsKLSAgICAiPgotICAgIFJlc29sdmluZyB0aGUgc2hvdyBwcm9taXNlIHdp
dGggZW1wdHkgZGV0YWlscyB3aWxsIHByZXNlcnZlIHRoZSBkZXRhaWxzIGZyb20KLSAgICB0aGUg
Y29uc3RydWN0b3IuIFdoZW4gdGhlIHBheW1lbnQgc2hlZXQgaXMgc2hvd24sIHRoZSBzdHJpbmcK
LSAgICAi4pyFIFRFU1QgSEFTIFBBU1NFRCDinIUiIHNob3VsZCBiZSBzaG93bi4KLSAgICA8L2J1
dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpOyI+RG9u
ZSE8L2J1dHRvbj4KLSAgPC9saT4KLTwvb2w+Ci0KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBi
dWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUg
PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9t
YXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4K
LTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1wb3N0bWVzc2FnZS1tYW51YWwu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLXBvc3RtZXNzYWdlLW1hbnVhbC5odHRwcy5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MjBlMGE5OTkyZWJhMWY2MDRkNWQwMjQ2
ZjFjN2U3ZTdiNDJiZDFkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3Nob3ctbWV0aG9kLXBvc3RtZXNzYWdlLW1hbnVhbC5odHRwcy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdCBmb3IgUGF5bWVudFJlcXVlc3Quc2hvdygpIG1ldGhvZDwv
dGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9icm93
c2VyLXBheW1lbnQtYXBpLyNzaG93LW1ldGhvZCI+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotc2V0dXAo
ewotICBleHBsaWNpdF9kb25lOiB0cnVlLAotICBleHBsaWNpdF90aW1lb3V0OiB0cnVlLAotICBh
bGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUsCi19KTsKLQotYXN5bmMgZnVuY3Rpb24gcnVu
VXNlckFjdGl2YXRpb24oYnV0dG9uKSB7Ci0gIGJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7Ci0gIGNv
bnN0IHsgY29udGVudFdpbmRvdzogaWZyYW1lV2luZG93IH0gPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiaWZyYW1lIik7Ci0gIGNvbnN0IGV4cGVjdGVkSWQgPSAicGFzczEyMyI7Ci0gIGF3YWl0
IFByb21pc2UucmVzb2x2ZSgpOyAvLyBuZXh0IHRpY2sKLSAgY29uc3QgcHJvbWlzZUZvclJlc3Bv
bnNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgd2luZG93Lm9ubWVzc2FnZSA9ICh7
IGRhdGE6IHsgcmVxdWVzdElkIH0gfSkgPT4gcmVzb2x2ZShyZXF1ZXN0SWQpOwotICB9KTsKLSAg
Y29uc3Qgb3BzID0geyBpZDogZXhwZWN0ZWRJZCwgcmVxdWVzdDogInNob3ctcGF5bWVudC1yZXF1
ZXN0IiB9OwotICBpZnJhbWVXaW5kb3cucG9zdE1lc3NhZ2Uob3BzLCB3aW5kb3cubG9jYXRpb24u
b3JpZ2luKTsKLSAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBjb25zdCBhY3R1YWxJ
ZCA9IGF3YWl0IHByb21pc2VGb3JSZXNwb25zZTsKLSAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbElk
LCBleHBlY3RlZElkLCAiaWRzIG11c3QgbWF0Y2giKTsKLSAgfSwgYnV0dG9uLnRleHRDb250ZW50
LnRyaW0oKSk7Ci0gIGRvbmUoKTsKLX0KLQotPC9zY3JpcHQ+Ci08aDI+VGVzdCBQYXltZW50UmVx
dWVzdC5zaG93KCkgdHJpZ2dlcmVkIGJ5IHVzZXIgYWN0aXZhdGlvbiB1c2luZyBwb3N0TWVzc2Fn
ZSgpPC9oMj4KLTxwPgotICBUZXN0cyB0aGF0IHVzZXIgYWN0aXZhdGlvbiB3b3JrcyBvdmVyIHBv
c3RNZXNzYWdlKCkuCi08L3A+Ci08cD4KLSAgQ2xpY2sgb24gYm90dG9tIGJlbG93LiBIaXQgIlBh
eSIuCi08L3A+Ci08b2w+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9InJ1blVzZXJBY3Rp
dmF0aW9uKHRoaXMpIj4KLSAgICAgIHNob3coKSBpcyB0cmlnZ2VyZWQgYnkgdXNlciBhY3RpdmF0
aW9uIHBhc3NlZCB0aHJvdWdoIHBvc3RNZXNzYWdlKCkgYW5kIGEgcHJvbWlzZQotICAgIDwvYnV0
dG9uPgotICA8L2xpPgotPC9vbD4KLTxpZnJhbWUgd2lkdGg9IjEwMCUiIGlkPSJpZnJhbWUiIHNy
Yz0ic2hvdy1tZXRob2QtcG9zdG1lc3NhZ2UtaWZyYW1lLmh0bWwiIGFsbG93cGF5bWVudHJlcXVl
c3Q+PC9pZnJhbWU+Ci08cD4KLSAgPHNtYWxsPgotICAgIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVz
dCwgcGxlYXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0L2lzc3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgICBhbmQgdGFnIG9uZSBvZiB0aGUgPGEgaHJl
Zj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9tYXN0ZXIv
cGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4KLSAgPC9z
bWFsbD4KLTwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3VwZGF0ZVdpdGgtbWV0aG9kLXBtaS1oYW5kbGlu
Zy1tYW51YWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3VwZGF0ZVdpdGgtbWV0aG9kLXBtaS1oYW5kbGluZy1t
YW51YWwuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWE1Mjk3OGNh
M2UzMTIzOTJjNzU0YzA4MjY3NDA1NzIzZTVmODgwMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC91cGRhdGVXaXRoLW1ldGhvZC1wbWktaGFuZGxpbmct
bWFudWFsLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNDAgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdCBmb3IgdmFsaWRp
dHkgb2YgcGF5bWVudCBtZXRob2QgaWRlbnRpZmllcnMgd2hlbiBjYWxsaW5nIHVwZGF0ZVdpdGgo
KSBtZXRob2Q8L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5v
cmcvVFIvcGF5bWVudC1yZXF1ZXN0LyN1cGRhdGV3aXRoKCktbWV0aG9kIj4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0idXNlIHN0
cmljdCI7Ci1zZXR1cCh7Ci0gIGV4cGxpY2l0X2RvbmU6IHRydWUsCi0gIGV4cGxpY2l0X3RpbWVv
dXQ6IHRydWUsCi0gIGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSwKLX0pOwotY29uc3Qg
YXBwbGVQYXkgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8v
YXBwbGUuY29tL2FwcGxlLXBheSIsCi0gIGRhdGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1l
cmNoYW50SWRlbnRpZmllcjogIm1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29k
ZTogIlVTIiwKLSAgICBtZXJjaGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAg
IHN1cHBvcnRlZE5ldHdvcmtzOiBbInZpc2EiXSwKLSAgfSwKLX0pOwotY29uc3QgdmFsaWRNZXRo
b2QgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vOkB3cHQu
ZnlpOjQ0My9wYXltZW50LXJlcXVlc3QiLAotfSk7Ci0KLWNvbnN0IHZhbGlkTWV0aG9kcyA9IE9i
amVjdC5mcmVlemUoWwotICB2YWxpZE1ldGhvZCwKLSAgYXBwbGVQYXksCi0gIHsgc3VwcG9ydGVk
TWV0aG9kczogImJhc2ljLWNhcmQiIH0sCi1dKTsKLQotY29uc3QgdmFsaWRBbW91bnQgPSBPYmpl
Y3QuZnJlZXplKHsKLSAgY3VycmVuY3k6ICJVU0QiLAotICB2YWx1ZTogIjEuMCIsCi19KTsKLQot
Y29uc3QgdmFsaWRUb3RhbCA9IE9iamVjdC5mcmVlemUoewotICBsYWJlbDogIkRlZmF1bHQgVG90
YWwiLAotICBhbW91bnQ6IHZhbGlkQW1vdW50LAotfSk7Ci0KLWNvbnN0IHZhbGlkU2hpcHBpbmdP
cHRpb24gPSBPYmplY3QuZnJlZXplKHsKLSAgaWQ6ICJzdGFuZGFyZCIsCi0gIGxhYmVsOiAiU2hp
cHBpbmcgb3B0aW9uIiwKLSAgYW1vdW50OiB2YWxpZEFtb3VudCwKLSAgc2VsZWN0ZWQ6IHRydWUs
Ci19KTsKLQotY29uc3QgdmFsaWREZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHRvdGFsOiB2
YWxpZFRvdGFsLAotICBzaGlwcGluZ09wdGlvbnM6IFt2YWxpZFNoaXBwaW5nT3B0aW9uXSwKLX0p
OwotCi1jb25zdCB2YWxpZE1vZGlmaWVyID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1l
dGhvZHM6ICJiYXNpYy1jYXJkIiwKLSAgdG90YWw6IHZhbGlkVG90YWwsCi19KTsKLQotZnVuY3Rp
b24gbWFudWFsVGVzdChidXR0b24sIHsgaW52YWxpZE1ldGhvZCB9KSB7Ci0gIGJ1dHRvbi5kaXNh
YmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCByZXF1
ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KHZhbGlkTWV0aG9kcywgdmFsaWREZXRhaWxzLCB7Ci0g
ICAgICByZXF1ZXN0U2hpcHBpbmc6IHRydWUsCi0gICAgfSk7Ci0gICAgY29uc3QgbGlzdGVuZXIg
PSBldiA9PiB7Ci0gICAgICBjb25zdCBpbnZhbGlkTW9kaWZpZXIgPSBPYmplY3QuYXNzaWduKHt9
LCB2YWxpZE1vZGlmaWVyLCB7Ci0gICAgICAgIHN1cHBvcnRlZE1ldGhvZHM6IGludmFsaWRNZXRo
b2QsCi0gICAgICB9KTsKLSAgICAgIGNvbnN0IGludmFsaWREZXRhaWxzID0gT2JqZWN0LmFzc2ln
bih7fSwgdmFsaWREZXRhaWxzLCB7Ci0gICAgICAgIG1vZGlmaWVyczogW3ZhbGlkTW9kaWZpZXIs
IGludmFsaWRNb2RpZmllcl0sCi0gICAgICB9KTsKLSAgICAgIGV2LnVwZGF0ZVdpdGgoaW52YWxp
ZERldGFpbHMpOwotICAgIH07Ci0gICAgLy8gV2UgdGVzdCBhZ2FpbnN0IGEgdmFsaWQgYW5kIGFu
IGludmFsaWQgbW9kaWZpZXIKLSAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5n
YWRkcmVzc2NoYW5nZSIsIGxpc3RlbmVyLCB7IG9uY2U6IHRydWUgfSk7Ci0gICAgY29uc3Qgc2hv
d1Byb21pc2UgPSByZXF1ZXN0LnNob3coKTsKLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfanMo
dCwgUmFuZ2VFcnJvciwgc2hvd1Byb21pc2UpOwotICB9LCBidXR0b24udGV4dENvbnRlbnQudHJp
bSgpKTsKLX0KLTwvc2NyaXB0PgotPGgyPnVwZGF0ZVdpdGgoKSBtZXRob2Q6IHRlc3QgdmFsaWRp
dHkgb2YgcGF5bWVudCBtZXRob2QgaWRlbnRpZmllcnMuPC9oMj4KLTxwPgotICBXaGVuIHNob3du
IGEgcGF5bWVudCBzaGVldCwgc2VsZWN0IGEgZGlmZmVyZW50IGFkZHJlc3MuCi08L3A+Ci08b2w+
Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVhbFRlc3QodGhpcywge2ludmFsaWRN
ZXRob2Q6ICdodHRwczovLzpwYXNzd29yZEBleGFtcGxlLmNvbSd9KTsiPgotICAgICAgTXVzdCB0
aHJvdyBpZiB0aGUgVVJMIGhhcyBhIHBhc3N3b3JkLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0
aG9kOiAnaHR0cHM6Ly91c2VybmFtZUBleGFtcGxlLmNvbSd9KTsiPgotICAgICAgTXVzdCB0aHJv
dyBpZiB0aGUgVVJMIGhhcyBhIHVzZXJuYW1lLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8
bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9k
OiAnaHR0cHM6Ly91c2VybmFtZTpwYXNzd29yZEBleGFtcGxlLmNvbS9wYXknfSk7Ij4KLSAgICAg
IE11c3QgdGhyb3cgaWYgdGhlIFVSTCBoYXMgYSB1c2VybmFtZSBhbmQgYSBwYXNzd29yZC4KLSAg
ICA8L2J1dHRvbj4KLSAgPC9saT4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0ibWFudWFs
VGVzdCh0aGlzLCB7aW52YWxpZE1ldGhvZDogJ2h0dHA6Ly91c2VybmFtZTpwYXNzd29yZEBleGFt
cGxlLmNvbS9wYXknfSk7Ij4KLSAgICAgIE11c3QgdGhyb3cgaWYgaXQncyBodHRwLCBhbmQgaGFz
IGEgdXNlcm5hbWUgYW5kIHBhc3N3b3JkLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+
Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9kOiAn
aHR0cDovL2Zvby5jb206MTAwMDAwMDAwL3BheSd9KTsiPgotICAgICAgTXVzdCB0aHJvdyBpZiB0
aGUgVVJMIGlzIGludmFsaWQgKHBvcnQgcmFuZ2UpLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgot
ICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0
aG9kOiAnYmFzaWMt8J+Ssyd9KTsiPgotICAgICAgTXVzdCB0aHJvdyBpZiB0aGUgUE1JIGNvbnRh
aW5zIGNoYXJhY3RlcnMgdGhhdCBhcmUgb3V0IG9mIHJhbmdlLgotICAgIDwvYnV0dG9uPgotICA8
L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZh
bGlkTWV0aG9kOiAnbm90LWh0dHBzOi8vd3B0LmZ5aS9wYXltZW50LXJlcXVlc3QnfSk7Ij4KLSAg
ICAgIE11c3QgdGhyb3cgaWYgbm90IGh0dHBzLgotICAgIDwvYnV0dG9uPgotICA8L2xpPgotICA8
bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJtYW51YWxUZXN0KHRoaXMsIHtpbnZhbGlkTWV0aG9k
OiAnwqFiYXNpYy0qLWNhcmQhJ30pOyI+Ci0gICAgICBNdXN0IHRocm93IGlmIHRoZSBzdGFuZGFy
ZGl6ZWQgUE1JIGNvbnRhaW5zIGNoYXJhY3RlcnMgb3V0c2lkZSB0aGUgYXNjaWkgcmFuZ2UuCi0g
ICAgPC9idXR0b24+Ci0gIDwvbGk+Ci0gIDxsaT4KLSAgICA8YnV0dG9uIG9uY2xpY2s9Im1hbnVh
bFRlc3QodGhpcywge2ludmFsaWRNZXRob2Q6ICdCYXNpYy1DYXJkJ30pOyI+Ci0gICAgICBNdXN0
IHRocm93IGlmIHN0YW5kYXJkaXplZCBQTUkgaGFzIHVwcGVyY2FzZSBjaGFyYWN0ZXJzLgotICAg
IDwvYnV0dG9uPgotICA8L2xpPgotICA8bGk+Ci0gICAgPGJ1dHRvbiBvbmNsaWNrPSJkb25lKCk7
Ij5Eb25lITwvYnV0dG9uPgotICA8L2xpPgotPC9vbD4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQg
YSBidWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0
aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxv
Yi9tYXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9h
Pi4KLTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC91c2VyLWFib3J0LWFsZ29yaXRobS1tYW51YWwu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3VzZXItYWJvcnQtYWxnb3JpdGhtLW1hbnVhbC5odHRwcy5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNzhiZjNkNjFhZTZlNzViM2NjZjBmZWQ4YTk4
N2U2YjdjZDM2ZmZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3VzZXItYWJvcnQtYWxnb3JpdGhtLW1hbnVhbC5odHRwcy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsODAgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PSJ1dGY4
Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BheW1lbnQt
cmVxdWVzdC8jdXNlci1hYm9ydHMtdGhlLXBheW1lbnQtcmVxdWVzdC1hbGdvcml0aG0iPgotPHRp
dGxlPgotICBVc2VyIGFib3J0cyB0aGUgcGF5bWVudCByZXF1ZXN0IGFsZ29yaXRobS4KLTwvdGl0
bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0
cnVlIH0pOwotCi1jb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5j
eTogIlVTRCIsCi0gIHZhbHVlOiAiMS4wIiwKLX0pOwotY29uc3QgdmFsaWRUb3RhbCA9IE9iamVj
dC5mcmVlemUoewotICBsYWJlbDogIlRvdGFsIGR1ZSIsCi0gIGFtb3VudDogdmFsaWRBbW91bnQs
Ci19KTsKLWNvbnN0IGFwcGxlUGF5ID0gT2JqZWN0LmZyZWV6ZSh7Ci0gIHN1cHBvcnRlZE1ldGhv
ZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAotICBkYXRhOiB7Ci0gICAgdmVyc2lv
bjogMywKLSAgICBtZXJjaGFudElkZW50aWZpZXI6ICJtZXJjaGFudC5jb20uZXhhbXBsZSIsCi0g
ICAgY291bnRyeUNvZGU6ICJVUyIsCi0gICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsic3VwcG9y
dHMzRFMiXSwKLSAgICBzdXBwb3J0ZWROZXR3b3JrczogWyJ2aXNhIl0sCi0gIH0KLX0pOwotY29u
c3QgdmFsaWRNZXRob2QgPSBPYmplY3QuZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImJh
c2ljLWNhcmQiLAotfSk7Ci1jb25zdCB2YWxpZE1ldGhvZHMgPSBPYmplY3QuZnJlZXplKFt2YWxp
ZE1ldGhvZCwgYXBwbGVQYXldKTsKLWNvbnN0IHZhbGlkRGV0YWlscyA9IE9iamVjdC5mcmVlemUo
ewotICB0b3RhbDogdmFsaWRUb3RhbCwKLX0pOwotCi10ZXN0KCgpID0+IHsKLSAgdHJ5IHsKLSAg
ICBuZXcgUGF5bWVudFJlcXVlc3QodmFsaWRNZXRob2RzLCB2YWxpZERldGFpbHMpOwotICB9IGNh
dGNoIChlcnIpIHsKLSAgICBkb25lKCk7Ci0gICAgdGhyb3cgZXJyOwotICB9Ci19LCAiQ2FuIGNv
bnN0cnVjdCBhIHBheW1lbnQgcmVxdWVzdCAoc21va2UgdGVzdCkuIik7Ci0KLWFzeW5jIGZ1bmN0
aW9uIHJ1bkFib3J0VGVzdChidXR0b24pIHsKLSAgYnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKLSAg
Y29uc3QgeyB0ZXh0Q29udGVudDogdGVzdE5hbWUgfSA9IGJ1dHRvbjsKLSAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QodmFs
aWRNZXRob2RzLCB2YWxpZERldGFpbHMpOwotICAgIC8vIEF3YWl0IHRoZSB1c2VyIHRvIGFib3J0
Ci0gICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2RvbSh0LCAiQWJvcnRFcnJvciIsIHJlcXVlc3Qu
c2hvdygpKTsKLSAgICAvLyBbW3N0YXRlXV0gaXMgbm93IGNsb3NlZAotICAgIGF3YWl0IHByb21p
c2VfcmVqZWN0c19kb20odCwgIkludmFsaWRTdGF0ZUVycm9yIiwgcmVxdWVzdC5zaG93KCkpOwot
ICB9LCB0ZXN0TmFtZS50cmltKCkpOwotfQotPC9zY3JpcHQ+Ci08aDI+Ci0gICBVc2VyIGFib3J0
cyB0aGUgcGF5bWVudCByZXF1ZXN0IGFsZ29yaXRobS4KLTwvaDI+Ci08cD4KLSAgQ2xpY2sgb24g
ZWFjaCBidXR0b24gaW4gc2VxdWVuY2UgZnJvbSB0b3AgdG8gYm90dG9tIHdpdGhvdXQgcmVmcmVz
aGluZyB0aGUgcGFnZS4KLSAgRWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBS
ZXF1ZXN0IFVJIHdpbmRvdy4KLTwvcD4KLTxwPgotICBXaGVuIHByZXNlbnRlZCB3aXRoIHRoZSBw
YXltZW50IHNoZWV0LCBhYm9ydCB0aGUgcGF5bWVudCByZXF1ZXN0Ci0gIChlLmcuLCBieSBoaXR0
aW5nIHRoZSBlc2Mga2V5IG9yIHByZXNzaW5nIGEgVUEgcHJvdmlkZWQgYnV0dG9uKS4KLTwvcD4K
LTxvbD4KLSAgPGxpPgotICAgIDxidXR0b24gb25jbGljaz0icnVuQWJvcnRUZXN0KHRoaXMpOyBk
b25lKCk7Ij4KLSAgICAgIElmIHRoZSB1c2VyIGFib3J0cywgdGhlIFVBIG11c3QgcnVuIHRoZSB1
c2VyIGFib3J0cyB0aGUgcGF5bWVudCByZXF1ZXN0IGFsZ29yaXRobS4KLSAgICA8L2J1dHRvbj4K
LSAgPC9saT4KLTwvb2w+Ci08c21hbGw+Ci0gIElmIHlvdSBmaW5kIGEgYnVnZ3kgdGVzdCwgcGxl
YXNlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lz
c3VlcyI+ZmlsZSBhIGJ1ZzwvYT4KLSAgYW5kIHRhZyBvbmUgb2YgdGhlIDxhIGhyZWY9Imh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2Jsb2IvbWFzdGVyL3BheW1lbnQt
cmVxdWVzdC9NRVRBLnltbCI+c3VnZ2VzdGVkIHJldmlld2VyczwvYT4uCi08L3NtYWxsPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvdXNlci1hY2NlcHRzLXBheW1lbnQtcmVxdWVzdC1hbGdvLW1hbnVhbC5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QvdXNlci1hY2NlcHRzLXBheW1lbnQtcmVxdWVzdC1hbGdvLW1hbnVhbC5odHRw
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjI1MTM3NTg1M2E3ZGNjYmNl
Y2M4ZDMxZGM1MGRkOTRlNzU3Y2JiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3VzZXItYWNjZXB0cy1wYXltZW50LXJlcXVlc3QtYWxnby1tYW51YWwu
aHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDIzMCArMCwwIEBACi08IWRvY3R5cGUgaHRt
bD4KLTxtZXRhIGNoYXJzZXQ9InV0ZjgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L3czYy5naXRodWIuaW8vcGF5bWVudC1yZXF1ZXN0LyN1c2VyLWFjY2VwdHMtdGhlLXBheW1lbnQt
cmVxdWVzdC1hbGdvcml0aG0iPgotPHRpdGxlPgotICBVc2VyIGFjY2VwdHMgdGhlIHBheW1lbnQg
cmVxdWVzdCBhbGdvcml0aG0KLTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0Pgotc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0
cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwotY29uc3QgYXBwbGVQYXkgPSBPYmplY3Qu
ZnJlZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBh
eSIsCi0gIGRhdGE6IHsKLSAgICB2ZXJzaW9uOiAzLAotICAgIG1lcmNoYW50SWRlbnRpZmllcjog
Im1lcmNoYW50LmNvbS5leGFtcGxlIiwKLSAgICBjb3VudHJ5Q29kZTogIlVTIiwKLSAgICBtZXJj
aGFudENhcGFiaWxpdGllczogWyJzdXBwb3J0czNEUyJdLAotICAgIHN1cHBvcnRlZE5ldHdvcmtz
OiBbInZpc2EiXSwKLSAgfQotfSk7Ci1jb25zdCBiYXNpY0NhcmRNZXRob2QgPSBPYmplY3QuZnJl
ZXplKHsKLSAgc3VwcG9ydGVkTWV0aG9kczogImJhc2ljLWNhcmQiLAotfSk7Ci1jb25zdCB2YWxp
ZE1ldGhvZCA9IE9iamVjdC5mcmVlemUoewotICBzdXBwb3J0ZWRNZXRob2RzOiAidGhpcy1pcy1q
dXN0LWZvci10ZXN0aW5ncy13aWxsLW5ldmVyLW1hdGNoIiwKLX0pOwotY29uc3QgbWV0aG9kcyA9
IE9iamVjdC5mcmVlemUoW2Jhc2ljQ2FyZE1ldGhvZCwgdmFsaWRNZXRob2QsIGFwcGxlUGF5XSk7
Ci1jb25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoewotICBjdXJyZW5jeTogIlVTRCIs
Ci0gIHZhbHVlOiAiNS4wMCIsCi19KTsKLWNvbnN0IHNoaXBwaW5nT3B0aW9ucyA9IFsKLSAgT2Jq
ZWN0LmZyZWV6ZSh7Ci0gICAgaWQ6ICJvcHRpb24xIiwKLSAgICBsYWJlbDogIk9wdGlvbiAxIiwK
LSAgICBhbW91bnQ6IHZhbGlkQW1vdW50LAotICAgIHNlbGVjdGVkOiBmYWxzZSwKLSAgfSksCi0g
IE9iamVjdC5mcmVlemUoewotICAgIGlkOiAib3B0aW9uIDIiLAotICAgIGxhYmVsOiAiT3B0aW9u
IDIiLAotICAgIGFtb3VudDogdmFsaWRBbW91bnQsCi0gICAgc2VsZWN0ZWQ6IHRydWUsCi0gIH0p
LAotXTsKLQotY29uc3QgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25zID0gT2JqZWN0LmZyZWV6ZSh7
Ci0gIHRvdGFsOiB7Ci0gICAgbGFiZWw6ICJUb3RhbCBkdWUiLAotICAgIGFtb3VudDogdmFsaWRB
bW91bnQsCi0gIH0sCi19KTsKLQotY29uc3QgZGV0YWlsc1dpdGhTaGlwcGluZ09wdGlvbnMgPSBP
YmplY3QuYXNzaWduKHt9LCBkZXRhaWxzTm9TaGlwcGluZ09wdGlvbnMsIHsKLSAgc2hpcHBpbmdP
cHRpb25zLAotfSk7Ci0KLWNvbnN0IG9wdGlvbnNSZXF1ZXN0Tm90aGluZyA9IE9iamVjdC5mcmVl
emUoewotICByZXF1ZXN0U2hpcHBpbmc6IGZhbHNlLAotICByZXF1ZXN0UGF5ZXJFbWFpbDogZmFs
c2UsCi0gIHJlcXVlc3RQYXllck5hbWU6IGZhbHNlLAotICByZXF1ZXN0UGF5ZXJQaG9uZTogZmFs
c2UsCi19KTsKLQotY29uc3Qgb3B0aW9uc1JlcXVlc3RFdmVyeXRoaW5nID0gT2JqZWN0LmZyZWV6
ZSh7Ci0gIHJlcXVlc3RTaGlwcGluZzogdHJ1ZSwKLSAgcmVxdWVzdFBheWVyRW1haWw6IHRydWUs
Ci0gIHJlcXVlc3RQYXllck5hbWU6IHRydWUsCi0gIHJlcXVlc3RQYXllclBob25lOiB0cnVlLAot
fSk7Ci0KLXRlc3QoKCkgPT4gewotICAvLyBzbW9rZSB0ZXN0Ci0gIHRyeSB7Ci0gICAgbmV3IFBh
eW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucyk7Ci0gIH0gY2F0
Y2ggKGVycikgewotICAgIGRvbmUoKTsKLSAgICB0aHJvdyBlcnI7Ci0gIH0KLX0sICJNdXN0IGJl
IGFibGUgdG8gY29uc3RydWN0IGEgcGF5bWVudCByZXF1ZXN0IChzbW9rZSB0ZXN0KSIpOwotCi1m
dW5jdGlvbiB0ZXN0QWNjZXB0UmVxdWVzdEFsZ29yaXRobSgKLSAgYnV0dG9uLAotICBkZXRhaWxz
LAotICBvcHRpb25zID0ge30sCi0gIGV4cGVjdGVkUmVzcG9uc2UgPSB7fQotKSB7Ci0gIGJ1dHRv
bi5kaXNhYmxlZCA9IHRydWU7Ci0gIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25z
dCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGRldGFpbHMsIG9wdGlvbnMp
OwotICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7Ci0gICAgYXNzZXJ0
X3RydWUoCi0gICAgICByZXNwb25zZSBpbnN0YW5jZW9mIFBheW1lbnRSZXNwb25zZSwKLSAgICAg
ICJFeHBlY3RlZCBhbiBpbnN0YW5jZSBvZiBQYXltZW50UmVzcG9uc2UuIgotICAgICk7Ci0gICAg
Ly8gUmVzcG9uc2UgW1tjYWxsZWRDb21wbGV0ZV1dIGlzIGZhbHNlLCBzbyB0aGlzIHNob3VsZG4n
dCB0aHJvdwotICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Ci0gICAgLy8g
Rm9yIGdvb2QgbWVhc3VyZSwgdGVzdCB0aGF0IHN1YnNlcXVlbnQgY29tcGxldGUoKQotICAgIGZv
ciAoY29uc3Qgc3RhdGUgb2YgW3VuZGVmaW5lZCwgInN1Y2Nlc3MiLCAiZmFpbCIsICJ1bmtub3du
Il0pIHsKLSAgICAgIGF3YWl0IHByb21pc2VfcmVqZWN0c19kb20oCi0gICAgICAgIHQsCi0gICAg
ICAgICJJbnZhbGlkU3RhdGVFcnJvciIsCi0gICAgICAgIHJlc3BvbnNlLmNvbXBsZXRlKHN0YXRl
KSwKLSAgICAgICAgIlJlc3BvbnNlIFtbY2FsbGVkQ29tcGxldGVdXSBpcyB0cnVlLCBzbyBJbnZh
bGlkU3RhdGVFcnJvciIKLSAgICAgICk7Ci0gICAgfQotICAgIGFzc2VydF9lcXVhbHMoCi0gICAg
ICByZXF1ZXN0LmlkLAotICAgICAgcmVzcG9uc2UucmVxdWVzdElkLAotICAgICAgIlJlcXVlc3Qg
YW5kIHJlc3BvbnNlIGlkcyBtdXN0IG1hdGNoLiIKLSAgICApOwotICAgIGFzc2VydF90cnVlKHJl
c3BvbnNlLmRldGFpbHMgaW5zdGFuY2VvZiBPYmplY3QsICJFeHBlY3RlZCBhbiBvYmplY3QiKTsK
LSAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgcmVzcG9uc2Uuc2hpcHBpbmdBZGRyZXNzLAotICAg
ICAgcmVxdWVzdC5zaGlwcGluZ0FkZHJlc3MsCi0gICAgICAiUmVxdWVzdCBhbmQgcmVzcG9uc2Ug
bXVzdCByZWZlcmVuY2Ugc2FtZSBzaGlwcGluZ0FkZHJlc3MgKG9yIGJvdGggbnVsbCkuIgotICAg
ICk7Ci0gICAgYXNzZXJ0X2VxdWFscygKLSAgICAgIHJlc3BvbnNlLnNoaXBwaW5nT3B0aW9uLAot
ICAgICAgcmVxdWVzdC5zaGlwcGluZ09wdGlvbiwKLSAgICAgICJSZXF1ZXN0IGFuZCByZXNwb25z
ZSBtdXN0IGJlIHRoZSBzYW1lIHZhbHVlIChvciBib3RoIG51bGwpLiIKLSAgICApOwotICAgIGlm
IChvcHRpb25zLnJlcXVlc3RTaGlwcGluZyA9PT0gdHJ1ZSkgewotICAgICAgYXNzZXJ0X3RydWUo
Ci0gICAgICAgIHJlc3BvbnNlLnNoaXBwaW5nQWRkcmVzcyBpbnN0YW5jZW9mIFBheW1lbnRBZGRy
ZXNzLAotICAgICAgICAiRXhwZWN0ZWQgYW4gaW5zdGFuY2Ugb2YgUGF5bWVudEFkZHJlc3MuIgot
ICAgICAgKTsKLSAgICB9Ci0gICAgY29uc3QgZXhwZWN0ZWQgPSB7Ci0gICAgICBtZXRob2ROYW1l
OiAiYmFzaWMtY2FyZCIsCi0gICAgICBwYXllckVtYWlsOiBvcHRpb25zLnJlcXVlc3RQYXllckVt
YWlsCi0gICAgICAgID8gZXhwZWN0ZWRSZXNwb25zZS5wYXllckVtYWlsCi0gICAgICAgIDogbnVs
bCwKLSAgICAgIHBheWVyTmFtZTogb3B0aW9ucy5yZXF1ZXN0UGF5ZXJOYW1lID8gZXhwZWN0ZWRS
ZXNwb25zZS5wYXllck5hbWUgOiBudWxsLAotICAgICAgcGF5ZXJQaG9uZTogb3B0aW9ucy5yZXF1
ZXN0UGF5ZXJQaG9uZQotICAgICAgICA/IGV4cGVjdGVkUmVzcG9uc2UucGF5ZXJQaG9uZQotICAg
ICAgICA6IG51bGwsCi0gICAgfTsKLSAgICBmb3IgKGNvbnN0IFthdHRyLCBleHBlY3RlZFZhbHVl
XSBvZiBPYmplY3QuZW50cmllcyhleHBlY3RlZCkpIHsKLSAgICAgIGFzc2VydF9lcXVhbHMoCi0g
ICAgICAgIHJlc3BvbnNlW2F0dHJdLAotICAgICAgICBleHBlY3RlZFZhbHVlLAotICAgICAgICBg
cmVzcG9uc2UuJHthdHRyfSBtdXN0IGJlICR7ZXhwZWN0ZWRWYWx1ZX1gCi0gICAgICApOwotICAg
IH0KLSAgICBhd2FpdCBwcm9taXNlX3JlamVjdHNfZG9tKAotICAgICAgdCwKLSAgICAgICJJbnZh
bGlkU3RhdGVFcnJvciIsCi0gICAgICByZXF1ZXN0LnNob3coKSwKLSAgICAgICJSZXF1ZXN0IFtb
c3RhdGVdXSBpcyBjbG9zZWQsIHNvIEludmFsaWRTdGF0ZUVycm9yIgotICAgICk7Ci0gIH0sIGJ1
dHRvbi50ZXh0Q29udGVudC50cmltKCkpOwotfQotCi08L3NjcmlwdD4KLQotPHNlY3Rpb24+Ci0g
IDxoMiBpZD0idXNlci1hY2NlcHRzLXBheW1lbnQtcmVxdWVzdCI+VXNlciBhY2NlcHRzIHBheW1l
bnQgcmVxdWVzdDwvaDI+Ci0gIDxwPgotICAgIENsaWNrIG9uIGVhY2ggYnV0dG9uIGluIHNlcXVl
bmNlIGZyb20gdG9wIHRvIGJvdHRvbSB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2UuCi0gICAg
RWFjaCBidXR0b24gd2lsbCBicmluZyB1cCB0aGUgUGF5bWVudCBSZXF1ZXN0IFVJIHdpbmRvdy4K
LSAgPC9wPgotICA8cD4KLSAgICBXaGVuIHNob3duIHRoZSBwYXltZW50IHNoZWV0LCBwbGVhc2Ug
aW5wdXQgYSBjcmVkaXQgY2FyZCBhbmQgc2VsZWN0IFBheS4KLSAgPC9wPgotICA8b2w+Ci0gICAg
PGxpPgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgICAgY29uc3QgZGV0YWlsc1dpdGhJ
ZCA9IE9iamVjdC5hc3NpZ24oe30sIGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucywgeyBpZDogJ3Bh
c3MnIH0pOwotICAgICAgICB0ZXN0QWNjZXB0UmVxdWVzdEFsZ29yaXRobSh0aGlzLCBkZXRhaWxz
V2l0aElkLCBvcHRpb25zUmVxdWVzdE5vdGhpbmcpOyI+Ci0gICAgICAgIFVzZXIgYWNjZXB0cyBw
YXltZW50IHJlcXVlc3QsIGJ1dCBub3Qgc2hpcHBpbmcgaXMgcmVxdWVzdGVkLgotICAgICAgPC9i
dXR0b24+IFVzZSBhbnkgY3JlZGl0IGNhcmQgdG8gcGF5LgotICAgIDwvbGk+Ci0gICAgPGxpPgot
ICAgICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgICAgY29uc3QgcmVxdWVzdFNoaXBwaW5nID0g
T2JqZWN0LmFzc2lnbih7fSwgb3B0aW9uc1JlcXVlc3ROb3RoaW5nLCB7cmVxdWVzdFNoaXBwaW5n
OiB0cnVlfSk7Ci0gICAgICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0geyBzaGlwcGluZ09wdGlv
bjogJ29wdGlvbiAyJyB9OwotICAgICAgICB0ZXN0QWNjZXB0UmVxdWVzdEFsZ29yaXRobSh0aGlz
LCBkZXRhaWxzV2l0aFNoaXBwaW5nT3B0aW9ucywgcmVxdWVzdFNoaXBwaW5nLCBleHBlY3RlZFZh
bHVlcyk7Ij4KLSAgICAgICAgVXNlciBhY2NlcHRzIHBheW1lbnQgcmVxdWVzdCwgbWVyY2hhbnQg
cmVxdWVzdHMgc2hpcHBpbmcuCi0gICAgICA8L2J1dHRvbj4gU2VsZWN0IGFueSBzaGlwcGluZyBv
cHRpb24sIGFuZCB1c2UgYW55IGNyZWRpdCBjYXJkIHRvIHBheS4KLSAgICA8L2xpPgotICAgIDxs
aT4KLSAgICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICAgIGNvbnN0IHJlcXVlc3RQYXllckVt
YWlsID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9uc1JlcXVlc3ROb3RoaW5nLCB7cmVxdWVzdFBh
eWVyRW1haWw6IHRydWV9KTsKLSAgICAgICAgY29uc3QgZXhwZWN0VmFsdWVzID0geyBwYXllckVt
YWlsOiAnd3B0QHczLm9yZycgfTsKLSAgICAgICAgdGVzdEFjY2VwdFJlcXVlc3RBbGdvcml0aG0o
dGhpcywgZGV0YWlsc05vU2hpcHBpbmdPcHRpb25zLCByZXF1ZXN0UGF5ZXJFbWFpbCwgZXhwZWN0
VmFsdWVzKTsiPgotICAgICAgICBVc2VyIGFjY2VwdHMgcGF5bWVudCByZXF1ZXN0LCBtZXJjaGFu
dCByZXF1ZXN0cyBlbWFpbC4KLSAgICAgIDwvYnV0dG9uPgotICAgICAgV2hlbiBwcm9tcHRlZCwg
cGxlYXNlIHVzZSAid3B0QHczLm9yZyIgYXMgdGhlIGVtYWlsLgotICAgIDwvbGk+Ci0gICAgPGxp
PgotICAgICAgPGJ1dHRvbiBvbmNsaWNrPSIKLSAgICAgICAgY29uc3QgcmVxdWVzdFBheWVyUGhv
bmUgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zUmVxdWVzdE5vdGhpbmcsIHtyZXF1ZXN0UGF5
ZXJQaG9uZTogdHJ1ZX0pOwotICAgICAgICBjb25zdCBleHBlY3RWYWx1ZXMgPSB7IHBheWVyUGhv
bmU6ICcrMTIzNDU2Nzg5MTAnIH07Ci0gICAgICAgIHRlc3RBY2NlcHRSZXF1ZXN0QWxnb3JpdGht
KHRoaXMsIGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucywgcmVxdWVzdFBheWVyUGhvbmUsIGV4cGVj
dFZhbHVlcyk7Ij4KLSAgICAgICAgVXNlciBhY2NlcHRzIHBheW1lbnQgcmVxdWVzdCwgbWVyY2hh
bnQgcmVxdWVzdHMgcGhvbmUuCi0gICAgICA8L2J1dHRvbj4KLSAgICAgIFdoZW4gcHJvbXB0ZWQs
IHBsZWFzZSB1c2UgIisxMjM0NTY3ODkxMCIgYXMgdGhlIHBob25lIG51bWJlci4KLSAgICA8L2xp
PgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0iCi0gICAgICAgIGNvbnN0IHJlcXVl
c3RQYXllck5hbWUgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zUmVxdWVzdE5vdGhpbmcsIHty
ZXF1ZXN0UGF5ZXJOYW1lOiB0cnVlfSk7Ci0gICAgICAgIGNvbnN0IGV4cGVjdFZhbHVlcyA9IHsg
cGF5ZXJOYW1lOiAnd2ViIHBsYXRmb3JtIHRlc3QnIH07Ci0gICAgICAgIHRlc3RBY2NlcHRSZXF1
ZXN0QWxnb3JpdGhtKHRoaXMsIGRldGFpbHNOb1NoaXBwaW5nT3B0aW9ucywgcmVxdWVzdFBheWVy
TmFtZSwgZXhwZWN0VmFsdWVzKTsiPgotICAgICAgICBVc2VyIGFjY2VwdHMgcGF5bWVudCByZXF1
ZXN0LCBtZXJjaGFudCByZXF1ZXN0cyBwYXllcidzIG5hbWUuCi0gICAgICA8L2J1dHRvbj4KLSAg
ICAgIFdoZW4gcHJvbXB0ZWQsIHBsZWFzZSB1c2UgIndlYiBwbGF0Zm9ybSB0ZXN0IiBhcyB0aGUg
cGF5ZXIgbmFtZS4KLSAgICA8L2xpPgotICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0i
Ci0gICAgICAgIGNvbnN0IGV4cGVjdFZhbHVlcyA9IHsKLSAgICAgICAgICBwYXllckVtYWlsOiAn
d3B0QHczLm9yZycsCi0gICAgICAgICAgcGF5ZXJOYW1lOiAnd2ViIHBsYXRmb3JtIHRlc3QnLAot
ICAgICAgICAgIHBheWVyUGhvbmU6ICcrMTIzNDU2Nzg5MTAnLAotICAgICAgICAgIHNoaXBwaW5n
T3B0aW9uOiAnb3B0aW9uIDInLAotICAgICAgICB9OwotICAgICAgICB0ZXN0QWNjZXB0UmVxdWVz
dEFsZ29yaXRobSh0aGlzLCBkZXRhaWxzV2l0aFNoaXBwaW5nT3B0aW9ucywgb3B0aW9uc1JlcXVl
c3RFdmVyeXRoaW5nLCBleHBlY3RWYWx1ZXMpOyI+Ci0gICAgICAgIFVzZXIgYWNjZXB0cyBwYXlt
ZW50IHJlcXVlc3QsIG1lcmNoYW50IHJlcXVlc3RzIGV2ZXJ5dGhpbmcuCi0gICAgICA8L2J1dHRv
bj4KLSAgICAgIFdoZW4gcHJvbXB0ZWQsIHBsZWFzZSB1c2U6ICIrMTIzNDU2Nzg5MTAiIGFzIHRo
ZSBwaG9uZSBudW1iZXIsICJ3ZWIgcGxhdGZvcm0gdGVzdCIgYXMgdGhlIHBheWVyIG5hbWUsIGFu
ZCAid3B0QHczLm9yZyIgYXMgdGhlIGVtYWlsLiBUaGVuIHByZXNzIFBheS4KLSAgICA8L2xpPgot
ICAgIDxsaT4KLSAgICAgIDxidXR0b24gb25jbGljaz0iZG9uZSgpIj5Eb25lPC9idXR0b24+Ci0g
ICAgPC9saT4KLSAgPC9vbD4KLTwvc2VjdGlvbj4KLTxzbWFsbD4KLSAgSWYgeW91IGZpbmQgYSBi
dWdneSB0ZXN0LCBwbGVhc2UgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQvaXNzdWVzIj5maWxlIGEgYnVnPC9hPgotICBhbmQgdGFnIG9uZSBvZiB0aGUg
PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvYmxvYi9t
YXN0ZXIvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sIj5zdWdnZXN0ZWQgcmV2aWV3ZXJzPC9hPi4K
LTwvc21hbGw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3czYy1pbXBvcnQu
bG9nCmluZGV4IDcwYWY1YzBmZjlmZmVjMzA5Zjk0NTM5NjM5M2MyMDMxMWU1NjZmODcuLjE1ZDY0
YWI3ZmViNmZhNWIzNjA0ODZmZTE4MmYwZGRjZWQ3YjA0MzggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3czYy1pbXBvcnQubG9nCkBAIC0xNSwyNiArMTUsMTggQEAgTm9u
ZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L01FVEEueW1sCi0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxn
b3JpdGhtcy1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2JpbGxpbmctYWRkcmVzcy1jaGFuZ2VkLW1h
bnVhbC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvYmxhbmsuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2NoYW5nZS1zaGlwcGluZy1vcHRp
b24tbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLXNlbGVjdC1s
YXN0LW1hbnVhbC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvY29uc3RydWN0b3JfY29udmVydF9tZXRob2RfZGF0
YS5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvZHluYW1pY2FsbHktY2hhbmdlLXNoaXBwaW5nLW9wdGlvbnMtbWFu
dWFsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BheW1lbnQtcmVxdWVzdC9oaXN0b3JpY2FsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9pZGxoYXJuZXNz
Lmh0dHBzLndpbmRvdy5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L29ubWVyY2hhbnR2YWxpZGF0aW9uLWF0dHJpYnV0ZS5odHRw
cy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3Qvb25wYXltZW50bWV0aG9kY2hhbmdlLWF0dHJpYnV0ZS5odHRwcy5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvcGF5bWVudC1pcy1zaG93aW5nLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtYWJv
cnQtbWV0aG9kLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQt
bWV0aG9kLXByb3RlY3Rpb24uaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jYW5tYWtl
cGF5bWVudC1tZXRob2QuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jb25zdHJ1Y3Rv
ci10aGNyYXNoLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY29uc3RydWN0b3IuaHR0
cHMuc3ViLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY3Rvci1jdXJyZW5jeS1jb2RlLWNoZWNr
cy5odHRwcy5zdWIuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jdG9yLXBtaS1oYW5kbGluZy5o
dHRwcy5zdWIuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1lbnQt
bWV0aG9kLW1hbnVhbC50ZW50YXRpdmUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1o
YXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLXByb3RlY3Rpb24udGVudGF0aXZlLmh0dHBzLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVtZW50LW1ldGhvZC50ZW50
YXRpdmUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1pZC1hdHRyaWJ1dGUuaHR0cHMu
aHRtbApAQCAtNDYsMTMgKzM4LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVl
c3Qtc2hpcHBpbmdPcHRpb24tYXR0cmlidXRlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVl
c3Qtc2hpcHBpbmdUeXBlLWF0dHJpYnV0ZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0
LXNob3ctbWV0aG9kLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9yZWplY3RzX2lmX25vdF9hY3RpdmUtbWFudWFs
Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9yZWplY3RzX2lmX25vdF9hY3RpdmUuaHR0cHMuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3No
aXBwaW5nLWFkZHJlc3MtY2hhbmdlZC1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9k
LW9wdGlvbmFsLXByb21pc2UtcmVqZWN0cy1tYW51YWwuaHR0cHMuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0
aG9kLW9wdGlvbmFsLXByb21pc2UtcmVzb2x2ZXMtbWFudWFsLmh0dHBzLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93
LWNvbnN1bWUtYWN0aXZhdGlvbi5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwt
cHJvbWlzZS1yZWplY3RzLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1wb3N0bWVzc2FnZS1p
ZnJhbWUuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLXBvc3RtZXNzYWdlLW1hbnVhbC5odHRwcy5odG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJl
cXVlc3QvdXBkYXRlV2l0aC1tZXRob2QtcG1pLWhhbmRsaW5nLW1hbnVhbC5odHRwcy5odG1sCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvdXNlci1hYm9ydC1hbGdvcml0aG0tbWFudWFsLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC91c2VyLWFjY2Vw
dHMtcGF5bWVudC1yZXF1ZXN0LWFsZ28tbWFudWFsLmh0dHBzLmh0bWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlYTg0OGQ4MmUzMmQ4YTM5
ZDRlMTgzZTEzZDVmYjc1ZTFjMzNiNzU1Li43ZmIzMWVkZjk2Mjk3NjVjODEyYmJkNDRmN2FlM2E3
NmI3Zjg1ZTM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0
YXRpb25zCkBAIC01Niw5ICs1NiwxNiBAQCB3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudAogd2Via2l0
Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9hbGxvd3BheW1lbnRyZXF1ZXN0L3JlbW92aW5nLWFsbG93cGF5bWVudHJlcXVlc3QuaHR0
cHMuc3ViLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50cmVxdWVzdC9zZXR0
aW5nLWFsbG93cGF5bWVudHJlcXVlc3QtdGltaW5nLmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCiB3
ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVlc3Qvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0
Lmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9hbGxvd3Bh
eW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5o
dG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUtY3Jvc3Mt
b3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE3
NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxv
d3BheW1lbnQvcmVtb3ZpbmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWIuaHRtbCBbIFNr
aXAgXQord2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRyZXF1ZXN0
Lmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQtbWV0aG9kLmh0
dHBzLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1oYXNlbnJvbGxlZGluc3RydW1lbnQtbWV0aG9kLnRl
bnRhdGl2ZS5odHRwcy5odG1sIFsgU2tpcCBdCiAKKyMgVGhpcyB0ZXN0IGlzIGZhaWxpbmcgZHVl
IHRvIGxhY2sgb2YgdXNlciBhY3RpdmF0aW9uLgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1pcy1zaG93aW5nLmh0dHBzLmh0bWwgWyBTa2lw
IF0KKwogIyBza2lwIGluIGZhdm9yIG9mIHRlc3RzIGluIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVl
c3QKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1l
bnQtcmVxdWVzdC1hYm9ydC1tZXRob2QuaHR0cHMuaHRtbCBbIFdvbnRGaXggXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LXNo
b3ctbWV0aG9kLmh0dHBzLmh0bWwgWyBXb250Rml4IF0KQEAgLTEyMTIsMzggKzEyMTksNiBAQCB3
ZWJraXQub3JnL2IvMTg0NzgzIGNvbXBvc2l0aW5nL2lvcy9vdmVyZmxvdy1zY3JvbGwtdG91Y2gt
dGlsZXMuaHRtbCBbIFBhc3MgRmFpbAogCiB3ZWJraXQub3JnL2IvMTc5ODUzIFsgRGVidWcgXSBp
bXBvcnRlZC9ibGluay9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC1pdGVyYXRpb24tc2ltcGxlLXRl
eHQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLSMgc2tpcCBtYW51YWwgcGF5bWVudC1yZXF1ZXN0
IHRlc3RzCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9Q
YXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtY2FsbC1pbW1lZGlhdGUtbWFudWFs
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1kdXBsaWNh
dGUtc2hpcHBpbmctb3B0aW9ucy1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RVcGRh
dGVFdmVudC91cGRhdGVXaXRoLWluY3JlbWVudGFsLXVwZGF0ZS1tYW51YWwuaHR0cHMuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
UGF5bWVudFJlcXVlc3RVcGRhdGVFdmVudC91cGRhdGVXaXRoLW1ldGhvZC1hYm9ydC11cGRhdGUt
bWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1z
dGF0ZS1jaGVja3MtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzL3Jl
dHJ5LXNob3dzLWVycm9yLW1lbWJlci1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFZhbGlkYXRp
b25FcnJvcnMvcmV0cnktc2hvd3MtcGF5ZXItbWVtYmVyLW1hbnVhbC5odHRwcy5odG1sIFsgU2tp
cCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9QYXlt
ZW50VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1zaGlwcGluZ0FkZHJlc3MtbWVtYmVyLW1h
bnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9hbGdvcml0aG1zLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hp
cHBpbmctb3B0aW9uLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLXNl
bGVjdC1sYXN0LW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL2NvbXBsZXRlLW1l
dGhvZC1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9tZXRob2ROYW1lLWF0dHJp
YnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9vbnBheWVyZGV0YWlsY2hh
bmdlLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllckVt
YWlsLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllck5h
bWUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3BheWVyUGhv
bmUtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JlamVjdHNf
aWZfbm90X2FjdGl2ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXF1ZXN0
SWQtYXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3JldHJ5LW1l
dGhvZC1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ0FkZHJlc3Mt
YXR0cmlidXRlLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlc3BvbnNlL3NoaXBwaW5nT3B0
aW9uLWF0dHJpYnV0ZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudEFkZHJlc3MvYXR0cmlidXRl
cy1hbmQtdG9KU09OLW1ldGhvZC1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hpcHBpbmctYWRkcmVzcy1j
aGFuZ2VkLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJl
amVjdHMtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLW9wdGlvbmFsLXByb21pc2UtcmVz
b2x2ZXMtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Nob3ctbWV0aG9kLXBvc3RtZXNzYWdlLW1hbnVhbC5o
dHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC91cGRhdGVXaXRoLW1ldGhvZC1wbWktaGFuZGxpbmctbWFudWFsLmh0dHBzLmh0
bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1
ZXN0L3VzZXItYWJvcnQtYWxnb3JpdGhtLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC91c2VyLWFjY2VwdHMt
cGF5bWVudC1yZXF1ZXN0LWFsZ28tbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLQogd2Via2l0
Lm9yZy9iLzE4OTA4NyBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWVuZC1hdHRyaWJ1dGUtbnVtZXJp
Yy1wcmVjaXNpb24uaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xOTA4NDcg
WyBEZWJ1ZyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1uZXctc2NyaXB0Lmh0dHBz
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
c2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWplY3RzLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wYXltZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWplY3Rz
Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MmZhN2E1MTE5NzU0MmUyMDlmNWRkYmI5
NTgzOTE3NmVkZjgyZGJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9z
aG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJlamVjdHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK0NPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0
aW9uOiBTeW50YXhFcnJvcjogdGVzdAorCitQQVNTIFJlamVjdGlvbiBvZiBkZXRhaWxzUHJvbWlz
ZSBtdXN0IGFib3J0IHRoZSB1cGRhdGUgd2l0aCBhbiAnQWJvcnRFcnJvcicgRE9NRXhjZXB0aW9u
LgorUEFTUyBUb3RhbCBpbiB0aGUgdXBkYXRlIGlzIGEgc3RyaW5nLCBzbyBjb252ZXJ0aW5nIHRv
IElETCBtdXN0IGFib3J0IHRoZSB1cGRhdGUgd2l0aCBhIFR5cGVFcnJvci4KK1BBU1MgVG90YWwg
aXMgcmVjdXJzaXZlLCBzbyBjb252ZXJ0aW5nIHRvIElETCBtdXN0IGFib3J0IHRoZSB1cGRhdGUg
d2l0aCBhIFR5cGVFcnJvci4KK1BBU1MgVXBkYXRpbmcgd2l0aCBhIG5lZ2F0aXZlIHRvdGFsIHJl
c3VsdHMgaW4gYSBUeXBlRXJyb3IuCitQQVNTIFVwZGF0aW5nIHdpdGggYSBkaXNwbGF5SXRlbSB3
aXRoIGFuIGludmFsaWQgY3VycmVuY3kgcmVzdWx0cyBpbiBSYW5nZUVycm9yLgorUEFTUyBVcGRh
dGluZyB3aXRoIGR1cGxpY2F0ZSBzaGlwcGluZ09wdGlvbnMgKHNhbWUgSURzKSByZXN1bHRzIGlu
IGEgVHlwZUVycm9yLgorUEFTUyBVcGRhdGluZyB3aXRoIGEgc2hpcHBpbmdPcHRpb24gd2l0aCBh
biBpbnZhbGlkIGN1cnJlbmN5IHZhbHVlIHJlc3VsdHMgaW4gYSBSYW5nRXJyb3IuCitQQVNTIE11
c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBtb2RpZmllcidzIHRvdGFsIGl0ZW0gaGFzIGFu
IGludmFsaWQgY3VycmVuY3kuCitQQVNTIE11c3QgdGhyb3cgYSBSYW5nZUVycm9yIHdoZW4gYSBt
b2RpZmllciBkaXNwbGF5IGl0ZW0gaGFzIGFuIGludmFsaWQgY3VycmVuY3kuCitQQVNTIE11c3Qg
dGhyb3cgYXMgTW9kaWZpZXIgaGFzIGEgcmVjdXJzaXZlIGRpY3Rpb25hcnkuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmOGU1ZjdjY2E1
MWRiNmRjM2VkOGQ5NWI2MTkwNGIzYzQ2MGY1MTdiLi4wOGY2YjdmYjAzZDk2YzlmNDAyOWJhM2Ix
MTc5ODZkZWQ1M2ZlZjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0
RXhwZWN0YXRpb25zCkBAIC01OSw5ICs1OSwxNiBAQCB3ZWJraXQub3JnL2IvMTc1NjExIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudAog
d2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9hbGxvd3BheW1lbnRyZXF1ZXN0L3JlbW92aW5nLWFsbG93cGF5bWVudHJlcXVl
c3QuaHR0cHMuc3ViLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50cmVxdWVz
dC9zZXR0aW5nLWFsbG93cGF5bWVudHJlcXVlc3QtdGltaW5nLmh0dHBzLnN1Yi5odG1sIFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVlc3Qvc2V0dGluZy1hbGxvd3BheW1lbnRy
ZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTc1NjExIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9h
bGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFpbmVycy5o
dHRwcy5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudC9uby1hdHRyaWJ1dGUt
Y3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbCBbIFNraXAgXQord2Via2l0Lm9y
Zy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9hbGxvd3BheW1lbnQvcmVtb3ZpbmctYWxsb3dwYXltZW50cmVxdWVzdC5odHRwcy5zdWIuaHRt
bCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnQvc2V0dGluZy1hbGxvd3BheW1lbnRy
ZXF1ZXN0Lmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaGFzZW5yb2xsZWRpbnN0cnVt
ZW50LW1ldGhvZC50ZW50YXRpdmUuaHR0cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVy
ciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXlt
ZW50LXJlcXVlc3QtY2FubWFrZXBheW1lbnQtbWV0aG9kLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25z
b2xlTG9nSW5TdGRFcnIgXQogCisjIFRoaXMgdGVzdCBpcyBmYWlsaW5nIGR1ZSB0byBsYWNrIG9m
IHVzZXIgYWN0aXZhdGlvbi4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtaXMtc2hvd2luZy5odHRwcy5odG1sIFsgU2tpcCBdCisKICMgc2tp
cCBpbiBmYXZvciBvZiB0ZXN0cyBpbiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0CiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3Qt
YWJvcnQtbWV0aG9kLmh0dHBzLmh0bWwgWyBXb250Rml4IF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1zaG93LW1ldGhvZC5o
dHRwcy5odG1sIFsgV29udEZpeCBdCkBAIC03NzAsMzggKzc3Nyw2IEBAIHdlYmtpdC5vcmcvYi8x
ODQ5MzcgdHJhbnNpdGlvbnMvb3BhY2l0eS10cmFuc2l0aW9uLXppbmRleC5odG1sIFsgU2tpcCBd
CiAKIHdlYmtpdC5vcmcvYi8xODYzNjIgWyBSZWxlYXNlIF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRt
bCBbIFNraXAgXQogCi0jIHNraXAgbWFudWFsIHBheW1lbnQtcmVxdWVzdCB0ZXN0cwotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFJlcXVlc3RV
cGRhdGVFdmVudC91cGRhdGVXaXRoLWNhbGwtaW1tZWRpYXRlLW1hbnVhbC5odHRwcy5odG1sIFsg
U2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9Q
YXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtZHVwbGljYXRlLXNoaXBwaW5nLW9w
dGlvbnMtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0VXBkYXRlRXZlbnQvdXBkYXRl
V2l0aC1pbmNyZW1lbnRhbC11cGRhdGUtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRSZXF1ZXN0
VXBkYXRlRXZlbnQvdXBkYXRlV2l0aC1tZXRob2QtYWJvcnQtdXBkYXRlLW1hbnVhbC5odHRwcy5o
dG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVx
dWVzdC9QYXltZW50UmVxdWVzdFVwZGF0ZUV2ZW50L3VwZGF0ZVdpdGgtc3RhdGUtY2hlY2tzLW1h
bnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9QYXltZW50VmFsaWRhdGlvbkVycm9ycy9yZXRyeS1zaG93cy1lcnJv
ci1tZW1iZXItbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRWYWxpZGF0aW9uRXJyb3JzL3JldHJ5
LXNob3dzLXBheWVyLW1lbWJlci1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvUGF5bWVudFZhbGlkYXRpb25F
cnJvcnMvcmV0cnktc2hvd3Mtc2hpcHBpbmdBZGRyZXNzLW1lbWJlci1tYW51YWwuaHR0cHMuaHRt
bCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVl
c3QvYWxnb3JpdGhtcy1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi1t
YW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi1zZWxlY3QtbGFzdC1tYW51
YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9jb21wbGV0ZS1tZXRob2QtbWFudWFsLmh0
dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvbWV0aG9kTmFtZS1hdHRyaWJ1dGUtbWFudWFsLmh0
dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvb25wYXllcmRldGFpbGNoYW5nZS1hdHRyaWJ1dGUt
bWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJFbWFpbC1hdHRyaWJ1dGUt
bWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcGF5ZXJOYW1lLWF0dHJpYnV0ZS1t
YW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9wYXllclBob25lLWF0dHJpYnV0ZS1t
YW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZWplY3RzX2lmX25vdF9hY3RpdmUt
bWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UvcmVxdWVzdElkLWF0dHJpYnV0ZS1t
YW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9yZXRyeS1tZXRob2QtbWFudWFsLmh0
dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2Uvc2hpcHBpbmdBZGRyZXNzLWF0dHJpYnV0ZS1tYW51
YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
YXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS9zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUt
bWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L1BheW1lbnRBZGRyZXNzL2F0dHJpYnV0ZXMtYW5kLXRvSlNPTi1t
ZXRob2QtbWFudWFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3NoaXBwaW5nLWFkZHJlc3MtY2hhbmdlZC1tYW51YWwu
aHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3Qvc2hvdy1tZXRob2Qtb3B0aW9uYWwtcHJvbWlzZS1yZWplY3RzLW1hbnVhbC5o
dHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9zaG93LW1ldGhvZC1vcHRpb25hbC1wcm9taXNlLXJlc29sdmVzLW1hbnVhbC5o
dHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdC9zaG93LW1ldGhvZC1wb3N0bWVzc2FnZS1tYW51YWwuaHR0cHMuaHRtbCBbIFNr
aXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdXBk
YXRlV2l0aC1tZXRob2QtcG1pLWhhbmRsaW5nLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC91c2VyLWFib3J0
LWFsZ29yaXRobS1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvdXNlci1hY2NlcHRzLXBheW1lbnQtcmVxdWVz
dC1hbGdvLW1hbnVhbC5odHRwcy5odG1sIFsgU2tpcCBdCi0KICMgTWFudWFsIHRlc3RzLgogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItc2hhcmUvc2hhcmUtY2FuY2VsLW1hbnVh
bC5odHRwcy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
Yi1zaGFyZS9zaGFyZS1leHRyYS1hcmd1bWVudC1tYW51YWwuaHR0cHMuaHRtbCBbIFNraXAgXQpA
QCAtMTMzMCw0ICsxMzA1LDQgQEAgd2Via2l0Lm9yZy9iLzIxNzkzOCBbIE1vamF2ZSsgXSBodHRw
L3dwdC9zZXJ2aWNlLXdvcmtlcnMvaGVhZGVyLWZpbHRlcmluZy5odHRwcy4KIHdlYmtpdC5vcmcv
Yi8yMTc5MzggWyBNb2phdmUrIF0gaHR0cC93cHQvc2VydmljZS13b3JrZXJzL21hYy90aHJvdHRs
ZWFibGUuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE3OTM4IFsg
TW9qYXZlKyBdIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9vbmxpbmUuaHR0cHMuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMTgzNDEgaW5zcGVjdG9yL2RvbS1kZWJ1Z2dl
ci9hdHRyaWJ1dGUtbW9kaWZpZWQtc3R5bGUuaHRtbCBbIFBhc3MgVGltZW91dCBdClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQord2Via2l0Lm9yZy9iLzIxODM0MSBpbnNwZWN0b3IvZG9tLWRl
YnVnZ2VyL2F0dHJpYnV0ZS1tb2RpZmllZC1zdHlsZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>