<?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>223238</bug_id>
          
          <creation_ts>2021-03-15 21:25:16 -0700</creation_ts>
          <short_desc>PCM: Test infrastructure for sending attribution reports to attribution website too</short_desc>
          <delta_ts>2021-04-09 22:11:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Local 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=223286</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=223615</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="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739829</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-15 21:25:16 -0700</bug_when>
    <thetext>We need the ability to set two different reporting endpoints in testing of PCM when it sends attribution reports to attribution website too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739830</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-15 21:25:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/75462031&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739834</commentid>
    <comment_count>2</comment_count>
      <attachid>423296</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-15 21:45:30 -0700</bug_when>
    <thetext>Created attachment 423296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739972</commentid>
    <comment_count>3</comment_count>
      <attachid>423339</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-16 09:27:11 -0700</bug_when>
    <thetext>Created attachment 423339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740005</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-16 10:20:13 -0700</bug_when>
    <thetext>The timed out api-mac test is unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740071</commentid>
    <comment_count>5</comment_count>
      <attachid>423339</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-03-16 11:43:23 -0700</bug_when>
    <thetext>Comment on attachment 423339
Patch

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

r=me

&gt; LayoutTests/http/tests/contentextensions/block-private-click-measurement.html:18
&gt; +        testRunner.setPrivateClickMeasurementAttributionReportURLsForTesting(&quot;http://127.0.0.1:8000/privateClickMeasurement/resources/conversionReport.php&quot;, &quot;http://localhost:8000/privateClickMeasurement/resources/conversionReport.php&quot;);

It&apos;s too bad we don&apos;t have two separate endpoints (conversionReportForAttribution.php or something)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740075</commentid>
    <comment_count>6</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-16 11:44:47 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #5)
&gt; Comment on attachment 423339 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423339&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; LayoutTests/http/tests/contentextensions/block-private-click-measurement.html:18
&gt; &gt; +        testRunner.setPrivateClickMeasurementAttributionReportURLsForTesting(&quot;http://127.0.0.1:8000/privateClickMeasurement/resources/conversionReport.php&quot;, &quot;http://localhost:8000/privateClickMeasurement/resources/conversionReport.php&quot;);
&gt; 
&gt; It&apos;s too bad we don&apos;t have two separate endpoints
&gt; (conversionReportForAttribution.php or something)

Yeah, I wanted that when Jiewen started reusing the same PHP file for multiple things. We should revisit it.

Thanks, Brent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740158</commentid>
    <comment_count>7</comment_count>
      <attachid>423339</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-16 13:21:57 -0700</bug_when>
    <thetext>Comment on attachment 423339
Patch

Trying the cq again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740173</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-16 13:57:09 -0700</bug_when>
    <thetext>Committed r274513: &lt;https://commits.webkit.org/r274513&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423339.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740236</commentid>
    <comment_count>9</comment_count>
      <attachid>423339</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-16 15:06:46 -0700</bug_when>
    <thetext>Comment on attachment 423339
Patch

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

&gt; Tools/WebKitTestRunner/TestInvocation.cpp:1358
&gt; +        auto sourceURL = WKURLCreateWithUTF8CString(toWTFString(stringValue(testDictionary, &quot;SourceURLString&quot;)).utf8().data());
&gt; +        auto attributeOnURL = WKURLCreateWithUTF8CString(toWTFString(stringValue(testDictionary, &quot;AttributeOnURLString&quot;)).utf8().data());

Need adoptWK here so these don’t leak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740243</commentid>
    <comment_count>10</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-16 15:13:51 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 423339 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423339&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/TestInvocation.cpp:1358
&gt; &gt; +        auto sourceURL = WKURLCreateWithUTF8CString(toWTFString(stringValue(testDictionary, &quot;SourceURLString&quot;)).utf8().data());
&gt; &gt; +        auto attributeOnURL = WKURLCreateWithUTF8CString(toWTFString(stringValue(testDictionary, &quot;AttributeOnURLString&quot;)).utf8().data());
&gt; 
&gt; Need adoptWK here so these don’t leak.

I willfully admit that I&apos;m not great with these conversions and API types. When I use adoptWK here I get:
error: no viable conversion from &apos;WebKit::WKRetainPtr&lt;const OpaqueWKURL *&gt;&apos; to &apos;WKURLRef&apos; (aka &apos;const OpaqueWKURL *&apos;)

What is the right course of action? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740244</commentid>
    <comment_count>11</comment_count>
      <attachid>423339</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-16 15:15:58 -0700</bug_when>
    <thetext>Comment on attachment 423339
Patch

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

&gt;&gt;&gt; Tools/WebKitTestRunner/TestInvocation.cpp:1358
&gt;&gt;&gt; +        auto attributeOnURL = WKURLCreateWithUTF8CString(toWTFString(stringValue(testDictionary, &quot;AttributeOnURLString&quot;)).utf8().data());
&gt;&gt; 
&gt;&gt; Need adoptWK here so these don’t leak.
&gt; 
&gt; I willfully admit that I&apos;m not great with these conversions and API types. When I use adoptWK here I get:
&gt; error: no viable conversion from &apos;WebKit::WKRetainPtr&lt;const OpaqueWKURL *&gt;&apos; to &apos;WKURLRef&apos; (aka &apos;const OpaqueWKURL *&apos;)
&gt; 
&gt; What is the right course of action? Thanks!

You also have to add .get() where they are used:

    TestController::singleton().setPrivateClickMeasurementAttributionReportURLsForTesting(sourceURL.get(), attributeOnURL.get());

Doing that should get rid of those errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740249</commentid>
    <comment_count>12</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-03-16 15:19:48 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #11)
&gt; Comment on attachment 423339 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423339&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Tools/WebKitTestRunner/TestInvocation.cpp:1358
&gt; &gt;&gt;&gt; +        auto attributeOnURL = WKURLCreateWithUTF8CString(toWTFString(stringValue(testDictionary, &quot;AttributeOnURLString&quot;)).utf8().data());
&gt; &gt;&gt; 
&gt; &gt;&gt; Need adoptWK here so these don’t leak.
&gt; &gt; 
&gt; &gt; I willfully admit that I&apos;m not great with these conversions and API types. When I use adoptWK here I get:
&gt; &gt; error: no viable conversion from &apos;WebKit::WKRetainPtr&lt;const OpaqueWKURL *&gt;&apos; to &apos;WKURLRef&apos; (aka &apos;const OpaqueWKURL *&apos;)
&gt; &gt; 
&gt; &gt; What is the right course of action? Thanks!
&gt; 
&gt; You also have to add .get() where they are used:
&gt; 
&gt;    
&gt; TestController::singleton().
&gt; setPrivateClickMeasurementAttributionReportURLsForTesting(sourceURL.get(),
&gt; attributeOnURL.get());
&gt; 
&gt; Doing that should get rid of those errors.

Got it. I will land a follow-up patch shortly. OK if I state you as reviewer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740259</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-16 15:28:05 -0700</bug_when>
    <thetext>(In reply to John Wilander from comment #12)
&gt; Got it. I will land a follow-up patch shortly. OK if I state you as reviewer?

Sure. Sometimes people just write &quot;Suggested by&quot; instead of &quot;Reviewed by&quot; in cases like this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423296</attachid>
            <date>2021-03-15 21:45:30 -0700</date>
            <delta_ts>2021-03-16 09:27:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223238-20210315214529.patch</filename>
            <type>text/plain</type>
            <size>40792</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkNmNhZWZiM2ZmMDRhMjc1
MDU4YjI1NDE4MjA0ODg1MDk0NGMwOGUuLmNmZWE5YzczYTMwZjhlNjU5MDVmYmJkMGQwOTUxZGZl
MTEzM2Y5NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEtMDMtMTUgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUENNOiBUZXN0IGluZnJhc3Ry
dWN0dXJlIGZvciBzZW5kaW5nIGF0dHJpYnV0aW9uIHJlcG9ydHMgdG8gYXR0cmlidXRpb24gd2Vi
c2l0ZSB0b28KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMzIzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU0NjIwMzE+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoKSBub3cgaXMgbmFtZWQKKyAgICAg
ICAgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0
aW5nKCkgaW4gdGhlIGxheWVycyB0aGF0CisgICAgICAgIGV2ZW50dWFsbHkgcmVhY2ggV2ViS2l0
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuIEl0IHRha2VzIHR3byBVUkxzCisgICAg
ICAgIGF0dHJpYnV0aW9uUmVwb3J0U291cmNlVVJMIGFuZCBhdHRyaWJ1dGlvblJlcG9ydEF0dHJp
YnV0ZU9uVVJMIGFuZCBzZXRzIHRoZW0KKyAgICAgICAgaW4gYSBuZXcgc3RydWN0IEF0dHJpYnV0
aW9uUmVwb3J0VGVzdENvbmZpZy4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgcGF0Y2gg
anVzdCBhZGRzIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgZm9yIGEgY29taW5nIHBhdGNoLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzczo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJl
cG9ydFVSTHNGb3JUZXN0aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKTog
RGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Nlc3Npb246OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBv
cnRVUkxzRm9yVGVzdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyk6IERl
bGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmZpcmVDb252
ZXJzaW9uUmVxdWVzdEltcGwpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE1hbmFnZXI6OnNldEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcpOgorICAgICAg
ICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OnNldEF0dHJpYnV0aW9u
UmVwb3J0VVJMRm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcpOgorICAgICAgICAoV0tQYWdlU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbToKKyAgICAgICAg
KC1bV0tXZWJWaWV3IF9zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0
VVJMc0ZvclRlc3Rpbmc6YXR0cmlidXRlT25VUkw6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAg
ICAgICgtW1dLV2ViVmlldyBfc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJl
cG9ydFVSTEZvclRlc3Rpbmc6Y29tcGxldGlvbkhhbmRsZXI6XSk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JU
ZXN0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorCiAyMDIxLTAzLTE1ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0IHIyNzI2
MjkgYXMgaXQgY2F1c2VkIHJlZ3Jlc3Npb25zIGluIHNvbWUgYXBwcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA5M2Q1YTM3N2Y1ZmI2
NDFhMDMwZmE2ZmM1ZmM5MzJkNDFjNDRjOWE3Li5lOTVjYWExM2U5Mzg4MDAwMTEwM2Y3OGNmMDM2
NTEzOTFkODNjYTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcApAQCAtMjY0OSwxMSArMjY0OSwxMSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNz
OjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhQ
QUw6OgogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6
OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5n
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVVJMJiYgdXJsLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBVUkwmJiBzb3VyY2VVUkwsIFVSTCYmIGF0dHJpYnV0ZU9uVVJM
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
aWYgKGF1dG8qIHNlc3Npb24gPSBuZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQpKQotICAgICAgICBz
ZXNzaW9uLT5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9y
VGVzdGluZyhXVEZNb3ZlKHVybCkpOwotICAgIAorICAgICAgICBzZXNzaW9uLT5zZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoV1RGTW92ZShz
b3VyY2VVUkwpLCBXVEZNb3ZlKGF0dHJpYnV0ZU9uVVJMKSk7CisKICAgICBjb21wbGV0aW9uSGFu
ZGxlcigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmgKaW5kZXggMDc0MTc4ODk1MmQ1MTkzMTQxZjJjOGIzMmQ5MTllZTUzZmU3NmQ0Ny4uMmFm
YzRmMmFlM2NjOWNlMThhYzAzYjU1YjY0ZDcyYzMxZjQwYTQxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMzQxLDcgKzM0MSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0
YXJ0KFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZv
aWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3Rpbmco
UEFMOjpTZXNzaW9uSUQsIFVSTCYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAg
IHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3Rp
bmcoUEFMOjpTZXNzaW9uSUQsIFVSTCYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwot
ICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZv
clRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIFVSTCYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOworICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9y
dFVSTHNGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklELCBVUkwmJiBzb3VyY2VVUkwsIFVSTCYmIGF0
dHJpYnV0ZU9uVVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgbWFy
a1ByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoUEFMOjpTZXNzaW9u
SUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQQ01GcmF1ZFBy
ZXZlbnRpb25WYWx1ZXNGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklELCBTdHJpbmcmJiB1bmxpbmth
YmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWduYXR1cmUsIFN0cmlu
ZyYmIGtleUlELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpp
bmRleCA4YTMxYTdmNjk5NWM4MzNlZTZmYzhkZDU3Y2EwOGJhOTcxYTM0YWY2Li40NGNkYTQwYjkx
YzA0NWY1ZjEwODBjYjE2ZjkwZGIyZGQxY2JmN2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTE2OSw3
ICsxNjksNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAg
ICAgU2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQoUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVt
ZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
VVJMIHVybCkgLT4gKCkgQXN5bmMKICAgICBTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2Vu
U2lnbmF0dXJlVVJMRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVSTCB1cmwp
IC0+ICgpIEFzeW5jCi0gICAgU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJl
cG9ydFVSTEZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVUkwgdXJsKSAtPiAo
KSBBc3luYworICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRV
UkxzRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVSTCBzb3VyY2VVUkwsIFVS
TCBhdHRyaWJ1dGVPblVSTCkgLT4gKCkgQXN5bmMKICAgICBNYXJrUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+ICgp
IEFzeW5jCiAgICAgU2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIFN0cmluZyBzZWNyZXRUb2tlbiwgU3RyaW5nIHVubGlua2FibGVU
b2tlbiwgU3RyaW5nIHNpZ25hdHVyZSwgU3RyaW5nIGtleUlEKSAtPiAoKSBBc3luYwogICAgIEdl
dExvY2FsU3RvcmFnZU9yaWdpbkRldGFpbHMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAo
VmVjdG9yPFdlYktpdDo6TG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyOjpPcmlnaW5EZXRhaWxz
PiBkZXRhaWxzKSBBc3luYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtTZXNzaW9uLmNwcAppbmRleCA0ZjZjNDM5YjJiODcwMmFkMDZhNDgyZjkxYmYwM2JlNDJmY2Jl
NjhiLi43MWQ3N2Q2Yzg4YjIzYjVlNGI4OTcxZmRmZGI3MTU4Yjg1NGUzYTYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcApAQCAtMzQ4LDkg
KzM0OCw5IEBAIHZvaWQgTmV0d29ya1Nlc3Npb246OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKFVSTCYmCiAgICAgcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQoKS5zZXRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoV1RGTW92ZSh1cmwpKTsKIH0K
IAotdm9pZCBOZXR3b3JrU2Vzc2lvbjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1
dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoVVJMJiYgdXJsKQordm9pZCBOZXR3b3JrU2Vzc2lvbjo6
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5n
KFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgYXR0cmlidXRlT25VUkwpCiB7Ci0gICAgcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQoKS5zZXRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoV1RGTW92
ZSh1cmwpKTsKKyAgICBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpLnNldEF0dHJpYnV0aW9uUmVw
b3J0VVJMc0ZvclRlc3RpbmcoV1RGTW92ZShzb3VyY2VVUkwpLCBXVEZNb3ZlKGF0dHJpYnV0ZU9u
VVJMKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Nlc3Npb246Om1hcmtQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Nlc3Npb24uaAppbmRleCBiNDUwMzg1MTdiOTYwOGY4YTQ5YWQ1NWE1MTFiM2I2
YTFkMjM4YmE3Li4xYjYxMjczMGMxNDFkZjFkN2UxODFkYjhkNjU3ZTg5MzA1YzJjYTRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCkBAIC0xMjYs
NyArMTI2LDcgQEAgcHVibGljOgogICAgIHZvaWQgbWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJM
Rm9yVGVzdGluZyhVUkwmJik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRv
a2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhVUkwmJik7Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyhVUkwmJik7CisgICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRl
c3RpbmcoVVJMJiYgc291cmNlVVJMLCBVUkwmJiBhdHRyaWJ1dGVPblVSTCk7CiAgICAgdm9pZCBt
YXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHZv
aWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhTdHJpbmcmJiB1bmxpbmth
YmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWduYXR1cmUsIFN0cmlu
ZyYmIGtleUlEKTsKICAgICB2b2lkIGZpcmVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRpbWVySW1t
ZWRpYXRlbHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcAppbmRleCBjM2RmNjNkOTli
YzcxNWFjNjVkOWFmODA4MzhiMzc0ZjllMmZmZjAyLi5lMjAyOGE1N2YyYWJlYmNjYThhZGNkYjg4
ZDgxZTMyYzRiODU2MzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCkBAIC0zMjQs
NyArMzI0LDcgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmZpcmVDb252
ZXJzaW9uUmVxdWVzdChjb25zdCBQcml2YXRlQ2xpY2tNZWEKIAogdm9pZCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXI6OmZpcmVDb252ZXJzaW9uUmVxdWVzdEltcGwoY29uc3QgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQmIGF0dHJpYnV0aW9uKQogewotICAgIGF1dG8gYXR0cmlidXRpb25V
UkwgPSBtX2F0dHJpYnV0aW9uUmVwb3J0QmFzZVVSTEZvclRlc3RpbmcgPyAqbV9hdHRyaWJ1dGlv
blJlcG9ydEJhc2VVUkxGb3JUZXN0aW5nIDogYXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRT
b3VyY2VVUkwoKTsKKyAgICBhdXRvIGF0dHJpYnV0aW9uVVJMID0gbV9hdHRyaWJ1dGlvblJlcG9y
dFRlc3RDb25maWcgPyBtX2F0dHJpYnV0aW9uUmVwb3J0VGVzdENvbmZpZy0+YXR0cmlidXRpb25S
ZXBvcnRTb3VyY2VVUkwgOiBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCgp
OwogICAgIGlmIChhdHRyaWJ1dGlvblVSTC5pc0VtcHR5KCkgfHwgIWF0dHJpYnV0aW9uVVJMLmlz
VmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC00NzQsMTIgKzQ3NCwxMiBAQCB2b2lkIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6c2V0VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0
aW5nKFVSTCYmIHRlc3RVUgogICAgICAgICBtX3Rva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyA9
IFdURk1vdmUodGVzdFVSTCk7CiB9CiAKLXZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjpzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoVVJMJiYgdGVzdFVSTCkKK3Zv
aWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzZXRBdHRyaWJ1dGlvblJlcG9ydFVS
THNGb3JUZXN0aW5nKFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgYXR0cmlidXRlT25VUkwpCiB7Ci0g
ICAgaWYgKHRlc3RVUkwuaXNFbXB0eSgpKQotICAgICAgICBtX2F0dHJpYnV0aW9uUmVwb3J0QmFz
ZVVSTEZvclRlc3RpbmcgPSB7IH07CisgICAgaWYgKHNvdXJjZVVSTC5pc0VtcHR5KCkgfHwgYXR0
cmlidXRlT25VUkwuaXNFbXB0eSgpKQorICAgICAgICBtX2F0dHJpYnV0aW9uUmVwb3J0VGVzdENv
bmZpZyA9IFdURjo6bnVsbG9wdDsKICAgICBlbHNlCi0gICAgICAgIG1fYXR0cmlidXRpb25SZXBv
cnRCYXNlVVJMRm9yVGVzdGluZyA9IFdURk1vdmUodGVzdFVSTCk7CisgICAgICAgIG1fYXR0cmli
dXRpb25SZXBvcnRUZXN0Q29uZmlnID0gQXR0cmlidXRpb25SZXBvcnRUZXN0Q29uZmlnIHsgV1RG
TW92ZShzb3VyY2VVUkwpLCBXVEZNb3ZlKGF0dHJpYnV0ZU9uVVJMKSB9OwogfQogCiB2b2lkIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6bWFya0FsbFVuYXR0cmlidXRlZEFzRXhwaXJl
ZEZvclRlc3RpbmcoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmgKaW5kZXggNjI2ZjRiYzVjYjgw
YTI3OTgwZGQ2MTRjNWY4YWY5YjFmNTdmZDZjZi4uNzQxYTgxZTBjNTVmZjM1OTZjMDcxY2FjZDc3
YTRkZmI3YTFkMzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5oCkBAIC02Myw3ICs2Myw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE92ZXJyaWRlVGltZXJGb3JUZXN0aW5nKGJvb2wgdmFs
dWUpIHsgbV9pc1J1bm5pbmdUZXN0ID0gdmFsdWU7IH0KICAgICB2b2lkIHNldFRva2VuUHVibGlj
S2V5VVJMRm9yVGVzdGluZyhVUkwmJik7CiAgICAgdm9pZCBzZXRUb2tlblNpZ25hdHVyZVVSTEZv
clRlc3RpbmcoVVJMJiYpOwotICAgIHZvaWQgc2V0QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0
aW5nKFVSTCYmKTsKKyAgICB2b2lkIHNldEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmco
VVJMJiYgc291cmNlVVJMLCBVUkwmJiBhdHRyaWJ1dGVPblVSTCk7CiAgICAgdm9pZCBtYXJrQWxs
VW5hdHRyaWJ1dGVkQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHZvaWQgbWFya0F0dHJpYnV0
ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQQ01GcmF1ZFByZXZlbnRpb25WYWx1ZXNG
b3JUZXN0aW5nKFN0cmluZyYmIHVubGlua2FibGVUb2tlbiwgU3RyaW5nJiYgc2VjcmV0VG9rZW4s
IFN0cmluZyYmIHNpZ25hdHVyZSwgU3RyaW5nJiYga2V5SUQpOwpAQCAtODUsMTIgKzg1LDE4IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2lzUnVubmluZ1Rlc3QgeyBmYWxzZSB9OwogICAgIE9wdGlv
bmFsPFVSTD4gbV90b2tlblB1YmxpY0tleVVSTEZvclRlc3Rpbmc7CiAgICAgT3B0aW9uYWw8VVJM
PiBtX3Rva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZzsKLSAgICBPcHRpb25hbDxVUkw+IG1fYXR0
cmlidXRpb25SZXBvcnRCYXNlVVJMRm9yVGVzdGluZzsKICAgICBXZWFrUHRyPE5ldHdvcmtTZXNz
aW9uPiBtX25ldHdvcmtTZXNzaW9uOwogICAgIFJlZjxOZXR3b3JrUHJvY2Vzcz4gbV9uZXR3b3Jr
UHJvY2VzczsKICAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKICAgICBGdW5jdGlvbjx2
b2lkKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmKT4mJik+IG1fcGluZ0xvYWRGdW5jdGlvbjsKIAorICAgIHN0cnVjdCBBdHRyaWJ1
dGlvblJlcG9ydFRlc3RDb25maWcgeworICAgICAgICBVUkwgYXR0cmlidXRpb25SZXBvcnRTb3Vy
Y2VVUkw7CisgICAgICAgIFVSTCBhdHRyaWJ1dGlvblJlcG9ydEF0dHJpYnV0ZU9uVVJMOworICAg
IH07CisKKyAgICBPcHRpb25hbDxBdHRyaWJ1dGlvblJlcG9ydFRlc3RDb25maWc+IG1fYXR0cmli
dXRpb25SZXBvcnRUZXN0Q29uZmlnOworCiAgICAgc3RydWN0IFRlc3RpbmdGcmF1ZFByZXZlbnRp
b25WYWx1ZXMgewogICAgICAgICBTdHJpbmcgdW5saW5rYWJsZVRva2VuOwogICAgICAgICBTdHJp
bmcgc2VjcmV0VG9rZW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApp
bmRleCAzMzYwMDc2OTE1MTQ3ZGNmYjlkMGE5ZGVjN2MyODAzODQ0N2U3ODU0Li5kNzkzMWE1YTQ0
NTM1OWQ5NWQxNzQ2OTFhZmZmNzRlOGVjOWRjYmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5jcHAKQEAgLTI5NTksOSArMjk1OSw5IEBAIHZvaWQgV0tQYWdlU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoV0tQYWdlUmVm
IHBhZ2UsCiAgICAgfSk7CiB9CiAKLXZvaWQgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoV0tQYWdlUmVmIHBhZ2UsIFdLVVJMUmVm
IFVSTFJlZiwgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9y
dFVSTEZvclRlc3RpbmdGdW5jdGlvbiBjYWxsYmFjaywgdm9pZCogY2FsbGJhY2tDb250ZXh0KQor
dm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJM
c0ZvclRlc3RpbmcoV0tQYWdlUmVmIHBhZ2UsIFdLVVJMUmVmIHNvdXJjZVVSTCwgV0tVUkxSZWYg
YXR0cmlidXRlT25VUkwsIFdLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRp
b25SZXBvcnRVUkxzRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFja0Nv
bnRleHQpCiB7Ci0gICAgdG9JbXBsKHBhZ2UpLT5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0
dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyhVUkwoVVJMKCksIHRvV1RGU3RyaW5nKFVSTFJl
ZikpLCBbY2FsbGJhY2tDb250ZXh0LCBjYWxsYmFja10gKCkgeworICAgIHRvSW1wbChwYWdlKS0+
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5n
KFVSTChVUkwoKSwgdG9XVEZTdHJpbmcoc291cmNlVVJMKSksIFVSTChVUkwoKSwgdG9XVEZTdHJp
bmcoYXR0cmlidXRlT25VUkwpKSwgW2NhbGxiYWNrQ29udGV4dCwgY2FsbGJhY2tdICgpIHsKICAg
ICAgICAgY2FsbGJhY2soY2FsbGJhY2tDb250ZXh0KTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAppbmRleCBhMjU2NmYzMDM1ZjUy
ZTkzOTVhZGJjNTczY2JhZWNiMDg0MDFlNzZkLi45ZTFmZGIxOTJkYmYxZjg2MmY1YjViNDdkMmQ2
ODI5MjExNjI3M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
UHJpdmF0ZS5oCkBAIC0xODMsOCArMTgzLDggQEAgdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmdGdW5jdGkKIFdL
X0VYUE9SVCB2b2lkIFdLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNL
ZXlVUkxGb3JUZXN0aW5nKFdLUGFnZVJlZiBwYWdlLCBXS1VSTFJlZiB1cmxTdHJpbmcsIFdLUGFn
ZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nRnVu
Y3Rpb24gY2FsbGJhY2ssIHZvaWQqIGNhbGxiYWNrQ29udGV4dCk7CiB0eXBlZGVmIHZvaWQgKCpX
S1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGlu
Z0Z1bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwogV0tfRVhQT1JUIHZvaWQgV0tQYWdl
U2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoV0tQ
YWdlUmVmIHBhZ2UsIFdLVVJMUmVmIHVybFN0cmluZywgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmdGdW5jdGlvbiBjYWxsYmFjaywgdm9p
ZCogY2FsbGJhY2tDb250ZXh0KTsKLXR5cGVkZWYgdm9pZCAoKldLUGFnZVNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nRnVuY3Rpb24pKHZvaWQq
IGZ1bmN0aW9uQ29udGV4dCk7Ci1XS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyhXS1BhZ2VSZWYgcGFnZSwg
V0tVUkxSZWYgdXJsU3RyaW5nLCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJp
YnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFj
a0NvbnRleHQpOwordHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9u
Q29udGV4dCk7CitXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoV0tQYWdlUmVmIHBhZ2UsIFdLVVJMUmVm
IHNvdXJjZVVSTCwgV0tVUkxSZWYgYXR0cmlidXRlT25VUkwsIFdLUGFnZVNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxi
YWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlTWFya1By
aXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmdGdW5jdGlvbikodm9pZCog
ZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZU1hcmtQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKFdLUGFnZVJlZiBwYWdlLCBXS1BhZ2VNYXJr
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxi
YWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UENN
RnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZ0Z1bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNv
bnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaAppbmRleCA2MmU0NjcxNDRlOTE5NGVi
MGE2ODJhMDhhMjg0ZDU5NWY5NWUzZDk4Li41NDlhYTM1N2UwY2VmMDIwMGVhZTdjZmNhYTdmYTAy
MWEyNmFmYTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaApAQCAtOTAsNyArOTAsNyBA
QCBzdHJ1Y3QgV0tBcHBCb3VuZE5hdmlnYXRpb25UZXN0aW5nRGF0YSB7CiAtIChOU051bWJlciAq
KV9zdXNwZW5kTWVkaWFQbGF5YmFja0NvdW50ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLSAodm9pZClfc2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRPdmVycmlkZVRpbWVyRm9yVGVzdGluZzooQk9PTClvdmVycmlkZVRpbWVyIGNvbXBs
ZXRpb25IYW5kbGVyOih2b2lkKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV9zZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZzooTlNV
UkwgKil1cmwgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikodm9pZCkpY29tcGxldGlvbkhhbmRs
ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
Ky0gKHZvaWQpX3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxz
Rm9yVGVzdGluZzooTlNVUkwgKilzb3VyY2VVUkwgYXR0cmlidXRlT25VUkw6KE5TVVJMICopYXR0
cmlidXRlT25VUkwgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikodm9pZCkpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIAogLSAodm9pZClfbGFzdE5hdmlnYXRpb25XYXNBcHBCb3VuZDoodm9pZCheKShCT09MKSlj
b21wbGV0aW9uSGFuZGxlcjsKIC0gKHZvaWQpX2FwcEJvdW5kTmF2aWdhdGlvbkRhdGE6KHZvaWQo
Xikoc3RydWN0IFdLQXBwQm91bmROYXZpZ2F0aW9uVGVzdGluZ0RhdGEgZGF0YSkpY29tcGxldGlv
bkhhbmRsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3VGVzdGluZy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdUZXN0aW5nLm1tCmluZGV4IGFkMDg0ZDUyZjJiODZlZjcwNDExZmZmNWI3YzdjNGNj
MGRmN2JjNzQuLjg0Yzg0ZThlZDg2NmU1NGMwNjc4ZThiMmZmZTZlMzAwMjllY2FhYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5n
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0
aW5nLm1tCkBAIC0zMDIsOSArMzAyLDkgQEAgLSAodm9pZClfc2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRPdmVycmlkZVRpbWVyRm9yVGVzdGluZzooQk9PTClvdmVycmlkZVRpbWVyIGMKICAgICB9
KTsKIH0KIAotLSAodm9pZClfc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJl
cG9ydFVSTEZvclRlc3Rpbmc6KE5TVVJMICopdXJsIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4p
KHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCistICh2b2lkKV9zZXRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmc6KE5TVVJMICopc291cmNlVVJMIGF0
dHJpYnV0ZU9uVVJMOihOU1VSTCAqKWF0dHJpYnV0ZU9uVVJMIGNvbXBsZXRpb25IYW5kbGVyOih2
b2lkKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCiB7Ci0gICAgX3BhZ2UtPnNldFByaXZhdGVD
bGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKHVybCwgW2NvbXBs
ZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgIF9w
YWdlLT5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRl
c3Rpbmcoc291cmNlVVJMLCBhdHRyaWJ1dGVPblVSTCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFr
ZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gewogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
aW5kZXggZjNiYjJiZDI1YWI2MjljMWM3MDMwZGY0ZjRlNzJjY2E0NzNlZWM0MC4uYmU1NmEwM2Vi
ZmUzMzJkMWFmNjJlMDU2NGQxOTA3NWVhNmE5NDliYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMDAxNyw5ICsxMDAxNyw5IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGlu
Zyhjb25zdCBVCiAgICAgd2Vic2l0ZURhdGFTdG9yZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcobV93ZWJzaXRlRGF0YVN0b3JlLT5z
ZXNzaW9uSUQoKSwgdXJsKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lk
IFdlYlBhZ2VQcm94eTo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9y
dFVSTEZvclRlc3RpbmcoY29uc3QgVVJMJiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoY29uc3QgVVJMJiBzb3Vy
Y2VVUkwsIGNvbnN0IFVSTCYgYXR0cmlidXRlT25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB3ZWJzaXRlRGF0YVN0b3JlKCkubmV0d29y
a1Byb2Nlc3MoKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpT
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyht
X3dlYnNpdGVEYXRhU3RvcmUtPnNlc3Npb25JRCgpLCB1cmwpLCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CisgICAgd2Vic2l0ZURhdGFTdG9yZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKG1fd2Vic2l0ZURhdGFTdG9y
ZS0+c2Vzc2lvbklEKCksIHNvdXJjZVVSTCwgYXR0cmlidXRlT25VUkwpLCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjptYXJrUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IGY1Y2VmNmYxODBmY2UzZGE0ZmZjMDljMGM4NzM3NzgyNTdiMjMwOWQuLmYyOTk5ZjI3
M2FhZWNjZDgxNGRjMWI2ZWMxNWYzYTAyMzg2ZjQxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCkBAIC0xNzA2LDcgKzE3MDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
aW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tl
blB1YmxpY0tleVVSTEZvclRlc3RpbmcoY29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5TaWduYXR1
cmVVUkxGb3JUZXN0aW5nKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJM
Rm9yVGVzdGluZyhjb25zdCBVUkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOworICAg
IHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JU
ZXN0aW5nKGNvbnN0IFVSTCYgc291cmNlVVJMLCBjb25zdCBVUkwmIGF0dHJpYnV0ZU9uVVJMLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgbWFya1ByaXZhdGVDbGlja01l
YXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKICAgICB2b2lkIHNldFBDTUZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoY29uc3Qg
U3RyaW5nJiB1bmxpbmthYmxlVG9rZW4sIGNvbnN0IFN0cmluZyYgc2VjcmV0VG9rZW4sIGNvbnN0
IFN0cmluZyYgc2lnbmF0dXJlLCBjb25zdCBTdHJpbmcmIGtleUlELCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggNTRiNDM5YjVjNTEyYzkzYTMxZDljZTg5MDI3M2YwYmE3MGQ0OGFmZC4uYTRj
NWExOGYyNWQyMzhmZTk4MDJmNDQ2YTRkNjc5MDUxZmUwMzNjMSAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAz
LTE1ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTog
VGVzdCBpbmZyYXN0cnVjdHVyZSBmb3Igc2VuZGluZyBhdHRyaWJ1dGlvbiByZXBvcnRzIHRvIGF0
dHJpYnV0aW9uIHdlYnNpdGUgdG9vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjMyMzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NDYyMDMxPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKCkgbm93IGlz
IG5hbWVkCisgICAgICAgIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBv
cnRVUkxzRm9yVGVzdGluZygpIGluIHRoZSBsYXllcnMgdGhhdAorICAgICAgICBldmVudHVhbGx5
IHJlYWNoIFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLiBJdCB0YWtlcyB0
d28gVVJMcworICAgICAgICBhdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCBhbmQgYXR0cmlidXRp
b25SZXBvcnRBdHRyaWJ1dGVPblVSTCBhbmQgc2V0cyB0aGVtCisgICAgICAgIGluIGEgbmV3IHN0
cnVjdCBBdHRyaWJ1dGlvblJlcG9ydFRlc3RDb25maWcuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0V2ZW50QXR0cmlidXRpb24ubW06CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6
OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGlu
Zyk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9y
VGVzdGluZyk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52b2Nh
dGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisK
IDIwMjEtMDMtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSRUdSRVNTSU9OOiAocjI1NTYxMSkgWyBNYWMgXSAzIGxsZGIgdGVzdHMgZmFp
bGluZyByZWxhdGVkIHRvIEhhc2hNYXAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5tbQppbmRleCA3MTM1ZjVkZTQz
Y2FkZDVjM2VhNzY2YTY2NzU3MmViZDYxMGE3MWE5Li5mNDY5YjAyODBhMDFhNmQzYjFlMzQzOTNk
OTI3ZDEwZDM1NWNkY2RmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0V2ZW50QXR0cmlidXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJpYnV0aW9uLm1tCkBAIC0xMDYsNyArMTA2LDcgQEAg
VEVTVChFdmVudEF0dHJpYnV0aW9uLCBCYXNpYykKICAgICB3ZWJWaWV3LmdldCgpLl91aUV2ZW50
QXR0cmlidXRpb24gPSAoVUlFdmVudEF0dHJpYnV0aW9uICopYXR0cmlidXRpb24uZ2V0KCk7CiAg
ICAgW1t3ZWJWaWV3IGNvbmZpZ3VyYXRpb25dLndlYnNpdGVEYXRhU3RvcmUgX3NldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107CiAgICAgW1t3ZWJWaWV3IGNvbmZpZ3VyYXRpb25d
LndlYnNpdGVEYXRhU3RvcmUgX2FsbG93VExTQ2VydGlmaWNhdGVDaGFpbjpAWyhpZCl0ZXN0Q2Vy
dGlmaWNhdGUoKS5nZXQoKV0gZm9ySG9zdDpzZXJ2ZXJVUkwuaG9zdF07Ci0gICAgW3dlYlZpZXcg
X3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5n
OnNlcnZlclVSTCBjb21wbGV0aW9uSGFuZGxlcjpeeworICAgIFt3ZWJWaWV3IF9zZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmc6c2VydmVyVVJM
IGF0dHJpYnV0ZU9uVVJMOmV4YW1wbGVVUkwgY29tcGxldGlvbkhhbmRsZXI6XnsKICAgICAgICAg
W3dlYlZpZXcgX3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVUaW1lckZvclRlc3Rp
bmc6WUVTIGNvbXBsZXRpb25IYW5kbGVyOl57CiAgICAgICAgICAgICBOU1N0cmluZyAqaHRtbCA9
IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiPHNjcmlwdD5mZXRjaCgnJUBjb252ZXJzaW9u
UmVxdWVzdEJlZm9yZVJlZGlyZWN0Jyx7bW9kZTonbm8tY29ycyd9KTwvc2NyaXB0PiIsIHNlcnZl
clVSTF07CiAgICAgICAgICAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpodG1sIGJhc2VVUkw6
ZXhhbXBsZVVSTF07CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCAwOGRhOTBhY2YyMzgw
YzIyMmY0YmEyMWM4NTgzOGM1ZmQ3N2M5ZjI0Li45NDAzMzA1YTdjYmQyMjUzZmE0YzcxZGVmZjEz
ZjRjZTcxNDliYTJjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTQwNiw3ICs0MDYs
NyBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdW5kZWZpbmVkIHNpbXVsYXRlUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CiAgICAgdW5kZWZpbmVkIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKERPTVN0cmluZyB1
cmwpOwogICAgIHVuZGVmaW5lZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0
dXJlVVJMRm9yVGVzdGluZyhET01TdHJpbmcgdXJsKTsKLSAgICB1bmRlZmluZWQgc2V0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoRE9NU3RyaW5n
IHVybCk7CisgICAgdW5kZWZpbmVkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRp
b25SZXBvcnRVUkxzRm9yVGVzdGluZyhET01TdHJpbmcgc291cmNlVVJMU3RyaW5nLCBET01TdHJp
bmcgYXR0cmlidXRlT25VUkxTdHJpbmcpOwogICAgIHVuZGVmaW5lZCBtYXJrUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHVuZGVmaW5lZCBzZXRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudEZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoRE9NU3Ry
aW5nIHVubGlua2FibGVUb2tlbiwgRE9NU3RyaW5nIHNlY3JldFRva2VuLCBET01TdHJpbmcgc2ln
bmF0dXJlLCBET01TdHJpbmcga2V5SUQpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBiZWRkYmNlYzExMzQ0NWE1
MWY4MzJmN2EwMmJmYTQwODQ0OTM3ZjA1Li4yYjVmZTJhZDY3YWViNDRhYjRmOTdmN2VkNjMxOWNk
NWUyNWIxYTM1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTIwNDMsMTAgKzIwNDMsMTIgQEAgdm9pZCBUZXN0UnVu
bmVyOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGlu
ZyhKU1N0cmluZ1IKICAgICAgICAgYWRvcHRXSyhXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmluZyh0
b1dURlN0cmluZyh1cmxTdHJpbmcpLnV0ZjgoKS5kYXRhKCkpKSk7CiB9CiAKLXZvaWQgVGVzdFJ1
bm5lcjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRl
c3RpbmcoSlNTdHJpbmdSZWYgdXJsU3RyaW5nKQordm9pZCBUZXN0UnVubmVyOjpzZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoSlNTdHJpbmdS
ZWYgc291cmNlVVJMU3RyaW5nLCBKU1N0cmluZ1JlZiBhdHRyaWJ1dGVPblVSTFN0cmluZykKIHsK
LSAgICBwb3N0U3luY2hyb25vdXNQYWdlTWVzc2FnZSgiU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmciLAotICAgICAgICBhZG9wdFdLKFdLVVJM
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKHRvV1RGU3RyaW5nKHVybFN0cmluZykudXRmOCgpLmRhdGEo
KSkpKTsKKyAgICBwb3N0U3luY2hyb25vdXNQYWdlTWVzc2FnZSgiU2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nIiwgY3JlYXRlV0tEaWN0aW9u
YXJ5KHsKKyAgICAgICAgeyAiU291cmNlVVJMU3RyaW5nIiwgdG9XSyhzb3VyY2VVUkxTdHJpbmcp
IH0sCisgICAgICAgIHsgIkF0dHJpYnV0ZU9uVVJMU3RyaW5nIiwgdG9XSyhhdHRyaWJ1dGVPblVS
TFN0cmluZykgfSwKKyAgICB9KSk7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6bWFya1ByaXZhdGVD
bGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCAyMWExMmJhNjMy
NzdkMTAyMjVlZDdkNjJlYzk0YzhmOTc3NzNiNmM5Li5mYTg2MjUxZGQyYzhiMzk3ODg3YzlmOTA4
ZTViZjIwYTdjNmYzNTY0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtNTE1LDcgKzUxNSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVUaW1lckZvclRlc3RpbmcoYm9v
bCB2YWx1ZSk7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGlj
S2V5VVJMRm9yVGVzdGluZyhKU1N0cmluZ1JlZik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhKU1N0cmluZ1JlZik7Ci0gICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVz
dGluZyhKU1N0cmluZ1JlZik7CisgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0
dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoSlNTdHJpbmdSZWYgc291cmNlVVJMLCBKU1N0
cmluZ1JlZiBhdHRyaWJ1dGVPblVSTCk7CiAgICAgdm9pZCBtYXJrUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHZvaWQgbWFya0F0dHJpYnV0ZWRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCk7CiAgICAgdm9pZCBzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoSlNT
dHJpbmdSZWYgdW5saW5rYWJsZVRva2VuLCBKU1N0cmluZ1JlZiBzZWNyZXRUb2tlbiwgSlNTdHJp
bmdSZWYgc2lnbmF0dXJlLCBKU1N0cmluZ1JlZiBrZXlJRCk7CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGUzMmEwZmQxYmIzN2M0ZDFhMjA3NjZhZTVkMTZl
Y2I0NTJjMTM0NjUuLjQwM2VkM2RiNGE3OWQ1MDhlZjM3MjQyNzJmN2Y1ODgyODJjMjI5ZGQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0zNjUxLDEwICsz
NjUxLDEwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKFdLVVJMCiAgICAgcnVuVW50aWwoY2FsbGJhY2tD
b250ZXh0LmRvbmUsIG5vVGltZW91dCk7CiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFBy
aXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKFdLVVJM
UmVmIHVybCkKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhXS1VSTFJlZiBzb3VyY2VVUkwsIFdLVVJM
UmVmIGF0dHJpYnV0ZU9uVVJMKQogewogICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50Vm9pZENh
bGxiYWNrQ29udGV4dCBjYWxsYmFja0NvbnRleHQoKnRoaXMpOwotICAgIFdLUGFnZVNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKG1fbWFpbldl
YlZpZXctPnBhZ2UoKSwgdXJsLCBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudFZvaWRDYWxsYmFjaywg
JmNhbGxiYWNrQ29udGV4dCk7CisgICAgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRB
dHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgc291
cmNlVVJMLCBhdHRyaWJ1dGVPblVSTCwgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRWb2lkQ2FsbGJh
Y2ssICZjYWxsYmFja0NvbnRleHQpOwogICAgIHJ1blVudGlsKGNhbGxiYWNrQ29udGV4dC5kb25l
LCBub1RpbWVvdXQpOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgK
aW5kZXggOGFjNzBhMzYwNGY3MWRlMjZmODdjZmMzYjY1N2RjZTAyYzMzNmVkMi4uZDgzZTU1MDE0
NzkxNGZjYTY5NDE3YjY0M2RmZWJhMTcxYzgyNmM5NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuaApAQCAtMzQ5LDcgKzM0OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNp
bXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CiAgICAgdm9pZCBz
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhXS1VS
TFJlZik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJl
VVJMRm9yVGVzdGluZyhXS1VSTFJlZik7Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyhXS1VSTFJlZik7CisgICAgdm9pZCBz
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmco
V0tVUkxSZWYgc291cmNlVVJMLCBXS1VSTFJlZiBhdHRyaWJ1dGVPblVSTCk7CiAgICAgdm9pZCBt
YXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHZv
aWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhXS1N0cmluZ1JlZiB1bmxp
bmthYmxlVG9rZW4sIFdLU3RyaW5nUmVmIHNlY3JldFRva2VuLCBXS1N0cmluZ1JlZiBzaWduYXR1
cmUsIFdLU3RyaW5nUmVmIGtleUlEKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmNwcAppbmRleCAxNmZjZGI0ZGI3OTRjZDBhNDBjYzcwN2UyNTZjZTcyMWJiNzIxMjk2
Li43ZDI3Y2VhMWEzMWI4ZmUwZDcwNTM0ZjA3MzA0ZmYxMjFiOTY1ZTRmIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTM1Miw5ICsxMzUyLDExIEBAIFdL
UmV0YWluUHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91
c01lc3NhZ2VGcm9tSW5qZWN0ZWRCCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAot
ICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmciKSkgewot
ICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLVVJMR2V0VHlwZUlE
KCkpOwotICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3Rpbmcoc3RhdGljX2Nhc3Q8V0tV
UkxSZWY+KG1lc3NhZ2VCb2R5KSk7CisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJp
bmcobWVzc2FnZU5hbWUsICJTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVw
b3J0VVJMc0ZvclRlc3RpbmciKSkgeworICAgICAgICBhdXRvIHRlc3REaWN0aW9uYXJ5ID0gZGlj
dGlvbmFyeVZhbHVlKG1lc3NhZ2VCb2R5KTsKKyAgICAgICAgYXV0byBzb3VyY2VVUkwgPSBXS1VS
TENyZWF0ZVdpdGhVVEY4Q1N0cmluZyh0b1dURlN0cmluZyhzdHJpbmdWYWx1ZSh0ZXN0RGljdGlv
bmFyeSwgIlNvdXJjZVVSTFN0cmluZyIpKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgYXV0byBh
dHRyaWJ1dGVPblVSTCA9IFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHRvV1RGU3RyaW5nKHN0
cmluZ1ZhbHVlKHRlc3REaWN0aW9uYXJ5LCAiQXR0cmlidXRlT25VUkxTdHJpbmciKSkudXRmOCgp
LmRhdGEoKSk7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmcoc291cmNlVVJM
LCBhdHRyaWJ1dGVPblVSTCk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDg1N2NmYzZhN2E1MmM4MTdmYTFmZTJhYmE2YjAwMDE0NjY0YjllMTQuLjc4ZDU0NWIzYzUx
Y2JlMWY0MGI0NDJiMDRjZDZhNDZjYTQ5MzI0ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAy
MS0wMy0xNSAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBQ
Q006IFRlc3QgaW5mcmFzdHJ1Y3R1cmUgZm9yIHNlbmRpbmcgYXR0cmlidXRpb24gcmVwb3J0cyB0
byBhdHRyaWJ1dGlvbiB3ZWJzaXRlIHRvbworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ2MjAz
MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZygpIG5v
dyBpcyBuYW1lZAorICAgICAgICBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9u
UmVwb3J0VVJMc0ZvclRlc3RpbmcoKSBpbiB0aGUgbGF5ZXJzIHRoYXQKKyAgICAgICAgZXZlbnR1
YWxseSByZWFjaCBXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci4gSXQgdGFr
ZXMgdHdvIFVSTHMKKyAgICAgICAgYXR0cmlidXRpb25SZXBvcnRTb3VyY2VVUkwgYW5kIGF0dHJp
YnV0aW9uUmVwb3J0QXR0cmlidXRlT25VUkwgYW5kIHNldHMgdGhlbQorICAgICAgICBpbiBhIG5l
dyBzdHJ1Y3QgQXR0cmlidXRpb25SZXBvcnRUZXN0Q29uZmlnLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9jb252ZXJzaW9uLWRpc2FibGVkLWluLWVwaGVt
ZXJhbC1zZXNzaW9uLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9leHBpcmVkLWF0dHJpYnV0aW9uLXJlcG9ydC1nZXRzLXNlbnQtb24tc2Vzc2lvbi1z
dGFydC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
cmVzb3VyY2VzL2dldENvbnZlcnNpb25EYXRhLnBocDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3By
aXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy91dGlsLmpzOgorICAgICAgICAodGVhckRv
d25BbmRGaW5pc2gpOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQvc2VuZC1hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3N0b3JlLXByaXZhdGUtY2xpY2stbWVh
c3VyZW1lbnQtd2l0aC1zb3VyY2Utbm9uY2UuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
d2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBUaGlzIHdhcyBtYXJrZWQgYXMgYW4g
b2xkIGZsYWt5IGZhaWx1cmUgYW5kIHRyYWNrZWQgaW4gcmRhcjovLzYzMzU3NDgxLgorICAgICAg
ICAgICAgSSd2ZSBrZXB0IG15IGV5ZSBvbiBpdCBhbmQgaXQgZG9lcyBub3Qgc2VlbSBmbGFreSBh
bnltb3JlLiBSZW1vdmVkIGZhaWx1cmUKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uIHRvIGdldCBi
ZXR0ZXIgdGVzdCBjb3ZlcmFnZS4KKwogMjAyMS0wMy0xNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBXZWJQYWdlUHJveHkncyBFZGl0b3JT
dGF0ZSBtYXkgYmUgc3RhbGUgdW50aWwgdGhlIG5leHQgcmVtb3RlIGxheWVyIHRyZWUgY29tbWl0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L2NvbnZlcnNpb24tZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvY29udmVyc2lvbi1kaXNh
YmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCmluZGV4IGM4NTA3YTJlOTRiOTI0NjgwNzg2
NTA5MGFhMDYzNzA1M2QzODU1YzEuLmVhZDFkZWU5ZWNhZDM3NTUwNjY1MzAyYjg0MzRlMTQ0YjY4
YTNmZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQvY29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvY29udmVy
c2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCkBAIC0xOCw3ICsxOCw3IEBA
CiAgICAgcHJlcGFyZVRlc3QoKTsKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0
VVJMRm9yVGVzdGluZygiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L3Jlc291cmNlcy9jb252ZXJzaW9uUmVwb3J0LnBocD9ub25jZT0iICsgbm9uY2UpOworICAg
ICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBv
cnRVUkxzRm9yVGVzdGluZygiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3ByaXZhdGVDbGlja01lYXN1
cmVtZW50L3Jlc291cmNlcy9jb252ZXJzaW9uUmVwb3J0LnBocD9ub25jZT0iICsgbm9uY2UsICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2Nv
bnZlcnNpb25SZXBvcnQucGhwP25vbmNlPSIgKyBub25jZSk7CiAKICAgICBmdW5jdGlvbiBhY3Rp
dmF0ZUVsZW1lbnQoZWxlbWVudElEKSB7CiAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoZWxlbWVudElEKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hdHRyaWJ1dGlvbi1yZXBvcnQt
Z2V0cy1zZW50LW9uLXNlc3Npb24tc3RhcnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hdHRyaWJ1dGlvbi1yZXBvcnQtZ2V0cy1z
ZW50LW9uLXNlc3Npb24tc3RhcnQuaHRtbAppbmRleCBhNDlmMzhkN2RlMzI5NjdkNTc0NDc4MWEz
OGI4ZTNjZWJlNjZiNTYzLi5jMDYyZWM2OTNjNmQyYjAyMjM1ODYxNWE1MGQwNzJmMTBkMTYwZmJm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L2V4cGlyZWQtYXR0cmlidXRpb24tcmVwb3J0LWdldHMtc2VudC1vbi1zZXNzaW9uLXN0YXJ0
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9leHBpcmVkLWF0dHJpYnV0aW9uLXJlcG9ydC1nZXRzLXNlbnQtb24tc2Vzc2lvbi1zdGFydC5o
dG1sCkBAIC0xOCw3ICsxOCw3IEBACiAgICAgcHJlcGFyZVRlc3QoKTsKIAogICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1
cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2NvbnZlcnNpb25SZXBvcnQucGhw
P25vbmNlPSIgKyBub25jZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAuMC4x
OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2NvbnZlcnNpb25SZXBvcnQu
cGhwP25vbmNlPSIgKyBub25jZSwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9wcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9yZXNvdXJjZXMvY29udmVyc2lvblJlcG9ydC5waHA/bm9uY2U9IiArIG5vbmNl
KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElEKSB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50
L3Jlc291cmNlcy9nZXRDb252ZXJzaW9uRGF0YS5waHAgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy9nZXRDb252ZXJzaW9uRGF0YS5waHAK
aW5kZXggMDM4ODhhZmI5MzE4MWZjOGNmODM4NGEzYzA3Yzg2NGRlNTRmYjVlNi4uY2E2NjY5ODEw
ZDZlZDkyYTBmNzQzMWM2NzJiNzJmNGQ0NTZjZjk2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvZ2V0Q29udmVyc2lv
bkRhdGEucGhwCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQvcmVzb3VyY2VzL2dldENvbnZlcnNpb25EYXRhLnBocApAQCAtNDUsNyArNDUsNyBAQCBp
ZiAoaXNzZXQoJF9HRVRbJ2VuZFRlc3QnXSkpIHsKICAgICBlY2hvICJpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsiOwogICAgIGVjaG8gIiAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsiOwogICAg
IGVjaG8gIiAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVU
aW1lckZvclRlc3RpbmcoZmFsc2UpOyI7Ci0gICAgZWNobyAiICAgIHRlc3RSdW5uZXIuc2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoJycpOyI7
CisgICAgZWNobyAiICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRy
aWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKCcnLCAnJyk7IjsKICAgICBlY2hvICJ9IjsKICAg
ICBlY2hvICI8L3NjcmlwdD4iOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvdXRpbC5qcyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL3V0aWwuanMKaW5k
ZXggMTEyNDIxYmIyYTM0MWI0MWY1MmI4ZjhmMTc5NmMxZmY2OGQ2YTI2Mi4uMzMyYjk0ZTcwMGUy
YzNlZGZjMWQ5Y2ZkZDkzMWJlOGZmZTBlMjY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvdXRpbC5qcworKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy91
dGlsLmpzCkBAIC0xMSw3ICsxMSw3IEBAIGZ1bmN0aW9uIHRlYXJEb3duQW5kRmluaXNoKCkgewog
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLnNldEFsbG93
c0FueVNTTENlcnRpZmljYXRlKGZhbHNlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJGb3JUZXN0aW5nKGZhbHNlKTsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJM
Rm9yVGVzdGluZygiIik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKCIiLCAiIik7CiAgICAgICAgIHRl
c3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRl
c3RpbmcoIiIpOwogICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKCIiKTsKICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L3NlbmQtYXR0cmlidXRpb24tY29udmVyc2lvbi1yZXF1ZXN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlbmQtYXR0cmli
dXRpb24tY29udmVyc2lvbi1yZXF1ZXN0Lmh0bWwKaW5kZXggNzU3Y2Y3YjM1Nzc3ODFkZmY5NzJl
NmY1MzM1MDcyYWU3ODFhMWQ0ZC4uMjc2YzNhODE5ODBiYTUwODRjNTY5YTdkZDcyNGU3OTVjZWY1
NjUxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9zZW5kLWF0dHJpYnV0aW9uLWNvbnZlcnNpb24tcmVxdWVzdC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRyaWJ1
dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbApAQCAtNTksNyArNTksNyBAQAogICAgIGZ1bmN0
aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAg
ICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggPT09ICI/c3RlcFR3byIpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRp
b25SZXBvcnRVUkxGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvcmVzb3VyY2VzL2NvbnZlcnNpb25SZXBvcnQucGhwP25vbmNlPSIgKyBub25j
ZSk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9w
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvY29udmVyc2lvblJlcG9ydC5waHA/bm9u
Y2U9IiArIG5vbmNlLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L3Jlc291cmNlcy9jb252ZXJzaW9uUmVwb3J0LnBocD9ub25jZT0iICsgbm9uY2UpOwogICAg
ICAgICAgICAgICAgIGxldCBpbWFnZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
bWciKTsKICAgICAgICAgICAgICAgICBpbWFnZUVsZW1lbnQuc3JjID0gImh0dHBzOi8vMTI3LjAu
MC4xOjg0NDMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL3JlZGlyZWN0VG9Db252
ZXJzaW9uLnBocD9jb252ZXJzaW9uRGF0YT0xMiZub25jZT0iICsgbm9uY2U7CiAgICAgICAgICAg
ICAgICAgaW1hZ2VFbGVtZW50LmlkID0gInBpeGVsIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1jbGljay1t
ZWFzdXJlbWVudC13aXRoLXNvdXJjZS1ub25jZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50
LXdpdGgtc291cmNlLW5vbmNlLmh0bWwKaW5kZXggYzM2MjRhNzJkNjU0ZGE5Njc0MmI1MTgwMzcx
YjMwYmQ0YzA4ODBmMi4uYjY0Y2IyYmFhMjZlNGFkYmNjZTNjYzdlNGRjNDdiMWM0ZGViYjNlYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LXdpdGgtc291cmNlLW5vbmNlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9y
ZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LXdpdGgtc291cmNlLW5vbmNlLmh0bWwKQEAgLTUz
LDcgKzUzLDcgQEAKICAgICAgICAgICAgIGlmICghd2luZG93LmxvY2F0aW9uLnNlYXJjaCkgewog
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tl
blB1YmxpY0tleVVSTEZvclRlc3RpbmcoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9wcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvZnJhdWRQcmV2ZW50aW9uVGVzdFVSTC5waHA/ZHVtbXk9
IiArIGR1bW15KTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01l
YXN1cmVtZW50VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2ZyYXVkUHJldmVudGlvblRlc3RV
UkwucGhwP2R1bW15PSIgKyBkdW1teSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZygiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy9mcmF1
ZFByZXZlbnRpb25UZXN0VVJMLnBocD9kdW1teT0iICsgZHVtbXkgKyAiJmxhc3Q9dHJ1ZSIpOwor
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRy
aWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2ZyYXVkUHJldmVudGlvblRlc3RVUkwucGhwP2R1
bW15PSIgKyBkdW1teSArICImbGFzdD10cnVlIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9wcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvZnJhdWRQcmV2ZW50aW9uVGVzdFVSTC5waHA/
ZHVtbXk9IiArIGR1bW15ICsgIiZsYXN0PXRydWUiKTsKICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVUaW1lckZvclRlc3RpbmcodHJ1
ZSk7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoInVubGlua2FibGVUb2tlbiIsICJzZWNy
ZXRUb2tlbiIsICJzaWduYXR1cmUiLCAiV0YzVWdnIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyZDE2ZGUzNjk4MzZjNzZmZDM2YjNj
M2M4Y2ExMjJmZDJiNjJlNjFkLi43YjA2ZDM1NTA5OThlZDllZWNiZGQyNmIwODMzMDBjM2NhMWQ4
ZDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xMTE1LDkgKzExMTUsNiBAQCB3ZWJydGMvc2ltdWxjYXN0LWgyNjQuaHRtbCBbIFBhc3Mg
VGltZW91dCBdCiAjIDxyZGFyOi8vcHJvYmxlbS82MzI3NTIxMz4gUkVHUkVTU0lPTjogaHR0cC90
ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0xLmh0dHBzLmh0bWwgaXMgYSBmbGFreSBmYWls
dXJlCiBbIEJpZ1N1cisgUmVsZWFzZSBdIGh0dHAvdGVzdHMvSW5kZXhlZERCL3N0b3JhZ2UtbGlt
aXQtMS5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotIyA8cmRhcjovL3Byb2JsZW0vNjMz
NTc0ODE+IGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRyaWJ1dGlv
bi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbCBpcyBhIHN1cGVyIGZsYWt5IGZhaWx1cmUKLVsgQmln
U3VyKyBEZWJ1ZyBdIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRy
aWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KICMgPHJk
YXI6Ly9wcm9ibGVtLzYzNTU0MjQ5PiBbMjBBMjc5XSBEUSBib3RzIGFyZSBzZWVpbmcgaHR0cC90
ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtdmFsaWRhdGlvbi1iYWNrLW5hdmlnYXRp
b24tcG9saWN5Lmh0bWwgYW5kIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hl
LXZhbGlkYXRpb24tbm8tYm9keS5odG1sIGFyZSB0aW1pbmcgb3V0CiB3ZWJraXQub3JnL2IvMTc5
Nzk2IGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXZhbGlkYXRpb24tYmFj
ay1uYXZpZ2F0aW9uLXBvbGljeS5odG1sIFsgUGFzcyBGYWlsdXJlIFRpbWVvdXQgXQogWyBCaWdT
dXIrIFJlbGVhc2UgXSBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS12YWxp
ZGF0aW9uLW5vLWJvZHkuaHRtbCBbIFBhc3MgVGltZW91dCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423339</attachid>
            <date>2021-03-16 09:27:11 -0700</date>
            <delta_ts>2021-03-16 13:57:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223238-20210316092710.patch</filename>
            <type>text/plain</type>
            <size>41881</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkNmNhZWZiM2ZmMDRhMjc1
MDU4YjI1NDE4MjA0ODg1MDk0NGMwOGUuLjNlZWMyMTE5YmNhOWFiYWQ0NTA5YTU2MmMwODk5MDgw
MmI2NjEzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjEtMDMtMTYgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUENNOiBUZXN0IGluZnJhc3Ry
dWN0dXJlIGZvciBzZW5kaW5nIGF0dHJpYnV0aW9uIHJlcG9ydHMgdG8gYXR0cmlidXRpb24gd2Vi
c2l0ZSB0b28KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyMzIzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU0NjIwMzE+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoKSBub3cgaXMgbmFtZWQKKyAgICAg
ICAgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0
aW5nKCkgaW4gdGhlIGxheWVycyB0aGF0CisgICAgICAgIGV2ZW50dWFsbHkgcmVhY2ggV2ViS2l0
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuIEl0IHRha2VzIHR3byBVUkxzCisgICAg
ICAgIGF0dHJpYnV0aW9uUmVwb3J0U291cmNlVVJMIGFuZCBhdHRyaWJ1dGlvblJlcG9ydEF0dHJp
YnV0ZU9uVVJMIGFuZCBzZXRzIHRoZW0KKyAgICAgICAgaW4gYSBuZXcgc3RydWN0IEF0dHJpYnV0
aW9uUmVwb3J0VGVzdENvbmZpZy4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgcGF0Y2gg
anVzdCBhZGRzIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgZm9yIGEgY29taW5nIHBhdGNoLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzczo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJl
cG9ydFVSTHNGb3JUZXN0aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKTog
RGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Nlc3Npb246OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBv
cnRVUkxzRm9yVGVzdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyk6IERl
bGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaDoKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmZpcmVDb252
ZXJzaW9uUmVxdWVzdEltcGwpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE1hbmFnZXI6OnNldEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcpOgorICAgICAg
ICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OnNldEF0dHJpYnV0aW9u
UmVwb3J0VVJMRm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcpOgorICAgICAgICAoV0tQYWdlU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbToKKyAgICAgICAg
KC1bV0tXZWJWaWV3IF9zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0
VVJMc0ZvclRlc3Rpbmc6YXR0cmlidXRlT25VUkw6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAg
ICAgICgtW1dLV2ViVmlldyBfc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJl
cG9ydFVSTEZvclRlc3Rpbmc6Y29tcGxldGlvbkhhbmRsZXI6XSk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JU
ZXN0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorCiAyMDIxLTAzLTE1ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0IHIyNzI2
MjkgYXMgaXQgY2F1c2VkIHJlZ3Jlc3Npb25zIGluIHNvbWUgYXBwcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA5M2Q1YTM3N2Y1ZmI2
NDFhMDMwZmE2ZmM1ZmM5MzJkNDFjNDRjOWE3Li5lOTVjYWExM2U5Mzg4MDAwMTEwM2Y3OGNmMDM2
NTEzOTFkODNjYTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcApAQCAtMjY0OSwxMSArMjY0OSwxMSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNz
OjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhQ
QUw6OgogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6
OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5n
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVVJMJiYgdXJsLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBVUkwmJiBzb3VyY2VVUkwsIFVSTCYmIGF0dHJpYnV0ZU9uVVJM
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
aWYgKGF1dG8qIHNlc3Npb24gPSBuZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQpKQotICAgICAgICBz
ZXNzaW9uLT5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9y
VGVzdGluZyhXVEZNb3ZlKHVybCkpOwotICAgIAorICAgICAgICBzZXNzaW9uLT5zZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoV1RGTW92ZShz
b3VyY2VVUkwpLCBXVEZNb3ZlKGF0dHJpYnV0ZU9uVVJMKSk7CisKICAgICBjb21wbGV0aW9uSGFu
ZGxlcigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmgKaW5kZXggMDc0MTc4ODk1MmQ1MTkzMTQxZjJjOGIzMmQ5MTllZTUzZmU3NmQ0Ny4uMmFm
YzRmMmFlM2NjOWNlMThhYzAzYjU1YjY0ZDcyYzMxZjQwYTQxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMzQxLDcgKzM0MSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0
YXJ0KFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZv
aWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3Rpbmco
UEFMOjpTZXNzaW9uSUQsIFVSTCYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAg
IHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3Rp
bmcoUEFMOjpTZXNzaW9uSUQsIFVSTCYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwot
ICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZv
clRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIFVSTCYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOworICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9y
dFVSTHNGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklELCBVUkwmJiBzb3VyY2VVUkwsIFVSTCYmIGF0
dHJpYnV0ZU9uVVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgbWFy
a1ByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoUEFMOjpTZXNzaW9u
SUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQQ01GcmF1ZFBy
ZXZlbnRpb25WYWx1ZXNGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklELCBTdHJpbmcmJiB1bmxpbmth
YmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWduYXR1cmUsIFN0cmlu
ZyYmIGtleUlELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpp
bmRleCA4YTMxYTdmNjk5NWM4MzNlZTZmYzhkZDU3Y2EwOGJhOTcxYTM0YWY2Li40NGNkYTQwYjkx
YzA0NWY1ZjEwODBjYjE2ZjkwZGIyZGQxY2JmN2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTE2OSw3
ICsxNjksNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAg
ICAgU2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQoUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVt
ZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
VVJMIHVybCkgLT4gKCkgQXN5bmMKICAgICBTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2Vu
U2lnbmF0dXJlVVJMRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVSTCB1cmwp
IC0+ICgpIEFzeW5jCi0gICAgU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJl
cG9ydFVSTEZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVUkwgdXJsKSAtPiAo
KSBBc3luYworICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRV
UkxzRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVSTCBzb3VyY2VVUkwsIFVS
TCBhdHRyaWJ1dGVPblVSTCkgLT4gKCkgQXN5bmMKICAgICBNYXJrUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+ICgp
IEFzeW5jCiAgICAgU2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIFN0cmluZyBzZWNyZXRUb2tlbiwgU3RyaW5nIHVubGlua2FibGVU
b2tlbiwgU3RyaW5nIHNpZ25hdHVyZSwgU3RyaW5nIGtleUlEKSAtPiAoKSBBc3luYwogICAgIEdl
dExvY2FsU3RvcmFnZU9yaWdpbkRldGFpbHMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAo
VmVjdG9yPFdlYktpdDo6TG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyOjpPcmlnaW5EZXRhaWxz
PiBkZXRhaWxzKSBBc3luYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtTZXNzaW9uLmNwcAppbmRleCA0ZjZjNDM5YjJiODcwMmFkMDZhNDgyZjkxYmYwM2JlNDJmY2Jl
NjhiLi43MWQ3N2Q2Yzg4YjIzYjVlNGI4OTcxZmRmZGI3MTU4Yjg1NGUzYTYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcApAQCAtMzQ4LDkg
KzM0OCw5IEBAIHZvaWQgTmV0d29ya1Nlc3Npb246OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKFVSTCYmCiAgICAgcHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQoKS5zZXRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoV1RGTW92ZSh1cmwpKTsKIH0K
IAotdm9pZCBOZXR3b3JrU2Vzc2lvbjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1
dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoVVJMJiYgdXJsKQordm9pZCBOZXR3b3JrU2Vzc2lvbjo6
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5n
KFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgYXR0cmlidXRlT25VUkwpCiB7Ci0gICAgcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQoKS5zZXRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoV1RGTW92
ZSh1cmwpKTsKKyAgICBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpLnNldEF0dHJpYnV0aW9uUmVw
b3J0VVJMc0ZvclRlc3RpbmcoV1RGTW92ZShzb3VyY2VVUkwpLCBXVEZNb3ZlKGF0dHJpYnV0ZU9u
VVJMKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Nlc3Npb246Om1hcmtQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Nlc3Npb24uaAppbmRleCBiNDUwMzg1MTdiOTYwOGY4YTQ5YWQ1NWE1MTFiM2I2
YTFkMjM4YmE3Li4xYjYxMjczMGMxNDFkZjFkN2UxODFkYjhkNjU3ZTg5MzA1YzJjYTRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCkBAIC0xMjYs
NyArMTI2LDcgQEAgcHVibGljOgogICAgIHZvaWQgbWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJM
Rm9yVGVzdGluZyhVUkwmJik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRv
a2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhVUkwmJik7Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyhVUkwmJik7CisgICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRl
c3RpbmcoVVJMJiYgc291cmNlVVJMLCBVUkwmJiBhdHRyaWJ1dGVPblVSTCk7CiAgICAgdm9pZCBt
YXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHZv
aWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhTdHJpbmcmJiB1bmxpbmth
YmxlVG9rZW4sIFN0cmluZyYmIHNlY3JldFRva2VuLCBTdHJpbmcmJiBzaWduYXR1cmUsIFN0cmlu
ZyYmIGtleUlEKTsKICAgICB2b2lkIGZpcmVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRpbWVySW1t
ZWRpYXRlbHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcAppbmRleCBjM2RmNjNkOTli
YzcxNWFjNjVkOWFmODA4MzhiMzc0ZjllMmZmZjAyLi5lMjAyOGE1N2YyYWJlYmNjYThhZGNkYjg4
ZDgxZTMyYzRiODU2MzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCkBAIC0zMjQs
NyArMzI0LDcgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmZpcmVDb252
ZXJzaW9uUmVxdWVzdChjb25zdCBQcml2YXRlQ2xpY2tNZWEKIAogdm9pZCBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXI6OmZpcmVDb252ZXJzaW9uUmVxdWVzdEltcGwoY29uc3QgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQmIGF0dHJpYnV0aW9uKQogewotICAgIGF1dG8gYXR0cmlidXRpb25V
UkwgPSBtX2F0dHJpYnV0aW9uUmVwb3J0QmFzZVVSTEZvclRlc3RpbmcgPyAqbV9hdHRyaWJ1dGlv
blJlcG9ydEJhc2VVUkxGb3JUZXN0aW5nIDogYXR0cmlidXRpb24uYXR0cmlidXRpb25SZXBvcnRT
b3VyY2VVUkwoKTsKKyAgICBhdXRvIGF0dHJpYnV0aW9uVVJMID0gbV9hdHRyaWJ1dGlvblJlcG9y
dFRlc3RDb25maWcgPyBtX2F0dHJpYnV0aW9uUmVwb3J0VGVzdENvbmZpZy0+YXR0cmlidXRpb25S
ZXBvcnRTb3VyY2VVUkwgOiBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCgp
OwogICAgIGlmIChhdHRyaWJ1dGlvblVSTC5pc0VtcHR5KCkgfHwgIWF0dHJpYnV0aW9uVVJMLmlz
VmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC00NzQsMTIgKzQ3NCwxMiBAQCB2b2lkIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6c2V0VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0
aW5nKFVSTCYmIHRlc3RVUgogICAgICAgICBtX3Rva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyA9
IFdURk1vdmUodGVzdFVSTCk7CiB9CiAKLXZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjpzZXRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoVVJMJiYgdGVzdFVSTCkKK3Zv
aWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzZXRBdHRyaWJ1dGlvblJlcG9ydFVS
THNGb3JUZXN0aW5nKFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgYXR0cmlidXRlT25VUkwpCiB7Ci0g
ICAgaWYgKHRlc3RVUkwuaXNFbXB0eSgpKQotICAgICAgICBtX2F0dHJpYnV0aW9uUmVwb3J0QmFz
ZVVSTEZvclRlc3RpbmcgPSB7IH07CisgICAgaWYgKHNvdXJjZVVSTC5pc0VtcHR5KCkgfHwgYXR0
cmlidXRlT25VUkwuaXNFbXB0eSgpKQorICAgICAgICBtX2F0dHJpYnV0aW9uUmVwb3J0VGVzdENv
bmZpZyA9IFdURjo6bnVsbG9wdDsKICAgICBlbHNlCi0gICAgICAgIG1fYXR0cmlidXRpb25SZXBv
cnRCYXNlVVJMRm9yVGVzdGluZyA9IFdURk1vdmUodGVzdFVSTCk7CisgICAgICAgIG1fYXR0cmli
dXRpb25SZXBvcnRUZXN0Q29uZmlnID0gQXR0cmlidXRpb25SZXBvcnRUZXN0Q29uZmlnIHsgV1RG
TW92ZShzb3VyY2VVUkwpLCBXVEZNb3ZlKGF0dHJpYnV0ZU9uVVJMKSB9OwogfQogCiB2b2lkIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6bWFya0FsbFVuYXR0cmlidXRlZEFzRXhwaXJl
ZEZvclRlc3RpbmcoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmgKaW5kZXggNjI2ZjRiYzVjYjgw
YTI3OTgwZGQ2MTRjNWY4YWY5YjFmNTdmZDZjZi4uNzQxYTgxZTBjNTVmZjM1OTZjMDcxY2FjZDc3
YTRkZmI3YTFkMzFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5oCkBAIC02Myw3ICs2Myw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE92ZXJyaWRlVGltZXJGb3JUZXN0aW5nKGJvb2wgdmFs
dWUpIHsgbV9pc1J1bm5pbmdUZXN0ID0gdmFsdWU7IH0KICAgICB2b2lkIHNldFRva2VuUHVibGlj
S2V5VVJMRm9yVGVzdGluZyhVUkwmJik7CiAgICAgdm9pZCBzZXRUb2tlblNpZ25hdHVyZVVSTEZv
clRlc3RpbmcoVVJMJiYpOwotICAgIHZvaWQgc2V0QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0
aW5nKFVSTCYmKTsKKyAgICB2b2lkIHNldEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmco
VVJMJiYgc291cmNlVVJMLCBVUkwmJiBhdHRyaWJ1dGVPblVSTCk7CiAgICAgdm9pZCBtYXJrQWxs
VW5hdHRyaWJ1dGVkQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHZvaWQgbWFya0F0dHJpYnV0
ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQQ01GcmF1ZFByZXZlbnRpb25WYWx1ZXNG
b3JUZXN0aW5nKFN0cmluZyYmIHVubGlua2FibGVUb2tlbiwgU3RyaW5nJiYgc2VjcmV0VG9rZW4s
IFN0cmluZyYmIHNpZ25hdHVyZSwgU3RyaW5nJiYga2V5SUQpOwpAQCAtODUsMTIgKzg1LDE4IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2lzUnVubmluZ1Rlc3QgeyBmYWxzZSB9OwogICAgIE9wdGlv
bmFsPFVSTD4gbV90b2tlblB1YmxpY0tleVVSTEZvclRlc3Rpbmc7CiAgICAgT3B0aW9uYWw8VVJM
PiBtX3Rva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZzsKLSAgICBPcHRpb25hbDxVUkw+IG1fYXR0
cmlidXRpb25SZXBvcnRCYXNlVVJMRm9yVGVzdGluZzsKICAgICBXZWFrUHRyPE5ldHdvcmtTZXNz
aW9uPiBtX25ldHdvcmtTZXNzaW9uOwogICAgIFJlZjxOZXR3b3JrUHJvY2Vzcz4gbV9uZXR3b3Jr
UHJvY2VzczsKICAgICBQQUw6OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKICAgICBGdW5jdGlvbjx2
b2lkKE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmKT4mJik+IG1fcGluZ0xvYWRGdW5jdGlvbjsKIAorICAgIHN0cnVjdCBBdHRyaWJ1
dGlvblJlcG9ydFRlc3RDb25maWcgeworICAgICAgICBVUkwgYXR0cmlidXRpb25SZXBvcnRTb3Vy
Y2VVUkw7CisgICAgICAgIFVSTCBhdHRyaWJ1dGlvblJlcG9ydEF0dHJpYnV0ZU9uVVJMOworICAg
IH07CisKKyAgICBPcHRpb25hbDxBdHRyaWJ1dGlvblJlcG9ydFRlc3RDb25maWc+IG1fYXR0cmli
dXRpb25SZXBvcnRUZXN0Q29uZmlnOworCiAgICAgc3RydWN0IFRlc3RpbmdGcmF1ZFByZXZlbnRp
b25WYWx1ZXMgewogICAgICAgICBTdHJpbmcgdW5saW5rYWJsZVRva2VuOwogICAgICAgICBTdHJp
bmcgc2VjcmV0VG9rZW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApp
bmRleCAzMzYwMDc2OTE1MTQ3ZGNmYjlkMGE5ZGVjN2MyODAzODQ0N2U3ODU0Li5kNzkzMWE1YTQ0
NTM1OWQ5NWQxNzQ2OTFhZmZmNzRlOGVjOWRjYmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5jcHAKQEAgLTI5NTksOSArMjk1OSw5IEBAIHZvaWQgV0tQYWdlU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoV0tQYWdlUmVm
IHBhZ2UsCiAgICAgfSk7CiB9CiAKLXZvaWQgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoV0tQYWdlUmVmIHBhZ2UsIFdLVVJMUmVm
IFVSTFJlZiwgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9y
dFVSTEZvclRlc3RpbmdGdW5jdGlvbiBjYWxsYmFjaywgdm9pZCogY2FsbGJhY2tDb250ZXh0KQor
dm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJM
c0ZvclRlc3RpbmcoV0tQYWdlUmVmIHBhZ2UsIFdLVVJMUmVmIHNvdXJjZVVSTCwgV0tVUkxSZWYg
YXR0cmlidXRlT25VUkwsIFdLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRp
b25SZXBvcnRVUkxzRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFja0Nv
bnRleHQpCiB7Ci0gICAgdG9JbXBsKHBhZ2UpLT5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0
dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyhVUkwoVVJMKCksIHRvV1RGU3RyaW5nKFVSTFJl
ZikpLCBbY2FsbGJhY2tDb250ZXh0LCBjYWxsYmFja10gKCkgeworICAgIHRvSW1wbChwYWdlKS0+
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5n
KFVSTChVUkwoKSwgdG9XVEZTdHJpbmcoc291cmNlVVJMKSksIFVSTChVUkwoKSwgdG9XVEZTdHJp
bmcoYXR0cmlidXRlT25VUkwpKSwgW2NhbGxiYWNrQ29udGV4dCwgY2FsbGJhY2tdICgpIHsKICAg
ICAgICAgY2FsbGJhY2soY2FsbGJhY2tDb250ZXh0KTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAppbmRleCBhMjU2NmYzMDM1ZjUy
ZTkzOTVhZGJjNTczY2JhZWNiMDg0MDFlNzZkLi45ZTFmZGIxOTJkYmYxZjg2MmY1YjViNDdkMmQ2
ODI5MjExNjI3M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
UHJpdmF0ZS5oCkBAIC0xODMsOCArMTgzLDggQEAgdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmdGdW5jdGkKIFdL
X0VYUE9SVCB2b2lkIFdLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNL
ZXlVUkxGb3JUZXN0aW5nKFdLUGFnZVJlZiBwYWdlLCBXS1VSTFJlZiB1cmxTdHJpbmcsIFdLUGFn
ZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nRnVu
Y3Rpb24gY2FsbGJhY2ssIHZvaWQqIGNhbGxiYWNrQ29udGV4dCk7CiB0eXBlZGVmIHZvaWQgKCpX
S1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGlu
Z0Z1bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwogV0tfRVhQT1JUIHZvaWQgV0tQYWdl
U2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoV0tQ
YWdlUmVmIHBhZ2UsIFdLVVJMUmVmIHVybFN0cmluZywgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmdGdW5jdGlvbiBjYWxsYmFjaywgdm9p
ZCogY2FsbGJhY2tDb250ZXh0KTsKLXR5cGVkZWYgdm9pZCAoKldLUGFnZVNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nRnVuY3Rpb24pKHZvaWQq
IGZ1bmN0aW9uQ29udGV4dCk7Ci1XS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyhXS1BhZ2VSZWYgcGFnZSwg
V0tVUkxSZWYgdXJsU3RyaW5nLCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJp
YnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFj
a0NvbnRleHQpOwordHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9u
Q29udGV4dCk7CitXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoV0tQYWdlUmVmIHBhZ2UsIFdLVVJMUmVm
IHNvdXJjZVVSTCwgV0tVUkxSZWYgYXR0cmlidXRlT25VUkwsIFdLUGFnZVNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxi
YWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlTWFya1By
aXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmdGdW5jdGlvbikodm9pZCog
ZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZU1hcmtQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKFdLUGFnZVJlZiBwYWdlLCBXS1BhZ2VNYXJr
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxi
YWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UENN
RnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZ0Z1bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNv
bnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaAppbmRleCA2MmU0NjcxNDRlOTE5NGVi
MGE2ODJhMDhhMjg0ZDU5NWY5NWUzZDk4Li41NDlhYTM1N2UwY2VmMDIwMGVhZTdjZmNhYTdmYTAy
MWEyNmFmYTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaApAQCAtOTAsNyArOTAsNyBA
QCBzdHJ1Y3QgV0tBcHBCb3VuZE5hdmlnYXRpb25UZXN0aW5nRGF0YSB7CiAtIChOU051bWJlciAq
KV9zdXNwZW5kTWVkaWFQbGF5YmFja0NvdW50ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLSAodm9pZClfc2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRPdmVycmlkZVRpbWVyRm9yVGVzdGluZzooQk9PTClvdmVycmlkZVRpbWVyIGNvbXBs
ZXRpb25IYW5kbGVyOih2b2lkKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV9zZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZzooTlNV
UkwgKil1cmwgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikodm9pZCkpY29tcGxldGlvbkhhbmRs
ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
Ky0gKHZvaWQpX3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxz
Rm9yVGVzdGluZzooTlNVUkwgKilzb3VyY2VVUkwgYXR0cmlidXRlT25VUkw6KE5TVVJMICopYXR0
cmlidXRlT25VUkwgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikodm9pZCkpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIAogLSAodm9pZClfbGFzdE5hdmlnYXRpb25XYXNBcHBCb3VuZDoodm9pZCheKShCT09MKSlj
b21wbGV0aW9uSGFuZGxlcjsKIC0gKHZvaWQpX2FwcEJvdW5kTmF2aWdhdGlvbkRhdGE6KHZvaWQo
Xikoc3RydWN0IFdLQXBwQm91bmROYXZpZ2F0aW9uVGVzdGluZ0RhdGEgZGF0YSkpY29tcGxldGlv
bkhhbmRsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3VGVzdGluZy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdUZXN0aW5nLm1tCmluZGV4IGFkMDg0ZDUyZjJiODZlZjcwNDExZmZmNWI3YzdjNGNj
MGRmN2JjNzQuLjg0Yzg0ZThlZDg2NmU1NGMwNjc4ZThiMmZmZTZlMzAwMjllY2FhYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5n
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0
aW5nLm1tCkBAIC0zMDIsOSArMzAyLDkgQEAgLSAodm9pZClfc2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRPdmVycmlkZVRpbWVyRm9yVGVzdGluZzooQk9PTClvdmVycmlkZVRpbWVyIGMKICAgICB9
KTsKIH0KIAotLSAodm9pZClfc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJl
cG9ydFVSTEZvclRlc3Rpbmc6KE5TVVJMICopdXJsIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4p
KHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCistICh2b2lkKV9zZXRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmc6KE5TVVJMICopc291cmNlVVJMIGF0
dHJpYnV0ZU9uVVJMOihOU1VSTCAqKWF0dHJpYnV0ZU9uVVJMIGNvbXBsZXRpb25IYW5kbGVyOih2
b2lkKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCiB7Ci0gICAgX3BhZ2UtPnNldFByaXZhdGVD
bGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKHVybCwgW2NvbXBs
ZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgIF9w
YWdlLT5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRl
c3Rpbmcoc291cmNlVVJMLCBhdHRyaWJ1dGVPblVSTCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFr
ZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gewogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
aW5kZXggZjNiYjJiZDI1YWI2MjljMWM3MDMwZGY0ZjRlNzJjY2E0NzNlZWM0MC4uYmU1NmEwM2Vi
ZmUzMzJkMWFmNjJlMDU2NGQxOTA3NWVhNmE5NDliYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMDAxNyw5ICsxMDAxNyw5IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGlu
Zyhjb25zdCBVCiAgICAgd2Vic2l0ZURhdGFTdG9yZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcobV93ZWJzaXRlRGF0YVN0b3JlLT5z
ZXNzaW9uSUQoKSwgdXJsKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lk
IFdlYlBhZ2VQcm94eTo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9y
dFVSTEZvclRlc3RpbmcoY29uc3QgVVJMJiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoY29uc3QgVVJMJiBzb3Vy
Y2VVUkwsIGNvbnN0IFVSTCYgYXR0cmlidXRlT25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB3ZWJzaXRlRGF0YVN0b3JlKCkubmV0d29y
a1Byb2Nlc3MoKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpT
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyht
X3dlYnNpdGVEYXRhU3RvcmUtPnNlc3Npb25JRCgpLCB1cmwpLCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CisgICAgd2Vic2l0ZURhdGFTdG9yZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKG1fd2Vic2l0ZURhdGFTdG9y
ZS0+c2Vzc2lvbklEKCksIHNvdXJjZVVSTCwgYXR0cmlidXRlT25VUkwpLCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjptYXJrUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IGY1Y2VmNmYxODBmY2UzZGE0ZmZjMDljMGM4NzM3NzgyNTdiMjMwOWQuLmYyOTk5ZjI3
M2FhZWNjZDgxNGRjMWI2ZWMxNWYzYTAyMzg2ZjQxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCkBAIC0xNzA2LDcgKzE3MDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
aW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tl
blB1YmxpY0tleVVSTEZvclRlc3RpbmcoY29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5TaWduYXR1
cmVVUkxGb3JUZXN0aW5nKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJM
Rm9yVGVzdGluZyhjb25zdCBVUkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOworICAg
IHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JU
ZXN0aW5nKGNvbnN0IFVSTCYgc291cmNlVVJMLCBjb25zdCBVUkwmIGF0dHJpYnV0ZU9uVVJMLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgbWFya1ByaXZhdGVDbGlja01l
YXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKICAgICB2b2lkIHNldFBDTUZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoY29uc3Qg
U3RyaW5nJiB1bmxpbmthYmxlVG9rZW4sIGNvbnN0IFN0cmluZyYgc2VjcmV0VG9rZW4sIGNvbnN0
IFN0cmluZyYgc2lnbmF0dXJlLCBjb25zdCBTdHJpbmcmIGtleUlELCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggNTRiNDM5YjVjNTEyYzkzYTMxZDljZTg5MDI3M2YwYmE3MGQ0OGFmZC4uZWZk
OWQyYThmNzE1OTA3YjAwMDdhMGVmNWU0MWU1YWU4N2ViOTg0NCAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAz
LTE2ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBDTTog
VGVzdCBpbmZyYXN0cnVjdHVyZSBmb3Igc2VuZGluZyBhdHRyaWJ1dGlvbiByZXBvcnRzIHRvIGF0
dHJpYnV0aW9uIHdlYnNpdGUgdG9vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjMyMzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NDYyMDMxPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKCkgbm93IGlz
IG5hbWVkCisgICAgICAgIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBv
cnRVUkxzRm9yVGVzdGluZygpIGluIHRoZSBsYXllcnMgdGhhdAorICAgICAgICBldmVudHVhbGx5
IHJlYWNoIFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLiBJdCB0YWtlcyB0
d28gVVJMcworICAgICAgICBhdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTCBhbmQgYXR0cmlidXRp
b25SZXBvcnRBdHRyaWJ1dGVPblVSTCBhbmQgc2V0cyB0aGVtCisgICAgICAgIGluIGEgbmV3IHN0
cnVjdCBBdHRyaWJ1dGlvblJlcG9ydFRlc3RDb25maWcuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0V2ZW50QXR0cmlidXRpb24ubW06CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6
OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGlu
Zyk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9y
VGVzdGluZyk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52b2Nh
dGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisK
IDIwMjEtMDMtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSRUdSRVNTSU9OOiAocjI1NTYxMSkgWyBNYWMgXSAzIGxsZGIgdGVzdHMgZmFp
bGluZyByZWxhdGVkIHRvIEhhc2hNYXAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvRXZlbnRBdHRyaWJ1dGlvbi5tbQppbmRleCA3MTM1ZjVkZTQz
Y2FkZDVjM2VhNzY2YTY2NzU3MmViZDYxMGE3MWE5Li5mNDY5YjAyODBhMDFhNmQzYjFlMzQzOTNk
OTI3ZDEwZDM1NWNkY2RmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0V2ZW50QXR0cmlidXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9FdmVudEF0dHJpYnV0aW9uLm1tCkBAIC0xMDYsNyArMTA2LDcgQEAg
VEVTVChFdmVudEF0dHJpYnV0aW9uLCBCYXNpYykKICAgICB3ZWJWaWV3LmdldCgpLl91aUV2ZW50
QXR0cmlidXRpb24gPSAoVUlFdmVudEF0dHJpYnV0aW9uICopYXR0cmlidXRpb24uZ2V0KCk7CiAg
ICAgW1t3ZWJWaWV3IGNvbmZpZ3VyYXRpb25dLndlYnNpdGVEYXRhU3RvcmUgX3NldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkOllFU107CiAgICAgW1t3ZWJWaWV3IGNvbmZpZ3VyYXRpb25d
LndlYnNpdGVEYXRhU3RvcmUgX2FsbG93VExTQ2VydGlmaWNhdGVDaGFpbjpAWyhpZCl0ZXN0Q2Vy
dGlmaWNhdGUoKS5nZXQoKV0gZm9ySG9zdDpzZXJ2ZXJVUkwuaG9zdF07Ci0gICAgW3dlYlZpZXcg
X3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5n
OnNlcnZlclVSTCBjb21wbGV0aW9uSGFuZGxlcjpeeworICAgIFt3ZWJWaWV3IF9zZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmc6c2VydmVyVVJM
IGF0dHJpYnV0ZU9uVVJMOmV4YW1wbGVVUkwgY29tcGxldGlvbkhhbmRsZXI6XnsKICAgICAgICAg
W3dlYlZpZXcgX3NldFByaXZhdGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVUaW1lckZvclRlc3Rp
bmc6WUVTIGNvbXBsZXRpb25IYW5kbGVyOl57CiAgICAgICAgICAgICBOU1N0cmluZyAqaHRtbCA9
IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiPHNjcmlwdD5mZXRjaCgnJUBjb252ZXJzaW9u
UmVxdWVzdEJlZm9yZVJlZGlyZWN0Jyx7bW9kZTonbm8tY29ycyd9KTwvc2NyaXB0PiIsIHNlcnZl
clVSTF07CiAgICAgICAgICAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpodG1sIGJhc2VVUkw6
ZXhhbXBsZVVSTF07CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCAwOGRhOTBhY2YyMzgw
YzIyMmY0YmEyMWM4NTgzOGM1ZmQ3N2M5ZjI0Li45NDAzMzA1YTdjYmQyMjUzZmE0YzcxZGVmZjEz
ZjRjZTcxNDliYTJjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTQwNiw3ICs0MDYs
NyBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdW5kZWZpbmVkIHNpbXVsYXRlUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CiAgICAgdW5kZWZpbmVkIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKERPTVN0cmluZyB1
cmwpOwogICAgIHVuZGVmaW5lZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0
dXJlVVJMRm9yVGVzdGluZyhET01TdHJpbmcgdXJsKTsKLSAgICB1bmRlZmluZWQgc2V0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmcoRE9NU3RyaW5n
IHVybCk7CisgICAgdW5kZWZpbmVkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRp
b25SZXBvcnRVUkxzRm9yVGVzdGluZyhET01TdHJpbmcgc291cmNlVVJMU3RyaW5nLCBET01TdHJp
bmcgYXR0cmlidXRlT25VUkxTdHJpbmcpOwogICAgIHVuZGVmaW5lZCBtYXJrUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHVuZGVmaW5lZCBzZXRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudEZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoRE9NU3Ry
aW5nIHVubGlua2FibGVUb2tlbiwgRE9NU3RyaW5nIHNlY3JldFRva2VuLCBET01TdHJpbmcgc2ln
bmF0dXJlLCBET01TdHJpbmcga2V5SUQpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBiZWRkYmNlYzExMzQ0NWE1
MWY4MzJmN2EwMmJmYTQwODQ0OTM3ZjA1Li4yYjVmZTJhZDY3YWViNDRhYjRmOTdmN2VkNjMxOWNk
NWUyNWIxYTM1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTIwNDMsMTAgKzIwNDMsMTIgQEAgdm9pZCBUZXN0UnVu
bmVyOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGlu
ZyhKU1N0cmluZ1IKICAgICAgICAgYWRvcHRXSyhXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmluZyh0
b1dURlN0cmluZyh1cmxTdHJpbmcpLnV0ZjgoKS5kYXRhKCkpKSk7CiB9CiAKLXZvaWQgVGVzdFJ1
bm5lcjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRl
c3RpbmcoSlNTdHJpbmdSZWYgdXJsU3RyaW5nKQordm9pZCBUZXN0UnVubmVyOjpzZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoSlNTdHJpbmdS
ZWYgc291cmNlVVJMU3RyaW5nLCBKU1N0cmluZ1JlZiBhdHRyaWJ1dGVPblVSTFN0cmluZykKIHsK
LSAgICBwb3N0U3luY2hyb25vdXNQYWdlTWVzc2FnZSgiU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmciLAotICAgICAgICBhZG9wdFdLKFdLVVJM
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKHRvV1RGU3RyaW5nKHVybFN0cmluZykudXRmOCgpLmRhdGEo
KSkpKTsKKyAgICBwb3N0U3luY2hyb25vdXNQYWdlTWVzc2FnZSgiU2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nIiwgY3JlYXRlV0tEaWN0aW9u
YXJ5KHsKKyAgICAgICAgeyAiU291cmNlVVJMU3RyaW5nIiwgdG9XSyhzb3VyY2VVUkxTdHJpbmcp
IH0sCisgICAgICAgIHsgIkF0dHJpYnV0ZU9uVVJMU3RyaW5nIiwgdG9XSyhhdHRyaWJ1dGVPblVS
TFN0cmluZykgfSwKKyAgICB9KSk7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6bWFya1ByaXZhdGVD
bGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCAyMWExMmJhNjMy
NzdkMTAyMjVlZDdkNjJlYzk0YzhmOTc3NzNiNmM5Li5mYTg2MjUxZGQyYzhiMzk3ODg3YzlmOTA4
ZTViZjIwYTdjNmYzNTY0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtNTE1LDcgKzUxNSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVUaW1lckZvclRlc3RpbmcoYm9v
bCB2YWx1ZSk7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGlj
S2V5VVJMRm9yVGVzdGluZyhKU1N0cmluZ1JlZik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhKU1N0cmluZ1JlZik7Ci0gICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVz
dGluZyhKU1N0cmluZ1JlZik7CisgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0
dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoSlNTdHJpbmdSZWYgc291cmNlVVJMLCBKU1N0
cmluZ1JlZiBhdHRyaWJ1dGVPblVSTCk7CiAgICAgdm9pZCBtYXJrUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHZvaWQgbWFya0F0dHJpYnV0ZWRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCk7CiAgICAgdm9pZCBzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoSlNT
dHJpbmdSZWYgdW5saW5rYWJsZVRva2VuLCBKU1N0cmluZ1JlZiBzZWNyZXRUb2tlbiwgSlNTdHJp
bmdSZWYgc2lnbmF0dXJlLCBKU1N0cmluZ1JlZiBrZXlJRCk7CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGUzMmEwZmQxYmIzN2M0ZDFhMjA3NjZhZTVkMTZl
Y2I0NTJjMTM0NjUuLjQwM2VkM2RiNGE3OWQ1MDhlZjM3MjQyNzJmN2Y1ODgyODJjMjI5ZGQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0zNjUxLDEwICsz
NjUxLDEwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKFdLVVJMCiAgICAgcnVuVW50aWwoY2FsbGJhY2tD
b250ZXh0LmRvbmUsIG5vVGltZW91dCk7CiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFBy
aXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKFdLVVJM
UmVmIHVybCkKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhXS1VSTFJlZiBzb3VyY2VVUkwsIFdLVVJM
UmVmIGF0dHJpYnV0ZU9uVVJMKQogewogICAgIFByaXZhdGVDbGlja01lYXN1cmVtZW50Vm9pZENh
bGxiYWNrQ29udGV4dCBjYWxsYmFja0NvbnRleHQoKnRoaXMpOwotICAgIFdLUGFnZVNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKG1fbWFpbldl
YlZpZXctPnBhZ2UoKSwgdXJsLCBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudFZvaWRDYWxsYmFjaywg
JmNhbGxiYWNrQ29udGV4dCk7CisgICAgV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRB
dHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgc291
cmNlVVJMLCBhdHRyaWJ1dGVPblVSTCwgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRWb2lkQ2FsbGJh
Y2ssICZjYWxsYmFja0NvbnRleHQpOwogICAgIHJ1blVudGlsKGNhbGxiYWNrQ29udGV4dC5kb25l
LCBub1RpbWVvdXQpOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgK
aW5kZXggOGFjNzBhMzYwNGY3MWRlMjZmODdjZmMzYjY1N2RjZTAyYzMzNmVkMi4uZDgzZTU1MDE0
NzkxNGZjYTY5NDE3YjY0M2RmZWJhMTcxYzgyNmM5NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuaApAQCAtMzQ5LDcgKzM0OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNp
bXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CiAgICAgdm9pZCBz
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhXS1VS
TFJlZik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJl
VVJMRm9yVGVzdGluZyhXS1VSTFJlZik7Ci0gICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZyhXS1VSTFJlZik7CisgICAgdm9pZCBz
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmco
V0tVUkxSZWYgc291cmNlVVJMLCBXS1VSTFJlZiBhdHRyaWJ1dGVPblVSTCk7CiAgICAgdm9pZCBt
YXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZygpOwogICAgIHZv
aWQgc2V0UENNRnJhdWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhXS1N0cmluZ1JlZiB1bmxp
bmthYmxlVG9rZW4sIFdLU3RyaW5nUmVmIHNlY3JldFRva2VuLCBXS1N0cmluZ1JlZiBzaWduYXR1
cmUsIFdLU3RyaW5nUmVmIGtleUlEKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmNwcAppbmRleCAxNmZjZGI0ZGI3OTRjZDBhNDBjYzcwN2UyNTZjZTcyMWJiNzIxMjk2
Li43ZDI3Y2VhMWEzMWI4ZmUwZDcwNTM0ZjA3MzA0ZmYxMjFiOTY1ZTRmIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTM1Miw5ICsxMzUyLDExIEBAIFdL
UmV0YWluUHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91
c01lc3NhZ2VGcm9tSW5qZWN0ZWRCCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAot
ICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3RpbmciKSkgewot
ICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLVVJMR2V0VHlwZUlE
KCkpOwotICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3Rpbmcoc3RhdGljX2Nhc3Q8V0tV
UkxSZWY+KG1lc3NhZ2VCb2R5KSk7CisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJp
bmcobWVzc2FnZU5hbWUsICJTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVw
b3J0VVJMc0ZvclRlc3RpbmciKSkgeworICAgICAgICBhdXRvIHRlc3REaWN0aW9uYXJ5ID0gZGlj
dGlvbmFyeVZhbHVlKG1lc3NhZ2VCb2R5KTsKKyAgICAgICAgYXV0byBzb3VyY2VVUkwgPSBXS1VS
TENyZWF0ZVdpdGhVVEY4Q1N0cmluZyh0b1dURlN0cmluZyhzdHJpbmdWYWx1ZSh0ZXN0RGljdGlv
bmFyeSwgIlNvdXJjZVVSTFN0cmluZyIpKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgYXV0byBh
dHRyaWJ1dGVPblVSTCA9IFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHRvV1RGU3RyaW5nKHN0
cmluZ1ZhbHVlKHRlc3REaWN0aW9uYXJ5LCAiQXR0cmlidXRlT25VUkxTdHJpbmciKSkudXRmOCgp
LmRhdGEoKSk7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3Rpbmcoc291cmNlVVJM
LCBhdHRyaWJ1dGVPblVSTCk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDg1N2NmYzZhN2E1MmM4MTdmYTFmZTJhYmE2YjAwMDE0NjY0YjllMTQuLjc0NzRjMjMzY2Zm
Njg5MjE5ZDI2ZjBjODMzZGE1ZTI4ZjU5OWE4OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAy
MS0wMy0xNiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBQ
Q006IFRlc3QgaW5mcmFzdHJ1Y3R1cmUgZm9yIHNlbmRpbmcgYXR0cmlidXRpb24gcmVwb3J0cyB0
byBhdHRyaWJ1dGlvbiB3ZWJzaXRlIHRvbworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMjM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQ2MjAz
MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGluZygpIG5v
dyBpcyBuYW1lZAorICAgICAgICBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9u
UmVwb3J0VVJMc0ZvclRlc3RpbmcoKSBpbiB0aGUgbGF5ZXJzIHRoYXQKKyAgICAgICAgZXZlbnR1
YWxseSByZWFjaCBXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci4gSXQgdGFr
ZXMgdHdvIFVSTHMKKyAgICAgICAgYXR0cmlidXRpb25SZXBvcnRTb3VyY2VVUkwgYW5kIGF0dHJp
YnV0aW9uUmVwb3J0QXR0cmlidXRlT25VUkwgYW5kIHNldHMgdGhlbQorICAgICAgICBpbiBhIG5l
dyBzdHJ1Y3QgQXR0cmlidXRpb25SZXBvcnRUZXN0Q29uZmlnLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9ibG9jay1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50Lmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9jb252ZXJz
aW9uLWRpc2FibGVkLWluLWVwaGVtZXJhbC1zZXNzaW9uLmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBpcmVkLWF0dHJpYnV0aW9uLXJlcG9ydC1n
ZXRzLXNlbnQtb24tc2Vzc2lvbi1zdGFydC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2dldENvbnZlcnNpb25EYXRhLnBocDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy91dGls
LmpzOgorICAgICAgICAodGVhckRvd25BbmRGaW5pc2gpOgorICAgICAgICAqIGh0dHAvdGVzdHMv
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVl
c3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3N0
b3JlLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQtd2l0aC1zb3VyY2Utbm9uY2UuaHRtbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICAgICBU
aGlzIHdhcyBtYXJrZWQgYXMgYW4gb2xkIGZsYWt5IGZhaWx1cmUgYW5kIHRyYWNrZWQgaW4gcmRh
cjovLzYzMzU3NDgxLgorICAgICAgICAgICAgSSd2ZSBrZXB0IG15IGV5ZSBvbiBpdCBhbmQgaXQg
ZG9lcyBub3Qgc2VlbSBmbGFreSBhbnltb3JlLiBSZW1vdmVkIGZhaWx1cmUKKyAgICAgICAgICAg
IGV4cGVjdGF0aW9uIHRvIGdldCBiZXR0ZXIgdGVzdCBjb3ZlcmFnZS4KKwogMjAyMS0wMy0xNSAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBX
ZWJQYWdlUHJveHkncyBFZGl0b3JTdGF0ZSBtYXkgYmUgc3RhbGUgdW50aWwgdGhlIG5leHQgcmVt
b3RlIGxheWVyIHRyZWUgY29tbWl0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NvbnRlbnRleHRlbnNpb25zL2Jsb2NrLXByaXZhdGUtY2xpY2stbWVhc3VyZW1lbnQuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stcHJpdmF0ZS1j
bGljay1tZWFzdXJlbWVudC5odG1sCmluZGV4IDBlNzY1YzhkMGYyMmYxYTJiYzMzM2U3OGUyNjdi
NjljNjk2ZmM3M2IuLjM4OTNhOTM5MjM1ZjcxNTdlZDhlMmM5MzBhMzY1MDQ5YzQzMmMxYzMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2st
cHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29udGVudGV4dGVuc2lvbnMvYmxvY2stcHJpdmF0ZS1jbGljay1tZWFzdXJlbWVudC5odG1s
CkBAIC0xNSw3ICsxNSw3IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJGb3JU
ZXN0aW5nKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVt
ZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2NvbnZlcnNpb25SZXBvcnQucGhwIik7
CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlv
blJlcG9ydFVSTHNGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvcmVzb3VyY2VzL2NvbnZlcnNpb25SZXBvcnQucGhwIiwgImh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvY29udmVyc2lvblJl
cG9ydC5waHAiKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVu
dElEKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01l
YXN1cmVtZW50L2NvbnZlcnNpb24tZGlzYWJsZWQtaW4tZXBoZW1lcmFsLXNlc3Npb24uaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvY29udmVyc2lv
bi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCmluZGV4IGM4NTA3YTJlOTRiOTI0
NjgwNzg2NTA5MGFhMDYzNzA1M2QzODU1YzEuLmVhZDFkZWU5ZWNhZDM3NTUwNjY1MzAyYjg0MzRl
MTQ0YjY4YTNmZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvY29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
Y29udmVyc2lvbi1kaXNhYmxlZC1pbi1lcGhlbWVyYWwtc2Vzc2lvbi5odG1sCkBAIC0xOCw3ICsx
OCw3IEBACiAgICAgcHJlcGFyZVRlc3QoKTsKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9u
UmVwb3J0VVJMRm9yVGVzdGluZygiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3ByaXZhdGVDbGlja01l
YXN1cmVtZW50L3Jlc291cmNlcy9jb252ZXJzaW9uUmVwb3J0LnBocD9ub25jZT0iICsgbm9uY2Up
OworICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRp
b25SZXBvcnRVUkxzRm9yVGVzdGluZygiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L3Jlc291cmNlcy9jb252ZXJzaW9uUmVwb3J0LnBocD9ub25jZT0iICsgbm9u
Y2UsICJodHRwOi8vbG9jYWxob3N0OjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3Vy
Y2VzL2NvbnZlcnNpb25SZXBvcnQucGhwP25vbmNlPSIgKyBub25jZSk7CiAKICAgICBmdW5jdGlv
biBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElEKSB7CiAgICAgICAgIHZhciBlbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElEKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hdHRyaWJ1dGlvbi1y
ZXBvcnQtZ2V0cy1zZW50LW9uLXNlc3Npb24tc3RhcnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hdHRyaWJ1dGlvbi1yZXBvcnQt
Z2V0cy1zZW50LW9uLXNlc3Npb24tc3RhcnQuaHRtbAppbmRleCBhNDlmMzhkN2RlMzI5NjdkNTc0
NDc4MWEzOGI4ZTNjZWJlNjZiNTYzLi5jMDYyZWM2OTNjNmQyYjAyMjM1ODYxNWE1MGQwNzJmMTBk
MTYwZmJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01l
YXN1cmVtZW50L2V4cGlyZWQtYXR0cmlidXRpb24tcmVwb3J0LWdldHMtc2VudC1vbi1zZXNzaW9u
LXN0YXJ0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9leHBpcmVkLWF0dHJpYnV0aW9uLXJlcG9ydC1nZXRzLXNlbnQtb24tc2Vzc2lvbi1z
dGFydC5odG1sCkBAIC0xOCw3ICsxOCw3IEBACiAgICAgcHJlcGFyZVRlc3QoKTsKIAogICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAu
MC4xOjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2NvbnZlcnNpb25SZXBv
cnQucGhwP25vbmNlPSIgKyBub25jZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKCJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2NvbnZlcnNpb25S
ZXBvcnQucGhwP25vbmNlPSIgKyBub25jZSwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvY29udmVyc2lvblJlcG9ydC5waHA/bm9uY2U9IiAr
IG5vbmNlKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVsZW1lbnQoZWxlbWVudElE
KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1
cmVtZW50L3Jlc291cmNlcy9nZXRDb252ZXJzaW9uRGF0YS5waHAgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNlcy9nZXRDb252ZXJzaW9uRGF0
YS5waHAKaW5kZXggMDM4ODhhZmI5MzE4MWZjOGNmODM4NGEzYzA3Yzg2NGRlNTRmYjVlNi4uY2E2
NjY5ODEwZDZlZDkyYTBmNzQzMWM2NzJiNzJmNGQ0NTZjZjk2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvZ2V0Q29u
dmVyc2lvbkRhdGEucGhwCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQvcmVzb3VyY2VzL2dldENvbnZlcnNpb25EYXRhLnBocApAQCAtNDUsNyArNDUs
NyBAQCBpZiAoaXNzZXQoJF9HRVRbJ2VuZFRlc3QnXSkpIHsKICAgICBlY2hvICJpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsiOwogICAgIGVjaG8gIiAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsi
OwogICAgIGVjaG8gIiAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50T3Zl
cnJpZGVUaW1lckZvclRlc3RpbmcoZmFsc2UpOyI7Ci0gICAgZWNobyAiICAgIHRlc3RSdW5uZXIu
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTEZvclRlc3Rpbmco
JycpOyI7CisgICAgZWNobyAiICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKCcnLCAnJyk7IjsKICAgICBlY2hvICJ9
IjsKICAgICBlY2hvICI8L3NjcmlwdD4iOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvdXRpbC5qcyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL3V0aWwu
anMKaW5kZXggMTEyNDIxYmIyYTM0MWI0MWY1MmI4ZjhmMTc5NmMxZmY2OGQ2YTI2Mi4uMzMyYjk0
ZTcwMGUyYzNlZGZjMWQ5Y2ZkZDkzMWJlOGZmZTBlMjY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvdXRpbC5qcwor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291
cmNlcy91dGlsLmpzCkBAIC0xMSw3ICsxMSw3IEBAIGZ1bmN0aW9uIHRlYXJEb3duQW5kRmluaXNo
KCkgewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICB0ZXN0UnVubmVyLnNl
dEFsbG93c0FueVNTTENlcnRpZmljYXRlKGZhbHNlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJGb3JUZXN0aW5nKGZhbHNlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVw
b3J0VVJMRm9yVGVzdGluZygiIik7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKCIiLCAiIik7CiAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVS
TEZvclRlc3RpbmcoIiIpOwogICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1
cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKCIiKTsKICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZh
dGVDbGlja01lYXN1cmVtZW50L3NlbmQtYXR0cmlidXRpb24tY29udmVyc2lvbi1yZXF1ZXN0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3NlbmQt
YXR0cmlidXRpb24tY29udmVyc2lvbi1yZXF1ZXN0Lmh0bWwKaW5kZXggNzU3Y2Y3YjM1Nzc3ODFk
ZmY5NzJlNmY1MzM1MDcyYWU3ODFhMWQ0ZC4uMjc2YzNhODE5ODBiYTUwODRjNTY5YTdkZDcyNGU3
OTVjZWY1NjUxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudC9zZW5kLWF0dHJpYnV0aW9uLWNvbnZlcnNpb24tcmVxdWVzdC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1h
dHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbApAQCAtNTksNyArNTksNyBAQAogICAg
IGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewog
ICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggPT09ICI/c3RlcFR3byIpIHsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0
cmlidXRpb25SZXBvcnRVUkxGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2NvbnZlcnNpb25SZXBvcnQucGhwP25vbmNlPSIg
KyBub25jZSk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvY29udmVyc2lvblJlcG9ydC5w
aHA/bm9uY2U9IiArIG5vbmNlLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3ByaXZhdGVDbGlja01l
YXN1cmVtZW50L3Jlc291cmNlcy9jb252ZXJzaW9uUmVwb3J0LnBocD9ub25jZT0iICsgbm9uY2Up
OwogICAgICAgICAgICAgICAgIGxldCBpbWFnZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpbWciKTsKICAgICAgICAgICAgICAgICBpbWFnZUVsZW1lbnQuc3JjID0gImh0dHBzOi8v
MTI3LjAuMC4xOjg0NDMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL3JlZGlyZWN0
VG9Db252ZXJzaW9uLnBocD9jb252ZXJzaW9uRGF0YT0xMiZub25jZT0iICsgbm9uY2U7CiAgICAg
ICAgICAgICAgICAgaW1hZ2VFbGVtZW50LmlkID0gInBpeGVsIjsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc3RvcmUtcHJpdmF0ZS1j
bGljay1tZWFzdXJlbWVudC13aXRoLXNvdXJjZS1ub25jZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1
cmVtZW50LXdpdGgtc291cmNlLW5vbmNlLmh0bWwKaW5kZXggYzM2MjRhNzJkNjU0ZGE5Njc0MmI1
MTgwMzcxYjMwYmQ0YzA4ODBmMi4uYjY0Y2IyYmFhMjZlNGFkYmNjZTNjYzdlNGRjNDdiMWM0ZGVi
YjNlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LXdpdGgtc291cmNlLW5vbmNl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9zdG9yZS1wcml2YXRlLWNsaWNrLW1lYXN1cmVtZW50LXdpdGgtc291cmNlLW5vbmNlLmh0bWwK
QEAgLTUzLDcgKzUzLDcgQEAKICAgICAgICAgICAgIGlmICghd2luZG93LmxvY2F0aW9uLnNlYXJj
aCkgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmcoImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9wcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvZnJhdWRQcmV2ZW50aW9uVGVzdFVSTC5waHA/
ZHVtbXk9IiArIGR1bW15KTsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFByaXZhdGVD
bGlja01lYXN1cmVtZW50VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAu
MC4xOjgwMDAvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2ZyYXVkUHJldmVudGlv
blRlc3RVUkwucGhwP2R1bW15PSIgKyBkdW1teSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMRm9yVGVzdGlu
ZygiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L3Jlc291cmNl
cy9mcmF1ZFByZXZlbnRpb25UZXN0VVJMLnBocD9kdW1teT0iICsgZHVtbXkgKyAiJmxhc3Q9dHJ1
ZSIpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKCJodHRwOi8vMTI3LjAuMC4xOjgwMDAv
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvcmVzb3VyY2VzL2ZyYXVkUHJldmVudGlvblRlc3RVUkwu
cGhwP2R1bW15PSIgKyBkdW1teSArICImbGFzdD10cnVlIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9yZXNvdXJjZXMvZnJhdWRQcmV2ZW50aW9uVGVzdFVS
TC5waHA/ZHVtbXk9IiArIGR1bW15ICsgIiZsYXN0PXRydWUiKTsKICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVUaW1lckZvclRlc3Rp
bmcodHJ1ZSk7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudEZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRlc3RpbmcoInVubGlua2FibGVUb2tlbiIs
ICJzZWNyZXRUb2tlbiIsICJzaWduYXR1cmUiLCAiV0YzVWdnIik7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyZDE2ZGUzNjk4MzZjNzZm
ZDM2YjNjM2M4Y2ExMjJmZDJiNjJlNjFkLi43YjA2ZDM1NTA5OThlZDllZWNiZGQyNmIwODMzMDBj
M2NhMWQ4ZDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0
YXRpb25zCkBAIC0xMTE1LDkgKzExMTUsNiBAQCB3ZWJydGMvc2ltdWxjYXN0LWgyNjQuaHRtbCBb
IFBhc3MgVGltZW91dCBdCiAjIDxyZGFyOi8vcHJvYmxlbS82MzI3NTIxMz4gUkVHUkVTU0lPTjog
aHR0cC90ZXN0cy9JbmRleGVkREIvc3RvcmFnZS1saW1pdC0xLmh0dHBzLmh0bWwgaXMgYSBmbGFr
eSBmYWlsdXJlCiBbIEJpZ1N1cisgUmVsZWFzZSBdIGh0dHAvdGVzdHMvSW5kZXhlZERCL3N0b3Jh
Z2UtbGltaXQtMS5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotIyA8cmRhcjovL3Byb2Js
ZW0vNjMzNTc0ODE+IGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2VuZC1hdHRy
aWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbCBpcyBhIHN1cGVyIGZsYWt5IGZhaWx1cmUK
LVsgQmlnU3VyKyBEZWJ1ZyBdIGh0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvc2Vu
ZC1hdHRyaWJ1dGlvbi1jb252ZXJzaW9uLXJlcXVlc3QuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0K
ICMgPHJkYXI6Ly9wcm9ibGVtLzYzNTU0MjQ5PiBbMjBBMjc5XSBEUSBib3RzIGFyZSBzZWVpbmcg
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtdmFsaWRhdGlvbi1iYWNrLW5h
dmlnYXRpb24tcG9saWN5Lmh0bWwgYW5kIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNr
LWNhY2hlLXZhbGlkYXRpb24tbm8tYm9keS5odG1sIGFyZSB0aW1pbmcgb3V0CiB3ZWJraXQub3Jn
L2IvMTc5Nzk2IGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXZhbGlkYXRp
b24tYmFjay1uYXZpZ2F0aW9uLXBvbGljeS5odG1sIFsgUGFzcyBGYWlsdXJlIFRpbWVvdXQgXQog
WyBCaWdTdXIrIFJlbGVhc2UgXSBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNo
ZS12YWxpZGF0aW9uLW5vLWJvZHkuaHRtbCBbIFBhc3MgVGltZW91dCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>