<?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>180831</bug_id>
          
          <creation_ts>2017-12-14 13:03:56 -0800</creation_ts>
          <short_desc>Web Inspector: InspectorTest.evaluateInPage should unwrap primitive values by default</short_desc>
          <delta_ts>2017-12-14 17:41:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1381767</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-14 13:03:56 -0800</bug_when>
    <thetext>This makes tests shorter and nicer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381769</commentid>
    <comment_count>1</comment_count>
      <attachid>329388</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-14 13:09:19 -0800</bug_when>
    <thetext>Created attachment 329388
Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381853</commentid>
    <comment_count>2</comment_count>
      <attachid>329388</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-14 15:10:39 -0800</bug_when>
    <thetext>Comment on attachment 329388
Proposed Fix

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

r=me

&gt; LayoutTests/inspector/console/command-line-api-copy.html:27
&gt; +            InspectorTest.evaluateInPage(&quot;pasteAndReturnString()&quot;, (error, result) =&gt; {

Nit: Lets update the source string to be a template string: `pasteAndReturnString()`.

&gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page-expected.txt:165
&gt; +PASS: Expected and actual evaluation result type should be equal.
&gt; +PASS: Expected and actual evaluation result subtype should be equal.

These lines are a bit vague, but I guess if it fails it outputs the two types? I normally like to see the expected type in the output so I don&apos;t have to search the test code for what it was.

&gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:1
&gt; +&lt;!doctype html&gt;

Nice test!

&gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:10
&gt; +            input: &quot;-42&quot;,

Style: I find it clearer when a string is intended to be code, to use template strings. `-42` makes it just a little bit clearer that this will be evaluated later on.

&gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:143
&gt; +            for (let {input, type, subtype, thrown} of complexCases) {
&gt; +                let result = await InspectorTest.evaluateInPage(input);

Technically this is serial (request, response, request, response, ...) but you could do this all in parallel (request1, request2, ..., response1, response2, ...) like so:

    let results = await Promise.all(...complexCases.map((input) =&gt; InspectorTest.evaluateInPage(input))];
    for (let {input, type, subtype, thrown} of results)

But I don&apos;t think it matters if the debug bugs aren&apos;t timing out.

&gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:146
&gt; +                InspectorTest.expectThat(result instanceof WI.RemoteObject, &quot;Returned result should be a WI.RemoteObject.&quot;);

Maybe we should really have `expectInstanceOf` because we do this all over the place.

&gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:150
&gt; +                InspectorTest.log(&quot;\n&quot;);

Nit: Just `InspectorTest.log(&quot;&quot;);` will put 1 newline between things instead of 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381861</commentid>
    <comment_count>3</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-14 15:18:25 -0800</bug_when>
    <thetext>(In reply to Joseph Pecoraro from comment #2)
&gt; Comment on attachment 329388 [details]
&gt; Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=329388&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; LayoutTests/inspector/console/command-line-api-copy.html:27
&gt; &gt; +            InspectorTest.evaluateInPage(&quot;pasteAndReturnString()&quot;, (error, result) =&gt; {
&gt; 
&gt; Nit: Lets update the source string to be a template string:
&gt; `pasteAndReturnString()`.

ok.
 
&gt; &gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page-expected.txt:165
&gt; &gt; +PASS: Expected and actual evaluation result type should be equal.
&gt; &gt; +PASS: Expected and actual evaluation result subtype should be equal.
&gt; 
&gt; These lines are a bit vague, but I guess if it fails it outputs the two
&gt; types? I normally like to see the expected type in the output so I don&apos;t
&gt; have to search the test code for what it was.

It does output the two types, and at least the input string is being printed.


&gt; &gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:1
&gt; &gt; +&lt;!doctype html&gt;
&gt; 
&gt; Nice test!
&gt; 
&gt; &gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:10
&gt; &gt; +            input: &quot;-42&quot;,
&gt; 
&gt; Style: I find it clearer when a string is intended to be code, to use
&gt; template strings. `-42` makes it just a little bit clearer that this will be
&gt; evaluated later on.

Ok.

&gt; 
&gt; &gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:143
&gt; &gt; +            for (let {input, type, subtype, thrown} of complexCases) {
&gt; &gt; +                let result = await InspectorTest.evaluateInPage(input);
&gt; 
&gt; Technically this is serial (request, response, request, response, ...) but
&gt; you could do this all in parallel (request1, request2, ..., response1,
&gt; response2, ...) like so:
&gt; 
&gt;     let results = await Promise.all(...complexCases.map((input) =&gt;
&gt; InspectorTest.evaluateInPage(input))];
&gt;     for (let {input, type, subtype, thrown} of results)
&gt; 
&gt; But I don&apos;t think it matters if the debug bugs aren&apos;t timing out.

I&apos;ll leave it as-is unless needed.
 
&gt; &gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:146
&gt; &gt; +                InspectorTest.expectThat(result instanceof WI.RemoteObject, &quot;Returned result should be a WI.RemoteObject.&quot;);
&gt; 
&gt; Maybe we should really have `expectInstanceOf` because we do this all over
&gt; the place.

Good idea.
 
&gt; &gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page.html:150
&gt; &gt; +                InspectorTest.log(&quot;\n&quot;);
&gt; 
&gt; Nit: Just `InspectorTest.log(&quot;&quot;);` will put 1 newline between things instead
&gt; of 2.

Oops, thanks. I noticed that passing no arguments will log undefined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381884</commentid>
    <comment_count>4</comment_count>
      <attachid>329414</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-14 15:59:02 -0800</bug_when>
    <thetext>Created attachment 329414
For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381891</commentid>
    <comment_count>5</comment_count>
      <attachid>329414</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-14 16:03:38 -0800</bug_when>
    <thetext>Comment on attachment 329414
For Landing

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

&gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page-expected.txt:41
&gt; +FAIL: Expected and actual evaluation result should be equal.
&gt; +    Expected: -42
&gt; +    Actual: RemoteObject instance #1

Fails here. Seems we need to flip something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381896</commentid>
    <comment_count>6</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-14 16:21:56 -0800</bug_when>
    <thetext>(In reply to Joseph Pecoraro from comment #5)
&gt; Comment on attachment 329414 [details]
&gt; For Landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=329414&amp;action=review
&gt; 
&gt; &gt; LayoutTests/inspector/unit-tests/test-harness-evaluate-in-page-expected.txt:41
&gt; &gt; +FAIL: Expected and actual evaluation result should be equal.
&gt; &gt; +    Expected: -42
&gt; &gt; +    Actual: RemoteObject instance #1
&gt; 
&gt; Fails here. Seems we need to flip something.

Accidentally moved around this assertion into this test case where it isn&apos;t valid. Oops. Good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381897</commentid>
    <comment_count>7</comment_count>
      <attachid>329416</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-14 16:23:34 -0800</bug_when>
    <thetext>Created attachment 329416
For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381941</commentid>
    <comment_count>8</comment_count>
      <attachid>329416</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-14 17:39:15 -0800</bug_when>
    <thetext>Comment on attachment 329416
For Landing

Clearing flags on attachment: 329416

Committed r225950: &lt;https://trac.webkit.org/changeset/225950&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381942</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-14 17:39:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381946</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-14 17:41:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/36063909&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329388</attachid>
            <date>2017-12-14 13:09:19 -0800</date>
            <delta_ts>2017-12-14 15:59:01 -0800</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-180831-20171214130919.patch</filename>
            <type>text/plain</type>
            <size>47904</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1OTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA0
YTEzNDdjMzhmZDZhOTFmNmU4MGQwZTJmYTFiMWNiODE1ZDQ2NWM3Li5mNTFjYWJhMThjMmE0MTA1
YzIxOGM4MDI3YmYxY2E0ZjBiZmYzNmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0xMi0xNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlIHNob3Vs
ZCB1bndyYXAgcHJpbWl0aXZlIHZhbHVlcyBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA4MzEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVu
ZFRlc3RIYXJuZXNzLmpzOgorICAgICAgICAoRnJvbnRlbmRUZXN0SGFybmVzcy5wcm90b3R5cGUu
ZXZhbHVhdGVJblBhZ2UucmVzdWx0T2JqZWN0VG9SZXR1cm4pOgorICAgICAgICAoRnJvbnRlbmRU
ZXN0SGFybmVzcy5wcm90b3R5cGUuZXZhbHVhdGVJblBhZ2UpOgorICAgICAgICBVbndyYXAgdGhl
IHJlc3VsdGluZyBSZW1vdGVPYmplY3QncyB2YWx1ZSBpZiBpdCBpcyBhIHByaW1pdGl2ZS4KKyAg
ICAgICAgQWRkIGFuIGBvcHRpb25zYCBkaWN0aW9uYXJ5IHNvIHRoaXMgYmVoYXZpb3IgY2FuIGJl
IG9wdGVkIG91dC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC9UZXN0SGFybmVzcy5q
czoKKyAgICAgICAgQWRkIGRvY3VtZW50YXRpb24gb2YgaG93IGV2YWx1YXRlSW5QYWdlIHdvcmtz
LgorCiAyMDE3LTEyLTE0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogVW5jYXVnaHRFeGNlcHRpb25SZXBvcnRlciBmYWlscyBv
biBlYXJseSBlcnJvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1Rlc3QvRnJvbnRlbmRUZXN0SGFybmVzcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRlbmRUZXN0SGFybmVzcy5qcwppbmRleCA0MTMzZTk0
NmVhZTAwMTQ0NjkwMzAwYTYwNzBlMGJjNGJlZjYwMWQyLi5lYTliOTgwZDI0MjhmNTU0OWY2MDNj
ZGViODViNzUzZWYyOTUwMzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVuZFRlc3RIYXJuZXNzLmpzCkBAIC03
Nyw4ICs3NywxMCBAQCBGcm9udGVuZFRlc3RIYXJuZXNzID0gY2xhc3MgRnJvbnRlbmRUZXN0SGFy
bmVzcyBleHRlbmRzIFRlc3RIYXJuZXNzCiAgICAgICAgIHRoaXMuZXZhbHVhdGVJblBhZ2UoYFRl
c3RQYWdlLmRlYnVnTG9nKHVuZXNjYXBlKCIke2VzY2FwZShzdHJpbmdpZmllZE1lc3NhZ2UpfSIp
KTtgKTsKICAgICB9CiAKLSAgICBldmFsdWF0ZUluUGFnZShleHByZXNzaW9uLCBjYWxsYmFjaykK
KyAgICBldmFsdWF0ZUluUGFnZShleHByZXNzaW9uLCBjYWxsYmFjaywgb3B0aW9ucz17fSkKICAg
ICB7CisgICAgICAgIGxldCByZW1vdGVPYmplY3RPbmx5ID0gISFvcHRpb25zLnJlbW90ZU9iamVj
dE9ubHk7CisKICAgICAgICAgLy8gSWYgd2UgbG9hZCB0aGlzIHBhZ2Ugb3V0c2lkZSBvZiB0aGUg
aW5zcGVjdG9yLCBvciBoaXQgYW4gZWFybHkgZXJyb3Igd2hlbiBsb2FkaW5nCiAgICAgICAgIC8v
IHRoZSB0ZXN0IGZyb250ZW5kLCB0aGVuIGRlZmVyIGV2YWx1YXRpbmcgdGhlIGNvbW1hbmRzIChp
bmRlZmluaXRlbHkgaW4gdGhlIGZvcm1lciBjYXNlKS4KICAgICAgICAgaWYgKHRoaXMuX29yaWdp
bmFsQ29uc29sZSAmJiAhd2luZG93LlJ1bnRpbWVBZ2VudCkgewpAQCAtODYsMTAgKzg4LDE4IEBA
IEZyb250ZW5kVGVzdEhhcm5lc3MgPSBjbGFzcyBGcm9udGVuZFRlc3RIYXJuZXNzIGV4dGVuZHMg
VGVzdEhhcm5lc3MKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGlm
ICh0eXBlb2YgY2FsbGJhY2sgPT09ICJmdW5jdGlvbiIpCi0gICAgICAgICAgICBSdW50aW1lQWdl
bnQuZXZhbHVhdGUuaW52b2tlKHtleHByZXNzaW9uLCBvYmplY3RHcm91cDogInRlc3QiLCBpbmNs
dWRlQ29tbWFuZExpbmVBUEk6IGZhbHNlfSwgY2FsbGJhY2spOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICByZXR1cm4gUnVudGltZUFnZW50LmV2YWx1YXRlLmludm9rZSh7ZXhwcmVzc2lvbiwg
b2JqZWN0R3JvdXA6ICJ0ZXN0IiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiBmYWxzZX0pOworICAg
ICAgICAvLyBSZXR1cm4gcHJpbWl0aXZlIHZhbHVlcyBkaXJlY3RseSwgb3RoZXJ3aXNlIHJldHVy
biBhIFdJLlJlbW90ZU9iamVjdCBpbnN0YW5jZS4KKyAgICAgICAgZnVuY3Rpb24gcmVzdWx0T2Jq
ZWN0VG9SZXR1cm4ocmVzdWx0KSB7CisgICAgICAgICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0ku
UmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm4gKCFy
ZW1vdGVPYmplY3RPbmx5ICYmIHJlbW90ZU9iamVjdC5oYXNWYWx1ZSgpKSA/IHJlbW90ZU9iamVj
dC52YWx1ZSA6IHJlbW90ZU9iamVjdDsKKyAgICAgICAgfQorCisgICAgICAgIGxldCByZXNwb25z
ZSA9IFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZS5pbnZva2Uoe2V4cHJlc3Npb24sIG9iamVjdEdyb3Vw
OiAidGVzdCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogZmFsc2V9KQorICAgICAgICBpZiAoY2Fs
bGJhY2sgJiYgdHlwZW9mIGNhbGxiYWNrID09PSAiZnVuY3Rpb24iKSB7CisgICAgICAgICAgICBy
ZXNwb25zZSA9IHJlc3BvbnNlLnRoZW4oKHtyZXN1bHQsIHdhc1Rocm93bn0pID0+IGNhbGxiYWNr
KG51bGwsIHJlc3VsdE9iamVjdFRvUmV0dXJuKHJlc3VsdCksIHdhc1Rocm93bikpOworICAgICAg
ICAgICAgcmVzcG9uc2UgPSByZXNwb25zZS5jYXRjaCgoZXJyb3IpID0+IGNhbGxiYWNrKGVycm9y
LCBudWxsLCBmYWxzZSkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJldHVybiByZXNw
b25zZS50aGVuKCh7cmVzdWx0fSkgPT4gcmVzdWx0T2JqZWN0VG9SZXR1cm4ocmVzdWx0KSk7CiAg
ICAgfQogCiAgICAgZGVidWcoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVGVzdC9UZXN0SGFybmVzcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3MuanMKaW5kZXggOTIwYmVmMWNlZGIxYjZmN2Fl
OGFjYmIzZjQxNzcyYmY5ZWMzMDFkNC4uY2JmZTg4MzA4NzU4YWU1OWZjZDgyZmEyOTgwYWE5YjI1
MzRhZmI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
VGVzdC9UZXN0SGFybmVzcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9UZXN0L1Rlc3RIYXJuZXNzLmpzCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNSwgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU1LDcgKzU1LDE0IEBAIFRlc3RIYXJuZXNz
ID0gY2xhc3MgVGVzdEhhcm5lc3MgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJNdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuIik7CiAgICAgfQogCi0g
ICAgZXZhbHVhdGVJblBhZ2Uoc3RyaW5nLCBjYWxsYmFjaykKKyAgICAvLyBJZiAnY2FsbGJhY2sn
IGlzIGEgZnVuY3Rpb24sIGl0IHdpbGwgYmUgd2l0aCB0aGUgYXJndW1lbnRzCisgICAgLy8gY2Fs
bGJhY2soZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKS4gT3RoZXJ3aXNlLCBhIHByb21pc2UgaXMK
KyAgICAvLyByZXR1cm5lZCB0aGF0IHJlc29sdmVzIHdpdGggJ3Jlc3VsdCcgb3IgcmVqZWN0cyB3
aXRoICdlcnJvcicuCisKKyAgICAvLyBUaGUgb3B0aW9ucyBvYmplY3QgYWNjZXB0cyB0aGUgZm9s
bG93aW5nIGtleXMgYW5kIHZhbHVlczoKKyAgICAvLyAncmVtb3RlT2JqZWN0T25seSc6IGlmIHRy
dWUsIGRvIG5vdCB1bndyYXAgdGhlIHJlc3VsdCBwYXlsb2FkIHRvIGEKKyAgICAvLyBwcmltaXRp
dmUgdmFsdWUgZXZlbiBpZiBwb3NzaWJsZS4gVXNlZnVsIGlmIHRlc3RpbmcgV0kuUmVtb3RlT2Jq
ZWN0IGRpcmVjdGx5LgorICAgIGV2YWx1YXRlSW5QYWdlKHN0cmluZywgY2FsbGJhY2ssIG9wdGlv
bnM9e30pCiAgICAgewogICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIk11c3QgYmUgaW1wbGVtZW50
ZWQgYnkgc3ViY2xhc3Nlcy4iKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTg2OTk3NDFhODZmZWE3MDIzNWQ0
Mjc5YzQ3MDJlN2RkMWM0YTg1NS4uMDg0NzRmMjk3YmIzNWU0Yzc2MmEzZjVmMTkxYmE1MzEwYTQx
MTMyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE3LTEyLTE0ICBCcmlhbiBCdXJnICA8YmJ1
cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2Ugc2hvdWxkIHVud3JhcCBwcmltaXRpdmUgdmFsdWVzIGJ5IGRlZmF1bHQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDgzMQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9y
L3VuaXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRlLWluLXBhZ2UtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy90ZXN0LWhhcm5lc3MtZXZhbHVh
dGUtaW4tcGFnZS5odG1sOiBBZGRlZC4KKworICAgICAgICBBZGQgdGVzdCBjb3ZlcmFnZSBmb3Ig
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZS4gT25seSB0aGUgcHJvbWlzZS1yZXR1cm5pbmcK
KyAgICAgICAgdmFyaWFudCBpcyB0ZXN0ZWQgaGVyZSwgYmVjYXVzZSB0aGUgY2FsbGJhY2sgdmFy
aWFudCBpcyB3ZWxsLXVzZWQgaW4gZXhpc3RpbmcKKyAgICAgICAgdGVzdHMgYW5kIEkgcGxhbiB0
byByZW1vdmUgdGhlIGNhbGxiYWNrIHZhcmlhbnQgZW50aXJlbHkgaW4gbGF0ZXIgcGF0Y2hlcy4K
KworICAgICAgICAqIGluc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1Ry
YWNlLmh0bWw6CisgICAgICAgIEZpeCBzb21lIGJhZCB0ZXN0cyBhbmQgcmViYXNlbGluZS4gQSBi
dWcgd2FzIGZpbGVkIGZvciB0aGUgcmVtYWluaW5nIGZhaWxpbmcgYXNzZXJ0aW9uLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL3NoYXBlcy10ZXN0LmpzOgorICAgICAgICAo
VGVzdFBhZ2UucmVnaXN0ZXJJbml0aWFsaXplci5JbnNwZWN0b3JUZXN0LlNoYXBlcy5yZWNlaXZl
ZEhpZ2hsaWdodE9iamVjdCk6CisgICAgICAgIChUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVy
Lkluc3BlY3RvclRlc3QuU2hhcGVzLmdldFNoYXBlT3V0c2lkZUluZm9Gb3JTZWxlY3Rvcik6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1
ZXN0LWludGVybmFsLXByb3BlcnRpZXMuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
Y29uc29sZS9jb21tYW5kLWxpbmUtYXBpLWNvcHkuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
Y29uc29sZS9jb25zb2xlLWxvZy1wcm94eS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1
Z2dlci9qcy1zdGFja3RyYWNlLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS9oaWRlSGln
aGxpZ2h0Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRGcmFtZS5odG1s
OgorICAgICAgICAqIGluc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZS5odG1sOgorICAgICAgICAq
IGluc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZUxpc3QuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZG9tL2hpZ2hsaWdodFF1YWQuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tL2hpZ2hs
aWdodFJlY3QuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tL2hpZ2hsaWdodFNlbGVjdG9y
Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3BhZ2Uvc2V0RW11bGF0ZWRNZWRpYS5odG1sOgor
ICAgICAgICAqIGluc3BlY3Rvci9ydW50aW1lL2dldFByZXZpZXcuaHRtbDoKKyAgICAgICAgRml4
IGV4aXN0aW5nIHRlc3RzIHRvIG9wdCBvdXQgb2YgdW53cmFwcGluZyBvciB1c2UgdGhlIHVud3Jh
cHBlZCB2YWx1ZSBkaXJlY3RseS4KKworICAgICAgICAqIGluc3BlY3Rvci9kb20vc2V0RXZlbnRM
aXN0ZW5lckRpc2FibGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmViYXNlbGluZSByZXN1bHRz
LiBUaGlzIGlzIGNhdXNlZCBieSBhbiBleHRyYSBwcm9taXNlIHRpY2sgaW4gZXZhbHVhdGVJblBh
Z2UuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvaW5qZWN0ZWQtc2NyaXB0L29ic2VydmFibGUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9pbmplY3RlZC1zY3JpcHQvb2JzZXJ2YWJs
ZS5odG1sOgorICAgICAgICBGaXggYSB0eXBvIGFuZCByZWJhc2VsaW5lLgorCisKIDIwMTctMTIt
MTQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViIEFu
aW1hdGlvbnNdIEltcGxlbWVudCB0aGUgZmluaXNoKCkgbWV0aG9kIG9uIEFuaW1hdGlvbgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL3NoYXBlcy10ZXN0
LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL3NoYXBlcy10ZXN0Lmpz
CmluZGV4IGNkNDAxNGRlYTYwODEwNGJmYmNhODBkMjZjNDA4OGM5Zjg3MGRmMmYuLjkwYTMwNTNl
ZjY1ZWJiNjU1NjM0Mzk0YjdlMjVmYTYzM2NhNzhjNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RvbS9zaGFwZXMtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vc2hhcGVzLXRlc3QuanMKQEAgLTMwLDExICszMCwx
MSBAQCBJbnNwZWN0b3JUZXN0LlNoYXBlcyA9IHsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0
KCkiLCByZWNlaXZlZEhpZ2hsaWdodE9iamVjdCk7CiAgICAgICAgIH0KIAotICAgICAgICBmdW5j
dGlvbiByZWNlaXZlZEhpZ2hsaWdodE9iamVjdChlcnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSB7
CisgICAgICAgIGZ1bmN0aW9uIHJlY2VpdmVkSGlnaGxpZ2h0T2JqZWN0KGVycm9yLCB2YWx1ZSwg
d2FzVGhyb3duKSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJX
aGVuIGV2YWx1YXRpbmcgY29kZSwgcmVjZWl2ZWQgdW5leHBlY3RlZCBlcnJvcjoiICsgZXJyb3Ip
OwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiV2hlbiBldmFsdWF0
aW5nIGNvZGUsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duOiIgKyB3YXNUaHJvd24pOwogCi0gICAg
ICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UocGF5bG9hZC52YWx1ZSk7CisgICAgICAgICAg
ICB2YXIgZGF0YSA9IEpTT04ucGFyc2UodmFsdWUpOwogICAgICAgICAgICAgY2FsbGJhY2soZGF0
YVswXS5lbGVtZW50RGF0YS5zaGFwZU91dHNpZGVEYXRhKTsKICAgICAgICAgfQogICAgIH0sCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9wYXltZW50cmVxdWVz
dC9wYXltZW50LXJlcXVlc3QtaW50ZXJuYWwtcHJvcGVydGllcy5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0
LWludGVybmFsLXByb3BlcnRpZXMuaHR0cHMuaHRtbAppbmRleCBlMzVmOTI1MmEwNDAyYjYwNTg0
NTFiMmU0OWUwYzhlODZmM2MzZWU2Li4zNWQ4NmI5MzM1ZjQ5NGFhMWRmMmQzNjM1YmM4MjE5ODlh
MThjMTMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9wYXlt
ZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtaW50ZXJuYWwtcHJvcGVydGllcy5odHRwcy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3BheW1lbnRyZXF1ZXN0L3Bh
eW1lbnQtcmVxdWVzdC1pbnRlcm5hbC1wcm9wZXJ0aWVzLmh0dHBzLmh0bWwKQEAgLTEzMywxMSAr
MTMzLDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAg
ICAgICAgICAgICBuYW1lLCBkZXNjcmlwdGlvbiwKICAgICAgICAgICAgIGFzeW5jIHRlc3QoKSB7
Ci0gICAgICAgICAgICAgICAgbGV0IFtyZXN1bHRdID0gYXdhaXQgUHJvbWlzZS5hbGwoWwotICAg
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Npb24p
LAorICAgICAgICAgICAgICAgIGxldCBbcmVtb3RlT2JqZWN0LCBfXSA9IGF3YWl0IFByb21pc2Uu
YWxsKFsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShl
eHByZXNzaW9uLCBudWxsLCB7cmVtb3RlT2JqZWN0T25seTogdHJ1ZX0pLAogICAgICAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmF3YWl0RXZlbnQoIkNvbnRpbnVlIiksCiAgICAgICAgICAg
ICAgICAgXSk7Ci0gICAgICAgICAgICAgICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJLlJlbW90ZU9i
amVjdC5mcm9tUGF5bG9hZChyZXN1bHQucmVzdWx0KTsKICAgICAgICAgICAgICAgICBsZXQgW3By
b3BlcnR5RGVzY3JpcHRvcnNdID0gYXdhaXQgcHJvbWlzaWZ5KChjYikgPT4geyByZW1vdGVPYmpl
Y3QuZ2V0QWxsUHJvcGVydHlEZXNjcmlwdG9ycyhjYik7IH0pOwogICAgICAgICAgICAgICAgIGZv
ciAobGV0IHByb3BlcnR5RGVzY3JpcHRvciBvZiBwcm9wZXJ0eURlc2NyaXB0b3JzLnJldmVyc2Uo
KSkgewogICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHlEZXNjcmlwdG9yLmlzSW50ZXJu
YWxQcm9wZXJ0eSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUv
Y29tbWFuZC1saW5lLWFwaS1jb3B5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb21tYW5kLWxpbmUtYXBpLWNvcHkuaHRtbAppbmRleCA3MWNlNTYwYmUwYjA2MTVkOTUyNTBh
ZDllMTlmYjFmZjQzM2Q4Zjk4Li5hNjJhZmI3Y2VjZWNjMGY4ZjM4MjA5ZTY4ZTY5ODI3OTUzMzcx
YWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21tYW5kLWxp
bmUtYXBpLWNvcHkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb21t
YW5kLWxpbmUtYXBpLWNvcHkuaHRtbApAQCAtMjQsMTAgKzI0LDkgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgZnVuY3Rpb24gY29tbWFuZExpbmVBUElDb3B5QW5kUGFzdGUoZXhwcmVzc2lvbiwgY2Fs
bGJhY2spIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIGV4cHJlc3Npb24g
PT09ICJzdHJpbmciLCAiVGVzdCByZXF1aXJlcyBzdHJpbmcgZXhwcmVzc2lvbiB0byBldmFsdWF0
ZSBvbiB0aGUgcGFnZS4iKTsKICAgICAgICAgV0kucnVudGltZU1hbmFnZXIuZXZhbHVhdGVJbklu
c3BlY3RlZFdpbmRvdyhgY29weSgke2V4cHJlc3Npb259KWAsIHtvYmplY3RHcm91cDogInRlc3Qi
LCBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWV9LCAoKSA9PiB7Ci0gICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwYXN0ZUFuZFJldHVyblN0cmluZygpIiwgKGVycm9y
LCByZW1vdGVPYmplY3RQYXlsb2FkKSA9PiB7Ci0gICAgICAgICAgICAgICAgbGV0IHJlbW90ZU9i
amVjdCA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZW1vdGVPYmplY3RQYXlsb2FkKTsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChyZW1vdGVPYmplY3QudHlwZSA9
PT0gInN0cmluZyIsICJSZW1vdGVPYmplY3QgZnJvbSBwYXN0ZUFuZFJldHVyblN0cmluZyBzaG91
bGQgcmV0dXJuIGEgc3RyaW5nLiIpOwotICAgICAgICAgICAgICAgIGNhbGxiYWNrKHJlbW90ZU9i
amVjdC52YWx1ZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJw
YXN0ZUFuZFJldHVyblN0cmluZygpIiwgKGVycm9yLCByZXN1bHQpID0+IHsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcmVzdWx0ID09PSAic3RyaW5nIiwgIlJl
c3VsdCBmcm9tIHBhc3RlQW5kUmV0dXJuU3RyaW5nIHNob3VsZCBiZSBhIHN0cmluZy4iKQorICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKHJlc3VsdCk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAg
fSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1sb2ctcHJveHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNv
bGUtbG9nLXByb3h5Lmh0bWwKaW5kZXggYmVkZjNkYjk4ZjBhNWIyN2I2MTBlM2VjMmYxMzE4MmEx
NjhjNzk0Ny4uNjNlZTI3M2M2YmNkMGJjMjJkZjUyZGIzZDQ4OTU2NzAyNmE2M2FlOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1sb2ctcHJveHkuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1wcm94eS5o
dG1sCkBAIC00Miw4ICs0Miw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB0ZXN0KHJlc29s
dmUsIHJlamVjdCkgewogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
dHJpZ2dlclByb3h5Q29uc29sZUxvZygpIiwgKCkgPT4gewogICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5hY2Nlc3NlZEhhbmRsZXJHZXQiLCAoZXJy
b3IsIHJlc3VsdCkgPT4gewotICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBXSS5SZW1v
dGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0KS52YWx1ZTsKLSAgICAgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbCh2YWx1ZSwgZmFsc2UsICJMb2dnaW5nIFByb3h5IG9i
amVjdHMgc2hvdWxkIG5vdCBoYXZlIHRyaWdnZXJlZCBnZXQgdHJhcC4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RGYWxzZShyZXN1bHQsICJMb2dnaW5nIFByb3h5
IG9iamVjdHMgc2hvdWxkIG5vdCBoYXZlIHRyaWdnZXJlZCBnZXQgdHJhcC4iKTsKICAgICAgICAg
ICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAg
fSk7CkBAIC01Niw4ICs1NSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB0ZXN0KHJlc29s
dmUsIHJlamVjdCkgewogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
dHJpZ2dlclByb3h5QW5kUHJpbWl0aXZlQ29uc29sZUxvZygpIiwgKCkgPT4gewogICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5hY2Nlc3NlZEhhbmRs
ZXJHZXQiLCAoZXJyb3IsIHJlc3VsdCkgPT4gewotICAgICAgICAgICAgICAgICAgICBsZXQgdmFs
dWUgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVzdWx0KS52YWx1ZTsKLSAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbCh2YWx1ZSwgZmFsc2UsICJMb2dn
aW5nIFByb3h5IG9iamVjdHMgYW5kIHByaW1pdGl2ZXMgc2hvdWxkIG5vdCBoYXZlIHRyaWdnZXJl
ZCBnZXQgdHJhcC4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RG
YWxzZShyZXN1bHQsICJMb2dnaW5nIFByb3h5IG9iamVjdHMgYW5kIHByaW1pdGl2ZXMgc2hvdWxk
IG5vdCBoYXZlIHRyaWdnZXJlZCBnZXQgdHJhcC4iKTsKICAgICAgICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFj
a1RyYWNlLWV4cGVjdGVkLnR4dAppbmRleCBmNGRkZmE1YzU3ZTlkNTEzNzE4NmQ3OWEwOGYzMzk2
MzIyNWQ4MTFkLi5lMTM5NThmZjYzOTgxYWNmNjA5YWNhM2M3MGExZjI3NzFmYjQwNWRlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJh
Y2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlz
TGlrZWx5U3RhY2tUcmFjZS1leHBlY3RlZC50eHQKQEAgLTIsMTQgKzIsMTggQEAgVGVzdCBzdGFj
ayB0cmFjZSBkZXRlY3Rpb24gaGV1cmlzdGljLgogCiA9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFdJ
LlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogbm90
U3RhY2t0cmFjZQotQVNTRVJUOiBTaG91bGQgTk9UIGJlIGEgc3RhY2t0cmFjZS4KK1BBU1M6IFNo
b3VsZCBOT1QgYmUgYSBzdGFja3RyYWNlLgogCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogdHlwZUVy
cm9yV3JhcAotQVNTRVJUOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgorRkFJTDogU2hvdWxkIGJl
IGEgc3RhY2t0cmFjZS4KKyAgICBFeHBlY3RlZDogdHJ1dGh5CisgICAgQWN0dWFsOiBmYWxzZQog
CiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogZ2V0QW5vbnltb3VzRnVuY3Rpb25FcnJvcgotQVNTRVJU
OiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgorUEFTUzogU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4K
IAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IHRlc3RXaXRoTmF0aXZlQ2FsbEluQmV0d2VlbgotQVNT
RVJUOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgorRkFJTDogU2hvdWxkIGJlIGEgc3RhY2t0cmFj
ZS4KKyAgICBFeHBlY3RlZDogdHJ1dGh5CisgICAgQWN0dWFsOiBmYWxzZQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS5o
dG1sCmluZGV4IDliOWQ2OWU4ZTExMDZkM2UzNDBiMjkwOGU1YzExMjM1NjAyNGJmODIuLmEyZGI0
MmI2MDg0ZTE2ZjEwOTQ1NWFlZTkwMmNiN2Q5ZWQ4MTVkMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS5odG1sCkBA
IC00Niw4ICs0Niw4IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
ICAgICAgICAgbmFtZTogIm5vdFN0YWNrdHJhY2UiLAogICAgICAgICB0ZXN0KHJlc29sdmUsIHJl
amVjdCkgewotICAgICAgICAgICAgdmFyIHJlc3VsdCA9IFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlT
dGFja1RyYWNlKCJNZXNzYWdlczo0MlxuVW5yZWFkOjE2Iik7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydChyZXN1bHQsICJTaG91bGQgTk9UIGJlIGEgc3RhY2t0cmFjZS4iKTsKKyAg
ICAgICAgICAgIGxldCByZXN1bHQgPSBXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZSgi
TWVzc2FnZXM6NDJcblVucmVhZDoxNiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RGYWxzZShyZXN1bHQsICJTaG91bGQgTk9UIGJlIGEgc3RhY2t0cmFjZS4iKTsKICAgICAgICAg
ICAgIHJlc29sdmUoKTsKICAgICAgICAgfQogICAgIH0pOwpAQCAtNTksNyArNTksNyBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpCiAgICAgICAgICAgICAgICAg
ICAgIHJlamVjdChlcnJvcik7CiAKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEg
c3RhY2t0cmFjZS4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQo
V0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0
YWNrdHJhY2UuIik7CiAKICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICB9
KTsKQEAgLTczLDcgKzczLDggQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICAgICAgaWYg
KGVycm9yKQogICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpOwogCi0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJh
Y2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7CisgICAgICAgICAgICAgICAg
Ly8gRklYTUU6IHRoaXMgdGVzdCBjYXNlIGZhaWxzLiA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4MDY2ND4KKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdFRoYXQoV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UocmVzdWx0KSwgIlNob3Vs
ZCBiZSBhIHN0YWNrdHJhY2UuIik7CiAKICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAg
ICAgICAgICB9KTsKQEAgLTg3LDcgKzg4LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAg
ICAgICAgaWYgKGVycm9yKQogICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpOwogCi0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoV0kuU3RhY2tUcmFjZS5pc0xpa2Vs
eVN0YWNrVHJhY2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlT
dGFja1RyYWNlKHJlc3VsdCksICJTaG91bGQgYmUgYSBzdGFja3RyYWNlLiIpOwogCiAgICAgICAg
ICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvanMtc3RhY2t0cmFjZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL2pzLXN0YWNrdHJhY2UuaHRtbAppbmRleCA5ZjBkYzI1OTkxMjQ5
NWY4NWRkYTM4NzU0YmUyYzU3NzlmNjZjZjE1Li5jMTBlZTBmZWFlZDE3ZjdlNmYzMWFhOWEzZmFm
MWMwNWVjOWYxMGNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
anMtc3RhY2t0cmFjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9q
cy1zdGFja3RyYWNlLmh0bWwKQEAgLTEwNiw3ICsxMDYsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Npb24sIChl
cnJvciwgcmVzdWx0KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0KCFlcnJvciwgZXJyb3IpOwogICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lmxv
ZygiXG5FcnJvciBvYmplY3Q6Iik7Ci0gICAgICAgICAgICAgICAgICAgIGxldCBzdGFja1RyYWNl
ID0gc3RyaXBGaWxlUGF0aHMoc3RyaXBQYXlsb2FkQWZ0ZXJHbG9iYWxDb2RlKFdJLlN0YWNrVHJh
Y2UuX3BhcnNlU3RhY2tUcmFjZShyZXN1bHQudmFsdWUpKSk7CisgICAgICAgICAgICAgICAgICAg
IGxldCBzdGFja1RyYWNlID0gc3RyaXBGaWxlUGF0aHMoc3RyaXBQYXlsb2FkQWZ0ZXJHbG9iYWxD
b2RlKFdJLlN0YWNrVHJhY2UuX3BhcnNlU3RhY2tUcmFjZShyZXN1bHQpKSk7CiAgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKEpTT04uc3RyaW5naWZ5KHN0YWNrVHJhY2UsIG51
bGwsIDQpKTsKICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgICAg
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWRlSGlnaGxpZ2h0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZGVIaWdobGlnaHQuaHRtbAppbmRl
eCBmNjIyYWFmZDFjZjc0YzNjZDFlYzdlMjZjMzY5YzcxMGQ4MjEzMDA5Li44MmQzYjkxNWM1ZTNh
NWM1MzY4M2E5ZDEyYWY1ZTVjNWUwNWNiZDM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZG9tL2hpZGVIaWdobGlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZG9tL2hpZGVIaWdobGlnaHQuaHRtbApAQCAtOSwxMCArOSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICBjb25zdCBvdXRsaW5lQ29sb3IgPSB1bmRlZmluZWQ7CiAKICAgICBmdW5jdGlvbiBnZXRI
aWdobGlnaHRSZWN0cyhjYWxsYmFjaykgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHdpbmRvdy5pbnRlcm5hbHMuaW5zcGVj
dG9ySGlnaGxpZ2h0UmVjdHMoKSkpIiwgKGVycm9yLCBwYXlsb2FkLCB3YXNUaHJvd24pID0+IHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiSlNPTi5zdHJpbmdpZnkoQXJy
YXkuZnJvbSh3aW5kb3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodFJlY3RzKCkpKSIsIChl
cnJvciwgdmFsdWUsIHdhc1Rocm93bikgPT4gewogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnQoIWVycm9yLCAiVW5leHBlY3RlZCBlcnJvciBkdW1waW5nIGhpZ2hsaWdodDogIiArIGVy
cm9yKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCF3YXNUaHJvd24sICJVbmV4
cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGR1bXBpbmcgaGlnaGxpZ2h0LiIpOwotICAgICAgICAgICAg
Y2FsbGJhY2soSlNPTi5wYXJzZShwYXlsb2FkLnZhbHVlKSk7CisgICAgICAgICAgICBjYWxsYmFj
ayhKU09OLnBhcnNlKHZhbHVlKSk7CiAgICAgICAgIH0pOwogICAgIH0KIApAQCAtMjUsMTAgKzI1
LDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIH0KIAogICAgIGZ1bmN0aW9uIGdldEhpZ2hsaWdo
dChjYWxsYmFjaykgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ3aW5k
b3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodE9iamVjdCgpIiwgKGVycm9yLCBwYXlsb2Fk
LCB3YXNUaHJvd24pID0+IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
d2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmplY3QoKSIsIChlcnJvciwgdmFs
dWUsIHdhc1Rocm93bikgPT4gewogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVy
cm9yLCAiVW5leHBlY3RlZCBlcnJvciBkdW1waW5nIGhpZ2hsaWdodDogIiArIGVycm9yKTsKICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCF3YXNUaHJvd24sICJVbmV4cGVjdGVkIGV4
Y2VwdGlvbiB3aGVuIGR1bXBpbmcgaGlnaGxpZ2h0LiIpOwotICAgICAgICAgICAgY2FsbGJhY2so
SlNPTi5wYXJzZShwYXlsb2FkLnZhbHVlKSk7CisgICAgICAgICAgICBjYWxsYmFjayhKU09OLnBh
cnNlKHZhbHVlKSk7CiAgICAgICAgIH0pOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRGcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS9oaWdobGlnaHRGcmFtZS5odG1sCmluZGV4IDM3ZWJhYjI5NmUzNTlmNTY0YWYwZmVm
MGVjYmEyNzUzMTE2MjRjMjIuLmJkNmJiYzFiZjU3NjA4MDQxN2JhNjVkZmJhMDE1ODM2N2M5ZGUz
OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0RnJhbWUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodEZyYW1lLmh0bWwK
QEAgLTEyLDEwICsxMiwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdEVxdWFsKGNoaWxkRnJhbWVzLmxlbmd0aCwgMiwgIlBhZ2Ugc2hvdWxkIGhhdmUgc3ViZnJh
bWVzLiIpOwogCiAgICAgZnVuY3Rpb24gZ2V0SGlnaGxpZ2h0KGNhbGxiYWNrKSB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9y
SGlnaGxpZ2h0T2JqZWN0KCkiLCAoZXJyb3IsIHBheWxvYWQsIHdhc1Rocm93bikgPT4geworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ3aW5kb3cuaW50ZXJuYWxzLmluc3Bl
Y3RvckhpZ2hsaWdodE9iamVjdCgpIiwgKGVycm9yLCB2YWx1ZSwgd2FzVGhyb3duKSA9PiB7CiAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJVbmV4cGVjdGVkIGVycm9y
IGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsgZXJyb3IpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnQoIXdhc1Rocm93biwgIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZHVtcGluZyBo
aWdobGlnaHQuIik7Ci0gICAgICAgICAgICBjYWxsYmFjayhKU09OLnBhcnNlKHBheWxvYWQudmFs
dWUpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UodmFsdWUpKTsKICAgICAgICAg
fSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hs
aWdodE5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZS5o
dG1sCmluZGV4IGU4Yzg0OTY3MjlmMjZmMjNiMDdhZDhjZWNiYzhiZjRlZDI4N2M3MmUuLjUyYzQ2
ODNjYzE5YmY2Y2JiNTU2NmE0MGFmNjBiMTIzZDhjNDkwNTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZS5odG1sCkBAIC0yMCwxMCArMjAsMTAgQEAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgfTsKIAogICAgIGZ1bmN0aW9uIGdldEhpZ2hsaWdodChjYWxsYmFjaykg
ewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ3aW5kb3cuaW50ZXJuYWxz
Lmluc3BlY3RvckhpZ2hsaWdodE9iamVjdCgpIiwgKGVycm9yLCBwYXlsb2FkLCB3YXNUaHJvd24p
ID0+IHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LmludGVy
bmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmplY3QoKSIsIChlcnJvciwgdmFsdWUsIHdhc1Rocm93
bikgPT4gewogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIWVycm9yLCAiVW5leHBl
Y3RlZCBlcnJvciBkdW1waW5nIGhpZ2hsaWdodDogIiArIGVycm9yKTsKICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0KCF3YXNUaHJvd24sICJVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVu
IGR1bXBpbmcgaGlnaGxpZ2h0LiIpOwotICAgICAgICAgICAgY2FsbGJhY2soSlNPTi5wYXJzZShw
YXlsb2FkLnZhbHVlKSk7CisgICAgICAgICAgICBjYWxsYmFjayhKU09OLnBhcnNlKHZhbHVlKSk7
CiAgICAgICAgIH0pOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RvbS9oaWdobGlnaHROb2RlTGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9o
aWdobGlnaHROb2RlTGlzdC5odG1sCmluZGV4IDQwMmJmZTRiZjRhYjE0NWVlYmU2NTNjMzRiYTkz
ZTE3M2JjNmYwYzcuLjkwY2U5YzgxY2RkYzJmYzUxODQzYjFkMzJmZDQ3OWY5NWZkZGY0MTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZUxpc3QuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodE5vZGVMaXN0Lmh0bWwK
QEAgLTIwLDEwICsyMCwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB9OwogCiAgICAgZnVuY3Rp
b24gZ2V0SGlnaGxpZ2h0KGNhbGxiYWNrKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCkiLCAo
ZXJyb3IsIHBheWxvYWQsIHdhc1Rocm93bikgPT4geworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJ3aW5kb3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodE9iamVjdCgp
IiwgKGVycm9yLCB2YWx1ZSwgd2FzVGhyb3duKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydCghZXJyb3IsICJVbmV4cGVjdGVkIGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAi
ICsgZXJyb3IpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwg
IlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZHVtcGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAg
ICAgICBjYWxsYmFjayhKU09OLnBhcnNlKHBheWxvYWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNh
bGxiYWNrKEpTT04ucGFyc2UodmFsdWUpKTsKICAgICAgICAgfSk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodFF1YWQuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0UXVhZC5odG1sCmluZGV4IDViZmZkMjA0Zjli
MjJiNGEzZmZmMzdjODAxYWRlZWFhNjBkZTZmODkuLjZjMTVjNWY1MDFiNjkyYzI0NjlhMGE0MjAz
N2ZlYjg1NDNlYzAwMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGln
aGxpZ2h0UXVhZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0
UXVhZC5odG1sCkBAIC0xMSwxMCArMTEsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgY29uc3Qg
dXNlUGFnZUNvb3JkaW5hdGVzID0gdHJ1ZTsKIAogICAgIGZ1bmN0aW9uIGdldEhpZ2hsaWdodFJl
Y3RzKGNhbGxiYWNrKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIkpT
T04uc3RyaW5naWZ5KEFycmF5LmZyb20od2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGln
aHRSZWN0cygpKSkiLCAoZXJyb3IsIHBheWxvYWQsIHdhc1Rocm93bikgPT4geworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHdp
bmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0UmVjdHMoKSkpIiwgKGVycm9yLCB2YWx1
ZSwgd2FzVGhyb3duKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJy
b3IsICJVbmV4cGVjdGVkIGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsgZXJyb3IpOwogICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlVuZXhwZWN0ZWQgZXhj
ZXB0aW9uIHdoZW4gZHVtcGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAgICAgICBjYWxsYmFjayhK
U09OLnBhcnNlKHBheWxvYWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKEpTT04ucGFy
c2UodmFsdWUpKTsKICAgICAgICAgfSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodFJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kb20vaGlnaGxpZ2h0UmVjdC5odG1sCmluZGV4IDg1ZmY1YzdhZmNiZGI3YzM5YTMzYmIzMzdk
NmQ0YjUzMTE4ODQ2MjAuLjg4NTQxMTRlNGVjZDk3ZTVkYWVmMDg5YmRhYmZlMDg5OTFkNTVkNmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0UmVjdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0UmVjdC5odG1sCkBAIC0x
MSwxMCArMTEsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgY29uc3QgdXNlUGFnZUNvb3JkaW5h
dGVzID0gdHJ1ZTsKIAogICAgIGZ1bmN0aW9uIGdldEhpZ2hsaWdodFJlY3RzKGNhbGxiYWNrKSB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIkpTT04uc3RyaW5naWZ5KEFy
cmF5LmZyb20od2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpKSkiLCAo
ZXJyb3IsIHBheWxvYWQsIHdhc1Rocm93bikgPT4geworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHdpbmRvdy5pbnRlcm5hbHMu
aW5zcGVjdG9ySGlnaGxpZ2h0UmVjdHMoKSkpIiwgKGVycm9yLCB2YWx1ZSwgd2FzVGhyb3duKSA9
PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJVbmV4cGVjdGVk
IGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsgZXJyb3IpOwogICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZHVt
cGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAgICAgICBjYWxsYmFjayhKU09OLnBhcnNlKHBheWxv
YWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UodmFsdWUpKTsKICAg
ICAgICAgfSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
L2hpZ2hsaWdodFNlbGVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hs
aWdodFNlbGVjdG9yLmh0bWwKaW5kZXggYzA0N2U4ODcyYWZmM2NlMWIwNTNkODM1MmIxMDk4OTg1
NmIxZDUxMS4uYmRmOWE3YzE0YzU2ODFjZTllZGM4MzFhZDQ0YjdjOTY4OWM2MDJjNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRTZWxlY3Rvci5odG1sCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0U2VsZWN0b3IuaHRtbApAQCAt
MTAxLDEwICsxMDEsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgfQogCiAgICAgZnVuY3Rpb24g
Z2V0SGlnaGxpZ2h0KGNhbGxiYWNrKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCkiLCAoZXJy
b3IsIHBheWxvYWQsIHdhc1Rocm93bikgPT4geworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJ3aW5kb3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodE9iamVjdCgpIiwg
KGVycm9yLCB2YWx1ZSwgd2FzVGhyb3duKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydCghZXJyb3IsICJVbmV4cGVjdGVkIGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsg
ZXJyb3IpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZHVtcGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAgICAg
ICBjYWxsYmFjayhKU09OLnBhcnNlKHBheWxvYWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNhbGxi
YWNrKEpTT04ucGFyc2UodmFsdWUpKTsKICAgICAgICAgfSk7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL3NldEV2ZW50TGlzdGVuZXJEaXNhYmxlZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL3NldEV2ZW50TGlzdGVuZXJEaXNh
YmxlZC1leHBlY3RlZC50eHQKaW5kZXggZTkxMTY0MGZkNzE1ZGUxMWEyNmI1MDdlN2Q0MDJhZjZk
NjU3MjJlYi4uNzlkNGIxNDFlNjczODU2ZGVhZGFlZjIwMTQ5ZDgwY2QxYTIyNjYxZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9zZXRFdmVudExpc3RlbmVyRGlzYWJsZWQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vc2V0RXZlbnRMaXN0
ZW5lckRpc2FibGVkLWV4cGVjdGVkLnR4dApAQCAtNSwxNSArNSwxNSBAQCBUZXN0aW5nIERPTUFn
ZW50LnNldEV2ZW50TGlzdGVuZXJEaXNhYmxlZC4KIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET00u
c2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLkRpc2FibGVkQ2xpY2tFdmVudAogQ2xpY2sgZXZlbnQg
bGlzdGVuZXIgaXMgZW5hYmxlZC4KIERpc2FibGluZyBldmVudCBsaXN0ZW5lci4uLgotPGJvZHk+
IGNsaWNrZWQuCiBQQVNTOiBDbGljayBldmVudCBsaXN0ZW5lciBkaWQgbm90IGZpcmUuCis8Ym9k
eT4gY2xpY2tlZC4KIENsaWNrIGV2ZW50IGxpc3RlbmVyIGlzIGRpc2FibGVkLgogCiAtLSBSdW5u
aW5nIHRlc3QgY2FzZTogRE9NLnNldEV2ZW50TGlzdGVuZXJEaXNhYmxlZC5SZWVuYWJsZWRDbGlj
a0V2ZW50CiBDbGljayBldmVudCBsaXN0ZW5lciBpcyBkaXNhYmxlZC4KIEVuYWJsaW5nIGV2ZW50
IGxpc3RlbmVyLi4uCi08Ym9keT4gY2xpY2tlZC4KIFBBU1M6IENsaWNrIGV2ZW50IGxpc3RlbmVy
IGZpcmVkLgorPGJvZHk+IGNsaWNrZWQuCiBDbGljayBldmVudCBsaXN0ZW5lciBpcyBlbmFibGVk
LgogCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NLnNldEV2ZW50TGlzdGVuZXJEaXNhYmxlZC5J
bnZhbGlkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaW5qZWN0ZWQtc2NyaXB0
L29ic2VydmFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2luamVjdGVk
LXNjcmlwdC9vYnNlcnZhYmxlLWV4cGVjdGVkLnR4dAppbmRleCA5ZTkyOTUyM2JmNWRlODA1ZTVl
NDg3NDg4OTc2ZjY3YzFkNmFlYzMwLi5jNzllNzg5ZDkxM2ExYjFlNWUwMTIzNzQzZTg0MTdhYWQy
YTg3MWNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaW5qZWN0ZWQtc2NyaXB0
L29ic2VydmFibGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9pbmpl
Y3RlZC1zY3JpcHQvb2JzZXJ2YWJsZS1leHBlY3RlZC50eHQKQEAgLTYsNSArNiw1IEBAIFRlc3Qg
dGhhdCBjZXJ0YWluIEluamVjdGVkU2NyaXB0U291cmNlIG9wZXJhdGlvbnMgYXJlIG5vdCBvYnNl
cnZhYmxlIGJ5IHVzZXIgY29kCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogSW5qZWN0ZWRTY3JpcHQu
T2JzZXJ2YWJsZTpBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXQogUEFTUzogUGF1c2Vk
LgogUEFTUzogUmVzdW1lZC4KLVBBU1M6IDEKK1BBU1M6IEFycmF5LnByb3RvdHlwZVtTeW1ib2wu
aXRlcmF0b3JdIGNhbGwgY291bnQgc2hvdWxkIGJlIDEuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9pbmplY3RlZC1zY3JpcHQvb2JzZXJ2YWJsZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2luamVjdGVkLXNjcmlwdC9vYnNlcnZhYmxlLmh0bWwKaW5kZXggM2ZiYzgw
MmEyMmQ2YmE4YzRmMmY2NTVkOTM3OTIzNDFiMWNjNDZkOC4uNGQ4ZDY2ZTUyZmJjYjE3MWFiMWM5
MGE3NjU4ZDlkOTNjODQ3ZDY5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2lu
amVjdGVkLXNjcmlwdC9vYnNlcnZhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2luamVjdGVkLXNjcmlwdC9vYnNlcnZhYmxlLmh0bWwKQEAgLTQxLDcgKzQxLDcgQEAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkgaXRlcmF0aW9uIGluIEluamVj
dGVkIFNjcmlwdCBzaG91bGQgbm90IGJlIG9ic2VydmFibGUiLAogICAgICAgICB0ZXN0KHJlc29s
dmUsIHJlamVjdCkgewogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShg
dHJpZ2dlckl0ZXJhdGlvbigpYCwgKGVycm9yLCByZXN1bHQpID0+IHsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzdWx0LnZhbHVlLCAxLCAiQXJyYXkucHJvdG90
eXBlW1N5bWJvbC5pdGVyYXRvcl0gY2FsbCBjb3VudCBzaG91bGQgYmUgMS4iKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3VsdCwgMSwgIkFycmF5LnByb3Rv
dHlwZVtTeW1ib2wuaXRlcmF0b3JdIGNhbGwgY291bnQgc2hvdWxkIGJlIDEuIik7CiAgICAgICAg
ICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgfSk7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9wYWdlL3NldEVtdWxhdGVkTWVkaWEuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9wYWdlL3NldEVtdWxhdGVkTWVkaWEuaHRtbAppbmRleCBiOWQ4NzFhOGI3ZTJh
N2E4N2IzYWFjN2Y5YTJhYTU5MDUzNmFjYjc0Li40M2IyZmNkODNhYTBjMTFhMWUxMDVjNTMwMGRj
NTAzM2Q2ZjIzNjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcGFnZS9zZXRF
bXVsYXRlZE1lZGlhLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3BhZ2Uvc2V0RW11
bGF0ZWRNZWRpYS5odG1sCkBAIC0yMywxMCArMjMsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
ICAgIGRlc2NyaXB0aW9uOiAiSW5pdGlhbCBtZWRpYSB0eXBlIHNob3VsZCBtYXRjaCBzY3JlZW4u
IiwKICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoIm1lZGlhUXVlcnlMaXN0Lm1hdGNoZXMiLCAoZXJyb3IsIHJl
c3VsdCkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVz
dWx0LnZhbHVlLCBmYWxzZSwgIlBhZ2Ugc2hvdWxkIG5vdCBtYXRjaCBwcmludCBtZWRpYS4iKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3VsdCwgZmFsc2Us
ICJQYWdlIHNob3VsZCBub3QgbWF0Y2ggcHJpbnQgbWVkaWEuIik7CiAgICAgICAgICAgICB9KTsK
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuYm9keSkuY29sb3IiLCAoZXJyb3IsIHJlc3VsdCkgPT4gewotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVlLCAicmdiKDAsIDAs
IDI1NSkiLCAiQm9keSBjb2xvciBzaG91bGQgYmUgYmx1ZS4iKTsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3VsdCwgInJnYigwLCAwLCAyNTUpIiwgIkJvZHkg
Y29sb3Igc2hvdWxkIGJlIGJsdWUuIik7CiAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAg
ICAgICAgICAgfSk7CiAgICAgICAgIH0KQEAgLTM4LDEwICszOCwxMCBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgICAgIFBhZ2VBZ2Vu
dC5zZXRFbXVsYXRlZE1lZGlhKCJwcmludCIsIChlcnJvcikgPT4gewogICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIm1lZGlhUXVlcnlMaXN0Lm1hdGNoZXMiLCAo
ZXJyb3IsIHJlc3VsdCkgPT4gewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdEVxdWFsKHJlc3VsdC52YWx1ZSwgdHJ1ZSwgIlBhZ2Ugc2hvdWxkIG5vdyBtYXRjaCBwcmlu
dCBtZWRpYS4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVh
bChyZXN1bHQsIHRydWUsICJQYWdlIHNob3VsZCBub3cgbWF0Y2ggcHJpbnQgbWVkaWEuIik7CiAg
ICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgiZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5jb2xvciIsIChlcnJvciwg
cmVzdWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwocmVzdWx0LnZhbHVlLCAicmdiKDAsIDEyOCwgMCkiLCAiQm9keSBjb2xvciBzaG91bGQgYmUg
Z3JlZW4uIik7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwo
cmVzdWx0LCAicmdiKDAsIDEyOCwgMCkiLCAiQm9keSBjb2xvciBzaG91bGQgYmUgZ3JlZW4uIik7
CiAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgIH0pOwpAQCAtNTQsMTAgKzU0LDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAg
ICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgUGFnZUFnZW50LnNldEVtdWxh
dGVkTWVkaWEoIiIsIChlcnJvcikgPT4gewogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoIm1lZGlhUXVlcnlMaXN0Lm1hdGNoZXMiLCAoZXJyb3IsIHJlc3VsdCkg
PT4gewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3Vs
dC52YWx1ZSwgZmFsc2UsICJQYWdlIHNob3VsZCBub3cgbm90IG1hdGNoIHByaW50IG1lZGlhLiIp
OworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3VsdCwg
ZmFsc2UsICJQYWdlIHNob3VsZCBub3cgbm90IG1hdGNoIHByaW50IG1lZGlhLiIpOwogICAgICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuY29sb3IiLCAoZXJyb3IsIHJlc3Vs
dCkgPT4gewotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJl
c3VsdC52YWx1ZSwgInJnYigwLCAwLCAyNTUpIiwgIlBhZ2Ugc2hvdWxkIG5vdyBtYXRjaCBwcmlu
dCBtZWRpYS4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVh
bChyZXN1bHQsICJyZ2IoMCwgMCwgMjU1KSIsICJQYWdlIHNob3VsZCBub3cgbWF0Y2ggcHJpbnQg
bWVkaWEuIik7CiAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICAgICAgICAg
ICB9KTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3J1bnRpbWUvZ2V0UHJldmlldy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUv
Z2V0UHJldmlldy5odG1sCmluZGV4IDIyNzFlMmZhOThkM2JmMjg0ZDU0M2E3YzBlMTZkYzEzNzQ5
MGJmNzguLjJkMzBiZWFiN2ZhYjI0NmM4YzVjMjY1MGQ2MGZhZDU3ZWNlNTUyNzEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL2dldFByZXZpZXcuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9nZXRQcmV2aWV3Lmh0bWwKQEAgLTc0LDggKzc0
LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIG5hbWU6ICJSZW1vdGVPYmplY3QudXBkYXRl
UHJldmlldy5TeW1ib2wiLAogICAgICAgICBkZXNjcmlwdGlvbjogIk5vbi1vYmplY3QgUmVtb3Rl
T2JqZWN0cyBzaG91bGQgbm90IHJlcXVlc3QgYSBwcmV2aWV3LiIsCiAgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KGBTeW1ib2wuaXRlcmF0b3JgLCAoZXJyb3IsIHJlbW90ZU9iamVjdFBheWxvYWQpID0+IHsKLSAg
ICAgICAgICAgICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXls
b2FkKHJlbW90ZU9iamVjdFBheWxvYWQpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZShgU3ltYm9sLml0ZXJhdG9yYCwgKGVycm9yLCByZW1vdGVPYmplY3QpID0+IHsK
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoIXJlbW90ZU9iamVjdC5j
YW5Mb2FkUHJldmlldygpLCBgU2hvdWxkIG5vdCBiZSBhYmxlIHRvIGxvYWQgYSBwcmV2aWV3IGZv
ciBhICR7cmVtb3RlT2JqZWN0LnR5cGV9IFJlbW90ZU9iamVjdC5gKTsKICAgICAgICAgICAgICAg
ICByZW1vdGVPYmplY3QudXBkYXRlUHJldmlldygocHJldmlldykgPT4gewogICAgICAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdE51bGwocHJldmlldywgYFJlbW90ZU9iamVjdC51
cGRhdGVQcmV2aWV3IHNob3VsZCByZXR1cm4gbnVsbCBmb3IgYSAke3JlbW90ZU9iamVjdC50eXBl
fSBSZW1vdGVPYmplY3QuYCk7CkBAIC04OSw4ICs4OCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICBuYW1lOiAiUmVtb3RlT2JqZWN0LnVwZGF0ZVByZXZpZXcuRnVuY3Rpb24iLAogICAgICAg
ICBkZXNjcmlwdGlvbjogIk5vbi1vYmplY3QgUmVtb3RlT2JqZWN0cyBzaG91bGQgbm90IHJlcXVl
c3QgYSBwcmV2aWV3LiIsCiAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBmdW5jdGlvbiBmKCkge307IGZgLCAo
ZXJyb3IsIHJlbW90ZU9iamVjdFBheWxvYWQpID0+IHsKLSAgICAgICAgICAgICAgICBsZXQgcmVt
b3RlT2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxv
YWQpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgZnVuY3Rpb24g
ZigpIHt9OyBmYCwgKGVycm9yLCByZW1vdGVPYmplY3QpID0+IHsKICAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoIXJlbW90ZU9iamVjdC5jYW5Mb2FkUHJldmlldygpLCBg
U2hvdWxkIG5vdCBiZSBhYmxlIHRvIGxvYWQgYSBwcmV2aWV3IGZvciBhICR7cmVtb3RlT2JqZWN0
LnR5cGV9IFJlbW90ZU9iamVjdC5gKTsKICAgICAgICAgICAgICAgICByZW1vdGVPYmplY3QudXBk
YXRlUHJldmlldygocHJldmlldykgPT4gewogICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdE51bGwocHJldmlldywgYFJlbW90ZU9iamVjdC51cGRhdGVQcmV2aWV3IHNob3Vs
ZCByZXR1cm4gbnVsbCBmb3IgYSAke3JlbW90ZU9iamVjdC50eXBlfSBSZW1vdGVPYmplY3QuYCk7
CkBAIC0xMDQsMTQgKzEwMiwxMyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgbmFtZTogIlJl
bW90ZU9iamVjdC51cGRhdGVQcmV2aWV3Lk51bGwiLAogICAgICAgICBkZXNjcmlwdGlvbjogIk5v
bi1vYmplY3QgUmVtb3RlT2JqZWN0cyBzaG91bGQgbm90IHJlcXVlc3QgYSBwcmV2aWV3LiIsCiAg
ICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKGBudWxsYCwgKGVycm9yLCByZW1vdGVPYmplY3RQYXlsb2FkKSA9PiB7
Ci0gICAgICAgICAgICAgICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJLlJlbW90ZU9iamVjdC5mcm9t
UGF5bG9hZChyZW1vdGVPYmplY3RQYXlsb2FkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoYG51bGxgLCAoZXJyb3IsIHJlbW90ZU9iamVjdCkgPT4gewogICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdCghcmVtb3RlT2JqZWN0LmNhbkxvYWRQ
cmV2aWV3KCksIGBTaG91bGQgbm90IGJlIGFibGUgdG8gbG9hZCBhIHByZXZpZXcgZm9yIGEgJHty
ZW1vdGVPYmplY3Quc3VidHlwZX0gUmVtb3RlT2JqZWN0LmApOwogICAgICAgICAgICAgICAgIHJl
bW90ZU9iamVjdC51cGRhdGVQcmV2aWV3KChwcmV2aWV3KSA9PiB7CiAgICAgICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0TnVsbChwcmV2aWV3LCBgUmVtb3RlT2JqZWN0LnVwZGF0
ZVByZXZpZXcgc2hvdWxkIHJldHVybiBudWxsIGZvciBhICR7cmVtb3RlT2JqZWN0LnN1YnR5cGV9
IFJlbW90ZU9iamVjdC5gKTsKICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCB7cmVtb3RlT2Jq
ZWN0T25seTogdHJ1ZX0pOwogICAgICAgICB9CiAgICAgfSk7CiAKQEAgLTEyMSw4ICsxMTgsNyBA
QCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgbmFtZTogIlJ1bnRpbWUuZ2V0UHJldmlldy5TeW1i
b2wiLAogICAgICAgICBkZXNjcmlwdGlvbjogIlJ1bnRpbWUuZ2V0UHJldmlldyBzaG91bGQgcmV0
dXJuIGFuIGVtcHR5IHByZXZpZXcgZm9yIG5vbi1vYmplY3RzLiIsCiAgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KGBTeW1ib2wuaXRlcmF0b3JgLCAoZXJyb3IsIHJlbW90ZU9iamVjdFBheWxvYWQpID0+IHsKLSAg
ICAgICAgICAgICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXls
b2FkKHJlbW90ZU9iamVjdFBheWxvYWQpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZShgU3ltYm9sLml0ZXJhdG9yYCwgKGVycm9yLCByZW1vdGVPYmplY3QpID0+IHsK
ICAgICAgICAgICAgICAgICBSdW50aW1lQWdlbnQuZ2V0UHJldmlldyhyZW1vdGVPYmplY3Qub2Jq
ZWN0SWQsIChlcnJvciwgcmVzdWx0KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QubG9nKEpTT04uc3RyaW5naWZ5KHJlc3VsdCkpOwogICAgICAgICAgICAgICAgICAgICBy
ZXNvbHZlKCk7CkBAIC0xMzUsOCArMTMxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIG5h
bWU6ICJSdW50aW1lLmdldFByZXZpZXcuRnVuY3Rpb24iLAogICAgICAgICBkZXNjcmlwdGlvbjog
IlJ1bnRpbWUuZ2V0UHJldmlldyBzaG91bGQgcmV0dXJuIGFuIGVtcHR5IHByZXZpZXcgZm9yIG5v
bi1vYmplY3RzLiIsCiAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBmdW5jdGlvbiBmKCkge307IGZgLCAoZXJy
b3IsIHJlbW90ZU9iamVjdFBheWxvYWQpID0+IHsKLSAgICAgICAgICAgICAgICBsZXQgcmVtb3Rl
T2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxvYWQp
OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgZnVuY3Rpb24gZigp
IHt9OyBmYCwgKGVycm9yLCByZW1vdGVPYmplY3QpID0+IHsKICAgICAgICAgICAgICAgICBSdW50
aW1lQWdlbnQuZ2V0UHJldmlldyhyZW1vdGVPYmplY3Qub2JqZWN0SWQsIChlcnJvciwgcmVzdWx0
KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKEpTT04uc3RyaW5n
aWZ5KHJlc3VsdCkpOwogICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy90ZXN0LWhhcm5lc3MtZXZhbHVhdGUt
aW4tcGFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy90
ZXN0LWhhcm5lc3MtZXZhbHVhdGUtaW4tcGFnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGYx
MDgyNzEyMWRkOWVlYWNkYTkyZjYwNjE2ZWQyOWEyYzk3ZWQwNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1p
bi1wYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwMCBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogdW5kZWZpbmVkCitUZXN0aW5nIHRo
ZSBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlIGZ1bmN0aW9uLgorCisKKz09IFJ1bm5pbmcg
dGVzdCBzdWl0ZTogSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZQorLS0gUnVubmluZyB0ZXN0
IGNhc2U6IGV2YWx1YXRlSW5QYWdlLlByaW1pdGl2ZXMKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFs
dWF0aW5nIHN0cmluZzogLTQyCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24g
cmVzdWx0IHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6IFNob3VsZCBub3QgYmUgcmV0dXJuZWQgYXMg
YSBXSS5SZW1vdGVPYmplY3QuCisKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3Ry
aW5nOiA0MgorUEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCBzaG91
bGQgYmUgZXF1YWwuCitQQVNTOiBTaG91bGQgbm90IGJlIHJldHVybmVkIGFzIGEgV0kuUmVtb3Rl
T2JqZWN0LgorCisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogMAorUEFT
UzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgZXF1YWwu
CitQQVNTOiBTaG91bGQgbm90IGJlIHJldHVybmVkIGFzIGEgV0kuUmVtb3RlT2JqZWN0LgorCisK
K0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogIlN0cmluZyIKK1BBU1M6IEV4
cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlIGVxdWFsLgorUEFT
UzogU2hvdWxkIG5vdCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4KKworCitDaGVj
a2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IGZhbHNlCitQQVNTOiBFeHBlY3RlZCBh
bmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6IFNob3Vs
ZCBub3QgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmplY3QuCisKKworQ2hlY2tpbmcgcmVz
dWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiB0cnVlCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFs
IGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6IFNob3VsZCBub3QgYmUg
cmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmplY3QuCisKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2
YWx1YXRpbmcgc3RyaW5nOiBudWxsCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRp
b24gcmVzdWx0IHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6IFNob3VsZCBub3QgYmUgcmV0dXJuZWQg
YXMgYSBXSS5SZW1vdGVPYmplY3QuCisKKworCistLSBSdW5uaW5nIHRlc3QgY2FzZTogZXZhbHVh
dGVJblBhZ2UuUHJpbWl0aXZlc1dpdGhvdXRVbndyYXBwaW5nCitDaGVja2luZyByZXN1bHQgb2Yg
ZXZhbHVhdGluZyBzdHJpbmcgd2l0aG91dCB1bndyYXBwaW5nOiAtNDIKK1BBU1M6IFNob3VsZCBi
ZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1
YWwgZXZhbHVhdGlvbiByZXN1bHQgdHlwZSBzaG91bGQgYmUgZXF1YWwuCitQQVNTOiBFeHBlY3Rl
ZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHZhbHVlIHNob3VsZCBiZSBlcXVhbC4KKwor
CitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmcgd2l0aG91dCB1bndyYXBwaW5n
OiA0MgorUEFTUzogU2hvdWxkIGJlIHJldHVybmVkIGFzIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFT
UzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCB0eXBlIHNob3VsZCBiZSBl
cXVhbC4KK1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgdmFsdWUg
c2hvdWxkIGJlIGVxdWFsLgorCisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmlu
ZyB3aXRob3V0IHVud3JhcHBpbmc6IDAKK1BBU1M6IFNob3VsZCBiZSByZXR1cm5lZCBhcyBhIFdJ
LlJlbW90ZU9iamVjdC4KK1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1
bHQgdHlwZSBzaG91bGQgYmUgZXF1YWwuCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1
YXRpb24gcmVzdWx0IHZhbHVlIHNob3VsZCBiZSBlcXVhbC4KKworCitDaGVja2luZyByZXN1bHQg
b2YgZXZhbHVhdGluZyBzdHJpbmcgd2l0aG91dCB1bndyYXBwaW5nOiAiU3RyaW5nIgorUEFTUzog
U2hvdWxkIGJlIHJldHVybmVkIGFzIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogRXhwZWN0ZWQg
YW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCB0eXBlIHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6
IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgdmFsdWUgc2hvdWxkIGJlIGVx
dWFsLgorCisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZyB3aXRob3V0IHVu
d3JhcHBpbmc6IGZhbHNlCitQQVNTOiBTaG91bGQgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVP
YmplY3QuCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHR5cGUg
c2hvdWxkIGJlIGVxdWFsLgorUEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJl
c3VsdCB2YWx1ZSBzaG91bGQgYmUgZXF1YWwuCisKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1
YXRpbmcgc3RyaW5nIHdpdGhvdXQgdW53cmFwcGluZzogdHJ1ZQorUEFTUzogU2hvdWxkIGJlIHJl
dHVybmVkIGFzIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBl
dmFsdWF0aW9uIHJlc3VsdCB0eXBlIHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6IEV4cGVjdGVkIGFu
ZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgdmFsdWUgc2hvdWxkIGJlIGVxdWFsLgorCisKK0No
ZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZyB3aXRob3V0IHVud3JhcHBpbmc6IG51
bGwKK1BBU1M6IFNob3VsZCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6
IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgdHlwZSBzaG91bGQgYmUgZXF1
YWwuCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHZhbHVlIHNo
b3VsZCBiZSBlcXVhbC4KKworCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBldmFsdWF0ZUluUGFn
ZS5SZW1vdGVPYmplY3RzCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6ICh7
YTo0Mn0pCitTdWJ0eXBlOiB1bmRlZmluZWQKK1BBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQg
YmUgYSBXSS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVz
dWx0cyBzaG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFTUzogRXhwZWN0ZWQg
YW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCB0eXBlIHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6
IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc3VidHlwZSBzaG91bGQgYmUg
ZXF1YWwuCisKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiBbNDIsIDQz
LCA0NF0KK1N1YnR5cGU6IGFycmF5CitQQVNTOiBSZXR1cm5lZCByZXN1bHQgc2hvdWxkIGJlIGEg
V0kuUmVtb3RlT2JqZWN0LgorUEFTUzogTm9uLXByaW1pdGl2ZSBldmFsdWF0aW9uIHJlc3VsdHMg
c2hvdWxkIG5vdCBoYXZlIGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6IEV4cGVjdGVkIGFuZCBh
Y3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgdHlwZSBzaG91bGQgYmUgZXF1YWwuCitQQVNTOiBFeHBl
Y3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHN1YnR5cGUgc2hvdWxkIGJlIGVxdWFs
LgorCisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogbmV3IE51bWJlcig0
MikKK1N1YnR5cGU6IHVuZGVmaW5lZAorUEFTUzogUmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBh
IFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRz
IHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuCitQQVNTOiBFeHBlY3RlZCBhbmQg
YWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHR5cGUgc2hvdWxkIGJlIGVxdWFsLgorUEFTUzogRXhw
ZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCBzdWJ0eXBlIHNob3VsZCBiZSBlcXVh
bC4KKworCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IGZ1bmN0aW9uIGZv
bygpIHsgcmV0dXJuIDQyOyB9OyBmb28KK1N1YnR5cGU6IHVuZGVmaW5lZAorUEFTUzogUmV0dXJu
ZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRp
dmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUu
CitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHR5cGUgc2hvdWxk
IGJlIGVxdWFsLgorUEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCBz
dWJ0eXBlIHNob3VsZCBiZSBlcXVhbC4KKworCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGlu
ZyBzdHJpbmc6IEFycmF5LnByb3RvdHlwZS5zcGxpY2UKK1N1YnR5cGU6IHVuZGVmaW5lZAorUEFT
UzogUmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5v
bi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxs
ZWQgdmFsdWUuCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHR5
cGUgc2hvdWxkIGJlIGVxdWFsLgorUEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9u
IHJlc3VsdCBzdWJ0eXBlIHNob3VsZCBiZSBlcXVhbC4KKworCitDaGVja2luZyByZXN1bHQgb2Yg
ZXZhbHVhdGluZyBzdHJpbmc6IGFzeW5jIGZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIDQyOyB9IGZv
bworU3VidHlwZTogdW5kZWZpbmVkCitQQVNTOiBSZXR1cm5lZCByZXN1bHQgc2hvdWxkIGJlIGEg
V0kuUmVtb3RlT2JqZWN0LgorUEFTUzogTm9uLXByaW1pdGl2ZSBldmFsdWF0aW9uIHJlc3VsdHMg
c2hvdWxkIG5vdCBoYXZlIGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6IEV4cGVjdGVkIGFuZCBh
Y3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgdHlwZSBzaG91bGQgYmUgZXF1YWwuCitQQVNTOiBFeHBl
Y3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHN1YnR5cGUgc2hvdWxkIGJlIGVxdWFs
LgorCisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogKCkgPT4geyByZXR1
cm4gNDI7IH0KK1N1YnR5cGU6IHVuZGVmaW5lZAorUEFTUzogUmV0dXJuZWQgcmVzdWx0IHNob3Vs
ZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiBy
ZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuCitQQVNTOiBFeHBlY3Rl
ZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHR5cGUgc2hvdWxkIGJlIGVxdWFsLgorUEFT
UzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCBzdWJ0eXBlIHNob3VsZCBi
ZSBlcXVhbC4KKworCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IGFzeW5j
ICgpID0+IHsgcmV0dXJuIDQyOyB9CitTdWJ0eXBlOiB1bmRlZmluZWQKK1BBU1M6IFJldHVybmVk
IHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZl
IGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgor
UEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCB0eXBlIHNob3VsZCBi
ZSBlcXVhbC4KK1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc3Vi
dHlwZSBzaG91bGQgYmUgZXF1YWwuCisKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
c3RyaW5nOiB3aW5kb3cuZG9jdW1lbnQKK1N1YnR5cGU6IG5vZGUKK1BBU1M6IFJldHVybmVkIHJl
c3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2
YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFT
UzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCB0eXBlIHNob3VsZCBiZSBl
cXVhbC4KK1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc3VidHlw
ZSBzaG91bGQgYmUgZXF1YWwuCisKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3Ry
aW5nOiBTeW1ib2wuaXRlcmF0b3IKK1N1YnR5cGU6IHVuZGVmaW5lZAorUEFTUzogUmV0dXJuZWQg
cmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRpdmUg
ZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuCitQ
QVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHR5cGUgc2hvdWxkIGJl
IGVxdWFsLgorUEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCBzdWJ0
eXBlIHNob3VsZCBiZSBlcXVhbC4KKworCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBz
dHJpbmc6IFtdLmVudHJpZXMoKQorU3VidHlwZTogaXRlcmF0b3IKK1BBU1M6IFJldHVybmVkIHJl
c3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2
YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFT
UzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCB0eXBlIHNob3VsZCBiZSBl
cXVhbC4KK1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc3VidHlw
ZSBzaG91bGQgYmUgZXF1YWwuCisKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3Ry
aW5nOiBQcm9taXNlLnJlamVjdCgpCitTdWJ0eXBlOiB1bmRlZmluZWQKK1BBU1M6IFJldHVybmVk
IHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZl
IGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgor
UEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCB0eXBlIHNob3VsZCBi
ZSBlcXVhbC4KK1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc3Vi
dHlwZSBzaG91bGQgYmUgZXF1YWwuCisKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
c3RyaW5nOiBuZXcgRXJyb3IoNDIpCitTdWJ0eXBlOiBlcnJvcgorUEFTUzogUmV0dXJuZWQgcmVz
dWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRpdmUgZXZh
bHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuCitQQVNT
OiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHR5cGUgc2hvdWxkIGJlIGVx
dWFsLgorUEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCBzdWJ0eXBl
IHNob3VsZCBiZSBlcXVhbC4KKworCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJp
bmc6IHRocm93IG5ldyBFcnJvcig0MikKK1N1YnR5cGU6IGVycm9yCitQQVNTOiBSZXR1cm5lZCBy
ZXN1bHQgc2hvdWxkIGJlIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogTm9uLXByaW1pdGl2ZSBl
dmFsdWF0aW9uIHJlc3VsdHMgc2hvdWxkIG5vdCBoYXZlIGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BB
U1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgdHlwZSBzaG91bGQgYmUg
ZXF1YWwuCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHN1YnR5
cGUgc2hvdWxkIGJlIGVxdWFsLgorCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3VuaXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRlLWluLXBhZ2UuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1pbi1wYWdl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjY1ZDI5ZTVlODk2YWM1MDliM2U3OThiMWQyYjAyOGJjM2M3YzQ3
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3Rl
c3QtaGFybmVzcy1ldmFsdWF0ZS1pbi1wYWdlLmh0bWwKQEAgLTAsMCArMSwxNjIgQEAKKzwhZG9j
dHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBwcmltaXRpdmVDYXNlcyA9IFsKKyAgICAg
ICAgeworICAgICAgICAgICAgaW5wdXQ6ICItNDIiLAorICAgICAgICAgICAgdHlwZTogIm51bWJl
ciIsCisgICAgICAgICAgICB2YWx1ZTogLTQyLAorICAgICAgICB9LAorICAgICAgICB7CisgICAg
ICAgICAgICBpbnB1dDogIjQyIiwKKyAgICAgICAgICAgIHR5cGU6ICJudW1iZXIiLAorICAgICAg
ICAgICAgdmFsdWU6IDQyLAorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICBpbnB1
dDogIjAiLAorICAgICAgICAgICAgdHlwZTogIm51bWJlciIsCisgICAgICAgICAgICB2YWx1ZTog
MCwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgaW5wdXQ6IGAiU3RyaW5nImAs
CisgICAgICAgICAgICB0eXBlOiAic3RyaW5nIiwKKyAgICAgICAgICAgIHZhbHVlOiAiU3RyaW5n
IiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgaW5wdXQ6ICJmYWxzZSIsCisg
ICAgICAgICAgICB0eXBlOiAiYm9vbGVhbiIsCisgICAgICAgICAgICB2YWx1ZTogZmFsc2UsCisg
ICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgIGlucHV0OiAidHJ1ZSIsCisgICAgICAg
ICAgICB0eXBlOiAiYm9vbGVhbiIsCisgICAgICAgICAgICB2YWx1ZTogdHJ1ZSwKKyAgICAgICAg
fSwKKyAgICAgICAgeworICAgICAgICAgICAgaW5wdXQ6ICJudWxsIiwKKyAgICAgICAgICAgIHR5
cGU6ICJvYmplY3QiLAorICAgICAgICAgICAgdmFsdWU6IG51bGwsCisgICAgICAgIH0sCisgICAg
XTsKKworICAgIGxldCBjb21wbGV4Q2FzZXMgPSBbCisgICAgICAgIHsgLy8gUGxhaW4gb2JqZWN0
LgorICAgICAgICAgICAgaW5wdXQ6IGAoe2E6NDJ9KWAsCisgICAgICAgICAgICB0eXBlOiAib2Jq
ZWN0IiwKKyAgICAgICAgfSwKKyAgICAgICAgeyAvLyBQbGFpbiBhcnJheS4KKyAgICAgICAgICAg
IGlucHV0OiAiWzQyLCA0MywgNDRdIiwKKyAgICAgICAgICAgIHR5cGU6ICJvYmplY3QiLAorICAg
ICAgICAgICAgc3VidHlwZTogImFycmF5IiwKKyAgICAgICAgfSwKKyAgICAgICAgeyAvLyBKUyBi
dWlsdGluIG9iamVjdC4KKyAgICAgICAgICAgIGlucHV0OiAibmV3IE51bWJlcig0MikiLAorICAg
ICAgICAgICAgdHlwZTogIm9iamVjdCIsCisgICAgICAgIH0sCisgICAgICAgIHsgLy8gSlMgZnVu
Y3Rpb24uCisgICAgICAgICAgICBpbnB1dDogImZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIDQyOyB9
OyBmb28iLAorICAgICAgICAgICAgdHlwZTogImZ1bmN0aW9uIiwKKyAgICAgICAgfSwKKyAgICAg
ICAgeyAvLyBOYXRpdmUgZnVuY3Rpb24uCisgICAgICAgICAgICBpbnB1dDogIkFycmF5LnByb3Rv
dHlwZS5zcGxpY2UiLAorICAgICAgICAgICAgdHlwZTogImZ1bmN0aW9uIiwKKyAgICAgICAgfSwK
KyAgICAgICAgeyAvLyBBc3luYyBmdW5jdGlvbi4KKyAgICAgICAgICAgIGlucHV0OiAiYXN5bmMg
ZnVuY3Rpb24gZm9vKCkgeyByZXR1cm4gNDI7IH0gZm9vIiwKKyAgICAgICAgICAgIHR5cGU6ICJm
dW5jdGlvbiIsCisgICAgICAgIH0sCisgICAgICAgIHsgLy8gQXJyb3cgZnVuY3Rpb24uCisgICAg
ICAgICAgICBpbnB1dDogIigpID0+IHsgcmV0dXJuIDQyOyB9IiwKKyAgICAgICAgICAgIHR5cGU6
ICJmdW5jdGlvbiIsCisgICAgICAgIH0sCisgICAgICAgIHsgLy8gQXN5bmMgYXJyb3cgZnVuY3Rp
b24uCisgICAgICAgICAgICBpbnB1dDogImFzeW5jICgpID0+IHsgcmV0dXJuIDQyOyB9IiwKKyAg
ICAgICAgICAgIHR5cGU6ICJmdW5jdGlvbiIsCisgICAgICAgIH0sCisgICAgICAgIHsgLy8gRE9N
IG9iamVjdC4KKyAgICAgICAgICAgIGlucHV0OiAid2luZG93LmRvY3VtZW50IiwKKyAgICAgICAg
ICAgIHR5cGU6ICJvYmplY3QiLAorICAgICAgICAgICAgc3VidHlwZTogIm5vZGUiLAorICAgICAg
ICB9LAorICAgICAgICB7IC8vIFN5bWJvbC4KKyAgICAgICAgICAgIGlucHV0OiAiU3ltYm9sLml0
ZXJhdG9yIiwKKyAgICAgICAgICAgIHR5cGU6ICJzeW1ib2wiLAorICAgICAgICB9LAorICAgICAg
ICB7IC8vIEl0ZXJhdG9yLgorICAgICAgICAgICAgaW5wdXQ6ICJbXS5lbnRyaWVzKCkiLAorICAg
ICAgICAgICAgdHlwZTogIm9iamVjdCIsCisgICAgICAgICAgICBzdWJ0eXBlOiAiaXRlcmF0b3Ii
LAorICAgICAgICB9LAorICAgICAgICB7IC8vIFByb21pc2UuCisgICAgICAgICAgICBpbnB1dDog
IlByb21pc2UucmVqZWN0KCkiLAorICAgICAgICAgICAgdHlwZTogIm9iamVjdCIsCisgICAgICAg
IH0sCisgICAgICAgIHsgLy8gRXJyb3IgKHJldHVybmVkKS4KKyAgICAgICAgICAgIGlucHV0OiAi
bmV3IEVycm9yKDQyKSIsCisgICAgICAgICAgICB0eXBlOiAib2JqZWN0IiwKKyAgICAgICAgICAg
IHN1YnR5cGU6ICJlcnJvciIsCisgICAgICAgIH0sCisgICAgICAgIHsgLy8gRXJyb3IgKHRocm93
bikuCisgICAgICAgICAgICBpbnB1dDogInRocm93IG5ldyBFcnJvcig0MikiLAorICAgICAgICAg
ICAgdHlwZTogIm9iamVjdCIsCisgICAgICAgICAgICBzdWJ0eXBlOiAiZXJyb3IiLAorICAgICAg
ICB9LAorICAgIF07CisKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5j
U3VpdGUoIkluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UiKTsKKworICAgIHN1aXRlLmFkZFRl
c3RDYXNlKHsKKyAgICAgICAgbmFtZTogImV2YWx1YXRlSW5QYWdlLlByaW1pdGl2ZXMiLAorICAg
ICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgZm9yIChsZXQge2lucHV0LCB2YWx1ZX0g
b2YgcHJpbWl0aXZlQ2FzZXMpIHsKKyAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQg
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShpbnB1dCk7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coYENoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogJHtp
bnB1dH1gKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3Vs
dCwgdmFsdWUsICJFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBi
ZSBlcXVhbC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEZhbHNlKHJl
c3VsdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlNob3VsZCBub3QgYmUgcmV0dXJuZWQg
YXMgYSBXSS5SZW1vdGVPYmplY3QuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIlxuIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRl
LmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogImV2YWx1YXRlSW5QYWdlLlByaW1pdGl2ZXNX
aXRob3V0VW53cmFwcGluZyIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBm
b3IgKGxldCB7aW5wdXQsIHR5cGUsIHZhbHVlfSBvZiBwcmltaXRpdmVDYXNlcykgeworICAgICAg
ICAgICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KGlucHV0LCBudWxsLCB7cmVtb3RlT2JqZWN0T25seTogdHJ1ZX0pOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKGBDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmcg
d2l0aG91dCB1bndyYXBwaW5nOiAke2lucHV0fWApOworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0VGhhdChyZXN1bHQgaW5zdGFuY2VvZiBXSS5SZW1vdGVPYmplY3QsICJTaG91
bGQgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmplY3QuIik7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZXN1bHQudHlwZSwgdHlwZSwgIkV4cGVjdGVkIGFu
ZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgdHlwZSBzaG91bGQgYmUgZXF1YWwuIik7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZXN1bHQudmFsdWUsIHZhbHVl
LCAiRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCB2YWx1ZSBzaG91bGQgYmUg
ZXF1YWwuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlxuIik7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
KyAgICAgICAgbmFtZTogImV2YWx1YXRlSW5QYWdlLlJlbW90ZU9iamVjdHMiLAorICAgICAgICBh
c3luYyB0ZXN0KCkgeworICAgICAgICAgICAgZm9yIChsZXQge2lucHV0LCB0eXBlLCBzdWJ0eXBl
LCB0aHJvd259IG9mIGNvbXBsZXhDYXNlcykgeworICAgICAgICAgICAgICAgIGxldCByZXN1bHQg
PSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGlucHV0KTsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3Ry
aW5nOiAke2lucHV0fWApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTdWJ0
eXBlOiAiICsgcmVzdWx0LnN1YnR5cGUpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdChyZXN1bHQgaW5zdGFuY2VvZiBXSS5SZW1vdGVPYmplY3QsICJSZXR1cm5lZCBy
ZXN1bHQgc2hvdWxkIGJlIGEgV0kuUmVtb3RlT2JqZWN0LiIpOworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXhwZWN0RmFsc2UocmVzdWx0Lmhhc1ZhbHVlKCksICJOb24tcHJpbWl0aXZl
IGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLiIp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LnR5cGUs
IHR5cGUsICJFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHR5cGUgc2hvdWxk
IGJlIGVxdWFsLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwo
cmVzdWx0LnN1YnR5cGUsIHN1YnR5cGUsICJFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24g
cmVzdWx0IHN1YnR5cGUgc2hvdWxkIGJlIGVxdWFsLiIpOworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJcbiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisK
KyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDxwPlRlc3RpbmcgdGhlIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UgZnVuY3Rpb24uPC9wPgorPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329414</attachid>
            <date>2017-12-14 15:59:02 -0800</date>
            <delta_ts>2017-12-14 16:23:33 -0800</delta_ts>
            <desc>For Landing</desc>
            <filename>bug-180831-20171214155902.patch</filename>
            <type>text/plain</type>
            <size>47314</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1OTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA0
YTEzNDdjMzhmZDZhOTFmNmU4MGQwZTJmYTFiMWNiODE1ZDQ2NWM3Li4yYjg0NTk4ODJmYWViZTU0
OWJkOTIxNzVlYTk1YzJhNWMzNDViYmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0xMi0xNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlIHNob3Vs
ZCB1bndyYXAgcHJpbWl0aXZlIHZhbHVlcyBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA4MzEKKworICAgICAgICBSZXZpZXdlZCBi
eSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRl
bmRUZXN0SGFybmVzcy5qczoKKyAgICAgICAgKEZyb250ZW5kVGVzdEhhcm5lc3MucHJvdG90eXBl
LmV2YWx1YXRlSW5QYWdlLnJlc3VsdE9iamVjdFRvUmV0dXJuKToKKyAgICAgICAgKEZyb250ZW5k
VGVzdEhhcm5lc3MucHJvdG90eXBlLmV2YWx1YXRlSW5QYWdlKToKKyAgICAgICAgVW53cmFwIHRo
ZSByZXN1bHRpbmcgUmVtb3RlT2JqZWN0J3MgdmFsdWUgaWYgaXQgaXMgYSBwcmltaXRpdmUuCisg
ICAgICAgIEFkZCBhbiBgb3B0aW9uc2AgZGljdGlvbmFyeSBzbyB0aGlzIGJlaGF2aW9yIGNhbiBi
ZSBvcHRlZCBvdXQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3Mu
anM6CisgICAgICAgIEFkZCBkb2N1bWVudGF0aW9uIG9mIGhvdyBldmFsdWF0ZUluUGFnZSB3b3Jr
cy4KKwogMjAxNy0xMi0xNCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFVuY2F1Z2h0RXhjZXB0aW9uUmVwb3J0ZXIgZmFpbHMg
b24gZWFybHkgZXJyb3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMKaW5kZXggNDEzM2U5
NDZlYWUwMDE0NDY5MDMwMGE2MDcwZTBiYzRiZWY2MDFkMi4uZWE5Yjk4MGQyNDI4ZjU1NDlmNjAz
Y2RlYjg1Yjc1M2VmMjk1MDM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVuZFRlc3RIYXJuZXNzLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRlbmRUZXN0SGFybmVzcy5qcwpAQCAt
NzcsOCArNzcsMTAgQEAgRnJvbnRlbmRUZXN0SGFybmVzcyA9IGNsYXNzIEZyb250ZW5kVGVzdEhh
cm5lc3MgZXh0ZW5kcyBUZXN0SGFybmVzcwogICAgICAgICB0aGlzLmV2YWx1YXRlSW5QYWdlKGBU
ZXN0UGFnZS5kZWJ1Z0xvZyh1bmVzY2FwZSgiJHtlc2NhcGUoc3RyaW5naWZpZWRNZXNzYWdlKX0i
KSk7YCk7CiAgICAgfQogCi0gICAgZXZhbHVhdGVJblBhZ2UoZXhwcmVzc2lvbiwgY2FsbGJhY2sp
CisgICAgZXZhbHVhdGVJblBhZ2UoZXhwcmVzc2lvbiwgY2FsbGJhY2ssIG9wdGlvbnM9e30pCiAg
ICAgeworICAgICAgICBsZXQgcmVtb3RlT2JqZWN0T25seSA9ICEhb3B0aW9ucy5yZW1vdGVPYmpl
Y3RPbmx5OworCiAgICAgICAgIC8vIElmIHdlIGxvYWQgdGhpcyBwYWdlIG91dHNpZGUgb2YgdGhl
IGluc3BlY3Rvciwgb3IgaGl0IGFuIGVhcmx5IGVycm9yIHdoZW4gbG9hZGluZwogICAgICAgICAv
LyB0aGUgdGVzdCBmcm9udGVuZCwgdGhlbiBkZWZlciBldmFsdWF0aW5nIHRoZSBjb21tYW5kcyAo
aW5kZWZpbml0ZWx5IGluIHRoZSBmb3JtZXIgY2FzZSkuCiAgICAgICAgIGlmICh0aGlzLl9vcmln
aW5hbENvbnNvbGUgJiYgIXdpbmRvdy5SdW50aW1lQWdlbnQpIHsKQEAgLTg2LDEwICs4OCwxOCBA
QCBGcm9udGVuZFRlc3RIYXJuZXNzID0gY2xhc3MgRnJvbnRlbmRUZXN0SGFybmVzcyBleHRlbmRz
IFRlc3RIYXJuZXNzCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBp
ZiAodHlwZW9mIGNhbGxiYWNrID09PSAiZnVuY3Rpb24iKQotICAgICAgICAgICAgUnVudGltZUFn
ZW50LmV2YWx1YXRlLmludm9rZSh7ZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXA6ICJ0ZXN0IiwgaW5j
bHVkZUNvbW1hbmRMaW5lQVBJOiBmYWxzZX0sIGNhbGxiYWNrKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgcmV0dXJuIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZS5pbnZva2Uoe2V4cHJlc3Npb24s
IG9iamVjdEdyb3VwOiAidGVzdCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogZmFsc2V9KTsKKyAg
ICAgICAgLy8gUmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMgZGlyZWN0bHksIG90aGVyd2lzZSByZXR1
cm4gYSBXSS5SZW1vdGVPYmplY3QgaW5zdGFuY2UuCisgICAgICAgIGZ1bmN0aW9uIHJlc3VsdE9i
amVjdFRvUmV0dXJuKHJlc3VsdCkgeworICAgICAgICAgICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJ
LlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpOworICAgICAgICAgICAgcmV0dXJuICgh
cmVtb3RlT2JqZWN0T25seSAmJiByZW1vdGVPYmplY3QuaGFzVmFsdWUoKSkgPyByZW1vdGVPYmpl
Y3QudmFsdWUgOiByZW1vdGVPYmplY3Q7CisgICAgICAgIH0KKworICAgICAgICBsZXQgcmVzcG9u
c2UgPSBSdW50aW1lQWdlbnQuZXZhbHVhdGUuaW52b2tlKHtleHByZXNzaW9uLCBvYmplY3RHcm91
cDogInRlc3QiLCBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IGZhbHNlfSkKKyAgICAgICAgaWYgKGNh
bGxiYWNrICYmIHR5cGVvZiBjYWxsYmFjayA9PT0gImZ1bmN0aW9uIikgeworICAgICAgICAgICAg
cmVzcG9uc2UgPSByZXNwb25zZS50aGVuKCh7cmVzdWx0LCB3YXNUaHJvd259KSA9PiBjYWxsYmFj
ayhudWxsLCByZXN1bHRPYmplY3RUb1JldHVybihyZXN1bHQpLCB3YXNUaHJvd24pKTsKKyAgICAg
ICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UuY2F0Y2goKGVycm9yKSA9PiBjYWxsYmFjayhlcnJv
ciwgbnVsbCwgZmFsc2UpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZXR1cm4gcmVz
cG9uc2UudGhlbigoe3Jlc3VsdH0pID0+IHJlc3VsdE9iamVjdFRvUmV0dXJuKHJlc3VsdCkpOwog
ICAgIH0KIAogICAgIGRlYnVnKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9UZXN0L1Rlc3RIYXJuZXNzLmpzCmluZGV4IDkyMGJlZjFjZWRiMWI2Zjdh
ZThhY2JiM2Y0MTc3MmJmOWVjMzAxZDQuLmNiZmU4ODMwODc1OGFlNTlmY2Q4MmZhMjk4MGFhOWIy
NTM0YWZiNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1Rlc3QvVGVzdEhhcm5lc3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVGVzdC9UZXN0SGFybmVzcy5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTUsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01NSw3ICs1NSwxNCBAQCBUZXN0SGFybmVz
cyA9IGNsYXNzIFRlc3RIYXJuZXNzIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRocm93IG5l
dyBFcnJvcigiTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLiIpOwogICAgIH0KIAot
ICAgIGV2YWx1YXRlSW5QYWdlKHN0cmluZywgY2FsbGJhY2spCisgICAgLy8gSWYgJ2NhbGxiYWNr
JyBpcyBhIGZ1bmN0aW9uLCBpdCB3aWxsIGJlIHdpdGggdGhlIGFyZ3VtZW50cworICAgIC8vIGNh
bGxiYWNrKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikuIE90aGVyd2lzZSwgYSBwcm9taXNlIGlz
CisgICAgLy8gcmV0dXJuZWQgdGhhdCByZXNvbHZlcyB3aXRoICdyZXN1bHQnIG9yIHJlamVjdHMg
d2l0aCAnZXJyb3InLgorCisgICAgLy8gVGhlIG9wdGlvbnMgb2JqZWN0IGFjY2VwdHMgdGhlIGZv
bGxvd2luZyBrZXlzIGFuZCB2YWx1ZXM6CisgICAgLy8gJ3JlbW90ZU9iamVjdE9ubHknOiBpZiB0
cnVlLCBkbyBub3QgdW53cmFwIHRoZSByZXN1bHQgcGF5bG9hZCB0byBhCisgICAgLy8gcHJpbWl0
aXZlIHZhbHVlIGV2ZW4gaWYgcG9zc2libGUuIFVzZWZ1bCBpZiB0ZXN0aW5nIFdJLlJlbW90ZU9i
amVjdCBkaXJlY3RseS4KKyAgICBldmFsdWF0ZUluUGFnZShzdHJpbmcsIGNhbGxiYWNrLCBvcHRp
b25zPXt9KQogICAgIHsKICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJNdXN0IGJlIGltcGxlbWVu
dGVkIGJ5IHN1YmNsYXNzZXMuIik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU4Njk5NzQxYTg2ZmVhNzAyMzVk
NDI3OWM0NzAyZTdkZDFjNGE4NTUuLjJjMWFkN2EzODFlZjA4YWI2OWNlN2EwYTVmYWUwYmFiOTFm
NDA1MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NyBAQAorMjAxNy0xMi0xNCAgQnJpYW4gQnVyZyAgPGJi
dXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlIHNob3VsZCB1bndyYXAgcHJpbWl0aXZlIHZhbHVlcyBieSBkZWZhdWx0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA4MzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvdW5pdC10ZXN0cy90ZXN0LWhhcm5lc3MtZXZhbHVhdGUtaW4tcGFnZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFs
dWF0ZS1pbi1wYWdlLmh0bWw6IEFkZGVkLgorCisgICAgICAgIEFkZCB0ZXN0IGNvdmVyYWdlIGZv
ciBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlLiBPbmx5IHRoZSBwcm9taXNlLXJldHVybmlu
ZworICAgICAgICB2YXJpYW50IGlzIHRlc3RlZCBoZXJlLCBiZWNhdXNlIHRoZSBjYWxsYmFjayB2
YXJpYW50IGlzIHdlbGwtdXNlZCBpbiBleGlzdGluZworICAgICAgICB0ZXN0cyBhbmQgSSBwbGFu
IHRvIHJlbW92ZSB0aGUgY2FsbGJhY2sgdmFyaWFudCBlbnRpcmVseSBpbiBsYXRlciBwYXRjaGVz
LgorCisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNr
VHJhY2UuaHRtbDoKKyAgICAgICAgRml4IHNvbWUgYmFkIHRlc3RzIGFuZCByZWJhc2VsaW5lLiBB
IGJ1ZyB3YXMgZmlsZWQgZm9yIHRoZSByZW1haW5pbmcgZmFpbGluZyBhc3NlcnRpb24uCisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vc2hhcGVzLXRlc3QuanM6CisgICAgICAg
IChUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVyLkluc3BlY3RvclRlc3QuU2hhcGVzLnJlY2Vp
dmVkSGlnaGxpZ2h0T2JqZWN0KToKKyAgICAgICAgKFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6
ZXIuSW5zcGVjdG9yVGVzdC5TaGFwZXMuZ2V0U2hhcGVPdXRzaWRlSW5mb0ZvclNlbGVjdG9yKToK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9wYXltZW50cmVxdWVzdC9wYXltZW50LXJl
cXVlc3QtaW50ZXJuYWwtcHJvcGVydGllcy5odHRwcy5odG1sOgorICAgICAgICAqIGluc3BlY3Rv
ci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktY29weS5odG1sOgorICAgICAgICAqIGluc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtbG9nLXByb3h5Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Rl
YnVnZ2VyL2pzLXN0YWNrdHJhY2UuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tL2hpZGVI
aWdobGlnaHQuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tL2hpZ2hsaWdodEZyYW1lLmh0
bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlLmh0bWw6CisgICAgICAg
ICogaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlTGlzdC5odG1sOgorICAgICAgICAqIGluc3Bl
Y3Rvci9kb20vaGlnaGxpZ2h0UXVhZC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kb20vaGln
aGxpZ2h0UmVjdC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kb20vaGlnaGxpZ2h0U2VsZWN0
b3IuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcGFnZS9zZXRFbXVsYXRlZE1lZGlhLmh0bWw6
CisgICAgICAgICogaW5zcGVjdG9yL3J1bnRpbWUvZ2V0UHJldmlldy5odG1sOgorICAgICAgICBG
aXggZXhpc3RpbmcgdGVzdHMgdG8gb3B0IG91dCBvZiB1bndyYXBwaW5nIG9yIHVzZSB0aGUgdW53
cmFwcGVkIHZhbHVlIGRpcmVjdGx5LgorCisgICAgICAgICogaW5zcGVjdG9yL2RvbS9zZXRFdmVu
dExpc3RlbmVyRGlzYWJsZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICBSZWJhc2VsaW5lIHJlc3Vs
dHMuIFRoaXMgaXMgY2F1c2VkIGJ5IGFuIGV4dHJhIHByb21pc2UgdGljayBpbiBldmFsdWF0ZUlu
UGFnZS4KKworICAgICAgICAqIGluc3BlY3Rvci9pbmplY3RlZC1zY3JpcHQvb2JzZXJ2YWJsZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2luamVjdGVkLXNjcmlwdC9vYnNlcnZh
YmxlLmh0bWw6CisgICAgICAgIEZpeCBhIHR5cG8gYW5kIHJlYmFzZWxpbmUuCisKKwogMjAxNy0x
Mi0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIg
QW5pbWF0aW9uc10gSW1wbGVtZW50IHRoZSBmaW5pc2goKSBtZXRob2Qgb24gQW5pbWF0aW9uCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vc2hhcGVzLXRl
c3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vc2hhcGVzLXRlc3Qu
anMKaW5kZXggY2Q0MDE0ZGVhNjA4MTA0YmZiY2E4MGQyNmM0MDg4YzlmODcwZGYyZi4uOTBhMzA1
M2VmNjVlYmI2NTU2MzQzOTRiN2UyNWZhNjMzY2E3OGM1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL3NoYXBlcy10ZXN0LmpzCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RvbS9zaGFwZXMtdGVzdC5qcwpAQCAtMzAsMTEgKzMw
LDExIEBAIEluc3BlY3RvclRlc3QuU2hhcGVzID0gewogICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgid2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmpl
Y3QoKSIsIHJlY2VpdmVkSGlnaGxpZ2h0T2JqZWN0KTsKICAgICAgICAgfQogCi0gICAgICAgIGZ1
bmN0aW9uIHJlY2VpdmVkSGlnaGxpZ2h0T2JqZWN0KGVycm9yLCBwYXlsb2FkLCB3YXNUaHJvd24p
IHsKKyAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZWRIaWdobGlnaHRPYmplY3QoZXJyb3IsIHZhbHVl
LCB3YXNUaHJvd24pIHsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwg
IldoZW4gZXZhbHVhdGluZyBjb2RlLCByZWNlaXZlZCB1bmV4cGVjdGVkIGVycm9yOiIgKyBlcnJv
cik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJXaGVuIGV2YWx1
YXRpbmcgY29kZSwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd246IiArIHdhc1Rocm93bik7CiAKLSAg
ICAgICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShwYXlsb2FkLnZhbHVlKTsKKyAgICAgICAg
ICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZSh2YWx1ZSk7CiAgICAgICAgICAgICBjYWxsYmFjayhk
YXRhWzBdLmVsZW1lbnREYXRhLnNoYXBlT3V0c2lkZURhdGEpOwogICAgICAgICB9CiAgICAgfSwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3BheW1lbnRyZXF1
ZXN0L3BheW1lbnQtcmVxdWVzdC1pbnRlcm5hbC1wcm9wZXJ0aWVzLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVl
c3QtaW50ZXJuYWwtcHJvcGVydGllcy5odHRwcy5odG1sCmluZGV4IGUzNWY5MjUyYTA0MDJiNjA1
ODQ1MWIyZTQ5ZTBjOGU4NmYzYzNlZTYuLjM1ZDg2YjkzMzVmNDk0YWExZGYyZDM2MzViYzgyMTk4
OWExOGMxMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Bh
eW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1pbnRlcm5hbC1wcm9wZXJ0aWVzLmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcGF5bWVudHJlcXVlc3Qv
cGF5bWVudC1yZXF1ZXN0LWludGVybmFsLXByb3BlcnRpZXMuaHR0cHMuaHRtbApAQCAtMTMzLDEx
ICsxMzMsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
ICAgICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uLAogICAgICAgICAgICAgYXN5bmMgdGVzdCgp
IHsKLSAgICAgICAgICAgICAgICBsZXQgW3Jlc3VsdF0gPSBhd2FpdCBQcm9taXNlLmFsbChbCi0g
ICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoZXhwcmVzc2lv
biksCisgICAgICAgICAgICAgICAgbGV0IFtyZW1vdGVPYmplY3QsIF9dID0gYXdhaXQgUHJvbWlz
ZS5hbGwoWworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KGV4cHJlc3Npb24sIG51bGwsIHtyZW1vdGVPYmplY3RPbmx5OiB0cnVlfSksCiAgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCgiQ29udGludWUiKSwKICAgICAgICAg
ICAgICAgICBdKTsKLSAgICAgICAgICAgICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3Rl
T2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdC5yZXN1bHQpOwogICAgICAgICAgICAgICAgIGxldCBb
cHJvcGVydHlEZXNjcmlwdG9yc10gPSBhd2FpdCBwcm9taXNpZnkoKGNiKSA9PiB7IHJlbW90ZU9i
amVjdC5nZXRBbGxQcm9wZXJ0eURlc2NyaXB0b3JzKGNiKTsgfSk7CiAgICAgICAgICAgICAgICAg
Zm9yIChsZXQgcHJvcGVydHlEZXNjcmlwdG9yIG9mIHByb3BlcnR5RGVzY3JpcHRvcnMucmV2ZXJz
ZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eURlc2NyaXB0b3IuaXNJbnRl
cm5hbFByb3BlcnR5KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb21tYW5kLWxpbmUtYXBpLWNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbW1hbmQtbGluZS1hcGktY29weS5odG1sCmluZGV4IDcxY2U1NjBiZTBiMDYxNWQ5NTI1
MGFkOWUxOWZiMWZmNDMzZDhmOTguLjI1YTQ4MTM4OTlmZDBjOTFhZTIzOTQxODU1NzUzNDJjZjEy
MTNjNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQt
bGluZS1hcGktY29weS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bW1hbmQtbGluZS1hcGktY29weS5odG1sCkBAIC0yNCwxMCArMjQsOSBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICBmdW5jdGlvbiBjb21tYW5kTGluZUFQSUNvcHlBbmRQYXN0ZShleHByZXNzaW9uLCBj
YWxsYmFjaykgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgZXhwcmVzc2lv
biA9PT0gInN0cmluZyIsICJUZXN0IHJlcXVpcmVzIHN0cmluZyBleHByZXNzaW9uIHRvIGV2YWx1
YXRlIG9uIHRoZSBwYWdlLiIpOwogICAgICAgICBXSS5ydW50aW1lTWFuYWdlci5ldmFsdWF0ZUlu
SW5zcGVjdGVkV2luZG93KGBjb3B5KCR7ZXhwcmVzc2lvbn0pYCwge29iamVjdEdyb3VwOiAidGVz
dCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZX0sICgpID0+IHsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBhc3RlQW5kUmV0dXJuU3RyaW5nKCkiLCAoZXJy
b3IsIHJlbW90ZU9iamVjdFBheWxvYWQpID0+IHsKLSAgICAgICAgICAgICAgICBsZXQgcmVtb3Rl
T2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxvYWQp
OwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHJlbW90ZU9iamVjdC50eXBl
ID09PSAic3RyaW5nIiwgIlJlbW90ZU9iamVjdCBmcm9tIHBhc3RlQW5kUmV0dXJuU3RyaW5nIHNo
b3VsZCByZXR1cm4gYSBzdHJpbmcuIik7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2socmVtb3Rl
T2JqZWN0LnZhbHVlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
YHBhc3RlQW5kUmV0dXJuU3RyaW5nKClgLCAoZXJyb3IsIHJlc3VsdCkgPT4geworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiByZXN1bHQgPT09ICJzdHJpbmciLCAi
UmVzdWx0IGZyb20gcGFzdGVBbmRSZXR1cm5TdHJpbmcgc2hvdWxkIGJlIGEgc3RyaW5nLiIpCisg
ICAgICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0KTsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWxvZy1wcm94eS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1sb2ctcHJveHkuaHRtbAppbmRleCBiZWRmM2RiOThmMGE1YjI3YjYxMGUzZWMyZjEzMTgy
YTE2OGM3OTQ3Li42M2VlMjczYzZiY2QwYmMyMmRmNTJkYjNkNDg5NTY3MDI2YTYzYWU5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1wcm94eS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLXByb3h5
Lmh0bWwKQEAgLTQyLDggKzQyLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ0cmlnZ2VyUHJveHlDb25zb2xlTG9nKCkiLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LmFjY2Vzc2VkSGFuZGxlckdldCIsIChl
cnJvciwgcmVzdWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IFdJLlJl
bW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpLnZhbHVlOwotICAgICAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHZhbHVlLCBmYWxzZSwgIkxvZ2dpbmcgUHJveHkg
b2JqZWN0cyBzaG91bGQgbm90IGhhdmUgdHJpZ2dlcmVkIGdldCB0cmFwLiIpOworICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEZhbHNlKHJlc3VsdCwgIkxvZ2dpbmcgUHJv
eHkgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgdHJpZ2dlcmVkIGdldCB0cmFwLiIpOwogICAgICAg
ICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAg
ICB9KTsKQEAgLTU2LDggKzU1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ0cmlnZ2VyUHJveHlBbmRQcmltaXRpdmVDb25zb2xlTG9nKCkiLCAoKSA9PiB7CiAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LmFjY2Vzc2VkSGFu
ZGxlckdldCIsIChlcnJvciwgcmVzdWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2
YWx1ZSA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpLnZhbHVlOwotICAgICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHZhbHVlLCBmYWxzZSwgIkxv
Z2dpbmcgUHJveHkgb2JqZWN0cyBhbmQgcHJpbWl0aXZlcyBzaG91bGQgbm90IGhhdmUgdHJpZ2dl
cmVkIGdldCB0cmFwLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEZhbHNlKHJlc3VsdCwgIkxvZ2dpbmcgUHJveHkgb2JqZWN0cyBhbmQgcHJpbWl0aXZlcyBzaG91
bGQgbm90IGhhdmUgdHJpZ2dlcmVkIGdldCB0cmFwLiIpOwogICAgICAgICAgICAgICAgICAgICBy
ZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0
YWNrVHJhY2UtZXhwZWN0ZWQudHh0CmluZGV4IGY0ZGRmYTVjNTdlOWQ1MTM3MTg2ZDc5YTA4ZjMz
OTYzMjI1ZDgxMWQuLmUxMzk1OGZmNjM5ODFhY2Y2MDlhY2EzYzcwYTFmMjc3MWZiNDA1ZGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tU
cmFjZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMt
aXNMaWtlbHlTdGFja1RyYWNlLWV4cGVjdGVkLnR4dApAQCAtMiwxNCArMiwxOCBAQCBUZXN0IHN0
YWNrIHRyYWNlIGRldGVjdGlvbiBoZXVyaXN0aWMuCiAKID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
V0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBu
b3RTdGFja3RyYWNlCi1BU1NFUlQ6IFNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNlLgorUEFTUzog
U2hvdWxkIE5PVCBiZSBhIHN0YWNrdHJhY2UuCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiB0eXBl
RXJyb3JXcmFwCi1BU1NFUlQ6IFNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCitGQUlMOiBTaG91bGQg
YmUgYSBzdGFja3RyYWNlLgorICAgIEV4cGVjdGVkOiB0cnV0aHkKKyAgICBBY3R1YWw6IGZhbHNl
CiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBnZXRBbm9ueW1vdXNGdW5jdGlvbkVycm9yCi1BU1NF
UlQ6IFNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCitQQVNTOiBTaG91bGQgYmUgYSBzdGFja3RyYWNl
LgogCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogdGVzdFdpdGhOYXRpdmVDYWxsSW5CZXR3ZWVuCi1B
U1NFUlQ6IFNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCitGQUlMOiBTaG91bGQgYmUgYSBzdGFja3Ry
YWNlLgorICAgIEV4cGVjdGVkOiB0cnV0aHkKKyAgICBBY3R1YWw6IGZhbHNlCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNl
Lmh0bWwKaW5kZXggOWI5ZDY5ZThlMTEwNmQzZTM0MGIyOTA4ZTVjMTEyMzU2MDI0YmY4Mi4uYTJk
YjQyYjYwODRlMTZmMTA5NDU1YWVlOTAyY2I3ZDllZDgxNWQzMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLmh0bWwK
QEAgLTQ2LDggKzQ2LDggQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVzdENhc2Uo
ewogICAgICAgICBuYW1lOiAibm90U3RhY2t0cmFjZSIsCiAgICAgICAgIHRlc3QocmVzb2x2ZSwg
cmVqZWN0KSB7Ci0gICAgICAgICAgICB2YXIgcmVzdWx0ID0gV0kuU3RhY2tUcmFjZS5pc0xpa2Vs
eVN0YWNrVHJhY2UoIk1lc3NhZ2VzOjQyXG5VbnJlYWQ6MTYiKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0KHJlc3VsdCwgIlNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNlLiIpOwor
ICAgICAgICAgICAgbGV0IHJlc3VsdCA9IFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNl
KCJNZXNzYWdlczo0MlxuVW5yZWFkOjE2Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdEZhbHNlKHJlc3VsdCwgIlNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNlLiIpOwogICAgICAg
ICAgICAgcmVzb2x2ZSgpOwogICAgICAgICB9CiAgICAgfSk7CkBAIC01OSw3ICs1OSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgICAgIGlmIChlcnJvcikKICAgICAgICAgICAgICAg
ICAgICAgcmVqZWN0KGVycm9yKTsKIAotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0KFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlKHJlc3VsdCksICJTaG91bGQgYmUg
YSBzdGFja3RyYWNlLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEg
c3RhY2t0cmFjZS4iKTsKIAogICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICAgICAg
IH0pOwpAQCAtNzMsNyArNzMsOCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgICAgICBp
ZiAoZXJyb3IpCiAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7CiAKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tU
cmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4iKTsKKyAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogdGhpcyB0ZXN0IGNhc2UgZmFpbHMuIDxodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgwNjY0PgorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hv
dWxkIGJlIGEgc3RhY2t0cmFjZS4iKTsKIAogICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKICAg
ICAgICAgICAgIH0pOwpAQCAtODcsNyArODgsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAg
ICAgICAgICBpZiAoZXJyb3IpCiAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7CiAK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChXSS5TdGFja1RyYWNlLmlzTGlr
ZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4iKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoV0kuU3RhY2tUcmFjZS5pc0xpa2Vs
eVN0YWNrVHJhY2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7CiAKICAgICAg
ICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9qcy1zdGFja3RyYWNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvanMtc3RhY2t0cmFjZS5odG1sCmluZGV4IDlmMGRjMjU5OTEy
NDk1Zjg1ZGRhMzg3NTRiZTJjNTc3OWY2NmNmMTUuLmMxMGVlMGZlYWVkMTdmN2U2ZjMxYWE5YTNm
YWYxYzA1ZWM5ZjEwY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9qcy1zdGFja3RyYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L2pzLXN0YWNrdHJhY2UuaHRtbApAQCAtMTA2LDcgKzEwNiw3IEBAIGZ1bmN0aW9uIHRlc3QoKQog
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoZXhwcmVzc2lvbiwg
KGVycm9yLCByZXN1bHQpID0+IHsKICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnQoIWVycm9yLCBlcnJvcik7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJcbkVycm9yIG9iamVjdDoiKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHN0YWNrVHJh
Y2UgPSBzdHJpcEZpbGVQYXRocyhzdHJpcFBheWxvYWRBZnRlckdsb2JhbENvZGUoV0kuU3RhY2tU
cmFjZS5fcGFyc2VTdGFja1RyYWNlKHJlc3VsdC52YWx1ZSkpKTsKKyAgICAgICAgICAgICAgICAg
ICAgbGV0IHN0YWNrVHJhY2UgPSBzdHJpcEZpbGVQYXRocyhzdHJpcFBheWxvYWRBZnRlckdsb2Jh
bENvZGUoV0kuU3RhY2tUcmFjZS5fcGFyc2VTdGFja1RyYWNlKHJlc3VsdCkpKTsKICAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coSlNPTi5zdHJpbmdpZnkoc3RhY2tUcmFjZSwg
bnVsbCwgNCkpOwogICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICAg
ICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZGVIaWdobGln
aHQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlkZUhpZ2hsaWdodC5odG1sCmlu
ZGV4IGY2MjJhYWZkMWNmNzRjM2NkMWVjN2UyNmMzNjljNzEwZDgyMTMwMDkuLjgyZDNiOTE1YzVl
M2E1YzUzNjgzYTlkMTJhZjVlNWM1ZTA1Y2JkMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kb20vaGlkZUhpZ2hsaWdodC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kb20vaGlkZUhpZ2hsaWdodC5odG1sCkBAIC05LDEwICs5LDEwIEBAIGZ1bmN0aW9uIHRlc3Qo
KQogICAgIGNvbnN0IG91dGxpbmVDb2xvciA9IHVuZGVmaW5lZDsKIAogICAgIGZ1bmN0aW9uIGdl
dEhpZ2hsaWdodFJlY3RzKGNhbGxiYWNrKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoIkpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20od2luZG93LmludGVybmFscy5pbnNw
ZWN0b3JIaWdobGlnaHRSZWN0cygpKSkiLCAoZXJyb3IsIHBheWxvYWQsIHdhc1Rocm93bikgPT4g
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJKU09OLnN0cmluZ2lmeShB
cnJheS5mcm9tKHdpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0UmVjdHMoKSkpIiwg
KGVycm9yLCB2YWx1ZSwgd2FzVGhyb3duKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydCghZXJyb3IsICJVbmV4cGVjdGVkIGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsg
ZXJyb3IpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZHVtcGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAgICAg
ICBjYWxsYmFjayhKU09OLnBhcnNlKHBheWxvYWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNhbGxi
YWNrKEpTT04ucGFyc2UodmFsdWUpKTsKICAgICAgICAgfSk7CiAgICAgfQogCkBAIC0yNSwxMCAr
MjUsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgfQogCiAgICAgZnVuY3Rpb24gZ2V0SGlnaGxp
Z2h0KGNhbGxiYWNrKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndp
bmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCkiLCAoZXJyb3IsIHBheWxv
YWQsIHdhc1Rocm93bikgPT4geworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ3aW5kb3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodE9iamVjdCgpIiwgKGVycm9yLCB2
YWx1ZSwgd2FzVGhyb3duKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCgh
ZXJyb3IsICJVbmV4cGVjdGVkIGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsgZXJyb3IpOwog
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZHVtcGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAgICAgICBjYWxsYmFj
ayhKU09OLnBhcnNlKHBheWxvYWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKEpTT04u
cGFyc2UodmFsdWUpKTsKICAgICAgICAgfSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodEZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZG9tL2hpZ2hsaWdodEZyYW1lLmh0bWwKaW5kZXggMzdlYmFiMjk2ZTM1OWY1NjRhZjBm
ZWYwZWNiYTI3NTMxMTYyNGMyMi4uYmQ2YmJjMWJmNTc2MDgwNDE3YmE2NWRmYmEwMTU4MzY3Yzlk
ZTM5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRGcmFt
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0RnJhbWUuaHRt
bApAQCAtMTIsMTAgKzEyLDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwoY2hpbGRGcmFtZXMubGVuZ3RoLCAyLCAiUGFnZSBzaG91bGQgaGF2ZSBzdWJm
cmFtZXMuIik7CiAKICAgICBmdW5jdGlvbiBnZXRIaWdobGlnaHQoY2FsbGJhY2spIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LmludGVybmFscy5pbnNwZWN0
b3JIaWdobGlnaHRPYmplY3QoKSIsIChlcnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5z
cGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCkiLCAoZXJyb3IsIHZhbHVlLCB3YXNUaHJvd24pID0+IHsK
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlVuZXhwZWN0ZWQgZXJy
b3IgZHVtcGluZyBoaWdobGlnaHQ6ICIgKyBlcnJvcik7CiAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydCghd2FzVGhyb3duLCAiVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBkdW1waW5n
IGhpZ2hsaWdodC4iKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UocGF5bG9hZC52
YWx1ZSkpOworICAgICAgICAgICAgY2FsbGJhY2soSlNPTi5wYXJzZSh2YWx1ZSkpOwogICAgICAg
ICB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGln
aGxpZ2h0Tm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2Rl
Lmh0bWwKaW5kZXggZThjODQ5NjcyOWYyNmYyM2IwN2FkOGNlY2JjOGJmNGVkMjg3YzcyZS4uNTJj
NDY4M2NjMTliZjZjYmI1NTY2YTQwYWY2MGIxMjNkOGM0OTA1NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlLmh0bWwKQEAgLTIwLDEwICsyMCwxMCBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICB9OwogCiAgICAgZnVuY3Rpb24gZ2V0SGlnaGxpZ2h0KGNhbGxiYWNr
KSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5h
bHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCkiLCAoZXJyb3IsIHBheWxvYWQsIHdhc1Rocm93
bikgPT4geworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ3aW5kb3cuaW50
ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodE9iamVjdCgpIiwgKGVycm9yLCB2YWx1ZSwgd2FzVGhy
b3duKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJVbmV4
cGVjdGVkIGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsgZXJyb3IpOwogICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZHVtcGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAgICAgICBjYWxsYmFjayhKU09OLnBhcnNl
KHBheWxvYWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UodmFsdWUp
KTsKICAgICAgICAgfSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZG9tL2hpZ2hsaWdodE5vZGVMaXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
L2hpZ2hsaWdodE5vZGVMaXN0Lmh0bWwKaW5kZXggNDAyYmZlNGJmNGFiMTQ1ZWViZTY1M2MzNGJh
OTNlMTczYmM2ZjBjNy4uOTBjZTljODFjZGRjMmZjNTE4NDNiMWQzMmZkNDc5Zjk1ZmRkZjQxMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlTGlzdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZUxpc3QuaHRt
bApAQCAtMjAsMTAgKzIwLDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIH07CiAKICAgICBmdW5j
dGlvbiBnZXRIaWdobGlnaHQoY2FsbGJhY2spIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgid2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmplY3QoKSIs
IChlcnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0
KCkiLCAoZXJyb3IsIHZhbHVlLCB3YXNUaHJvd24pID0+IHsKICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0KCFlcnJvciwgIlVuZXhwZWN0ZWQgZXJyb3IgZHVtcGluZyBoaWdobGlnaHQ6
ICIgKyBlcnJvcik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3du
LCAiVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBkdW1waW5nIGhpZ2hsaWdodC4iKTsKLSAgICAg
ICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UocGF5bG9hZC52YWx1ZSkpOworICAgICAgICAgICAg
Y2FsbGJhY2soSlNPTi5wYXJzZSh2YWx1ZSkpOwogICAgICAgICB9KTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0UXVhZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRRdWFkLmh0bWwKaW5kZXggNWJmZmQyMDRm
OWIyMmI0YTNmZmYzN2M4MDFhZGVlYWE2MGRlNmY4OS4uNmMxNWM1ZjUwMWI2OTJjMjQ2OWEwYTQy
MDM3ZmViODU0M2VjMDAyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9o
aWdobGlnaHRRdWFkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGln
aHRRdWFkLmh0bWwKQEAgLTExLDEwICsxMSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBjb25z
dCB1c2VQYWdlQ29vcmRpbmF0ZXMgPSB0cnVlOwogCiAgICAgZnVuY3Rpb24gZ2V0SGlnaGxpZ2h0
UmVjdHMoY2FsbGJhY2spIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
SlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh3aW5kb3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hs
aWdodFJlY3RzKCkpKSIsIChlcnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIkpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20o
d2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpKSkiLCAoZXJyb3IsIHZh
bHVlLCB3YXNUaHJvd24pID0+IHsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFl
cnJvciwgIlVuZXhwZWN0ZWQgZXJyb3IgZHVtcGluZyBoaWdobGlnaHQ6ICIgKyBlcnJvcik7CiAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3duLCAiVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBkdW1waW5nIGhpZ2hsaWdodC4iKTsKLSAgICAgICAgICAgIGNhbGxiYWNr
KEpTT04ucGFyc2UocGF5bG9hZC52YWx1ZSkpOworICAgICAgICAgICAgY2FsbGJhY2soSlNPTi5w
YXJzZSh2YWx1ZSkpOwogICAgICAgICB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0UmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS9oaWdobGlnaHRSZWN0Lmh0bWwKaW5kZXggODVmZjVjN2FmY2JkYjdjMzlhMzNiYjMz
N2Q2ZDRiNTMxMTg4NDYyMC4uODg1NDExNGU0ZWNkOTdlNWRhZWYwODliZGFiZmUwODk5MWQ1NWQ2
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRSZWN0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRSZWN0Lmh0bWwKQEAg
LTExLDEwICsxMSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBjb25zdCB1c2VQYWdlQ29vcmRp
bmF0ZXMgPSB0cnVlOwogCiAgICAgZnVuY3Rpb24gZ2V0SGlnaGxpZ2h0UmVjdHMoY2FsbGJhY2sp
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiSlNPTi5zdHJpbmdpZnko
QXJyYXkuZnJvbSh3aW5kb3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodFJlY3RzKCkpKSIs
IChlcnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoIkpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20od2luZG93LmludGVybmFs
cy5pbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpKSkiLCAoZXJyb3IsIHZhbHVlLCB3YXNUaHJvd24p
ID0+IHsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlVuZXhwZWN0
ZWQgZXJyb3IgZHVtcGluZyBoaWdobGlnaHQ6ICIgKyBlcnJvcik7CiAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3duLCAiVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBk
dW1waW5nIGhpZ2hsaWdodC4iKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UocGF5
bG9hZC52YWx1ZSkpOworICAgICAgICAgICAgY2FsbGJhY2soSlNPTi5wYXJzZSh2YWx1ZSkpOwog
ICAgICAgICB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
b20vaGlnaGxpZ2h0U2VsZWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGln
aGxpZ2h0U2VsZWN0b3IuaHRtbAppbmRleCBjMDQ3ZTg4NzJhZmYzY2UxYjA1M2Q4MzUyYjEwOTg5
ODU2YjFkNTExLi5iZGY5YTdjMTRjNTY4MWNlOWVkYzgzMWFkNDRiN2M5Njg5YzYwMmM2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodFNlbGVjdG9yLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRTZWxlY3Rvci5odG1sCkBA
IC0xMDEsMTAgKzEwMSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB9CiAKICAgICBmdW5jdGlv
biBnZXRIaWdobGlnaHQoY2FsbGJhY2spIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgid2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmplY3QoKSIsIChl
cnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCki
LCAoZXJyb3IsIHZhbHVlLCB3YXNUaHJvd24pID0+IHsKICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KCFlcnJvciwgIlVuZXhwZWN0ZWQgZXJyb3IgZHVtcGluZyBoaWdobGlnaHQ6ICIg
KyBlcnJvcik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3duLCAi
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBkdW1waW5nIGhpZ2hsaWdodC4iKTsKLSAgICAgICAg
ICAgIGNhbGxiYWNrKEpTT04ucGFyc2UocGF5bG9hZC52YWx1ZSkpOworICAgICAgICAgICAgY2Fs
bGJhY2soSlNPTi5wYXJzZSh2YWx1ZSkpOwogICAgICAgICB9KTsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vc2V0RXZlbnRMaXN0ZW5lckRp
c2FibGVkLWV4cGVjdGVkLnR4dAppbmRleCBlOTExNjQwZmQ3MTVkZTExYTI2YjUwN2U3ZDQwMmFm
NmQ2NTcyMmViLi43OWQ0YjE0MWU2NzM4NTZkZWFkYWVmMjAxNDlkODBjZDFhMjI2NjFkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL3NldEV2ZW50TGlzdGVuZXJEaXNhYmxl
ZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9zZXRFdmVudExp
c3RlbmVyRGlzYWJsZWQtZXhwZWN0ZWQudHh0CkBAIC01LDE1ICs1LDE1IEBAIFRlc3RpbmcgRE9N
QWdlbnQuc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLgogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERP
TS5zZXRFdmVudExpc3RlbmVyRGlzYWJsZWQuRGlzYWJsZWRDbGlja0V2ZW50CiBDbGljayBldmVu
dCBsaXN0ZW5lciBpcyBlbmFibGVkLgogRGlzYWJsaW5nIGV2ZW50IGxpc3RlbmVyLi4uCi08Ym9k
eT4gY2xpY2tlZC4KIFBBU1M6IENsaWNrIGV2ZW50IGxpc3RlbmVyIGRpZCBub3QgZmlyZS4KKzxi
b2R5PiBjbGlja2VkLgogQ2xpY2sgZXZlbnQgbGlzdGVuZXIgaXMgZGlzYWJsZWQuCiAKIC0tIFJ1
bm5pbmcgdGVzdCBjYXNlOiBET00uc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLlJlZW5hYmxlZENs
aWNrRXZlbnQKIENsaWNrIGV2ZW50IGxpc3RlbmVyIGlzIGRpc2FibGVkLgogRW5hYmxpbmcgZXZl
bnQgbGlzdGVuZXIuLi4KLTxib2R5PiBjbGlja2VkLgogUEFTUzogQ2xpY2sgZXZlbnQgbGlzdGVu
ZXIgZmlyZWQuCis8Ym9keT4gY2xpY2tlZC4KIENsaWNrIGV2ZW50IGxpc3RlbmVyIGlzIGVuYWJs
ZWQuCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET00uc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVk
LkludmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9pbmplY3RlZC1zY3Jp
cHQvb2JzZXJ2YWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaW5qZWN0
ZWQtc2NyaXB0L29ic2VydmFibGUtZXhwZWN0ZWQudHh0CmluZGV4IDllOTI5NTIzYmY1ZGU4MDVl
NWU0ODc0ODg5NzZmNjdjMWQ2YWVjMzAuLmM3OWU3ODlkOTEzYTFiMWU1ZTAxMjM3NDNlODQxN2Fh
ZDJhODcxY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9pbmplY3RlZC1zY3Jp
cHQvb2JzZXJ2YWJsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2lu
amVjdGVkLXNjcmlwdC9vYnNlcnZhYmxlLWV4cGVjdGVkLnR4dApAQCAtNiw1ICs2LDUgQEAgVGVz
dCB0aGF0IGNlcnRhaW4gSW5qZWN0ZWRTY3JpcHRTb3VyY2Ugb3BlcmF0aW9ucyBhcmUgbm90IG9i
c2VydmFibGUgYnkgdXNlciBjb2QKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBJbmplY3RlZFNjcmlw
dC5PYnNlcnZhYmxlOkFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdCiBQQVNTOiBQYXVz
ZWQuCiBQQVNTOiBSZXN1bWVkLgotUEFTUzogMQorUEFTUzogQXJyYXkucHJvdG90eXBlW1N5bWJv
bC5pdGVyYXRvcl0gY2FsbCBjb3VudCBzaG91bGQgYmUgMS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2luamVjdGVkLXNjcmlwdC9vYnNlcnZhYmxlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvaW5qZWN0ZWQtc2NyaXB0L29ic2VydmFibGUuaHRtbAppbmRleCAzZmJj
ODAyYTIyZDZiYThjNGYyZjY1NWQ5Mzc5MjM0MWIxY2M0NmQ4Li40ZDhkNjZlNTJmYmNiMTcxYWIx
YzkwYTc2NThkOWQ5M2M4NDdkNjk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
aW5qZWN0ZWQtc2NyaXB0L29ic2VydmFibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvaW5qZWN0ZWQtc2NyaXB0L29ic2VydmFibGUuaHRtbApAQCAtNDEsNyArNDEsNyBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICAgICAgZGVzY3JpcHRpb246ICJBcnJheSBpdGVyYXRpb24gaW4gSW5q
ZWN0ZWQgU2NyaXB0IHNob3VsZCBub3QgYmUgb2JzZXJ2YWJsZSIsCiAgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KGB0cmlnZ2VySXRlcmF0aW9uKClgLCAoZXJyb3IsIHJlc3VsdCkgPT4gewotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZXN1bHQudmFsdWUsIDEsICJBcnJheS5wcm90
b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSBjYWxsIGNvdW50IHNob3VsZCBiZSAxLiIpOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LCAxLCAiQXJyYXkucHJv
dG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gY2FsbCBjb3VudCBzaG91bGQgYmUgMS4iKTsKICAgICAg
ICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICB9KTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3BhZ2Uvc2V0RW11bGF0ZWRNZWRpYS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3BhZ2Uvc2V0RW11bGF0ZWRNZWRpYS5odG1sCmluZGV4IGI5ZDg3MWE4Yjdl
MmE3YTg3YjNhYWM3ZjlhMmFhNTkwNTM2YWNiNzQuLjQzYjJmY2Q4M2FhMGMxMWExZTEwNWM1MzAw
ZGM1MDMzZDZmMjM2NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wYWdlL3Nl
dEVtdWxhdGVkTWVkaWEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcGFnZS9zZXRF
bXVsYXRlZE1lZGlhLmh0bWwKQEAgLTIzLDEwICsyMywxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAg
ICAgICAgZGVzY3JpcHRpb246ICJJbml0aWFsIG1lZGlhIHR5cGUgc2hvdWxkIG1hdGNoIHNjcmVl
bi4iLAogICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibWVkaWFRdWVyeUxpc3QubWF0Y2hlcyIsIChlcnJvciwg
cmVzdWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChy
ZXN1bHQudmFsdWUsIGZhbHNlLCAiUGFnZSBzaG91bGQgbm90IG1hdGNoIHByaW50IG1lZGlhLiIp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LCBmYWxz
ZSwgIlBhZ2Ugc2hvdWxkIG5vdCBtYXRjaCBwcmludCBtZWRpYS4iKTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5ib2R5KS5jb2xvciIsIChlcnJvciwgcmVzdWx0KSA9PiB7Ci0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZXN1bHQudmFsdWUsICJyZ2IoMCwg
MCwgMjU1KSIsICJCb2R5IGNvbG9yIHNob3VsZCBiZSBibHVlLiIpOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LCAicmdiKDAsIDAsIDI1NSkiLCAiQm9k
eSBjb2xvciBzaG91bGQgYmUgYmx1ZS4iKTsKICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgfQpAQCAtMzgsMTAgKzM4LDEwIEBAIGZ1bmN0aW9uIHRl
c3QoKQogICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgUGFnZUFn
ZW50LnNldEVtdWxhdGVkTWVkaWEoInByaW50IiwgKGVycm9yKSA9PiB7CiAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibWVkaWFRdWVyeUxpc3QubWF0Y2hlcyIs
IChlcnJvciwgcmVzdWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVlLCB0cnVlLCAiUGFnZSBzaG91bGQgbm93IG1hdGNoIHBy
aW50IG1lZGlhLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKHJlc3VsdCwgdHJ1ZSwgIlBhZ2Ugc2hvdWxkIG5vdyBtYXRjaCBwcmludCBtZWRpYS4iKTsK
ICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmNvbG9yIiwgKGVycm9y
LCByZXN1bHQpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RF
cXVhbChyZXN1bHQudmFsdWUsICJyZ2IoMCwgMTI4LCAwKSIsICJCb2R5IGNvbG9yIHNob3VsZCBi
ZSBncmVlbi4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVh
bChyZXN1bHQsICJyZ2IoMCwgMTI4LCAwKSIsICJCb2R5IGNvbG9yIHNob3VsZCBiZSBncmVlbi4i
KTsKICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgICAgIH0pOwog
ICAgICAgICAgICAgfSk7CkBAIC01NCwxMCArNTQsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
ICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBQYWdlQWdlbnQuc2V0RW11
bGF0ZWRNZWRpYSgiIiwgKGVycm9yKSA9PiB7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgibWVkaWFRdWVyeUxpc3QubWF0Y2hlcyIsIChlcnJvciwgcmVzdWx0
KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVz
dWx0LnZhbHVlLCBmYWxzZSwgIlBhZ2Ugc2hvdWxkIG5vdyBub3QgbWF0Y2ggcHJpbnQgbWVkaWEu
Iik7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0
LCBmYWxzZSwgIlBhZ2Ugc2hvdWxkIG5vdyBub3QgbWF0Y2ggcHJpbnQgbWVkaWEuIik7CiAgICAg
ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZSgiZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5jb2xvciIsIChlcnJvciwgcmVz
dWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwo
cmVzdWx0LnZhbHVlLCAicmdiKDAsIDAsIDI1NSkiLCAiUGFnZSBzaG91bGQgbm93IG1hdGNoIHBy
aW50IG1lZGlhLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKHJlc3VsdCwgInJnYigwLCAwLCAyNTUpIiwgIlBhZ2Ugc2hvdWxkIG5vdyBtYXRjaCBwcmlu
dCBtZWRpYS4iKTsKICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcnVudGltZS9nZXRQcmV2aWV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGlt
ZS9nZXRQcmV2aWV3Lmh0bWwKaW5kZXggMjI3MWUyZmE5OGQzYmYyODRkNTQzYTdjMGUxNmRjMTM3
NDkwYmY3OC4uMmQzMGJlYWI3ZmFiMjQ2YzhjNWMyNjUwZDYwZmFkNTdlY2U1NTI3MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvZ2V0UHJldmlldy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL2dldFByZXZpZXcuaHRtbApAQCAtNzQsOCAr
NzQsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgbmFtZTogIlJlbW90ZU9iamVjdC51cGRh
dGVQcmV2aWV3LlN5bWJvbCIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiTm9uLW9iamVjdCBSZW1v
dGVPYmplY3RzIHNob3VsZCBub3QgcmVxdWVzdCBhIHByZXZpZXcuIiwKICAgICAgICAgdGVzdChy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoYFN5bWJvbC5pdGVyYXRvcmAsIChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCkgPT4gewot
ICAgICAgICAgICAgICAgIGxldCByZW1vdGVPYmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBh
eWxvYWQocmVtb3RlT2JqZWN0UGF5bG9hZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKGBTeW1ib2wuaXRlcmF0b3JgLCAoZXJyb3IsIHJlbW90ZU9iamVjdCkgPT4g
ewogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdCghcmVtb3RlT2JqZWN0
LmNhbkxvYWRQcmV2aWV3KCksIGBTaG91bGQgbm90IGJlIGFibGUgdG8gbG9hZCBhIHByZXZpZXcg
Zm9yIGEgJHtyZW1vdGVPYmplY3QudHlwZX0gUmVtb3RlT2JqZWN0LmApOwogICAgICAgICAgICAg
ICAgIHJlbW90ZU9iamVjdC51cGRhdGVQcmV2aWV3KChwcmV2aWV3KSA9PiB7CiAgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0TnVsbChwcmV2aWV3LCBgUmVtb3RlT2JqZWN0
LnVwZGF0ZVByZXZpZXcgc2hvdWxkIHJldHVybiBudWxsIGZvciBhICR7cmVtb3RlT2JqZWN0LnR5
cGV9IFJlbW90ZU9iamVjdC5gKTsKQEAgLTg5LDggKzg4LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgIG5hbWU6ICJSZW1vdGVPYmplY3QudXBkYXRlUHJldmlldy5GdW5jdGlvbiIsCiAgICAg
ICAgIGRlc2NyaXB0aW9uOiAiTm9uLW9iamVjdCBSZW1vdGVPYmplY3RzIHNob3VsZCBub3QgcmVx
dWVzdCBhIHByZXZpZXcuIiwKICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGZ1bmN0aW9uIGYoKSB7fTsgZmAs
IChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCkgPT4gewotICAgICAgICAgICAgICAgIGxldCBy
ZW1vdGVPYmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVtb3RlT2JqZWN0UGF5
bG9hZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBmdW5jdGlv
biBmKCkge307IGZgLCAoZXJyb3IsIHJlbW90ZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdCghcmVtb3RlT2JqZWN0LmNhbkxvYWRQcmV2aWV3KCks
IGBTaG91bGQgbm90IGJlIGFibGUgdG8gbG9hZCBhIHByZXZpZXcgZm9yIGEgJHtyZW1vdGVPYmpl
Y3QudHlwZX0gUmVtb3RlT2JqZWN0LmApOwogICAgICAgICAgICAgICAgIHJlbW90ZU9iamVjdC51
cGRhdGVQcmV2aWV3KChwcmV2aWV3KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0TnVsbChwcmV2aWV3LCBgUmVtb3RlT2JqZWN0LnVwZGF0ZVByZXZpZXcgc2hv
dWxkIHJldHVybiBudWxsIGZvciBhICR7cmVtb3RlT2JqZWN0LnR5cGV9IFJlbW90ZU9iamVjdC5g
KTsKQEAgLTEwNCwxNCArMTAyLDEzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBuYW1lOiAi
UmVtb3RlT2JqZWN0LnVwZGF0ZVByZXZpZXcuTnVsbCIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAi
Tm9uLW9iamVjdCBSZW1vdGVPYmplY3RzIHNob3VsZCBub3QgcmVxdWVzdCBhIHByZXZpZXcuIiwK
ICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoYG51bGxgLCAoZXJyb3IsIHJlbW90ZU9iamVjdFBheWxvYWQpID0+
IHsKLSAgICAgICAgICAgICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZy
b21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxvYWQpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZShgbnVsbGAsIChlcnJvciwgcmVtb3RlT2JqZWN0KSA9PiB7CiAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KCFyZW1vdGVPYmplY3QuY2FuTG9h
ZFByZXZpZXcoKSwgYFNob3VsZCBub3QgYmUgYWJsZSB0byBsb2FkIGEgcHJldmlldyBmb3IgYSAk
e3JlbW90ZU9iamVjdC5zdWJ0eXBlfSBSZW1vdGVPYmplY3QuYCk7CiAgICAgICAgICAgICAgICAg
cmVtb3RlT2JqZWN0LnVwZGF0ZVByZXZpZXcoKHByZXZpZXcpID0+IHsKICAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3ROdWxsKHByZXZpZXcsIGBSZW1vdGVPYmplY3QudXBk
YXRlUHJldmlldyBzaG91bGQgcmV0dXJuIG51bGwgZm9yIGEgJHtyZW1vdGVPYmplY3Quc3VidHlw
ZX0gUmVtb3RlT2JqZWN0LmApOwogICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHtyZW1vdGVP
YmplY3RPbmx5OiB0cnVlfSk7CiAgICAgICAgIH0KICAgICB9KTsKIApAQCAtMTIxLDggKzExOCw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBuYW1lOiAiUnVudGltZS5nZXRQcmV2aWV3LlN5
bWJvbCIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiUnVudGltZS5nZXRQcmV2aWV3IHNob3VsZCBy
ZXR1cm4gYW4gZW1wdHkgcHJldmlldyBmb3Igbm9uLW9iamVjdHMuIiwKICAgICAgICAgdGVzdChy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoYFN5bWJvbC5pdGVyYXRvcmAsIChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCkgPT4gewot
ICAgICAgICAgICAgICAgIGxldCByZW1vdGVPYmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBh
eWxvYWQocmVtb3RlT2JqZWN0UGF5bG9hZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKGBTeW1ib2wuaXRlcmF0b3JgLCAoZXJyb3IsIHJlbW90ZU9iamVjdCkgPT4g
ewogICAgICAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5nZXRQcmV2aWV3KHJlbW90ZU9iamVjdC5v
YmplY3RJZCwgKGVycm9yLCByZXN1bHQpID0+IHsKICAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coSlNPTi5zdHJpbmdpZnkocmVzdWx0KSk7CiAgICAgICAgICAgICAgICAgICAg
IHJlc29sdmUoKTsKQEAgLTEzNSw4ICsxMzEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAg
bmFtZTogIlJ1bnRpbWUuZ2V0UHJldmlldy5GdW5jdGlvbiIsCiAgICAgICAgIGRlc2NyaXB0aW9u
OiAiUnVudGltZS5nZXRQcmV2aWV3IHNob3VsZCByZXR1cm4gYW4gZW1wdHkgcHJldmlldyBmb3Ig
bm9uLW9iamVjdHMuIiwKICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGZ1bmN0aW9uIGYoKSB7fTsgZmAsIChl
cnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCkgPT4gewotICAgICAgICAgICAgICAgIGxldCByZW1v
dGVPYmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVtb3RlT2JqZWN0UGF5bG9h
ZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBmdW5jdGlvbiBm
KCkge307IGZgLCAoZXJyb3IsIHJlbW90ZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAgIFJ1
bnRpbWVBZ2VudC5nZXRQcmV2aWV3KHJlbW90ZU9iamVjdC5vYmplY3RJZCwgKGVycm9yLCByZXN1
bHQpID0+IHsKICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coSlNPTi5zdHJp
bmdpZnkocmVzdWx0KSk7CiAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0
ZS1pbi1wYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3Rz
L3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1pbi1wYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NTFhMGQ1MzIyYjc2Y2IyYmFhMWM2NWM2MDAzYmZiYTQyZThmYWE3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRl
LWluLXBhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcxIEBACitUZXN0aW5nIHRoZSBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlIGZ1bmN0aW9uLgorCisKKz09IFJ1bm5pbmcgdGVzdCBz
dWl0ZTogSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZQorLS0gUnVubmluZyB0ZXN0IGNhc2U6
IGV2YWx1YXRlSW5QYWdlLlByaW1pdGl2ZXMKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5n
IHN0cmluZzogLTQyCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0
IHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6IFNob3VsZCBub3QgYmUgcmV0dXJuZWQgYXMgYSBXSS5S
ZW1vdGVPYmplY3QuCisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogNDIK
K1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlIGVx
dWFsLgorUEFTUzogU2hvdWxkIG5vdCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4K
KworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiAwCitQQVNTOiBFeHBlY3Rl
ZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6IFNo
b3VsZCBub3QgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmplY3QuCisKK0NoZWNraW5nIHJl
c3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogIlN0cmluZyIKK1BBU1M6IEV4cGVjdGVkIGFuZCBh
Y3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlIGVxdWFsLgorUEFTUzogU2hvdWxkIG5v
dCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4KKworQ2hlY2tpbmcgcmVzdWx0IG9m
IGV2YWx1YXRpbmcgc3RyaW5nOiBmYWxzZQorUEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFs
dWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgZXF1YWwuCitQQVNTOiBTaG91bGQgbm90IGJlIHJldHVy
bmVkIGFzIGEgV0kuUmVtb3RlT2JqZWN0LgorCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGlu
ZyBzdHJpbmc6IHRydWUKK1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1
bHQgc2hvdWxkIGJlIGVxdWFsLgorUEFTUzogU2hvdWxkIG5vdCBiZSByZXR1cm5lZCBhcyBhIFdJ
LlJlbW90ZU9iamVjdC4KKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiBu
dWxsCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBi
ZSBlcXVhbC4KK1BBU1M6IFNob3VsZCBub3QgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmpl
Y3QuCisKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IGV2YWx1YXRlSW5QYWdlLlByaW1pdGl2ZXNX
aXRob3V0VW53cmFwcGluZworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nIHdp
dGhvdXQgdW53cmFwcGluZzogLTQyCitQQVNTOiBTaG91bGQgYmUgcmV0dXJuZWQgYXMgYSBXSS5S
ZW1vdGVPYmplY3QuCitQQVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAn
bnVtYmVyJy4KK0ZBSUw6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc2hv
dWxkIGJlIGVxdWFsLgorICAgIEV4cGVjdGVkOiAtNDIKKyAgICBBY3R1YWw6IFJlbW90ZU9iamVj
dCBpbnN0YW5jZSAjMQorCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmcgd2l0
aG91dCB1bndyYXBwaW5nOiA0MgorUEFTUzogU2hvdWxkIGJlIHJldHVybmVkIGFzIGEgV0kuUmVt
b3RlT2JqZWN0LgorUEFTUzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ251
bWJlcicuCitGQUlMOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHNob3Vs
ZCBiZSBlcXVhbC4KKyAgICBFeHBlY3RlZDogNDIKKyAgICBBY3R1YWw6IFJlbW90ZU9iamVjdCBp
bnN0YW5jZSAjMgorCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmcgd2l0aG91
dCB1bndyYXBwaW5nOiAwCitQQVNTOiBTaG91bGQgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVP
YmplY3QuCitQQVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnbnVtYmVy
Jy4KK0ZBSUw6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJl
IGVxdWFsLgorICAgIEV4cGVjdGVkOiAwCisgICAgQWN0dWFsOiBSZW1vdGVPYmplY3QgaW5zdGFu
Y2UgIzMKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nIHdpdGhvdXQgdW53
cmFwcGluZzogIlN0cmluZyIKK1BBU1M6IFNob3VsZCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90
ZU9iamVjdC4KK1BBU1M6IFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdzdHJp
bmcnLgorRkFJTDogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQg
YmUgZXF1YWwuCisgICAgRXhwZWN0ZWQ6ICJTdHJpbmciCisgICAgQWN0dWFsOiBSZW1vdGVPYmpl
Y3QgaW5zdGFuY2UgIzQKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nIHdp
dGhvdXQgdW53cmFwcGluZzogZmFsc2UKK1BBU1M6IFNob3VsZCBiZSByZXR1cm5lZCBhcyBhIFdJ
LlJlbW90ZU9iamVjdC4KK1BBU1M6IFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJl
ICdib29sZWFuJy4KK0ZBSUw6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQg
c2hvdWxkIGJlIGVxdWFsLgorICAgIEV4cGVjdGVkOiBmYWxzZQorICAgIEFjdHVhbDogUmVtb3Rl
T2JqZWN0IGluc3RhbmNlICM1CisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmlu
ZyB3aXRob3V0IHVud3JhcHBpbmc6IHRydWUKK1BBU1M6IFNob3VsZCBiZSByZXR1cm5lZCBhcyBh
IFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxk
IGJlICdib29sZWFuJy4KK0ZBSUw6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1
bHQgc2hvdWxkIGJlIGVxdWFsLgorICAgIEV4cGVjdGVkOiB0cnVlCisgICAgQWN0dWFsOiBSZW1v
dGVPYmplY3QgaW5zdGFuY2UgIzYKKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3Ry
aW5nIHdpdGhvdXQgdW53cmFwcGluZzogbnVsbAorUEFTUzogU2hvdWxkIGJlIHJldHVybmVkIGFz
IGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91
bGQgYmUgJ29iamVjdCcuCitGQUlMOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVz
dWx0IHNob3VsZCBiZSBlcXVhbC4KKyAgICBFeHBlY3RlZDogbnVsbAorICAgIEFjdHVhbDogUmVt
b3RlT2JqZWN0IGluc3RhbmNlICM3CisKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IGV2YWx1YXRl
SW5QYWdlLlJlbW90ZU9iamVjdHMKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmlu
ZzogKHthOjQyfSkKK1BBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVP
YmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90
IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFTUzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3Vs
dCBzaG91bGQgYmUgJ29iamVjdCcuCitQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0
IHNob3VsZCBiZSAndW5kZWZpbmVkJy4KKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
c3RyaW5nOiBbNDIsIDQzLCA0NF0KK1BBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBX
SS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBz
aG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFTUzogVHlwZSBvZiBldmFsdWF0
aW9uIHJlc3VsdCBzaG91bGQgYmUgJ29iamVjdCcuCitQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRp
b24gcmVzdWx0IHNob3VsZCBiZSAnYXJyYXknLgorCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVh
dGluZyBzdHJpbmc6IG5ldyBOdW1iZXIoNDIpCitQQVNTOiBSZXR1cm5lZCByZXN1bHQgc2hvdWxk
IGJlIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogTm9uLXByaW1pdGl2ZSBldmFsdWF0aW9uIHJl
c3VsdHMgc2hvdWxkIG5vdCBoYXZlIGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6IFR5cGUgb2Yg
ZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdvYmplY3QnLgorUEFTUzogU3VidHlwZSBvZiBl
dmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ3VuZGVmaW5lZCcuCisKK0NoZWNraW5nIHJlc3Vs
dCBvZiBldmFsdWF0aW5nIHN0cmluZzogZnVuY3Rpb24gZm9vKCkgeyByZXR1cm4gNDI7IH07IGZv
bworUEFTUzogUmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BB
U1M6IE5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1h
cnNoYWxsZWQgdmFsdWUuCitQQVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBi
ZSAnZnVuY3Rpb24nLgorUEFTUzogU3VidHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQg
YmUgJ3VuZGVmaW5lZCcuCisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzog
QXJyYXkucHJvdG90eXBlLnNwbGljZQorUEFTUzogUmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBh
IFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRz
IHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuCitQQVNTOiBUeXBlIG9mIGV2YWx1
YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnZnVuY3Rpb24nLgorUEFTUzogU3VidHlwZSBvZiBldmFs
dWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ3VuZGVmaW5lZCcuCisKK0NoZWNraW5nIHJlc3VsdCBv
ZiBldmFsdWF0aW5nIHN0cmluZzogYXN5bmMgZnVuY3Rpb24gZm9vKCkgeyByZXR1cm4gNDI7IH0g
Zm9vCitQQVNTOiBSZXR1cm5lZCByZXN1bHQgc2hvdWxkIGJlIGEgV0kuUmVtb3RlT2JqZWN0Lgor
UEFTUzogTm9uLXByaW1pdGl2ZSBldmFsdWF0aW9uIHJlc3VsdHMgc2hvdWxkIG5vdCBoYXZlIGEg
bWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6IFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxk
IGJlICdmdW5jdGlvbicuCitQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3Vs
ZCBiZSAndW5kZWZpbmVkJy4KKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5n
OiAoKSA9PiB7IHJldHVybiA0MjsgfQorUEFTUzogUmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBh
IFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRz
IHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuCitQQVNTOiBUeXBlIG9mIGV2YWx1
YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnZnVuY3Rpb24nLgorUEFTUzogU3VidHlwZSBvZiBldmFs
dWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ3VuZGVmaW5lZCcuCisKK0NoZWNraW5nIHJlc3VsdCBv
ZiBldmFsdWF0aW5nIHN0cmluZzogYXN5bmMgKCkgPT4geyByZXR1cm4gNDI7IH0KK1BBU1M6IFJl
dHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJp
bWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZh
bHVlLgorUEFTUzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ2Z1bmN0aW9u
Jy4KK1BBU1M6IFN1YnR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICd1bmRlZmlu
ZWQnLgorCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IHdpbmRvdy5kb2N1
bWVudAorUEFTUzogUmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4K
K1BBU1M6IE5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBh
IG1hcnNoYWxsZWQgdmFsdWUuCitQQVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3Vs
ZCBiZSAnb2JqZWN0Jy4KK1BBU1M6IFN1YnR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxk
IGJlICdub2RlJy4KKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiBTeW1i
b2wuaXRlcmF0b3IKK1BBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVP
YmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90
IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFTUzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3Vs
dCBzaG91bGQgYmUgJ3N5bWJvbCcuCitQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0
IHNob3VsZCBiZSAndW5kZWZpbmVkJy4KKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
c3RyaW5nOiBbXS5lbnRyaWVzKCkKK1BBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBX
SS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBz
aG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFTUzogVHlwZSBvZiBldmFsdWF0
aW9uIHJlc3VsdCBzaG91bGQgYmUgJ29iamVjdCcuCitQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRp
b24gcmVzdWx0IHNob3VsZCBiZSAnaXRlcmF0b3InLgorCitDaGVja2luZyByZXN1bHQgb2YgZXZh
bHVhdGluZyBzdHJpbmc6IFByb21pc2UucmVzb2x2ZSgpCitQQVNTOiBSZXR1cm5lZCByZXN1bHQg
c2hvdWxkIGJlIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogTm9uLXByaW1pdGl2ZSBldmFsdWF0
aW9uIHJlc3VsdHMgc2hvdWxkIG5vdCBoYXZlIGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6IFR5
cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdvYmplY3QnLgorUEFTUzogU3VidHlw
ZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ3VuZGVmaW5lZCcuCisKK0NoZWNraW5n
IHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogbmV3IEVycm9yKDQyKQorUEFTUzogUmV0dXJu
ZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRp
dmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUu
CitQQVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnb2JqZWN0Jy4KK1BB
U1M6IFN1YnR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdlcnJvcicuCisKK0No
ZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogdGhyb3cgbmV3IEVycm9yKDQyKQor
UEFTUzogUmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6
IE5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNo
YWxsZWQgdmFsdWUuCitQQVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAn
b2JqZWN0Jy4KK1BBU1M6IFN1YnR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdl
cnJvcicuCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMv
dGVzdC1oYXJuZXNzLWV2YWx1YXRlLWluLXBhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1pbi1wYWdlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTk5ZGViOTVjNzhlYTQ2YmYyZDgzY2Y0ODgyYWFkZDEzOGEzNWQyOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFs
dWF0ZS1pbi1wYWdlLmh0bWwKQEAgLTAsMCArMSwxNjEgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIGxldCBwcmltaXRpdmVDYXNlcyA9IFsKKyAgICAgICAgeworICAgICAgICAg
ICAgaW5wdXQ6IGAtNDJgLAorICAgICAgICAgICAgdHlwZTogIm51bWJlciIsCisgICAgICAgICAg
ICB2YWx1ZTogLTQyLAorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICBpbnB1dDog
YDQyYCwKKyAgICAgICAgICAgIHR5cGU6ICJudW1iZXIiLAorICAgICAgICAgICAgdmFsdWU6IDQy
LAorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICBpbnB1dDogYDBgLAorICAgICAg
ICAgICAgdHlwZTogIm51bWJlciIsCisgICAgICAgICAgICB2YWx1ZTogMCwKKyAgICAgICAgfSwK
KyAgICAgICAgeworICAgICAgICAgICAgaW5wdXQ6IGAiU3RyaW5nImAsCisgICAgICAgICAgICB0
eXBlOiAic3RyaW5nIiwKKyAgICAgICAgICAgIHZhbHVlOiAiU3RyaW5nIiwKKyAgICAgICAgfSwK
KyAgICAgICAgeworICAgICAgICAgICAgaW5wdXQ6IGBmYWxzZWAsCisgICAgICAgICAgICB0eXBl
OiAiYm9vbGVhbiIsCisgICAgICAgICAgICB2YWx1ZTogZmFsc2UsCisgICAgICAgIH0sCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGlucHV0OiBgdHJ1ZWAsCisgICAgICAgICAgICB0eXBlOiAiYm9v
bGVhbiIsCisgICAgICAgICAgICB2YWx1ZTogdHJ1ZSwKKyAgICAgICAgfSwKKyAgICAgICAgewor
ICAgICAgICAgICAgaW5wdXQ6IGBudWxsYCwKKyAgICAgICAgICAgIHR5cGU6ICJvYmplY3QiLAor
ICAgICAgICAgICAgdmFsdWU6IG51bGwsCisgICAgICAgIH0sCisgICAgXTsKKworICAgIGxldCBj
b21wbGV4Q2FzZXMgPSBbCisgICAgICAgIHsgLy8gUGxhaW4gb2JqZWN0LgorICAgICAgICAgICAg
aW5wdXQ6IGAoe2E6NDJ9KWAsCisgICAgICAgICAgICB0eXBlOiAib2JqZWN0IiwKKyAgICAgICAg
fSwKKyAgICAgICAgeyAvLyBQbGFpbiBhcnJheS4KKyAgICAgICAgICAgIGlucHV0OiBgWzQyLCA0
MywgNDRdYCwKKyAgICAgICAgICAgIHR5cGU6ICJvYmplY3QiLAorICAgICAgICAgICAgc3VidHlw
ZTogImFycmF5IiwKKyAgICAgICAgfSwKKyAgICAgICAgeyAvLyBKUyBidWlsdGluIG9iamVjdC4K
KyAgICAgICAgICAgIGlucHV0OiBgbmV3IE51bWJlcig0MilgLAorICAgICAgICAgICAgdHlwZTog
Im9iamVjdCIsCisgICAgICAgIH0sCisgICAgICAgIHsgLy8gSlMgZnVuY3Rpb24uCisgICAgICAg
ICAgICBpbnB1dDogYGZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIDQyOyB9OyBmb29gLAorICAgICAg
ICAgICAgdHlwZTogImZ1bmN0aW9uIiwKKyAgICAgICAgfSwKKyAgICAgICAgeyAvLyBOYXRpdmUg
ZnVuY3Rpb24uCisgICAgICAgICAgICBpbnB1dDogYEFycmF5LnByb3RvdHlwZS5zcGxpY2VgLAor
ICAgICAgICAgICAgdHlwZTogImZ1bmN0aW9uIiwKKyAgICAgICAgfSwKKyAgICAgICAgeyAvLyBB
c3luYyBmdW5jdGlvbi4KKyAgICAgICAgICAgIGlucHV0OiBgYXN5bmMgZnVuY3Rpb24gZm9vKCkg
eyByZXR1cm4gNDI7IH0gZm9vYCwKKyAgICAgICAgICAgIHR5cGU6ICJmdW5jdGlvbiIsCisgICAg
ICAgIH0sCisgICAgICAgIHsgLy8gQXJyb3cgZnVuY3Rpb24uCisgICAgICAgICAgICBpbnB1dDog
YCgpID0+IHsgcmV0dXJuIDQyOyB9YCwKKyAgICAgICAgICAgIHR5cGU6ICJmdW5jdGlvbiIsCisg
ICAgICAgIH0sCisgICAgICAgIHsgLy8gQXN5bmMgYXJyb3cgZnVuY3Rpb24uCisgICAgICAgICAg
ICBpbnB1dDogYGFzeW5jICgpID0+IHsgcmV0dXJuIDQyOyB9YCwKKyAgICAgICAgICAgIHR5cGU6
ICJmdW5jdGlvbiIsCisgICAgICAgIH0sCisgICAgICAgIHsgLy8gRE9NIG9iamVjdC4KKyAgICAg
ICAgICAgIGlucHV0OiBgd2luZG93LmRvY3VtZW50YCwKKyAgICAgICAgICAgIHR5cGU6ICJvYmpl
Y3QiLAorICAgICAgICAgICAgc3VidHlwZTogIm5vZGUiLAorICAgICAgICB9LAorICAgICAgICB7
IC8vIFN5bWJvbC4KKyAgICAgICAgICAgIGlucHV0OiBgU3ltYm9sLml0ZXJhdG9yYCwKKyAgICAg
ICAgICAgIHR5cGU6ICJzeW1ib2wiLAorICAgICAgICB9LAorICAgICAgICB7IC8vIEl0ZXJhdG9y
LgorICAgICAgICAgICAgaW5wdXQ6IGBbXS5lbnRyaWVzKClgLAorICAgICAgICAgICAgdHlwZTog
Im9iamVjdCIsCisgICAgICAgICAgICBzdWJ0eXBlOiAiaXRlcmF0b3IiLAorICAgICAgICB9LAor
ICAgICAgICB7IC8vIFByb21pc2UuCisgICAgICAgICAgICBpbnB1dDogYFByb21pc2UucmVzb2x2
ZSgpYCwKKyAgICAgICAgICAgIHR5cGU6ICJvYmplY3QiLAorICAgICAgICB9LAorICAgICAgICB7
IC8vIEVycm9yIChyZXR1cm5lZCkuCisgICAgICAgICAgICBpbnB1dDogYG5ldyBFcnJvcig0Milg
LAorICAgICAgICAgICAgdHlwZTogIm9iamVjdCIsCisgICAgICAgICAgICBzdWJ0eXBlOiAiZXJy
b3IiLAorICAgICAgICB9LAorICAgICAgICB7IC8vIEVycm9yICh0aHJvd24pLgorICAgICAgICAg
ICAgaW5wdXQ6IGB0aHJvdyBuZXcgRXJyb3IoNDIpYCwKKyAgICAgICAgICAgIHR5cGU6ICJvYmpl
Y3QiLAorICAgICAgICAgICAgc3VidHlwZTogImVycm9yIiwKKyAgICAgICAgfSwKKyAgICBdOwor
CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAg
ICAgIG5hbWU6ICJldmFsdWF0ZUluUGFnZS5QcmltaXRpdmVzIiwKKyAgICAgICAgYXN5bmMgdGVz
dCgpIHsKKyAgICAgICAgICAgIGZvciAobGV0IHtpbnB1dCwgdmFsdWV9IG9mIHByaW1pdGl2ZUNh
c2VzKSB7CisgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoaW5wdXQpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9n
KGBDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6ICR7aW5wdXR9YCk7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZXN1bHQsIHZhbHVlLCAiRXhw
ZWN0ZWQgYW5kIGFjdHVhbCBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgZXF1YWwuIik7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RGYWxzZShyZXN1bHQgaW5zdGFuY2Vv
ZiBXSS5SZW1vdGVPYmplY3QsICJTaG91bGQgbm90IGJlIHJldHVybmVkIGFzIGEgV0kuUmVtb3Rl
T2JqZWN0LiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCIiKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2Uoewor
ICAgICAgICBuYW1lOiAiZXZhbHVhdGVJblBhZ2UuUHJpbWl0aXZlc1dpdGhvdXRVbndyYXBwaW5n
IiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGZvciAobGV0IHtpbnB1dCwg
dHlwZSwgdmFsdWV9IG9mIHByaW1pdGl2ZUNhc2VzKSB7CisgICAgICAgICAgICAgICAgbGV0IHJl
c3VsdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoaW5wdXQsIG51bGwsIHty
ZW1vdGVPYmplY3RPbmx5OiB0cnVlfSk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coYENoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZyB3aXRob3V0IHVud3JhcHBp
bmc6ICR7aW5wdXR9YCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0
KHJlc3VsdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlNob3VsZCBiZSByZXR1cm5lZCBh
cyBhIFdJLlJlbW90ZU9iamVjdC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdEVxdWFsKHJlc3VsdC50eXBlLCB0eXBlLCBgVHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBz
aG91bGQgYmUgJyR7dHlwZX0nLmApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwocmVzdWx0LCB2YWx1ZSwgIkV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiBy
ZXN1bHQgc2hvdWxkIGJlIGVxdWFsLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCIiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUu
YWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiZXZhbHVhdGVJblBhZ2UuUmVtb3RlT2JqZWN0
cyIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBmb3IgKGxldCB7aW5wdXQs
IHR5cGUsIHN1YnR5cGUsIHRocm93bn0gb2YgY29tcGxleENhc2VzKSB7CisgICAgICAgICAgICAg
ICAgbGV0IHJlc3VsdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoaW5wdXQp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKGBDaGVja2luZyByZXN1bHQgb2Yg
ZXZhbHVhdGluZyBzdHJpbmc6ICR7aW5wdXR9YCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RUaGF0KHJlc3VsdCBpbnN0YW5jZW9mIFdJLlJlbW90ZU9iamVjdCwgIlJldHVy
bmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuIik7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBlY3RGYWxzZShyZXN1bHQuaGFzVmFsdWUoKSwgIk5vbi1wcmlt
aXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFs
dWUuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZXN1bHQu
dHlwZSwgdHlwZSwgYFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICcke3R5cGV9
Jy5gKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlc3VsdC5z
dWJ0eXBlLCBzdWJ0eXBlLCBgU3VidHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUg
JyR7c3VidHlwZX0nLmApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCIiKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENh
c2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKyAgICA8cD5UZXN0aW5nIHRoZSBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
IGZ1bmN0aW9uLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329416</attachid>
            <date>2017-12-14 16:23:34 -0800</date>
            <delta_ts>2017-12-14 17:39:15 -0800</delta_ts>
            <desc>For Landing</desc>
            <filename>bug-180831-20171214162333.patch</filename>
            <type>text/plain</type>
            <size>46358</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1OTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA0
YTEzNDdjMzhmZDZhOTFmNmU4MGQwZTJmYTFiMWNiODE1ZDQ2NWM3Li4yYjg0NTk4ODJmYWViZTU0
OWJkOTIxNzVlYTk1YzJhNWMzNDViYmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0xMi0xNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlIHNob3Vs
ZCB1bndyYXAgcHJpbWl0aXZlIHZhbHVlcyBieSBkZWZhdWx0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA4MzEKKworICAgICAgICBSZXZpZXdlZCBi
eSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRl
bmRUZXN0SGFybmVzcy5qczoKKyAgICAgICAgKEZyb250ZW5kVGVzdEhhcm5lc3MucHJvdG90eXBl
LmV2YWx1YXRlSW5QYWdlLnJlc3VsdE9iamVjdFRvUmV0dXJuKToKKyAgICAgICAgKEZyb250ZW5k
VGVzdEhhcm5lc3MucHJvdG90eXBlLmV2YWx1YXRlSW5QYWdlKToKKyAgICAgICAgVW53cmFwIHRo
ZSByZXN1bHRpbmcgUmVtb3RlT2JqZWN0J3MgdmFsdWUgaWYgaXQgaXMgYSBwcmltaXRpdmUuCisg
ICAgICAgIEFkZCBhbiBgb3B0aW9uc2AgZGljdGlvbmFyeSBzbyB0aGlzIGJlaGF2aW9yIGNhbiBi
ZSBvcHRlZCBvdXQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3Mu
anM6CisgICAgICAgIEFkZCBkb2N1bWVudGF0aW9uIG9mIGhvdyBldmFsdWF0ZUluUGFnZSB3b3Jr
cy4KKwogMjAxNy0xMi0xNCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFVuY2F1Z2h0RXhjZXB0aW9uUmVwb3J0ZXIgZmFpbHMg
b24gZWFybHkgZXJyb3JzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMKaW5kZXggNDEzM2U5
NDZlYWUwMDE0NDY5MDMwMGE2MDcwZTBiYzRiZWY2MDFkMi4uZWE5Yjk4MGQyNDI4ZjU1NDlmNjAz
Y2RlYjg1Yjc1M2VmMjk1MDM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVuZFRlc3RIYXJuZXNzLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRlbmRUZXN0SGFybmVzcy5qcwpAQCAt
NzcsOCArNzcsMTAgQEAgRnJvbnRlbmRUZXN0SGFybmVzcyA9IGNsYXNzIEZyb250ZW5kVGVzdEhh
cm5lc3MgZXh0ZW5kcyBUZXN0SGFybmVzcwogICAgICAgICB0aGlzLmV2YWx1YXRlSW5QYWdlKGBU
ZXN0UGFnZS5kZWJ1Z0xvZyh1bmVzY2FwZSgiJHtlc2NhcGUoc3RyaW5naWZpZWRNZXNzYWdlKX0i
KSk7YCk7CiAgICAgfQogCi0gICAgZXZhbHVhdGVJblBhZ2UoZXhwcmVzc2lvbiwgY2FsbGJhY2sp
CisgICAgZXZhbHVhdGVJblBhZ2UoZXhwcmVzc2lvbiwgY2FsbGJhY2ssIG9wdGlvbnM9e30pCiAg
ICAgeworICAgICAgICBsZXQgcmVtb3RlT2JqZWN0T25seSA9ICEhb3B0aW9ucy5yZW1vdGVPYmpl
Y3RPbmx5OworCiAgICAgICAgIC8vIElmIHdlIGxvYWQgdGhpcyBwYWdlIG91dHNpZGUgb2YgdGhl
IGluc3BlY3Rvciwgb3IgaGl0IGFuIGVhcmx5IGVycm9yIHdoZW4gbG9hZGluZwogICAgICAgICAv
LyB0aGUgdGVzdCBmcm9udGVuZCwgdGhlbiBkZWZlciBldmFsdWF0aW5nIHRoZSBjb21tYW5kcyAo
aW5kZWZpbml0ZWx5IGluIHRoZSBmb3JtZXIgY2FzZSkuCiAgICAgICAgIGlmICh0aGlzLl9vcmln
aW5hbENvbnNvbGUgJiYgIXdpbmRvdy5SdW50aW1lQWdlbnQpIHsKQEAgLTg2LDEwICs4OCwxOCBA
QCBGcm9udGVuZFRlc3RIYXJuZXNzID0gY2xhc3MgRnJvbnRlbmRUZXN0SGFybmVzcyBleHRlbmRz
IFRlc3RIYXJuZXNzCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBp
ZiAodHlwZW9mIGNhbGxiYWNrID09PSAiZnVuY3Rpb24iKQotICAgICAgICAgICAgUnVudGltZUFn
ZW50LmV2YWx1YXRlLmludm9rZSh7ZXhwcmVzc2lvbiwgb2JqZWN0R3JvdXA6ICJ0ZXN0IiwgaW5j
bHVkZUNvbW1hbmRMaW5lQVBJOiBmYWxzZX0sIGNhbGxiYWNrKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgcmV0dXJuIFJ1bnRpbWVBZ2VudC5ldmFsdWF0ZS5pbnZva2Uoe2V4cHJlc3Npb24s
IG9iamVjdEdyb3VwOiAidGVzdCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogZmFsc2V9KTsKKyAg
ICAgICAgLy8gUmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMgZGlyZWN0bHksIG90aGVyd2lzZSByZXR1
cm4gYSBXSS5SZW1vdGVPYmplY3QgaW5zdGFuY2UuCisgICAgICAgIGZ1bmN0aW9uIHJlc3VsdE9i
amVjdFRvUmV0dXJuKHJlc3VsdCkgeworICAgICAgICAgICAgbGV0IHJlbW90ZU9iamVjdCA9IFdJ
LlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpOworICAgICAgICAgICAgcmV0dXJuICgh
cmVtb3RlT2JqZWN0T25seSAmJiByZW1vdGVPYmplY3QuaGFzVmFsdWUoKSkgPyByZW1vdGVPYmpl
Y3QudmFsdWUgOiByZW1vdGVPYmplY3Q7CisgICAgICAgIH0KKworICAgICAgICBsZXQgcmVzcG9u
c2UgPSBSdW50aW1lQWdlbnQuZXZhbHVhdGUuaW52b2tlKHtleHByZXNzaW9uLCBvYmplY3RHcm91
cDogInRlc3QiLCBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IGZhbHNlfSkKKyAgICAgICAgaWYgKGNh
bGxiYWNrICYmIHR5cGVvZiBjYWxsYmFjayA9PT0gImZ1bmN0aW9uIikgeworICAgICAgICAgICAg
cmVzcG9uc2UgPSByZXNwb25zZS50aGVuKCh7cmVzdWx0LCB3YXNUaHJvd259KSA9PiBjYWxsYmFj
ayhudWxsLCByZXN1bHRPYmplY3RUb1JldHVybihyZXN1bHQpLCB3YXNUaHJvd24pKTsKKyAgICAg
ICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UuY2F0Y2goKGVycm9yKSA9PiBjYWxsYmFjayhlcnJv
ciwgbnVsbCwgZmFsc2UpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZXR1cm4gcmVz
cG9uc2UudGhlbigoe3Jlc3VsdH0pID0+IHJlc3VsdE9iamVjdFRvUmV0dXJuKHJlc3VsdCkpOwog
ICAgIH0KIAogICAgIGRlYnVnKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9UZXN0L1Rlc3RIYXJuZXNzLmpzCmluZGV4IDkyMGJlZjFjZWRiMWI2Zjdh
ZThhY2JiM2Y0MTc3MmJmOWVjMzAxZDQuLmNiZmU4ODMwODc1OGFlNTlmY2Q4MmZhMjk4MGFhOWIy
NTM0YWZiNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1Rlc3QvVGVzdEhhcm5lc3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVGVzdC9UZXN0SGFybmVzcy5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTUsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01NSw3ICs1NSwxNCBAQCBUZXN0SGFybmVz
cyA9IGNsYXNzIFRlc3RIYXJuZXNzIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRocm93IG5l
dyBFcnJvcigiTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLiIpOwogICAgIH0KIAot
ICAgIGV2YWx1YXRlSW5QYWdlKHN0cmluZywgY2FsbGJhY2spCisgICAgLy8gSWYgJ2NhbGxiYWNr
JyBpcyBhIGZ1bmN0aW9uLCBpdCB3aWxsIGJlIHdpdGggdGhlIGFyZ3VtZW50cworICAgIC8vIGNh
bGxiYWNrKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikuIE90aGVyd2lzZSwgYSBwcm9taXNlIGlz
CisgICAgLy8gcmV0dXJuZWQgdGhhdCByZXNvbHZlcyB3aXRoICdyZXN1bHQnIG9yIHJlamVjdHMg
d2l0aCAnZXJyb3InLgorCisgICAgLy8gVGhlIG9wdGlvbnMgb2JqZWN0IGFjY2VwdHMgdGhlIGZv
bGxvd2luZyBrZXlzIGFuZCB2YWx1ZXM6CisgICAgLy8gJ3JlbW90ZU9iamVjdE9ubHknOiBpZiB0
cnVlLCBkbyBub3QgdW53cmFwIHRoZSByZXN1bHQgcGF5bG9hZCB0byBhCisgICAgLy8gcHJpbWl0
aXZlIHZhbHVlIGV2ZW4gaWYgcG9zc2libGUuIFVzZWZ1bCBpZiB0ZXN0aW5nIFdJLlJlbW90ZU9i
amVjdCBkaXJlY3RseS4KKyAgICBldmFsdWF0ZUluUGFnZShzdHJpbmcsIGNhbGxiYWNrLCBvcHRp
b25zPXt9KQogICAgIHsKICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJNdXN0IGJlIGltcGxlbWVu
dGVkIGJ5IHN1YmNsYXNzZXMuIik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU4Njk5NzQxYTg2ZmVhNzAyMzVk
NDI3OWM0NzAyZTdkZDFjNGE4NTUuLjJjMWFkN2EzODFlZjA4YWI2OWNlN2EwYTVmYWUwYmFiOTFm
NDA1MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NyBAQAorMjAxNy0xMi0xNCAgQnJpYW4gQnVyZyAgPGJi
dXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlIHNob3VsZCB1bndyYXAgcHJpbWl0aXZlIHZhbHVlcyBieSBkZWZhdWx0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA4MzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvdW5pdC10ZXN0cy90ZXN0LWhhcm5lc3MtZXZhbHVhdGUtaW4tcGFnZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFs
dWF0ZS1pbi1wYWdlLmh0bWw6IEFkZGVkLgorCisgICAgICAgIEFkZCB0ZXN0IGNvdmVyYWdlIGZv
ciBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlLiBPbmx5IHRoZSBwcm9taXNlLXJldHVybmlu
ZworICAgICAgICB2YXJpYW50IGlzIHRlc3RlZCBoZXJlLCBiZWNhdXNlIHRoZSBjYWxsYmFjayB2
YXJpYW50IGlzIHdlbGwtdXNlZCBpbiBleGlzdGluZworICAgICAgICB0ZXN0cyBhbmQgSSBwbGFu
IHRvIHJlbW92ZSB0aGUgY2FsbGJhY2sgdmFyaWFudCBlbnRpcmVseSBpbiBsYXRlciBwYXRjaGVz
LgorCisgICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNr
VHJhY2UuaHRtbDoKKyAgICAgICAgRml4IHNvbWUgYmFkIHRlc3RzIGFuZCByZWJhc2VsaW5lLiBB
IGJ1ZyB3YXMgZmlsZWQgZm9yIHRoZSByZW1haW5pbmcgZmFpbGluZyBhc3NlcnRpb24uCisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vc2hhcGVzLXRlc3QuanM6CisgICAgICAg
IChUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVyLkluc3BlY3RvclRlc3QuU2hhcGVzLnJlY2Vp
dmVkSGlnaGxpZ2h0T2JqZWN0KToKKyAgICAgICAgKFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6
ZXIuSW5zcGVjdG9yVGVzdC5TaGFwZXMuZ2V0U2hhcGVPdXRzaWRlSW5mb0ZvclNlbGVjdG9yKToK
KyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9wYXltZW50cmVxdWVzdC9wYXltZW50LXJl
cXVlc3QtaW50ZXJuYWwtcHJvcGVydGllcy5odHRwcy5odG1sOgorICAgICAgICAqIGluc3BlY3Rv
ci9jb25zb2xlL2NvbW1hbmQtbGluZS1hcGktY29weS5odG1sOgorICAgICAgICAqIGluc3BlY3Rv
ci9jb25zb2xlL2NvbnNvbGUtbG9nLXByb3h5Lmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Rl
YnVnZ2VyL2pzLXN0YWNrdHJhY2UuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tL2hpZGVI
aWdobGlnaHQuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tL2hpZ2hsaWdodEZyYW1lLmh0
bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlLmh0bWw6CisgICAgICAg
ICogaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlTGlzdC5odG1sOgorICAgICAgICAqIGluc3Bl
Y3Rvci9kb20vaGlnaGxpZ2h0UXVhZC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kb20vaGln
aGxpZ2h0UmVjdC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9kb20vaGlnaGxpZ2h0U2VsZWN0
b3IuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcGFnZS9zZXRFbXVsYXRlZE1lZGlhLmh0bWw6
CisgICAgICAgICogaW5zcGVjdG9yL3J1bnRpbWUvZ2V0UHJldmlldy5odG1sOgorICAgICAgICBG
aXggZXhpc3RpbmcgdGVzdHMgdG8gb3B0IG91dCBvZiB1bndyYXBwaW5nIG9yIHVzZSB0aGUgdW53
cmFwcGVkIHZhbHVlIGRpcmVjdGx5LgorCisgICAgICAgICogaW5zcGVjdG9yL2RvbS9zZXRFdmVu
dExpc3RlbmVyRGlzYWJsZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICBSZWJhc2VsaW5lIHJlc3Vs
dHMuIFRoaXMgaXMgY2F1c2VkIGJ5IGFuIGV4dHJhIHByb21pc2UgdGljayBpbiBldmFsdWF0ZUlu
UGFnZS4KKworICAgICAgICAqIGluc3BlY3Rvci9pbmplY3RlZC1zY3JpcHQvb2JzZXJ2YWJsZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2luamVjdGVkLXNjcmlwdC9vYnNlcnZh
YmxlLmh0bWw6CisgICAgICAgIEZpeCBhIHR5cG8gYW5kIHJlYmFzZWxpbmUuCisKKwogMjAxNy0x
Mi0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIg
QW5pbWF0aW9uc10gSW1wbGVtZW50IHRoZSBmaW5pc2goKSBtZXRob2Qgb24gQW5pbWF0aW9uCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vc2hhcGVzLXRl
c3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9kb20vc2hhcGVzLXRlc3Qu
anMKaW5kZXggY2Q0MDE0ZGVhNjA4MTA0YmZiY2E4MGQyNmM0MDg4YzlmODcwZGYyZi4uOTBhMzA1
M2VmNjVlYmI2NTU2MzQzOTRiN2UyNWZhNjMzY2E3OGM1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZG9tL3NoYXBlcy10ZXN0LmpzCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2RvbS9zaGFwZXMtdGVzdC5qcwpAQCAtMzAsMTEgKzMw
LDExIEBAIEluc3BlY3RvclRlc3QuU2hhcGVzID0gewogICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgid2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmpl
Y3QoKSIsIHJlY2VpdmVkSGlnaGxpZ2h0T2JqZWN0KTsKICAgICAgICAgfQogCi0gICAgICAgIGZ1
bmN0aW9uIHJlY2VpdmVkSGlnaGxpZ2h0T2JqZWN0KGVycm9yLCBwYXlsb2FkLCB3YXNUaHJvd24p
IHsKKyAgICAgICAgZnVuY3Rpb24gcmVjZWl2ZWRIaWdobGlnaHRPYmplY3QoZXJyb3IsIHZhbHVl
LCB3YXNUaHJvd24pIHsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwg
IldoZW4gZXZhbHVhdGluZyBjb2RlLCByZWNlaXZlZCB1bmV4cGVjdGVkIGVycm9yOiIgKyBlcnJv
cik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJXaGVuIGV2YWx1
YXRpbmcgY29kZSwgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd246IiArIHdhc1Rocm93bik7CiAKLSAg
ICAgICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShwYXlsb2FkLnZhbHVlKTsKKyAgICAgICAg
ICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZSh2YWx1ZSk7CiAgICAgICAgICAgICBjYWxsYmFjayhk
YXRhWzBdLmVsZW1lbnREYXRhLnNoYXBlT3V0c2lkZURhdGEpOwogICAgICAgICB9CiAgICAgfSwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3BheW1lbnRyZXF1
ZXN0L3BheW1lbnQtcmVxdWVzdC1pbnRlcm5hbC1wcm9wZXJ0aWVzLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVl
c3QtaW50ZXJuYWwtcHJvcGVydGllcy5odHRwcy5odG1sCmluZGV4IGUzNWY5MjUyYTA0MDJiNjA1
ODQ1MWIyZTQ5ZTBjOGU4NmYzYzNlZTYuLjM1ZDg2YjkzMzVmNDk0YWExZGYyZDM2MzViYzgyMTk4
OWExOGMxMzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Bh
eW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1pbnRlcm5hbC1wcm9wZXJ0aWVzLmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcGF5bWVudHJlcXVlc3Qv
cGF5bWVudC1yZXF1ZXN0LWludGVybmFsLXByb3BlcnRpZXMuaHR0cHMuaHRtbApAQCAtMTMzLDEx
ICsxMzMsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
ICAgICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uLAogICAgICAgICAgICAgYXN5bmMgdGVzdCgp
IHsKLSAgICAgICAgICAgICAgICBsZXQgW3Jlc3VsdF0gPSBhd2FpdCBQcm9taXNlLmFsbChbCi0g
ICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoZXhwcmVzc2lv
biksCisgICAgICAgICAgICAgICAgbGV0IFtyZW1vdGVPYmplY3QsIF9dID0gYXdhaXQgUHJvbWlz
ZS5hbGwoWworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KGV4cHJlc3Npb24sIG51bGwsIHtyZW1vdGVPYmplY3RPbmx5OiB0cnVlfSksCiAgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCgiQ29udGludWUiKSwKICAgICAgICAg
ICAgICAgICBdKTsKLSAgICAgICAgICAgICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3Rl
T2JqZWN0LmZyb21QYXlsb2FkKHJlc3VsdC5yZXN1bHQpOwogICAgICAgICAgICAgICAgIGxldCBb
cHJvcGVydHlEZXNjcmlwdG9yc10gPSBhd2FpdCBwcm9taXNpZnkoKGNiKSA9PiB7IHJlbW90ZU9i
amVjdC5nZXRBbGxQcm9wZXJ0eURlc2NyaXB0b3JzKGNiKTsgfSk7CiAgICAgICAgICAgICAgICAg
Zm9yIChsZXQgcHJvcGVydHlEZXNjcmlwdG9yIG9mIHByb3BlcnR5RGVzY3JpcHRvcnMucmV2ZXJz
ZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eURlc2NyaXB0b3IuaXNJbnRl
cm5hbFByb3BlcnR5KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9jb21tYW5kLWxpbmUtYXBpLWNvcHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25z
b2xlL2NvbW1hbmQtbGluZS1hcGktY29weS5odG1sCmluZGV4IDcxY2U1NjBiZTBiMDYxNWQ5NTI1
MGFkOWUxOWZiMWZmNDMzZDhmOTguLjI1YTQ4MTM4OTlmZDBjOTFhZTIzOTQxODU1NzUzNDJjZjEy
MTNjNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbW1hbmQt
bGluZS1hcGktY29weS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2Nv
bW1hbmQtbGluZS1hcGktY29weS5odG1sCkBAIC0yNCwxMCArMjQsOSBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICBmdW5jdGlvbiBjb21tYW5kTGluZUFQSUNvcHlBbmRQYXN0ZShleHByZXNzaW9uLCBj
YWxsYmFjaykgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgZXhwcmVzc2lv
biA9PT0gInN0cmluZyIsICJUZXN0IHJlcXVpcmVzIHN0cmluZyBleHByZXNzaW9uIHRvIGV2YWx1
YXRlIG9uIHRoZSBwYWdlLiIpOwogICAgICAgICBXSS5ydW50aW1lTWFuYWdlci5ldmFsdWF0ZUlu
SW5zcGVjdGVkV2luZG93KGBjb3B5KCR7ZXhwcmVzc2lvbn0pYCwge29iamVjdEdyb3VwOiAidGVz
dCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZX0sICgpID0+IHsKLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInBhc3RlQW5kUmV0dXJuU3RyaW5nKCkiLCAoZXJy
b3IsIHJlbW90ZU9iamVjdFBheWxvYWQpID0+IHsKLSAgICAgICAgICAgICAgICBsZXQgcmVtb3Rl
T2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxvYWQp
OwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHJlbW90ZU9iamVjdC50eXBl
ID09PSAic3RyaW5nIiwgIlJlbW90ZU9iamVjdCBmcm9tIHBhc3RlQW5kUmV0dXJuU3RyaW5nIHNo
b3VsZCByZXR1cm4gYSBzdHJpbmcuIik7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2socmVtb3Rl
T2JqZWN0LnZhbHVlKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
YHBhc3RlQW5kUmV0dXJuU3RyaW5nKClgLCAoZXJyb3IsIHJlc3VsdCkgPT4geworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiByZXN1bHQgPT09ICJzdHJpbmciLCAi
UmVzdWx0IGZyb20gcGFzdGVBbmRSZXR1cm5TdHJpbmcgc2hvdWxkIGJlIGEgc3RyaW5nLiIpCisg
ICAgICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0KTsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9j
b25zb2xlLWxvZy1wcm94eS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29u
c29sZS1sb2ctcHJveHkuaHRtbAppbmRleCBiZWRmM2RiOThmMGE1YjI3YjYxMGUzZWMyZjEzMTgy
YTE2OGM3OTQ3Li42M2VlMjczYzZiY2QwYmMyMmRmNTJkYjNkNDg5NTY3MDI2YTYzYWU5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWxvZy1wcm94eS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtbG9nLXByb3h5
Lmh0bWwKQEAgLTQyLDggKzQyLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ0cmlnZ2VyUHJveHlDb25zb2xlTG9nKCkiLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LmFjY2Vzc2VkSGFuZGxlckdldCIsIChl
cnJvciwgcmVzdWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IFdJLlJl
bW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpLnZhbHVlOwotICAgICAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHZhbHVlLCBmYWxzZSwgIkxvZ2dpbmcgUHJveHkg
b2JqZWN0cyBzaG91bGQgbm90IGhhdmUgdHJpZ2dlcmVkIGdldCB0cmFwLiIpOworICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEZhbHNlKHJlc3VsdCwgIkxvZ2dpbmcgUHJv
eHkgb2JqZWN0cyBzaG91bGQgbm90IGhhdmUgdHJpZ2dlcmVkIGdldCB0cmFwLiIpOwogICAgICAg
ICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAg
ICB9KTsKQEAgLTU2LDggKzU1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ0cmlnZ2VyUHJveHlBbmRQcmltaXRpdmVDb25zb2xlTG9nKCkiLCAoKSA9PiB7CiAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LmFjY2Vzc2VkSGFu
ZGxlckdldCIsIChlcnJvciwgcmVzdWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIGxldCB2
YWx1ZSA9IFdJLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpLnZhbHVlOwotICAgICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHZhbHVlLCBmYWxzZSwgIkxv
Z2dpbmcgUHJveHkgb2JqZWN0cyBhbmQgcHJpbWl0aXZlcyBzaG91bGQgbm90IGhhdmUgdHJpZ2dl
cmVkIGdldCB0cmFwLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEZhbHNlKHJlc3VsdCwgIkxvZ2dpbmcgUHJveHkgb2JqZWN0cyBhbmQgcHJpbWl0aXZlcyBzaG91
bGQgbm90IGhhdmUgdHJpZ2dlcmVkIGdldCB0cmFwLiIpOwogICAgICAgICAgICAgICAgICAgICBy
ZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0
YWNrVHJhY2UtZXhwZWN0ZWQudHh0CmluZGV4IGY0ZGRmYTVjNTdlOWQ1MTM3MTg2ZDc5YTA4ZjMz
OTYzMjI1ZDgxMWQuLmUxMzk1OGZmNjM5ODFhY2Y2MDlhY2EzYzcwYTFmMjc3MWZiNDA1ZGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tU
cmFjZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMt
aXNMaWtlbHlTdGFja1RyYWNlLWV4cGVjdGVkLnR4dApAQCAtMiwxNCArMiwxOCBAQCBUZXN0IHN0
YWNrIHRyYWNlIGRldGVjdGlvbiBoZXVyaXN0aWMuCiAKID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
V0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBu
b3RTdGFja3RyYWNlCi1BU1NFUlQ6IFNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNlLgorUEFTUzog
U2hvdWxkIE5PVCBiZSBhIHN0YWNrdHJhY2UuCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiB0eXBl
RXJyb3JXcmFwCi1BU1NFUlQ6IFNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCitGQUlMOiBTaG91bGQg
YmUgYSBzdGFja3RyYWNlLgorICAgIEV4cGVjdGVkOiB0cnV0aHkKKyAgICBBY3R1YWw6IGZhbHNl
CiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBnZXRBbm9ueW1vdXNGdW5jdGlvbkVycm9yCi1BU1NF
UlQ6IFNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCitQQVNTOiBTaG91bGQgYmUgYSBzdGFja3RyYWNl
LgogCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogdGVzdFdpdGhOYXRpdmVDYWxsSW5CZXR3ZWVuCi1B
U1NFUlQ6IFNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCitGQUlMOiBTaG91bGQgYmUgYSBzdGFja3Ry
YWNlLgorICAgIEV4cGVjdGVkOiB0cnV0aHkKKyAgICBBY3R1YWw6IGZhbHNlCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNl
Lmh0bWwKaW5kZXggOWI5ZDY5ZThlMTEwNmQzZTM0MGIyOTA4ZTVjMTEyMzU2MDI0YmY4Mi4uYTJk
YjQyYjYwODRlMTZmMTA5NDU1YWVlOTAyY2I3ZDllZDgxNWQzMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLmh0bWwK
QEAgLTQ2LDggKzQ2LDggQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVzdENhc2Uo
ewogICAgICAgICBuYW1lOiAibm90U3RhY2t0cmFjZSIsCiAgICAgICAgIHRlc3QocmVzb2x2ZSwg
cmVqZWN0KSB7Ci0gICAgICAgICAgICB2YXIgcmVzdWx0ID0gV0kuU3RhY2tUcmFjZS5pc0xpa2Vs
eVN0YWNrVHJhY2UoIk1lc3NhZ2VzOjQyXG5VbnJlYWQ6MTYiKTsKLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0KHJlc3VsdCwgIlNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNlLiIpOwor
ICAgICAgICAgICAgbGV0IHJlc3VsdCA9IFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNl
KCJNZXNzYWdlczo0MlxuVW5yZWFkOjE2Iik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdEZhbHNlKHJlc3VsdCwgIlNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNlLiIpOwogICAgICAg
ICAgICAgcmVzb2x2ZSgpOwogICAgICAgICB9CiAgICAgfSk7CkBAIC01OSw3ICs1OSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgICAgIGlmIChlcnJvcikKICAgICAgICAgICAgICAg
ICAgICAgcmVqZWN0KGVycm9yKTsKIAotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0KFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlKHJlc3VsdCksICJTaG91bGQgYmUg
YSBzdGFja3RyYWNlLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEg
c3RhY2t0cmFjZS4iKTsKIAogICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKICAgICAgICAgICAg
IH0pOwpAQCAtNzMsNyArNzMsOCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgICAgICBp
ZiAoZXJyb3IpCiAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7CiAKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tU
cmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4iKTsKKyAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogdGhpcyB0ZXN0IGNhc2UgZmFpbHMuIDxodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgwNjY0PgorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hv
dWxkIGJlIGEgc3RhY2t0cmFjZS4iKTsKIAogICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKICAg
ICAgICAgICAgIH0pOwpAQCAtODcsNyArODgsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAg
ICAgICAgICBpZiAoZXJyb3IpCiAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7CiAK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChXSS5TdGFja1RyYWNlLmlzTGlr
ZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4iKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoV0kuU3RhY2tUcmFjZS5pc0xpa2Vs
eVN0YWNrVHJhY2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7CiAKICAgICAg
ICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9qcy1zdGFja3RyYWNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvanMtc3RhY2t0cmFjZS5odG1sCmluZGV4IDlmMGRjMjU5OTEy
NDk1Zjg1ZGRhMzg3NTRiZTJjNTc3OWY2NmNmMTUuLmMxMGVlMGZlYWVkMTdmN2U2ZjMxYWE5YTNm
YWYxYzA1ZWM5ZjEwY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9qcy1zdGFja3RyYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2Vy
L2pzLXN0YWNrdHJhY2UuaHRtbApAQCAtMTA2LDcgKzEwNiw3IEBAIGZ1bmN0aW9uIHRlc3QoKQog
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoZXhwcmVzc2lvbiwg
KGVycm9yLCByZXN1bHQpID0+IHsKICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnQoIWVycm9yLCBlcnJvcik7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJcbkVycm9yIG9iamVjdDoiKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHN0YWNrVHJh
Y2UgPSBzdHJpcEZpbGVQYXRocyhzdHJpcFBheWxvYWRBZnRlckdsb2JhbENvZGUoV0kuU3RhY2tU
cmFjZS5fcGFyc2VTdGFja1RyYWNlKHJlc3VsdC52YWx1ZSkpKTsKKyAgICAgICAgICAgICAgICAg
ICAgbGV0IHN0YWNrVHJhY2UgPSBzdHJpcEZpbGVQYXRocyhzdHJpcFBheWxvYWRBZnRlckdsb2Jh
bENvZGUoV0kuU3RhY2tUcmFjZS5fcGFyc2VTdGFja1RyYWNlKHJlc3VsdCkpKTsKICAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coSlNPTi5zdHJpbmdpZnkoc3RhY2tUcmFjZSwg
bnVsbCwgNCkpOwogICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICAg
ICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZGVIaWdobGln
aHQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlkZUhpZ2hsaWdodC5odG1sCmlu
ZGV4IGY2MjJhYWZkMWNmNzRjM2NkMWVjN2UyNmMzNjljNzEwZDgyMTMwMDkuLjgyZDNiOTE1YzVl
M2E1YzUzNjgzYTlkMTJhZjVlNWM1ZTA1Y2JkMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kb20vaGlkZUhpZ2hsaWdodC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kb20vaGlkZUhpZ2hsaWdodC5odG1sCkBAIC05LDEwICs5LDEwIEBAIGZ1bmN0aW9uIHRlc3Qo
KQogICAgIGNvbnN0IG91dGxpbmVDb2xvciA9IHVuZGVmaW5lZDsKIAogICAgIGZ1bmN0aW9uIGdl
dEhpZ2hsaWdodFJlY3RzKGNhbGxiYWNrKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoIkpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20od2luZG93LmludGVybmFscy5pbnNw
ZWN0b3JIaWdobGlnaHRSZWN0cygpKSkiLCAoZXJyb3IsIHBheWxvYWQsIHdhc1Rocm93bikgPT4g
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJKU09OLnN0cmluZ2lmeShB
cnJheS5mcm9tKHdpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0UmVjdHMoKSkpIiwg
KGVycm9yLCB2YWx1ZSwgd2FzVGhyb3duKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydCghZXJyb3IsICJVbmV4cGVjdGVkIGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsg
ZXJyb3IpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZHVtcGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAgICAg
ICBjYWxsYmFjayhKU09OLnBhcnNlKHBheWxvYWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNhbGxi
YWNrKEpTT04ucGFyc2UodmFsdWUpKTsKICAgICAgICAgfSk7CiAgICAgfQogCkBAIC0yNSwxMCAr
MjUsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgfQogCiAgICAgZnVuY3Rpb24gZ2V0SGlnaGxp
Z2h0KGNhbGxiYWNrKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndp
bmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCkiLCAoZXJyb3IsIHBheWxv
YWQsIHdhc1Rocm93bikgPT4geworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KCJ3aW5kb3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodE9iamVjdCgpIiwgKGVycm9yLCB2
YWx1ZSwgd2FzVGhyb3duKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCgh
ZXJyb3IsICJVbmV4cGVjdGVkIGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsgZXJyb3IpOwog
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlVuZXhwZWN0ZWQg
ZXhjZXB0aW9uIHdoZW4gZHVtcGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAgICAgICBjYWxsYmFj
ayhKU09OLnBhcnNlKHBheWxvYWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKEpTT04u
cGFyc2UodmFsdWUpKTsKICAgICAgICAgfSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodEZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZG9tL2hpZ2hsaWdodEZyYW1lLmh0bWwKaW5kZXggMzdlYmFiMjk2ZTM1OWY1NjRhZjBm
ZWYwZWNiYTI3NTMxMTYyNGMyMi4uYmQ2YmJjMWJmNTc2MDgwNDE3YmE2NWRmYmEwMTU4MzY3Yzlk
ZTM5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRGcmFt
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0RnJhbWUuaHRt
bApAQCAtMTIsMTAgKzEyLDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwoY2hpbGRGcmFtZXMubGVuZ3RoLCAyLCAiUGFnZSBzaG91bGQgaGF2ZSBzdWJm
cmFtZXMuIik7CiAKICAgICBmdW5jdGlvbiBnZXRIaWdobGlnaHQoY2FsbGJhY2spIHsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgid2luZG93LmludGVybmFscy5pbnNwZWN0
b3JIaWdobGlnaHRPYmplY3QoKSIsIChlcnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5z
cGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCkiLCAoZXJyb3IsIHZhbHVlLCB3YXNUaHJvd24pID0+IHsK
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlVuZXhwZWN0ZWQgZXJy
b3IgZHVtcGluZyBoaWdobGlnaHQ6ICIgKyBlcnJvcik7CiAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydCghd2FzVGhyb3duLCAiVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBkdW1waW5n
IGhpZ2hsaWdodC4iKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UocGF5bG9hZC52
YWx1ZSkpOworICAgICAgICAgICAgY2FsbGJhY2soSlNPTi5wYXJzZSh2YWx1ZSkpOwogICAgICAg
ICB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGln
aGxpZ2h0Tm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2Rl
Lmh0bWwKaW5kZXggZThjODQ5NjcyOWYyNmYyM2IwN2FkOGNlY2JjOGJmNGVkMjg3YzcyZS4uNTJj
NDY4M2NjMTliZjZjYmI1NTY2YTQwYWY2MGIxMjNkOGM0OTA1NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlLmh0bWwKQEAgLTIwLDEwICsyMCwxMCBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICB9OwogCiAgICAgZnVuY3Rpb24gZ2V0SGlnaGxpZ2h0KGNhbGxiYWNr
KSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5h
bHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCkiLCAoZXJyb3IsIHBheWxvYWQsIHdhc1Rocm93
bikgPT4geworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ3aW5kb3cuaW50
ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodE9iamVjdCgpIiwgKGVycm9yLCB2YWx1ZSwgd2FzVGhy
b3duKSA9PiB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghZXJyb3IsICJVbmV4
cGVjdGVkIGVycm9yIGR1bXBpbmcgaGlnaGxpZ2h0OiAiICsgZXJyb3IpOwogICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hc3NlcnQoIXdhc1Rocm93biwgIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZHVtcGluZyBoaWdobGlnaHQuIik7Ci0gICAgICAgICAgICBjYWxsYmFjayhKU09OLnBhcnNl
KHBheWxvYWQudmFsdWUpKTsKKyAgICAgICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UodmFsdWUp
KTsKICAgICAgICAgfSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZG9tL2hpZ2hsaWdodE5vZGVMaXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
L2hpZ2hsaWdodE5vZGVMaXN0Lmh0bWwKaW5kZXggNDAyYmZlNGJmNGFiMTQ1ZWViZTY1M2MzNGJh
OTNlMTczYmM2ZjBjNy4uOTBjZTljODFjZGRjMmZjNTE4NDNiMWQzMmZkNDc5Zjk1ZmRkZjQxMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHROb2RlTGlzdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0Tm9kZUxpc3QuaHRt
bApAQCAtMjAsMTAgKzIwLDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIH07CiAKICAgICBmdW5j
dGlvbiBnZXRIaWdobGlnaHQoY2FsbGJhY2spIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgid2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmplY3QoKSIs
IChlcnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0
KCkiLCAoZXJyb3IsIHZhbHVlLCB3YXNUaHJvd24pID0+IHsKICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0KCFlcnJvciwgIlVuZXhwZWN0ZWQgZXJyb3IgZHVtcGluZyBoaWdobGlnaHQ6
ICIgKyBlcnJvcik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3du
LCAiVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBkdW1waW5nIGhpZ2hsaWdodC4iKTsKLSAgICAg
ICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UocGF5bG9hZC52YWx1ZSkpOworICAgICAgICAgICAg
Y2FsbGJhY2soSlNPTi5wYXJzZSh2YWx1ZSkpOwogICAgICAgICB9KTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0UXVhZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRRdWFkLmh0bWwKaW5kZXggNWJmZmQyMDRm
OWIyMmI0YTNmZmYzN2M4MDFhZGVlYWE2MGRlNmY4OS4uNmMxNWM1ZjUwMWI2OTJjMjQ2OWEwYTQy
MDM3ZmViODU0M2VjMDAyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9o
aWdobGlnaHRRdWFkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGln
aHRRdWFkLmh0bWwKQEAgLTExLDEwICsxMSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBjb25z
dCB1c2VQYWdlQ29vcmRpbmF0ZXMgPSB0cnVlOwogCiAgICAgZnVuY3Rpb24gZ2V0SGlnaGxpZ2h0
UmVjdHMoY2FsbGJhY2spIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
SlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh3aW5kb3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hs
aWdodFJlY3RzKCkpKSIsIChlcnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoIkpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20o
d2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpKSkiLCAoZXJyb3IsIHZh
bHVlLCB3YXNUaHJvd24pID0+IHsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFl
cnJvciwgIlVuZXhwZWN0ZWQgZXJyb3IgZHVtcGluZyBoaWdobGlnaHQ6ICIgKyBlcnJvcik7CiAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3duLCAiVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBkdW1waW5nIGhpZ2hsaWdodC4iKTsKLSAgICAgICAgICAgIGNhbGxiYWNr
KEpTT04ucGFyc2UocGF5bG9hZC52YWx1ZSkpOworICAgICAgICAgICAgY2FsbGJhY2soSlNPTi5w
YXJzZSh2YWx1ZSkpOwogICAgICAgICB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kb20vaGlnaGxpZ2h0UmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS9oaWdobGlnaHRSZWN0Lmh0bWwKaW5kZXggODVmZjVjN2FmY2JkYjdjMzlhMzNiYjMz
N2Q2ZDRiNTMxMTg4NDYyMC4uODg1NDExNGU0ZWNkOTdlNWRhZWYwODliZGFiZmUwODk5MWQ1NWQ2
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRSZWN0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRSZWN0Lmh0bWwKQEAg
LTExLDEwICsxMSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBjb25zdCB1c2VQYWdlQ29vcmRp
bmF0ZXMgPSB0cnVlOwogCiAgICAgZnVuY3Rpb24gZ2V0SGlnaGxpZ2h0UmVjdHMoY2FsbGJhY2sp
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiSlNPTi5zdHJpbmdpZnko
QXJyYXkuZnJvbSh3aW5kb3cuaW50ZXJuYWxzLmluc3BlY3RvckhpZ2hsaWdodFJlY3RzKCkpKSIs
IChlcnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoIkpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20od2luZG93LmludGVybmFs
cy5pbnNwZWN0b3JIaWdobGlnaHRSZWN0cygpKSkiLCAoZXJyb3IsIHZhbHVlLCB3YXNUaHJvd24p
ID0+IHsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFlcnJvciwgIlVuZXhwZWN0
ZWQgZXJyb3IgZHVtcGluZyBoaWdobGlnaHQ6ICIgKyBlcnJvcik7CiAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3duLCAiVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBk
dW1waW5nIGhpZ2hsaWdodC4iKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKEpTT04ucGFyc2UocGF5
bG9hZC52YWx1ZSkpOworICAgICAgICAgICAgY2FsbGJhY2soSlNPTi5wYXJzZSh2YWx1ZSkpOwog
ICAgICAgICB9KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
b20vaGlnaGxpZ2h0U2VsZWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vaGln
aGxpZ2h0U2VsZWN0b3IuaHRtbAppbmRleCBjMDQ3ZTg4NzJhZmYzY2UxYjA1M2Q4MzUyYjEwOTg5
ODU2YjFkNTExLi5iZGY5YTdjMTRjNTY4MWNlOWVkYzgzMWFkNDRiN2M5Njg5YzYwMmM2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2hpZ2hsaWdodFNlbGVjdG9yLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9oaWdobGlnaHRTZWxlY3Rvci5odG1sCkBA
IC0xMDEsMTAgKzEwMSwxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB9CiAKICAgICBmdW5jdGlv
biBnZXRIaWdobGlnaHQoY2FsbGJhY2spIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgid2luZG93LmludGVybmFscy5pbnNwZWN0b3JIaWdobGlnaHRPYmplY3QoKSIsIChl
cnJvciwgcGF5bG9hZCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoIndpbmRvdy5pbnRlcm5hbHMuaW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KCki
LCAoZXJyb3IsIHZhbHVlLCB3YXNUaHJvd24pID0+IHsKICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KCFlcnJvciwgIlVuZXhwZWN0ZWQgZXJyb3IgZHVtcGluZyBoaWdobGlnaHQ6ICIg
KyBlcnJvcik7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghd2FzVGhyb3duLCAi
VW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBkdW1waW5nIGhpZ2hsaWdodC4iKTsKLSAgICAgICAg
ICAgIGNhbGxiYWNrKEpTT04ucGFyc2UocGF5bG9hZC52YWx1ZSkpOworICAgICAgICAgICAgY2Fs
bGJhY2soSlNPTi5wYXJzZSh2YWx1ZSkpOwogICAgICAgICB9KTsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vc2V0RXZlbnRMaXN0ZW5lckRp
c2FibGVkLWV4cGVjdGVkLnR4dAppbmRleCBlOTExNjQwZmQ3MTVkZTExYTI2YjUwN2U3ZDQwMmFm
NmQ2NTcyMmViLi43OWQ0YjE0MWU2NzM4NTZkZWFkYWVmMjAxNDlkODBjZDFhMjI2NjFkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL3NldEV2ZW50TGlzdGVuZXJEaXNhYmxl
ZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9zZXRFdmVudExp
c3RlbmVyRGlzYWJsZWQtZXhwZWN0ZWQudHh0CkBAIC01LDE1ICs1LDE1IEBAIFRlc3RpbmcgRE9N
QWdlbnQuc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLgogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERP
TS5zZXRFdmVudExpc3RlbmVyRGlzYWJsZWQuRGlzYWJsZWRDbGlja0V2ZW50CiBDbGljayBldmVu
dCBsaXN0ZW5lciBpcyBlbmFibGVkLgogRGlzYWJsaW5nIGV2ZW50IGxpc3RlbmVyLi4uCi08Ym9k
eT4gY2xpY2tlZC4KIFBBU1M6IENsaWNrIGV2ZW50IGxpc3RlbmVyIGRpZCBub3QgZmlyZS4KKzxi
b2R5PiBjbGlja2VkLgogQ2xpY2sgZXZlbnQgbGlzdGVuZXIgaXMgZGlzYWJsZWQuCiAKIC0tIFJ1
bm5pbmcgdGVzdCBjYXNlOiBET00uc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLlJlZW5hYmxlZENs
aWNrRXZlbnQKIENsaWNrIGV2ZW50IGxpc3RlbmVyIGlzIGRpc2FibGVkLgogRW5hYmxpbmcgZXZl
bnQgbGlzdGVuZXIuLi4KLTxib2R5PiBjbGlja2VkLgogUEFTUzogQ2xpY2sgZXZlbnQgbGlzdGVu
ZXIgZmlyZWQuCis8Ym9keT4gY2xpY2tlZC4KIENsaWNrIGV2ZW50IGxpc3RlbmVyIGlzIGVuYWJs
ZWQuCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET00uc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVk
LkludmFsaWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9pbmplY3RlZC1zY3Jp
cHQvb2JzZXJ2YWJsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvaW5qZWN0
ZWQtc2NyaXB0L29ic2VydmFibGUtZXhwZWN0ZWQudHh0CmluZGV4IDllOTI5NTIzYmY1ZGU4MDVl
NWU0ODc0ODg5NzZmNjdjMWQ2YWVjMzAuLmM3OWU3ODlkOTEzYTFiMWU1ZTAxMjM3NDNlODQxN2Fh
ZDJhODcxY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9pbmplY3RlZC1zY3Jp
cHQvb2JzZXJ2YWJsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2lu
amVjdGVkLXNjcmlwdC9vYnNlcnZhYmxlLWV4cGVjdGVkLnR4dApAQCAtNiw1ICs2LDUgQEAgVGVz
dCB0aGF0IGNlcnRhaW4gSW5qZWN0ZWRTY3JpcHRTb3VyY2Ugb3BlcmF0aW9ucyBhcmUgbm90IG9i
c2VydmFibGUgYnkgdXNlciBjb2QKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBJbmplY3RlZFNjcmlw
dC5PYnNlcnZhYmxlOkFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdCiBQQVNTOiBQYXVz
ZWQuCiBQQVNTOiBSZXN1bWVkLgotUEFTUzogMQorUEFTUzogQXJyYXkucHJvdG90eXBlW1N5bWJv
bC5pdGVyYXRvcl0gY2FsbCBjb3VudCBzaG91bGQgYmUgMS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2luamVjdGVkLXNjcmlwdC9vYnNlcnZhYmxlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvaW5qZWN0ZWQtc2NyaXB0L29ic2VydmFibGUuaHRtbAppbmRleCAzZmJj
ODAyYTIyZDZiYThjNGYyZjY1NWQ5Mzc5MjM0MWIxY2M0NmQ4Li40ZDhkNjZlNTJmYmNiMTcxYWIx
YzkwYTc2NThkOWQ5M2M4NDdkNjk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
aW5qZWN0ZWQtc2NyaXB0L29ic2VydmFibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvaW5qZWN0ZWQtc2NyaXB0L29ic2VydmFibGUuaHRtbApAQCAtNDEsNyArNDEsNyBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICAgICAgZGVzY3JpcHRpb246ICJBcnJheSBpdGVyYXRpb24gaW4gSW5q
ZWN0ZWQgU2NyaXB0IHNob3VsZCBub3QgYmUgb2JzZXJ2YWJsZSIsCiAgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KGB0cmlnZ2VySXRlcmF0aW9uKClgLCAoZXJyb3IsIHJlc3VsdCkgPT4gewotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZXN1bHQudmFsdWUsIDEsICJBcnJheS5wcm90
b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSBjYWxsIGNvdW50IHNob3VsZCBiZSAxLiIpOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LCAxLCAiQXJyYXkucHJv
dG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gY2FsbCBjb3VudCBzaG91bGQgYmUgMS4iKTsKICAgICAg
ICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICB9KTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3BhZ2Uvc2V0RW11bGF0ZWRNZWRpYS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3BhZ2Uvc2V0RW11bGF0ZWRNZWRpYS5odG1sCmluZGV4IGI5ZDg3MWE4Yjdl
MmE3YTg3YjNhYWM3ZjlhMmFhNTkwNTM2YWNiNzQuLjQzYjJmY2Q4M2FhMGMxMWExZTEwNWM1MzAw
ZGM1MDMzZDZmMjM2NDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wYWdlL3Nl
dEVtdWxhdGVkTWVkaWEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcGFnZS9zZXRF
bXVsYXRlZE1lZGlhLmh0bWwKQEAgLTIzLDEwICsyMywxMCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAg
ICAgICAgZGVzY3JpcHRpb246ICJJbml0aWFsIG1lZGlhIHR5cGUgc2hvdWxkIG1hdGNoIHNjcmVl
bi4iLAogICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibWVkaWFRdWVyeUxpc3QubWF0Y2hlcyIsIChlcnJvciwg
cmVzdWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChy
ZXN1bHQudmFsdWUsIGZhbHNlLCAiUGFnZSBzaG91bGQgbm90IG1hdGNoIHByaW50IG1lZGlhLiIp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LCBmYWxz
ZSwgIlBhZ2Ugc2hvdWxkIG5vdCBtYXRjaCBwcmludCBtZWRpYS4iKTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5ib2R5KS5jb2xvciIsIChlcnJvciwgcmVzdWx0KSA9PiB7Ci0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZXN1bHQudmFsdWUsICJyZ2IoMCwg
MCwgMjU1KSIsICJCb2R5IGNvbG9yIHNob3VsZCBiZSBibHVlLiIpOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0LCAicmdiKDAsIDAsIDI1NSkiLCAiQm9k
eSBjb2xvciBzaG91bGQgYmUgYmx1ZS4iKTsKICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgfQpAQCAtMzgsMTAgKzM4LDEwIEBAIGZ1bmN0aW9uIHRl
c3QoKQogICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgUGFnZUFn
ZW50LnNldEVtdWxhdGVkTWVkaWEoInByaW50IiwgKGVycm9yKSA9PiB7CiAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibWVkaWFRdWVyeUxpc3QubWF0Y2hlcyIs
IChlcnJvciwgcmVzdWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwocmVzdWx0LnZhbHVlLCB0cnVlLCAiUGFnZSBzaG91bGQgbm93IG1hdGNoIHBy
aW50IG1lZGlhLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKHJlc3VsdCwgdHJ1ZSwgIlBhZ2Ugc2hvdWxkIG5vdyBtYXRjaCBwcmludCBtZWRpYS4iKTsK
ICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmNvbG9yIiwgKGVycm9y
LCByZXN1bHQpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RF
cXVhbChyZXN1bHQudmFsdWUsICJyZ2IoMCwgMTI4LCAwKSIsICJCb2R5IGNvbG9yIHNob3VsZCBi
ZSBncmVlbi4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVh
bChyZXN1bHQsICJyZ2IoMCwgMTI4LCAwKSIsICJCb2R5IGNvbG9yIHNob3VsZCBiZSBncmVlbi4i
KTsKICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAgICAgIH0pOwog
ICAgICAgICAgICAgfSk7CkBAIC01NCwxMCArNTQsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
ICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgICAgICBQYWdlQWdlbnQuc2V0RW11
bGF0ZWRNZWRpYSgiIiwgKGVycm9yKSA9PiB7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgibWVkaWFRdWVyeUxpc3QubWF0Y2hlcyIsIChlcnJvciwgcmVzdWx0
KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVz
dWx0LnZhbHVlLCBmYWxzZSwgIlBhZ2Ugc2hvdWxkIG5vdyBub3QgbWF0Y2ggcHJpbnQgbWVkaWEu
Iik7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVzdWx0
LCBmYWxzZSwgIlBhZ2Ugc2hvdWxkIG5vdyBub3QgbWF0Y2ggcHJpbnQgbWVkaWEuIik7CiAgICAg
ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZSgiZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5jb2xvciIsIChlcnJvciwgcmVz
dWx0KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwo
cmVzdWx0LnZhbHVlLCAicmdiKDAsIDAsIDI1NSkiLCAiUGFnZSBzaG91bGQgbm93IG1hdGNoIHBy
aW50IG1lZGlhLiIpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKHJlc3VsdCwgInJnYigwLCAwLCAyNTUpIiwgIlBhZ2Ugc2hvdWxkIG5vdyBtYXRjaCBwcmlu
dCBtZWRpYS4iKTsKICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcnVudGltZS9nZXRQcmV2aWV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGlt
ZS9nZXRQcmV2aWV3Lmh0bWwKaW5kZXggMjI3MWUyZmE5OGQzYmYyODRkNTQzYTdjMGUxNmRjMTM3
NDkwYmY3OC4uMmQzMGJlYWI3ZmFiMjQ2YzhjNWMyNjUwZDYwZmFkNTdlY2U1NTI3MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvZ2V0UHJldmlldy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL2dldFByZXZpZXcuaHRtbApAQCAtNzQsOCAr
NzQsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgbmFtZTogIlJlbW90ZU9iamVjdC51cGRh
dGVQcmV2aWV3LlN5bWJvbCIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiTm9uLW9iamVjdCBSZW1v
dGVPYmplY3RzIHNob3VsZCBub3QgcmVxdWVzdCBhIHByZXZpZXcuIiwKICAgICAgICAgdGVzdChy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoYFN5bWJvbC5pdGVyYXRvcmAsIChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCkgPT4gewot
ICAgICAgICAgICAgICAgIGxldCByZW1vdGVPYmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBh
eWxvYWQocmVtb3RlT2JqZWN0UGF5bG9hZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKGBTeW1ib2wuaXRlcmF0b3JgLCAoZXJyb3IsIHJlbW90ZU9iamVjdCkgPT4g
ewogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdCghcmVtb3RlT2JqZWN0
LmNhbkxvYWRQcmV2aWV3KCksIGBTaG91bGQgbm90IGJlIGFibGUgdG8gbG9hZCBhIHByZXZpZXcg
Zm9yIGEgJHtyZW1vdGVPYmplY3QudHlwZX0gUmVtb3RlT2JqZWN0LmApOwogICAgICAgICAgICAg
ICAgIHJlbW90ZU9iamVjdC51cGRhdGVQcmV2aWV3KChwcmV2aWV3KSA9PiB7CiAgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0TnVsbChwcmV2aWV3LCBgUmVtb3RlT2JqZWN0
LnVwZGF0ZVByZXZpZXcgc2hvdWxkIHJldHVybiBudWxsIGZvciBhICR7cmVtb3RlT2JqZWN0LnR5
cGV9IFJlbW90ZU9iamVjdC5gKTsKQEAgLTg5LDggKzg4LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgIG5hbWU6ICJSZW1vdGVPYmplY3QudXBkYXRlUHJldmlldy5GdW5jdGlvbiIsCiAgICAg
ICAgIGRlc2NyaXB0aW9uOiAiTm9uLW9iamVjdCBSZW1vdGVPYmplY3RzIHNob3VsZCBub3QgcmVx
dWVzdCBhIHByZXZpZXcuIiwKICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGZ1bmN0aW9uIGYoKSB7fTsgZmAs
IChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCkgPT4gewotICAgICAgICAgICAgICAgIGxldCBy
ZW1vdGVPYmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVtb3RlT2JqZWN0UGF5
bG9hZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBmdW5jdGlv
biBmKCkge307IGZgLCAoZXJyb3IsIHJlbW90ZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdCghcmVtb3RlT2JqZWN0LmNhbkxvYWRQcmV2aWV3KCks
IGBTaG91bGQgbm90IGJlIGFibGUgdG8gbG9hZCBhIHByZXZpZXcgZm9yIGEgJHtyZW1vdGVPYmpl
Y3QudHlwZX0gUmVtb3RlT2JqZWN0LmApOwogICAgICAgICAgICAgICAgIHJlbW90ZU9iamVjdC51
cGRhdGVQcmV2aWV3KChwcmV2aWV3KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0TnVsbChwcmV2aWV3LCBgUmVtb3RlT2JqZWN0LnVwZGF0ZVByZXZpZXcgc2hv
dWxkIHJldHVybiBudWxsIGZvciBhICR7cmVtb3RlT2JqZWN0LnR5cGV9IFJlbW90ZU9iamVjdC5g
KTsKQEAgLTEwNCwxNCArMTAyLDEzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBuYW1lOiAi
UmVtb3RlT2JqZWN0LnVwZGF0ZVByZXZpZXcuTnVsbCIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAi
Tm9uLW9iamVjdCBSZW1vdGVPYmplY3RzIHNob3VsZCBub3QgcmVxdWVzdCBhIHByZXZpZXcuIiwK
ICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoYG51bGxgLCAoZXJyb3IsIHJlbW90ZU9iamVjdFBheWxvYWQpID0+
IHsKLSAgICAgICAgICAgICAgICBsZXQgcmVtb3RlT2JqZWN0ID0gV0kuUmVtb3RlT2JqZWN0LmZy
b21QYXlsb2FkKHJlbW90ZU9iamVjdFBheWxvYWQpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZShgbnVsbGAsIChlcnJvciwgcmVtb3RlT2JqZWN0KSA9PiB7CiAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KCFyZW1vdGVPYmplY3QuY2FuTG9h
ZFByZXZpZXcoKSwgYFNob3VsZCBub3QgYmUgYWJsZSB0byBsb2FkIGEgcHJldmlldyBmb3IgYSAk
e3JlbW90ZU9iamVjdC5zdWJ0eXBlfSBSZW1vdGVPYmplY3QuYCk7CiAgICAgICAgICAgICAgICAg
cmVtb3RlT2JqZWN0LnVwZGF0ZVByZXZpZXcoKHByZXZpZXcpID0+IHsKICAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3ROdWxsKHByZXZpZXcsIGBSZW1vdGVPYmplY3QudXBk
YXRlUHJldmlldyBzaG91bGQgcmV0dXJuIG51bGwgZm9yIGEgJHtyZW1vdGVPYmplY3Quc3VidHlw
ZX0gUmVtb3RlT2JqZWN0LmApOwogICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIHtyZW1vdGVP
YmplY3RPbmx5OiB0cnVlfSk7CiAgICAgICAgIH0KICAgICB9KTsKIApAQCAtMTIxLDggKzExOCw3
IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBuYW1lOiAiUnVudGltZS5nZXRQcmV2aWV3LlN5
bWJvbCIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiUnVudGltZS5nZXRQcmV2aWV3IHNob3VsZCBy
ZXR1cm4gYW4gZW1wdHkgcHJldmlldyBmb3Igbm9uLW9iamVjdHMuIiwKICAgICAgICAgdGVzdChy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoYFN5bWJvbC5pdGVyYXRvcmAsIChlcnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCkgPT4gewot
ICAgICAgICAgICAgICAgIGxldCByZW1vdGVPYmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBh
eWxvYWQocmVtb3RlT2JqZWN0UGF5bG9hZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKGBTeW1ib2wuaXRlcmF0b3JgLCAoZXJyb3IsIHJlbW90ZU9iamVjdCkgPT4g
ewogICAgICAgICAgICAgICAgIFJ1bnRpbWVBZ2VudC5nZXRQcmV2aWV3KHJlbW90ZU9iamVjdC5v
YmplY3RJZCwgKGVycm9yLCByZXN1bHQpID0+IHsKICAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coSlNPTi5zdHJpbmdpZnkocmVzdWx0KSk7CiAgICAgICAgICAgICAgICAgICAg
IHJlc29sdmUoKTsKQEAgLTEzNSw4ICsxMzEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAg
bmFtZTogIlJ1bnRpbWUuZ2V0UHJldmlldy5GdW5jdGlvbiIsCiAgICAgICAgIGRlc2NyaXB0aW9u
OiAiUnVudGltZS5nZXRQcmV2aWV3IHNob3VsZCByZXR1cm4gYW4gZW1wdHkgcHJldmlldyBmb3Ig
bm9uLW9iamVjdHMuIiwKICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYGZ1bmN0aW9uIGYoKSB7fTsgZmAsIChl
cnJvciwgcmVtb3RlT2JqZWN0UGF5bG9hZCkgPT4gewotICAgICAgICAgICAgICAgIGxldCByZW1v
dGVPYmplY3QgPSBXSS5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQocmVtb3RlT2JqZWN0UGF5bG9h
ZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBmdW5jdGlvbiBm
KCkge307IGZgLCAoZXJyb3IsIHJlbW90ZU9iamVjdCkgPT4gewogICAgICAgICAgICAgICAgIFJ1
bnRpbWVBZ2VudC5nZXRQcmV2aWV3KHJlbW90ZU9iamVjdC5vYmplY3RJZCwgKGVycm9yLCByZXN1
bHQpID0+IHsKICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coSlNPTi5zdHJp
bmdpZnkocmVzdWx0KSk7CiAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0
ZS1pbi1wYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3Rz
L3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1pbi1wYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
ZjJhMTkyMmFmZDIwZWIwNjc2MDg3MjAwMGQ5MTc0ZjczMGZmMGY1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvdGVzdC1oYXJuZXNzLWV2YWx1YXRl
LWluLXBhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUwIEBACitUZXN0aW5nIHRoZSBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlIGZ1bmN0aW9uLgorCisKKz09IFJ1bm5pbmcgdGVzdCBz
dWl0ZTogSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZQorLS0gUnVubmluZyB0ZXN0IGNhc2U6
IGV2YWx1YXRlSW5QYWdlLlByaW1pdGl2ZXMKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5n
IHN0cmluZzogLTQyCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0
IHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6IFNob3VsZCBub3QgYmUgcmV0dXJuZWQgYXMgYSBXSS5S
ZW1vdGVPYmplY3QuCisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogNDIK
K1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlIGVx
dWFsLgorUEFTUzogU2hvdWxkIG5vdCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4K
KworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiAwCitQQVNTOiBFeHBlY3Rl
ZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSBlcXVhbC4KK1BBU1M6IFNo
b3VsZCBub3QgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmplY3QuCisKK0NoZWNraW5nIHJl
c3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZzogIlN0cmluZyIKK1BBU1M6IEV4cGVjdGVkIGFuZCBh
Y3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlIGVxdWFsLgorUEFTUzogU2hvdWxkIG5v
dCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4KKworQ2hlY2tpbmcgcmVzdWx0IG9m
IGV2YWx1YXRpbmcgc3RyaW5nOiBmYWxzZQorUEFTUzogRXhwZWN0ZWQgYW5kIGFjdHVhbCBldmFs
dWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgZXF1YWwuCitQQVNTOiBTaG91bGQgbm90IGJlIHJldHVy
bmVkIGFzIGEgV0kuUmVtb3RlT2JqZWN0LgorCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGlu
ZyBzdHJpbmc6IHRydWUKK1BBU1M6IEV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1
bHQgc2hvdWxkIGJlIGVxdWFsLgorUEFTUzogU2hvdWxkIG5vdCBiZSByZXR1cm5lZCBhcyBhIFdJ
LlJlbW90ZU9iamVjdC4KKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiBu
dWxsCitQQVNTOiBFeHBlY3RlZCBhbmQgYWN0dWFsIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBi
ZSBlcXVhbC4KK1BBU1M6IFNob3VsZCBub3QgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmpl
Y3QuCisKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IGV2YWx1YXRlSW5QYWdlLlByaW1pdGl2ZXNX
aXRob3V0VW53cmFwcGluZworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nIHdp
dGhvdXQgdW53cmFwcGluZzogLTQyCitQQVNTOiBTaG91bGQgYmUgcmV0dXJuZWQgYXMgYSBXSS5S
ZW1vdGVPYmplY3QuCitQQVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAn
bnVtYmVyJy4KKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nIHdpdGhvdXQg
dW53cmFwcGluZzogNDIKK1BBU1M6IFNob3VsZCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9i
amVjdC4KK1BBU1M6IFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdudW1iZXIn
LgorCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmcgd2l0aG91dCB1bndyYXBw
aW5nOiAwCitQQVNTOiBTaG91bGQgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmplY3QuCitQ
QVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnbnVtYmVyJy4KKworQ2hl
Y2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nIHdpdGhvdXQgdW53cmFwcGluZzogIlN0
cmluZyIKK1BBU1M6IFNob3VsZCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4KK1BB
U1M6IFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdzdHJpbmcnLgorCitDaGVj
a2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmcgd2l0aG91dCB1bndyYXBwaW5nOiBmYWxz
ZQorUEFTUzogU2hvdWxkIGJlIHJldHVybmVkIGFzIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzog
VHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ2Jvb2xlYW4nLgorCitDaGVja2lu
ZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmcgd2l0aG91dCB1bndyYXBwaW5nOiB0cnVlCitQ
QVNTOiBTaG91bGQgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmplY3QuCitQQVNTOiBUeXBl
IG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnYm9vbGVhbicuCisKK0NoZWNraW5nIHJl
c3VsdCBvZiBldmFsdWF0aW5nIHN0cmluZyB3aXRob3V0IHVud3JhcHBpbmc6IG51bGwKK1BBU1M6
IFNob3VsZCBiZSByZXR1cm5lZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IFR5cGUgb2Yg
ZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdvYmplY3QnLgorCisKKy0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBldmFsdWF0ZUluUGFnZS5SZW1vdGVPYmplY3RzCitDaGVja2luZyByZXN1bHQgb2Yg
ZXZhbHVhdGluZyBzdHJpbmc6ICh7YTo0Mn0pCitQQVNTOiBSZXR1cm5lZCByZXN1bHQgc2hvdWxk
IGJlIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogTm9uLXByaW1pdGl2ZSBldmFsdWF0aW9uIHJl
c3VsdHMgc2hvdWxkIG5vdCBoYXZlIGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6IFR5cGUgb2Yg
ZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdvYmplY3QnLgorUEFTUzogU3VidHlwZSBvZiBl
dmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ3VuZGVmaW5lZCcuCisKK0NoZWNraW5nIHJlc3Vs
dCBvZiBldmFsdWF0aW5nIHN0cmluZzogWzQyLCA0MywgNDRdCitQQVNTOiBSZXR1cm5lZCByZXN1
bHQgc2hvdWxkIGJlIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogTm9uLXByaW1pdGl2ZSBldmFs
dWF0aW9uIHJlc3VsdHMgc2hvdWxkIG5vdCBoYXZlIGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6
IFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdvYmplY3QnLgorUEFTUzogU3Vi
dHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ2FycmF5Jy4KKworQ2hlY2tpbmcg
cmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiBuZXcgTnVtYmVyKDQyKQorUEFTUzogUmV0dXJu
ZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRp
dmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUu
CitQQVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnb2JqZWN0Jy4KK1BB
U1M6IFN1YnR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICd1bmRlZmluZWQnLgor
CitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IGZ1bmN0aW9uIGZvbygpIHsg
cmV0dXJuIDQyOyB9OyBmb28KK1BBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5S
ZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBzaG91
bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFTUzogVHlwZSBvZiBldmFsdWF0aW9u
IHJlc3VsdCBzaG91bGQgYmUgJ2Z1bmN0aW9uJy4KK1BBU1M6IFN1YnR5cGUgb2YgZXZhbHVhdGlv
biByZXN1bHQgc2hvdWxkIGJlICd1bmRlZmluZWQnLgorCitDaGVja2luZyByZXN1bHQgb2YgZXZh
bHVhdGluZyBzdHJpbmc6IEFycmF5LnByb3RvdHlwZS5zcGxpY2UKK1BBU1M6IFJldHVybmVkIHJl
c3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2
YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFT
UzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ2Z1bmN0aW9uJy4KK1BBU1M6
IFN1YnR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICd1bmRlZmluZWQnLgorCitD
aGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IGFzeW5jIGZ1bmN0aW9uIGZvbygp
IHsgcmV0dXJuIDQyOyB9IGZvbworUEFTUzogUmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJ
LlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1wcmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNo
b3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQgdmFsdWUuCitQQVNTOiBUeXBlIG9mIGV2YWx1YXRp
b24gcmVzdWx0IHNob3VsZCBiZSAnZnVuY3Rpb24nLgorUEFTUzogU3VidHlwZSBvZiBldmFsdWF0
aW9uIHJlc3VsdCBzaG91bGQgYmUgJ3VuZGVmaW5lZCcuCisKK0NoZWNraW5nIHJlc3VsdCBvZiBl
dmFsdWF0aW5nIHN0cmluZzogKCkgPT4geyByZXR1cm4gNDI7IH0KK1BBU1M6IFJldHVybmVkIHJl
c3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2
YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFT
UzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ2Z1bmN0aW9uJy4KK1BBU1M6
IFN1YnR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICd1bmRlZmluZWQnLgorCitD
aGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IGFzeW5jICgpID0+IHsgcmV0dXJu
IDQyOyB9CitQQVNTOiBSZXR1cm5lZCByZXN1bHQgc2hvdWxkIGJlIGEgV0kuUmVtb3RlT2JqZWN0
LgorUEFTUzogTm9uLXByaW1pdGl2ZSBldmFsdWF0aW9uIHJlc3VsdHMgc2hvdWxkIG5vdCBoYXZl
IGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6IFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hv
dWxkIGJlICdmdW5jdGlvbicuCitQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNo
b3VsZCBiZSAndW5kZWZpbmVkJy4KKworQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3Ry
aW5nOiB3aW5kb3cuZG9jdW1lbnQKK1BBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBX
SS5SZW1vdGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBz
aG91bGQgbm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFTUzogVHlwZSBvZiBldmFsdWF0
aW9uIHJlc3VsdCBzaG91bGQgYmUgJ29iamVjdCcuCitQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRp
b24gcmVzdWx0IHNob3VsZCBiZSAnbm9kZScuCisKK0NoZWNraW5nIHJlc3VsdCBvZiBldmFsdWF0
aW5nIHN0cmluZzogU3ltYm9sLml0ZXJhdG9yCitQQVNTOiBSZXR1cm5lZCByZXN1bHQgc2hvdWxk
IGJlIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogTm9uLXByaW1pdGl2ZSBldmFsdWF0aW9uIHJl
c3VsdHMgc2hvdWxkIG5vdCBoYXZlIGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6IFR5cGUgb2Yg
ZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdzeW1ib2wnLgorUEFTUzogU3VidHlwZSBvZiBl
dmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ3VuZGVmaW5lZCcuCisKK0NoZWNraW5nIHJlc3Vs
dCBvZiBldmFsdWF0aW5nIHN0cmluZzogW10uZW50cmllcygpCitQQVNTOiBSZXR1cm5lZCByZXN1
bHQgc2hvdWxkIGJlIGEgV0kuUmVtb3RlT2JqZWN0LgorUEFTUzogTm9uLXByaW1pdGl2ZSBldmFs
dWF0aW9uIHJlc3VsdHMgc2hvdWxkIG5vdCBoYXZlIGEgbWFyc2hhbGxlZCB2YWx1ZS4KK1BBU1M6
IFR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICdvYmplY3QnLgorUEFTUzogU3Vi
dHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQgYmUgJ2l0ZXJhdG9yJy4KKworQ2hlY2tp
bmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiBQcm9taXNlLnJlc29sdmUoKQorUEFTUzog
UmV0dXJuZWQgcmVzdWx0IHNob3VsZCBiZSBhIFdJLlJlbW90ZU9iamVjdC4KK1BBU1M6IE5vbi1w
cmltaXRpdmUgZXZhbHVhdGlvbiByZXN1bHRzIHNob3VsZCBub3QgaGF2ZSBhIG1hcnNoYWxsZWQg
dmFsdWUuCitQQVNTOiBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBiZSAnb2JqZWN0
Jy4KK1BBU1M6IFN1YnR5cGUgb2YgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICd1bmRlZmlu
ZWQnLgorCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IG5ldyBFcnJvcig0
MikKK1BBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1vdGVPYmplY3QuCitQ
QVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBt
YXJzaGFsbGVkIHZhbHVlLgorUEFTUzogVHlwZSBvZiBldmFsdWF0aW9uIHJlc3VsdCBzaG91bGQg
YmUgJ29iamVjdCcuCitQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3VsZCBi
ZSAnZXJyb3InLgorCitDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmc6IHRocm93
IG5ldyBFcnJvcig0MikKK1BBU1M6IFJldHVybmVkIHJlc3VsdCBzaG91bGQgYmUgYSBXSS5SZW1v
dGVPYmplY3QuCitQQVNTOiBOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQg
bm90IGhhdmUgYSBtYXJzaGFsbGVkIHZhbHVlLgorUEFTUzogVHlwZSBvZiBldmFsdWF0aW9uIHJl
c3VsdCBzaG91bGQgYmUgJ29iamVjdCcuCitQQVNTOiBTdWJ0eXBlIG9mIGV2YWx1YXRpb24gcmVz
dWx0IHNob3VsZCBiZSAnZXJyb3InLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci91bml0LXRlc3RzL3Rlc3QtaGFybmVzcy1ldmFsdWF0ZS1pbi1wYWdlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy90ZXN0LWhhcm5lc3MtZXZhbHVhdGUtaW4tcGFn
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdlYmU4MmExNzZiNWIyNTUyYTkyZGEwMDhlYzIwNThkODUzZmZj
YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy90
ZXN0LWhhcm5lc3MtZXZhbHVhdGUtaW4tcGFnZS5odG1sCkBAIC0wLDAgKzEsMTYwIEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgcHJpbWl0aXZlQ2FzZXMgPSBbCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGlucHV0OiBgLTQyYCwKKyAgICAgICAgICAgIHR5cGU6ICJudW1i
ZXIiLAorICAgICAgICAgICAgdmFsdWU6IC00MiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAg
ICAgICAgICAgaW5wdXQ6IGA0MmAsCisgICAgICAgICAgICB0eXBlOiAibnVtYmVyIiwKKyAgICAg
ICAgICAgIHZhbHVlOiA0MiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgaW5w
dXQ6IGAwYCwKKyAgICAgICAgICAgIHR5cGU6ICJudW1iZXIiLAorICAgICAgICAgICAgdmFsdWU6
IDAsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgIGlucHV0OiBgIlN0cmluZyJg
LAorICAgICAgICAgICAgdHlwZTogInN0cmluZyIsCisgICAgICAgICAgICB2YWx1ZTogIlN0cmlu
ZyIsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgIGlucHV0OiBgZmFsc2VgLAor
ICAgICAgICAgICAgdHlwZTogImJvb2xlYW4iLAorICAgICAgICAgICAgdmFsdWU6IGZhbHNlLAor
ICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICBpbnB1dDogYHRydWVgLAorICAgICAg
ICAgICAgdHlwZTogImJvb2xlYW4iLAorICAgICAgICAgICAgdmFsdWU6IHRydWUsCisgICAgICAg
IH0sCisgICAgICAgIHsKKyAgICAgICAgICAgIGlucHV0OiBgbnVsbGAsCisgICAgICAgICAgICB0
eXBlOiAib2JqZWN0IiwKKyAgICAgICAgICAgIHZhbHVlOiBudWxsLAorICAgICAgICB9LAorICAg
IF07CisKKyAgICBsZXQgY29tcGxleENhc2VzID0gWworICAgICAgICB7IC8vIFBsYWluIG9iamVj
dC4KKyAgICAgICAgICAgIGlucHV0OiBgKHthOjQyfSlgLAorICAgICAgICAgICAgdHlwZTogIm9i
amVjdCIsCisgICAgICAgIH0sCisgICAgICAgIHsgLy8gUGxhaW4gYXJyYXkuCisgICAgICAgICAg
ICBpbnB1dDogYFs0MiwgNDMsIDQ0XWAsCisgICAgICAgICAgICB0eXBlOiAib2JqZWN0IiwKKyAg
ICAgICAgICAgIHN1YnR5cGU6ICJhcnJheSIsCisgICAgICAgIH0sCisgICAgICAgIHsgLy8gSlMg
YnVpbHRpbiBvYmplY3QuCisgICAgICAgICAgICBpbnB1dDogYG5ldyBOdW1iZXIoNDIpYCwKKyAg
ICAgICAgICAgIHR5cGU6ICJvYmplY3QiLAorICAgICAgICB9LAorICAgICAgICB7IC8vIEpTIGZ1
bmN0aW9uLgorICAgICAgICAgICAgaW5wdXQ6IGBmdW5jdGlvbiBmb28oKSB7IHJldHVybiA0Mjsg
fTsgZm9vYCwKKyAgICAgICAgICAgIHR5cGU6ICJmdW5jdGlvbiIsCisgICAgICAgIH0sCisgICAg
ICAgIHsgLy8gTmF0aXZlIGZ1bmN0aW9uLgorICAgICAgICAgICAgaW5wdXQ6IGBBcnJheS5wcm90
b3R5cGUuc3BsaWNlYCwKKyAgICAgICAgICAgIHR5cGU6ICJmdW5jdGlvbiIsCisgICAgICAgIH0s
CisgICAgICAgIHsgLy8gQXN5bmMgZnVuY3Rpb24uCisgICAgICAgICAgICBpbnB1dDogYGFzeW5j
IGZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIDQyOyB9IGZvb2AsCisgICAgICAgICAgICB0eXBlOiAi
ZnVuY3Rpb24iLAorICAgICAgICB9LAorICAgICAgICB7IC8vIEFycm93IGZ1bmN0aW9uLgorICAg
ICAgICAgICAgaW5wdXQ6IGAoKSA9PiB7IHJldHVybiA0MjsgfWAsCisgICAgICAgICAgICB0eXBl
OiAiZnVuY3Rpb24iLAorICAgICAgICB9LAorICAgICAgICB7IC8vIEFzeW5jIGFycm93IGZ1bmN0
aW9uLgorICAgICAgICAgICAgaW5wdXQ6IGBhc3luYyAoKSA9PiB7IHJldHVybiA0MjsgfWAsCisg
ICAgICAgICAgICB0eXBlOiAiZnVuY3Rpb24iLAorICAgICAgICB9LAorICAgICAgICB7IC8vIERP
TSBvYmplY3QuCisgICAgICAgICAgICBpbnB1dDogYHdpbmRvdy5kb2N1bWVudGAsCisgICAgICAg
ICAgICB0eXBlOiAib2JqZWN0IiwKKyAgICAgICAgICAgIHN1YnR5cGU6ICJub2RlIiwKKyAgICAg
ICAgfSwKKyAgICAgICAgeyAvLyBTeW1ib2wuCisgICAgICAgICAgICBpbnB1dDogYFN5bWJvbC5p
dGVyYXRvcmAsCisgICAgICAgICAgICB0eXBlOiAic3ltYm9sIiwKKyAgICAgICAgfSwKKyAgICAg
ICAgeyAvLyBJdGVyYXRvci4KKyAgICAgICAgICAgIGlucHV0OiBgW10uZW50cmllcygpYCwKKyAg
ICAgICAgICAgIHR5cGU6ICJvYmplY3QiLAorICAgICAgICAgICAgc3VidHlwZTogIml0ZXJhdG9y
IiwKKyAgICAgICAgfSwKKyAgICAgICAgeyAvLyBQcm9taXNlLgorICAgICAgICAgICAgaW5wdXQ6
IGBQcm9taXNlLnJlc29sdmUoKWAsCisgICAgICAgICAgICB0eXBlOiAib2JqZWN0IiwKKyAgICAg
ICAgfSwKKyAgICAgICAgeyAvLyBFcnJvciAocmV0dXJuZWQpLgorICAgICAgICAgICAgaW5wdXQ6
IGBuZXcgRXJyb3IoNDIpYCwKKyAgICAgICAgICAgIHR5cGU6ICJvYmplY3QiLAorICAgICAgICAg
ICAgc3VidHlwZTogImVycm9yIiwKKyAgICAgICAgfSwKKyAgICAgICAgeyAvLyBFcnJvciAodGhy
b3duKS4KKyAgICAgICAgICAgIGlucHV0OiBgdGhyb3cgbmV3IEVycm9yKDQyKWAsCisgICAgICAg
ICAgICB0eXBlOiAib2JqZWN0IiwKKyAgICAgICAgICAgIHN1YnR5cGU6ICJlcnJvciIsCisgICAg
ICAgIH0sCisgICAgXTsKKworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5
bmNTdWl0ZSgiSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSIpOworCisgICAgc3VpdGUuYWRk
VGVzdENhc2UoeworICAgICAgICBuYW1lOiAiZXZhbHVhdGVJblBhZ2UuUHJpbWl0aXZlcyIsCisg
ICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBmb3IgKGxldCB7aW5wdXQsIHZhbHVl
fSBvZiBwcmltaXRpdmVDYXNlcykgeworICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBhd2Fp
dCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGlucHV0KTsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZyhgQ2hlY2tpbmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiAk
e2lucHV0fWApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVz
dWx0LCB2YWx1ZSwgIkV4cGVjdGVkIGFuZCBhY3R1YWwgZXZhbHVhdGlvbiByZXN1bHQgc2hvdWxk
IGJlIGVxdWFsLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RmFsc2Uo
cmVzdWx0IGluc3RhbmNlb2YgV0kuUmVtb3RlT2JqZWN0LCAiU2hvdWxkIG5vdCBiZSByZXR1cm5l
ZCBhcyBhIFdJLlJlbW90ZU9iamVjdC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmxvZygiIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRl
LmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogImV2YWx1YXRlSW5QYWdlLlByaW1pdGl2ZXNX
aXRob3V0VW53cmFwcGluZyIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBm
b3IgKGxldCB7aW5wdXQsIHR5cGUsIHZhbHVlfSBvZiBwcmltaXRpdmVDYXNlcykgeworICAgICAg
ICAgICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
KGlucHV0LCBudWxsLCB7cmVtb3RlT2JqZWN0T25seTogdHJ1ZX0pOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKGBDaGVja2luZyByZXN1bHQgb2YgZXZhbHVhdGluZyBzdHJpbmcg
d2l0aG91dCB1bndyYXBwaW5nOiAke2lucHV0fWApOworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0VGhhdChyZXN1bHQgaW5zdGFuY2VvZiBXSS5SZW1vdGVPYmplY3QsICJTaG91
bGQgYmUgcmV0dXJuZWQgYXMgYSBXSS5SZW1vdGVPYmplY3QuIik7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZXN1bHQudHlwZSwgdHlwZSwgYFR5cGUgb2YgZXZh
bHVhdGlvbiByZXN1bHQgc2hvdWxkIGJlICcke3R5cGV9Jy5gKTsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9KTsK
KworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogImV2YWx1YXRlSW5QYWdl
LlJlbW90ZU9iamVjdHMiLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgZm9y
IChsZXQge2lucHV0LCB0eXBlLCBzdWJ0eXBlLCB0aHJvd259IG9mIGNvbXBsZXhDYXNlcykgewor
ICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKGlucHV0KTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgQ2hlY2tp
bmcgcmVzdWx0IG9mIGV2YWx1YXRpbmcgc3RyaW5nOiAke2lucHV0fWApOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZXN1bHQgaW5zdGFuY2VvZiBXSS5SZW1vdGVP
YmplY3QsICJSZXR1cm5lZCByZXN1bHQgc2hvdWxkIGJlIGEgV0kuUmVtb3RlT2JqZWN0LiIpOwor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RmFsc2UocmVzdWx0Lmhhc1ZhbHVl
KCksICJOb24tcHJpbWl0aXZlIGV2YWx1YXRpb24gcmVzdWx0cyBzaG91bGQgbm90IGhhdmUgYSBt
YXJzaGFsbGVkIHZhbHVlLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
RXF1YWwocmVzdWx0LnR5cGUsIHR5cGUsIGBUeXBlIG9mIGV2YWx1YXRpb24gcmVzdWx0IHNob3Vs
ZCBiZSAnJHt0eXBlfScuYCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RF
cXVhbChyZXN1bHQuc3VidHlwZSwgc3VidHlwZSwgYFN1YnR5cGUgb2YgZXZhbHVhdGlvbiByZXN1
bHQgc2hvdWxkIGJlICcke3N1YnR5cGV9Jy5gKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1
aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGVzdGluZyB0aGUgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSBmdW5jdGlvbi48L3A+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>