<?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>125655</bug_id>
          
          <creation_ts>2013-12-12 14:29:11 -0800</creation_ts>
          <short_desc>Checking RTCPeerConnection signalingState before setting local/remoteDescription</short_desc>
          <delta_ts>2014-05-19 09:08:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>125574</dependson>
          <blocked>124288</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thiago de Barros Lacerda">thiago.lacerda</reporter>
          <assigned_to name="Thiago de Barros Lacerda">thiago.lacerda</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>pnormand</cc>
    
    <cc>tommyw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>959340</commentid>
    <comment_count>0</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-12-12 14:29:11 -0800</bug_when>
    <thetext>Before setting a session description RTCPeerConnection must check if it is in valid state for that SDP type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959341</commentid>
    <comment_count>1</comment_count>
      <attachid>219120</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-12-12 14:32:02 -0800</bug_when>
    <thetext>Created attachment 219120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959657</commentid>
    <comment_count>2</comment_count>
      <attachid>219120</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-12-13 13:31:59 -0800</bug_when>
    <thetext>Comment on attachment 219120
Patch

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

&gt; Source/WebCore/ChangeLog:21
&gt; +        * Modules/mediastream/RTCPeerConnection.cpp:
&gt; +        (WebCore::RTCPeerConnection::validateSetLocalDescription):
&gt; +        (WebCore::RTCPeerConnection::validateSetRemoteDescription):
&gt; +        (WebCore::RTCPeerConnection::setLocalDescription):
&gt; +        (WebCore::RTCPeerConnection::setRemoteDescription):

Nit: as before, I think it is helpful to include a brief description of what changed for each method listed in the ChangeLog.

&gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:215
&gt; +bool RTCPeerConnection::validateSetLocalDescription(RTCSessionDescription* localDescription)

Nit: I don&apos;t think &quot;validateSetLocalDescription&quot; is a great name, what is &quot;Set&quot;? Maybe something like &quot;validateLocalSessionDescription&quot;, or &quot;validateLocalDescriptionState&quot;?

&gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:227
&gt; +bool RTCPeerConnection::validateSetRemoteDescription(RTCSessionDescription* remoteDescription)

Ditto about &quot;Set&quot;, it doesn&apos;t help me understand what the method does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959954</commentid>
    <comment_count>3</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-12-15 17:36:53 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 219120 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=219120&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:21
&gt; &gt; +        * Modules/mediastream/RTCPeerConnection.cpp:
&gt; &gt; +        (WebCore::RTCPeerConnection::validateSetLocalDescription):
&gt; &gt; +        (WebCore::RTCPeerConnection::validateSetRemoteDescription):
&gt; &gt; +        (WebCore::RTCPeerConnection::setLocalDescription):
&gt; &gt; +        (WebCore::RTCPeerConnection::setRemoteDescription):
&gt; 
&gt; Nit: as before, I think it is helpful to include a brief description of what changed for each method listed in the ChangeLog.

OK.

&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:215
&gt; &gt; +bool RTCPeerConnection::validateSetLocalDescription(RTCSessionDescription* localDescription)
&gt; 
&gt; Nit: I don&apos;t think &quot;validateSetLocalDescription&quot; is a great name, what is &quot;Set&quot;? Maybe something like &quot;validateLocalSessionDescription&quot;, or &quot;validateLocalDescriptionState&quot;?

The &quot;set&quot; is because the action to set the SDP, this method is called when setLocalDescription is executed. But I will rename it to validadeLocalDescriptionState :)

&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:227
&gt; &gt; +bool RTCPeerConnection::validateSetRemoteDescription(RTCSessionDescription* remoteDescription)
&gt; 
&gt; Ditto about &quot;Set&quot;, it doesn&apos;t help me understand what the method does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959955</commentid>
    <comment_count>4</comment_count>
      <attachid>219284</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-12-15 18:16:12 -0800</bug_when>
    <thetext>Created attachment 219284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959957</commentid>
    <comment_count>5</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-12-15 18:17:28 -0800</bug_when>
    <thetext>I renamed the methods to checkStateForLocal/RemoteDescription, which I found more meaningful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960090</commentid>
    <comment_count>6</comment_count>
      <attachid>219284</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-16 09:40:00 -0800</bug_when>
    <thetext>Comment on attachment 219284
Patch

Rejecting attachment 219284 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 219284, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
pranswer.html
patching file LayoutTests/fast/mediastream/RTCPeerConnection-remoteDescription-expected.txt
patching file LayoutTests/fast/mediastream/RTCPeerConnection-remoteDescription.html
patching file LayoutTests/fast/mediastream/RTCPeerConnection-stable-expected.txt
patching file LayoutTests/fast/mediastream/RTCPeerConnection-stable.html

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Eric Carlson&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/49908112</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960357</commentid>
    <comment_count>7</comment_count>
      <attachid>219382</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-12-16 19:00:13 -0800</bug_when>
    <thetext>Created attachment 219382
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960373</commentid>
    <comment_count>8</comment_count>
      <attachid>219382</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-16 20:09:05 -0800</bug_when>
    <thetext>Comment on attachment 219382
Patch for landing

Clearing flags on attachment: 219382

Committed r160693: &lt;http://trac.webkit.org/changeset/160693&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219120</attachid>
            <date>2013-12-12 14:32:02 -0800</date>
            <delta_ts>2013-12-15 18:16:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125655-20131212193200.patch</filename>
            <type>text/plain</type>
            <size>70254</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjJlNTE1MGJiY2ZjYzRl
NDM1MTlhOTJmYWRlNWMyNzhjZWUwYjY4YS4uNTAzNjM3YTQ4ZGVkZTlkNjJhOTE1M2ExZmEyM2M4
NjE0MzZhZjc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTEyLTEyICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIENoZWNraW5nIFJUQ1BlZXJDb25uZWN0aW9uIHNpZ25hbGluZ1N0YXRlIGJlZm9yZSBz
ZXR0aW5nIGxvY2FsL3JlbW90ZURlc2NyaXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU2NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBCZWZvcmUgc2V0dGluZyBhIHNlc3Npb24gZGVzY3JpcHRp
b24gUlRDUGVlckNvbm5lY3Rpb24gbXVzdCBjaGVjayBpZiBpdCBpcyBpbiB2YWxpZCBzdGF0ZSBm
b3IgdGhhdCBTRFAgdHlwZS4KKworICAgICAgICBUZXN0czogZmFzdC9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLWFuc3dlci5odG1sCisgICAgICAgICAgICAgICBmYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtb2ZmZXIuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2Fs
LXByYW5zd2VyLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24taGF2ZS1yZW1vdGUtb2ZmZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1wcmFuc3dlci5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS5odG1s
CisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjp2YWxpZGF0ZVNldExvY2FsRGVz
Y3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OnZhbGlkYXRl
U2V0UmVtb3RlRGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rp
b246OnNldExvY2FsRGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5l
Y3Rpb246OnNldFJlbW90ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9SVENOb3Rp
ZmllcnNNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpZ25hbGluZ1N0YXRlTm90aWZpZXI6
OlNpZ25hbGluZ1N0YXRlTm90aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2lnbmFsaW5nU3Rh
dGVOb3RpZmllcjo6ZmlyZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNN
b2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJN
b2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6
OnNpZ25hbGluZ1N0YXRlRnJvbVNEUCk6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJNb2NrOjpzZXRMb2NhbERlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6OnNldFJlbW90ZURlc2NyaXB0aW9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2suaDoKKwog
MjAxMy0xMi0xMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgUlNBRVMtUEtDUzEtdjFfNQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAppbmRleCA3
ZTM0ZTEzODAzNDU0Yjk4NjcyYTlmYzNjYjM1NzdkYThmODQ1NjBmLi5iZTc3MzlhMjY4ZTQ5NmIz
NzkwMmYyNDQ4MTdjZGU5ZDBkZTZmYTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcApAQCAtNjIsNiArNjIs
OCBAQAogI2luY2x1ZGUgIlJUQ1ZvaWRSZXF1ZXN0SW1wbC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKKyNpbmNsdWRlIDx3
dGYvRnVuY3Rpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtMjEwLDYgKzIxMiwzMCBAQCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9u
OjpjcmVhdGVBbnN3ZXIoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjaz4g
cwogICAgIG1fcGVlckhhbmRsZXItPmNyZWF0ZUFuc3dlcihyZXF1ZXN0LnJlbGVhc2UoKSwgY29u
c3RyYWludHMucmVsZWFzZSgpKTsKIH0KIAorYm9vbCBSVENQZWVyQ29ubmVjdGlvbjo6dmFsaWRh
dGVTZXRMb2NhbERlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiogbG9jYWxEZXNjcmlw
dGlvbikKK3sKKyAgICBpZiAobG9jYWxEZXNjcmlwdGlvbi0+dHlwZSgpID09ICJvZmZlciIpCisg
ICAgICAgIHJldHVybiBtX3NpZ25hbGluZ1N0YXRlID09IFNpZ25hbGluZ1N0YXRlU3RhYmxlIHx8
IG1fc2lnbmFsaW5nU3RhdGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlTG9jYWxPZmZlcjsKKyAgICBp
ZiAobG9jYWxEZXNjcmlwdGlvbi0+dHlwZSgpID09ICJhbnN3ZXIiKQorICAgICAgICByZXR1cm4g
bV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZUhhdmVSZW1vdGVPZmZlciB8fCBtX3Np
Z25hbGluZ1N0YXRlID09IFNpZ25hbGluZ1N0YXRlSGF2ZUxvY2FsUHJBbnN3ZXI7CisgICAgaWYg
KGxvY2FsRGVzY3JpcHRpb24tPnR5cGUoKSA9PSAicHJhbnN3ZXIiKQorICAgICAgICByZXR1cm4g
bV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZUhhdmVMb2NhbFByQW5zd2VyIHx8IG1f
c2lnbmFsaW5nU3RhdGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlUmVtb3RlT2ZmZXI7CisKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUlRDUGVlckNvbm5lY3Rpb246OnZhbGlkYXRlU2V0UmVt
b3RlRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKiByZW1vdGVEZXNjcmlwdGlvbikK
K3sKKyAgICBpZiAocmVtb3RlRGVzY3JpcHRpb24tPnR5cGUoKSA9PSAib2ZmZXIiKQorICAgICAg
ICByZXR1cm4gbV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZVN0YWJsZSB8fCBtX3Np
Z25hbGluZ1N0YXRlID09IFNpZ25hbGluZ1N0YXRlSGF2ZVJlbW90ZU9mZmVyOworICAgIGlmIChy
ZW1vdGVEZXNjcmlwdGlvbi0+dHlwZSgpID09ICJhbnN3ZXIiKQorICAgICAgICByZXR1cm4gbV9z
aWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZUhhdmVMb2NhbE9mZmVyIHx8IG1fc2lnbmFs
aW5nU3RhdGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlUmVtb3RlUHJBbnN3ZXI7CisgICAgaWYgKHJl
bW90ZURlc2NyaXB0aW9uLT50eXBlKCkgPT0gInByYW5zd2VyIikKKyAgICAgICAgcmV0dXJuIG1f
c2lnbmFsaW5nU3RhdGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlUmVtb3RlUHJBbnN3ZXIgfHwgbV9z
aWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZUhhdmVMb2NhbE9mZmVyOworCisgICAgcmV0
dXJuIGZhbHNlOworfQorCiB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzZXRMb2NhbERlc2NyaXB0
aW9uKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBwcnBTZXNzaW9uRGVzY3JpcHRp
b24sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8
UlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBFeGNlcHRpb25D
b2RlJiBlYykKIHsKICAgICBpZiAobV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZUNs
b3NlZCkgewpAQCAtMjIzLDYgKzI0OSwxMiBAQCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzZXRM
b2NhbERlc2NyaXB0aW9uKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBwcgogICAg
ICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKCF2YWxpZGF0ZVNldExvY2FsRGVzY3JpcHRp
b24oc2Vzc2lvbkRlc2NyaXB0aW9uLmdldCgpKSkgeworICAgICAgICBSZWZQdHI8RE9NRXJyb3I+
IGVycm9yID0gRE9NRXJyb3I6OmNyZWF0ZShSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmludmFs
aWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvck5hbWUoKSk7CisgICAgICAgIGNhbGxPbk1haW5UaHJl
YWQoYmluZCgmUlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudCwgZXJy
b3JDYWxsYmFjay5nZXQoKSwgZXJyb3IucmVsZWFzZSgpKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKICAgICBSZWZQdHI8UlRDVm9pZFJlcXVlc3RJbXBsPiByZXF1ZXN0ID0gUlRDVm9pZFJl
cXVlc3RJbXBsOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdWNjZXNzQ2FsbGJh
Y2ssIGVycm9yQ2FsbGJhY2spOwogICAgIG1fcGVlckhhbmRsZXItPnNldExvY2FsRGVzY3JpcHRp
b24ocmVxdWVzdC5yZWxlYXNlKCksIHNlc3Npb25EZXNjcmlwdGlvbi0+ZGVzY3JpcHRvcigpKTsK
IH0KQEAgLTI1Miw2ICsyODQsMTIgQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6c2V0UmVtb3Rl
RGVzY3JpcHRpb24oUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IHAKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAorICAgIGlmICghdmFsaWRhdGVTZXRSZW1vdGVEZXNjcmlwdGlvbihz
ZXNzaW9uRGVzY3JpcHRpb24uZ2V0KCkpKSB7CisgICAgICAgIFJlZlB0cjxET01FcnJvcj4gZXJy
b3IgPSBET01FcnJvcjo6Y3JlYXRlKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6aW52YWxpZFNl
c3Npb25EZXNjcmlwdGlvbkVycm9yTmFtZSgpKTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChi
aW5kKCZSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50LCBlcnJvckNh
bGxiYWNrLmdldCgpLCBlcnJvci5yZWxlYXNlKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KwogICAgIFJlZlB0cjxSVENWb2lkUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBSVENWb2lkUmVxdWVz
dEltcGw6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN1Y2Nlc3NDYWxsYmFjaywg
ZXJyb3JDYWxsYmFjayk7CiAgICAgbV9wZWVySGFuZGxlci0+c2V0UmVtb3RlRGVzY3JpcHRpb24o
cmVxdWVzdC5yZWxlYXNlKCksIHNlc3Npb25EZXNjcmlwdGlvbi0+ZGVzY3JpcHRvcigpKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uaAppbmRleCAwZThkYzNjNjAzNTMwMTc1OWM5MDg3ZmYzYjA4OWJiMmUwNGQzY2U4
Li42ZjMwMDhmOWEwZDUxOTVhNTIxMmE0OTE0MDE5Y2MyYWM4MmU1MDMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5o
CkBAIC0xNDksNiArMTQ5LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNoYW5nZUljZUdhdGhlcmlu
Z1N0YXRlKEljZUdhdGhlcmluZ1N0YXRlKTsKICAgICB2b2lkIGNoYW5nZUljZUNvbm5lY3Rpb25T
dGF0ZShJY2VDb25uZWN0aW9uU3RhdGUpOwogCisgICAgYm9vbCB2YWxpZGF0ZVNldExvY2FsRGVz
Y3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKik7CisgICAgYm9vbCB2YWxpZGF0ZVNldFJl
bW90ZURlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiopOworCiAgICAgU2lnbmFsaW5n
U3RhdGUgbV9zaWduYWxpbmdTdGF0ZTsKICAgICBJY2VHYXRoZXJpbmdTdGF0ZSBtX2ljZUdhdGhl
cmluZ1N0YXRlOwogICAgIEljZUNvbm5lY3Rpb25TdGF0ZSBtX2ljZUNvbm5lY3Rpb25TdGF0ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9j
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suY3Bw
CmluZGV4IDBjODA2NTk2YzdiYzAxNjY2Nzg1ODJjZTNkNWY0MDdjMTAwNzIyMGIuLjA5YTIxNTY3
NmM5YWYzNjY0NzkxYTNkOGY4YjZjNjAwMDA5MGVkNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNwcApAQCAtODAsNiArODAsMTcgQEAg
dm9pZCBJY2VDb25uZWN0aW9uTm90aWZpZXI6OmZpcmUoKQogICAgIG1fY2xpZW50LT5kaWRDaGFu
Z2VJY2VDb25uZWN0aW9uU3RhdGUobV9jb25uZWN0aW9uU3RhdGUpOwogfQogCitTaWduYWxpbmdT
dGF0ZU5vdGlmaWVyOjpTaWduYWxpbmdTdGF0ZU5vdGlmaWVyKFJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudCogY2xpZW50LCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlNpZ25h
bGluZ1N0YXRlIHNpZ25hbGluZ1N0YXRlKQorICAgIDogbV9jbGllbnQoY2xpZW50KQorICAgICwg
bV9zaWduYWxpbmdTdGF0ZShzaWduYWxpbmdTdGF0ZSkKK3sKK30KKwordm9pZCBTaWduYWxpbmdT
dGF0ZU5vdGlmaWVyOjpmaXJlKCkKK3sKKyAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlU2lnbmFsaW5n
U3RhdGUobV9zaWduYWxpbmdTdGF0ZSk7Cit9CisKIFJlbW90ZURhdGFDaGFubmVsTm90aWZpZXI6
OlJlbW90ZURhdGFDaGFubmVsTm90aWZpZXIoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50
KiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5oCmluZGV4IGVlMDVjMjRiZWRkMTFkYzg0
MDg4ZjBhMGIwY2ExZmMyZmI0YjZjMzguLmM1ZDVlY2QzNjMyYWVmYjA5ZDFhYWRkNTI1OWE5Zjky
NzhmMWQ0ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDTm90
aWZpZXJzTW9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZp
ZXJzTW9jay5oCkBAIC03Nyw2ICs3NywxNyBAQCBwcml2YXRlOgogICAgIFJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudDo6SWNlR2F0aGVyaW5nU3RhdGUgbV9nYXRoZXJpbmdTdGF0ZTsKIH07
CiAKK2NsYXNzIFNpZ25hbGluZ1N0YXRlTm90aWZpZXIgOiBwdWJsaWMgTW9ja05vdGlmaWVyIHsK
K3B1YmxpYzoKKyAgICBTaWduYWxpbmdTdGF0ZU5vdGlmaWVyKFJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudCosIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFsaW5nU3Rh
dGUpOworCisgICAgdm9pZCBmaXJlKCkgT1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAgUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBtX2NsaWVudDsKKyAgICBSVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXJDbGllbnQ6OlNpZ25hbGluZ1N0YXRlIG1fc2lnbmFsaW5nU3RhdGU7Cit9OworCiBj
bGFzcyBSZW1vdGVEYXRhQ2hhbm5lbE5vdGlmaWVyIDogcHVibGljIE1vY2tOb3RpZmllciB7CiBw
dWJsaWM6CiAgICAgUmVtb3RlRGF0YUNoYW5uZWxOb3RpZmllcihSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2suY3BwCmluZGV4IDZjMmQ1NWI2ZmNj
NjI5OTg2NWYwOGZhYmRiNDFlYTJhMmMxNjY5YzQuLmNhZTMxODYyNWJhYzVmMjg5ODFjZTEwNGM0
OGIzYzEyYmJkMzMxNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrLmNwcApAQCAtODcsMzAgKzg3
LDUwIEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jazo6Y3JlYXRlQW5zd2VyKFBh
c3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uCiAgICAgbV90aW1lckV2ZW50cy5hcHBlbmQo
YWRvcHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywgbm90aWZpZXIpKSk7CiB9CiAKK1JUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFsaW5nU3RhdGUgUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyTW9jazo6c2lnbmFsaW5nU3RhdGVGcm9tU0RQKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3IqIGRlc2NyaXB0b3IpCit7CisgICAgaWYgKGRlc2NyaXB0b3ItPnR5cGUoKSA9PSAi
b2ZmZXIiICYmIGRlc2NyaXB0b3ItPnNkcCgpID09ICJsb2NhbCIpCisgICAgICAgIHJldHVybiBS
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlNpZ25hbGluZ1N0YXRlSGF2ZUxvY2FsT2Zm
ZXI7CisgICAgaWYgKGRlc2NyaXB0b3ItPnR5cGUoKSA9PSAib2ZmZXIiICYmIGRlc2NyaXB0b3It
PnNkcCgpID09ICJyZW1vdGUiKQorICAgICAgICByZXR1cm4gUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyQ2xpZW50OjpTaWduYWxpbmdTdGF0ZUhhdmVSZW1vdGVPZmZlcjsKKyAgICBpZiAoZGVzY3Jp
cHRvci0+dHlwZSgpID09ICJwcmFuc3dlciIgJiYgZGVzY3JpcHRvci0+c2RwKCkgPT0gImxvY2Fs
IikKKyAgICAgICAgcmV0dXJuIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFs
aW5nU3RhdGVIYXZlTG9jYWxQckFuc3dlcjsKKyAgICBpZiAoZGVzY3JpcHRvci0+dHlwZSgpID09
ICJwcmFuc3dlciIgJiYgZGVzY3JpcHRvci0+c2RwKCkgPT0gInJlbW90ZSIpCisgICAgICAgIHJl
dHVybiBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlNpZ25hbGluZ1N0YXRlSGF2ZVJl
bW90ZVByQW5zd2VyOworCisgICAgcmV0dXJuIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVu
dDo6U2lnbmFsaW5nU3RhdGVTdGFibGU7Cit9CisKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyTW9jazo6c2V0TG9jYWxEZXNjcmlwdGlvbihQYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0PiBy
ZXF1ZXN0LCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IGRlc2Ny
aXB0b3IpCiB7Ci0gICAgUmVmUHRyPFZvaWRSZXF1ZXN0Tm90aWZpZXI+IG5vdGlmaWVyOworICAg
IFJlZlB0cjxWb2lkUmVxdWVzdE5vdGlmaWVyPiB2b2lkTm90aWZpZXI7CisgICAgUmVmUHRyPFNp
Z25hbGluZ1N0YXRlTm90aWZpZXI+IHNpZ25hbGluZ05vdGlmaWVyOwogICAgIGlmICghZGVzY3Jp
cHRvci5nZXQoKSB8fCBkZXNjcmlwdG9yLT5zZHAoKSAhPSAibG9jYWwiKQotICAgICAgICBub3Rp
ZmllciA9IGFkb3B0UmVmKG5ldyBWb2lkUmVxdWVzdE5vdGlmaWVyKHJlcXVlc3QsIGZhbHNlKSk7
CisgICAgICAgIHZvaWROb3RpZmllciA9IGFkb3B0UmVmKG5ldyBWb2lkUmVxdWVzdE5vdGlmaWVy
KHJlcXVlc3QsIGZhbHNlLCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmludGVybmFsRXJyb3JO
YW1lKCkpKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9sb2NhbFNlc3Npb25EZXNjcmlwdGlvbiA9
IGRlc2NyaXB0b3I7Ci0gICAgICAgIG5vdGlmaWVyID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1ZXN0
Tm90aWZpZXIocmVxdWVzdCwgdHJ1ZSkpOworICAgICAgICBzaWduYWxpbmdOb3RpZmllciA9IGFk
b3B0UmVmKG5ldyBTaWduYWxpbmdTdGF0ZU5vdGlmaWVyKG1fY2xpZW50LCBzaWduYWxpbmdTdGF0
ZUZyb21TRFAobV9sb2NhbFNlc3Npb25EZXNjcmlwdGlvbi5nZXQoKSkpKTsKKyAgICAgICAgdm9p
ZE5vdGlmaWVyID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVxdWVzdCwgdHJ1
ZSkpOworICAgICAgICBtX3RpbWVyRXZlbnRzLmFwcGVuZChhZG9wdFJlZihuZXcgVGltZXJFdmVu
dCh0aGlzLCBzaWduYWxpbmdOb3RpZmllcikpKTsKICAgICB9CiAKLSAgICBtX3RpbWVyRXZlbnRz
LmFwcGVuZChhZG9wdFJlZihuZXcgVGltZXJFdmVudCh0aGlzLCBub3RpZmllcikpKTsKKyAgICBt
X3RpbWVyRXZlbnRzLmFwcGVuZChhZG9wdFJlZihuZXcgVGltZXJFdmVudCh0aGlzLCB2b2lkTm90
aWZpZXIpKSk7CiB9CiAKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jazo6c2V0UmVt
b3RlRGVzY3JpcHRpb24oUGFzc1JlZlB0cjxSVENWb2lkUmVxdWVzdD4gcmVxdWVzdCwgUGFzc1Jl
ZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBkZXNjcmlwdG9yKQogewotICAg
IFJlZlB0cjxWb2lkUmVxdWVzdE5vdGlmaWVyPiBub3RpZmllcjsKKyAgICBSZWZQdHI8Vm9pZFJl
cXVlc3ROb3RpZmllcj4gdm9pZE5vdGlmaWVyOworICAgIFJlZlB0cjxTaWduYWxpbmdTdGF0ZU5v
dGlmaWVyPiBzaWduYWxpbmdOb3RpZmllcjsKICAgICBpZiAoIWRlc2NyaXB0b3IuZ2V0KCkgfHwg
ZGVzY3JpcHRvci0+c2RwKCkgIT0gInJlbW90ZSIpCi0gICAgICAgIG5vdGlmaWVyID0gYWRvcHRS
ZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVxdWVzdCwgZmFsc2UpKTsKKyAgICAgICAgdm9p
ZE5vdGlmaWVyID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVxdWVzdCwgZmFs
c2UsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6aW50ZXJuYWxFcnJvck5hbWUoKSkpOwogICAg
IGVsc2UgewogICAgICAgICBtX3JlbW90ZVNlc3Npb25EZXNjcmlwdGlvbiA9IGRlc2NyaXB0b3I7
Ci0gICAgICAgIG5vdGlmaWVyID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVx
dWVzdCwgdHJ1ZSkpOworICAgICAgICBzaWduYWxpbmdOb3RpZmllciA9IGFkb3B0UmVmKG5ldyBT
aWduYWxpbmdTdGF0ZU5vdGlmaWVyKG1fY2xpZW50LCBzaWduYWxpbmdTdGF0ZUZyb21TRFAobV9y
ZW1vdGVTZXNzaW9uRGVzY3JpcHRpb24uZ2V0KCkpKSk7CisgICAgICAgIHZvaWROb3RpZmllciA9
IGFkb3B0UmVmKG5ldyBWb2lkUmVxdWVzdE5vdGlmaWVyKHJlcXVlc3QsIHRydWUpKTsKKyAgICAg
ICAgbV90aW1lckV2ZW50cy5hcHBlbmQoYWRvcHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywgc2ln
bmFsaW5nTm90aWZpZXIpKSk7CiAgICAgfQogCi0gICAgbV90aW1lckV2ZW50cy5hcHBlbmQoYWRv
cHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywgbm90aWZpZXIpKSk7CisgICAgbV90aW1lckV2ZW50
cy5hcHBlbmQoYWRvcHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywgdm9pZE5vdGlmaWVyKSkpOwog
fQogCiBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlck1vY2s6OmxvY2FsRGVzY3JpcHRpb24oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1v
Y2suaAppbmRleCBmMjg1ZDdhMjEyY2E1YjM4MzU2ZTJjNjJjM2U0NGU1ZmIzN2I0ZmFmLi43ODgw
MjhiMmRkYjAyZDZlMTk1YmY2ZTgwMTlmNGZiNTQ5NWU0Y2MxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1v
Y2suaApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNs
dWRlICJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCIKKyNpbmNsdWRlICJSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDbGllbnQuaCIKICNpbmNsdWRlICJSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yLmgiCiAjaW5jbHVkZSAiVGltZXJFdmVudEJhc2VkTW9jay5oIgogCkBAIC02MCw2ICs2
MSw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2Nr
KFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCopOwogCiBwcml2YXRlOgorICAgIFJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFsaW5nU3RhdGUgc2lnbmFsaW5nU3RhdGVG
cm9tU0RQKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IqKTsKICAgICBSVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQqIG1fY2xpZW50OwogCiAgICAgUmVmUHRyPFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3I+IG1fbG9jYWxTZXNzaW9uRGVzY3JpcHRpb247CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MTU4MjMwODhmZGVmYjEyZmI2NzAwNTdlYjI1ZjNiNWZmNGQ3ODM1ZS4uOTM5NDljZTQzZjEwNjk0
MTY2N2FkYzZjOWIxMWZlMTA1NzhhMmI5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTEy
LTEyICBUaGlhZ28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eu
b3JnPgorCisgICAgICAgIENoZWNraW5nIFJUQ1BlZXJDb25uZWN0aW9uIHNpZ25hbGluZ1N0YXRl
IGJlZm9yZSBzZXR0aW5nIGxvY2FsL3JlbW90ZURlc2NyaXB0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU2NTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZWZvcmUgc2V0dGluZyBhIHNlc3Npb24g
ZGVzY3JpcHRpb24gUlRDUGVlckNvbm5lY3Rpb24gbXVzdCBjaGVjayBpZiBpdCBpcyBpbiB2YWxp
ZCBzdGF0ZSBmb3IgdGhhdCBTRFAgdHlwZS4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1hbnN3ZXIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLW9mZmVyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1oYXZlLWxvY2FsLW9mZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1wcmFuc3dlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
aGF2ZS1sb2NhbC1wcmFuc3dlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLW9mZmVyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLXJl
bW90ZS1vZmZlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1w
cmFuc3dlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLXJlbW90ZURlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZURlc2NyaXB0aW9uLmh0bWw6Cisg
ICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGFibGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLXN0YWJsZS5odG1sOiBBZGRlZC4KKwogMjAxMy0xMi0xMiAgQWxleGV5IFByb3NrdXJ5YWtv
diAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgUlNBRVMtUEtDUzEt
djFfNQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1oYXZlLWxvY2FsLWFuc3dlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLWFuc3dlci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhiNzI0ZjNhMDRiNWI0ZDJhMzIwNmJlOTJkNTQxYTMwZWY5OGVkMWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUt
bG9jYWwtYW5zd2VyLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBkZXNj
cmlwdGlvbigiVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gcmVtb3RlRGVzY3JpcHRpb24uIik7CisK
KyAgICAgICAgICAgIHZhciBwYyA9IG51bGw7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVl
c3RGYWlsZWQ0KHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJl
YXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNj
cmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29u
Lm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAg
ICAgICBjaGVjaygicHJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZl
LWxvY2FsLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFzb24p
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247Cisg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLicp
OworICAgICAgICAgICAgICAgIHNob3VsZEJlKCdlcnJvclJlYXNvbi5uYW1lJywgJyJJbnZhbGlk
U2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiJyk7CisgICAgICAgICAgICAgICAgY2hlY2soInByYW5z
d2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFuc3dlciIn
KTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uKHt0eXBlOiJwcmFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAg
ICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3Jp
cHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkNCk7Jyk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQyKHJlYXNvbikKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9u
RGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3ZXIiLCAi
bG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicpOworICAg
ICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRp
b24oe3R5cGU6ImFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3Vs
ZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZp
bmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRp
b25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3ZXIiLCAibG9jYWwiLCAi
b2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicpOworICAgICAgICAgICAg
ICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6
Im9mZmVyIiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3co
J3BjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNj
ZWVkZWQsIHJlcXVlc3RGYWlsZWQyKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIHRlc3RQYXNzZWQoJ3NldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAg
ICAgICAgICAgIGNoZWNrKCJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJz
dGFibGUiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAg
ICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNj
cmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsnKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDEoKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9u
IHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICJvZmZlciIsICJy
ZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25E
ZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFuc3dlciIsIHNk
cDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2Fs
RGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMiwgZmluaXNo
SWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBmaW5p
c2hJZlN1Y2NlZWRlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdEZhaWxl
ZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBmaW5p
c2hJZkZhaWxlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgn
c2V0UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLicpOworICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBjaGVjayhsb2Nh
bFR5cGUsIGxvY2FsU2RwLCByZW1vdGVUeXBlLCByZW1vdGVTZHAsIHNpZ25hbGluZ1N0YXRlKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChsb2NhbFR5cGUgIT09ICIiICYmIGxv
Y2FsU2RwICE9PSAiIikgeworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24udHlwZScsIGxvY2FsVHlwZSk7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGMubG9jYWxEZXNjcmlwdGlvbi5zZHAnLCBs
b2NhbFNkcCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChyZW1vdGVU
eXBlICE9PSAiIiAmJiByZW1vdGVTZHAgIT09ICIiKSB7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygncGMucmVtb3RlRGVzY3JpcHRpb24udHlwZScsIHJlbW90ZVR5
cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90
ZURlc2NyaXB0aW9uLnNkcCcsIHJlbW90ZVNkcCk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsIHNpZ25hbGluZ1N0YXRlKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5l
Y3Rpb24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxp
bmdTdGF0ZScsICcic3RhYmxlIicpOworICAgICAgICAgICAgdmFyIHNlc3Npb25EZXNjcmlwdGlv
biA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJyZW1vdGUi
fSk7CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24o
c2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgZmluaXNoSWZGYWlsZWQpOycp
OworCisgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgICAg
ICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtb2ZmZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZl
LWxvY2FsLW9mZmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2ViODQ3M2E4YjBlNWZhYWZm
OGEwNWJhMTY3OTNjZWM3ZDZlOTJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLW9mZmVyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDY2IEBACitUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBpbiBoYXZlLWxv
Y2FsLW9mZmVyIHN0YXRlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBw
Yy5zaWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9u
KHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gc3VjY2Vl
ZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5s
b2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9u
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24g
MTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLW9mZmVyIgorUEFTUyBw
Yy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVk
ZWQsIHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExv
Y2FsRGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZhbGlk
U2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBp
cyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1Mg
cGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUt
bG9jYWwtb2ZmZXIiCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0
aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDIpOyBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVh
c29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9j
YWxEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5z
ZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24g
RXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5zaWdu
YWxpbmdTdGF0ZSBpcyAiaGF2ZS1sb2NhbC1vZmZlciIKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3Jp
cHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxl
ZDMpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVtb3RlRGVzY3JpcHRpb24g
ZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0
aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNT
IHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3Jp
cHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtbG9jYWwtb2ZmZXIiCitQ
QVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3Vj
Y2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
c2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24u
dHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIK
K1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlk
U3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMg
ImhhdmUtbG9jYWwtb2ZmZXIiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25E
ZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDMsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BB
U1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMubG9jYWxEZXNj
cmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlz
ICJwcmFuc3dlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQ
QVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1wcmFuc3dlciIKK1BBU1MgcGMu
bG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9y
OiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbiB0aHJldyBleGNl
cHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBw
Yy5zaWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9u
KHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZpbmlzaElmRmFpbGVkKTsg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gc3VjY2Vl
ZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5s
b2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9u
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24g
MTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLW9mZmVyIgorUEFTUyBw
Yy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVk
ZWQ1LCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRS
ZW1vdGVEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlw
ZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BB
U1MgcGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAiYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVE
ZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgInN0
YWJsZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWhhdmUtbG9jYWwtb2ZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1vZmZlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3Mzk4
OTVlM2U3ZjBjYmMyYWM1N2ZkMzA2NmRiZDMwN2VkNGJiODEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwt
b2ZmZXIuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBpbiBoYXZlLWxvY2FsLW9mZmVyIHN0YXRlLiIpOwor
CisgICAgICAgICAgICB2YXIgcGMgPSBudWxsOworCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1
ZXN0U3VjY2VlZGVkNSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNo
ZWNrKCJvZmZlciIsICJsb2NhbCIsICJhbnN3ZXIiLCAicmVtb3RlIiwgJyJzdGFibGUiJyk7Cisg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQ0KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAg
ICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICciaGF2ZS1sb2Nh
bC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAg
ICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lv
bkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkNSwgZmluaXNoSWZGYWlsZWQpOycpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMygpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3Jp
cHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2Nh
bCIsICJwcmFuc3dlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLXByYW5zd2VyIicpOworICAg
ICAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJz
OltdfSk7CisgICAgICAgICAgICAgICAgY2hlY2soIiIsICIiLCAiIiwgIiIsICcic3RhYmxlIicp
OworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVz
Y3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgICAgICBz
aG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24s
IHJlcXVlc3RTdWNjZWVkZWQ0LCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQyKCkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRl
ZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICci
aGF2ZS1sb2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24g
PSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJwcmFuc3dlciIsIHNkcDoicmVtb3Rl
In0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlw
dGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQzLCBmaW5pc2hJZkZhaWxl
ZCk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWls
ZWQzKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9
IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlv
biBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUn
LCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBj
aGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICciaGF2ZS1sb2NhbC1vZmZlciInKTsKKyAg
ICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxk
Tm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1
ZXN0U3VjY2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMihyZWFzb24pCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25F
cnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIs
ICciaGF2ZS1sb2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRp
b24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3Rl
In0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlw
dGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVk
Myk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWls
ZWQxKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9
IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9u
IGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgnZXJyb3JSZWFzb24ubmFtZScs
ICciSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicpOworICAgICAgICAgICAgICAgIGNo
ZWNrKCJvZmZlciIsICJsb2NhbCIsICIiLCAiIiwgJyJoYXZlLWxvY2FsLW9mZmVyIicpOworICAg
ICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRp
b24oe3R5cGU6InByYW5zd2VyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgICAgICBzaG91
bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZp
bmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7Jyk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQxKCkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4n
KTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICciaGF2
ZS1sb2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBu
ZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6ImxvY2FsIn0pOwor
ICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNl
c3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsnKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQo
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURl
c2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2Ny
aXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNk
cCwgcmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIp
IHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERl
c2NyaXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywgbG9jYWxTZHApOworICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCdw
Yy5sb2NhbERlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGlmIChyZW1vdGVUeXBlICE9PSAiIiAmJiByZW1vdGVTZHAgIT09ICIiKSB7CisgICAgICAgICAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGMucmVtb3RlRGVzY3JpcHRpb24udHlw
ZScsIHJlbW90ZVR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCcsIHJlbW90ZVNkcCk7CisgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkVGhyb3coJ3BjLnJlbW90ZURl
c2NyaXB0aW9uJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNob3VsZEJl
KCdwYy5zaWduYWxpbmdTdGF0ZScsIHNpZ25hbGluZ1N0YXRlKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6
W119KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsICcic3RhYmxl
IicpOworICAgICAgICAgICAgdmFyIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9u
RGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgIHNo
b3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwg
cmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsnKTsKKworICAgICAgICAgICAgd2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAgICAgd2luZG93LnN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1oYXZlLWxvY2FsLXByYW5zd2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1wcmFuc3dlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGU4OWYyZmU2YzFiODg1YmFkYjQyNjA4YjNlOGE5NTM0
Y2Y4MGQ1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1wcmFuc3dlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2OCBAQAorVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gaGF2ZS1sb2NhbC1wcmFuc3dl
ciBzdGF0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcGMuc2lnbmFs
aW5nU3RhdGUgaXMgInN0YWJsZSIKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lv
bkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLgor
UEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3Rl
RGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJo
YXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVz
Y3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1Mg
cGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNj
cmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlz
ICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNT
IHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBwYy5zZXRM
b2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDMsIGZp
bmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVz
Y3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgInBy
YW5zd2VyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBj
LnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlw
dGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtbG9j
YWwtcHJhbnN3ZXIiCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0
aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDEpOyBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVh
c29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9j
YWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlv
bi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZl
ciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNp
Z25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVE
ZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0
RmFpbGVkMik7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlw
dGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVz
Y3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dl
ciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1v
dGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24u
c2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXBy
YW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24s
IGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7IGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29u
Lm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxE
ZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5z
ZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIK
K1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25h
bGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNj
cmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFp
bGVkNCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlv
biBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3Jp
cHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIK
K1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVE
ZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2Rw
IGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5z
d2VyIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVx
dWVzdFN1Y2NlZWRlZDQsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2Ny
aXB0aW9uLnR5cGUgaXMgImFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMg
ImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1Mg
cGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0
YXRlIGlzICJzdGFibGUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLXByYW5zd2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtcHJhbnN3ZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44N2I2ODYzNjk4OTA5OWI4MDYzYTZkZmU4MDU3ZTYzZDZhYjNiODY1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi1oYXZlLWxvY2FsLXByYW5zd2VyLmh0bWwKQEAgLTAsMCArMSwxMTggQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gaGF2ZS1sb2Nh
bC1wcmFuc3dlciBzdGF0ZS4iKTsKKworICAgICAgICAgICAgdmFyIHBjID0gbnVsbDsKKworICAg
ICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDQoKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLicp
OworICAgICAgICAgICAgICAgIGNoZWNrKCJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVt
b3RlIiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQ0KHJlYXNvbikK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRT
ZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3
ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicp
OworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVz
Y3JpcHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAg
c2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9u
LCByZXF1ZXN0U3VjY2VlZGVkNCwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFzb24pCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLicpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCdlcnJvclJlYXNvbi5uYW1lJywgJyJJbnZhbGlkU2Vzc2lvbkRlc2Ny
aXB0aW9uRXJyb3IiJyk7CisgICAgICAgICAgICAgICAgY2hlY2soInByYW5zd2VyIiwgImxvY2Fs
IiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFuc3dlciInKTsKKyAgICAgICAg
ICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0
eXBlOiJwcmFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5v
dFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlz
aElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkNCk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQyKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25F
cnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3ZXIiLCAibG9jYWwiLCAib2Zm
ZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAg
IHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFu
c3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdw
Yy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2Vl
ZGVkLCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdz
ZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgn
ZXJyb3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicpOwor
ICAgICAgICAgICAgICAgIGNoZWNrKCJwcmFuc3dlciIsICJsb2NhbCIsICJvZmZlciIsICJyZW1v
dGUiLCAnImhhdmUtbG9jYWwtcHJhbnN3ZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRl
c2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6
InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3Rl
RGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVz
dEZhaWxlZDIpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1
ZXN0U3VjY2VlZGVkMygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hl
Y2soInByYW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1w
cmFuc3dlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAg
ICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRl
c2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDEpOycpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMigpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlv
biBzdWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hlY2soInByYW5zd2VyIiwgImxvY2Fs
IiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFuc3dlciInKTsKKyAgICAgICAg
ICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0
eXBlOiJwcmFuc3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90
VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0
U3VjY2VlZGVkMywgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMSgpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOwor
ICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1y
ZW1vdGUtb2ZmZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3
IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3ZXIiLCBzZHA6ImxvY2FsIn0pOwor
ICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNl
c3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDIsIGZpbmlzaElmRmFpbGVkKTsnKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQo
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURl
c2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2Ny
aXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNk
cCwgcmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIp
IHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERl
c2NyaXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywgbG9jYWxTZHApOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAocmVtb3RlVHlwZSAhPT0gIiIgJiYg
cmVtb3RlU2RwICE9PSAiIikgeworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUnLCByZW1vdGVUeXBlKTsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi5z
ZHAnLCByZW1vdGVTZHApOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzaG91
bGRCZSgncGMuc2lnbmFsaW5nU3RhdGUnLCBzaWduYWxpbmdTdGF0ZSk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2
ZXJzOltdfSk7CisgICAgICAgICAgICBzaG91bGRCZSgncGMuc2lnbmFsaW5nU3RhdGUnLCAnInN0
YWJsZSInKTsKKyAgICAgICAgICAgIHZhciBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAg
ICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlw
dGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsnKTsKKworICAgICAgICAg
ICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAgICAgd2luZG93LnN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1vZmZlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLW9mZmVy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTc0OGFlNzNkNzUwOWFjMTA0YzI2MDI3NzQ3YmNh
MDNjNWQ1NzYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1vZmZlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2NiBAQAorVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gaGF2ZS1yZW1vdGUtb2ZmZXIg
c3RhdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHBjLnNpZ25hbGlu
Z1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25E
ZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BB
U1MgcGMubG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0
ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBl
IGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQ
QVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0
TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCBy
ZXF1ZXN0RmFpbGVkMSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERl
c2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Np
b25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBj
LnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlw
dGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtcmVt
b3RlLW9mZmVyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRp
b24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7IGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVh
c29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9j
YWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBE
T00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZl
ciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNp
Z25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0UmVtb3RlRGVz
Y3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZh
aWxlZDMpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVtb3RlRGVzY3JpcHRp
b24gZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZhbGlkU2Vzc2lvbkRlc2Ny
aXB0aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMucmVtb3Rl
RGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNk
cCBpcyAicmVtb3RlIgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1yZW1vdGUtb2Zm
ZXIiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVx
dWVzdFN1Y2NlZWRlZDIsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNj
cmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhj
ZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BB
U1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGlu
Z1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlv
bihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQzLCBmaW5pc2hJZkZhaWxlZCk7
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2Nl
ZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJhbnN3ZXIiCitQQVNTIHBj
LmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRp
b24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCBpcyAicmVt
b3RlIgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgorUEFTUyBwYy5sb2NhbERl
c2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBF
eGNlcHRpb24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNpZ25h
bGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Np
b25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4K
K1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRT
dGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50
eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUi
CitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMu
c2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQ1
LCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2Nh
bERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlz
ICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFT
UyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVz
Y3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZl
LWxvY2FsLXByYW5zd2VyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUtb2ZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUtb2ZmZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNGJjMGEzZDAwNTI2NTY3MTA2OTRkMDQyN2RmYmNkN2U4MjQ4YWJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi1oYXZlLXJlbW90ZS1vZmZlci5odG1sCkBAIC0wLDAgKzEsMTIyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAg
ICAgZGVzY3JpcHRpb24oIlRlc3RzIFJUQ1BlZXJDb25uZWN0aW9uIGluIGhhdmUtcmVtb3RlLW9m
ZmVyIHN0YXRlLiIpOworCisgICAgICAgICAgICB2YXIgcGMgPSBudWxsOworCisgICAgICAgICAg
ICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkNSgpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAg
ICAgICAgICAgICAgY2hlY2soInByYW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIs
ICciaGF2ZS1sb2NhbC1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRl
ZDQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90
ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIs
ICJvZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAgICAg
ICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6
InByYW5zd2VyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJv
dygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNj
ZWVkZWQ1LCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQzKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAg
ICAgICAgICAgICBjaGVjaygiYW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICci
c3RhYmxlIicpOworICAgICAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0
aW9uKHtpY2VTZXJ2ZXJzOltdfSk7CisgICAgICAgICAgICAgICAgY2hlY2soIiIsICIiLCAiIiwg
IiIsICcic3RhYmxlIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5l
dyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJyZW1vdGUifSk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNl
c3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZpbmlzaElmRmFpbGVkKTsnKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDIo
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURl
c2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICJv
ZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAgICAgICAg
IHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFu
c3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3Bj
LnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVk
MywgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0
UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLicpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCdl
cnJvclJlYXNvbi5uYW1lJywgJyJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiJyk7Cisg
ICAgICAgICAgICAgICAgY2hlY2soIiIsICIiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLXJl
bW90ZS1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcg
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3RlIn0pOworICAg
ICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNz
aW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCBmaW5pc2hJZkZhaWxlZCk7Jyk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQyKHJlYXNv
bikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsK
KyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQu
Jyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFs
aWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwg
IiIsICJvZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAg
ICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5
cGU6ImFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRo
cm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElm
U3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91
bGRCZSgnZXJyb3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9y
IicpOworICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIm9mZmVyIiwgInJlbW90ZSIsICci
aGF2ZS1yZW1vdGUtb2ZmZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9u
ID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3ZXIiLCBzZHA6InJlbW90
ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3Jp
cHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxl
ZDIpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3Vj
Y2VlZGVkMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0
UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNrKCIi
LCAiIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1yZW1vdGUtb2ZmZXIiJyk7CisgICAgICAg
ICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7
dHlwZToib2ZmZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRo
cm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZT
dWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQoKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVu
Y3Rpb24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNkcCwgcmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBz
aWduYWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAobG9jYWxU
eXBlICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVz
Y3JpcHRpb24uc2RwJywgbG9jYWxTZHApOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCdwYy5sb2NhbERlc2NyaXB0aW9uJyk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChyZW1vdGVUeXBlICE9PSAiIiAmJiBy
ZW1vdGVTZHAgIT09ICIiKSB7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygncGMucmVtb3RlRGVzY3JpcHRpb24udHlwZScsIHJlbW90ZVR5cGUpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnNk
cCcsIHJlbW90ZVNkcCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgc2hvdWxkVGhyb3coJ3BjLnJlbW90ZURlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsIHNpZ25h
bGluZ1N0YXRlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcGMgPSBuZXcgd2Via2l0
UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAgICAgICAgIHNob3VsZEJl
KCdwYy5zaWduYWxpbmdTdGF0ZScsICcic3RhYmxlIicpOworICAgICAgICAgICAgdmFyIHNlc3Np
b25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwg
c2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3Rl
RGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgZmluaXNo
SWZGYWlsZWQpOycpOworCisgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLXBy
YW5zd2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUtcHJhbnN3ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg4NzcwYzVkYzU0OWZiYzljYjRhMzA1Y2M5NmFmMjU1MmEzMjRiYzcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUt
cmVtb3RlLXByYW5zd2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4IEBACitUZXN0cyBSVENQ
ZWVyQ29ubmVjdGlvbiBpbiBoYXZlLXJlbW90ZS1wcmFuc3dlciBzdGF0ZS4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgInN0YWJsZSIK
K1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RT
dWNjZWVkZWQxLCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlv
bi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2Fs
IgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1sb2NhbC1vZmZlciIKK1BBU1MgcGMu
c2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVk
MiwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVt
b3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUg
aXMgIm9mZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNT
IHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgInByYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVE
ZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhh
dmUtcmVtb3RlLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9u
RGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQzLCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQ
QVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVz
Y3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBp
cyAicHJhbnN3ZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCBpcyAicmVtb3RlIgor
UEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1yZW1vdGUtcHJhbnN3ZXIiCitQQVNTIHBj
LnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVk
ZWQsIHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJl
bW90ZURlc2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxp
ZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUg
aXMgIm9mZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNT
IHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgInByYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVE
ZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhh
dmUtcmVtb3RlLXByYW5zd2VyIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25E
ZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQyKTsgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBl
cnJvclJlYXNvbi5uYW1lIGlzICJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNT
IHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3Jp
cHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAi
cHJhbnN3ZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCBpcyAicmVtb3RlIgorUEFT
UyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1yZW1vdGUtcHJhbnN3ZXIiCitQQVNTIHBjLnNl
dExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwg
cmVxdWVzdEZhaWxlZDMpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0TG9jYWxE
ZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNz
aW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJv
ZmZlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5y
ZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMucmVtb3RlRGVzY3Jp
cHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJl
bW90ZS1wcmFuc3dlciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3Jp
cHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkNCk7IGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JS
ZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5s
b2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9u
LnNkcCBpcyAibG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgInByYW5z
d2VyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMu
c2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtcmVtb3RlLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1v
dGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQ0LCBmaW5p
c2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNj
cmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2Zm
ZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVt
b3RlRGVzY3JpcHRpb24udHlwZSBpcyAiYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlv
bi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgInN0YWJsZSIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUt
cmVtb3RlLXByYW5zd2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE2OTNj
ZDk2ODgyYmIwNTJjNGU1NmExN2NmNDU2MTViNTk4MGMyNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUt
cHJhbnN3ZXIuaHRtbApAQCAtMCwwICsxLDExOCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBpbiBoYXZlLXJlbW90ZS1wcmFuc3dlciBzdGF0
ZS4iKTsKKworICAgICAgICAgICAgdmFyIHBjID0gbnVsbDsKKworICAgICAgICAgICAgZnVuY3Rp
b24gcmVxdWVzdFN1Y2NlZWRlZDQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAg
ICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiYW5zd2VyIiwgInJlbW90ZSIsICcic3RhYmxl
IicpOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkNChyZWFzb24pCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRp
b25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAicHJh
bnN3ZXIiLCAicmVtb3RlIiwgJyJoYXZlLXJlbW90ZS1wcmFuc3dlciInKTsKKyAgICAgICAgICAg
ICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBl
OiJhbnN3ZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJv
dygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3Vj
Y2VlZGVkNCwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIn
KTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAicHJhbnN3ZXIiLCAi
cmVtb3RlIiwgJyJoYXZlLXJlbW90ZS1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAgICBzZXNz
aW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJwcmFuc3dl
ciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNl
dExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwg
cmVxdWVzdEZhaWxlZDQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlv
biByZXF1ZXN0RmFpbGVkMihyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9j
YWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9y
UmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAg
ICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAicHJhbnN3ZXIiLCAicmVtb3RlIiwg
JyJoYXZlLXJlbW90ZS1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3Jp
cHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6Imxv
Y2FsIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2Ny
aXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWls
ZWQzKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdEZh
aWxlZDEocmVhc29uKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVycm9yUmVhc29u
ID0gcmVhc29uOworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0
aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgnZXJyb3JSZWFzb24ubmFt
ZScsICciSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicpOworICAgICAgICAgICAgICAg
IGNoZWNrKCJvZmZlciIsICJsb2NhbCIsICJwcmFuc3dlciIsICJyZW1vdGUiLCAnImhhdmUtcmVt
b3RlLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5l
dyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJsb2NhbCJ9KTsKKyAg
ICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNz
aW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7Jyk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQzKCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNj
cmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hlY2soIm9mZmVyIiwgImxv
Y2FsIiwgInByYW5zd2VyIiwgInJlbW90ZSIsICciaGF2ZS1yZW1vdGUtcHJhbnN3ZXIiJyk7Cisg
ICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbih7dHlwZToib2ZmZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91
bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBm
aW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDEpOycpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMigpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVk
LicpOworICAgICAgICAgICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2NhbCIsICJwcmFuc3dlciIs
ICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIHNl
c3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6InByYW5z
d2VyIiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3Bj
LnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRl
ZDMsIGZpbmlzaElmRmFpbGVkKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVu
Y3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDEoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoJ3NldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAg
ICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2NhbCIsICIiLCAiIiwgJyJoYXZlLWxvY2FsLW9mZmVy
IicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9u
RGVzY3JpcHRpb24oe3R5cGU6InByYW5zd2VyIiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAg
ICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNj
cmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDIsIGZpbmlzaElmRmFpbGVkKTsnKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQoKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9u
IHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZh
aWxlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNkcCwgcmVtb3Rl
VHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIpIHsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERlc2NyaXB0aW9u
LnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywgbG9jYWxTZHApOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBpZiAocmVtb3RlVHlwZSAhPT0gIiIgJiYgcmVtb3RlU2Rw
ICE9PSAiIikgeworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Bj
LnJlbW90ZURlc2NyaXB0aW9uLnR5cGUnLCByZW1vdGVUeXBlKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAnLCByZW1v
dGVTZHApOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzaG91bGRCZSgncGMu
c2lnbmFsaW5nU3RhdGUnLCBzaWduYWxpbmdTdGF0ZSk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSk7
CisgICAgICAgICAgICBzaG91bGRCZSgncGMuc2lnbmFsaW5nU3RhdGUnLCAnInN0YWJsZSInKTsK
KyAgICAgICAgICAgIHZhciBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICBzaG91bGRO
b3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVl
c3RTdWNjZWVkZWQxLCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisKKyAgICAgICAgICAgIHdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgICAgIHdpbmRvdy5zdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24tcmVtb3RlRGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi1leHBlY3RlZC50
eHQKaW5kZXggZWVmMmVkMWJmM2IyYTA2OTljYjdlMTgyY2U1OGQ4YzgxNDY0OWE4OS4uMjI3YWFh
OWFlODk2OGE1MDhmYzRkZDMyYTNlMTliOTY0ZTFmMGMwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi1leHBlY3RlZC50eHQKQEAgLTcsOSArNyw5IEBAIFBB
U1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3Vj
Y2VlZGVkMSwgcmVxdWVzdEZhaWxlCiBQQVNTIHJlcXVlc3RTdWNjZWVkZWQgd2FzIGNhbGxlZC4K
IFBBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0
U3VjY2VlZGVkMiwgcmVxdWVzdEZhaWxlZDIpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBB
U1MgcmVxdWVzdEZhaWxlZCB3YXMgY2FsbGVkLgotUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50
eXBlIGlzICJhbnN3ZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVy
IgogUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKLVBBU1MgcGMucmVt
b3RlRGVzY3JpcHRpb24udHlwZSBpcyAiYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlv
bi50eXBlIGlzICJvZmZlciIKIFBBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1v
dGUiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlRGVzY3JpcHRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
cmVtb3RlRGVzY3JpcHRpb24uaHRtbAppbmRleCA4NWQ0ODA3OTA5NjM5NTA4NTQ0ZTdkY2MxNjYz
ODlkODk3OTAwY2IwLi43NmViNjk3ZWY1Y2RiNjM5ZGFhZjFlMDIwYWYyOTg1ZWZmZTEyNTE1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LXJlbW90ZURlc2NyaXB0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi5odG1sCkBAIC0xMywxMCArMTMs
MTAgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdyZXF1ZXN0
RmFpbGVkIHdhcyBjYWxsZWQuJyk7CiAKLSAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUnLCAiYW5zd2VyIik7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlJywg
Im9mZmVyIik7CiAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1v
dGVEZXNjcmlwdGlvbi5zZHAnLCAicmVtb3RlIik7CiAgICAgICAgICAgICAgICAgcGMuY2xvc2Uo
KTsKLSAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2Ny
aXB0aW9uLnR5cGUnLCAiYW5zd2VyIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlJywgIm9mZmVyIik7CiAgICAgICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAnLCAi
cmVtb3RlIik7CiAKICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKQEAgLTM4LDEyICsz
OCwxMiBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3JlcXVl
c3RTdWNjZWVkZWQgd2FzIGNhbGxlZC4nKTsKIAotICAgICAgICAgICAgICAgIHNlc3Npb25EZXNj
cmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJs
b2NhbCJ9KTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6ImxvY2FsIn0pOwogICAgICAgICAg
ICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVz
Y3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCByZXF1ZXN0RmFpbGVkMik7Jyk7CiAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtp
Y2VTZXJ2ZXJzOltdfSk7Ci0gICAgICAgICAgICB2YXIgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3
IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToiYW5zd2VyIiwgc2RwOiJyZW1vdGUifSk7Cisg
ICAgICAgICAgICB2YXIgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbih7dHlwZToib2ZmZXIiLCBzZHA6InJlbW90ZSJ9KTsKICAgICAgICAgICAgIHNob3VsZE5v
dFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVl
c3RTdWNjZWVkZWQxLCByZXF1ZXN0RmFpbGVkMSk7Jyk7CiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGFibGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGFi
bGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkZjgzZmNhNDg5NGVkN2QwNmM2YzM1ZWRiZjBm
YzYxOWQxNjcwOTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3Ry
ZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OSBA
QAorVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gc3RhYmxlIHN0YXRlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgor
UEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZT
dWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IHNldExvY2FsRGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJ
bnZhbGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24g
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAx
MS4KK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZh
bGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUg
aXMgInN0YWJsZSIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRp
b24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7IGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFz
b24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2Nh
bERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERP
TSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNp
Z25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNl
c3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQzKTsgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4K
K1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9y
IgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxp
ZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9u
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24g
MTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90
ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVl
c3RGYWlsZWQ0KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2Ny
aXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25E
ZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJl
bW90ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6
IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQ
QVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3Vj
Y2VlZGVkMSwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
c2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24u
dHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIK
K1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlk
U3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMg
ImhhdmUtbG9jYWwtb2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMu
cmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJv
cjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgInN0YWJsZSIK
K1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0
U3VjY2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1Mgc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0
aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRp
b24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBw
Yy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3Rh
dGUgaXMgImhhdmUtcmVtb3RlLW9mZmVyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tc3RhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3ZGU3
NWNlMDE0MTI2OGI3MTBkYTYxZjg2NGIxZDZhOWVmY2JmYTkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS5odG1s
CkBAIC0wLDAgKzEsMTA4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxi
b2R5PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIFJU
Q1BlZXJDb25uZWN0aW9uIGluIHN0YWJsZSBzdGF0ZS4iKTsKKworICAgICAgICAgICAgdmFyIHBj
ID0gbnVsbDsKKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDIoKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0
aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICJvZmZlciIs
ICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0
U3VjY2VlZGVkMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgn
c2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hlY2so
Im9mZmVyIiwgImxvY2FsIiwgIiIsICIiLCAnImhhdmUtbG9jYWwtb2ZmZXIiJykKKyAgICAgICAg
ICAgICAgICBwYyA9IG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0p
OworICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIiIsICIiLCAnInN0YWJsZSInKTsKKyAg
ICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3Vs
ZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJl
cXVlc3RTdWNjZWVkZWQyLCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQ0KHJlYXNvbikKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRp
b25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICIiLCAiIiwgJyJzdGFi
bGUiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAg
ICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlw
dGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsnKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdEZhaWxlZDMocmVhc29uKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGVycm9yUmVhc29uID0gcmVhc29uOworICAgICAgICAg
ICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZSgnZXJyb3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25E
ZXNjcmlwdGlvbkVycm9yIicpOworICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIiIsICIi
LCAnInN0YWJsZSInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcg
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAg
ICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vz
c2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDQpOycpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMihyZWFz
b24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247
CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQu
Jyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFs
aWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwg
IiIsICIiLCAiIiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0
aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3ZXIiLCBzZHA6InJl
bW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVz
Y3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZh
aWxlZDMpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0
RmFpbGVkMShyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFz
b24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlw
dGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5h
bWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAg
ICBjaGVjaygiIiwgIiIsICIiLCAiIiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgc2Vz
c2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3
ZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5z
ZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQs
IHJlcXVlc3RGYWlsZWQyKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gZmluaXNoSWZTdWNjZWVkZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gZmluaXNoSWZGYWlsZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hl
Y2sobG9jYWxUeXBlLCBsb2NhbFNkcCwgcmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdT
dGF0ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAi
IiAmJiBsb2NhbFNkcCAhPT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24u
c2RwJywgbG9jYWxTZHApOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZFRocm93KCdwYy5sb2NhbERlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGlmIChyZW1vdGVUeXBlICE9PSAiIiAmJiByZW1vdGVTZHAg
IT09ICIiKSB7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGMu
cmVtb3RlRGVzY3JpcHRpb24udHlwZScsIHJlbW90ZVR5cGUpOworICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCcsIHJlbW90
ZVNkcCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgc2hv
dWxkVGhyb3coJ3BjLnJlbW90ZURlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsIHNpZ25hbGluZ1N0YXRl
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNv
bm5lY3Rpb24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWdu
YWxpbmdTdGF0ZScsICcic3RhYmxlIicpOworICAgICAgICAgICAgdmFyIHNlc3Npb25EZXNjcmlw
dGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoibG9j
YWwifSk7CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlv
bihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMSk7
Jyk7CisKKyAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAg
ICAgIHdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgICAgICA8L3NjcmlwdD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219284</attachid>
            <date>2013-12-15 18:16:12 -0800</date>
            <delta_ts>2013-12-16 09:40:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125655-20131215231526.patch</filename>
            <type>text/plain</type>
            <size>71049</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTc3Mzk2N2ZiZTU1ZmU3
N2I5NmI5NThjNmViNDE3OWYwMDY0ZjllYi4uMDgwMDQxNjQxYmVlMmYxN2RjZGZjOTBiZmYwMzhl
MWIxNTcxNWE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTEyLTEyICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIENoZWNraW5nIFJUQ1BlZXJDb25uZWN0aW9uIHNpZ25hbGluZ1N0YXRlIGJlZm9yZSBz
ZXR0aW5nIGxvY2FsL3JlbW90ZURlc2NyaXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU2NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBCZWZvcmUgc2V0dGluZyBhIHNlc3Npb24gZGVzY3JpcHRp
b24gUlRDUGVlckNvbm5lY3Rpb24gbXVzdCBjaGVjayBpZiBpdCBpcyBpbiB2YWxpZCBzdGF0ZSBm
b3IgdGhhdCBTRFAgdHlwZS4KKworICAgICAgICBOZXcgdGVzdHM6IGZhc3QvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1hbnN3ZXIuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLW9mZmVyLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1s
b2NhbC1wcmFuc3dlci5odG1sCisgICAgICAgICAgICAgICBmYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLW9mZmVyLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUtcHJhbnN3ZXIuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGFibGUu
aHRtbAorCisgICAgICAgIE1vZGlmaWVkOiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLXJlbW90ZURlc2NyaXB0aW9uLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5l
Y3Rpb246OmNoZWNrU3RhdGVGb3JMb2NhbERlc2NyaXB0aW9uKTogQ2hlY2tzIGlmIHRoZSBjdXJy
ZW50IHN0YXRlIG9mIFJUQ1BlZXJDb25uZWN0aW9uIGlzCisgICAgICAgIHZhbGlkIGZvciB0aGUg
bG9jYWwgU0RQIHRoYXQgaXMgYmVpbmcgc2V0LgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNv
bm5lY3Rpb246OmNoZWNrU3RhdGVGb3JSZW1vdGVEZXNjcmlwdGlvbik6IENoZWNrcyBpZiB0aGUg
Y3VycmVudCBzdGF0ZSBvZiBSVENQZWVyQ29ubmVjdGlvbgorICAgICAgICBpcyB2YWxpZCBmb3Ig
dGhlIHJlbW90ZSBTRFAgdGhhdCBpcyBiZWluZyBzZXQuCisgICAgICAgIChXZWJDb3JlOjpSVENQ
ZWVyQ29ubmVjdGlvbjo6c2V0TG9jYWxEZXNjcmlwdGlvbik6IE5vdyBjYWxscyBjaGVja1N0YXRl
Rm9yTG9jYWxEZXNjcmlwdGlvbiBwcmlvciB0byBzZXQgdGhlCisgICAgICAgIGxvY2FsIFNEUC4K
KyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjpzZXRSZW1vdGVEZXNjcmlwdGlv
bik6IE5vdyBDYWxscyBjaGVja1N0YXRlRm9yTG9jYWxEZXNjcmlwdGlvbiBwcmlvciB0byBzZXQg
dGhlCisgICAgICAgIHJlbW90ZSBTRFAuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svUlRDTm90aWZpZXJz
TW9jay5jcHA6IEFkZGluZyBuZXcgY2xhc3MgdG8gbm90aWZ5IFJUQ1BlZXJDb25uZWN0aW9uIGFi
b3V0IGEgc2lnbmFsaW5nIHN0YXRlCisgICAgICAgIGNoYW5nZTogU2lnbmFsaW5nU3RhdGVOb3Rp
Zmllci4KKyAgICAgICAgKFdlYkNvcmU6OlNpZ25hbGluZ1N0YXRlTm90aWZpZXI6OlNpZ25hbGlu
Z1N0YXRlTm90aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2lnbmFsaW5nU3RhdGVOb3RpZmll
cjo6ZmlyZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6OnNpZ25hbGlu
Z1N0YXRlRnJvbVNEUCk6IERlZmluZXMgdGhlIG5ldyBzdGF0ZSB0aGF0IFJUQ1BlZXJDb25uZWN0
aW9uCisgICAgICAgIHNob3VsZCBiZSwgYWNjb3JkaW5nIHRoZSBTRFAgdGhhdCBpcyBiZWluZyBz
ZXQuCisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrOjpzZXRM
b2NhbERlc2NyaXB0aW9uKTogQ2FsbHMgc2lnbmFsaW5nU3RhdGVGcm9tU0RQLCBpbiBvcmRlciB0
byBnZXQgdGhlCisgICAgICAgIG5ldyBzaWduYWxpbmcgc3RhdGUgYW5kIG5vdGlmeSBSVENQZWVy
Q29ubmVjdGlvbiBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXJNb2NrOjpzZXRSZW1vdGVEZXNjcmlwdGlvbik6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5oOgorCiAyMDEzLTEyLTA2ICBB
bmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHJlbWFpbmlu
ZyBDU1NWYWx1ZSBjb25zdHJ1Y3RvcnMgcmV0dXJuIFBhc3NSZWYuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCmlu
ZGV4IDgzNWFlMjMwMGU3ZjJjNWI3NTJhN2ZiNzY2ZGQyMTFlYjZlNjgzNzIuLmVmZDlmNDRlNjdl
MjAxZGQ3NjY3MjlmNTdjMWI2MDlmZmI4NTFiNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC02Miw2
ICs2Miw4IEBACiAjaW5jbHVkZSAiUlRDVm9pZFJlcXVlc3RJbXBsLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgorI2luY2x1
ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0yMTAsNiArMjEyLDMwIEBAIHZvaWQgUlRDUGVlckNvbm5l
Y3Rpb246OmNyZWF0ZUFuc3dlcihQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxi
YWNrPiBzCiAgICAgbV9wZWVySGFuZGxlci0+Y3JlYXRlQW5zd2VyKHJlcXVlc3QucmVsZWFzZSgp
LCBjb25zdHJhaW50cy5yZWxlYXNlKCkpOwogfQogCitib29sIFJUQ1BlZXJDb25uZWN0aW9uOjpj
aGVja1N0YXRlRm9yTG9jYWxEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24qIGxvY2Fs
RGVzY3JpcHRpb24pCit7CisgICAgaWYgKGxvY2FsRGVzY3JpcHRpb24tPnR5cGUoKSA9PSAib2Zm
ZXIiKQorICAgICAgICByZXR1cm4gbV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZVN0
YWJsZSB8fCBtX3NpZ25hbGluZ1N0YXRlID09IFNpZ25hbGluZ1N0YXRlSGF2ZUxvY2FsT2ZmZXI7
CisgICAgaWYgKGxvY2FsRGVzY3JpcHRpb24tPnR5cGUoKSA9PSAiYW5zd2VyIikKKyAgICAgICAg
cmV0dXJuIG1fc2lnbmFsaW5nU3RhdGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlUmVtb3RlT2ZmZXIg
fHwgbV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZUhhdmVMb2NhbFByQW5zd2VyOwor
ICAgIGlmIChsb2NhbERlc2NyaXB0aW9uLT50eXBlKCkgPT0gInByYW5zd2VyIikKKyAgICAgICAg
cmV0dXJuIG1fc2lnbmFsaW5nU3RhdGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlTG9jYWxQckFuc3dl
ciB8fCBtX3NpZ25hbGluZ1N0YXRlID09IFNpZ25hbGluZ1N0YXRlSGF2ZVJlbW90ZU9mZmVyOwor
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIFJUQ1BlZXJDb25uZWN0aW9uOjpjaGVja1N0
YXRlRm9yUmVtb3RlRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKiByZW1vdGVEZXNj
cmlwdGlvbikKK3sKKyAgICBpZiAocmVtb3RlRGVzY3JpcHRpb24tPnR5cGUoKSA9PSAib2ZmZXIi
KQorICAgICAgICByZXR1cm4gbV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZVN0YWJs
ZSB8fCBtX3NpZ25hbGluZ1N0YXRlID09IFNpZ25hbGluZ1N0YXRlSGF2ZVJlbW90ZU9mZmVyOwor
ICAgIGlmIChyZW1vdGVEZXNjcmlwdGlvbi0+dHlwZSgpID09ICJhbnN3ZXIiKQorICAgICAgICBy
ZXR1cm4gbV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZUhhdmVMb2NhbE9mZmVyIHx8
IG1fc2lnbmFsaW5nU3RhdGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlUmVtb3RlUHJBbnN3ZXI7Cisg
ICAgaWYgKHJlbW90ZURlc2NyaXB0aW9uLT50eXBlKCkgPT0gInByYW5zd2VyIikKKyAgICAgICAg
cmV0dXJuIG1fc2lnbmFsaW5nU3RhdGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlUmVtb3RlUHJBbnN3
ZXIgfHwgbV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZUhhdmVMb2NhbE9mZmVyOwor
CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzZXRMb2Nh
bERlc2NyaXB0aW9uKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBwcnBTZXNzaW9u
RGVzY3JpcHRpb24sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBh
c3NSZWZQdHI8UlRDRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgaWYgKG1fc2lnbmFsaW5nU3RhdGUgPT0gU2lnbmFsaW5nU3RhdGVDbG9zZWQp
IHsKQEAgLTIyMyw2ICsyNDksMTIgQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6c2V0TG9jYWxE
ZXNjcmlwdGlvbihQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gcHIKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAorICAgIGlmICghY2hlY2tTdGF0ZUZvckxvY2FsRGVzY3JpcHRpb24o
c2Vzc2lvbkRlc2NyaXB0aW9uLmdldCgpKSkgeworICAgICAgICBSZWZQdHI8RE9NRXJyb3I+IGVy
cm9yID0gRE9NRXJyb3I6OmNyZWF0ZShSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmludmFsaWRT
ZXNzaW9uRGVzY3JpcHRpb25FcnJvck5hbWUoKSk7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
YmluZCgmUlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudCwgZXJyb3JD
YWxsYmFjay5nZXQoKSwgZXJyb3IucmVsZWFzZSgpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBSZWZQdHI8UlRDVm9pZFJlcXVlc3RJbXBsPiByZXF1ZXN0ID0gUlRDVm9pZFJlcXVl
c3RJbXBsOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdWNjZXNzQ2FsbGJhY2ss
IGVycm9yQ2FsbGJhY2spOwogICAgIG1fcGVlckhhbmRsZXItPnNldExvY2FsRGVzY3JpcHRpb24o
cmVxdWVzdC5yZWxlYXNlKCksIHNlc3Npb25EZXNjcmlwdGlvbi0+ZGVzY3JpcHRvcigpKTsKIH0K
QEAgLTI1Miw2ICsyODQsMTIgQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6c2V0UmVtb3RlRGVz
Y3JpcHRpb24oUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IHAKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAorICAgIGlmICghY2hlY2tTdGF0ZUZvclJlbW90ZURlc2NyaXB0aW9uKHNl
c3Npb25EZXNjcmlwdGlvbi5nZXQoKSkpIHsKKyAgICAgICAgUmVmUHRyPERPTUVycm9yPiBlcnJv
ciA9IERPTUVycm9yOjpjcmVhdGUoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjppbnZhbGlkU2Vz
c2lvbkRlc2NyaXB0aW9uRXJyb3JOYW1lKCkpOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKGJp
bmQoJlJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjazo6aGFuZGxlRXZlbnQsIGVycm9yQ2Fs
bGJhY2suZ2V0KCksIGVycm9yLnJlbGVhc2UoKSkpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0SW1wbD4gcmVxdWVzdCA9IFJUQ1ZvaWRSZXF1ZXN0
SW1wbDo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgc3VjY2Vzc0NhbGxiYWNrLCBl
cnJvckNhbGxiYWNrKTsKICAgICBtX3BlZXJIYW5kbGVyLT5zZXRSZW1vdGVEZXNjcmlwdGlvbihy
ZXF1ZXN0LnJlbGVhc2UoKSwgc2Vzc2lvbkRlc2NyaXB0aW9uLT5kZXNjcmlwdG9yKCkpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi5oCmluZGV4IDQzYjk2YzM2ZTFjZjc5MmMwMDRjZTY5NjBkYTZmNjAyODgwYTRlOGYu
LjA1MTQ3NzUxZDMxM2IxNDhmMTYwNTAxNmQ0M2U0Y2M0YzkyNjkzZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgK
QEAgLTE0OSw2ICsxNDksOSBAQCBwcml2YXRlOgogICAgIHZvaWQgY2hhbmdlSWNlR2F0aGVyaW5n
U3RhdGUoSWNlR2F0aGVyaW5nU3RhdGUpOwogICAgIHZvaWQgY2hhbmdlSWNlQ29ubmVjdGlvblN0
YXRlKEljZUNvbm5lY3Rpb25TdGF0ZSk7CiAKKyAgICBib29sIGNoZWNrU3RhdGVGb3JMb2NhbERl
c2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiopOworICAgIGJvb2wgY2hlY2tTdGF0ZUZv
clJlbW90ZURlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiopOworCiAgICAgU2lnbmFs
aW5nU3RhdGUgbV9zaWduYWxpbmdTdGF0ZTsKICAgICBJY2VHYXRoZXJpbmdTdGF0ZSBtX2ljZUdh
dGhlcmluZ1N0YXRlOwogICAgIEljZUNvbm5lY3Rpb25TdGF0ZSBtX2ljZUNvbm5lY3Rpb25TdGF0
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJz
TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2su
Y3BwCmluZGV4IDAyM2Y0NjM0OWRkNzRlZjIwZjUzMDUzZGM2ZDc4MTQzOGI5NWEyYmQuLjdlZjcy
MzkwNzAxNGI4ZjNiMDM2OThhNjIwNGY4MDJkMzA5M2JlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNwcApAQCAtNzcsNiArNzcsMTcg
QEAgdm9pZCBJY2VDb25uZWN0aW9uTm90aWZpZXI6OmZpcmUoKQogICAgIG1fY2xpZW50LT5kaWRD
aGFuZ2VJY2VDb25uZWN0aW9uU3RhdGUobV9jb25uZWN0aW9uU3RhdGUpOwogfQogCitTaWduYWxp
bmdTdGF0ZU5vdGlmaWVyOjpTaWduYWxpbmdTdGF0ZU5vdGlmaWVyKFJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudCogY2xpZW50LCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlNp
Z25hbGluZ1N0YXRlIHNpZ25hbGluZ1N0YXRlKQorICAgIDogbV9jbGllbnQoY2xpZW50KQorICAg
ICwgbV9zaWduYWxpbmdTdGF0ZShzaWduYWxpbmdTdGF0ZSkKK3sKK30KKwordm9pZCBTaWduYWxp
bmdTdGF0ZU5vdGlmaWVyOjpmaXJlKCkKK3sKKyAgICBtX2NsaWVudC0+ZGlkQ2hhbmdlU2lnbmFs
aW5nU3RhdGUobV9zaWduYWxpbmdTdGF0ZSk7Cit9CisKIFJlbW90ZURhdGFDaGFubmVsTm90aWZp
ZXI6OlJlbW90ZURhdGFDaGFubmVsTm90aWZpZXIoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xp
ZW50KiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5oCmluZGV4IDk1OTdhZmMxOWU2MzZl
NDkxMWJkYWQ1N2JmZDA5NTU2YWFmNzg3ODcuLjk4NmIzODczYWJlZDAwNzZkMTQ2NDFlNzMzN2E2
ZTcxNjE3YTU3ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRD
Tm90aWZpZXJzTW9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDTm90
aWZpZXJzTW9jay5oCkBAIC03NCw2ICs3NCwxNyBAQCBwcml2YXRlOgogICAgIFJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlckNsaWVudDo6SWNlR2F0aGVyaW5nU3RhdGUgbV9nYXRoZXJpbmdTdGF0ZTsK
IH07CiAKK2NsYXNzIFNpZ25hbGluZ1N0YXRlTm90aWZpZXIgOiBwdWJsaWMgTW9ja05vdGlmaWVy
IHsKK3B1YmxpYzoKKyAgICBTaWduYWxpbmdTdGF0ZU5vdGlmaWVyKFJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudCosIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFsaW5n
U3RhdGUpOworCisgICAgdm9pZCBmaXJlKCkgT1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAgUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBtX2NsaWVudDsKKyAgICBSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDbGllbnQ6OlNpZ25hbGluZ1N0YXRlIG1fc2lnbmFsaW5nU3RhdGU7Cit9Owor
CiBjbGFzcyBSZW1vdGVEYXRhQ2hhbm5lbE5vdGlmaWVyIDogcHVibGljIE1vY2tOb3RpZmllciB7
CiBwdWJsaWM6CiAgICAgUmVtb3RlRGF0YUNoYW5uZWxOb3RpZmllcihSVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXJDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2suY3BwCmluZGV4IDVmNzZiYWY2
MDgwMTJiOTFkMzM5MjM3MzY4MGZmYTAzZThkZDAyMmUuLmYzODRmZTg5YjU3ZjhlZjZiNTU1OWYz
NTZhNjk1ODkzOTM4ODY0YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrLmNwcApAQCAtODcsMzAg
Kzg3LDUwIEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jazo6Y3JlYXRlQW5zd2Vy
KFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uCiAgICAgbV90aW1lckV2ZW50cy5hcHBl
bmQoYWRvcHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywgbm90aWZpZXIpKSk7CiB9CiAKK1JUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFsaW5nU3RhdGUgUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyTW9jazo6c2lnbmFsaW5nU3RhdGVGcm9tU0RQKFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkRlc2NyaXB0b3IqIGRlc2NyaXB0b3IpCit7CisgICAgaWYgKGRlc2NyaXB0b3ItPnR5cGUoKSA9
PSAib2ZmZXIiICYmIGRlc2NyaXB0b3ItPnNkcCgpID09ICJsb2NhbCIpCisgICAgICAgIHJldHVy
biBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlNpZ25hbGluZ1N0YXRlSGF2ZUxvY2Fs
T2ZmZXI7CisgICAgaWYgKGRlc2NyaXB0b3ItPnR5cGUoKSA9PSAib2ZmZXIiICYmIGRlc2NyaXB0
b3ItPnNkcCgpID09ICJyZW1vdGUiKQorICAgICAgICByZXR1cm4gUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyQ2xpZW50OjpTaWduYWxpbmdTdGF0ZUhhdmVSZW1vdGVPZmZlcjsKKyAgICBpZiAoZGVz
Y3JpcHRvci0+dHlwZSgpID09ICJwcmFuc3dlciIgJiYgZGVzY3JpcHRvci0+c2RwKCkgPT0gImxv
Y2FsIikKKyAgICAgICAgcmV0dXJuIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2ln
bmFsaW5nU3RhdGVIYXZlTG9jYWxQckFuc3dlcjsKKyAgICBpZiAoZGVzY3JpcHRvci0+dHlwZSgp
ID09ICJwcmFuc3dlciIgJiYgZGVzY3JpcHRvci0+c2RwKCkgPT0gInJlbW90ZSIpCisgICAgICAg
IHJldHVybiBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ6OlNpZ25hbGluZ1N0YXRlSGF2
ZVJlbW90ZVByQW5zd2VyOworCisgICAgcmV0dXJuIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNs
aWVudDo6U2lnbmFsaW5nU3RhdGVTdGFibGU7Cit9CisKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyTW9jazo6c2V0TG9jYWxEZXNjcmlwdGlvbihQYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0
PiByZXF1ZXN0LCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IGRl
c2NyaXB0b3IpCiB7Ci0gICAgUmVmUHRyPFZvaWRSZXF1ZXN0Tm90aWZpZXI+IG5vdGlmaWVyOwor
ICAgIFJlZlB0cjxWb2lkUmVxdWVzdE5vdGlmaWVyPiB2b2lkTm90aWZpZXI7CisgICAgUmVmUHRy
PFNpZ25hbGluZ1N0YXRlTm90aWZpZXI+IHNpZ25hbGluZ05vdGlmaWVyOwogICAgIGlmICghZGVz
Y3JpcHRvci5nZXQoKSB8fCBkZXNjcmlwdG9yLT5zZHAoKSAhPSAibG9jYWwiKQotICAgICAgICBu
b3RpZmllciA9IGFkb3B0UmVmKG5ldyBWb2lkUmVxdWVzdE5vdGlmaWVyKHJlcXVlc3QsIGZhbHNl
KSk7CisgICAgICAgIHZvaWROb3RpZmllciA9IGFkb3B0UmVmKG5ldyBWb2lkUmVxdWVzdE5vdGlm
aWVyKHJlcXVlc3QsIGZhbHNlLCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmludGVybmFsRXJy
b3JOYW1lKCkpKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9sb2NhbFNlc3Npb25EZXNjcmlwdGlv
biA9IGRlc2NyaXB0b3I7Ci0gICAgICAgIG5vdGlmaWVyID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1
ZXN0Tm90aWZpZXIocmVxdWVzdCwgdHJ1ZSkpOworICAgICAgICBzaWduYWxpbmdOb3RpZmllciA9
IGFkb3B0UmVmKG5ldyBTaWduYWxpbmdTdGF0ZU5vdGlmaWVyKG1fY2xpZW50LCBzaWduYWxpbmdT
dGF0ZUZyb21TRFAobV9sb2NhbFNlc3Npb25EZXNjcmlwdGlvbi5nZXQoKSkpKTsKKyAgICAgICAg
dm9pZE5vdGlmaWVyID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVxdWVzdCwg
dHJ1ZSkpOworICAgICAgICBtX3RpbWVyRXZlbnRzLmFwcGVuZChhZG9wdFJlZihuZXcgVGltZXJF
dmVudCh0aGlzLCBzaWduYWxpbmdOb3RpZmllcikpKTsKICAgICB9CiAKLSAgICBtX3RpbWVyRXZl
bnRzLmFwcGVuZChhZG9wdFJlZihuZXcgVGltZXJFdmVudCh0aGlzLCBub3RpZmllcikpKTsKKyAg
ICBtX3RpbWVyRXZlbnRzLmFwcGVuZChhZG9wdFJlZihuZXcgVGltZXJFdmVudCh0aGlzLCB2b2lk
Tm90aWZpZXIpKSk7CiB9CiAKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jazo6c2V0
UmVtb3RlRGVzY3JpcHRpb24oUGFzc1JlZlB0cjxSVENWb2lkUmVxdWVzdD4gcmVxdWVzdCwgUGFz
c1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBkZXNjcmlwdG9yKQogewot
ICAgIFJlZlB0cjxWb2lkUmVxdWVzdE5vdGlmaWVyPiBub3RpZmllcjsKKyAgICBSZWZQdHI8Vm9p
ZFJlcXVlc3ROb3RpZmllcj4gdm9pZE5vdGlmaWVyOworICAgIFJlZlB0cjxTaWduYWxpbmdTdGF0
ZU5vdGlmaWVyPiBzaWduYWxpbmdOb3RpZmllcjsKICAgICBpZiAoIWRlc2NyaXB0b3IuZ2V0KCkg
fHwgZGVzY3JpcHRvci0+c2RwKCkgIT0gInJlbW90ZSIpCi0gICAgICAgIG5vdGlmaWVyID0gYWRv
cHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVxdWVzdCwgZmFsc2UpKTsKKyAgICAgICAg
dm9pZE5vdGlmaWVyID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVxdWVzdCwg
ZmFsc2UsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6aW50ZXJuYWxFcnJvck5hbWUoKSkpOwog
ICAgIGVsc2UgewogICAgICAgICBtX3JlbW90ZVNlc3Npb25EZXNjcmlwdGlvbiA9IGRlc2NyaXB0
b3I7Ci0gICAgICAgIG5vdGlmaWVyID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIo
cmVxdWVzdCwgdHJ1ZSkpOworICAgICAgICBzaWduYWxpbmdOb3RpZmllciA9IGFkb3B0UmVmKG5l
dyBTaWduYWxpbmdTdGF0ZU5vdGlmaWVyKG1fY2xpZW50LCBzaWduYWxpbmdTdGF0ZUZyb21TRFAo
bV9yZW1vdGVTZXNzaW9uRGVzY3JpcHRpb24uZ2V0KCkpKSk7CisgICAgICAgIHZvaWROb3RpZmll
ciA9IGFkb3B0UmVmKG5ldyBWb2lkUmVxdWVzdE5vdGlmaWVyKHJlcXVlc3QsIHRydWUpKTsKKyAg
ICAgICAgbV90aW1lckV2ZW50cy5hcHBlbmQoYWRvcHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywg
c2lnbmFsaW5nTm90aWZpZXIpKSk7CiAgICAgfQogCi0gICAgbV90aW1lckV2ZW50cy5hcHBlbmQo
YWRvcHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywgbm90aWZpZXIpKSk7CisgICAgbV90aW1lckV2
ZW50cy5hcHBlbmQoYWRvcHRSZWYobmV3IFRpbWVyRXZlbnQodGhpcywgdm9pZE5vdGlmaWVyKSkp
OwogfQogCiBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6OmxvY2FsRGVzY3JpcHRpb24oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2Nr
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ck1vY2suaAppbmRleCBmMjg1ZDdhMjEyY2E1YjM4MzU2ZTJjNjJjM2U0NGU1ZmIzN2I0ZmFmLi43
ODgwMjhiMmRkYjAyZDZlMTk1YmY2ZTgwMTlmNGZiNTQ5NWU0Y2MxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2suaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ck1vY2suaApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNp
bmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCIKKyNpbmNsdWRlICJSVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQuaCIKICNpbmNsdWRlICJSVENTZXNzaW9uRGVzY3JpcHRpb25E
ZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiVGltZXJFdmVudEJhc2VkTW9jay5oIgogCkBAIC02MCw2
ICs2MSw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJN
b2NrKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCopOwogCiBwcml2YXRlOgorICAgIFJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFsaW5nU3RhdGUgc2lnbmFsaW5nU3Rh
dGVGcm9tU0RQKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IqKTsKICAgICBSVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXJDbGllbnQqIG1fY2xpZW50OwogCiAgICAgUmVmUHRyPFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IG1fbG9jYWxTZXNzaW9uRGVzY3JpcHRpb247CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMWZmM2JmNjlhNzY5ODY4OTQ1NTc4MjNjNWUyNjNmZDljNGNkMTIxYS4uYmIwZGQ5N2M0NDNj
NGUyOWNiYmFjNjFlNTg3ZmM5YmIxMDE4NGRiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEz
LTEyLTEyICBUaGlhZ28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9z
c2Eub3JnPgorCisgICAgICAgIENoZWNraW5nIFJUQ1BlZXJDb25uZWN0aW9uIHNpZ25hbGluZ1N0
YXRlIGJlZm9yZSBzZXR0aW5nIGxvY2FsL3JlbW90ZURlc2NyaXB0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU2NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZWZvcmUgc2V0dGluZyBhIHNlc3Np
b24gZGVzY3JpcHRpb24gUlRDUGVlckNvbm5lY3Rpb24gbXVzdCBjaGVjayBpZiBpdCBpcyBpbiB2
YWxpZCBzdGF0ZSBmb3IgdGhhdCBTRFAgdHlwZS4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1hbnN3ZXIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLW9mZmVy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1oYXZlLWxvY2FsLW9mZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1wcmFuc3dlci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24taGF2ZS1sb2NhbC1wcmFuc3dlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLW9mZmVyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZl
LXJlbW90ZS1vZmZlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90
ZS1wcmFuc3dlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLXJlbW90ZURlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZURlc2NyaXB0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGFibGUtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLXN0YWJsZS5odG1sOiBBZGRlZC4KKwogMjAxMy0xMi0wNiAgTHVrYXN6IEdham93eSAg
PGwuZ2Fqb3d5QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgQVRLIGdhcmRlbmlu
ZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi1oYXZlLWxvY2FsLWFuc3dlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLWFuc3dlci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhi
NzI0ZjNhMDRiNWI0ZDJhMzIwNmJlOTJkNTQxYTMwZWY5OGVkMWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9j
YWwtYW5zd2VyLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gcmVtb3RlRGVzY3JpcHRpb24uIik7CisKKyAg
ICAgICAgICAgIHZhciBwYyA9IG51bGw7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RG
YWlsZWQ0KHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNv
biA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlw
dGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5h
bWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAg
ICBjaGVjaygicHJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxv
Y2FsLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFzb24pCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLicpOwor
ICAgICAgICAgICAgICAgIHNob3VsZEJlKCdlcnJvclJlYXNvbi5uYW1lJywgJyJJbnZhbGlkU2Vz
c2lvbkRlc2NyaXB0aW9uRXJyb3IiJyk7CisgICAgICAgICAgICAgICAgY2hlY2soInByYW5zd2Vy
IiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFuc3dlciInKTsK
KyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uKHt0eXBlOiJwcmFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAg
IHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRp
b24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkNCk7Jyk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQyKHJlYXNvbikKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVz
Y3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3ZXIiLCAibG9j
YWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicpOworICAgICAg
ICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24o
e3R5cGU6ImFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5v
dFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlz
aElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25F
cnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3ZXIiLCAibG9jYWwiLCAib2Zm
ZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAg
IHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9m
ZmVyIiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3Bj
LnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVk
ZWQsIHJlcXVlc3RGYWlsZWQyKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVu
Y3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoJ3NldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAg
ICAgICAgIGNoZWNrKCJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJzdGFi
bGUiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAg
ICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlw
dGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsnKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDEoKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1
Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICJvZmZlciIsICJyZW1v
dGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNj
cmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoi
bG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVz
Y3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMiwgZmluaXNoSWZG
YWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBmaW5pc2hJ
ZlN1Y2NlZWRlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgn
c2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBmaW5pc2hJ
ZkZhaWxlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnc2V0
UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLicpOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBjaGVjayhsb2NhbFR5
cGUsIGxvY2FsU2RwLCByZW1vdGVUeXBlLCByZW1vdGVTZHAsIHNpZ25hbGluZ1N0YXRlKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChsb2NhbFR5cGUgIT09ICIiICYmIGxvY2Fs
U2RwICE9PSAiIikgeworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3BjLmxvY2FsRGVzY3JpcHRpb24udHlwZScsIGxvY2FsVHlwZSk7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGMubG9jYWxEZXNjcmlwdGlvbi5zZHAnLCBsb2Nh
bFNkcCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChyZW1vdGVUeXBl
ICE9PSAiIiAmJiByZW1vdGVTZHAgIT09ICIiKSB7CisgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygncGMucmVtb3RlRGVzY3JpcHRpb24udHlwZScsIHJlbW90ZVR5cGUp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURl
c2NyaXB0aW9uLnNkcCcsIHJlbW90ZVNkcCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsIHNpZ25hbGluZ1N0YXRlKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rp
b24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdT
dGF0ZScsICcic3RhYmxlIicpOworICAgICAgICAgICAgdmFyIHNlc3Npb25EZXNjcmlwdGlvbiA9
IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJyZW1vdGUifSk7
CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vz
c2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgZmluaXNoSWZGYWlsZWQpOycpOwor
CisgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgICAgICB3
aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAg
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtb2ZmZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxv
Y2FsLW9mZmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2ViODQ3M2E4YjBlNWZhYWZmOGEw
NWJhMTY3OTNjZWM3ZDZlOTJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLW9mZmVyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDY2IEBACitUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBpbiBoYXZlLWxvY2Fs
LW9mZmVyIHN0YXRlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBwYy5z
aWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNl
c3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVk
LgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5sb2Nh
bERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEu
CitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLW9mZmVyIgorUEFTUyBwYy5z
ZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQs
IHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2Fs
RGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZhbGlkU2Vz
c2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAi
b2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMu
cmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJv
cjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtbG9j
YWwtb2ZmZXIiCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9u
LCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDIpOyBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1Mgc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29u
Lm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxE
ZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAg
aXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJy
b3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5zaWduYWxp
bmdTdGF0ZSBpcyAiaGF2ZS1sb2NhbC1vZmZlciIKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRp
b24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDMp
OyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVtb3RlRGVzY3JpcHRpb24gZmFp
bGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0aW9u
RXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBj
LmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRp
b24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlv
biAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtbG9jYWwtb2ZmZXIiCitQQVNT
IHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2Vl
ZGVkMiwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0
TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlw
ZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BB
U1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3Rh
dGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhh
dmUtbG9jYWwtb2ZmZXIiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNj
cmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDMsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1Mg
cGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlw
dGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJw
cmFuc3dlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNT
IHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1wcmFuc3dlciIKK1BBU1MgcGMubG9j
YWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBE
T00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRp
b24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5z
aWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNl
c3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZpbmlzaElmRmFpbGVkKTsgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVk
LgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5sb2Nh
bERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEu
CitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLW9mZmVyIgorUEFTUyBwYy5z
ZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQ1
LCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1v
dGVEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBp
cyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1Mg
cGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAiYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVEZXNj
cmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgInN0YWJs
ZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LWhhdmUtbG9jYWwtb2ZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1vZmZlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3Mzk4OTVl
M2U3ZjBjYmMyYWM1N2ZkMzA2NmRiZDMwN2VkNGJiODEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtb2Zm
ZXIuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJU
ZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBpbiBoYXZlLWxvY2FsLW9mZmVyIHN0YXRlLiIpOworCisg
ICAgICAgICAgICB2YXIgcGMgPSBudWxsOworCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0
U3VjY2VlZGVkNSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgn
c2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNr
KCJvZmZlciIsICJsb2NhbCIsICJhbnN3ZXIiLCAicmVtb3RlIiwgJyJzdGFibGUiJyk7CisgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQ0KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAg
ICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICciaGF2ZS1sb2NhbC1v
ZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAgICAg
ICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRl
c2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkNSwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMygpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRp
b24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2NhbCIs
ICJwcmFuc3dlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLXByYW5zd2VyIicpOworICAgICAg
ICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltd
fSk7CisgICAgICAgICAgICAgICAgY2hlY2soIiIsICIiLCAiIiwgIiIsICcic3RhYmxlIicpOwor
ICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgICAgICBzaG91
bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJl
cXVlc3RTdWNjZWVkZWQ0LCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQyKCkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4n
KTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICciaGF2
ZS1sb2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBu
ZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJwcmFuc3dlciIsIHNkcDoicmVtb3RlIn0p
OworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlv
bihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQzLCBmaW5pc2hJZkZhaWxlZCk7
Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQz
KHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJl
YXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBm
YWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAn
IkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVj
aygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICciaGF2ZS1sb2NhbC1vZmZlciInKTsKKyAgICAg
ICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
KHt0eXBlOiJvZmZlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90
VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0
U3VjY2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMihyZWFzb24pCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBh
c3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hv
dWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJv
ciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICci
aGF2ZS1sb2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24g
PSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3RlIn0p
OworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlv
bihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7
Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQx
KHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJl
YXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIGZh
aWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgnZXJyb3JSZWFzb24ubmFtZScsICci
SW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicpOworICAgICAgICAgICAgICAgIGNoZWNr
KCJvZmZlciIsICJsb2NhbCIsICIiLCAiIiwgJyJoYXZlLWxvY2FsLW9mZmVyIicpOworICAgICAg
ICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24o
e3R5cGU6InByYW5zd2VyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGRO
b3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlz
aElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQxKCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsK
KyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICciaGF2ZS1s
b2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcg
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6ImxvY2FsIn0pOworICAg
ICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Np
b25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsnKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2Ny
aXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0
aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNkcCwg
cmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIpIHsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERlc2Ny
aXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywgbG9jYWxTZHApOworICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCdwYy5s
b2NhbERlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlm
IChyZW1vdGVUeXBlICE9PSAiIiAmJiByZW1vdGVTZHAgIT09ICIiKSB7CisgICAgICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGMucmVtb3RlRGVzY3JpcHRpb24udHlwZScs
IHJlbW90ZVR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3BjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCcsIHJlbW90ZVNkcCk7CisgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkVGhyb3coJ3BjLnJlbW90ZURlc2Ny
aXB0aW9uJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCdw
Yy5zaWduYWxpbmdTdGF0ZScsIHNpZ25hbGluZ1N0YXRlKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsICcic3RhYmxlIicp
OworICAgICAgICAgICAgdmFyIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVz
Y3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgIHNob3Vs
ZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVx
dWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsnKTsKKworICAgICAgICAgICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAgICAgd2luZG93LnN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1oYXZlLWxvY2FsLXByYW5zd2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1wcmFuc3dlci1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGU4OWYyZmU2YzFiODg1YmFkYjQyNjA4YjNlOGE5NTM0Y2Y4
MGQ1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1wcmFuc3dlci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2OCBAQAorVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gaGF2ZS1sb2NhbC1wcmFuc3dlciBz
dGF0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcGMuc2lnbmFsaW5n
U3RhdGUgaXMgInN0YWJsZSIKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRl
c2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFT
UyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVz
Y3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZl
LXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3Jp
cHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMu
bG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlw
dGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJv
ZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBj
LnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBwYy5zZXRMb2Nh
bERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDMsIGZpbmlz
aElmRmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3Jp
cHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgInByYW5z
d2VyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBjLnJl
bW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlv
bi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtbG9jYWwt
cHJhbnN3ZXIiCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9u
LCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDEpOyBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1Mgc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29u
Lm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxE
ZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5z
ZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIK
K1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25h
bGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNj
cmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFp
bGVkMik7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlv
biBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3Jp
cHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIK
K1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVE
ZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2Rw
IGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5z
d2VyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZp
bmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5h
bWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNj
cmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAg
aXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BB
U1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGlu
Z1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlw
dGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVk
NCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBm
YWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRp
b25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BB
U1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNj
cmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlz
ICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2Vy
IgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVz
dFN1Y2NlZWRlZDQsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIHNldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0
aW9uLnR5cGUgaXMgImFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxv
Y2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMu
cmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRl
IGlzICJzdGFibGUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1oYXZlLWxvY2FsLXByYW5zd2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtcHJhbnN3ZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44N2I2ODYzNjk4OTA5OWI4MDYzYTZkZmU4MDU3ZTYzZDZhYjNiODY1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi1oYXZlLWxvY2FsLXByYW5zd2VyLmh0bWwKQEAgLTAsMCArMSwxMTggQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAg
ICAgICBkZXNjcmlwdGlvbigiVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gaGF2ZS1sb2NhbC1w
cmFuc3dlciBzdGF0ZS4iKTsKKworICAgICAgICAgICAgdmFyIHBjID0gbnVsbDsKKworICAgICAg
ICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDQoKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOwor
ICAgICAgICAgICAgICAgIGNoZWNrKCJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3Rl
IiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQ0KHJlYXNvbikKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAg
ICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNz
aW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3ZXIi
LCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicpOwor
ICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hv
dWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBy
ZXF1ZXN0U3VjY2VlZGVkNCwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFzb24pCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLicpOworICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCdlcnJvclJlYXNvbi5uYW1lJywgJyJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0
aW9uRXJyb3IiJyk7CisgICAgICAgICAgICAgICAgY2hlY2soInByYW5zd2VyIiwgImxvY2FsIiwg
Im9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFuc3dlciInKTsKKyAgICAgICAgICAg
ICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBl
OiJwcmFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRo
cm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElm
U3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkNCk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQyKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFz
c2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hv
dWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJv
ciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIi
LCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIHNl
c3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFuc3dl
ciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5z
ZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVk
LCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRM
b2NhbERlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgnZXJy
b3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicpOworICAg
ICAgICAgICAgICAgIGNoZWNrKCJwcmFuc3dlciIsICJsb2NhbCIsICJvZmZlciIsICJyZW1vdGUi
LCAnImhhdmUtbG9jYWwtcHJhbnN3ZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2Ny
aXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6InJl
bW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVz
Y3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZh
aWxlZDIpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0
U3VjY2VlZGVkMygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgn
c2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hlY2so
InByYW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFu
c3dlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAg
ICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2Ny
aXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDEpOycpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMigpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBz
dWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hlY2soInByYW5zd2VyIiwgImxvY2FsIiwg
Im9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFuc3dlciInKTsKKyAgICAgICAgICAg
ICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBl
OiJwcmFuc3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhy
b3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3Vj
Y2VlZGVkMywgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAg
ICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1yZW1v
dGUtb2ZmZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3ZXIiLCBzZHA6ImxvY2FsIn0pOworICAg
ICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Np
b25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDIsIGZpbmlzaElmRmFpbGVkKTsnKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2Ny
aXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0
aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNkcCwg
cmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIpIHsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERlc2Ny
aXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywgbG9jYWxTZHApOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAocmVtb3RlVHlwZSAhPT0gIiIgJiYgcmVt
b3RlU2RwICE9PSAiIikgeworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUnLCByZW1vdGVUeXBlKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAn
LCByZW1vdGVTZHApOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgncGMuc2lnbmFsaW5nU3RhdGUnLCBzaWduYWxpbmdTdGF0ZSk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJz
OltdfSk7CisgICAgICAgICAgICBzaG91bGRCZSgncGMuc2lnbmFsaW5nU3RhdGUnLCAnInN0YWJs
ZSInKTsKKyAgICAgICAgICAgIHZhciBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAg
c2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlv
biwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsnKTsKKworICAgICAgICAgICAg
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAgICAgd2luZG93LnN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1vZmZlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLW9mZmVyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTc0OGFlNzNkNzUwOWFjMTA0YzI2MDI3NzQ3YmNhMDNj
NWQ1NzYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1vZmZlci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2NiBAQAorVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gaGF2ZS1yZW1vdGUtb2ZmZXIgc3Rh
dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHBjLnNpZ25hbGluZ1N0
YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNj
cmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1Mg
cGMubG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVy
cm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlz
ICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNT
IHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0TG9j
YWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1
ZXN0RmFpbGVkMSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2Ny
aXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25E
ZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJl
bW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlv
bi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtcmVtb3Rl
LW9mZmVyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24s
IGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7IGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29u
Lm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxE
ZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00g
RXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIK
K1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25h
bGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3Jp
cHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxl
ZDMpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVtb3RlRGVzY3JpcHRpb24g
ZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0
aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMucmVtb3RlRGVz
Y3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCBp
cyAicmVtb3RlIgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1yZW1vdGUtb2ZmZXIi
CitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVz
dFN1Y2NlZWRlZDIsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlw
dGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0
aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1Mg
cGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0
YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihz
ZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQzLCBmaW5pc2hJZkZhaWxlZCk7IGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRl
ZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJhbnN3ZXIiCitQQVNTIHBjLmxv
Y2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24u
dHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCBpcyAicmVtb3Rl
IgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgorUEFTUyBwYy5sb2NhbERlc2Ny
aXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNl
cHRpb24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNpZ25hbGlu
Z1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25E
ZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BB
U1MgcGMubG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0
ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBl
IGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQ
QVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0
TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQ1LCBm
aW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERl
c2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJw
cmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBw
Yy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3Jp
cHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxv
Y2FsLXByYW5zd2VyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUtb2ZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUtb2ZmZXIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zNGJjMGEzZDAwNTI2NTY3MTA2OTRkMDQyN2RmYmNkN2U4MjQ4YWJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1o
YXZlLXJlbW90ZS1vZmZlci5odG1sCkBAIC0wLDAgKzEsMTIyIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
ZGVzY3JpcHRpb24oIlRlc3RzIFJUQ1BlZXJDb25uZWN0aW9uIGluIGhhdmUtcmVtb3RlLW9mZmVy
IHN0YXRlLiIpOworCisgICAgICAgICAgICB2YXIgcGMgPSBudWxsOworCisgICAgICAgICAgICBm
dW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkNSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAg
ICAgICAgICAgY2hlY2soInByYW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICci
aGF2ZS1sb2NhbC1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDQo
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURl
c2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICJv
ZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAgICAgICAg
IHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6InBy
YW5zd2VyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygn
cGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVk
ZWQ1LCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQzKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAg
ICAgICAgICBjaGVjaygiYW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICcic3Rh
YmxlIicpOworICAgICAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9u
KHtpY2VTZXJ2ZXJzOltdfSk7CisgICAgICAgICAgICAgICAgY2hlY2soIiIsICIiLCAiIiwgIiIs
ICcic3RhYmxlIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBS
VENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJyZW1vdGUifSk7CisgICAg
ICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Np
b25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZpbmlzaElmRmFpbGVkKTsnKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDIoKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2Ny
aXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICJvZmZl
ciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAgICAgICAgIHNl
c3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFuc3dl
ciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNl
dExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMywg
ZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlv
biByZXF1ZXN0RmFpbGVkMyhyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVt
b3RlRGVzY3JpcHRpb24gZmFpbGVkLicpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCdlcnJv
clJlYXNvbi5uYW1lJywgJyJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiJyk7CisgICAg
ICAgICAgICAgICAgY2hlY2soIiIsICIiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLXJlbW90
ZS1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAg
ICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9u
RGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQyKHJlYXNvbikK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRT
ZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIs
ICJvZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAgICAg
ICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6
ImFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93
KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3Vj
Y2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCdzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgnZXJyb3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicp
OworICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2
ZS1yZW1vdGUtb2ZmZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0g
bmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3ZXIiLCBzZHA6InJlbW90ZSJ9
KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRp
b24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDIp
OycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2Vl
ZGVkMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVt
b3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAi
IiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1yZW1vdGUtb2ZmZXIiJyk7CisgICAgICAgICAg
ICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlw
ZToib2ZmZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93
KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNj
ZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNkcCwgcmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWdu
YWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAobG9jYWxUeXBl
ICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3Jp
cHRpb24uc2RwJywgbG9jYWxTZHApOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZFRocm93KCdwYy5sb2NhbERlc2NyaXB0aW9uJyk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChyZW1vdGVUeXBlICE9PSAiIiAmJiByZW1v
dGVTZHAgIT09ICIiKSB7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygncGMucmVtb3RlRGVzY3JpcHRpb24udHlwZScsIHJlbW90ZVR5cGUpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCcs
IHJlbW90ZVNkcCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkVGhyb3coJ3BjLnJlbW90ZURlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsIHNpZ25hbGlu
Z1N0YXRlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcGMgPSBuZXcgd2Via2l0UlRD
UGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdw
Yy5zaWduYWxpbmdTdGF0ZScsICcic3RhYmxlIicpOworICAgICAgICAgICAgdmFyIHNlc3Npb25E
ZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2Rw
OiJyZW1vdGUifSk7CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVz
Y3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgZmluaXNoSWZG
YWlsZWQpOycpOworCisgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cisg
ICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5z
d2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24taGF2ZS1yZW1vdGUtcHJhbnN3ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4
NzcwYzVkYzU0OWZiYzljYjRhMzA1Y2M5NmFmMjU1MmEzMjRiYzcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVt
b3RlLXByYW5zd2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4IEBACitUZXN0cyBSVENQZWVy
Q29ubmVjdGlvbiBpbiBoYXZlLXJlbW90ZS1wcmFuc3dlciBzdGF0ZS4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgInN0YWJsZSIKK1BB
U1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNj
ZWVkZWQxLCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBz
ZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50
eXBlIGlzICJvZmZlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgor
UEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1sb2NhbC1vZmZlciIKK1BBU1MgcGMuc2V0
UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMiwg
ZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVtb3Rl
RGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMg
Im9mZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBj
LnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgInByYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVEZXNj
cmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUt
cmVtb3RlLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVz
Y3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQzLCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNT
IHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3Jp
cHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAi
cHJhbnN3ZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCBpcyAicmVtb3RlIgorUEFT
UyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1yZW1vdGUtcHJhbnN3ZXIiCitQQVNTIHBjLnNl
dFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQs
IHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90
ZURlc2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNl
c3Npb25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMg
Im9mZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBj
LnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgInByYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVEZXNj
cmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUt
cmVtb3RlLXByYW5zd2VyIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNj
cmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQyKTsgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBlcnJv
clJlYXNvbi5uYW1lIGlzICJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNTIHBj
LmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRp
b24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAicHJh
bnN3ZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCBpcyAicmVtb3RlIgorUEFTUyBw
Yy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1yZW1vdGUtcHJhbnN3ZXIiCitQQVNTIHBjLnNldExv
Y2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVx
dWVzdEZhaWxlZDMpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0TG9jYWxEZXNj
cmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9u
RGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZl
ciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1v
dGVEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRp
b24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90
ZS1wcmFuc3dlciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRp
b24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkNCk7IGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFz
b24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2Nh
bERlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNk
cCBpcyAibG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgInByYW5zd2Vy
IgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2ln
bmFsaW5nU3RhdGUgaXMgImhhdmUtcmVtb3RlLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVE
ZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQ0LCBmaW5pc2hJ
ZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlw
dGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIi
CitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3Rl
RGVzY3JpcHRpb24udHlwZSBpcyAiYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5z
ZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgInN0YWJsZSIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVt
b3RlLXByYW5zd2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE2OTNjZDk2
ODgyYmIwNTJjNGU1NmExN2NmNDU2MTViNTk4MGMyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUtcHJh
bnN3ZXIuaHRtbApAQCAtMCwwICsxLDExOCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBpbiBoYXZlLXJlbW90ZS1wcmFuc3dlciBzdGF0ZS4i
KTsKKworICAgICAgICAgICAgdmFyIHBjID0gbnVsbDsKKworICAgICAgICAgICAgZnVuY3Rpb24g
cmVxdWVzdFN1Y2NlZWRlZDQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAg
ICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiYW5zd2VyIiwgInJlbW90ZSIsICcic3RhYmxlIicp
OworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkNChyZWFzb24pCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25F
cnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAicHJhbnN3
ZXIiLCAicmVtb3RlIiwgJyJoYXZlLXJlbW90ZS1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAg
ICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJh
bnN3ZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygn
cGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2Vl
ZGVkNCwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBm
dW5jdGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgn
c2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUo
J2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsK
KyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAicHJhbnN3ZXIiLCAicmVt
b3RlIiwgJyJoYXZlLXJlbW90ZS1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9u
RGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJwcmFuc3dlciIs
IHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldExv
Y2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVx
dWVzdEZhaWxlZDQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBy
ZXF1ZXN0RmFpbGVkMihyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJy
b3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxE
ZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVh
c29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAg
ICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAicHJhbnN3ZXIiLCAicmVtb3RlIiwgJyJo
YXZlLXJlbW90ZS1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRp
b24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6ImxvY2Fs
In0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0
aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQz
KTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdEZhaWxl
ZDEocmVhc29uKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVycm9yUmVhc29uID0g
cmVhc29uOworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9u
IGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgnZXJyb3JSZWFzb24ubmFtZScs
ICciSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicpOworICAgICAgICAgICAgICAgIGNo
ZWNrKCJvZmZlciIsICJsb2NhbCIsICJwcmFuc3dlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3Rl
LXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBS
VENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAg
ICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9u
RGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7Jyk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQzKCkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlw
dGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hlY2soIm9mZmVyIiwgImxvY2Fs
IiwgInByYW5zd2VyIiwgInJlbW90ZSIsICciaGF2ZS1yZW1vdGUtcHJhbnN3ZXIiJyk7CisgICAg
ICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bih7dHlwZToib2ZmZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGRO
b3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5p
c2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDEpOycpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMigpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicp
OworICAgICAgICAgICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2NhbCIsICJwcmFuc3dlciIsICJy
ZW1vdGUiLCAnImhhdmUtcmVtb3RlLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIHNlc3Np
b25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6InByYW5zd2Vy
Iiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNl
dFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDMs
IGZpbmlzaElmRmFpbGVkKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rp
b24gcmVxdWVzdFN1Y2NlZWRlZDEoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQoJ3NldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAg
ICAgIGNoZWNrKCJvZmZlciIsICJsb2NhbCIsICIiLCAiIiwgJyJoYXZlLWxvY2FsLW9mZmVyIicp
OworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVz
Y3JpcHRpb24oe3R5cGU6InByYW5zd2VyIiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICAg
ICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlw
dGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDIsIGZpbmlzaElmRmFpbGVkKTsnKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQoKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1
Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxl
ZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNkcCwgcmVtb3RlVHlw
ZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIpIHsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERlc2NyaXB0aW9uLnR5
cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywgbG9jYWxTZHApOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBpZiAocmVtb3RlVHlwZSAhPT0gIiIgJiYgcmVtb3RlU2RwICE9
PSAiIikgeworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJl
bW90ZURlc2NyaXB0aW9uLnR5cGUnLCByZW1vdGVUeXBlKTsKKyAgICAgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAnLCByZW1vdGVT
ZHApOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzaG91bGRCZSgncGMuc2ln
bmFsaW5nU3RhdGUnLCBzaWduYWxpbmdTdGF0ZSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSk7Cisg
ICAgICAgICAgICBzaG91bGRCZSgncGMuc2lnbmFsaW5nU3RhdGUnLCAnInN0YWJsZSInKTsKKyAg
ICAgICAgICAgIHZhciBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICBzaG91bGROb3RU
aHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RT
dWNjZWVkZWQxLCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisKKyAgICAgICAgICAgIHdpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgICAgIHdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24tcmVtb3RlRGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi1leHBlY3RlZC50eHQK
aW5kZXggZWVmMmVkMWJmM2IyYTA2OTljYjdlMTgyY2U1OGQ4YzgxNDY0OWE4OS4uMjI3YWFhOWFl
ODk2OGE1MDhmYzRkZDMyYTNlMTliOTY0ZTFmMGMwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi1yZW1vdGVEZXNjcmlwdGlvbi1leHBlY3RlZC50eHQKQEAgLTcsOSArNyw5IEBAIFBBU1Mg
cGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2Vl
ZGVkMSwgcmVxdWVzdEZhaWxlCiBQQVNTIHJlcXVlc3RTdWNjZWVkZWQgd2FzIGNhbGxlZC4KIFBB
U1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3Vj
Y2VlZGVkMiwgcmVxdWVzdEZhaWxlZDIpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1Mg
cmVxdWVzdEZhaWxlZCB3YXMgY2FsbGVkLgotUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBl
IGlzICJhbnN3ZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgog
UEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKLVBBU1MgcGMucmVtb3Rl
RGVzY3JpcHRpb24udHlwZSBpcyAiYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50
eXBlIGlzICJvZmZlciIKIFBBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUi
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlRGVzY3JpcHRpb24u
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVt
b3RlRGVzY3JpcHRpb24uaHRtbAppbmRleCA4NWQ0ODA3OTA5NjM5NTA4NTQ0ZTdkY2MxNjYzODlk
ODk3OTAwY2IwLi43NmViNjk3ZWY1Y2RiNjM5ZGFhZjFlMDIwYWYyOTg1ZWZmZTEyNTE1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXJl
bW90ZURlc2NyaXB0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi5odG1sCkBAIC0xMywxMCArMTMsMTAg
QEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdyZXF1ZXN0RmFp
bGVkIHdhcyBjYWxsZWQuJyk7CiAKLSAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUnLCAiYW5zd2VyIik7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlJywgIm9m
ZmVyIik7CiAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVE
ZXNjcmlwdGlvbi5zZHAnLCAicmVtb3RlIik7CiAgICAgICAgICAgICAgICAgcGMuY2xvc2UoKTsK
LSAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0
aW9uLnR5cGUnLCAiYW5zd2VyIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlJywgIm9mZmVyIik7CiAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAnLCAicmVt
b3RlIik7CiAKICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKQEAgLTM4LDEyICszOCwx
MiBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3JlcXVlc3RT
dWNjZWVkZWQgd2FzIGNhbGxlZC4nKTsKIAotICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlw
dGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJsb2Nh
bCJ9KTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6ImxvY2FsIn0pOwogICAgICAgICAgICAg
ICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3Jp
cHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCByZXF1ZXN0RmFpbGVkMik7Jyk7CiAgICAgICAgICAg
ICB9CiAKICAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VT
ZXJ2ZXJzOltdfSk7Ci0gICAgICAgICAgICB2YXIgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToiYW5zd2VyIiwgc2RwOiJyZW1vdGUifSk7CisgICAg
ICAgICAgICB2YXIgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bih7dHlwZToib2ZmZXIiLCBzZHA6InJlbW90ZSJ9KTsKICAgICAgICAgICAgIHNob3VsZE5vdFRo
cm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RT
dWNjZWVkZWQxLCByZXF1ZXN0RmFpbGVkMSk7Jyk7CiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGFibGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGFibGUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkZjgzZmNhNDg5NGVkN2QwNmM2YzM1ZWRiZjBmYzYx
OWQxNjcwOTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OSBAQAor
VGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gc3RhYmxlIHN0YXRlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgorUEFT
UyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNj
ZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNl
dExvY2FsRGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZh
bGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24gdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4K
K1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlk
U3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMg
InN0YWJsZSIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24s
IGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7IGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24u
bmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERl
c2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBF
eGNlcHRpb24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNpZ25h
bGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Np
b25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQzKTsgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4KK1BB
U1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIgor
UEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0
YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEu
CitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90ZURl
c2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RG
YWlsZWQ0KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0
aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNj
cmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJlbW90
ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERP
TSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNT
IHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2Vl
ZGVkMSwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0
TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlw
ZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BB
U1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3Rh
dGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhh
dmUtbG9jYWwtb2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMucmVt
b3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjog
RE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgInN0YWJsZSIKK1BB
U1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3Vj
Y2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
c2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9u
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24g
MTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5y
ZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUg
aXMgImhhdmUtcmVtb3RlLW9mZmVyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24tc3RhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3ZGU3NWNl
MDE0MTI2OGI3MTBkYTYxZjg2NGIxZDZhOWVmY2JmYTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS5odG1sCkBA
IC0wLDAgKzEsMTA4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5
PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIFJUQ1Bl
ZXJDb25uZWN0aW9uIGluIHN0YWJsZSBzdGF0ZS4iKTsKKworICAgICAgICAgICAgdmFyIHBjID0g
bnVsbDsKKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDIoKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9u
IHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICJvZmZlciIsICJy
ZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3Vj
Y2VlZGVkMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0
TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hlY2soIm9m
ZmVyIiwgImxvY2FsIiwgIiIsICIiLCAnImhhdmUtbG9jYWwtb2ZmZXIiJykKKyAgICAgICAgICAg
ICAgICBwYyA9IG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7aWNlU2VydmVyczpbXX0pOwor
ICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIiIsICIiLCAnInN0YWJsZSInKTsKKyAgICAg
ICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
KHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5v
dFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVl
c3RTdWNjZWVkZWQyLCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQ0KHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25F
cnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICIiLCAiIiwgJyJzdGFibGUi
Jyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAgICAg
IHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlv
biwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsnKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdEZhaWxlZDMocmVhc29uKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGVycm9yUmVhc29uID0gcmVhc29uOworICAgICAgICAgICAg
ICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZSgnZXJyb3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25EZXNj
cmlwdGlvbkVycm9yIicpOworICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIiIsICIiLCAn
InN0YWJsZSInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAg
ICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lv
bkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDQpOycpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMihyZWFzb24p
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247Cisg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRT
ZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIs
ICIiLCAiIiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9u
ID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3ZXIiLCBzZHA6InJlbW90
ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3Jp
cHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxl
ZDMpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFp
bGVkMShyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24g
PSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlv
biBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUn
LCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBj
aGVjaygiIiwgIiIsICIiLCAiIiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lv
bkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3ZXIi
LCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRM
b2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJl
cXVlc3RGYWlsZWQyKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
ZmluaXNoSWZTdWNjZWVkZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
ZmluaXNoSWZGYWlsZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2so
bG9jYWxUeXBlLCBsb2NhbFNkcCwgcmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0
ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAm
JiBsb2NhbFNkcCAhPT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2Rw
JywgbG9jYWxTZHApOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIHNob3VsZFRocm93KCdwYy5sb2NhbERlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIGlmIChyZW1vdGVUeXBlICE9PSAiIiAmJiByZW1vdGVTZHAgIT09
ICIiKSB7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGMucmVt
b3RlRGVzY3JpcHRpb24udHlwZScsIHJlbW90ZVR5cGUpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCcsIHJlbW90ZVNk
cCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
VGhyb3coJ3BjLnJlbW90ZURlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsIHNpZ25hbGluZ1N0YXRlKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5l
Y3Rpb24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxp
bmdTdGF0ZScsICcic3RhYmxlIicpOworICAgICAgICAgICAgdmFyIHNlc3Npb25EZXNjcmlwdGlv
biA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoibG9jYWwi
fSk7CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihz
ZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMSk7Jyk7
CisKKyAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgICAg
IHdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgICAgICA8L3NjcmlwdD4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="242878"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="242932"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219382</attachid>
            <date>2013-12-16 19:00:13 -0800</date>
            <delta_ts>2013-12-16 20:09:05 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-125655-20131216235927.patch</filename>
            <type>text/plain</type>
            <size>71124</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmVmYzY0ODNiODYzMWI4
OTdlZDRjZWM1MDdmY2Q5MDNjMjE4NmVkNC4uZTU3ODNlMDczNjc3MzRhOTkwZjFlNTYwNWJjNzNi
YzcwMWQwZWNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTEyLTE2ICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIENoZWNraW5nIFJUQ1BlZXJDb25uZWN0aW9uIHNpZ25hbGluZ1N0YXRlIGJlZm9yZSBz
ZXR0aW5nIGxvY2FsL3JlbW90ZURlc2NyaXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU2NTUKKworICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IENhcmxzb24uCisKKyAgICAgICAgQmVmb3JlIHNldHRpbmcgYSBzZXNzaW9uIGRlc2NyaXB0aW9u
IFJUQ1BlZXJDb25uZWN0aW9uIG11c3QgY2hlY2sgaWYgaXQgaXMgaW4gdmFsaWQgc3RhdGUgZm9y
IHRoYXQgU0RQIHR5cGUuCisKKyAgICAgICAgTmV3IHRlc3RzOiBmYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtYW5zd2VyLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1vZmZlci5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9j
YWwtcHJhbnN3ZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1oYXZlLXJlbW90ZS1vZmZlci5odG1sCisgICAgICAgICAgICAgICBmYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tc3RhYmxlLmh0
bWwKKworICAgICAgICBNb2RpZmllZDogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi1yZW1vdGVEZXNjcmlwdGlvbi5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0
aW9uOjpjaGVja1N0YXRlRm9yTG9jYWxEZXNjcmlwdGlvbik6IENoZWNrcyBpZiB0aGUgY3VycmVu
dCBzdGF0ZSBvZiBSVENQZWVyQ29ubmVjdGlvbiBpcworICAgICAgICB2YWxpZCBmb3IgdGhlIGxv
Y2FsIFNEUCB0aGF0IGlzIGJlaW5nIHNldC4KKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25u
ZWN0aW9uOjpjaGVja1N0YXRlRm9yUmVtb3RlRGVzY3JpcHRpb24pOiBDaGVja3MgaWYgdGhlIGN1
cnJlbnQgc3RhdGUgb2YgUlRDUGVlckNvbm5lY3Rpb24KKyAgICAgICAgaXMgdmFsaWQgZm9yIHRo
ZSByZW1vdGUgU0RQIHRoYXQgaXMgYmVpbmcgc2V0LgorICAgICAgICAoV2ViQ29yZTo6UlRDUGVl
ckNvbm5lY3Rpb246OnNldExvY2FsRGVzY3JpcHRpb24pOiBOb3cgY2FsbHMgY2hlY2tTdGF0ZUZv
ckxvY2FsRGVzY3JpcHRpb24gcHJpb3IgdG8gc2V0IHRoZQorICAgICAgICBsb2NhbCBTRFAuCisg
ICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6c2V0UmVtb3RlRGVzY3JpcHRpb24p
OiBOb3cgQ2FsbHMgY2hlY2tTdGF0ZUZvclJlbW90ZURlc2NyaXB0aW9uIHByaW9yIHRvIHNldCB0
aGUKKyAgICAgICAgcmVtb3RlIFNEUC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNN
b2NrLmNwcDogQWRkaW5nIG5ldyBjbGFzcyB0byBub3RpZnkgUlRDUGVlckNvbm5lY3Rpb24gYWJv
dXQgYSBzaWduYWxpbmcgc3RhdGUKKyAgICAgICAgY2hhbmdlOiBTaWduYWxpbmdTdGF0ZU5vdGlm
aWVyLgorICAgICAgICAoV2ViQ29yZTo6U2lnbmFsaW5nU3RhdGVOb3RpZmllcjo6U2lnbmFsaW5n
U3RhdGVOb3RpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpTaWduYWxpbmdTdGF0ZU5vdGlmaWVy
OjpmaXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jazo6c2lnbmFsaW5n
U3RhdGVGcm9tU0RQKTogRGVmaW5lcyB0aGUgbmV3IHN0YXRlIHRoYXQgUlRDUGVlckNvbm5lY3Rp
b24KKyAgICAgICAgc2hvdWxkIGJlLCBhY2NvcmRpbmcgdGhlIFNEUCB0aGF0IGlzIGJlaW5nIHNl
dC4KKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6OnNldExv
Y2FsRGVzY3JpcHRpb24pOiBDYWxscyBzaWduYWxpbmdTdGF0ZUZyb21TRFAsIGluIG9yZGVyIHRv
IGdldCB0aGUKKyAgICAgICAgbmV3IHNpZ25hbGluZyBzdGF0ZSBhbmQgbm90aWZ5IFJUQ1BlZXJD
b25uZWN0aW9uIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlck1vY2s6OnNldFJlbW90ZURlc2NyaXB0aW9uKTogRGl0dG8uCisgICAgICAgICogcGxhdGZv
cm0vbW9jay9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrLmg6CisKIDIwMTMtMTItMTYgIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0IGEg
bXlzdGVyaW91cyBhbmQgaW5leHBsaWNhYmxlIHBhcnQgb2YgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvMTYwNjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IDdlMzRlMTM4MDM0NTRiOTg2
NzJhOWZjM2NiMzU3N2RhOGY4NDU2MGYuLmJiODk1YzkyZjczNjg4OGM3N2U0ODM2Y2FlZGVkNTk1
YzE0NTU3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC02Miw2ICs2Miw4IEBACiAjaW5jbHVkZSAi
UlRDVm9pZFJlcXVlc3RJbXBsLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgogI2luY2x1ZGUgIlZvaWRDYWxsYmFjay5oIgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+
CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0yMTAsNiArMjEyLDMwIEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OmNyZWF0ZUFuc3dlcihQ
YXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrPiBzCiAgICAgbV9wZWVySGFu
ZGxlci0+Y3JlYXRlQW5zd2VyKHJlcXVlc3QucmVsZWFzZSgpLCBjb25zdHJhaW50cy5yZWxlYXNl
KCkpOwogfQogCitib29sIFJUQ1BlZXJDb25uZWN0aW9uOjpjaGVja1N0YXRlRm9yTG9jYWxEZXNj
cmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24qIGxvY2FsRGVzY3JpcHRpb24pCit7CisgICAg
aWYgKGxvY2FsRGVzY3JpcHRpb24tPnR5cGUoKSA9PSAib2ZmZXIiKQorICAgICAgICByZXR1cm4g
bV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZVN0YWJsZSB8fCBtX3NpZ25hbGluZ1N0
YXRlID09IFNpZ25hbGluZ1N0YXRlSGF2ZUxvY2FsT2ZmZXI7CisgICAgaWYgKGxvY2FsRGVzY3Jp
cHRpb24tPnR5cGUoKSA9PSAiYW5zd2VyIikKKyAgICAgICAgcmV0dXJuIG1fc2lnbmFsaW5nU3Rh
dGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlUmVtb3RlT2ZmZXIgfHwgbV9zaWduYWxpbmdTdGF0ZSA9
PSBTaWduYWxpbmdTdGF0ZUhhdmVMb2NhbFByQW5zd2VyOworICAgIGlmIChsb2NhbERlc2NyaXB0
aW9uLT50eXBlKCkgPT0gInByYW5zd2VyIikKKyAgICAgICAgcmV0dXJuIG1fc2lnbmFsaW5nU3Rh
dGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlTG9jYWxQckFuc3dlciB8fCBtX3NpZ25hbGluZ1N0YXRl
ID09IFNpZ25hbGluZ1N0YXRlSGF2ZVJlbW90ZU9mZmVyOworCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitib29sIFJUQ1BlZXJDb25uZWN0aW9uOjpjaGVja1N0YXRlRm9yUmVtb3RlRGVzY3JpcHRp
b24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKiByZW1vdGVEZXNjcmlwdGlvbikKK3sKKyAgICBpZiAo
cmVtb3RlRGVzY3JpcHRpb24tPnR5cGUoKSA9PSAib2ZmZXIiKQorICAgICAgICByZXR1cm4gbV9z
aWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZVN0YWJsZSB8fCBtX3NpZ25hbGluZ1N0YXRl
ID09IFNpZ25hbGluZ1N0YXRlSGF2ZVJlbW90ZU9mZmVyOworICAgIGlmIChyZW1vdGVEZXNjcmlw
dGlvbi0+dHlwZSgpID09ICJhbnN3ZXIiKQorICAgICAgICByZXR1cm4gbV9zaWduYWxpbmdTdGF0
ZSA9PSBTaWduYWxpbmdTdGF0ZUhhdmVMb2NhbE9mZmVyIHx8IG1fc2lnbmFsaW5nU3RhdGUgPT0g
U2lnbmFsaW5nU3RhdGVIYXZlUmVtb3RlUHJBbnN3ZXI7CisgICAgaWYgKHJlbW90ZURlc2NyaXB0
aW9uLT50eXBlKCkgPT0gInByYW5zd2VyIikKKyAgICAgICAgcmV0dXJuIG1fc2lnbmFsaW5nU3Rh
dGUgPT0gU2lnbmFsaW5nU3RhdGVIYXZlUmVtb3RlUHJBbnN3ZXIgfHwgbV9zaWduYWxpbmdTdGF0
ZSA9PSBTaWduYWxpbmdTdGF0ZUhhdmVMb2NhbE9mZmVyOworCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCiB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzZXRMb2NhbERlc2NyaXB0aW9uKFBhc3NSZWZQ
dHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBwcnBTZXNzaW9uRGVzY3JpcHRpb24sIFBhc3NSZWZQ
dHI8Vm9pZENhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRDUGVlckNvbm5l
Y3Rpb25FcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICAgICBpZiAobV9zaWduYWxpbmdTdGF0ZSA9PSBTaWduYWxpbmdTdGF0ZUNsb3NlZCkgewpAQCAt
MjIzLDYgKzI0OSwxMiBAQCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzZXRMb2NhbERlc2NyaXB0
aW9uKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBwcgogICAgICAgICByZXR1cm47
CiAgICAgfQogCisgICAgaWYgKCFjaGVja1N0YXRlRm9yTG9jYWxEZXNjcmlwdGlvbihzZXNzaW9u
RGVzY3JpcHRpb24uZ2V0KCkpKSB7CisgICAgICAgIFJlZlB0cjxET01FcnJvcj4gZXJyb3IgPSBE
T01FcnJvcjo6Y3JlYXRlKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6aW52YWxpZFNlc3Npb25E
ZXNjcmlwdGlvbkVycm9yTmFtZSgpKTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChiaW5kKCZS
VENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50LCBlcnJvckNhbGxiYWNr
LmdldCgpLCBlcnJvci5yZWxlYXNlKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAg
IFJlZlB0cjxSVENWb2lkUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBSVENWb2lkUmVxdWVzdEltcGw6
OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JD
YWxsYmFjayk7CiAgICAgbV9wZWVySGFuZGxlci0+c2V0TG9jYWxEZXNjcmlwdGlvbihyZXF1ZXN0
LnJlbGVhc2UoKSwgc2Vzc2lvbkRlc2NyaXB0aW9uLT5kZXNjcmlwdG9yKCkpOwogfQpAQCAtMjUy
LDYgKzI4NCwxMiBAQCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpzZXRSZW1vdGVEZXNjcmlwdGlv
bihQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gcAogICAgICAgICByZXR1cm47CiAg
ICAgfQogCisgICAgaWYgKCFjaGVja1N0YXRlRm9yUmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRl
c2NyaXB0aW9uLmdldCgpKSkgeworICAgICAgICBSZWZQdHI8RE9NRXJyb3I+IGVycm9yID0gRE9N
RXJyb3I6OmNyZWF0ZShSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmludmFsaWRTZXNzaW9uRGVz
Y3JpcHRpb25FcnJvck5hbWUoKSk7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoYmluZCgmUlRD
UGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudCwgZXJyb3JDYWxsYmFjay5n
ZXQoKSwgZXJyb3IucmVsZWFzZSgpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBS
ZWZQdHI8UlRDVm9pZFJlcXVlc3RJbXBsPiByZXF1ZXN0ID0gUlRDVm9pZFJlcXVlc3RJbXBsOjpj
cmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2Fs
bGJhY2spOwogICAgIG1fcGVlckhhbmRsZXItPnNldFJlbW90ZURlc2NyaXB0aW9uKHJlcXVlc3Qu
cmVsZWFzZSgpLCBzZXNzaW9uRGVzY3JpcHRpb24tPmRlc2NyaXB0b3IoKSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmgKaW5kZXggMGU4ZGMzYzYwMzUzMDE3NTljOTA4N2ZmM2IwODliYjJlMDRkM2NlOC4uZGUyZTVl
ODRmYWI0OWExMjQwMTg3MzAzY2ZmYzg3NTgyYWRlZDBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaApAQCAtMTQ5
LDYgKzE0OSw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGFuZ2VJY2VHYXRoZXJpbmdTdGF0ZShJ
Y2VHYXRoZXJpbmdTdGF0ZSk7CiAgICAgdm9pZCBjaGFuZ2VJY2VDb25uZWN0aW9uU3RhdGUoSWNl
Q29ubmVjdGlvblN0YXRlKTsKIAorICAgIGJvb2wgY2hlY2tTdGF0ZUZvckxvY2FsRGVzY3JpcHRp
b24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKik7CisgICAgYm9vbCBjaGVja1N0YXRlRm9yUmVtb3Rl
RGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKik7CisKICAgICBTaWduYWxpbmdTdGF0
ZSBtX3NpZ25hbGluZ1N0YXRlOwogICAgIEljZUdhdGhlcmluZ1N0YXRlIG1faWNlR2F0aGVyaW5n
U3RhdGU7CiAgICAgSWNlQ29ubmVjdGlvblN0YXRlIG1faWNlQ29ubmVjdGlvblN0YXRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5jcHAKaW5k
ZXggMGM4MDY1OTZjN2JjMDE2NjY3ODU4MmNlM2Q1ZjQwN2MxMDA3MjIwYi4uMDlhMjE1Njc2Yzlh
ZjM2NjQ3OTFhM2Q4ZjhiNmM2MDAwMDkwZWQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL1JUQ05vdGlmaWVyc01vY2suY3BwCkBAIC04MCw2ICs4MCwxNyBAQCB2b2lk
IEljZUNvbm5lY3Rpb25Ob3RpZmllcjo6ZmlyZSgpCiAgICAgbV9jbGllbnQtPmRpZENoYW5nZUlj
ZUNvbm5lY3Rpb25TdGF0ZShtX2Nvbm5lY3Rpb25TdGF0ZSk7CiB9CiAKK1NpZ25hbGluZ1N0YXRl
Tm90aWZpZXI6OlNpZ25hbGluZ1N0YXRlTm90aWZpZXIoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50KiBjbGllbnQsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFsaW5n
U3RhdGUgc2lnbmFsaW5nU3RhdGUpCisgICAgOiBtX2NsaWVudChjbGllbnQpCisgICAgLCBtX3Np
Z25hbGluZ1N0YXRlKHNpZ25hbGluZ1N0YXRlKQoreworfQorCit2b2lkIFNpZ25hbGluZ1N0YXRl
Tm90aWZpZXI6OmZpcmUoKQoreworICAgIG1fY2xpZW50LT5kaWRDaGFuZ2VTaWduYWxpbmdTdGF0
ZShtX3NpZ25hbGluZ1N0YXRlKTsKK30KKwogUmVtb3RlRGF0YUNoYW5uZWxOb3RpZmllcjo6UmVt
b3RlRGF0YUNoYW5uZWxOb3RpZmllcihSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQqIGNs
aWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svUlRDTm90aWZpZXJzTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9SVENOb3RpZmllcnNNb2NrLmgKaW5kZXggZWUwNWMyNGJlZGQxMWRjODQwODhm
MGEwYjBjYTFmYzJmYjRiNmMzOC4uYzVkNWVjZDM2MzJhZWZiMDlkMWFhZGQ1MjU5YTlmOTI3OGYx
ZDQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmll
cnNNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENOb3RpZmllcnNN
b2NrLmgKQEAgLTc3LDYgKzc3LDE3IEBAIHByaXZhdGU6CiAgICAgUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyQ2xpZW50OjpJY2VHYXRoZXJpbmdTdGF0ZSBtX2dhdGhlcmluZ1N0YXRlOwogfTsKIAor
Y2xhc3MgU2lnbmFsaW5nU3RhdGVOb3RpZmllciA6IHB1YmxpYyBNb2NrTm90aWZpZXIgeworcHVi
bGljOgorICAgIFNpZ25hbGluZ1N0YXRlTm90aWZpZXIoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2xpZW50KiwgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpTaWduYWxpbmdTdGF0ZSk7
CisKKyAgICB2b2lkIGZpcmUoKSBPVkVSUklERTsKKworcHJpdmF0ZToKKyAgICBSVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXJDbGllbnQqIG1fY2xpZW50OworICAgIFJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudDo6U2lnbmFsaW5nU3RhdGUgbV9zaWduYWxpbmdTdGF0ZTsKK307CisKIGNsYXNz
IFJlbW90ZURhdGFDaGFubmVsTm90aWZpZXIgOiBwdWJsaWMgTW9ja05vdGlmaWVyIHsKIHB1Ymxp
YzoKICAgICBSZW1vdGVEYXRhQ2hhbm5lbE5vdGlmaWVyKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckNsaWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5jcHAKaW5kZXggNmMyZDU1YjZmY2M2Mjk5
ODY1ZjA4ZmFiZGI0MWVhMmEyYzE2NjljNC4uY2FlMzE4NjI1YmFjNWYyODk4MWNlMTA0YzQ4YjNj
MTJiYmQzMzE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9SVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2suY3BwCkBAIC04NywzMCArODcsNTAg
QEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrOjpjcmVhdGVBbnN3ZXIoUGFzc1Jl
ZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24KICAgICBtX3RpbWVyRXZlbnRzLmFwcGVuZChhZG9w
dFJlZihuZXcgVGltZXJFdmVudCh0aGlzLCBub3RpZmllcikpKTsKIH0KIAorUlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyQ2xpZW50OjpTaWduYWxpbmdTdGF0ZSBSVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJNb2NrOjpzaWduYWxpbmdTdGF0ZUZyb21TRFAoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3Jp
cHRvciogZGVzY3JpcHRvcikKK3sKKyAgICBpZiAoZGVzY3JpcHRvci0+dHlwZSgpID09ICJvZmZl
ciIgJiYgZGVzY3JpcHRvci0+c2RwKCkgPT0gImxvY2FsIikKKyAgICAgICAgcmV0dXJuIFJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFsaW5nU3RhdGVIYXZlTG9jYWxPZmZlcjsK
KyAgICBpZiAoZGVzY3JpcHRvci0+dHlwZSgpID09ICJvZmZlciIgJiYgZGVzY3JpcHRvci0+c2Rw
KCkgPT0gInJlbW90ZSIpCisgICAgICAgIHJldHVybiBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJD
bGllbnQ6OlNpZ25hbGluZ1N0YXRlSGF2ZVJlbW90ZU9mZmVyOworICAgIGlmIChkZXNjcmlwdG9y
LT50eXBlKCkgPT0gInByYW5zd2VyIiAmJiBkZXNjcmlwdG9yLT5zZHAoKSA9PSAibG9jYWwiKQor
ICAgICAgICByZXR1cm4gUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpTaWduYWxpbmdT
dGF0ZUhhdmVMb2NhbFByQW5zd2VyOworICAgIGlmIChkZXNjcmlwdG9yLT50eXBlKCkgPT0gInBy
YW5zd2VyIiAmJiBkZXNjcmlwdG9yLT5zZHAoKSA9PSAicmVtb3RlIikKKyAgICAgICAgcmV0dXJu
IFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudDo6U2lnbmFsaW5nU3RhdGVIYXZlUmVtb3Rl
UHJBbnN3ZXI7CisKKyAgICByZXR1cm4gUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpT
aWduYWxpbmdTdGF0ZVN0YWJsZTsKK30KKwogdm9pZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJN
b2NrOjpzZXRMb2NhbERlc2NyaXB0aW9uKFBhc3NSZWZQdHI8UlRDVm9pZFJlcXVlc3Q+IHJlcXVl
c3QsIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gZGVzY3JpcHRv
cikKIHsKLSAgICBSZWZQdHI8Vm9pZFJlcXVlc3ROb3RpZmllcj4gbm90aWZpZXI7CisgICAgUmVm
UHRyPFZvaWRSZXF1ZXN0Tm90aWZpZXI+IHZvaWROb3RpZmllcjsKKyAgICBSZWZQdHI8U2lnbmFs
aW5nU3RhdGVOb3RpZmllcj4gc2lnbmFsaW5nTm90aWZpZXI7CiAgICAgaWYgKCFkZXNjcmlwdG9y
LmdldCgpIHx8IGRlc2NyaXB0b3ItPnNkcCgpICE9ICJsb2NhbCIpCi0gICAgICAgIG5vdGlmaWVy
ID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVxdWVzdCwgZmFsc2UpKTsKKyAg
ICAgICAgdm9pZE5vdGlmaWVyID0gYWRvcHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVx
dWVzdCwgZmFsc2UsIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6aW50ZXJuYWxFcnJvck5hbWUo
KSkpOwogICAgIGVsc2UgewogICAgICAgICBtX2xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uID0gZGVz
Y3JpcHRvcjsKLSAgICAgICAgbm90aWZpZXIgPSBhZG9wdFJlZihuZXcgVm9pZFJlcXVlc3ROb3Rp
ZmllcihyZXF1ZXN0LCB0cnVlKSk7CisgICAgICAgIHNpZ25hbGluZ05vdGlmaWVyID0gYWRvcHRS
ZWYobmV3IFNpZ25hbGluZ1N0YXRlTm90aWZpZXIobV9jbGllbnQsIHNpZ25hbGluZ1N0YXRlRnJv
bVNEUChtX2xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uLmdldCgpKSkpOworICAgICAgICB2b2lkTm90
aWZpZXIgPSBhZG9wdFJlZihuZXcgVm9pZFJlcXVlc3ROb3RpZmllcihyZXF1ZXN0LCB0cnVlKSk7
CisgICAgICAgIG1fdGltZXJFdmVudHMuYXBwZW5kKGFkb3B0UmVmKG5ldyBUaW1lckV2ZW50KHRo
aXMsIHNpZ25hbGluZ05vdGlmaWVyKSkpOwogICAgIH0KIAotICAgIG1fdGltZXJFdmVudHMuYXBw
ZW5kKGFkb3B0UmVmKG5ldyBUaW1lckV2ZW50KHRoaXMsIG5vdGlmaWVyKSkpOworICAgIG1fdGlt
ZXJFdmVudHMuYXBwZW5kKGFkb3B0UmVmKG5ldyBUaW1lckV2ZW50KHRoaXMsIHZvaWROb3RpZmll
cikpKTsKIH0KIAogdm9pZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJNb2NrOjpzZXRSZW1vdGVE
ZXNjcmlwdGlvbihQYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0PiByZXF1ZXN0LCBQYXNzUmVmUHRy
PFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IGRlc2NyaXB0b3IpCiB7Ci0gICAgUmVm
UHRyPFZvaWRSZXF1ZXN0Tm90aWZpZXI+IG5vdGlmaWVyOworICAgIFJlZlB0cjxWb2lkUmVxdWVz
dE5vdGlmaWVyPiB2b2lkTm90aWZpZXI7CisgICAgUmVmUHRyPFNpZ25hbGluZ1N0YXRlTm90aWZp
ZXI+IHNpZ25hbGluZ05vdGlmaWVyOwogICAgIGlmICghZGVzY3JpcHRvci5nZXQoKSB8fCBkZXNj
cmlwdG9yLT5zZHAoKSAhPSAicmVtb3RlIikKLSAgICAgICAgbm90aWZpZXIgPSBhZG9wdFJlZihu
ZXcgVm9pZFJlcXVlc3ROb3RpZmllcihyZXF1ZXN0LCBmYWxzZSkpOworICAgICAgICB2b2lkTm90
aWZpZXIgPSBhZG9wdFJlZihuZXcgVm9pZFJlcXVlc3ROb3RpZmllcihyZXF1ZXN0LCBmYWxzZSwg
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjppbnRlcm5hbEVycm9yTmFtZSgpKSk7CiAgICAgZWxz
ZSB7CiAgICAgICAgIG1fcmVtb3RlU2Vzc2lvbkRlc2NyaXB0aW9uID0gZGVzY3JpcHRvcjsKLSAg
ICAgICAgbm90aWZpZXIgPSBhZG9wdFJlZihuZXcgVm9pZFJlcXVlc3ROb3RpZmllcihyZXF1ZXN0
LCB0cnVlKSk7CisgICAgICAgIHNpZ25hbGluZ05vdGlmaWVyID0gYWRvcHRSZWYobmV3IFNpZ25h
bGluZ1N0YXRlTm90aWZpZXIobV9jbGllbnQsIHNpZ25hbGluZ1N0YXRlRnJvbVNEUChtX3JlbW90
ZVNlc3Npb25EZXNjcmlwdGlvbi5nZXQoKSkpKTsKKyAgICAgICAgdm9pZE5vdGlmaWVyID0gYWRv
cHRSZWYobmV3IFZvaWRSZXF1ZXN0Tm90aWZpZXIocmVxdWVzdCwgdHJ1ZSkpOworICAgICAgICBt
X3RpbWVyRXZlbnRzLmFwcGVuZChhZG9wdFJlZihuZXcgVGltZXJFdmVudCh0aGlzLCBzaWduYWxp
bmdOb3RpZmllcikpKTsKICAgICB9CiAKLSAgICBtX3RpbWVyRXZlbnRzLmFwcGVuZChhZG9wdFJl
ZihuZXcgVGltZXJFdmVudCh0aGlzLCBub3RpZmllcikpKTsKKyAgICBtX3RpbWVyRXZlbnRzLmFw
cGVuZChhZG9wdFJlZihuZXcgVGltZXJFdmVudCh0aGlzLCB2b2lkTm90aWZpZXIpKSk7CiB9CiAK
IFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gUlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyTW9jazo6bG9jYWxEZXNjcmlwdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2suaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5o
CmluZGV4IGYyODVkN2EyMTJjYTViMzgzNTZlMmM2MmMzZTQ0ZTVmYjM3YjRmYWYuLjc4ODAyOGIy
ZGRiMDJkNmUxOTViZjZlODAxOWY0ZmI1NDk1ZTRjYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyTW9jay5o
CkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUg
IlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oIgorI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudC5oIgogI2luY2x1ZGUgIlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0
b3IuaCIKICNpbmNsdWRlICJUaW1lckV2ZW50QmFzZWRNb2NrLmgiCiAKQEAgLTYwLDYgKzYxLDcg
QEAgcHVibGljOgogICAgIGV4cGxpY2l0IFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2soUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50Kik7CiAKIHByaXZhdGU6CisgICAgUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2xpZW50OjpTaWduYWxpbmdTdGF0ZSBzaWduYWxpbmdTdGF0ZUZyb21T
RFAoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciopOwogICAgIFJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlckNsaWVudCogbV9jbGllbnQ7CiAKICAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvcj4gbV9sb2NhbFNlc3Npb25EZXNjcmlwdGlvbjsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmZGVj
YTdiMzk3NThlZjZkYzhhYjBhY2FhMTJmMmIwZGJiN2NhZGY4Li5lZjRkNTk1MTMxMDk1NzZlYjll
ZTM0ZmFmNzQxMjU4OGM5MmUzMzBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTMtMTItMTYg
IFRoaWFnbyBkZSBCYXJyb3MgTGFjZXJkYSAgPHRoaWFnby5sYWNlcmRhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgQ2hlY2tpbmcgUlRDUGVlckNvbm5lY3Rpb24gc2lnbmFsaW5nU3RhdGUgYmVm
b3JlIHNldHRpbmcgbG9jYWwvcmVtb3RlRGVzY3JpcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTY1NQorCisgICAgICAgIFJldmlld2VkIGJ5
IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBCZWZvcmUgc2V0dGluZyBhIHNlc3Npb24gZGVzY3Jp
cHRpb24gUlRDUGVlckNvbm5lY3Rpb24gbXVzdCBjaGVjayBpZiBpdCBpcyBpbiB2YWxpZCBzdGF0
ZSBmb3IgdGhhdCBTRFAgdHlwZS4KKworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1hbnN3ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLW9mZmVyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi1oYXZlLWxvY2FsLW9mZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1wcmFuc3dlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1s
b2NhbC1wcmFuc3dlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLW9mZmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1v
ZmZlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1wcmFuc3dl
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLXJlbW90ZURlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZURlc2NyaXB0aW9uLmh0bWw6CisgICAgICAg
ICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGFibGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0
YWJsZS5odG1sOiBBZGRlZC4KKwogMjAxMy0xMi0xNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIENhY2hlIGdldHRlcnMgYW5kIGN1c3RvbSBhY2Nlc3NvcnMgb24g
dGhlIHByb3RvdHlwZSBjaGFpbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLWFuc3dlci5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLWFuc3dlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhiNzI0ZjNhMDRiNWI0ZDJhMzIwNmJlOTJkNTQxYTMwZWY5OGVkMWEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLWhhdmUtbG9jYWwtYW5zd2VyLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICAgIDxo
ZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gcmVtb3RlRGVz
Y3JpcHRpb24uIik7CisKKyAgICAgICAgICAgIHZhciBwYyA9IG51bGw7CisKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQ0KHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIn
KTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAi
cmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0
RmFpbGVkMyhyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFz
b24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3Jp
cHRpb24gZmFpbGVkLicpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCdlcnJvclJlYXNvbi5u
YW1lJywgJyJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiJyk7CisgICAgICAgICAgICAg
ICAgY2hlY2soInByYW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1s
b2NhbC1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBu
ZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJwcmFuc3dlciIsIHNkcDoicmVtb3RlIn0p
OworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlv
bihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkNCk7
Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQy
KHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJl
YXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBm
YWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAn
IkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVj
aygicHJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXBy
YW5zd2VyIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENT
ZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAg
ICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9u
RGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRT
ZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3
ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicp
OworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVz
Y3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICAgICAg
c2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlv
biwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQyKTsnKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDIoKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldExvY2FsRGVzY3JpcHRpb24gc3VjY2Vl
ZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNrKCJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIi
LCAicmVtb3RlIiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0
aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6ImxvY2Fs
In0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0
aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQx
KTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2Nl
ZWRlZDEoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJl
bW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwg
IiIsICJvZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAgICAg
ICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5
cGU6ImFuc3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhy
b3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3Vj
Y2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiBmaW5pc2hJZlN1Y2NlZWRlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAg
ICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiBmaW5pc2hJZkZhaWxlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgdGVzdEZhaWxlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLicpOworICAgICAgICAg
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiBjaGVjayhsb2NhbFR5cGUsIGxvY2FsU2RwLCByZW1vdGVUeXBlLCByZW1vdGVTZHAsIHNp
Z25hbGluZ1N0YXRlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChsb2NhbFR5
cGUgIT09ICIiICYmIGxvY2FsU2RwICE9PSAiIikgeworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24udHlwZScsIGxvY2FsVHlwZSk7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGMubG9jYWxEZXNj
cmlwdGlvbi5zZHAnLCBsb2NhbFNkcCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGlmIChyZW1vdGVUeXBlICE9PSAiIiAmJiByZW1vdGVTZHAgIT09ICIiKSB7CisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGMucmVtb3RlRGVzY3JpcHRpb24u
dHlwZScsIHJlbW90ZVR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCcsIHJlbW90ZVNkcCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsIHNp
Z25hbGluZ1N0YXRlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcGMgPSBuZXcgd2Vi
a2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsICcic3RhYmxlIicpOworICAgICAgICAgICAgdmFyIHNl
c3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVy
Iiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVt
b3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgZmlu
aXNoSWZGYWlsZWQpOycpOworCisgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAg
ICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwt
b2ZmZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1oYXZlLWxvY2FsLW9mZmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2Vi
ODQ3M2E4YjBlNWZhYWZmOGEwNWJhMTY3OTNjZWM3ZDZlOTJkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2Fs
LW9mZmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY2IEBACitUZXN0cyBSVENQZWVyQ29ubmVj
dGlvbiBpbiBoYXZlLWxvY2FsLW9mZmVyIHN0YXRlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgorUEFTUyBwYy5zZXRM
b2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZp
bmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVz
Y3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgIm9m
ZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBjLnJl
bW90ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6
IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2Fs
LW9mZmVyIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwg
ZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5u
YW1lIGlzICJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVz
Y3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlz
ICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5n
U3RhdGUgaXMgImhhdmUtbG9jYWwtb2ZmZXIiCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24o
c2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDIpOyBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQu
CitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJv
ciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMubG9j
YWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbiB0
aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDEx
LgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1sb2NhbC1vZmZlciIKK1BBU1MgcGMu
c2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRl
ZCwgcmVxdWVzdEZhaWxlZDMpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVt
b3RlRGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZhbGlk
U2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBp
cyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1Mg
cGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUt
bG9jYWwtb2ZmZXIiCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0
aW9uLCByZXF1ZXN0U3VjY2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgc2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxv
Y2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24u
c2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2ln
bmFsaW5nU3RhdGUgaXMgImhhdmUtbG9jYWwtb2ZmZXIiCitQQVNTIHBjLnNldFJlbW90ZURlc2Ny
aXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDMsIGZpbmlzaElmRmFp
bGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9u
IHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BB
U1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNj
cmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2Rw
IGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1wcmFu
c3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IElu
dmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlw
dGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0
aW9uIDExLgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgorUEFTUyBwYy5zZXRM
b2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZp
bmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVz
Y3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgIm9m
ZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBjLnJl
bW90ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6
IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2Fs
LW9mZmVyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24s
IHJlcXVlc3RTdWNjZWVkZWQ1LCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2Fs
RGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2Rw
IGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAiYW5zd2VyIgor
UEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFs
aW5nU3RhdGUgaXMgInN0YWJsZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtb2ZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1vZmZlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI3Mzk4OTVlM2U3ZjBjYmMyYWM1N2ZkMzA2NmRiZDMwN2VkNGJiODEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWhhdmUtbG9jYWwtb2ZmZXIuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAg
ICAgIGRlc2NyaXB0aW9uKCJUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBpbiBoYXZlLWxvY2FsLW9m
ZmVyIHN0YXRlLiIpOworCisgICAgICAgICAgICB2YXIgcGMgPSBudWxsOworCisgICAgICAgICAg
ICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkNSgpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAg
ICAgICAgICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2NhbCIsICJhbnN3ZXIiLCAicmVtb3RlIiwg
JyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQ0KCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1
Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwg
IiIsICciaGF2ZS1sb2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3Jp
cHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6InJl
bW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVz
Y3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkNSwgZmluaXNoSWZG
YWlsZWQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0
U3VjY2VlZGVkMygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgn
c2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNr
KCJvZmZlciIsICJsb2NhbCIsICJwcmFuc3dlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLXBy
YW5zd2VyIicpOworICAgICAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0
aW9uKHtpY2VTZXJ2ZXJzOltdfSk7CisgICAgICAgICAgICAgICAgY2hlY2soIiIsICIiLCAiIiwg
IiIsICcic3RhYmxlIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5l
dyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJsb2NhbCJ9KTsKKyAg
ICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNz
aW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQ0LCBmaW5pc2hJZkZhaWxlZCk7Jyk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQyKCkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2Ny
aXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9j
YWwiLCAiIiwgIiIsICciaGF2ZS1sb2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNz
aW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJwcmFuc3dl
ciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5z
ZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQz
LCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHJlcXVlc3RGYWlsZWQzKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRS
ZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vy
cm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAg
ICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiIiwgIiIsICciaGF2ZS1sb2Nh
bC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAg
ICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRl
c2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMihyZWFzb24pCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNz
aW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAi
bG9jYWwiLCAiIiwgIiIsICciaGF2ZS1sb2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBz
ZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZl
ciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5z
ZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVk
LCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRM
b2NhbERlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgnZXJy
b3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicpOworICAg
ICAgICAgICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2NhbCIsICIiLCAiIiwgJyJoYXZlLWxvY2Fs
LW9mZmVyIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENT
ZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6InByYW5zd2VyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAg
ICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9u
RGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7Jyk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQxKCkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0
aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwi
LCAiIiwgIiIsICciaGF2ZS1sb2NhbC1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9u
RGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBz
ZHA6ImxvY2FsIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2Nh
bERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVl
c3RGYWlsZWQxKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmlu
aXNoSWZTdWNjZWVkZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmlu
aXNoSWZGYWlsZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
J3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9j
YWxUeXBlLCBsb2NhbFNkcCwgcmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBs
b2NhbFNkcCAhPT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywg
bG9jYWxTZHApOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAg
IHNob3VsZFRocm93KCdwYy5sb2NhbERlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGlmIChyZW1vdGVUeXBlICE9PSAiIiAmJiByZW1vdGVTZHAgIT09ICIi
KSB7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygncGMucmVtb3Rl
RGVzY3JpcHRpb24udHlwZScsIHJlbW90ZVR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCcsIHJlbW90ZVNkcCk7
CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkVGhy
b3coJ3BjLnJlbW90ZURlc2NyaXB0aW9uJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsIHNpZ25hbGluZ1N0YXRlKTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rp
b24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdT
dGF0ZScsICcic3RhYmxlIicpOworICAgICAgICAgICAgdmFyIHNlc3Npb25EZXNjcmlwdGlvbiA9
IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2RwOiJsb2NhbCJ9KTsK
KyAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Np
b25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsnKTsKKwor
ICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAgICAgd2lu
ZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLXByYW5zd2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1s
b2NhbC1wcmFuc3dlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGU4OWYyZmU2YzFiODg1YmFk
YjQyNjA4YjNlOGE5NTM0Y2Y4MGQ1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1sb2NhbC1wcmFuc3dlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw2OCBAQAorVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gaGF2
ZS1sb2NhbC1wcmFuc3dlciBzdGF0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgInN0YWJsZSIKK1BBU1MgcGMuc2V0UmVtb3RlRGVz
Y3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgZmluaXNoSWZG
YWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVtb3RlRGVzY3JpcHRp
b24gc3VjY2VlZGVkLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIK
K1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25h
bGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlw
dGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCBmaW5pc2hJZkZhaWxl
ZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIHN1
Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BB
U1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNj
cmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlz
ICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2Vy
IgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVz
dFN1Y2NlZWRlZDMsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIHNldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERlc2NyaXB0
aW9uLnR5cGUgaXMgInByYW5zd2VyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBpcyAi
bG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBw
Yy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3Rh
dGUgaXMgImhhdmUtbG9jYWwtcHJhbnN3ZXIiCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24o
c2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDEpOyBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQu
CitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJv
ciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMu
bG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlv
bi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1v
dGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFT
UyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3Vj
Y2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBz
ZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIklu
dmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50
eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2Fs
IgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVt
b3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlz
ICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNz
aW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7IGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuCitQ
QVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIK
K1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9j
YWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50
eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUi
CitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBw
Yy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2Vl
ZGVkLCByZXF1ZXN0RmFpbGVkNCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRS
ZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFs
aWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBl
IGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxvY2FsIgor
UEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3Rl
RGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJo
YXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25E
ZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFT
UyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgImFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNj
cmlwdGlvbi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlz
ICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNT
IHBjLnNpZ25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLXByYW5zd2VyLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwt
cHJhbnN3ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44N2I2ODYzNjk4OTA5OWI4MDYzYTZkZmU4MDU3ZTYz
ZDZhYjNiODY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLWxvY2FsLXByYW5zd2VyLmh0bWwKQEAgLTAsMCArMSwx
MTggQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgUlRDUGVlckNvbm5lY3Rp
b24gaW4gaGF2ZS1sb2NhbC1wcmFuc3dlciBzdGF0ZS4iKTsKKworICAgICAgICAgICAgdmFyIHBj
ID0gbnVsbDsKKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDQoKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldExvY2FsRGVzY3JpcHRp
b24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNrKCJhbnN3ZXIiLCAibG9jYWwi
LCAib2ZmZXIiLCAicmVtb3RlIiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RG
YWlsZWQ0KHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNv
biA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlw
dGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5h
bWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAg
ICBjaGVjaygicHJhbnN3ZXIiLCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxv
Y2FsLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5l
dyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoibG9jYWwifSk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vz
c2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkNCwgZmluaXNoSWZGYWlsZWQpOycpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFz
b24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247
CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVk
LicpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCdlcnJvclJlYXNvbi5uYW1lJywgJyJJbnZh
bGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiJyk7CisgICAgICAgICAgICAgICAgY2hlY2soInBy
YW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFuc3dl
ciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKHt0eXBlOiJwcmFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAg
ICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVz
Y3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkNCk7Jyk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQyKHJlYXNvbikKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAg
ICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNz
aW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygicHJhbnN3ZXIi
LCAibG9jYWwiLCAib2ZmZXIiLCAicmVtb3RlIiwgJyJoYXZlLWxvY2FsLXByYW5zd2VyIicpOwor
ICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNo
b3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24s
IGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZSgnZXJyb3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25EZXNjcmlw
dGlvbkVycm9yIicpOworICAgICAgICAgICAgICAgIGNoZWNrKCJwcmFuc3dlciIsICJsb2NhbCIs
ICJvZmZlciIsICJyZW1vdGUiLCAnImhhdmUtbG9jYWwtcHJhbnN3ZXIiJyk7CisgICAgICAgICAg
ICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlw
ZToib2ZmZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJv
dygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1
Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDIpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMygpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAg
ICAgICAgICAgICAgY2hlY2soInByYW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIs
ICciaGF2ZS1sb2NhbC1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3Jp
cHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoibG9j
YWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3Jp
cHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxl
ZDEpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3Vj
Y2VlZGVkMigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0
TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hlY2soInBy
YW5zd2VyIiwgImxvY2FsIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFuc3dl
ciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKHt0eXBlOiJwcmFuc3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAg
ICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2Ny
aXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMywgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMSgpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24g
c3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIm9mZmVyIiwgInJl
bW90ZSIsICciaGF2ZS1yZW1vdGUtb2ZmZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRl
c2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3ZXIiLCBz
ZHA6ImxvY2FsIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2Nh
bERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDIsIGZpbmlz
aElmRmFpbGVkKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmlu
aXNoSWZTdWNjZWVkZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmlu
aXNoSWZGYWlsZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
J3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9j
YWxUeXBlLCBsb2NhbFNkcCwgcmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBs
b2NhbFNkcCAhPT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywg
bG9jYWxTZHApOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAocmVtb3Rl
VHlwZSAhPT0gIiIgJiYgcmVtb3RlU2RwICE9PSAiIikgeworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUnLCByZW1vdGVU
eXBlKTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1v
dGVEZXNjcmlwdGlvbi5zZHAnLCByZW1vdGVTZHApOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICBzaG91bGRCZSgncGMuc2lnbmFsaW5nU3RhdGUnLCBzaWduYWxpbmdTdGF0ZSk7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25u
ZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSk7CisgICAgICAgICAgICBzaG91bGRCZSgncGMuc2lnbmFs
aW5nU3RhdGUnLCAnInN0YWJsZSInKTsKKyAgICAgICAgICAgIHZhciBzZXNzaW9uRGVzY3JpcHRp
b24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3Rl
In0pOworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0aW9u
KHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsn
KTsKKworICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAg
ICAgd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1vZmZlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhh
dmUtcmVtb3RlLW9mZmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTc0OGFlNzNkNzUwOWFj
MTA0YzI2MDI3NzQ3YmNhMDNjNWQ1NzYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1vZmZlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw2NiBAQAorVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gaGF2
ZS1yZW1vdGUtb2ZmZXIgc3RhdGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90ZURlc2Ny
aXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFp
bGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9u
IHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJy
b3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVE
ZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2Rw
IGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZl
ciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlz
aElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBp
cyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0
aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRp
b24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBw
Yy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3Rh
dGUgaXMgImhhdmUtcmVtb3RlLW9mZmVyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihz
ZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7IGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQu
CitQQVNTIGVycm9yUmVhc29uLm5hbWUgaXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJv
ciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFs
aWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlv
bi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1v
dGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1Mg
cGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2Nl
ZWRlZCwgcmVxdWVzdEZhaWxlZDMpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0
UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZh
bGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24gdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4K
K1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLnJlbW90
ZURlc2NyaXB0aW9uLnNkcCBpcyAicmVtb3RlIgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAi
aGF2ZS1yZW1vdGUtb2ZmZXIiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25E
ZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDIsIGZpbmlzaElmRmFpbGVkKTsgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BB
U1MgcGMubG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRTdGF0
ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBl
IGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQ
QVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1vZmZlciIKK1BBU1MgcGMuc2V0
TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQzLCBm
aW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERl
c2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJh
bnN3ZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMu
cmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0
aW9uLnNkcCBpcyAicmVtb3RlIgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAic3RhYmxlIgor
UEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0
YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEu
CitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90ZURl
c2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZpbmlzaElm
RmFpbGVkKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0
aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbiB0aHJldyBleGNlcHRpb24g
RXJyb3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExLgorUEFTUyBwYy5yZW1v
dGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24u
c2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJoYXZlLXJlbW90ZS1v
ZmZlciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJl
cXVlc3RTdWNjZWVkZWQ1LCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMubG9jYWxEZXNj
cmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAg
aXMgImxvY2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BB
U1MgcGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGlu
Z1N0YXRlIGlzICJoYXZlLWxvY2FsLXByYW5zd2VyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUtb2ZmZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUt
b2ZmZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNGJjMGEzZDAwNTI2NTY3MTA2OTRkMDQyN2RmYmNkN2U4
MjQ4YWJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1oYXZlLXJlbW90ZS1vZmZlci5odG1sCkBAIC0wLDAgKzEsMTIyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2Ny
aXB0PgorICAgICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIFJUQ1BlZXJDb25uZWN0aW9uIGlu
IGhhdmUtcmVtb3RlLW9mZmVyIHN0YXRlLiIpOworCisgICAgICAgICAgICB2YXIgcGMgPSBudWxs
OworCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkNSgpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNj
ZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hlY2soInByYW5zd2VyIiwgImxvY2FsIiwgIm9m
ZmVyIiwgInJlbW90ZSIsICciaGF2ZS1sb2NhbC1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
cmVxdWVzdFN1Y2NlZWRlZDQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAg
ICBjaGVjaygiIiwgIiIsICJvZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicp
OworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVz
Y3JpcHRpb24oe3R5cGU6InByYW5zd2VyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgICAg
ICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRp
b24sIHJlcXVlc3RTdWNjZWVkZWQ1LCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQzKCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2Nl
ZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiYW5zd2VyIiwgImxvY2FsIiwgIm9mZmVy
IiwgInJlbW90ZSIsICcic3RhYmxlIicpOworICAgICAgICAgICAgICAgIHBjID0gbmV3IHdlYmtp
dFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSk7CisgICAgICAgICAgICAgICAgY2hl
Y2soIiIsICIiLCAiIiwgIiIsICcic3RhYmxlIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25E
ZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2Rw
OiJyZW1vdGUifSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90
ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDQsIGZpbmlz
aElmRmFpbGVkKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVx
dWVzdFN1Y2NlZWRlZDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNz
ZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBj
aGVjaygiIiwgIiIsICJvZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOwor
ICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hv
dWxkTm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBy
ZXF1ZXN0U3VjY2VlZGVkMywgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFzb24pCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gZmFpbGVkLicpOworICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCdlcnJvclJlYXNvbi5uYW1lJywgJyJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0
aW9uRXJyb3IiJyk7CisgICAgICAgICAgICAgICAgY2hlY2soIiIsICIiLCAib2ZmZXIiLCAicmVt
b3RlIiwgJyJoYXZlLXJlbW90ZS1vZmZlciInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVz
Y3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoi
cmVtb3RlIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVE
ZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCBmaW5pc2hJ
ZkZhaWxlZCk7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVl
c3RGYWlsZWQyKHJlYXNvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJl
YXNvbiA9IHJlYXNvbjsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNj
cmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29u
Lm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAg
ICAgICBjaGVjaygiIiwgIiIsICJvZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVy
IicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9u
RGVzY3JpcHRpb24oe3R5cGU6ImFuc3dlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAgICAgICAg
ICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3Jp
cHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMyk7Jyk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQxKHJlYXNvbikKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCdzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZSgnZXJyb3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25E
ZXNjcmlwdGlvbkVycm9yIicpOworICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIm9mZmVy
IiwgInJlbW90ZSIsICciaGF2ZS1yZW1vdGUtb2ZmZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vz
c2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJhbnN3
ZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMu
c2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRl
ZCwgcmVxdWVzdEZhaWxlZDIpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiByZXF1ZXN0U3VjY2VlZGVkMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAg
ICAgICAgIGNoZWNrKCIiLCAiIiwgIm9mZmVyIiwgInJlbW90ZSIsICciaGF2ZS1yZW1vdGUtb2Zm
ZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAg
ICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlw
dGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsnKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQoKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1
Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxl
ZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNkcCwgcmVtb3RlVHlw
ZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIpIHsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERlc2NyaXB0aW9uLnR5
cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywgbG9jYWxTZHApOworICAgICAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCdwYy5sb2NhbERlc2Ny
aXB0aW9uJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChyZW1vdGVU
eXBlICE9PSAiIiAmJiByZW1vdGVTZHAgIT09ICIiKSB7CisgICAgICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygncGMucmVtb3RlRGVzY3JpcHRpb24udHlwZScsIHJlbW90ZVR5
cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90
ZURlc2NyaXB0aW9uLnNkcCcsIHJlbW90ZVNkcCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgc2hvdWxkVGhyb3coJ3BjLnJlbW90ZURlc2NyaXB0aW9uJyk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxp
bmdTdGF0ZScsIHNpZ25hbGluZ1N0YXRlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
cGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsICcic3RhYmxlIicpOworICAgICAg
ICAgICAgdmFyIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24o
e3R5cGU6Im9mZmVyIiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICBzaG91bGROb3RUaHJv
dygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3Vj
Y2VlZGVkMSwgZmluaXNoSWZGYWlsZWQpOycpOworCisgICAgICAgICAgICB3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LWhhdmUtcmVtb3RlLXByYW5zd2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taGF2ZS1yZW1vdGUtcHJhbnN3ZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg4NzcwYzVkYzU0OWZiYzljYjRhMzA1Y2M5NmFmMjU1MmEzMjRiYzcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4
IEBACitUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBpbiBoYXZlLXJlbW90ZS1wcmFuc3dlciBzdGF0
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgcGMuc2lnbmFsaW5nU3Rh
dGUgaXMgInN0YWJsZSIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3Jp
cHRpb24sIHJlcXVlc3RTdWNjZWVkZWQxLCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIHN1Y2NlZWRlZC4KK1BBU1MgcGMu
bG9jYWxEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlv
bi5zZHAgaXMgImxvY2FsIgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1sb2NhbC1v
ZmZlciIKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBy
ZXF1ZXN0U3VjY2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1Mgc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBwYy5sb2NhbERl
c2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBp
cyAibG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgInByYW5zd2VyIgor
UEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFs
aW5nU3RhdGUgaXMgImhhdmUtcmVtb3RlLXByYW5zd2VyIgorUEFTUyBwYy5zZXRSZW1vdGVEZXNj
cmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQzLCBmaW5pc2hJZkZh
aWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRSZW1vdGVEZXNjcmlwdGlv
biBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQ
QVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVz
Y3JpcHRpb24udHlwZSBpcyAicHJhbnN3ZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNk
cCBpcyAicmVtb3RlIgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1yZW1vdGUtcHJh
bnN3ZXIiCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwg
ZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIHNldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24u
bmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERl
c2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnNkcCBp
cyAibG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMgInByYW5zd2VyIgor
UEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFs
aW5nU3RhdGUgaXMgImhhdmUtcmVtb3RlLXByYW5zd2VyIgorUEFTUyBwYy5zZXRMb2NhbERlc2Ny
aXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWls
ZWQyKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24g
ZmFpbGVkLgorUEFTUyBlcnJvclJlYXNvbi5uYW1lIGlzICJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0
aW9uRXJyb3IiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNT
IHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3Jp
cHRpb24udHlwZSBpcyAicHJhbnN3ZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnNkcCBp
cyAicmVtb3RlIgorUEFTUyBwYy5zaWduYWxpbmdTdGF0ZSBpcyAiaGF2ZS1yZW1vdGUtcHJhbnN3
ZXIiCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5p
c2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDMpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1Mgc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuCitQQVNTIGVycm9yUmVhc29uLm5hbWUg
aXMgIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciIKK1BBU1MgcGMubG9jYWxEZXNjcmlw
dGlvbi50eXBlIGlzICJvZmZlciIKK1BBU1MgcGMubG9jYWxEZXNjcmlwdGlvbi5zZHAgaXMgImxv
Y2FsIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJwcmFuc3dlciIKK1BBU1Mg
cGMucmVtb3RlRGVzY3JpcHRpb24uc2RwIGlzICJyZW1vdGUiCitQQVNTIHBjLnNpZ25hbGluZ1N0
YXRlIGlzICJoYXZlLXJlbW90ZS1wcmFuc3dlciIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlv
bihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkNCk7
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxl
ZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVy
cm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUgaXMgIm9mZmVyIgorUEFTUyBwYy5s
b2NhbERlc2NyaXB0aW9uLnNkcCBpcyAibG9jYWwiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9u
LnR5cGUgaXMgInByYW5zd2VyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJl
bW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtcmVtb3RlLXByYW5zd2VyIgor
UEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RT
dWNjZWVkZWQ0LCBmaW5pc2hJZkZhaWxlZCk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBzZXRSZW1vdGVEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRp
b24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJsb2Nh
bCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAiYW5zd2VyIgorUEFTUyBwYy5y
ZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1MgcGMuc2lnbmFsaW5nU3RhdGUg
aXMgInN0YWJsZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGE2OTNjZDk2ODgyYmIwNTJjNGU1NmExN2NmNDU2MTViNTk4MGMyNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24taGF2ZS1yZW1vdGUtcHJhbnN3ZXIuaHRtbApAQCAtMCwwICsxLDExOCBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBpbiBoYXZlLXJlbW90
ZS1wcmFuc3dlciBzdGF0ZS4iKTsKKworICAgICAgICAgICAgdmFyIHBjID0gbnVsbDsKKworICAg
ICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDQoKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4n
KTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAiYW5zd2VyIiwgInJl
bW90ZSIsICcic3RhYmxlIicpOworICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkNChyZWFzb24p
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247Cisg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRT
ZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIi
LCAibG9jYWwiLCAicHJhbnN3ZXIiLCAicmVtb3RlIiwgJyJoYXZlLXJlbW90ZS1wcmFuc3dlciIn
KTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAg
ICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0
aW9uLCByZXF1ZXN0U3VjY2VlZGVkNCwgZmluaXNoSWZGYWlsZWQpOycpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMyhyZWFzb24pCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAg
ICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVz
Y3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwi
LCAicHJhbnN3ZXIiLCAicmVtb3RlIiwgJyJoYXZlLXJlbW90ZS1wcmFuc3dlciInKTsKKyAgICAg
ICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
KHt0eXBlOiJwcmFuc3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICAgICAgc2hvdWxk
Tm90VGhyb3coJ3BjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5p
c2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDQpOycpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMihyZWFzb24pCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25F
cnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygib2ZmZXIiLCAibG9jYWwiLCAicHJhbnN3
ZXIiLCAicmVtb3RlIiwgJyJoYXZlLXJlbW90ZS1wcmFuc3dlciInKTsKKyAgICAgICAgICAgICAg
ICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJh
bnN3ZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdw
Yy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVk
ZWQsIHJlcXVlc3RGYWlsZWQzKTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVu
Y3Rpb24gcmVxdWVzdEZhaWxlZDEocmVhc29uKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGVycm9yUmVhc29uID0gcmVhc29uOworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3Nl
dFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgn
ZXJyb3JSZWFzb24ubmFtZScsICciSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicpOwor
ICAgICAgICAgICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2NhbCIsICJwcmFuc3dlciIsICJyZW1v
dGUiLCAnImhhdmUtcmVtb3RlLXByYW5zd2VyIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25E
ZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6Im9mZmVyIiwgc2Rw
OiJsb2NhbCJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxE
ZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0
RmFpbGVkMik7Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVl
c3RTdWNjZWVkZWQzKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAgICAgICAgICAgY2hl
Y2soIm9mZmVyIiwgImxvY2FsIiwgInByYW5zd2VyIiwgInJlbW90ZSIsICciaGF2ZS1yZW1vdGUt
cHJhbnN3ZXIiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAg
ICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lv
bkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVzdEZhaWxlZDEpOycpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMigpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0UmVtb3RlRGVzY3Jp
cHRpb24gc3VjY2VlZGVkLicpOworICAgICAgICAgICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2Nh
bCIsICJwcmFuc3dlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLXByYW5zd2VyIicpOworICAg
ICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRp
b24oe3R5cGU6InByYW5zd2VyIiwgc2RwOiJyZW1vdGUifSk7CisgICAgICAgICAgICAgICAgc2hv
dWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwg
cmVxdWVzdFN1Y2NlZWRlZDMsIGZpbmlzaElmRmFpbGVkKTsnKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDEoKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldExvY2FsRGVzY3JpcHRpb24gc3VjY2VlZGVk
LicpOworICAgICAgICAgICAgICAgIGNoZWNrKCJvZmZlciIsICJsb2NhbCIsICIiLCAiIiwgJyJo
YXZlLWxvY2FsLW9mZmVyIicpOworICAgICAgICAgICAgICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9
IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6InByYW5zd2VyIiwgc2RwOiJyZW1vdGUi
fSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coJ3BjLnNldFJlbW90ZURlc2NyaXB0
aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDIsIGZpbmlzaElmRmFpbGVk
KTsnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZTdWNj
ZWVkZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJl
bW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZGYWls
ZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90
ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2hlY2sobG9jYWxUeXBlLCBs
b2NhbFNkcCwgcmVtb3RlVHlwZSwgcmVtb3RlU2RwLCBzaWduYWxpbmdTdGF0ZSkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBpZiAobG9jYWxUeXBlICE9PSAiIiAmJiBsb2NhbFNkcCAh
PT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5s
b2NhbERlc2NyaXB0aW9uLnR5cGUnLCBsb2NhbFR5cGUpOworICAgICAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLmxvY2FsRGVzY3JpcHRpb24uc2RwJywgbG9jYWxTZHAp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAocmVtb3RlVHlwZSAhPT0g
IiIgJiYgcmVtb3RlU2RwICE9PSAiIikgeworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUnLCByZW1vdGVUeXBlKTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlw
dGlvbi5zZHAnLCByZW1vdGVTZHApOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgncGMuc2lnbmFsaW5nU3RhdGUnLCBzaWduYWxpbmdTdGF0ZSk7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtp
Y2VTZXJ2ZXJzOltdfSk7CisgICAgICAgICAgICBzaG91bGRCZSgncGMuc2lnbmFsaW5nU3RhdGUn
LCAnInN0YWJsZSInKTsKKyAgICAgICAgICAgIHZhciBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcg
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoibG9jYWwifSk7CisgICAg
ICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVz
Y3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQxLCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisKKyAgICAg
ICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgICAgIHdpbmRvdy5z
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlRGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlw
dGlvbi1leHBlY3RlZC50eHQKaW5kZXggZWVmMmVkMWJmM2IyYTA2OTljYjdlMTgyY2U1OGQ4Yzgx
NDY0OWE4OS4uMjI3YWFhOWFlODk2OGE1MDhmYzRkZDMyYTNlMTliOTY0ZTFmMGMwNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1v
dGVEZXNjcmlwdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi1leHBlY3RlZC50eHQKQEAg
LTcsOSArNyw5IEBAIFBBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0
aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgcmVxdWVzdEZhaWxlCiBQQVNTIHJlcXVlc3RTdWNjZWVk
ZWQgd2FzIGNhbGxlZC4KIFBBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2Ny
aXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMiwgcmVxdWVzdEZhaWxlZDIpOyBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KIFBBU1MgcmVxdWVzdEZhaWxlZCB3YXMgY2FsbGVkLgotUEFTUyBwYy5yZW1v
dGVEZXNjcmlwdGlvbi50eXBlIGlzICJhbnN3ZXIiCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9u
LnR5cGUgaXMgIm9mZmVyIgogUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90
ZSIKLVBBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24udHlwZSBpcyAiYW5zd2VyIgorUEFTUyBwYy5y
ZW1vdGVEZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIKIFBBU1MgcGMucmVtb3RlRGVzY3JpcHRp
b24uc2RwIGlzICJyZW1vdGUiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
cmVtb3RlRGVzY3JpcHRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24tcmVtb3RlRGVzY3JpcHRpb24uaHRtbAppbmRleCA4NWQ0ODA3OTA5NjM5
NTA4NTQ0ZTdkY2MxNjYzODlkODk3OTAwY2IwLi43NmViNjk3ZWY1Y2RiNjM5ZGFhZjFlMDIwYWYy
OTg1ZWZmZTEyNTE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLXJlbW90ZURlc2NyaXB0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi5odG1s
CkBAIC0xMywxMCArMTMsMTAgQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCdyZXF1ZXN0RmFpbGVkIHdhcyBjYWxsZWQuJyk7CiAKLSAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUnLCAiYW5zd2Vy
Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNj
cmlwdGlvbi50eXBlJywgIm9mZmVyIik7CiAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAnLCAicmVtb3RlIik7CiAgICAgICAgICAg
ICAgICAgcGMuY2xvc2UoKTsKLSAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3BjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUnLCAiYW5zd2VyIik7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi50eXBlJywgIm9mZmVy
Iik7CiAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5yZW1vdGVEZXNj
cmlwdGlvbi5zZHAnLCAicmVtb3RlIik7CiAKICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKQEAgLTM4LDEyICszOCwxMiBAQAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQoJ3JlcXVlc3RTdWNjZWVkZWQgd2FzIGNhbGxlZC4nKTsKIAotICAgICAgICAgICAg
ICAgIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6
Im9mZmVyIiwgc2RwOiJsb2NhbCJ9KTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRp
b24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6ImxvY2Fs
In0pOwogICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlw
dGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCByZXF1ZXN0RmFpbGVk
Mik7Jyk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHBjID0gbmV3IHdlYmtpdFJUQ1Bl
ZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOltdfSk7Ci0gICAgICAgICAgICB2YXIgc2Vzc2lvbkRl
c2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToiYW5zd2VyIiwgc2Rw
OiJyZW1vdGUifSk7CisgICAgICAgICAgICB2YXIgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6InJlbW90ZSJ9KTsKICAgICAg
ICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9uRGVz
Y3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQxLCByZXF1ZXN0RmFpbGVkMSk7Jyk7CiAKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1z
dGFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1zdGFibGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkZjgzZmNhNDg5NGVk
N2QwNmM2YzM1ZWRiZjBmYzYxOWQxNjcwOTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0OSBAQAorVGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gaW4gc3RhYmxlIHN0YXRl
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBwYy5zaWduYWxpbmdTdGF0
ZSBpcyAic3RhYmxlIgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlw
dGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIHNldExvY2FsRGVzY3JpcHRpb24gZmFpbGVkLgorUEFTUyBlcnJvclJl
YXNvbi5uYW1lIGlzICJJbnZhbGlkU2Vzc2lvbkRlc2NyaXB0aW9uRXJyb3IiCitQQVNTIHBjLmxv
Y2FsRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjog
RE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMu
c2lnbmFsaW5nU3RhdGUgaXMgInN0YWJsZSIKK1BBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihz
ZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCByZXF1ZXN0RmFpbGVkMik7IGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXRMb2NhbERlc2NyaXB0aW9uIGZhaWxlZC4K
K1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9y
IgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxp
ZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9u
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24g
MTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQQVNTIHBjLnNldFJlbW90
ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZTdWNjZWVkZWQsIHJlcXVl
c3RGYWlsZWQzKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNldFJlbW90ZURlc2Ny
aXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAiSW52YWxpZFNlc3Npb25E
ZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJl
bW90ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6
IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRlIGlzICJzdGFibGUiCitQ
QVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmluaXNoSWZT
dWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQ0KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IHNldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4KK1BBU1MgZXJyb3JSZWFzb24ubmFtZSBpcyAi
SW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIgorUEFTUyBwYy5sb2NhbERlc2NyaXB0aW9u
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24g
MTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52
YWxpZFN0YXRlRXJyb3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnNpZ25hbGluZ1N0YXRl
IGlzICJzdGFibGUiCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0
aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgc2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuCitQQVNTIHBjLmxv
Y2FsRGVzY3JpcHRpb24udHlwZSBpcyAib2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRpb24u
c2RwIGlzICJsb2NhbCIKK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2ln
bmFsaW5nU3RhdGUgaXMgImhhdmUtbG9jYWwtb2ZmZXIiCitQQVNTIHBjLmxvY2FsRGVzY3JpcHRp
b24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlv
biAxMS4KK1BBU1MgcGMucmVtb3RlRGVzY3JpcHRpb24gdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJ
bnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMS4KK1BBU1MgcGMuc2lnbmFsaW5nU3Rh
dGUgaXMgInN0YWJsZSIKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2Ny
aXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMiwgZmluaXNoSWZGYWlsZWQpOyBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1Mgc2V0UmVtb3RlRGVzY3JpcHRpb24gc3VjY2VlZGVkLgorUEFTUyBw
Yy5sb2NhbERlc2NyaXB0aW9uIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZFN0YXRlRXJy
b3I6IERPTSBFeGNlcHRpb24gMTEuCitQQVNTIHBjLnJlbW90ZURlc2NyaXB0aW9uLnR5cGUgaXMg
Im9mZmVyIgorUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMgInJlbW90ZSIKK1BBU1Mg
cGMuc2lnbmFsaW5nU3RhdGUgaXMgImhhdmUtcmVtb3RlLW9mZmVyIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tc3RhYmxlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg3ZGU3NWNlMDE0MTI2OGI3MTBkYTYxZjg2NGIxZDZhOWVmY2JmYTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLXN0YWJsZS5odG1sCkBAIC0wLDAgKzEsMTA4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAg
PC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRlc3RzIFJUQ1BlZXJDb25uZWN0aW9uIGluIHN0YWJsZSBzdGF0ZS4iKTsKKworICAg
ICAgICAgICAgdmFyIHBjID0gbnVsbDsKKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdFN1
Y2NlZWRlZDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3Nl
dFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4nKTsKKyAgICAgICAgICAgICAgICBjaGVjaygi
IiwgIiIsICJvZmZlciIsICJyZW1vdGUiLCAnImhhdmUtcmVtb3RlLW9mZmVyIicpOworICAgICAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBm
dW5jdGlvbiByZXF1ZXN0U3VjY2VlZGVkMSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNjcmlwdGlvbiBzdWNjZWVkZWQuJyk7CisgICAgICAg
ICAgICAgICAgY2hlY2soIm9mZmVyIiwgImxvY2FsIiwgIiIsICIiLCAnImhhdmUtbG9jYWwtb2Zm
ZXIiJykKKyAgICAgICAgICAgICAgICBwYyA9IG5ldyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbih7
aWNlU2VydmVyczpbXX0pOworICAgICAgICAgICAgICAgIGNoZWNrKCIiLCAiIiwgIiIsICIiLCAn
InN0YWJsZSInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoicmVtb3RlIn0pOworICAgICAg
ICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9u
RGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCBmaW5pc2hJZkZhaWxlZCk7Jyk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQ0KHJlYXNvbikK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvclJlYXNvbiA9IHJlYXNvbjsKKyAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdzZXRSZW1vdGVEZXNjcmlwdGlvbiBmYWlsZWQuJyk7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRT
ZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIs
ICIiLCAiIiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9u
ID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToib2ZmZXIiLCBzZHA6ImxvY2FsIn0p
OworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9u
KHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIGZpbmlzaElmRmFpbGVkKTsn
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcmVxdWVzdEZhaWxlZDMo
cmVhc29uKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVycm9yUmVhc29uID0gcmVh
c29uOworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZh
aWxlZC4nKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgnZXJyb3JSZWFzb24ubmFtZScsICci
SW52YWxpZFNlc3Npb25EZXNjcmlwdGlvbkVycm9yIicpOworICAgICAgICAgICAgICAgIGNoZWNr
KCIiLCAiIiwgIiIsICIiLCAnInN0YWJsZSInKTsKKyAgICAgICAgICAgICAgICBzZXNzaW9uRGVz
Y3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6
InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3Rl
RGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2NlZWRlZCwgcmVxdWVz
dEZhaWxlZDQpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiByZXF1
ZXN0RmFpbGVkMihyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3JS
ZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnc2V0TG9jYWxEZXNj
cmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoJ2Vycm9yUmVhc29u
Lm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsKKyAgICAgICAgICAg
ICAgICBjaGVjaygiIiwgIiIsICIiLCAiIiwgJyJzdGFibGUiJyk7CisgICAgICAgICAgICAgICAg
c2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZToicHJh
bnN3ZXIiLCBzZHA6InJlbW90ZSJ9KTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygn
cGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCBmaW5pc2hJZlN1Y2Nl
ZWRlZCwgcmVxdWVzdEZhaWxlZDMpOycpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBm
dW5jdGlvbiByZXF1ZXN0RmFpbGVkMShyZWFzb24pCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgZXJyb3JSZWFzb24gPSByZWFzb247CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgn
c2V0TG9jYWxEZXNjcmlwdGlvbiBmYWlsZWQuJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUo
J2Vycm9yUmVhc29uLm5hbWUnLCAnIkludmFsaWRTZXNzaW9uRGVzY3JpcHRpb25FcnJvciInKTsK
KyAgICAgICAgICAgICAgICBjaGVjaygiIiwgIiIsICIiLCAiIiwgJyJzdGFibGUiJyk7CisgICAg
ICAgICAgICAgICAgc2Vzc2lvbkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bih7dHlwZToicHJhbnN3ZXIiLCBzZHA6ImxvY2FsIn0pOworICAgICAgICAgICAgICAgIHNob3Vs
ZE5vdFRocm93KCdwYy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgZmlu
aXNoSWZTdWNjZWVkZWQsIHJlcXVlc3RGYWlsZWQyKTsnKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZTdWNjZWVkZWQoKQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIHN1Y2NlZWRlZC4n
KTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgZnVuY3Rpb24gZmluaXNoSWZGYWlsZWQoKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoJ3NldFJlbW90ZURlc2NyaXB0aW9uIGZhaWxlZC4nKTsKKyAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZnVuY3Rpb24gY2hlY2sobG9jYWxUeXBlLCBsb2NhbFNkcCwgcmVtb3RlVHlwZSwgcmVtb3Rl
U2RwLCBzaWduYWxpbmdTdGF0ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpZiAo
bG9jYWxUeXBlICE9PSAiIiAmJiBsb2NhbFNkcCAhPT0gIiIpIHsKKyAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwYy5sb2NhbERlc2NyaXB0aW9uLnR5cGUnLCBsb2Nh
bFR5cGUpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLmxv
Y2FsRGVzY3JpcHRpb24uc2RwJywgbG9jYWxTZHApOworICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCdwYy5sb2NhbERlc2NyaXB0aW9uJyk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChyZW1vdGVUeXBlICE9PSAi
IiAmJiByZW1vdGVTZHAgIT09ICIiKSB7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygncGMucmVtb3RlRGVzY3JpcHRpb24udHlwZScsIHJlbW90ZVR5cGUpOworICAg
ICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BjLnJlbW90ZURlc2NyaXB0
aW9uLnNkcCcsIHJlbW90ZVNkcCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkVGhyb3coJ3BjLnJlbW90ZURlc2NyaXB0aW9uJyk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScs
IHNpZ25hbGluZ1N0YXRlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcGMgPSBuZXcg
d2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6W119KTsKKyAgICAgICAgICAgIHNo
b3VsZEJlKCdwYy5zaWduYWxpbmdTdGF0ZScsICcic3RhYmxlIicpOworICAgICAgICAgICAgdmFy
IHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFu
c3dlciIsIHNkcDoibG9jYWwifSk7CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygncGMuc2V0
TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIGZpbmlzaElmU3VjY2VlZGVkLCBy
ZXF1ZXN0RmFpbGVkMSk7Jyk7CisKKyAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKyAgICAgICAgICAgIHdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAg
ICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>