<?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>161358</bug_id>
          
          <creation_ts>2016-08-29 16:40:25 -0700</creation_ts>
          <short_desc>Web Inspector: Test.html should support globals reportInternalError, reportUnhandledRejection, reportUncaughtException</short_desc>
          <delta_ts>2022-03-01 02:39:44 -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>
          
          <blocked>166634</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1224429</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-08-29 16:40:25 -0700</bug_when>
    <thetext>1. this function isn&apos;t defined in Test.js, just Main.js. So it doesn&apos;t work in tests.

[Error] TypeError: WebInspector.reportInternalError is not a function. (In &apos;WebInspector.reportInternalError(e, {&quot;cause&quot;: `An uncaught exception was thrown while handling event: ${qualifiedName}`})&apos;, &apos;WebInspector.reportInternalError&apos; is undefined)
	_dispatchEvent (TestCombined.js:5061)
	dispatch (TestCombined.js:4857)
	dispatchNextQueuedMessageFromBackend (TestCombined.js:5712)

We should just stub this out to call InspectorTest.reportUncaughtException, which notifies the test page and completes the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224431</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-08-29 16:40:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/28066446&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263107</commentid>
    <comment_count>2</comment_count>
      <attachid>297841</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-12-29 13:41:09 -0800</bug_when>
    <thetext>Created attachment 297841
Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263524</commentid>
    <comment_count>3</comment_count>
      <attachid>297841</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-01-03 14:00:51 -0800</bug_when>
    <thetext>Comment on attachment 297841
Proposed Fix

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Test/FrontendTestHarness.js:194
&gt; +        // Stop default handler so we can empty InspectorBackend&apos;s message queue.

Style: Newline before this.

&gt; Source/WebInspectorUI/UserInterface/Test/FrontendTestHarness.js:201
&gt; +        if (url === &quot;undefined&quot;)

Wow, it is the string &quot;undefined&quot;? Thats crazy.

&gt; Source/WebInspectorUI/UserInterface/Test/FrontendTestHarness.js:215
&gt; +            result = `Uncaught exception in inspector page: ${message} [${sanitizedURL}:${lineNumber}:${columnNumber}]\n`;
&gt; +        else
&gt; +            result = `Uncaught exception in inspector page: ${message}\n`;

Nit: &quot;inspector page&quot; =&gt; &quot;Inspector page&quot;?

&gt; Source/WebInspectorUI/UserInterface/Test/Test.js:120
&gt; +window.reportUnhandledRejection = InspectorTest.reportUnhandledRejection.bind(InspectorTest);
&gt; +window.onerror = InspectorTest.reportUncaughtExceptionFromEvent.bind(InspectorTest);

Maybe we should do something like this in TestStub.js for ProtocolTest. But I&apos;m not too concerned about that.

&gt; LayoutTests/http/tests/inspector/resources/inspector-test.js:93
&gt; +            // Using this instead of window.onerror will preserve the stack trace.
&gt; +            e.code = testFunction.toString();
&gt; +            InspectorTest.reportUncaughtException(e);

Very interesting!

&gt; LayoutTests/inspector/unit-tests/globals-uncaught-exception-from-timer-callback.html:10
&gt; +    setTimeout(() =&gt; { throw new Error(&quot;This is an exception thrown in the inspector page.&quot;); }, 0);

This would read better to me on multiple lines.

Thoughts on just doing setTimeout without the &quot;, 0&quot; for cases like this? I&apos;ve been doing that recently, I&apos;m sure its leaked into tests.

    setTimeout(() =&gt; {
        throw new Error(...);
    });

&gt; LayoutTests/inspector/unit-tests/globals-uncaught-exception-in-test-suite.html:12
&gt; +    let suite = InspectorTest.createAsyncSuite(&quot;ReportUnhandledRejection&quot;);
&gt; +    suite.addTestCase({
&gt; +        name: &quot;CatchRejectedPromise&quot;,

Suite name should be different from the one actually about promises. Something like ReportUncaughtExceptionInTestCase or TestSuite

&gt; LayoutTests/inspector/unit-tests/globals-unhandled-rejection-in-timer-callback.html:10
&gt; +    setTimeout(() =&gt; { reportUnhandledRejection(new Error(&quot;This is an exception thrown in the inspector page.&quot;)); }, 0);

Style: Same thing about multiline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264161</commentid>
    <comment_count>4</comment_count>
      <attachid>298116</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-01-05 11:12:49 -0800</bug_when>
    <thetext>Created attachment 298116
For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264183</commentid>
    <comment_count>5</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-01-05 12:08:45 -0800</bug_when>
    <thetext>Committed r210367: &lt;http://trac.webkit.org/changeset/210367&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297841</attachid>
            <date>2016-12-29 13:41:09 -0800</date>
            <delta_ts>2017-01-05 11:12:45 -0800</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-161358-20161229133953.patch</filename>
            <type>text/plain</type>
            <size>35228</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBh
MGJlMTQzNzQ5ODZhYTU0YzJhMzdhNWRhN2EwNjY2YzI1NTc3NDNjLi4yYzQ4N2QwMDg2MTQ1MTZk
YmIyNDczZDgyNDJlMGVhNDZjZGY1MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MiBAQAorMjAxNi0xMi0yOSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBUZXN0Lmh0bWwgc2hvdWxkIHN1cHBvcnQgZ2xvYmFscyBy
ZXBvcnRJbnRlcm5hbEVycm9yLCByZXBvcnRVbmhhbmRsZWRSZWplY3Rpb24sIHJlcG9ydFVuY2F1
Z2h0RXhjZXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjEzNTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4MDY2NDQ2PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGhhdmUgYSBob2RnZXBv
ZGdlIG9mIHJlZHVuZGFudCBjb2RlIHRoYXQgcmVwb3J0cyB1bmNhdWdodCBleGNlcHRpb25zIGlu
IHRoZSBpbnNwZWN0b3IgcGFnZS4KKyAgICAgICAgVGhlcmUgaXMgYmV0dGVyIGhhbmRsaW5nIG9m
IHVuY2F1Z2h0IGV4Y2VwdGlvbnMgaW4gdGhlIGluc3BlY3RlZCBwYWdlLCBzdWNoIGFzIGluY2x1
ZGluZyBzdGFjayB0cmFjZXMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb25zb2xpZGF0ZXMgYSBs
b3Qgb2YgdGhpcyBjb2RlIGFuZCBtYWtlcyBpdCBwb3NzaWJsZSB0byByZXBvcnQKKyAgICAgICAg
dW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9ucywgdG9wLWxldmVsIHVuY2F1Z2h0IGV4Y2VwdGlv
bnMsIGFuZCBleGNlcHRpb25zCisgICAgICAgIGNhdWdodCBpbiBhIHRyeS1jYXRjaCBibG9jay4g
VGhlIGZvcm1hdHRpbmcgYW5kIHNhbml0aXphdGlvbiBjb2RlIGZvciBhbGwgb2YKKyAgICAgICAg
dGhlc2UgdGhpbmdzIGlzIHNoYXJlZCBhbmQgY29uc2lzdGVudC4gRmluYWxseSwgc29tZSB0ZXN0
cyBoYXZlIGJlZW4gYWRkZWQgdG8KKyAgICAgICAgY2F0Y2ggcmVncmVzc2lvbnMgaW4gdW5oYW5k
bGVkIHJlamVjdGlvbi91bmNhdWdodCBleGNlcHRpb24gcmVwb3J0aW5nLgorCisgICAgICAgICog
VXNlckludGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanM6CisgICAgICAgIChGcm9u
dGVuZFRlc3RIYXJuZXNzKTogRXhwbGljaXRseSBzZXQgaW5pdGlhbCBmbGFnIHN0YXRlIGhlcmUg
c28gaXQncyBlYXN5IHRvIGZpbmQgYWxsIGZsYWdzLgorCisgICAgICAgIChGcm9udGVuZFRlc3RI
YXJuZXNzLnByb3RvdHlwZS5yZWRpcmVjdENvbnNvbGVUb1Rlc3RPdXRwdXQpOgorICAgICAgICBF
eHRyYWN0IHRoaXMgY29kZSB0byBzYW5pdGl6ZSBzdGFjayBmcmFtZXMgYW5kIHB1dCBpdCBpbiBU
ZXN0SGFybmVzcy4gSXQgaXMgdXNlZAorICAgICAgICBieSBvdGhlciBtZXRob2RzIHRoYXQgbmVl
ZCB0byBwcmludCBzdGFjayBmcmFtZXMuCisKKyAgICAgICAgKEZyb250ZW5kVGVzdEhhcm5lc3Mu
cHJvdG90eXBlLnJlcG9ydFVuaGFuZGxlZFJlamVjdGlvbik6CisgICAgICAgIChGcm9udGVuZFRl
c3RIYXJuZXNzLnByb3RvdHlwZS5yZXBvcnRVbmNhdWdodEV4Y2VwdGlvbik6CisgICAgICAgIEFk
ZGVkLiBTYW5pdGl6ZSBzdGFjayB0cmFjZSBkYXRhIHNvIGl0IGlzIGRldGVybWluaXN0aWMuIExv
ZyB0aGUgbWVzc2FnZSB0byB0aGUKKyAgICAgICAgb3JpZ2luYWwgd2luZG93LmNvbnNvbGUgYnV0
IGRvbid0IGV4aXQgZWFybHkuIFNvbWV0aW1lcyB0aGUgdGVzdCBwYWdlIGlzIG5vdAorICAgICAg
ICBmdWxseSBsb2FkZWQgaWYgd2UgdGhyb3cgYW4gZXhjZXB0aW9uIHF1aXRlIGVhcmx5IGluIHRo
ZSB0ZXN0KCkgbWV0aG9kLCBhbmQgdGhlcmUncworICAgICAgICBubyBoYXJtIGluIG5vdCBlYXJs
eSByZXR1cm5pbmcuIElmIHdlIGRvIGVhcmx5IHJldHVybiBpbiB0aGlzIGNhc2UsIHRoZW4gYSB0
ZXN0IHRoYXQKKyAgICAgICAgdXNlcyByZXBvcnRVbmNhdWdodEV4Y2VwdGlvbiBvbiBwdXJwb3Nl
IG1heSBub3QgY29tcGxldGUgYmVjYXVzZSB0aGUgY2FsbCB0byBjb21wbGV0ZVRlc3QoKQorICAg
ICAgICB3b3VsZCBiZSBza2lwcGVkIGJ5IHJldHVybmluZyBlYXJseS4KKworICAgICAgICAoRnJv
bnRlbmRUZXN0SGFybmVzcy5wcm90b3R5cGUucmVwb3J0VW5jYXVnaHRFeGNlcHRpb25Gcm9tRXZl
bnQpOgorICAgICAgICBSZW5hbWVkIGZyb20gcmVwb3J0VW5jYXVnaHRFeGNlcHRpb24gc2luY2Ug
dGhlIHNpZ25hdHVyZSBvZiB0aGF0IG1ldGhvZCBzdWdnZXN0cworICAgICAgICBpdCBzaG91bGQg
aGF2ZSBhIHNpbmdsZSBleGNlcHRpb24gYXJndW1lbnQgcmF0aGVyIHRoYW4gbG90cyBvZiBkYXRh
IGFyZ3VtZW50cy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzOiBBZGQg
Z2xvYmFscy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC9UZXN0SGFybmVzcy5qczoK
KyAgICAgICAgKFRlc3RIYXJuZXNzKTogRG9jdW1lbnQgY2xhc3MgZmxhZ3MuCisgICAgICAgIChU
ZXN0SGFybmVzcy5zYW5pdGl6ZVVSTCk6CisgICAgICAgIChUZXN0SGFybmVzcy5zYW5pdGl6ZVN0
YWNrRnJhbWUpOgorICAgICAgICAoVGVzdEhhcm5lc3MucHJvdG90eXBlLnNhbml0aXplU3RhY2sp
OgorICAgICAgICBFeHRyYWN0IHRoaXMgY29kZSBmcm9tIG90aGVyIHBhcnRzIG9mIHRoZSB0ZXN0
IGhhcm5lc3MuIE1ha2Ugc2FuaXRpemVTdGFjaworICAgICAgICBhbiBpbnN0YW5jZSBtZXRob2Qg
c28gdGhhdCB0aGVyZSBpcyBvbmx5IG9uZSBwbGFjZSB0aGF0IG5lZWRzIHRvIGNoZWNrIHRoZQor
ICAgICAgICAnc3VwcHJlc3NTdGFja1RyYWNlcycgZmxhZy4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVGVzdC9UZXN0U3VpdGUuanM6CisgICAgICAgIChUZXN0U3VpdGUucHJvdG90eXBlLmxv
Z1Rocm93bk9iamVjdCk6CisgICAgICAgIChUZXN0U3VpdGUpOgorICAgICAgICAoQXN5bmNUZXN0
U3VpdGUucHJvdG90eXBlLnJ1blRlc3RDYXNlcyk6CisgICAgICAgIChBc3luY1Rlc3RTdWl0ZSk6
CisgICAgICAgIChTeW5jVGVzdFN1aXRlLnByb3RvdHlwZS5ydW5UZXN0Q2FzZXMpOgorICAgICAg
ICAoU3luY1Rlc3RTdWl0ZSk6CisgICAgICAgIChUZXN0U3VpdGUubWVzc2FnZUZyb21UaHJvd25P
YmplY3QpOiBEZWxldGVkLgorICAgICAgICBJbmxpbmUgc29tZSBoZWxwZXJzIHdpdGggb25seSBv
bmUgdXNlLXNpdGUgYW5kIGNvbnNvbGlkYXRlIHJlZHVuZGFudCBjb2RlCisgICAgICAgIGZvciBh
ZGRpbmcgYW4gZXhjZXB0aW9uIGFuZCBtZXNzYWdlIHRvIHRoZSB0ZXN0IHJlc3VsdHMuCisKIDIw
MTYtMTItMjggIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3Rvcjogb3BlbmluZyBUZXN0Lmh0bWwgaW4gYSBub3JtYWwgYnJvd3NlciB3aW5kb3cgZG9l
c24ndCBsb2cgZXJyb3JzIHRvIGNvbnNvbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRlbmRUZXN0SGFybmVzcy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRlbmRUZXN0SGFybmVzcy5qcwpp
bmRleCBkMDc4YmU5NDQ5NjRhNjAwZWE0YTI5ZDI5ZGEwMmQ1MzAxMDRjMjFjLi5jNDU5NWIzZGFj
MmVjN2JhZGI4MDdmNzI4MTkzMmEyMGNjOTQ5MzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3MuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVuZFRlc3RIYXJu
ZXNzLmpzCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMzEsNiArMzEsOSBAQCBGcm9udGVuZFRlc3RIYXJuZXNzID0gY2xhc3MgRnJv
bnRlbmRUZXN0SGFybmVzcyBleHRlbmRzIFRlc3RIYXJuZXNzCiAKICAgICAgICAgdGhpcy5fcmVz
dWx0cyA9IFtdOwogICAgICAgICB0aGlzLl9zaG91bGRSZXNlbmRSZXN1bHRzID0gdHJ1ZTsKKwor
ICAgICAgICAvLyBPcHRpb25zIHRoYXQgYXJlIHNldCBwZXItdGVzdCBmb3IgZGVidWdnaW5nIHB1
cnBvc2VzLgorICAgICAgICB0aGlzLmR1bXBBY3Rpdml0eVRvU3lzdGVtQ29uc29sZSA9IGZhbHNl
OwogICAgIH0KIAogICAgIC8vIFRlc3RIYXJuZXNzIE92ZXJyaWRlcwpAQCAtMTUxLDI1ICsxNTQs
NyBAQCBGcm9udGVuZFRlc3RIYXJuZXNzID0gY2xhc3MgRnJvbnRlbmRUZXN0SGFybmVzcyBleHRl
bmRzIFRlc3RIYXJuZXNzCiAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAg
ICAgICAgICAgICAvLyBTa2lwIHRoZSBmaXJzdCBmcmFtZSB3aGljaCBpcyBhZGRlZCBieSB0aGlz
IGZ1bmN0aW9uLgogICAgICAgICAgICAgICAgICAgICBsZXQgZnJhbWVzID0gZS5zdGFjay5zcGxp
dCgiXG4iKS5zbGljZSgxKTsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHNhbml0aXplZEZyYW1l
cyA9IGZyYW1lcy5tYXAoKGZyYW1lLCBpKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAv
LyBNb3N0IGZyYW1lcyBhcmUgb2YgdGhlIGZvcm0gImZ1bmN0aW9uTmFtZUBmaWxlOi8vL2Zvby9i
YXIvRmlsZS5qczozNDUiLgotICAgICAgICAgICAgICAgICAgICAgICAgLy8gQnV0LCBzb21lIGZy
YW1lcyBkbyBub3QgaGF2ZSBhIGZ1bmN0aW9uTmFtZS4gR2V0IHJpZCBvZiB0aGUgZmlsZSBwYXRo
LgotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5hbWVBbmRVUkxTZXBhcmF0b3IgPSBmcmFt
ZS5pbmRleE9mKCJAIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZnJhbWVOYW1lID0g
KG5hbWVBbmRVUkxTZXBhcmF0b3IgPiAwKSA/IGZyYW1lLnN1YnN0cigwLCBuYW1lQW5kVVJMU2Vw
YXJhdG9yKSA6ICIoYW5vbnltb3VzKSI7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGxldCBs
YXN0UGF0aFNlcGFyYXRvciA9IE1hdGgubWF4KGZyYW1lLmxhc3RJbmRleE9mKCIvIiksIGZyYW1l
Lmxhc3RJbmRleE9mKCJcXCIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmcmFtZUxv
Y2F0aW9uID0gKGxhc3RQYXRoU2VwYXJhdG9yID4gMCkgPyBmcmFtZS5zdWJzdHIobGFzdFBhdGhT
ZXBhcmF0b3IgKyAxKSA6IGZyYW1lOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmcmFt
ZUxvY2F0aW9uLmxlbmd0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZUxvY2F0
aW9uID0gInVua25vd24iOwotCi0gICAgICAgICAgICAgICAgICAgICAgICAvLyBDbGVhbiB1cCB0
aGUgbG9jYXRpb24gc28gaXQgaXMgYnJhY2tldGVkIG9yIGluIHBhcmVudGhlc2lzLgotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKGZyYW1lLmluZGV4T2YoIltuYXRpdmUgY29kZV0iKSAhPT0g
LTEpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVMb2NhdGlvbiA9ICJbbmF0aXZl
IGNvZGVdIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmcmFtZUxvY2F0aW9uID0gIigiICsgZnJhbWVMb2NhdGlvbiArICIpIjsKLQot
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAjJHtpfTogJHtmcmFtZU5hbWV9ICR7ZnJh
bWVMb2NhdGlvbn1gOwotICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAg
ICAgbGV0IHNhbml0aXplZEZyYW1lcyA9IGZyYW1lcy5tYXAoVGVzdEhhcm5lc3Muc2FuaXRpemVT
dGFja0ZyYW1lKTsKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGRSZXN1bHQoIlRSQUNFOiAi
ICsgQXJyYXkuZnJvbShhcmd1bWVudHMpLmpvaW4oIiAiKSk7CiAgICAgICAgICAgICAgICAgICAg
IHNlbGYuYWRkUmVzdWx0KHNhbml0aXplZEZyYW1lcy5qb2luKCJcbiIpKTsKICAgICAgICAgICAg
ICAgICB9CkBAIC0xODksMTYgKzE3NCw1NSBAQCBGcm9udGVuZFRlc3RIYXJuZXNzID0gY2xhc3Mg
RnJvbnRlbmRUZXN0SGFybmVzcyBleHRlbmRzIFRlc3RIYXJuZXNzCiAgICAgICAgIHdpbmRvdy5j
b25zb2xlID0gcmVkaXJlY3RlZE1ldGhvZHM7CiAgICAgfQogCi0gICAgcmVwb3J0VW5jYXVnaHRF
eGNlcHRpb24obWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCisgICAgcmVw
b3J0VW5oYW5kbGVkUmVqZWN0aW9uKGVycm9yKQogICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9
IGBVbmNhdWdodCBleGNlcHRpb24gaW4gaW5zcGVjdG9yIHBhZ2U6ICR7bWVzc2FnZX0gWyR7dXJs
fToke2xpbmVOdW1iZXJ9OiR7Y29sdW1uTnVtYmVyfV1gOworICAgICAgICBsZXQgbWVzc2FnZSA9
IGVycm9yLm1lc3NhZ2U7CisgICAgICAgIGxldCBzdGFjayA9IGVycm9yLnN0YWNrOworICAgICAg
ICBsZXQgcmVzdWx0ID0gYFVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbiBpbiBpbnNwZWN0b3Ig
cGFnZTogJHttZXNzYWdlfVxuYDsKKyAgICAgICAgaWYgKHN0YWNrKSB7CisgICAgICAgICAgICBs
ZXQgc2FuaXRpemVkU3RhY2sgPSB0aGlzLnNhbml0aXplU3RhY2soc3RhY2spOworICAgICAgICAg
ICAgcmVzdWx0ICs9IGBcblN0YWNrIFRyYWNlOiAke3Nhbml0aXplZFN0YWNrfVxuYDsKKyAgICAg
ICAgfQogCiAgICAgICAgIC8vIElmIHRoZSBjb25uZWN0aW9uIHRvIHRoZSB0ZXN0IHBhZ2UgaXMg
bm90IHNldCB1cCwgdGhlbiBqdXN0IGR1bXAgdG8gY29uc29sZSBhbmQgZ2l2ZSB1cC4KICAgICAg
ICAgLy8gRXJyb3JzIGVuY291bnRlcmVkIHRoaXMgZWFybHkgY2FuIGJlIGRlYnVnZ2VkIGJ5IGxv
YWRpbmcgVGVzdC5odG1sIGluIGEgbm9ybWFsIGJyb3dzZXIgcGFnZS4KLSAgICAgICAgaWYgKHRo
aXMuX29yaWdpbmFsQ29uc29sZSAmJiAhdGhpcy5fdGVzdFBhZ2VIYXNMb2FkZWQoKSkgeworICAg
ICAgICBpZiAodGhpcy5fb3JpZ2luYWxDb25zb2xlICYmICF0aGlzLl90ZXN0UGFnZUhhc0xvYWRl
ZCgpKQorICAgICAgICAgICAgdGhpcy5fb3JpZ2luYWxDb25zb2xlWyJlcnJvciJdKHJlc3VsdCk7
CisKKyAgICAgICAgdGhpcy5hZGRSZXN1bHQocmVzdWx0KTsKKyAgICAgICAgdGhpcy5jb21wbGV0
ZVRlc3QoKTsKKyAgICAgICAgLy8gU3RvcCBkZWZhdWx0IGhhbmRsZXIgc28gd2UgY2FuIGVtcHR5
IEluc3BlY3RvckJhY2tlbmQncyBtZXNzYWdlIHF1ZXVlLgorICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICByZXBvcnRVbmNhdWdodEV4Y2VwdGlvbkZyb21FdmVudChtZXNzYWdlLCB1
cmwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikKKyAgICB7CisgICAgICAgIC8vIEFuIGV4Y2Vw
dGlvbiB0aHJvd24gZnJvbSBhIHRpbWVyIGNhbGxiYWNrIGRvZXMgbm90IHJlcG9ydCBhIFVSTC4K
KyAgICAgICAgaWYgKHVybCA9PT0gInVuZGVmaW5lZCIpCisgICAgICAgICAgICB1cmwgPSAiZ2xv
YmFsIjsKKworICAgICAgICByZXR1cm4gdGhpcy5yZXBvcnRVbmNhdWdodEV4Y2VwdGlvbih7bWVz
c2FnZSwgdXJsLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXJ9KTsKKyAgICB9CisKKyAgICByZXBv
cnRVbmNhdWdodEV4Y2VwdGlvbih7bWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1i
ZXIsIHN0YWNrLCBjb2RlfSkKKyAgICB7CisgICAgICAgIGxldCByZXN1bHQ7CisgICAgICAgIGxl
dCBzYW5pdGl6ZWRVUkwgPSBUZXN0SGFybmVzcy5zYW5pdGl6ZVVSTCh1cmwpOworICAgICAgICBs
ZXQgc2FuaXRpemVkU3RhY2sgPSB0aGlzLnNhbml0aXplU3RhY2soc3RhY2spOworICAgICAgICBp
ZiAodXJsIHx8IGxpbmVOdW1iZXIgfHwgY29sdW1uTnVtYmVyKQorICAgICAgICAgICAgcmVzdWx0
ID0gYFVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBpbnNwZWN0b3IgcGFnZTogJHttZXNzYWdlfSBbJHtz
YW5pdGl6ZWRVUkx9OiR7bGluZU51bWJlcn06JHtjb2x1bW5OdW1iZXJ9XVxuYDsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgcmVzdWx0ID0gYFVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBpbnNwZWN0
b3IgcGFnZTogJHttZXNzYWdlfVxuYDsKKworICAgICAgICBpZiAoc3RhY2spCisgICAgICAgICAg
ICByZXN1bHQgKz0gYFxuU3RhY2sgVHJhY2U6XG4ke3Nhbml0aXplZFN0YWNrfVxuYDsKKyAgICAg
ICAgaWYgKGNvZGUpCisgICAgICAgICAgICByZXN1bHQgKz0gYFxuRXZhbHVhdGVkIENvZGU6XG4k
e2NvZGV9YDsKKworICAgICAgICAvLyBJZiB0aGUgY29ubmVjdGlvbiB0byB0aGUgdGVzdCBwYWdl
IGlzIG5vdCBzZXQgdXAsIHRoZW4ganVzdCBkdW1wIHRvIGNvbnNvbGUgYW5kIGdpdmUgdXAuCisg
ICAgICAgIC8vIEVycm9ycyBlbmNvdW50ZXJlZCB0aGlzIGVhcmx5IGNhbiBiZSBkZWJ1Z2dlZCBi
eSBsb2FkaW5nIFRlc3QuaHRtbCBpbiBhIG5vcm1hbCBicm93c2VyIHBhZ2UuCisgICAgICAgIGlm
ICh0aGlzLl9vcmlnaW5hbENvbnNvbGUgJiYgIXRoaXMuX3Rlc3RQYWdlSGFzTG9hZGVkKCkpCiAg
ICAgICAgICAgICB0aGlzLl9vcmlnaW5hbENvbnNvbGVbImVycm9yIl0ocmVzdWx0KTsKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQogCiAgICAgICAgIHRoaXMuYWRkUmVzdWx0
KHJlc3VsdCk7CiAgICAgICAgIHRoaXMuY29tcGxldGVUZXN0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMKaW5kZXggZjE1MzhmYmUwMWY2
MmI3ZGZmYzg2NTljYzI5YjIyYmJhOWI4NDcwYy4uYTI3MDIzZGEwYzk5ODY0N2ZkYWVhZDQ3OTE1
YjVhNDVlMWRlNzc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVGVzdC9UZXN0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1Rlc3QvVGVzdC5qcwpAQCAtMTE1LDMgKzExNSw2IEBAIHdpbmRvdy5JbnNwZWN0b3JUZXN0
ID0gbmV3IEZyb250ZW5kVGVzdEhhcm5lc3MoKTsKIEluc3BlY3RvclRlc3QucmVkaXJlY3RDb25z
b2xlVG9UZXN0T3V0cHV0KCk7CiAKIFdlYkluc3BlY3Rvci5yZXBvcnRJbnRlcm5hbEVycm9yID0g
KGUpID0+IHsgY29uc29sZS5lcnJvcihlKTsgfQorCit3aW5kb3cucmVwb3J0VW5oYW5kbGVkUmVq
ZWN0aW9uID0gSW5zcGVjdG9yVGVzdC5yZXBvcnRVbmhhbmRsZWRSZWplY3Rpb24uYmluZChJbnNw
ZWN0b3JUZXN0KTsKK3dpbmRvdy5vbmVycm9yID0gSW5zcGVjdG9yVGVzdC5yZXBvcnRVbmNhdWdo
dEV4Y2VwdGlvbkZyb21FdmVudC5iaW5kKEluc3BlY3RvclRlc3QpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0SGFybmVzcy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3MuanMKaW5k
ZXggM2Q1MWYyNDUxMzU0MWUxMDdmZGMxODA0MmJlZmU5NzRkYTdkODI3MC4uNTNiZWU0YTRiNDlj
MGE1NzZiMzJjMGZmNDliZDkzZmI2YzgzMWQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0SGFybmVzcy5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3RIYXJuZXNzLmpzCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMiw2ICszMiwx
MiBAQCBUZXN0SGFybmVzcyA9IGNsYXNzIFRlc3RIYXJuZXNzIGV4dGVuZHMgV2ViSW5zcGVjdG9y
Lk9iamVjdAogICAgICAgICB0aGlzLl9sb2dDb3VudCA9IDA7CiAgICAgICAgIHRoaXMuX2ZhaWx1
cmVPYmplY3RzID0gbmV3IE1hcDsKICAgICAgICAgdGhpcy5fZmFpbHVyZU9iamVjdElkZW50aWZp
ZXIgPSAxOworCisgICAgICAgIC8vIE9wdGlvbnMgdGhhdCBhcmUgc2V0IHBlci10ZXN0IGZvciBk
ZWJ1Z2dpbmcgcHVycG9zZXMuCisgICAgICAgIHRoaXMuZm9yY2VEZWJ1Z0xvZ2dpbmcgPSBmYWxz
ZTsKKworICAgICAgICAvLyBPcHRpb25zIHRoYXQgYXJlIHNldCBwZXItdGVzdCB0byBlbnN1cmUg
ZGV0ZXJtaW5pc3RpYyBvdXRwdXQuCisgICAgICAgIHRoaXMuc3VwcHJlc3NTdGFja1RyYWNlcyA9
IGZhbHNlOwogICAgIH0KIAogICAgIGNvbXBsZXRlVGVzdCgpCkBAIC0xODMsNiArMTg5LDU1IEBA
IFRlc3RIYXJuZXNzID0gY2xhc3MgVGVzdEhhcm5lc3MgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2Jq
ZWN0CiAgICAgICAgIHJldHVybiAodHlwZW9mIG1lc3NhZ2UgIT09ICJzdHJpbmciKSA/IEpTT04u
c3RyaW5naWZ5KG1lc3NhZ2UpIDogbWVzc2FnZTsKICAgICB9CiAKKyAgICBzdGF0aWMgc2FuaXRp
emVVUkwodXJsKQorICAgIHsKKyAgICAgICAgaWYgKCF1cmwpCisgICAgICAgICAgICByZXR1cm4g
Iih1bmtub3duKSI7CisKKyAgICAgICAgbGV0IGxhc3RQYXRoU2VwYXJhdG9yID0gTWF0aC5tYXgo
dXJsLmxhc3RJbmRleE9mKCIvIiksIHVybC5sYXN0SW5kZXhPZigiXFwiKSk7CisgICAgICAgIGxl
dCBsb2NhdGlvbiA9IChsYXN0UGF0aFNlcGFyYXRvciA+IDApID8gdXJsLnN1YnN0cihsYXN0UGF0
aFNlcGFyYXRvciArIDEpIDogdXJsOworICAgICAgICBpZiAoIWxvY2F0aW9uLmxlbmd0aCkKKyAg
ICAgICAgICAgIGxvY2F0aW9uID0gIih1bmtub3duKSI7CisKKyAgICAgICAgLy8gQ2xlYW4gdXAg
dGhlIGxvY2F0aW9uIHNvIGl0IGlzIGJyYWNrZXRlZCBvciBpbiBwYXJlbnRoZXNpcy4KKyAgICAg
ICAgaWYgKHVybC5pbmRleE9mKCJbbmF0aXZlIGNvZGVdIikgIT09IC0xKQorICAgICAgICAgICAg
bG9jYXRpb24gPSAiW25hdGl2ZSBjb2RlXSI7CisKKyAgICAgICAgcmV0dXJuIGxvY2F0aW9uOwor
ICAgIH0KKworICAgIHN0YXRpYyBzYW5pdGl6ZVN0YWNrRnJhbWUoZnJhbWUsIGkpCisgICAgewor
ICAgICAgICAvLyBNb3N0IGZyYW1lcyBhcmUgb2YgdGhlIGZvcm0gImZ1bmN0aW9uTmFtZUBmaWxl
Oi8vL2Zvby9iYXIvRmlsZS5qczozNDUiLgorICAgICAgICAvLyBCdXQsIHNvbWUgZnJhbWVzIGRv
IG5vdCBoYXZlIGEgZnVuY3Rpb25OYW1lLiBHZXQgcmlkIG9mIHRoZSBmaWxlIHBhdGguCisgICAg
ICAgIGxldCBuYW1lQW5kVVJMU2VwYXJhdG9yID0gZnJhbWUuaW5kZXhPZigiQCIpOworICAgICAg
ICBsZXQgZnJhbWVOYW1lID0gKG5hbWVBbmRVUkxTZXBhcmF0b3IgPiAwKSA/IGZyYW1lLnN1YnN0
cigwLCBuYW1lQW5kVVJMU2VwYXJhdG9yKSA6ICIoYW5vbnltb3VzKSI7CisKKyAgICAgICAgbGV0
IGxhc3RQYXRoU2VwYXJhdG9yID0gTWF0aC5tYXgoZnJhbWUubGFzdEluZGV4T2YoIi8iKSwgZnJh
bWUubGFzdEluZGV4T2YoIlxcIikpOworICAgICAgICBsZXQgZnJhbWVMb2NhdGlvbiA9IChsYXN0
UGF0aFNlcGFyYXRvciA+IDApID8gZnJhbWUuc3Vic3RyKGxhc3RQYXRoU2VwYXJhdG9yICsgMSkg
OiBmcmFtZTsKKyAgICAgICAgaWYgKCFmcmFtZUxvY2F0aW9uLmxlbmd0aCkKKyAgICAgICAgICAg
IGZyYW1lTG9jYXRpb24gPSAidW5rbm93biI7CisKKyAgICAgICAgLy8gQ2xlYW4gdXAgdGhlIGxv
Y2F0aW9uIHNvIGl0IGlzIGJyYWNrZXRlZCBvciBpbiBwYXJlbnRoZXNpcy4KKyAgICAgICAgaWYg
KGZyYW1lLmluZGV4T2YoIltuYXRpdmUgY29kZV0iKSAhPT0gLTEpCisgICAgICAgICAgICBmcmFt
ZUxvY2F0aW9uID0gIltuYXRpdmUgY29kZV0iOworICAgICAgICBlbHNlCisgICAgICAgICAgICBm
cmFtZUxvY2F0aW9uID0gIigiICsgZnJhbWVMb2NhdGlvbiArICIpIjsKKworICAgICAgICByZXR1
cm4gYCMke2l9OiAke2ZyYW1lTmFtZX0gJHtmcmFtZUxvY2F0aW9ufWA7CisgICAgfQorCisgICAg
c2FuaXRpemVTdGFjayhzdGFjaykKKyAgICB7CisgICAgICAgIGlmICh0aGlzLnN1cHByZXNzU3Rh
Y2tUcmFjZXMpCisgICAgICAgICAgICByZXR1cm4gIihzdXBwcmVzc2VkKSI7CisKKyAgICAgICAg
aWYgKCFzdGFjayB8fCB0eXBlb2Ygc3RhY2sgIT09ICJzdHJpbmciKQorICAgICAgICAgICAgcmV0
dXJuICIodW5rbm93bikiOworCisgICAgICAgIHJldHVybiBzdGFjay5zcGxpdCgiXG4iKS5tYXAo
VGVzdEhhcm5lc3Muc2FuaXRpemVTdGFja0ZyYW1lKS5qb2luKCJcbiIpOworICAgIH0KKwogICAg
IC8vIFByaXZhdGUKIAogICAgIF9leHBlY3QodHlwZSwgY29uZGl0aW9uLCBtZXNzYWdlLCAuLi52
YWx1ZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9U
ZXN0L1Rlc3RTdWl0ZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rl
c3QvVGVzdFN1aXRlLmpzCmluZGV4IDVjMzQ0ZjAwZTY3NDljYjJlODY2MGFiYmE0YmViNDgyMmM5
ZjU0NjYuLmFhY2QzMTNiNzNmY2NlNmE1NGEwZDNiYzFlODljMGVkMDgzZjU4NTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVzdFN1aXRlLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVzdFN1aXRl
LmpzCkBAIC04NywxNiArODcsMjggQEAgVGVzdFN1aXRlID0gY2xhc3MgVGVzdFN1aXRlIGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB0aGlzLnRlc3RjYXNlcy5wdXNoKHRlc3Rj
YXNlKTsKICAgICB9CiAKLSAgICBzdGF0aWMgbWVzc2FnZUZyb21UaHJvd25PYmplY3QoZSkKKyAg
ICAvLyBQcm90ZWN0ZWQKKworICAgIGxvZ1Rocm93bk9iamVjdChlKQogICAgIHsKICAgICAgICAg
bGV0IG1lc3NhZ2UgPSBlOwotICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKQorICAgICAg
ICBsZXQgc3RhY2sgPSAiKHVua25vd24pIjsKKyAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJv
cikgewogICAgICAgICAgICAgbWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgIGlmIChl
LnN0YWNrKQorICAgICAgICAgICAgICAgIHN0YWNrID0gZS5zdGFjazsKKyAgICAgICAgfQogCiAg
ICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZSAhPT0gInN0cmluZyIpCiAgICAgICAgICAgICBtZXNz
YWdlID0gSlNPTi5zdHJpbmdpZnkobWVzc2FnZSk7CiAKLSAgICAgICAgcmV0dXJuIG1lc3NhZ2U7
CisgICAgICAgIGxldCBzYW5pdGl6ZWRTdGFjayA9IHRoaXMuX2hhcm5lc3Muc2FuaXRpemVTdGFj
ayhzdGFjayk7CisKKyAgICAgICAgbGV0IHJlc3VsdCA9IGAhISBFWENFUFRJT046ICR7bWVzc2Fn
ZX1gOworICAgICAgICBpZiAoc3RhY2spCisgICAgICAgICAgICByZXN1bHQgKz0gYFxuU3RhY2sg
VHJhY2U6ICR7c2FuaXRpemVkU3RhY2t9YDsKKworICAgICAgICB0aGlzLl9oYXJuZXNzLmxvZyhy
ZXN1bHQpOwogICAgIH0KIH07CiAKQEAgLTE1NCw4ICsxNjYsNyBAQCBBc3luY1Rlc3RTdWl0ZSA9
IGNsYXNzIEFzeW5jVGVzdFN1aXRlIGV4dGVuZHMgVGVzdFN1aXRlCiAKICAgICAgICAgcmV0dXJu
IHJlc3VsdC5jYXRjaCgoZSkgPT4gewogICAgICAgICAgICAgdGhpcy5mYWlsQ291bnQrKzsKLSAg
ICAgICAgICAgIGxldCBtZXNzYWdlID0gVGVzdFN1aXRlLm1lc3NhZ2VGcm9tVGhyb3duT2JqZWN0
KGUpOwotICAgICAgICAgICAgdGhpcy5faGFybmVzcy5sb2coYCEhIEVYQ0VQVElPTjogJHttZXNz
YWdlfWApOworICAgICAgICAgICAgdGhpcy5sb2dUaHJvd25PYmplY3QoZSk7CiAKICAgICAgICAg
ICAgIHRocm93IGU7IC8vIFJlamVjdCB0aGlzIHByb21pc2UgYnkgcmUtdGhyb3dpbmcgdGhlIGVy
cm9yLgogICAgICAgICB9KTsKQEAgLTE5NiwxMiArMjA3LDExIEBAIFN5bmNUZXN0U3VpdGUgPSBj
bGFzcyBTeW5jVGVzdFN1aXRlIGV4dGVuZHMgVGVzdFN1aXRlCiAgICAgICAgICAgICAgICAgdHJ5
IHsKICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRlc3RjYXNlLnNldHVwLmNhbGwo
bnVsbCk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB0aGlzLl9oYXJuZXNzLmxvZygiISEgRVhDRVBUSU9OIik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9oYXJuZXNzLmxvZygiISEgU0VUVVAgRkFJTEVE
Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGxldCBtZXNzYWdlID0gVGVzdFN1aXRlLm1lc3NhZ2VGcm9tVGhyb3duT2JqZWN0KGUpOwot
ICAgICAgICAgICAgICAgICAgICB0aGlzLl9oYXJuZXNzLmxvZyhgISEgRVhDRVBUSU9OOiAke21l
c3NhZ2V9YCk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nVGhyb3duT2JqZWN0KGUpOwog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfQpAQCAtMjE2LDggKzIyNiw3IEBAIFN5bmNUZXN0U3VpdGUgPSBjbGFzcyBTeW5j
VGVzdFN1aXRlIGV4dGVuZHMgVGVzdFN1aXRlCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgIHRoaXMuZmFpbENvdW50Kys7Ci0gICAg
ICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSBUZXN0U3VpdGUubWVzc2FnZUZyb21UaHJvd25PYmpl
Y3QoZSk7Ci0gICAgICAgICAgICAgICAgdGhpcy5faGFybmVzcy5sb2coYCEhIEVYQ0VQVElPTjog
JHttZXNzYWdlfWApOworICAgICAgICAgICAgICAgIHRoaXMubG9nVGhyb3duT2JqZWN0KGUpOwog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KIApAQCAtMjI3LDEy
ICsyMzYsMTEgQEAgU3luY1Rlc3RTdWl0ZSA9IGNsYXNzIFN5bmNUZXN0U3VpdGUgZXh0ZW5kcyBU
ZXN0U3VpdGUKICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICBsZXQg
cmVzdWx0ID0gdGVzdGNhc2UudGVhcmRvd24uY2FsbChudWxsKTsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKHJlc3VsdCA9PT0gZmFsc2UpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2hhcm5lc3MubG9nKCIhISBFWENFUFRJT046Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0
aGlzLl9oYXJuZXNzLmxvZygiISEgVEVBUkRPV04gRkFJTEVEIik7CiAgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxldCBtZXNzYWdlID0gVGVz
dFN1aXRlLm1lc3NhZ2VGcm9tVGhyb3duT2JqZWN0KGUpOwotICAgICAgICAgICAgICAgICAgICB0
aGlzLl9oYXJuZXNzLmxvZyhgISEgRVhDRVBUSU9OOiAke21lc3NhZ2V9YCk7CisgICAgICAgICAg
ICAgICAgICAgIHRoaXMubG9nVGhyb3duT2JqZWN0KGUpOwogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU0
MTlmOGUzZWRhNzE0NTU5MzJlNjY5YzQ4MWZmZDhlZDBmYTc3ZTMuLjQ3YWExMzExZTc1MWQ4NGVi
OWQwYzkzMWZhODk2YzYyNWU1M2VhODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNi0xMi0y
OSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBUZXN0Lmh0bWwgc2hvdWxkIHN1cHBvcnQgZ2xvYmFscyByZXBvcnRJbnRlcm5hbEVycm9yLCBy
ZXBvcnRVbmhhbmRsZWRSZWplY3Rpb24sIHJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjEzNTgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzI4MDY2NDQ2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcHJvdmUgdW5jYXVnaHQgZXhjZXB0aW9uIHJlcG9ydGluZyBh
bmQgYWRkIHNvbWUgdGVzdHMgdG8gZG9jdW1lbnQKKyAgICAgICAgbmV3IGFuZCBleGlzdGluZyBi
ZWhhdmlvci4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNw
ZWN0b3ItdGVzdC5qczoKKyAgICAgICAgKHJ1blRlc3QucnVuVGVzdE1ldGhvZEluRnJvbnRlbmQp
OgorICAgICAgICAocnVuVGVzdCk6IE91dHNvdXJjZSByZXBvcnRpbmcgb2YgYW4gdW5jYXVnaHQg
ZXhjZXB0aW9uIHdoaWxlIGluamVjdGluZworICAgICAgICBhIG1ldGhvZCBpbnRvIHRoZSBmcm9u
dGVuZC4gQnkgZG9pbmcgdGhpcywgd2UgY2FuIG1ha2UgdGhlIHJlcG9ydCB1c2luZworICAgICAg
ICB0aGUgYWN0dWFsIGV4Y2VwdGlvbiBvYmplY3Qgc2luY2UgaXQgZG9lc24ndCBnbyB0aHJvdWdo
IHdpbmRvdy5vbmVycm9yLgorCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvYXN5bmMt
dGVzdC1zdWl0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMv
YXN5bmMtdGVzdC1zdWl0ZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL3N5
bmMtdGVzdC1zdWl0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVz
dHMvc3luYy10ZXN0LXN1aXRlLmh0bWw6CisgICAgICAgIFJlYmFzZWxpbmUgYW5kIGZvcmNlIHN1
cHByZXNzaW9uIG9mIHN0YWNrIHRyYWNlcywgd2hpY2ggYXJlIG5vdCBkZXRlcm1pbmlzdGljCisg
ICAgICAgIGFjcm9zcyBjb21taXRzIGR1ZSB0byBsb2dnaW5nIHNwZWNpZmljIGxpbmVzIGFuZCBj
b2x1bW5zIGluIFRlc3RDb21iaW5lZC5qcy4KKworICAgICAgICAqIGluc3BlY3Rvci91bml0LXRl
c3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWZyb20tdGltZXItY2FsbGJhY2stZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVu
Y2F1Z2h0LWV4Y2VwdGlvbi1mcm9tLXRpbWVyLWNhbGxiYWNrLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGluc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWluLXRl
c3QtZnVuY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdW5p
dC10ZXN0cy9nbG9iYWxzLXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi10ZXN0LWZ1bmN0aW9uLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQt
ZXhjZXB0aW9uLWluLXRlc3Qtc3VpdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi10ZXN0LXN1
aXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMt
dW5oYW5kbGVkLXJlamVjdGlvbi1pbi10ZXN0LWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVqZWN0
aW9uLWluLXRlc3QtZnVuY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3Vu
aXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVqZWN0aW9uLWluLXRlc3Qtc3VpdGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVu
aGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1zdWl0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGltZXIt
Y2FsbGJhY2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10
ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGltZXItY2FsbGJhY2suaHRtbDog
QWRkZWQuCisKIDIwMTYtMTItMjcgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTihyOTk5NjUpOiBXZWIgSW5zcGVjdG9yOiBsYXJnZSBpbmxpbmUgc2Ny
aXB0cyBhbmQgdGV4dCBub2RlcyBhcmUgdHJ1bmNhdGVkIGF0IDEwLDAwMCBjaGFyYWN0ZXJzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5z
cGVjdG9yLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZXMvaW5zcGVjdG9yLXRlc3QuanMKaW5kZXggYjM2YzEzZGMzOWExMWFlNmU0MjExYTI2ZTczN2I5
NDRmMjg5NGE3MC4uNGI2ODJjZDkxNTkxOTJlZTQ2MWZiMjc5MTJlMWVhZjcyZWYyNzZjMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3Bl
Y3Rvci10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlcy9pbnNwZWN0b3ItdGVzdC5qcwpAQCAtODgsOSArODgsOSBAQCBmdW5jdGlvbiBydW5UZXN0
KCkKICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgIHRlc3RGdW5jdGlvbigpOwogICAgICAgICB9
IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogdGhlIHJlZGlyZWN0ZWQgY29uc29s
ZSBtZXRob2RzIGRvIG5vdCBmb3J3YXJkIGFkZGl0aW9uYWwgYXJndW1lbnRzLgotICAgICAgICAg
ICAgY29uc29sZS5lcnJvcigiRXhjZXB0aW9uIGR1cmluZyB0ZXN0IGV4ZWN1dGlvbjogIiArIGUs
IGUuc3RhY2sgfHwgIihubyBzdGFjayB0cmFjZSkiKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICAvLyBVc2luZyB0aGlzIGluc3RlYWQgb2Yg
d2luZG93Lm9uZXJyb3Igd2lsbCBwcmVzZXJ2ZSB0aGUgc3RhY2sgdHJhY2UuCisgICAgICAgICAg
ICBlLmNvZGUgPSB0ZXN0RnVuY3Rpb24udG9TdHJpbmcoKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QucmVwb3J0VW5jYXVnaHRFeGNlcHRpb24oZSk7CiAgICAgICAgIH0KICAgICB9CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2FzeW5jLXRlc3Qtc3Vp
dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvYXN5bmMt
dGVzdC1zdWl0ZS1leHBlY3RlZC50eHQKaW5kZXggNTJkYmVjNjMwNzgxYjVkOTFjNDdlN2Y1ZDll
YTE3MTM1OGIyYzg3OS4uZGZhMTAyMGZmNjYxODYxZTE5ZjExOWViMjAxYmUyYmY2OGM3MWQ5MiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvYXN5bmMtdGVzdC1z
dWl0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMv
YXN5bmMtdGVzdC1zdWl0ZS1leHBlY3RlZC50eHQKQEAgLTI2LDYgKzI2LDcgQEAgUEFTUzogQXN5
bmNUZXN0U3VpdGUuUnVuVGVzdENhc2VzKCkgc2hvdWxkIHJldHVybiBhIFByb21pc2UuCiAtLSBS
dW5uaW5nIHRlc3QgY2FzZTogRHVtbXlUZXN0MwogLS0gUnVubmluZyB0ZXN0IGNhc2U6IEZhaWxp
bmdUZXN0NAogISEgRVhDRVBUSU9OOiBbb2JqZWN0IE9iamVjdF0KK1N0YWNrIFRyYWNlOiAoc3Vw
cHJlc3NlZCkKIFBBU1M6IFByb21pc2UgZnJvbSBzZXF1ZW50aWFsRXhlY3V0aW9uU3VpdGUucnVu
VGVzdENhc2VzKCkgc2hvdWxkIHJlamVjdCB3aGVuIGEgdGVzdCBjYXNlIGZhaWxzLgogUEFTUzog
UHJvbWlzZSBmcm9tIHNlcXVlbnRpYWxFeGVjdXRpb25TdWl0ZS5ydW5UZXN0Q2FzZXMoKSBzaG91
bGQgcmVqZWN0IHdpdGhvdXQgYWx0ZXJpbmcgaXRzIHJlc3VsdCB2YWx1ZS4KIFBBU1M6IHNlcXVl
bnRpYWxFeGVjdXRpb25TdWl0ZSBzaG91bGQgaGF2ZSBleGVjdXRlZCBmb3VyIHRlc3RzLgpAQCAt
MzcsNiArMzgsNyBAQCBQQVNTOiBzZXF1ZW50aWFsRXhlY3V0aW9uU3VpdGUgc2hvdWxkIGhhdmUg
c2tpcHBlZCB6ZXJvIHRlc3RzLgogLS0gUnVubmluZyB0ZXN0IGNhc2U6IFBhc3NpbmdUZXN0NQog
LS0gUnVubmluZyB0ZXN0IGNhc2U6IEZhaWxpbmdUZXN0NgogISEgRVhDRVBUSU9OOiB7InRva2Vu
Ijo2NjZ9CitTdGFjayBUcmFjZTogKHN1cHByZXNzZWQpCiBQQVNTOiBQcm9taXNlIGZyb20gYWJv
cnRPbkZhaWx1cmVTdWl0ZS5ydW5UZXN0Q2FzZXMoKSBzaG91bGQgcmVqZWN0IHdoZW4gYSB0ZXN0
IGNhc2UgZmFpbHMuCiBQQVNTOiBQcm9taXNlIGZyb20gYWJvcnRPbkZhaWx1cmVTdWl0ZS5ydW5U
ZXN0Q2FzZXMoKSBzaG91bGQgcmVqZWN0IHdpdGhvdXQgYWx0ZXJpbmcgaXRzIHJlc3VsdCB2YWx1
ZS4KIFBBU1M6IGFib3J0T25GYWlsdXJlU3VpdGUgc2hvdWxkIGhhdmUgZXhlY3V0ZWQgdHdvIHRl
c3RzLgpAQCAtNTgsMjIgKzYwLDI2IEBAIFBBU1M6IFByb21pc2UgZnJvbSBzZXR1cEFuZFRlYXJk
b3duVGVzdFN1aXRlLnJ1blRlc3RDYXNlcygpIHNob3VsZCByZXNvbHZlLgogPT0gUnVubmluZyB0
ZXN0IHN1aXRlOiBBc3luY1Rlc3RTdWl0ZS5TZXR1cEV4Y2VwdGlvbgogLS0gUnVubmluZyB0ZXN0
IHNldHVwLgogISEgRVhDRVBUSU9OOiAKK1N0YWNrIFRyYWNlOiAoc3VwcHJlc3NlZCkKIFBBU1M6
IFByb21pc2UgZnJvbSBzZXR1cEV4Y2VwdGlvblRlc3RTdWl0ZS5ydW5UZXN0Q2FzZXMoKSBzaG91
bGQgcmVqZWN0LgogCiA9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IEFzeW5jVGVzdFN1aXRlLlNldHVw
RmFpbHVyZQogLS0gUnVubmluZyB0ZXN0IHNldHVwLgogISEgRVhDRVBUSU9OOiB1bmRlZmluZWQK
K1N0YWNrIFRyYWNlOiAoc3VwcHJlc3NlZCkKIFBBU1M6IFByb21pc2UgZnJvbSBzZXR1cEZhaWx1
cmVUZXN0U3VpdGUucnVuVGVzdENhc2VzKCkgc2hvdWxkIHJlamVjdC4KIAogPT0gUnVubmluZyB0
ZXN0IHN1aXRlOiBBc3luY1Rlc3RTdWl0ZS5UZWFyZG93bkV4Y2VwdGlvbgogLS0gUnVubmluZyB0
ZXN0IGNhc2U6IFRlc3RXaXRoRXhjZXB0aW9uRHVyaW5nVGVhcmRvd24KIC0tIFJ1bm5pbmcgdGVz
dCB0ZWFyZG93bi4KICEhIEVYQ0VQVElPTjogCitTdGFjayBUcmFjZTogKHN1cHByZXNzZWQpCiBQ
QVNTOiBQcm9taXNlIGZyb20gdGVhcmRvd25FeGNlcHRpb25UZXN0U3VpdGUucnVuVGVzdENhc2Vz
KCkgc2hvdWxkIHJlamVjdC4KIAogPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBBc3luY1Rlc3RTdWl0
ZS5UZWFyZG93bkZhaWx1cmUKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUZXN0V2l0aEV4Y2VwdGlv
bkR1cmluZ1RlYXJkb3duCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAhISBFWENFUFRJT046
IHVuZGVmaW5lZAorU3RhY2sgVHJhY2U6IChzdXBwcmVzc2VkKQogUEFTUzogUHJvbWlzZSBmcm9t
IHRlYXJkb3duRmFpbHVyZVRlc3RTdWl0ZS5ydW5UZXN0Q2FzZXMoKSBzaG91bGQgcmVqZWN0Lgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9hc3luYy10ZXN0
LXN1aXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9hc3luYy10ZXN0
LXN1aXRlLmh0bWwKaW5kZXggNTFiMzAyYzkyNTc3MDQ4MzAxZDY4NWZmMzUzOWY1ZTI2ZDY5MGYx
ZS4uMDBmOWVjMzYyNGUwYjJiNzUzMDFmNjdlYTk2ZTFhMWI5M2YwMGFiOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvYXN5bmMtdGVzdC1zdWl0ZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2FzeW5jLXRlc3Qtc3VpdGUuaHRt
bApAQCAtNSw2ICs1LDggQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiB0ZXN0KCkKIHsKKyAgICBQcm90
b2NvbFRlc3Quc3VwcHJlc3NTdGFja1RyYWNlcyA9IHRydWU7CisKICAgICB0cnkgewogICAgICAg
ICBsZXQgcmVzdWx0ID0gbmV3IEFzeW5jVGVzdFN1aXRlKHRoaXMpOwogICAgICAgICBQcm90b2Nv
bFRlc3QubG9nKCJGQUlMOiBpbnN0YW50aWF0aW5nIEFzeW5jVGVzdFN1aXRlIHJlcXVpcmVzIG5h
bWUgYXJndW1lbnQuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10
ZXN0cy9nbG9iYWxzLXVuY2F1Z2h0LWV4Y2VwdGlvbi1mcm9tLXRpbWVyLWNhbGxiYWNrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVn
aHQtZXhjZXB0aW9uLWZyb20tdGltZXItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM5MGI5NmZlNGVjOThmOTk1Mzk1MjVkMTViMzIyN2I1NWMxZGUxZjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuY2F1Z2h0LWV4
Y2VwdGlvbi1mcm9tLXRpbWVyLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1Rlc3QgdGhhdCB0aGUgdW5jYXVnaHQgZXhjZXB0aW9uIGhvb2sgd2lsbCBpbW1lZGlhdGVseSB0
ZXJtaW5hdGUgdGhlIHRlc3QgYW5kIHByaW50IHRoZSBhc3NvY2lhdGVkIGV4Y2VwdGlvbiBhbmQg
c3RhY2sgdHJhY2UuCisKK1VuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBpbnNwZWN0b3IgcGFnZTogRXJy
b3I6IFRoaXMgaXMgYW4gZXhjZXB0aW9uIHRocm93biBpbiB0aGUgaW5zcGVjdG9yIHBhZ2UuIFtn
bG9iYWw6MTk6MzldCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQt
dGVzdHMvZ2xvYmFscy11bmNhdWdodC1leGNlcHRpb24tZnJvbS10aW1lci1jYWxsYmFjay5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmNhdWdodC1leGNl
cHRpb24tZnJvbS10aW1lci1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5ZTJiYzY2ODNkZGY0
M2EyNmMyOGIwYzcwOThlNGI5YzA4NTg4M2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuY2F1Z2h0LWV4Y2VwdGlvbi1mcm9tLXRp
bWVyLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVz
dCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zdXBwcmVzc1N0YWNrVHJhY2VzID0gdHJ1ZTsKKwor
ICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aHJvdyBuZXcgRXJyb3IoIlRoaXMgaXMgYW4gZXhjZXB0
aW9uIHRocm93biBpbiB0aGUgaW5zcGVjdG9yIHBhZ2UuIik7IH0sIDApOworfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0IHRoYXQgdGhlIHVu
Y2F1Z2h0IGV4Y2VwdGlvbiBob29rIHdpbGwgaW1tZWRpYXRlbHkgdGVybWluYXRlIHRoZSB0ZXN0
IGFuZCBwcmludCB0aGUgYXNzb2NpYXRlZCBleGNlcHRpb24gYW5kIHN0YWNrIHRyYWNlLjwvcD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0
LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWluLXRlc3QtZnVuY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmNhdWdo
dC1leGNlcHRpb24taW4tdGVzdC1mdW5jdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Qx
ZDk4MjBlZGM4ODc2MzBhZmZhMWYyMDA0MzMyYWM1M2U0MTAwNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0
aW9uLWluLXRlc3QtZnVuY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3Qg
dGhhdCB0aGUgdW5jYXVnaHQgZXhjZXB0aW9uIGhvb2sgd2lsbCBpbW1lZGlhdGVseSB0ZXJtaW5h
dGUgdGhlIHRlc3QgYW5kIHByaW50IHRoZSBhc3NvY2lhdGVkIGV4Y2VwdGlvbiBhbmQgc3RhY2sg
dHJhY2UuCisKK1VuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBpbnNwZWN0b3IgcGFnZTogVGhpcyBpcyBh
biBleGNlcHRpb24gdGhyb3duIGluIHRoZSBpbnNwZWN0b3IgcGFnZS4KKworU3RhY2sgVHJhY2U6
Cisoc3VwcHJlc3NlZCkKKworRXZhbHVhdGVkIENvZGU6CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICBJbnNwZWN0b3JUZXN0LnN1cHByZXNzU3RhY2tUcmFjZXMgPSB0cnVlOworCisgICAgdGhyb3cg
bmV3IEVycm9yKCJUaGlzIGlzIGFuIGV4Y2VwdGlvbiB0aHJvd24gaW4gdGhlIGluc3BlY3RvciBw
YWdlLiIpOworfQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0
cy9nbG9iYWxzLXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi10ZXN0LWZ1bmN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuY2F1Z2h0LWV4Y2VwdGlvbi1p
bi10ZXN0LWZ1bmN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDczNWQzNTc1NGJhZTA2MDU2OWVlOWQ2
Y2MzOGE1OTM4YTM2MzNhOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWluLXRlc3QtZnVuY3Rpb24u
aHRtbApAQCAtMCwwICsxLDE3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJ
bnNwZWN0b3JUZXN0LnN1cHByZXNzU3RhY2tUcmFjZXMgPSB0cnVlOworCisgICAgdGhyb3cgbmV3
IEVycm9yKCJUaGlzIGlzIGFuIGV4Y2VwdGlvbiB0aHJvd24gaW4gdGhlIGluc3BlY3RvciBwYWdl
LiIpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
cD5UZXN0IHRoYXQgdGhlIHVuY2F1Z2h0IGV4Y2VwdGlvbiBob29rIHdpbGwgaW1tZWRpYXRlbHkg
dGVybWluYXRlIHRoZSB0ZXN0IGFuZCBwcmludCB0aGUgYXNzb2NpYXRlZCBleGNlcHRpb24gYW5k
IHN0YWNrIHRyYWNlLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWluLXRl
c3Qtc3VpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMv
Z2xvYmFscy11bmNhdWdodC1leGNlcHRpb24taW4tdGVzdC1zdWl0ZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2M1MzNkN2IxYmE5ZTUxYmQ4OGQ0MDVkNjU4MDQ5NDFkMjg5YTZjZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5j
YXVnaHQtZXhjZXB0aW9uLWluLXRlc3Qtc3VpdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBA
QAorVGVzdCB0aGF0IHRoZSB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb24gaG9vayB3aWxsIGlt
bWVkaWF0ZWx5IHRlcm1pbmF0ZSB0aGUgdGVzdCBhbmQgcHJpbnQgdGhlIGFzc29jaWF0ZWQgZXhj
ZXB0aW9uIGFuZCBzdGFjayB0cmFjZS4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFJlcG9y
dFVuaGFuZGxlZFJlamVjdGlvbgorLS0gUnVubmluZyB0ZXN0IGNhc2U6IENhdGNoUmVqZWN0ZWRQ
cm9taXNlCishISBFWENFUFRJT046IFRoaXMgcHJvbWlzZSBpcyByZWplY3RlZCB3aXRoIGFuIEVy
cm9yIG9iamVjdC4KK1N0YWNrIFRyYWNlOiAoc3VwcHJlc3NlZCkKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmNhdWdodC1leGNlcHRpb24t
aW4tdGVzdC1zdWl0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xv
YmFscy11bmNhdWdodC1leGNlcHRpb24taW4tdGVzdC1zdWl0ZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUy
YzliYmI0YjBlMWNjZjdkYjIyNjM0YzY5NzdkYTFkYjc0YjhjZGUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuY2F1Z2h0LWV4Y2Vw
dGlvbi1pbi10ZXN0LXN1aXRlLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rp
b24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5zdXBwcmVzc1N0YWNrVHJhY2VzID0gdHJ1
ZTsKKworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiUmVw
b3J0VW5oYW5kbGVkUmVqZWN0aW9uIik7CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAg
ICBuYW1lOiAiQ2F0Y2hSZWplY3RlZFByb21pc2UiLAorICAgICAgICBkZXNjcmlwdGlvbjogIndp
bmRvdy5yZXBvcnRVbmhhbmRsZWRSZWplY3Rpb24gc2hvdWxkIGR1bXAgdGhlIHVuaGFuZGxlZCBl
eGNlcHRpb24gYW5kIHF1aXQgdGVzdGluZy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVj
dCkgeworICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJUaGlzIHByb21pc2UgaXMgcmVqZWN0
ZWQgd2l0aCBhbiBFcnJvciBvYmplY3QuIik7CisgICAgICAgIH0KKyAgICB9KQorCisgICAgc3Vp
dGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3QgdGhhdCB0aGUgdW5oYW5kbGVkIHByb21pc2Ug
cmVqZWN0aW9uIGhvb2sgd2lsbCBpbW1lZGlhdGVseSB0ZXJtaW5hdGUgdGhlIHRlc3QgYW5kIHBy
aW50IHRoZSBhc3NvY2lhdGVkIGV4Y2VwdGlvbiBhbmQgc3RhY2sgdHJhY2UuPC9wPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMv
Z2xvYmFscy11bmhhbmRsZWQtcmVqZWN0aW9uLWluLXRlc3QtZnVuY3Rpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVq
ZWN0aW9uLWluLXRlc3QtZnVuY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlOTRhZWY5
NDg2OTE4YjllZTE3YzFhNGVmMmFlZjcxN2ExYzQyNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24t
aW4tdGVzdC1mdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0IHRoYXQg
dGhlIHVuaGFuZGxlZCBob29rIHdpbGwgaW1tZWRpYXRlbHkgdGVybWluYXRlIHRoZSB0ZXN0IGFu
ZCBwcmludCB0aGUgYXNzb2NpYXRlZCBleGNlcHRpb24gYW5kIHN0YWNrIHRyYWNlLgorCitVbmhh
bmRsZWQgcHJvbWlzZSByZWplY3Rpb24gaW4gaW5zcGVjdG9yIHBhZ2U6IFRoaXMgaXMgYW4gZXhj
ZXB0aW9uIHRocm93biBpbiB0aGUgaW5zcGVjdG9yIHBhZ2UuCisKK1N0YWNrIFRyYWNlOiAoc3Vw
cHJlc3NlZCkKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0
cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1mdW5jdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVqZWN0aW9u
LWluLXRlc3QtZnVuY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODMxNDRhYzVlYzk5ZWJiZGU3NzI4
MDJkNGQxODA5Nzc2OGEyYjA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVqZWN0aW9uLWluLXRlc3QtZnVuY3Rp
b24uaHRtbApAQCAtMCwwICsxLDE3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICBJbnNwZWN0b3JUZXN0LnN1cHByZXNzU3RhY2tUcmFjZXMgPSB0cnVlOworCisgICAgcmVwb3J0
VW5oYW5kbGVkUmVqZWN0aW9uKG5ldyBFcnJvcigiVGhpcyBpcyBhbiBleGNlcHRpb24gdGhyb3du
IGluIHRoZSBpbnNwZWN0b3IgcGFnZS4iKSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3QgdGhhdCB0aGUgdW5oYW5kbGVkIGhvb2sgd2ls
bCBpbW1lZGlhdGVseSB0ZXJtaW5hdGUgdGhlIHRlc3QgYW5kIHByaW50IHRoZSBhc3NvY2lhdGVk
IGV4Y2VwdGlvbiBhbmQgc3RhY2sgdHJhY2UuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQt
cmVqZWN0aW9uLWluLXRlc3Qtc3VpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVqZWN0aW9uLWluLXRlc3Qtc3VpdGUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwZmNjZWIwMzlhNTExM2M4MDVmNzk4MDM3MjYxN2M5
MzY3ZmQ3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10
ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1zdWl0ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB0aGF0IHRoZSB1bmhhbmRsZWQgcHJvbWlzZSByZWpl
Y3Rpb24gaG9vayB3aWxsIGltbWVkaWF0ZWx5IHRlcm1pbmF0ZSB0aGUgdGVzdCBhbmQgcHJpbnQg
dGhlIGFzc29jaWF0ZWQgZXhjZXB0aW9uIGFuZCBzdGFjayB0cmFjZS4KKworCis9PSBSdW5uaW5n
IHRlc3Qgc3VpdGU6IFJlcG9ydFVuaGFuZGxlZFJlamVjdGlvbgorLS0gUnVubmluZyB0ZXN0IGNh
c2U6IENhdGNoUmVqZWN0ZWRQcm9taXNlCitVbmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb24gaW4g
aW5zcGVjdG9yIHBhZ2U6IFRoaXMgcHJvbWlzZSBpcyByZWplY3RlZCB3aXRoIGFuIEVycm9yIG9i
amVjdC4KKworU3RhY2sgVHJhY2U6IChzdXBwcmVzc2VkKQorCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5oYW5kbGVkLXJlamVjdGlvbi1p
bi10ZXN0LXN1aXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9i
YWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1zdWl0ZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJl
Y2U3NmFkMjMxZjI4NzkwYmU0YmQ1Yzk5YzIwYmRiN2E3ZDVlOWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWpl
Y3Rpb24taW4tdGVzdC1zdWl0ZS5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhZG9jdHlwZSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Quc3VwcHJlc3NTdGFja1RyYWNlcyA9IHRy
dWU7CisKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlJl
cG9ydFVuaGFuZGxlZFJlamVjdGlvbiIpOworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAg
ICAgbmFtZTogIkNhdGNoUmVqZWN0ZWRQcm9taXNlIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJ3
aW5kb3cucmVwb3J0VW5oYW5kbGVkUmVqZWN0aW9uIHNob3VsZCBkdW1wIHRoZSB1bmhhbmRsZWQg
ZXhjZXB0aW9uIGFuZCBxdWl0IHRlc3RpbmcuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWpl
Y3QpIHsKKyAgICAgICAgICAgIGxldCByZWplY3RlZFByb21pc2UgPSBQcm9taXNlLnJlamVjdChu
ZXcgRXJyb3IoIlRoaXMgcHJvbWlzZSBpcyByZWplY3RlZCB3aXRoIGFuIEVycm9yIG9iamVjdC4i
KSk7CisgICAgICAgICAgICByZWplY3RlZFByb21pc2UuY2F0Y2gocmVwb3J0VW5oYW5kbGVkUmVq
ZWN0aW9uKTsKKyAgICAgICAgfQorICAgIH0pCisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRG
aW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+VGVzdCB0aGF0IHRoZSB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb24gaG9vayB3aWxs
IGltbWVkaWF0ZWx5IHRlcm1pbmF0ZSB0aGUgdGVzdCBhbmQgcHJpbnQgdGhlIGFzc29jaWF0ZWQg
ZXhjZXB0aW9uIGFuZCBzdGFjayB0cmFjZS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1y
ZWplY3Rpb24taW4tdGltZXItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVqZWN0aW9uLWluLXRpbWVyLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YTJhMzM3NjAxZjkzZWRjODJlMTIwMGEy
ZmMxNTI2MGUyMGZlMzUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3VuaXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVqZWN0aW9uLWluLXRpbWVyLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3QgdGhhdCB0aGUgdW5jYXVnaHQgZXhj
ZXB0aW9uIGhvb2sgd2lsbCBpbW1lZGlhdGVseSB0ZXJtaW5hdGUgdGhlIHRlc3QgYW5kIHByaW50
IHRoZSBhc3NvY2lhdGVkIGV4Y2VwdGlvbiBhbmQgc3RhY2sgdHJhY2UuCisKK1VuaGFuZGxlZCBw
cm9taXNlIHJlamVjdGlvbiBpbiBpbnNwZWN0b3IgcGFnZTogVGhpcyBpcyBhbiBleGNlcHRpb24g
dGhyb3duIGluIHRoZSBpbnNwZWN0b3IgcGFnZS4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGlt
ZXItY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2Jh
bHMtdW5oYW5kbGVkLXJlamVjdGlvbi1pbi10aW1lci1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ1NDY5NWE1YTczY2UzZWExNWI0YzhhYzE4OGU4YWE4NTJjODViMmYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1y
ZWplY3Rpb24taW4tdGltZXItY2FsbGJhY2suaHRtbApAQCAtMCwwICsxLDE3IEBACis8IWRvY3R5
cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnN1cHByZXNzU3RhY2tUcmFj
ZXMgPSB0cnVlOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7IHJlcG9ydFVuaGFuZGxlZFJlamVj
dGlvbihuZXcgRXJyb3IoIlRoaXMgaXMgYW4gZXhjZXB0aW9uIHRocm93biBpbiB0aGUgaW5zcGVj
dG9yIHBhZ2UuIikpOyB9LCAwKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgorPHA+VGVzdCB0aGF0IHRoZSB1bmNhdWdodCBleGNlcHRpb24gaG9vayB3
aWxsIGltbWVkaWF0ZWx5IHRlcm1pbmF0ZSB0aGUgdGVzdCBhbmQgcHJpbnQgdGhlIGFzc29jaWF0
ZWQgZXhjZXB0aW9uIGFuZCBzdGFjayB0cmFjZS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zeW5jLXRlc3Qtc3VpdGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc3luYy10ZXN0
LXN1aXRlLWV4cGVjdGVkLnR4dAppbmRleCA0OWFhYWQxMzQ0NWQxNDhjNjhjNjBiMDk5ZTBkNTc5
ZTk1MjAwY2I1Li43ODdkNWJkNzM1NWQzZjFlYTczNzFjYjE3NDUwYzc3YTIzMmEwNDM4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zeW5jLXRlc3Qtc3VpdGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3N5bmMt
dGVzdC1zdWl0ZS1leHBlY3RlZC50eHQKQEAgLTI2LDYgKzI2LDcgQEAgUEFTUzogc2hvdWxkIG5v
dCBiZSBhYmxlIHRvIHJ1biBhIHRlc3Qgc3VpdGUgdHdpY2UuCiAtLSBSdW5uaW5nIHRlc3QgY2Fz
ZTogRHVtbXlUZXN0MwogLS0gUnVubmluZyB0ZXN0IGNhc2U6IEZhaWxpbmdUZXN0NAogISEgRVhD
RVBUSU9OOiBbb2JqZWN0IE9iamVjdF0KK1N0YWNrIFRyYWNlOiAoc3VwcHJlc3NlZCkKIFBBU1M6
IFJldHVybiB2YWx1ZSBvZiBzZXF1ZW50aWFsRXhlY3V0aW9uU3VpdGUucnVuVGVzdENhc2VzKCkg
c2hvdWxkIGJlIGZhbHNlIHdoZW4gYSB0ZXN0IGNhc2UgZmFpbHMuCiBQQVNTOiBzZXF1ZW50aWFs
RXhlY3V0aW9uU3VpdGUgc2hvdWxkIGhhdmUgZXhlY3V0ZWQgZm91ciB0ZXN0cy4KIFBBU1M6IHNl
cXVlbnRpYWxFeGVjdXRpb25TdWl0ZSBzaG91bGQgaGF2ZSBwYXNzZWQgdGhyZWUgdGVzdHMuCkBA
IC01NCwxOCArNTUsMjAgQEAgUEFTUzogVGVzdCBzaG91bGQgc2VlIHNpZGUgZWZmZWN0cyBvZiBw
cmV2aW91cyB0ZXN0J3MgdGVhcmRvd24oKSBhY3Rpb24uCiA9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6
IFN5bmNUZXN0U3VpdGUuU2V0dXBFeGNlcHRpb24KIC0tIFJ1bm5pbmcgdGVzdCBzZXR1cC4KICEh
IEVYQ0VQVElPTjogCitTdGFjayBUcmFjZTogKHN1cHByZXNzZWQpCiAKID09IFJ1bm5pbmcgdGVz
dCBzdWl0ZTogU3luY1Rlc3RTdWl0ZS5TZXR1cEZhaWx1cmUKIC0tIFJ1bm5pbmcgdGVzdCBzZXR1
cC4KLSEhIEVYQ0VQVElPTgorISEgU0VUVVAgRkFJTEVECiAKID09IFJ1bm5pbmcgdGVzdCBzdWl0
ZTogU3luY1Rlc3RTdWl0ZS5UZWFyZG93bkV4Y2VwdGlvbgogLS0gUnVubmluZyB0ZXN0IGNhc2U6
IFRlc3RXaXRoRXhjZXB0aW9uRHVyaW5nVGVhcmRvd24KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93
bi4KICEhIEVYQ0VQVElPTjogCitTdGFjayBUcmFjZTogKHN1cHByZXNzZWQpCiAKID09IFJ1bm5p
bmcgdGVzdCBzdWl0ZTogU3luY1Rlc3RTdWl0ZS5UZWFyZG93bkZhaWx1cmUKIC0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBUZXN0V2l0aEV4Y2VwdGlvbkR1cmluZ1RlYXJkb3duCiAtLSBSdW5uaW5nIHRl
c3QgdGVhcmRvd24uCi0hISBFWENFUFRJT046CishISBURUFSRE9XTiBGQUlMRUQKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc3luYy10ZXN0LXN1aXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zeW5jLXRlc3Qtc3VpdGUuaHRt
bAppbmRleCA2YWRkNDA1MmQ3ODIyZTcwM2Q5N2NjYTEwZjRmNWYxMzlmODk1ZmVkLi5jYmMwNmJm
OWQ5YzViMzVmYTRjOTkwMzIxNmM5NTI2NzY2M2ZhY2UxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zeW5jLXRlc3Qtc3VpdGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zeW5jLXRlc3Qtc3VpdGUuaHRtbApAQCAtNSw2ICs1
LDggQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiB0ZXN0KCkKIHsKKyAgICBQcm90b2NvbFRlc3Quc3Vw
cHJlc3NTdGFja1RyYWNlcyA9IHRydWU7CisKICAgICB0cnkgewogICAgICAgICBsZXQgcmVzdWx0
ID0gbmV3IFN5bmNUZXN0U3VpdGUodGhpcyk7CiAgICAgICAgIFByb3RvY29sVGVzdC5sb2coIkZB
SUw6IGluc3RhbnRpYXRpbmcgU3luY1Rlc3RTdWl0ZSByZXF1aXJlcyBuYW1lIGFyZ3VtZW50LiIp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298116</attachid>
            <date>2017-01-05 11:12:49 -0800</date>
            <delta_ts>2022-03-01 02:39:44 -0800</delta_ts>
            <desc>For Landing</desc>
            <filename>bug-161358-20170105111121.patch</filename>
            <type>text/plain</type>
            <size>35220</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
ODE2ODAwNWY4ZDYxMTNmNzQ1YjU3NTQyOWExYTY0ZGI3OTA1MTEyLi5kNmUxNGM4YmMyMjFjMzA3
ODJmNWI1NTE4NDdlMGVhYzdjNGEyMmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MiBAQAorMjAxNy0wMS0wNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBUZXN0Lmh0bWwgc2hvdWxkIHN1cHBvcnQgZ2xvYmFscyBy
ZXBvcnRJbnRlcm5hbEVycm9yLCByZXBvcnRVbmhhbmRsZWRSZWplY3Rpb24sIHJlcG9ydFVuY2F1
Z2h0RXhjZXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjEzNTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4MDY2NDQ2PgorCisgICAgICAg
IFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICBXZSBoYXZlIGEgaG9kZ2Vw
b2RnZSBvZiByZWR1bmRhbnQgY29kZSB0aGF0IHJlcG9ydHMgdW5jYXVnaHQgZXhjZXB0aW9ucyBp
biB0aGUgaW5zcGVjdG9yIHBhZ2UuCisgICAgICAgIFRoZXJlIGlzIGJldHRlciBoYW5kbGluZyBv
ZiB1bmNhdWdodCBleGNlcHRpb25zIGluIHRoZSBpbnNwZWN0ZWQgcGFnZSwgc3VjaCBhcyBpbmNs
dWRpbmcgc3RhY2sgdHJhY2VzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggY29uc29saWRhdGVzIGEg
bG90IG9mIHRoaXMgY29kZSBhbmQgbWFrZXMgaXQgcG9zc2libGUgdG8gcmVwb3J0CisgICAgICAg
IHVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbnMsIHRvcC1sZXZlbCB1bmNhdWdodCBleGNlcHRp
b25zLCBhbmQgZXhjZXB0aW9ucworICAgICAgICBjYXVnaHQgaW4gYSB0cnktY2F0Y2ggYmxvY2su
IFRoZSBmb3JtYXR0aW5nIGFuZCBzYW5pdGl6YXRpb24gY29kZSBmb3IgYWxsIG9mCisgICAgICAg
IHRoZXNlIHRoaW5ncyBpcyBzaGFyZWQgYW5kIGNvbnNpc3RlbnQuIEZpbmFsbHksIHNvbWUgdGVz
dHMgaGF2ZSBiZWVuIGFkZGVkIHRvCisgICAgICAgIGNhdGNoIHJlZ3Jlc3Npb25zIGluIHVuaGFu
ZGxlZCByZWplY3Rpb24vdW5jYXVnaHQgZXhjZXB0aW9uIHJlcG9ydGluZy4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVuZFRlc3RIYXJuZXNzLmpzOgorICAgICAgICAoRnJv
bnRlbmRUZXN0SGFybmVzcyk6IEV4cGxpY2l0bHkgc2V0IGluaXRpYWwgZmxhZyBzdGF0ZSBoZXJl
IHNvIGl0J3MgZWFzeSB0byBmaW5kIGFsbCBmbGFncy4KKworICAgICAgICAoRnJvbnRlbmRUZXN0
SGFybmVzcy5wcm90b3R5cGUucmVkaXJlY3RDb25zb2xlVG9UZXN0T3V0cHV0KToKKyAgICAgICAg
RXh0cmFjdCB0aGlzIGNvZGUgdG8gc2FuaXRpemUgc3RhY2sgZnJhbWVzIGFuZCBwdXQgaXQgaW4g
VGVzdEhhcm5lc3MuIEl0IGlzIHVzZWQKKyAgICAgICAgYnkgb3RoZXIgbWV0aG9kcyB0aGF0IG5l
ZWQgdG8gcHJpbnQgc3RhY2sgZnJhbWVzLgorCisgICAgICAgIChGcm9udGVuZFRlc3RIYXJuZXNz
LnByb3RvdHlwZS5yZXBvcnRVbmhhbmRsZWRSZWplY3Rpb24pOgorICAgICAgICAoRnJvbnRlbmRU
ZXN0SGFybmVzcy5wcm90b3R5cGUucmVwb3J0VW5jYXVnaHRFeGNlcHRpb24pOgorICAgICAgICBB
ZGRlZC4gU2FuaXRpemUgc3RhY2sgdHJhY2UgZGF0YSBzbyBpdCBpcyBkZXRlcm1pbmlzdGljLiBM
b2cgdGhlIG1lc3NhZ2UgdG8gdGhlCisgICAgICAgIG9yaWdpbmFsIHdpbmRvdy5jb25zb2xlIGJ1
dCBkb24ndCBleGl0IGVhcmx5LiBTb21ldGltZXMgdGhlIHRlc3QgcGFnZSBpcyBub3QKKyAgICAg
ICAgZnVsbHkgbG9hZGVkIGlmIHdlIHRocm93IGFuIGV4Y2VwdGlvbiBxdWl0ZSBlYXJseSBpbiB0
aGUgdGVzdCgpIG1ldGhvZCwgYW5kIHRoZXJlJ3MKKyAgICAgICAgbm8gaGFybSBpbiBub3QgZWFy
bHkgcmV0dXJuaW5nLiBJZiB3ZSBkbyBlYXJseSByZXR1cm4gaW4gdGhpcyBjYXNlLCB0aGVuIGEg
dGVzdCB0aGF0CisgICAgICAgIHVzZXMgcmVwb3J0VW5jYXVnaHRFeGNlcHRpb24gb24gcHVycG9z
ZSBtYXkgbm90IGNvbXBsZXRlIGJlY2F1c2UgdGhlIGNhbGwgdG8gY29tcGxldGVUZXN0KCkKKyAg
ICAgICAgd291bGQgYmUgc2tpcHBlZCBieSByZXR1cm5pbmcgZWFybHkuCisKKyAgICAgICAgKEZy
b250ZW5kVGVzdEhhcm5lc3MucHJvdG90eXBlLnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uRnJvbUV2
ZW50KToKKyAgICAgICAgUmVuYW1lZCBmcm9tIHJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uIHNpbmNl
IHRoZSBzaWduYXR1cmUgb2YgdGhhdCBtZXRob2Qgc3VnZ2VzdHMKKyAgICAgICAgaXQgc2hvdWxk
IGhhdmUgYSBzaW5nbGUgZXhjZXB0aW9uIGFyZ3VtZW50IHJhdGhlciB0aGFuIGxvdHMgb2YgZGF0
YSBhcmd1bWVudHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvVGVzdC5qczogQWRk
IGdsb2JhbHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3MuanM6
CisgICAgICAgIChUZXN0SGFybmVzcyk6IERvY3VtZW50IGNsYXNzIGZsYWdzLgorICAgICAgICAo
VGVzdEhhcm5lc3Muc2FuaXRpemVVUkwpOgorICAgICAgICAoVGVzdEhhcm5lc3Muc2FuaXRpemVT
dGFja0ZyYW1lKToKKyAgICAgICAgKFRlc3RIYXJuZXNzLnByb3RvdHlwZS5zYW5pdGl6ZVN0YWNr
KToKKyAgICAgICAgRXh0cmFjdCB0aGlzIGNvZGUgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgdGVz
dCBoYXJuZXNzLiBNYWtlIHNhbml0aXplU3RhY2sKKyAgICAgICAgYW4gaW5zdGFuY2UgbWV0aG9k
IHNvIHRoYXQgdGhlcmUgaXMgb25seSBvbmUgcGxhY2UgdGhhdCBuZWVkcyB0byBjaGVjayB0aGUK
KyAgICAgICAgJ3N1cHByZXNzU3RhY2tUcmFjZXMnIGZsYWcuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1Rlc3QvVGVzdFN1aXRlLmpzOgorICAgICAgICAoVGVzdFN1aXRlLnByb3RvdHlwZS5s
b2dUaHJvd25PYmplY3QpOgorICAgICAgICAoVGVzdFN1aXRlKToKKyAgICAgICAgKEFzeW5jVGVz
dFN1aXRlLnByb3RvdHlwZS5ydW5UZXN0Q2FzZXMpOgorICAgICAgICAoQXN5bmNUZXN0U3VpdGUp
OgorICAgICAgICAoU3luY1Rlc3RTdWl0ZS5wcm90b3R5cGUucnVuVGVzdENhc2VzKToKKyAgICAg
ICAgKFN5bmNUZXN0U3VpdGUpOgorICAgICAgICAoVGVzdFN1aXRlLm1lc3NhZ2VGcm9tVGhyb3du
T2JqZWN0KTogRGVsZXRlZC4KKyAgICAgICAgSW5saW5lIHNvbWUgaGVscGVycyB3aXRoIG9ubHkg
b25lIHVzZS1zaXRlIGFuZCBjb25zb2xpZGF0ZSByZWR1bmRhbnQgY29kZQorICAgICAgICBmb3Ig
YWRkaW5nIGFuIGV4Y2VwdGlvbiBhbmQgbWVzc2FnZSB0byB0aGUgdGVzdCByZXN1bHRzLgorCiAy
MDE3LTAxLTAzICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFdyYXBwZWRQcm9taXNlIGNvbnN0cnVjdG9yIHNob3VsZCBiZWhhdmUgbGlrZSB0
aGUgUHJvbWlzZSBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVuZFRlc3RIYXJuZXNzLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9Gcm9udGVuZFRlc3RIYXJuZXNzLmpzCmluZGV4
IGQwNzhiZTk0NDk2NGE2MDBlYTRhMjlkMjlkYTAyZDUzMDEwNGMyMWMuLjVkOWJiMjAyZTAzYjlm
YzcwNTg2MWY1MzgxNjI0NTYxODNjZjZiNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvRnJvbnRlbmRUZXN0SGFybmVzcy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L0Zyb250ZW5kVGVzdEhhcm5lc3Mu
anMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zMSw2ICszMSw5IEBAIEZyb250ZW5kVGVzdEhhcm5lc3MgPSBjbGFzcyBGcm9udGVu
ZFRlc3RIYXJuZXNzIGV4dGVuZHMgVGVzdEhhcm5lc3MKIAogICAgICAgICB0aGlzLl9yZXN1bHRz
ID0gW107CiAgICAgICAgIHRoaXMuX3Nob3VsZFJlc2VuZFJlc3VsdHMgPSB0cnVlOworCisgICAg
ICAgIC8vIE9wdGlvbnMgdGhhdCBhcmUgc2V0IHBlci10ZXN0IGZvciBkZWJ1Z2dpbmcgcHVycG9z
ZXMuCisgICAgICAgIHRoaXMuZHVtcEFjdGl2aXR5VG9TeXN0ZW1Db25zb2xlID0gZmFsc2U7CiAg
ICAgfQogCiAgICAgLy8gVGVzdEhhcm5lc3MgT3ZlcnJpZGVzCkBAIC0xNTEsMjUgKzE1NCw3IEBA
IEZyb250ZW5kVGVzdEhhcm5lc3MgPSBjbGFzcyBGcm9udGVuZFRlc3RIYXJuZXNzIGV4dGVuZHMg
VGVzdEhhcm5lc3MKICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAg
ICAgICAgIC8vIFNraXAgdGhlIGZpcnN0IGZyYW1lIHdoaWNoIGlzIGFkZGVkIGJ5IHRoaXMgZnVu
Y3Rpb24uCiAgICAgICAgICAgICAgICAgICAgIGxldCBmcmFtZXMgPSBlLnN0YWNrLnNwbGl0KCJc
biIpLnNsaWNlKDEpOwotICAgICAgICAgICAgICAgICAgICBsZXQgc2FuaXRpemVkRnJhbWVzID0g
ZnJhbWVzLm1hcCgoZnJhbWUsIGkpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1v
c3QgZnJhbWVzIGFyZSBvZiB0aGUgZm9ybSAiZnVuY3Rpb25OYW1lQGZpbGU6Ly8vZm9vL2Jhci9G
aWxlLmpzOjM0NSIuCi0gICAgICAgICAgICAgICAgICAgICAgICAvLyBCdXQsIHNvbWUgZnJhbWVz
IGRvIG5vdCBoYXZlIGEgZnVuY3Rpb25OYW1lLiBHZXQgcmlkIG9mIHRoZSBmaWxlIHBhdGguCi0g
ICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmFtZUFuZFVSTFNlcGFyYXRvciA9IGZyYW1lLmlu
ZGV4T2YoIkAiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmcmFtZU5hbWUgPSAobmFt
ZUFuZFVSTFNlcGFyYXRvciA+IDApID8gZnJhbWUuc3Vic3RyKDAsIG5hbWVBbmRVUkxTZXBhcmF0
b3IpIDogIihhbm9ueW1vdXMpIjsKLQotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhc3RQ
YXRoU2VwYXJhdG9yID0gTWF0aC5tYXgoZnJhbWUubGFzdEluZGV4T2YoIi8iKSwgZnJhbWUubGFz
dEluZGV4T2YoIlxcIikpOwotICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZyYW1lTG9jYXRp
b24gPSAobGFzdFBhdGhTZXBhcmF0b3IgPiAwKSA/IGZyYW1lLnN1YnN0cihsYXN0UGF0aFNlcGFy
YXRvciArIDEpIDogZnJhbWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWZyYW1lTG9j
YXRpb24ubGVuZ3RoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lTG9jYXRpb24g
PSAidW5rbm93biI7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIENsZWFuIHVwIHRoZSBs
b2NhdGlvbiBzbyBpdCBpcyBicmFja2V0ZWQgb3IgaW4gcGFyZW50aGVzaXMuCi0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoZnJhbWUuaW5kZXhPZigiW25hdGl2ZSBjb2RlXSIpICE9PSAtMSkK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZUxvY2F0aW9uID0gIltuYXRpdmUgY29k
ZV0iOwotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZyYW1lTG9jYXRpb24gPSAiKCIgKyBmcmFtZUxvY2F0aW9uICsgIikiOwotCi0gICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCMke2l9OiAke2ZyYW1lTmFtZX0gJHtmcmFtZUxv
Y2F0aW9ufWA7Ci0gICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICBs
ZXQgc2FuaXRpemVkRnJhbWVzID0gZnJhbWVzLm1hcChUZXN0SGFybmVzcy5zYW5pdGl6ZVN0YWNr
RnJhbWUpOwogICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZFJlc3VsdCgiVFJBQ0U6ICIgKyBB
cnJheS5mcm9tKGFyZ3VtZW50cykuam9pbigiICIpKTsKICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5hZGRSZXN1bHQoc2FuaXRpemVkRnJhbWVzLmpvaW4oIlxuIikpOwogICAgICAgICAgICAgICAg
IH0KQEAgLTE4OSwxNiArMTc0LDU2IEBAIEZyb250ZW5kVGVzdEhhcm5lc3MgPSBjbGFzcyBGcm9u
dGVuZFRlc3RIYXJuZXNzIGV4dGVuZHMgVGVzdEhhcm5lc3MKICAgICAgICAgd2luZG93LmNvbnNv
bGUgPSByZWRpcmVjdGVkTWV0aG9kczsKICAgICB9CiAKLSAgICByZXBvcnRVbmNhdWdodEV4Y2Vw
dGlvbihtZXNzYWdlLCB1cmwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikKKyAgICByZXBvcnRV
bmhhbmRsZWRSZWplY3Rpb24oZXJyb3IpCiAgICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gYFVu
Y2F1Z2h0IGV4Y2VwdGlvbiBpbiBpbnNwZWN0b3IgcGFnZTogJHttZXNzYWdlfSBbJHt1cmx9OiR7
bGluZU51bWJlcn06JHtjb2x1bW5OdW1iZXJ9XWA7CisgICAgICAgIGxldCBtZXNzYWdlID0gZXJy
b3IubWVzc2FnZTsKKyAgICAgICAgbGV0IHN0YWNrID0gZXJyb3Iuc3RhY2s7CisgICAgICAgIGxl
dCByZXN1bHQgPSBgVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uIGluIGluc3BlY3RvciBwYWdl
OiAke21lc3NhZ2V9XG5gOworICAgICAgICBpZiAoc3RhY2spIHsKKyAgICAgICAgICAgIGxldCBz
YW5pdGl6ZWRTdGFjayA9IHRoaXMuc2FuaXRpemVTdGFjayhzdGFjayk7CisgICAgICAgICAgICBy
ZXN1bHQgKz0gYFxuU3RhY2sgVHJhY2U6ICR7c2FuaXRpemVkU3RhY2t9XG5gOworICAgICAgICB9
CiAKICAgICAgICAgLy8gSWYgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHRlc3QgcGFnZSBpcyBub3Qg
c2V0IHVwLCB0aGVuIGp1c3QgZHVtcCB0byBjb25zb2xlIGFuZCBnaXZlIHVwLgogICAgICAgICAv
LyBFcnJvcnMgZW5jb3VudGVyZWQgdGhpcyBlYXJseSBjYW4gYmUgZGVidWdnZWQgYnkgbG9hZGlu
ZyBUZXN0Lmh0bWwgaW4gYSBub3JtYWwgYnJvd3NlciBwYWdlLgotICAgICAgICBpZiAodGhpcy5f
b3JpZ2luYWxDb25zb2xlICYmICF0aGlzLl90ZXN0UGFnZUhhc0xvYWRlZCgpKSB7CisgICAgICAg
IGlmICh0aGlzLl9vcmlnaW5hbENvbnNvbGUgJiYgIXRoaXMuX3Rlc3RQYWdlSGFzTG9hZGVkKCkp
CisgICAgICAgICAgICB0aGlzLl9vcmlnaW5hbENvbnNvbGVbImVycm9yIl0ocmVzdWx0KTsKKwor
ICAgICAgICB0aGlzLmFkZFJlc3VsdChyZXN1bHQpOworICAgICAgICB0aGlzLmNvbXBsZXRlVGVz
dCgpOworCisgICAgICAgIC8vIFN0b3AgZGVmYXVsdCBoYW5kbGVyIHNvIHdlIGNhbiBlbXB0eSBJ
bnNwZWN0b3JCYWNrZW5kJ3MgbWVzc2FnZSBxdWV1ZS4KKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCisgICAgcmVwb3J0VW5jYXVnaHRFeGNlcHRpb25Gcm9tRXZlbnQobWVzc2FnZSwgdXJs
LCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpCisgICAgeworICAgICAgICAvLyBBbiBleGNlcHRp
b24gdGhyb3duIGZyb20gYSB0aW1lciBjYWxsYmFjayBkb2VzIG5vdCByZXBvcnQgYSBVUkwuCisg
ICAgICAgIGlmICh1cmwgPT09ICJ1bmRlZmluZWQiKQorICAgICAgICAgICAgdXJsID0gImdsb2Jh
bCI7CisKKyAgICAgICAgcmV0dXJuIHRoaXMucmVwb3J0VW5jYXVnaHRFeGNlcHRpb24oe21lc3Nh
Z2UsIHVybCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyfSk7CisgICAgfQorCisgICAgcmVwb3J0
VW5jYXVnaHRFeGNlcHRpb24oe21lc3NhZ2UsIHVybCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVy
LCBzdGFjaywgY29kZX0pCisgICAgeworICAgICAgICBsZXQgcmVzdWx0OworICAgICAgICBsZXQg
c2FuaXRpemVkVVJMID0gVGVzdEhhcm5lc3Muc2FuaXRpemVVUkwodXJsKTsKKyAgICAgICAgbGV0
IHNhbml0aXplZFN0YWNrID0gdGhpcy5zYW5pdGl6ZVN0YWNrKHN0YWNrKTsKKyAgICAgICAgaWYg
KHVybCB8fCBsaW5lTnVtYmVyIHx8IGNvbHVtbk51bWJlcikKKyAgICAgICAgICAgIHJlc3VsdCA9
IGBVbmNhdWdodCBleGNlcHRpb24gaW4gSW5zcGVjdG9yIHBhZ2U6ICR7bWVzc2FnZX0gWyR7c2Fu
aXRpemVkVVJMfToke2xpbmVOdW1iZXJ9OiR7Y29sdW1uTnVtYmVyfV1cbmA7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHJlc3VsdCA9IGBVbmNhdWdodCBleGNlcHRpb24gaW4gSW5zcGVjdG9y
IHBhZ2U6ICR7bWVzc2FnZX1cbmA7CisKKyAgICAgICAgaWYgKHN0YWNrKQorICAgICAgICAgICAg
cmVzdWx0ICs9IGBcblN0YWNrIFRyYWNlOlxuJHtzYW5pdGl6ZWRTdGFja31cbmA7CisgICAgICAg
IGlmIChjb2RlKQorICAgICAgICAgICAgcmVzdWx0ICs9IGBcbkV2YWx1YXRlZCBDb2RlOlxuJHtj
b2RlfWA7CisKKyAgICAgICAgLy8gSWYgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHRlc3QgcGFnZSBp
cyBub3Qgc2V0IHVwLCB0aGVuIGp1c3QgZHVtcCB0byBjb25zb2xlIGFuZCBnaXZlIHVwLgorICAg
ICAgICAvLyBFcnJvcnMgZW5jb3VudGVyZWQgdGhpcyBlYXJseSBjYW4gYmUgZGVidWdnZWQgYnkg
bG9hZGluZyBUZXN0Lmh0bWwgaW4gYSBub3JtYWwgYnJvd3NlciBwYWdlLgorICAgICAgICBpZiAo
dGhpcy5fb3JpZ2luYWxDb25zb2xlICYmICF0aGlzLl90ZXN0UGFnZUhhc0xvYWRlZCgpKQogICAg
ICAgICAgICAgdGhpcy5fb3JpZ2luYWxDb25zb2xlWyJlcnJvciJdKHJlc3VsdCk7Ci0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KIAogICAgICAgICB0aGlzLmFkZFJlc3VsdChy
ZXN1bHQpOwogICAgICAgICB0aGlzLmNvbXBsZXRlVGVzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzCmluZGV4IGYxNTM4ZmJlMDFmNjJi
N2RmZmM4NjU5Y2MyOWIyMmJiYTliODQ3MGMuLmEyNzAyM2RhMGM5OTg2NDdmZGFlYWQ0NzkxNWI1
YTQ1ZTFkZTc3NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1Rlc3QvVGVzdC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9UZXN0L1Rlc3QuanMKQEAgLTExNSwzICsxMTUsNiBAQCB3aW5kb3cuSW5zcGVjdG9yVGVzdCA9
IG5ldyBGcm9udGVuZFRlc3RIYXJuZXNzKCk7CiBJbnNwZWN0b3JUZXN0LnJlZGlyZWN0Q29uc29s
ZVRvVGVzdE91dHB1dCgpOwogCiBXZWJJbnNwZWN0b3IucmVwb3J0SW50ZXJuYWxFcnJvciA9IChl
KSA9PiB7IGNvbnNvbGUuZXJyb3IoZSk7IH0KKword2luZG93LnJlcG9ydFVuaGFuZGxlZFJlamVj
dGlvbiA9IEluc3BlY3RvclRlc3QucmVwb3J0VW5oYW5kbGVkUmVqZWN0aW9uLmJpbmQoSW5zcGVj
dG9yVGVzdCk7Cit3aW5kb3cub25lcnJvciA9IEluc3BlY3RvclRlc3QucmVwb3J0VW5jYXVnaHRF
eGNlcHRpb25Gcm9tRXZlbnQuYmluZChJbnNwZWN0b3JUZXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3MuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3RIYXJuZXNzLmpzCmluZGV4
IDNkNTFmMjQ1MTM1NDFlMTA3ZmRjMTgwNDJiZWZlOTc0ZGE3ZDgyNzAuLjUzYmVlNGE0YjQ5YzBh
NTc2YjMyYzBmZjQ5YmQ5M2ZiNmM4MzFkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3MuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0SGFybmVzcy5qcwpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIsNiArMzIsMTIg
QEAgVGVzdEhhcm5lc3MgPSBjbGFzcyBUZXN0SGFybmVzcyBleHRlbmRzIFdlYkluc3BlY3Rvci5P
YmplY3QKICAgICAgICAgdGhpcy5fbG9nQ291bnQgPSAwOwogICAgICAgICB0aGlzLl9mYWlsdXJl
T2JqZWN0cyA9IG5ldyBNYXA7CiAgICAgICAgIHRoaXMuX2ZhaWx1cmVPYmplY3RJZGVudGlmaWVy
ID0gMTsKKworICAgICAgICAvLyBPcHRpb25zIHRoYXQgYXJlIHNldCBwZXItdGVzdCBmb3IgZGVi
dWdnaW5nIHB1cnBvc2VzLgorICAgICAgICB0aGlzLmZvcmNlRGVidWdMb2dnaW5nID0gZmFsc2U7
CisKKyAgICAgICAgLy8gT3B0aW9ucyB0aGF0IGFyZSBzZXQgcGVyLXRlc3QgdG8gZW5zdXJlIGRl
dGVybWluaXN0aWMgb3V0cHV0LgorICAgICAgICB0aGlzLnN1cHByZXNzU3RhY2tUcmFjZXMgPSBm
YWxzZTsKICAgICB9CiAKICAgICBjb21wbGV0ZVRlc3QoKQpAQCAtMTgzLDYgKzE4OSw1NSBAQCBU
ZXN0SGFybmVzcyA9IGNsYXNzIFRlc3RIYXJuZXNzIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVj
dAogICAgICAgICByZXR1cm4gKHR5cGVvZiBtZXNzYWdlICE9PSAic3RyaW5nIikgPyBKU09OLnN0
cmluZ2lmeShtZXNzYWdlKSA6IG1lc3NhZ2U7CiAgICAgfQogCisgICAgc3RhdGljIHNhbml0aXpl
VVJMKHVybCkKKyAgICB7CisgICAgICAgIGlmICghdXJsKQorICAgICAgICAgICAgcmV0dXJuICIo
dW5rbm93bikiOworCisgICAgICAgIGxldCBsYXN0UGF0aFNlcGFyYXRvciA9IE1hdGgubWF4KHVy
bC5sYXN0SW5kZXhPZigiLyIpLCB1cmwubGFzdEluZGV4T2YoIlxcIikpOworICAgICAgICBsZXQg
bG9jYXRpb24gPSAobGFzdFBhdGhTZXBhcmF0b3IgPiAwKSA/IHVybC5zdWJzdHIobGFzdFBhdGhT
ZXBhcmF0b3IgKyAxKSA6IHVybDsKKyAgICAgICAgaWYgKCFsb2NhdGlvbi5sZW5ndGgpCisgICAg
ICAgICAgICBsb2NhdGlvbiA9ICIodW5rbm93bikiOworCisgICAgICAgIC8vIENsZWFuIHVwIHRo
ZSBsb2NhdGlvbiBzbyBpdCBpcyBicmFja2V0ZWQgb3IgaW4gcGFyZW50aGVzaXMuCisgICAgICAg
IGlmICh1cmwuaW5kZXhPZigiW25hdGl2ZSBjb2RlXSIpICE9PSAtMSkKKyAgICAgICAgICAgIGxv
Y2F0aW9uID0gIltuYXRpdmUgY29kZV0iOworCisgICAgICAgIHJldHVybiBsb2NhdGlvbjsKKyAg
ICB9CisKKyAgICBzdGF0aWMgc2FuaXRpemVTdGFja0ZyYW1lKGZyYW1lLCBpKQorICAgIHsKKyAg
ICAgICAgLy8gTW9zdCBmcmFtZXMgYXJlIG9mIHRoZSBmb3JtICJmdW5jdGlvbk5hbWVAZmlsZTov
Ly9mb28vYmFyL0ZpbGUuanM6MzQ1Ii4KKyAgICAgICAgLy8gQnV0LCBzb21lIGZyYW1lcyBkbyBu
b3QgaGF2ZSBhIGZ1bmN0aW9uTmFtZS4gR2V0IHJpZCBvZiB0aGUgZmlsZSBwYXRoLgorICAgICAg
ICBsZXQgbmFtZUFuZFVSTFNlcGFyYXRvciA9IGZyYW1lLmluZGV4T2YoIkAiKTsKKyAgICAgICAg
bGV0IGZyYW1lTmFtZSA9IChuYW1lQW5kVVJMU2VwYXJhdG9yID4gMCkgPyBmcmFtZS5zdWJzdHIo
MCwgbmFtZUFuZFVSTFNlcGFyYXRvcikgOiAiKGFub255bW91cykiOworCisgICAgICAgIGxldCBs
YXN0UGF0aFNlcGFyYXRvciA9IE1hdGgubWF4KGZyYW1lLmxhc3RJbmRleE9mKCIvIiksIGZyYW1l
Lmxhc3RJbmRleE9mKCJcXCIpKTsKKyAgICAgICAgbGV0IGZyYW1lTG9jYXRpb24gPSAobGFzdFBh
dGhTZXBhcmF0b3IgPiAwKSA/IGZyYW1lLnN1YnN0cihsYXN0UGF0aFNlcGFyYXRvciArIDEpIDog
ZnJhbWU7CisgICAgICAgIGlmICghZnJhbWVMb2NhdGlvbi5sZW5ndGgpCisgICAgICAgICAgICBm
cmFtZUxvY2F0aW9uID0gInVua25vd24iOworCisgICAgICAgIC8vIENsZWFuIHVwIHRoZSBsb2Nh
dGlvbiBzbyBpdCBpcyBicmFja2V0ZWQgb3IgaW4gcGFyZW50aGVzaXMuCisgICAgICAgIGlmIChm
cmFtZS5pbmRleE9mKCJbbmF0aXZlIGNvZGVdIikgIT09IC0xKQorICAgICAgICAgICAgZnJhbWVM
b2NhdGlvbiA9ICJbbmF0aXZlIGNvZGVdIjsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZnJh
bWVMb2NhdGlvbiA9ICIoIiArIGZyYW1lTG9jYXRpb24gKyAiKSI7CisKKyAgICAgICAgcmV0dXJu
IGAjJHtpfTogJHtmcmFtZU5hbWV9ICR7ZnJhbWVMb2NhdGlvbn1gOworICAgIH0KKworICAgIHNh
bml0aXplU3RhY2soc3RhY2spCisgICAgeworICAgICAgICBpZiAodGhpcy5zdXBwcmVzc1N0YWNr
VHJhY2VzKQorICAgICAgICAgICAgcmV0dXJuICIoc3VwcHJlc3NlZCkiOworCisgICAgICAgIGlm
ICghc3RhY2sgfHwgdHlwZW9mIHN0YWNrICE9PSAic3RyaW5nIikKKyAgICAgICAgICAgIHJldHVy
biAiKHVua25vd24pIjsKKworICAgICAgICByZXR1cm4gc3RhY2suc3BsaXQoIlxuIikubWFwKFRl
c3RIYXJuZXNzLnNhbml0aXplU3RhY2tGcmFtZSkuam9pbigiXG4iKTsKKyAgICB9CisKICAgICAv
LyBQcml2YXRlCiAKICAgICBfZXhwZWN0KHR5cGUsIGNvbmRpdGlvbiwgbWVzc2FnZSwgLi4udmFs
dWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVz
dC9UZXN0U3VpdGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0
L1Rlc3RTdWl0ZS5qcwppbmRleCA1YzM0NGYwMGU2NzQ5Y2IyZTg2NjBhYmJhNGJlYjQ4MjJjOWY1
NDY2Li5hYWNkMzEzYjczZmNjZTZhNTRhMGQzYmMxZTg5YzBlZDA4M2Y1ODU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3RTdWl0ZS5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3RTdWl0ZS5q
cwpAQCAtODcsMTYgKzg3LDI4IEBAIFRlc3RTdWl0ZSA9IGNsYXNzIFRlc3RTdWl0ZSBleHRlbmRz
IFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgdGhpcy50ZXN0Y2FzZXMucHVzaCh0ZXN0Y2Fz
ZSk7CiAgICAgfQogCi0gICAgc3RhdGljIG1lc3NhZ2VGcm9tVGhyb3duT2JqZWN0KGUpCisgICAg
Ly8gUHJvdGVjdGVkCisKKyAgICBsb2dUaHJvd25PYmplY3QoZSkKICAgICB7CiAgICAgICAgIGxl
dCBtZXNzYWdlID0gZTsKLSAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikKKyAgICAgICAg
bGV0IHN0YWNrID0gIih1bmtub3duKSI7CisgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3Ip
IHsKICAgICAgICAgICAgIG1lc3NhZ2UgPSBlLm1lc3NhZ2U7CisgICAgICAgICAgICBpZiAoZS5z
dGFjaykKKyAgICAgICAgICAgICAgICBzdGFjayA9IGUuc3RhY2s7CisgICAgICAgIH0KIAogICAg
ICAgICBpZiAodHlwZW9mIG1lc3NhZ2UgIT09ICJzdHJpbmciKQogICAgICAgICAgICAgbWVzc2Fn
ZSA9IEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpOwogCi0gICAgICAgIHJldHVybiBtZXNzYWdlOwor
ICAgICAgICBsZXQgc2FuaXRpemVkU3RhY2sgPSB0aGlzLl9oYXJuZXNzLnNhbml0aXplU3RhY2so
c3RhY2spOworCisgICAgICAgIGxldCByZXN1bHQgPSBgISEgRVhDRVBUSU9OOiAke21lc3NhZ2V9
YDsKKyAgICAgICAgaWYgKHN0YWNrKQorICAgICAgICAgICAgcmVzdWx0ICs9IGBcblN0YWNrIFRy
YWNlOiAke3Nhbml0aXplZFN0YWNrfWA7CisKKyAgICAgICAgdGhpcy5faGFybmVzcy5sb2cocmVz
dWx0KTsKICAgICB9CiB9OwogCkBAIC0xNTQsOCArMTY2LDcgQEAgQXN5bmNUZXN0U3VpdGUgPSBj
bGFzcyBBc3luY1Rlc3RTdWl0ZSBleHRlbmRzIFRlc3RTdWl0ZQogCiAgICAgICAgIHJldHVybiBy
ZXN1bHQuY2F0Y2goKGUpID0+IHsKICAgICAgICAgICAgIHRoaXMuZmFpbENvdW50Kys7Ci0gICAg
ICAgICAgICBsZXQgbWVzc2FnZSA9IFRlc3RTdWl0ZS5tZXNzYWdlRnJvbVRocm93bk9iamVjdChl
KTsKLSAgICAgICAgICAgIHRoaXMuX2hhcm5lc3MubG9nKGAhISBFWENFUFRJT046ICR7bWVzc2Fn
ZX1gKTsKKyAgICAgICAgICAgIHRoaXMubG9nVGhyb3duT2JqZWN0KGUpOwogCiAgICAgICAgICAg
ICB0aHJvdyBlOyAvLyBSZWplY3QgdGhpcyBwcm9taXNlIGJ5IHJlLXRocm93aW5nIHRoZSBlcnJv
ci4KICAgICAgICAgfSk7CkBAIC0xOTYsMTIgKzIwNywxMSBAQCBTeW5jVGVzdFN1aXRlID0gY2xh
c3MgU3luY1Rlc3RTdWl0ZSBleHRlbmRzIFRlc3RTdWl0ZQogICAgICAgICAgICAgICAgIHRyeSB7
CiAgICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSB0ZXN0Y2FzZS5zZXR1cC5jYWxsKG51
bGwpOwogICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSBmYWxzZSkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5faGFybmVzcy5sb2coIiEhIEVYQ0VQVElPTiIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy5faGFybmVzcy5sb2coIiEhIFNFVFVQIEZBSUxFRCIp
OwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAg
ICBsZXQgbWVzc2FnZSA9IFRlc3RTdWl0ZS5tZXNzYWdlRnJvbVRocm93bk9iamVjdChlKTsKLSAg
ICAgICAgICAgICAgICAgICAgdGhpcy5faGFybmVzcy5sb2coYCEhIEVYQ0VQVElPTjogJHttZXNz
YWdlfWApOworICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1Rocm93bk9iamVjdChlKTsKICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KQEAgLTIxNiw4ICsyMjYsNyBAQCBTeW5jVGVzdFN1aXRlID0gY2xhc3MgU3luY1Rl
c3RTdWl0ZSBleHRlbmRzIFRlc3RTdWl0ZQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgICB0aGlzLmZhaWxDb3VudCsrOwotICAgICAg
ICAgICAgICAgIGxldCBtZXNzYWdlID0gVGVzdFN1aXRlLm1lc3NhZ2VGcm9tVGhyb3duT2JqZWN0
KGUpOwotICAgICAgICAgICAgICAgIHRoaXMuX2hhcm5lc3MubG9nKGAhISBFWENFUFRJT046ICR7
bWVzc2FnZX1gKTsKKyAgICAgICAgICAgICAgICB0aGlzLmxvZ1Rocm93bk9iamVjdChlKTsKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CiAKQEAgLTIyNywxMiAr
MjM2LDExIEBAIFN5bmNUZXN0U3VpdGUgPSBjbGFzcyBTeW5jVGVzdFN1aXRlIGV4dGVuZHMgVGVz
dFN1aXRlCiAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgbGV0IHJl
c3VsdCA9IHRlc3RjYXNlLnRlYXJkb3duLmNhbGwobnVsbCk7CiAgICAgICAgICAgICAgICAgICAg
IGlmIChyZXN1bHQgPT09IGZhbHNlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9o
YXJuZXNzLmxvZygiISEgRVhDRVBUSU9OOiIpOworICAgICAgICAgICAgICAgICAgICAgICAgdGhp
cy5faGFybmVzcy5sb2coIiEhIFRFQVJET1dOIEZBSUxFRCIpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgICAgICBsZXQgbWVzc2FnZSA9IFRlc3RT
dWl0ZS5tZXNzYWdlRnJvbVRocm93bk9iamVjdChlKTsKLSAgICAgICAgICAgICAgICAgICAgdGhp
cy5faGFybmVzcy5sb2coYCEhIEVYQ0VQVElPTjogJHttZXNzYWdlfWApOworICAgICAgICAgICAg
ICAgICAgICB0aGlzLmxvZ1Rocm93bk9iamVjdChlKTsKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMWI4
YWY1MDJmYTg5ODU2OTJlMTYwNzVjODBjZjI5OThiY2ZjM2Q2Li5iNWIzMjY4NDA0M2ZmMmQ0ZTBj
OWQzOGIzYWEyZTE4MTFhZTk4N2MwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTctMDEtMDQg
IEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
VGVzdC5odG1sIHNob3VsZCBzdXBwb3J0IGdsb2JhbHMgcmVwb3J0SW50ZXJuYWxFcnJvciwgcmVw
b3J0VW5oYW5kbGVkUmVqZWN0aW9uLCByZXBvcnRVbmNhdWdodEV4Y2VwdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMzU4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yODA2NjQ0Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVj
b3Jhcm8uCisKKyAgICAgICAgSW1wcm92ZSB1bmNhdWdodCBleGNlcHRpb24gcmVwb3J0aW5nIGFu
ZCBhZGQgc29tZSB0ZXN0cyB0byBkb2N1bWVudAorICAgICAgICBuZXcgYW5kIGV4aXN0aW5nIGJl
aGF2aW9yLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3Bl
Y3Rvci10ZXN0LmpzOgorICAgICAgICAocnVuVGVzdC5ydW5UZXN0TWV0aG9kSW5Gcm9udGVuZCk6
CisgICAgICAgIChydW5UZXN0KTogT3V0c291cmNlIHJlcG9ydGluZyBvZiBhbiB1bmNhdWdodCBl
eGNlcHRpb24gd2hpbGUgaW5qZWN0aW5nCisgICAgICAgIGEgbWV0aG9kIGludG8gdGhlIGZyb250
ZW5kLiBCeSBkb2luZyB0aGlzLCB3ZSBjYW4gbWFrZSB0aGUgcmVwb3J0IHVzaW5nCisgICAgICAg
IHRoZSBhY3R1YWwgZXhjZXB0aW9uIG9iamVjdCBzaW5jZSBpdCBkb2Vzbid0IGdvIHRocm91Z2gg
d2luZG93Lm9uZXJyb3IuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy9hc3luYy10
ZXN0LXN1aXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy9h
c3luYy10ZXN0LXN1aXRlLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvc3lu
Yy10ZXN0LXN1aXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0
cy9zeW5jLXRlc3Qtc3VpdGUuaHRtbDoKKyAgICAgICAgUmViYXNlbGluZSBhbmQgZm9yY2Ugc3Vw
cHJlc3Npb24gb2Ygc3RhY2sgdHJhY2VzLCB3aGljaCBhcmUgbm90IGRldGVybWluaXN0aWMKKyAg
ICAgICAgYWNyb3NzIGNvbW1pdHMgZHVlIHRvIGxvZ2dpbmcgc3BlY2lmaWMgbGluZXMgYW5kIGNv
bHVtbnMgaW4gVGVzdENvbWJpbmVkLmpzLgorCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVz
dHMvZ2xvYmFscy11bmNhdWdodC1leGNlcHRpb24tZnJvbS10aW1lci1jYWxsYmFjay1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5j
YXVnaHQtZXhjZXB0aW9uLWZyb20tdGltZXItY2FsbGJhY2suaHRtbDogQWRkZWQuCisgICAgICAg
ICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmNhdWdodC1leGNlcHRpb24taW4tdGVz
dC1mdW5jdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0
LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWluLXRlc3QtZnVuY3Rpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmNhdWdodC1l
eGNlcHRpb24taW4tdGVzdC1zdWl0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGlu
c3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWluLXRlc3Qtc3Vp
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11
bmhhbmRsZWQtcmVqZWN0aW9uLWluLXRlc3QtZnVuY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rp
b24taW4tdGVzdC1mdW5jdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdW5p
dC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1zdWl0ZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5o
YW5kbGVkLXJlamVjdGlvbi1pbi10ZXN0LXN1aXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGlu
c3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5oYW5kbGVkLXJlamVjdGlvbi1pbi10aW1lci1j
YWxsYmFjay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRl
c3RzL2dsb2JhbHMtdW5oYW5kbGVkLXJlamVjdGlvbi1pbi10aW1lci1jYWxsYmFjay5odG1sOiBB
ZGRlZC4KKwogMjAxNy0wMS0wNCAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1hbnkgbmV3IEhUTUw1IGlucHV0IHR5cGVzIHN0aWxsIGV4cG9zZWQgYXMgZ2VuZXJpYyBB
WFRleHRmaWVsZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzCmluZGV4IGIzNmMxM2RjMzlhMTFhZTZl
NDIxMWEyNmU3MzdiOTQ0ZjI4OTRhNzAuLjRiNjgyY2Q5MTU5MTkyZWU0NjFmYjI3OTEyZTFlYWY3
MmVmMjc2YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMKQEAgLTg4LDkgKzg4LDkgQEAgZnVu
Y3Rpb24gcnVuVGVzdCgpCiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICB0ZXN0RnVuY3Rpb24o
KTsKICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgLy8gRklYTUU6IHRoZSByZWRp
cmVjdGVkIGNvbnNvbGUgbWV0aG9kcyBkbyBub3QgZm9yd2FyZCBhZGRpdGlvbmFsIGFyZ3VtZW50
cy4KLSAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkV4Y2VwdGlvbiBkdXJpbmcgdGVzdCBleGVj
dXRpb246ICIgKyBlLCBlLnN0YWNrIHx8ICIobm8gc3RhY2sgdHJhY2UpIik7Ci0gICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgLy8gVXNpbmcgdGhp
cyBpbnN0ZWFkIG9mIHdpbmRvdy5vbmVycm9yIHdpbGwgcHJlc2VydmUgdGhlIHN0YWNrIHRyYWNl
LgorICAgICAgICAgICAgZS5jb2RlID0gdGVzdEZ1bmN0aW9uLnRvU3RyaW5nKCk7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uKGUpOwogICAgICAgICB9
CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9h
c3luYy10ZXN0LXN1aXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0
LXRlc3RzL2FzeW5jLXRlc3Qtc3VpdGUtZXhwZWN0ZWQudHh0CmluZGV4IDUyZGJlYzYzMDc4MWI1
ZDkxYzQ3ZTdmNWQ5ZWExNzEzNThiMmM4NzkuLmRmYTEwMjBmZjY2MTg2MWUxOWYxMTllYjIwMWJl
MmJmNjhjNzFkOTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3Rz
L2FzeW5jLXRlc3Qtc3VpdGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci91bml0LXRlc3RzL2FzeW5jLXRlc3Qtc3VpdGUtZXhwZWN0ZWQudHh0CkBAIC0yNiw2ICsyNiw3
IEBAIFBBU1M6IEFzeW5jVGVzdFN1aXRlLlJ1blRlc3RDYXNlcygpIHNob3VsZCByZXR1cm4gYSBQ
cm9taXNlLgogLS0gUnVubmluZyB0ZXN0IGNhc2U6IER1bW15VGVzdDMKIC0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBGYWlsaW5nVGVzdDQKICEhIEVYQ0VQVElPTjogW29iamVjdCBPYmplY3RdCitTdGFj
ayBUcmFjZTogKHN1cHByZXNzZWQpCiBQQVNTOiBQcm9taXNlIGZyb20gc2VxdWVudGlhbEV4ZWN1
dGlvblN1aXRlLnJ1blRlc3RDYXNlcygpIHNob3VsZCByZWplY3Qgd2hlbiBhIHRlc3QgY2FzZSBm
YWlscy4KIFBBU1M6IFByb21pc2UgZnJvbSBzZXF1ZW50aWFsRXhlY3V0aW9uU3VpdGUucnVuVGVz
dENhc2VzKCkgc2hvdWxkIHJlamVjdCB3aXRob3V0IGFsdGVyaW5nIGl0cyByZXN1bHQgdmFsdWUu
CiBQQVNTOiBzZXF1ZW50aWFsRXhlY3V0aW9uU3VpdGUgc2hvdWxkIGhhdmUgZXhlY3V0ZWQgZm91
ciB0ZXN0cy4KQEAgLTM3LDYgKzM4LDcgQEAgUEFTUzogc2VxdWVudGlhbEV4ZWN1dGlvblN1aXRl
IHNob3VsZCBoYXZlIHNraXBwZWQgemVybyB0ZXN0cy4KIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBQ
YXNzaW5nVGVzdDUKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBGYWlsaW5nVGVzdDYKICEhIEVYQ0VQ
VElPTjogeyJ0b2tlbiI6NjY2fQorU3RhY2sgVHJhY2U6IChzdXBwcmVzc2VkKQogUEFTUzogUHJv
bWlzZSBmcm9tIGFib3J0T25GYWlsdXJlU3VpdGUucnVuVGVzdENhc2VzKCkgc2hvdWxkIHJlamVj
dCB3aGVuIGEgdGVzdCBjYXNlIGZhaWxzLgogUEFTUzogUHJvbWlzZSBmcm9tIGFib3J0T25GYWls
dXJlU3VpdGUucnVuVGVzdENhc2VzKCkgc2hvdWxkIHJlamVjdCB3aXRob3V0IGFsdGVyaW5nIGl0
cyByZXN1bHQgdmFsdWUuCiBQQVNTOiBhYm9ydE9uRmFpbHVyZVN1aXRlIHNob3VsZCBoYXZlIGV4
ZWN1dGVkIHR3byB0ZXN0cy4KQEAgLTU4LDIyICs2MCwyNiBAQCBQQVNTOiBQcm9taXNlIGZyb20g
c2V0dXBBbmRUZWFyZG93blRlc3RTdWl0ZS5ydW5UZXN0Q2FzZXMoKSBzaG91bGQgcmVzb2x2ZS4K
ID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogQXN5bmNUZXN0U3VpdGUuU2V0dXBFeGNlcHRpb24KIC0t
IFJ1bm5pbmcgdGVzdCBzZXR1cC4KICEhIEVYQ0VQVElPTjogCitTdGFjayBUcmFjZTogKHN1cHBy
ZXNzZWQpCiBQQVNTOiBQcm9taXNlIGZyb20gc2V0dXBFeGNlcHRpb25UZXN0U3VpdGUucnVuVGVz
dENhc2VzKCkgc2hvdWxkIHJlamVjdC4KIAogPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBBc3luY1Rl
c3RTdWl0ZS5TZXR1cEZhaWx1cmUKIC0tIFJ1bm5pbmcgdGVzdCBzZXR1cC4KICEhIEVYQ0VQVElP
TjogdW5kZWZpbmVkCitTdGFjayBUcmFjZTogKHN1cHByZXNzZWQpCiBQQVNTOiBQcm9taXNlIGZy
b20gc2V0dXBGYWlsdXJlVGVzdFN1aXRlLnJ1blRlc3RDYXNlcygpIHNob3VsZCByZWplY3QuCiAK
ID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogQXN5bmNUZXN0U3VpdGUuVGVhcmRvd25FeGNlcHRpb24K
IC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUZXN0V2l0aEV4Y2VwdGlvbkR1cmluZ1RlYXJkb3duCiAt
LSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAhISBFWENFUFRJT046IAorU3RhY2sgVHJhY2U6IChz
dXBwcmVzc2VkKQogUEFTUzogUHJvbWlzZSBmcm9tIHRlYXJkb3duRXhjZXB0aW9uVGVzdFN1aXRl
LnJ1blRlc3RDYXNlcygpIHNob3VsZCByZWplY3QuCiAKID09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
QXN5bmNUZXN0U3VpdGUuVGVhcmRvd25GYWlsdXJlCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogVGVz
dFdpdGhFeGNlcHRpb25EdXJpbmdUZWFyZG93bgogLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgog
ISEgRVhDRVBUSU9OOiB1bmRlZmluZWQKK1N0YWNrIFRyYWNlOiAoc3VwcHJlc3NlZCkKIFBBU1M6
IFByb21pc2UgZnJvbSB0ZWFyZG93bkZhaWx1cmVUZXN0U3VpdGUucnVuVGVzdENhc2VzKCkgc2hv
dWxkIHJlamVjdC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVz
dHMvYXN5bmMtdGVzdC1zdWl0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVz
dHMvYXN5bmMtdGVzdC1zdWl0ZS5odG1sCmluZGV4IDUxYjMwMmM5MjU3NzA0ODMwMWQ2ODVmZjM1
MzlmNWUyNmQ2OTBmMWUuLjAwZjllYzM2MjRlMGIyYjc1MzAxZjY3ZWE5NmUxYTFiOTNmMDBhYjgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2FzeW5jLXRlc3Qt
c3VpdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9hc3luYy10
ZXN0LXN1aXRlLmh0bWwKQEAgLTUsNiArNSw4IEBACiA8c2NyaXB0PgogZnVuY3Rpb24gdGVzdCgp
CiB7CisgICAgUHJvdG9jb2xUZXN0LnN1cHByZXNzU3RhY2tUcmFjZXMgPSB0cnVlOworCiAgICAg
dHJ5IHsKICAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBc3luY1Rlc3RTdWl0ZSh0aGlzKTsKICAg
ICAgICAgUHJvdG9jb2xUZXN0LmxvZygiRkFJTDogaW5zdGFudGlhdGluZyBBc3luY1Rlc3RTdWl0
ZSByZXF1aXJlcyBuYW1lIGFyZ3VtZW50LiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmNhdWdodC1leGNlcHRpb24tZnJvbS10aW1lci1j
YWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9n
bG9iYWxzLXVuY2F1Z2h0LWV4Y2VwdGlvbi1mcm9tLXRpbWVyLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jYjRiY2I3ZjI4ZTE0Nzc2OWI3MTNhNmMxZDcwMTIzMmNkYTczODI5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFs
cy11bmNhdWdodC1leGNlcHRpb24tZnJvbS10aW1lci1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACitUZXN0IHRoYXQgdGhlIHVuY2F1Z2h0IGV4Y2VwdGlvbiBob29rIHdpbGwg
aW1tZWRpYXRlbHkgdGVybWluYXRlIHRoZSB0ZXN0IGFuZCBwcmludCB0aGUgYXNzb2NpYXRlZCBl
eGNlcHRpb24gYW5kIHN0YWNrIHRyYWNlLgorCitVbmNhdWdodCBleGNlcHRpb24gaW4gSW5zcGVj
dG9yIHBhZ2U6IEVycm9yOiBUaGlzIGlzIGFuIGV4Y2VwdGlvbiB0aHJvd24gaW4gdGhlIGluc3Bl
Y3RvciBwYWdlLiBbZ2xvYmFsOjIwOjI0XQorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWZyb20tdGltZXIt
Y2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMt
dW5jYXVnaHQtZXhjZXB0aW9uLWZyb20tdGltZXItY2FsbGJhY2suaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
MWM0YWEwZGY0ODUxZTMxOTQ0YzE1YmMxZmRhZDZiZjY5OWNmN2QyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmNhdWdodC1leGNl
cHRpb24tZnJvbS10aW1lci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhZG9jdHlw
ZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Quc3VwcHJlc3NTdGFja1RyYWNl
cyA9IHRydWU7CisKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJUaGlzIGlzIGFuIGV4Y2VwdGlvbiB0aHJvd24gaW4gdGhlIGluc3BlY3RvciBwYWdlLiIp
OworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8cD5UZXN0IHRoYXQgdGhlIHVuY2F1Z2h0IGV4Y2VwdGlvbiBob29rIHdpbGwgaW1tZWRp
YXRlbHkgdGVybWluYXRlIHRoZSB0ZXN0IGFuZCBwcmludCB0aGUgYXNzb2NpYXRlZCBleGNlcHRp
b24gYW5kIHN0YWNrIHRyYWNlLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9u
LWluLXRlc3QtZnVuY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Vu
aXQtdGVzdHMvZ2xvYmFscy11bmNhdWdodC1leGNlcHRpb24taW4tdGVzdC1mdW5jdGlvbi1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUyNzMyMmQxZmNjNGMyMjE3ZThhN2U2ZjA2N2U0ZDkzOTFk
NmQxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3Rz
L2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWluLXRlc3QtZnVuY3Rpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3QgdGhhdCB0aGUgdW5jYXVnaHQgZXhjZXB0aW9uIGhvb2sg
d2lsbCBpbW1lZGlhdGVseSB0ZXJtaW5hdGUgdGhlIHRlc3QgYW5kIHByaW50IHRoZSBhc3NvY2lh
dGVkIGV4Y2VwdGlvbiBhbmQgc3RhY2sgdHJhY2UuCisKK1VuY2F1Z2h0IGV4Y2VwdGlvbiBpbiBJ
bnNwZWN0b3IgcGFnZTogVGhpcyBpcyBhbiBleGNlcHRpb24gdGhyb3duIGluIHRoZSBpbnNwZWN0
b3IgcGFnZS4KKworU3RhY2sgVHJhY2U6Cisoc3VwcHJlc3NlZCkKKworRXZhbHVhdGVkIENvZGU6
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnN1cHByZXNzU3RhY2tUcmFj
ZXMgPSB0cnVlOworCisgICAgdGhyb3cgbmV3IEVycm9yKCJUaGlzIGlzIGFuIGV4Y2VwdGlvbiB0
aHJvd24gaW4gdGhlIGluc3BlY3RvciBwYWdlLiIpOworfQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi10
ZXN0LWZ1bmN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9i
YWxzLXVuY2F1Z2h0LWV4Y2VwdGlvbi1pbi10ZXN0LWZ1bmN0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDczNWQzNTc1NGJhZTA2MDU2OWVlOWQ2Y2MzOGE1OTM4YTM2MzNhOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhj
ZXB0aW9uLWluLXRlc3QtZnVuY3Rpb24uaHRtbApAQCAtMCwwICsxLDE3IEBACis8IWRvY3R5cGUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBJbnNwZWN0b3JUZXN0LnN1cHByZXNzU3RhY2tUcmFjZXMg
PSB0cnVlOworCisgICAgdGhyb3cgbmV3IEVycm9yKCJUaGlzIGlzIGFuIGV4Y2VwdGlvbiB0aHJv
d24gaW4gdGhlIGluc3BlY3RvciBwYWdlLiIpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0IHRoYXQgdGhlIHVuY2F1Z2h0IGV4Y2VwdGlv
biBob29rIHdpbGwgaW1tZWRpYXRlbHkgdGVybWluYXRlIHRoZSB0ZXN0IGFuZCBwcmludCB0aGUg
YXNzb2NpYXRlZCBleGNlcHRpb24gYW5kIHN0YWNrIHRyYWNlLjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMt
dW5jYXVnaHQtZXhjZXB0aW9uLWluLXRlc3Qtc3VpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmNhdWdodC1leGNlcHRpb24taW4tdGVz
dC1zdWl0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDVmYTg1MmE5YTEwNTZjMGUyNDUxYWE1
ZjU3NzVjZmJmYmQ4MzU4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWluLXRlc3Qtc3VpdGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGVzdCB0aGF0IHRoZSB1bmhhbmRsZWQgcHJvbWlz
ZSByZWplY3Rpb24gaG9vayB3aWxsIGltbWVkaWF0ZWx5IHRlcm1pbmF0ZSB0aGUgdGVzdCBhbmQg
cHJpbnQgdGhlIGFzc29jaWF0ZWQgZXhjZXB0aW9uIGFuZCBzdGFjayB0cmFjZS4KKworCis9PSBS
dW5uaW5nIHRlc3Qgc3VpdGU6IFVuY2F1Z2h0RXhjZXB0aW9uSW5zaWRlVGVzdENhc2UKKy0tIFJ1
bm5pbmcgdGVzdCBjYXNlOiBDYXRjaFJlamVjdGVkUHJvbWlzZQorISEgRVhDRVBUSU9OOiBUaGlz
IHByb21pc2UgaXMgcmVqZWN0ZWQgd2l0aCBhbiBFcnJvciBvYmplY3QuCitTdGFjayBUcmFjZTog
KHN1cHByZXNzZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRl
c3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWluLXRlc3Qtc3VpdGUuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5jYXVnaHQtZXhjZXB0aW9uLWlu
LXRlc3Qtc3VpdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NzRmYmRlMTA1NmIyYTE0Njk0MThjMzFlNTNl
NGIyNWFiNmM3MzJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Vu
aXQtdGVzdHMvZ2xvYmFscy11bmNhdWdodC1leGNlcHRpb24taW4tdGVzdC1zdWl0ZS5odG1sCkBA
IC0wLDAgKzEsMjYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3Rv
clRlc3Quc3VwcHJlc3NTdGFja1RyYWNlcyA9IHRydWU7CisKKyAgICBsZXQgc3VpdGUgPSBJbnNw
ZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlVuY2F1Z2h0RXhjZXB0aW9uSW5zaWRlVGVzdENh
c2UiKTsKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJDYXRjaFJlamVj
dGVkUHJvbWlzZSIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAid2luZG93LnJlcG9ydFVuaGFuZGxl
ZFJlamVjdGlvbiBzaG91bGQgZHVtcCB0aGUgdW5oYW5kbGVkIGV4Y2VwdGlvbiBhbmQgcXVpdCB0
ZXN0aW5nLiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIlRoaXMgcHJvbWlzZSBpcyByZWplY3RlZCB3aXRoIGFuIEVycm9yIG9i
amVjdC4iKTsKKyAgICAgICAgfQorICAgIH0pCisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRG
aW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+VGVzdCB0aGF0IHRoZSB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb24gaG9vayB3aWxs
IGltbWVkaWF0ZWx5IHRlcm1pbmF0ZSB0aGUgdGVzdCBhbmQgcHJpbnQgdGhlIGFzc29jaWF0ZWQg
ZXhjZXB0aW9uIGFuZCBzdGFjayB0cmFjZS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1y
ZWplY3Rpb24taW4tdGVzdC1mdW5jdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1mdW5j
dGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmU5NGFlZjk0ODY5MThiOWVlMTdjMWE0ZWYy
YWVmNzE3YTFjNDI1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91
bml0LXRlc3RzL2dsb2JhbHMtdW5oYW5kbGVkLXJlamVjdGlvbi1pbi10ZXN0LWZ1bmN0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3QgdGhhdCB0aGUgdW5oYW5kbGVkIGhvb2sg
d2lsbCBpbW1lZGlhdGVseSB0ZXJtaW5hdGUgdGhlIHRlc3QgYW5kIHByaW50IHRoZSBhc3NvY2lh
dGVkIGV4Y2VwdGlvbiBhbmQgc3RhY2sgdHJhY2UuCisKK1VuaGFuZGxlZCBwcm9taXNlIHJlamVj
dGlvbiBpbiBpbnNwZWN0b3IgcGFnZTogVGhpcyBpcyBhbiBleGNlcHRpb24gdGhyb3duIGluIHRo
ZSBpbnNwZWN0b3IgcGFnZS4KKworU3RhY2sgVHJhY2U6IChzdXBwcmVzc2VkKQorCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5oYW5kbGVk
LXJlamVjdGlvbi1pbi10ZXN0LWZ1bmN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1mdW5jdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg4MzE0NGFjNWVjOTllYmJkZTc3MjgwMmQ0ZDE4MDk3NzY4YTJiMDgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9i
YWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1mdW5jdGlvbi5odG1sCkBAIC0wLDAgKzEs
MTcgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3BlY3RvclRlc3Quc3Vw
cHJlc3NTdGFja1RyYWNlcyA9IHRydWU7CisKKyAgICByZXBvcnRVbmhhbmRsZWRSZWplY3Rpb24o
bmV3IEVycm9yKCJUaGlzIGlzIGFuIGV4Y2VwdGlvbiB0aHJvd24gaW4gdGhlIGluc3BlY3RvciBw
YWdlLiIpKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+VGVzdCB0aGF0IHRoZSB1bmhhbmRsZWQgaG9vayB3aWxsIGltbWVkaWF0ZWx5IHRlcm1p
bmF0ZSB0aGUgdGVzdCBhbmQgcHJpbnQgdGhlIGFzc29jaWF0ZWQgZXhjZXB0aW9uIGFuZCBzdGFj
ayB0cmFjZS48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1z
dWl0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9i
YWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGVzdC1zdWl0ZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODBmY2NlYjAzOWE1MTEzYzgwNWY3OTgwMzcyNjE3YzkzNjdmZDdkNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5oYW5k
bGVkLXJlamVjdGlvbi1pbi10ZXN0LXN1aXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBA
CitUZXN0IHRoYXQgdGhlIHVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbiBob29rIHdpbGwgaW1t
ZWRpYXRlbHkgdGVybWluYXRlIHRoZSB0ZXN0IGFuZCBwcmludCB0aGUgYXNzb2NpYXRlZCBleGNl
cHRpb24gYW5kIHN0YWNrIHRyYWNlLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogUmVwb3J0
VW5oYW5kbGVkUmVqZWN0aW9uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQ2F0Y2hSZWplY3RlZFBy
b21pc2UKK1VuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbiBpbiBpbnNwZWN0b3IgcGFnZTogVGhp
cyBwcm9taXNlIGlzIHJlamVjdGVkIHdpdGggYW4gRXJyb3Igb2JqZWN0LgorCitTdGFjayBUcmFj
ZTogKHN1cHByZXNzZWQpCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Vu
aXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVqZWN0aW9uLWluLXRlc3Qtc3VpdGUuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5oYW5kbGVkLXJlamVj
dGlvbi1pbi10ZXN0LXN1aXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmVjZTc2YWQyMzFmMjg3OTBiZTRi
ZDVjOTljMjBiZGI3YTdkNWU5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5oYW5kbGVkLXJlamVjdGlvbi1pbi10ZXN0LXN1aXRl
Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
SW5zcGVjdG9yVGVzdC5zdXBwcmVzc1N0YWNrVHJhY2VzID0gdHJ1ZTsKKworICAgIGxldCBzdWl0
ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiUmVwb3J0VW5oYW5kbGVkUmVqZWN0
aW9uIik7CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiQ2F0Y2hSZWpl
Y3RlZFByb21pc2UiLAorICAgICAgICBkZXNjcmlwdGlvbjogIndpbmRvdy5yZXBvcnRVbmhhbmRs
ZWRSZWplY3Rpb24gc2hvdWxkIGR1bXAgdGhlIHVuaGFuZGxlZCBleGNlcHRpb24gYW5kIHF1aXQg
dGVzdGluZy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAg
bGV0IHJlamVjdGVkUHJvbWlzZSA9IFByb21pc2UucmVqZWN0KG5ldyBFcnJvcigiVGhpcyBwcm9t
aXNlIGlzIHJlamVjdGVkIHdpdGggYW4gRXJyb3Igb2JqZWN0LiIpKTsKKyAgICAgICAgICAgIHJl
amVjdGVkUHJvbWlzZS5jYXRjaChyZXBvcnRVbmhhbmRsZWRSZWplY3Rpb24pOworICAgICAgICB9
CisgICAgfSkKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0IHRoYXQgdGhl
IHVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbiBob29rIHdpbGwgaW1tZWRpYXRlbHkgdGVybWlu
YXRlIHRoZSB0ZXN0IGFuZCBwcmludCB0aGUgYXNzb2NpYXRlZCBleGNlcHRpb24gYW5kIHN0YWNr
IHRyYWNlLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5oYW5kbGVkLXJlamVjdGlvbi1pbi10aW1lci1j
YWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9n
bG9iYWxzLXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGltZXItY2FsbGJhY2stZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVhMmEzMzc2MDFmOTNlZGM4MmUxMjAwYTJmYzE1MjYwZTIwZmUzNTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9nbG9iYWxz
LXVuaGFuZGxlZC1yZWplY3Rpb24taW4tdGltZXItY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorVGVzdCB0aGF0IHRoZSB1bmNhdWdodCBleGNlcHRpb24gaG9vayB3aWxsIGlt
bWVkaWF0ZWx5IHRlcm1pbmF0ZSB0aGUgdGVzdCBhbmQgcHJpbnQgdGhlIGFzc29jaWF0ZWQgZXhj
ZXB0aW9uIGFuZCBzdGFjayB0cmFjZS4KKworVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uIGlu
IGluc3BlY3RvciBwYWdlOiBUaGlzIGlzIGFuIGV4Y2VwdGlvbiB0aHJvd24gaW4gdGhlIGluc3Bl
Y3RvciBwYWdlLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRl
c3RzL2dsb2JhbHMtdW5oYW5kbGVkLXJlamVjdGlvbi1pbi10aW1lci1jYWxsYmFjay5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvZ2xvYmFscy11bmhhbmRsZWQtcmVqZWN0
aW9uLWluLXRpbWVyLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVjNDE1YWVjNGY1N2I0MTI5
OGU0Yjg4ODI2MzQ2ZmIxNmRiYmUxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci91bml0LXRlc3RzL2dsb2JhbHMtdW5oYW5kbGVkLXJlamVjdGlvbi1pbi10aW1lci1j
YWxsYmFjay5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIEluc3BlY3RvclRlc3Quc3VwcHJlc3NTdGFja1RyYWNlcyA9IHRydWU7CisKKyAgICBz
ZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgcmVwb3J0VW5oYW5kbGVkUmVqZWN0aW9uKG5ldyBF
cnJvcigiVGhpcyBpcyBhbiBleGNlcHRpb24gdGhyb3duIGluIHRoZSBpbnNwZWN0b3IgcGFnZS4i
KSk7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KKzxwPlRlc3QgdGhhdCB0aGUgdW5jYXVnaHQgZXhjZXB0aW9uIGhvb2sgd2lsbCBpbW1l
ZGlhdGVseSB0ZXJtaW5hdGUgdGhlIHRlc3QgYW5kIHByaW50IHRoZSBhc3NvY2lhdGVkIGV4Y2Vw
dGlvbiBhbmQgc3RhY2sgdHJhY2UuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc3luYy10ZXN0LXN1aXRlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3N5bmMtdGVzdC1zdWl0ZS1l
eHBlY3RlZC50eHQKaW5kZXggNDlhYWFkMTM0NDVkMTQ4YzY4YzYwYjA5OWUwZDU3OWU5NTIwMGNi
NS4uNzg3ZDViZDczNTVkM2YxZWE3MzcxY2IxNzQ1MGM3N2EyMzJhMDQzOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc3luYy10ZXN0LXN1aXRlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zeW5jLXRlc3Qtc3Vp
dGUtZXhwZWN0ZWQudHh0CkBAIC0yNiw2ICsyNiw3IEBAIFBBU1M6IHNob3VsZCBub3QgYmUgYWJs
ZSB0byBydW4gYSB0ZXN0IHN1aXRlIHR3aWNlLgogLS0gUnVubmluZyB0ZXN0IGNhc2U6IER1bW15
VGVzdDMKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBGYWlsaW5nVGVzdDQKICEhIEVYQ0VQVElPTjog
W29iamVjdCBPYmplY3RdCitTdGFjayBUcmFjZTogKHN1cHByZXNzZWQpCiBQQVNTOiBSZXR1cm4g
dmFsdWUgb2Ygc2VxdWVudGlhbEV4ZWN1dGlvblN1aXRlLnJ1blRlc3RDYXNlcygpIHNob3VsZCBi
ZSBmYWxzZSB3aGVuIGEgdGVzdCBjYXNlIGZhaWxzLgogUEFTUzogc2VxdWVudGlhbEV4ZWN1dGlv
blN1aXRlIHNob3VsZCBoYXZlIGV4ZWN1dGVkIGZvdXIgdGVzdHMuCiBQQVNTOiBzZXF1ZW50aWFs
RXhlY3V0aW9uU3VpdGUgc2hvdWxkIGhhdmUgcGFzc2VkIHRocmVlIHRlc3RzLgpAQCAtNTQsMTgg
KzU1LDIwIEBAIFBBU1M6IFRlc3Qgc2hvdWxkIHNlZSBzaWRlIGVmZmVjdHMgb2YgcHJldmlvdXMg
dGVzdCdzIHRlYXJkb3duKCkgYWN0aW9uLgogPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBTeW5jVGVz
dFN1aXRlLlNldHVwRXhjZXB0aW9uCiAtLSBSdW5uaW5nIHRlc3Qgc2V0dXAuCiAhISBFWENFUFRJ
T046IAorU3RhY2sgVHJhY2U6IChzdXBwcmVzc2VkKQogCiA9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6
IFN5bmNUZXN0U3VpdGUuU2V0dXBGYWlsdXJlCiAtLSBSdW5uaW5nIHRlc3Qgc2V0dXAuCi0hISBF
WENFUFRJT04KKyEhIFNFVFVQIEZBSUxFRAogCiA9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFN5bmNU
ZXN0U3VpdGUuVGVhcmRvd25FeGNlcHRpb24KIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUZXN0V2l0
aEV4Y2VwdGlvbkR1cmluZ1RlYXJkb3duCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAhISBF
WENFUFRJT046IAorU3RhY2sgVHJhY2U6IChzdXBwcmVzc2VkKQogCiA9PSBSdW5uaW5nIHRlc3Qg
c3VpdGU6IFN5bmNUZXN0U3VpdGUuVGVhcmRvd25GYWlsdXJlCiAtLSBSdW5uaW5nIHRlc3QgY2Fz
ZTogVGVzdFdpdGhFeGNlcHRpb25EdXJpbmdUZWFyZG93bgogLS0gUnVubmluZyB0ZXN0IHRlYXJk
b3duLgotISEgRVhDRVBUSU9OOgorISEgVEVBUkRPV04gRkFJTEVECiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3N5bmMtdGVzdC1zdWl0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc3luYy10ZXN0LXN1aXRlLmh0bWwKaW5kZXgg
NmFkZDQwNTJkNzgyMmU3MDNkOTdjY2ExMGY0ZjVmMTM5Zjg5NWZlZC4uY2JjMDZiZjlkOWM1YjM1
ZmE0Yzk5MDMyMTZjOTUyNjc2NjNmYWNlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3VuaXQtdGVzdHMvc3luYy10ZXN0LXN1aXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3VuaXQtdGVzdHMvc3luYy10ZXN0LXN1aXRlLmh0bWwKQEAgLTUsNiArNSw4IEBACiA8
c2NyaXB0PgogZnVuY3Rpb24gdGVzdCgpCiB7CisgICAgUHJvdG9jb2xUZXN0LnN1cHByZXNzU3Rh
Y2tUcmFjZXMgPSB0cnVlOworCiAgICAgdHJ5IHsKICAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBT
eW5jVGVzdFN1aXRlKHRoaXMpOwogICAgICAgICBQcm90b2NvbFRlc3QubG9nKCJGQUlMOiBpbnN0
YW50aWF0aW5nIFN5bmNUZXN0U3VpdGUgcmVxdWlyZXMgbmFtZSBhcmd1bWVudC4iKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>