<?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>187499</bug_id>
          
          <creation_ts>2018-07-09 17:47:07 -0700</creation_ts>
          <short_desc>Resource Load Statistics: Make testRunner.statisticsResetToConsistentState() take a completion handler</short_desc>
          <delta_ts>2018-07-10 10:09:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1440667</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-07-09 17:47:07 -0700</bug_when>
    <thetext>We should make sure testRunner.statisticsResetToConsistentState() takes a completion handler so that calls to it can wait for it to finish before proceeding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440668</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-09 17:47:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/41999431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440683</commentid>
    <comment_count>2</comment_count>
      <attachid>344652</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-07-09 18:25:27 -0700</bug_when>
    <thetext>Created attachment 344652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440881</commentid>
    <comment_count>3</comment_count>
      <attachid>344652</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-10 09:38:11 -0700</bug_when>
    <thetext>Comment on attachment 344652
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440882</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2018-07-10 09:41:30 -0700</bug_when>
    <thetext>Thanks, Chris!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440893</commentid>
    <comment_count>5</comment_count>
      <attachid>344652</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-10 10:09:36 -0700</bug_when>
    <thetext>Comment on attachment 344652
Patch

Clearing flags on attachment: 344652

Committed r233688: &lt;https://trac.webkit.org/changeset/233688&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440894</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-10 10:09:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344652</attachid>
            <date>2018-07-09 18:25:27 -0700</date>
            <delta_ts>2018-07-10 10:09:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187499-20180709182526.patch</filename>
            <type>text/plain</type>
            <size>128547</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNjczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDViYmNmOTM4ZDBlNDFhNzQ3
NGM1YjVmNDZmZDY2ZjhmZWM5YTM3MjAuLjg5NWJiMmQxYmM2MzRhY2EyMDdiOGVkMGU1NzdmODZh
ODg2M2FiYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTgtMDctMDkgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0
aXN0aWNzOiBNYWtlIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUo
KSB0YWtlIGEgY29tcGxldGlvbiBoYW5kbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODc0OTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQxOTk5
NDMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dl
YnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSk6CisgICAgICAg
ICAgICBOb3cgdXNlcyBhIFdURjo6Q2FsbGJhY2tBZ2dyZWdhdG9yIHRvIGNhbGwgaXRzCisgICAg
ICAgICAgICBjb21wbGV0aW9uIGhhbmRsZXIgd2hlbiBib3RoIHRoZSBjYWxsIHRvCisgICAgICAg
ICAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNjaGVkdWxlQ2xlYXJJbk1lbW9y
eSgpCisgICAgICAgICAgICBhbmQgdG8KKyAgICAgICAgICAgIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZTo6cmVzZXRQYXJhbWV0ZXJzVG9EZWZhdWx0VmFsdWVzKCkKKyAgICAgICAgICAg
IGFyZSBjb21wbGV0ZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0
b3JlUmVmLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6c2NoZWR1bGVDbGVhckluTWVtb3J5KToKKyAgICAgICAgICAgIE5vdyB0YWtlcyBhIFdURjo6
Q29tcGxldGlvbkhhbmRsZXIgc28gdGhhdCBpdCBjYW4gc3VwcG9ydCB0aGUKKyAgICAgICAgICAg
IGNvbXBsZXRpb24gaGFuZGxlciBpbgorICAgICAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlU3Rh
dGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKS4KKyAgICAgICAgKFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZXNldFBhcmFtZXRlcnNUb0RlZmF1bHRWYWx1ZXMp
OgorICAgICAgICAgICAgTm93IHRha2VzIGEgV1RGOjpDb21wbGV0aW9uSGFuZGxlciBzbyB0aGF0
IGl0IGNhbiBzdXBwb3J0IHRoZQorICAgICAgICAgICAgY29tcGxldGlvbiBoYW5kbGVyIGluCisg
ICAgICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZSgpLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuaDoKKwogMjAxOC0wNy0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIHRoZSBwb3NzaWJpbGl0eSB0byBydW4gdW5zYW5kYm94ZWQgcGx1Zy1pbnMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFT
dG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRh
U3RvcmVSZWYuY3BwCmluZGV4IGZmODMxODhkMzkxMzAxMjNlODU5MjM2YWZiZTQzMDFlZTYxYThm
N2EuLjY2YzAzMDM0ZGRiN2ZmN2NkYTI3OGU5OWNlN2ExYjhjOWQzNjNlZjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVm
LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIldlYnNpdGVEYXRhUmVjb3JkLmgiCiAj
aW5jbHVkZSAiV2Vic2l0ZURhdGFUeXBlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KKyNp
bmNsdWRlIDx3dGYvQ2FsbGJhY2tBZ2dyZWdhdG9yLmg+CiAKIFdLVHlwZUlEIFdLV2Vic2l0ZURh
dGFTdG9yZUdldFR5cGVJRCgpCiB7CkBAIC00MjMsMTQgKzQyNCwxOCBAQCB2b2lkIFdLV2Vic2l0
ZURhdGFTdG9yZVN0YXRpc3RpY3NDbGVhclRocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoV0tXZWJz
aXRlRGF0YVN0bwogICAgIH0pOwogfQogCi12b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3Rp
Y3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVS
ZWYpCit2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIHZvaWQqIGNvbnRleHQsIFdL
V2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlRnVuY3Rpb24g
Y29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgYXV0byogc3RvcmUgPSBXZWJLaXQ6OnRvSW1wbChk
YXRhU3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0b3JlKCkucmVzb3VyY2VMb2FkU3RhdGlzdGljcygp
OwogICAgIGlmICghc3RvcmUpCiAgICAgICAgIHJldHVybjsKIAotICAgIHN0b3JlLT5yZXNldFBh
cmFtZXRlcnNUb0RlZmF1bHRWYWx1ZXMoKTsKLSAgICBzdG9yZS0+c2NoZWR1bGVDbGVhckluTWVt
b3J5KCk7CisgICAgYXV0byBjYWxsYmFja0FnZ3JlZ2F0b3IgPSBDYWxsYmFja0FnZ3JlZ2F0b3I6
OmNyZWF0ZShbY29udGV4dCwgY29tcGxldGlvbkhhbmRsZXJdKCkgeworICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihjb250ZXh0KTsKKyAgICB9KTsKKyAgICAKKyAgICBzdG9yZS0+cmVzZXRQYXJh
bWV0ZXJzVG9EZWZhdWx0VmFsdWVzKFtjYWxsYmFja0FnZ3JlZ2F0b3IgPSBjYWxsYmFja0FnZ3Jl
Z2F0b3IuY29weVJlZigpXSB7IH0pOworICAgIHN0b3JlLT5zY2hlZHVsZUNsZWFySW5NZW1vcnko
W2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNrQWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7
CiB9CiAKIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsRmV0Y2hDYWNoZXMoV0tXZWJz
aXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0
YVN0b3JlUmVtb3ZlRmV0Y2hDYWNoZVJlbW92YWxGdW5jdGlvbiBjYWxsYmFjaykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgK
aW5kZXggMWMxYmViYTBlZmFiMTNkZTRiYjQ4OTUwNWI0NjJiOWVlYjQwMDliNC4uZTZiODhiMzhj
YmMzZTUxYWNkMjJiMmUwZTA2MmI1YjUzOTVlZDIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKQEAgLTg0LDcgKzg0
LDggQEAgdHlwZWRlZiB2b2lkICgqV0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc0NsZWFySW5N
ZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmVNb2RpZmkKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURh
dGFTdG9yZVN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRT
aW5jZUhvdXJzKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIHVuc2lnbmVkIGhv
dXJzLCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzQ2xlYXJJbk1l
bW9yeUFuZFBlcnNpc3RlbnRTdG9yZU1vZGlmaWVkU2luY2VIb3Vyc0Z1bmN0aW9uIGNhbGxiYWNr
KTsKIHR5cGVkZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NDbGVhclRocm91
Z2hXZWJzaXRlRGF0YVJlbW92YWxGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdL
X0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NDbGVhclRocm91Z2hXZWJz
aXRlRGF0YVJlbW92YWwoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCog
Y29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc0NsZWFyVGhyb3VnaFdlYnNpdGVE
YXRhUmVtb3ZhbEZ1bmN0aW9uIGNhbGxiYWNrKTsKLVdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURh
dGFTdG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKFdLV2Vic2l0ZURhdGFTdG9y
ZVJlZiBkYXRhU3RvcmVSZWYpOwordHlwZWRlZiB2b2lkICgqV0tXZWJzaXRlRGF0YVN0b3JlU3Rh
dGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGVGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250
ZXh0KTsKK1dLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIHZvaWQq
IGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlRnVuY3Rpb24gY29tcGxldGlvbkhhbmRsZXIpOwogCiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNp
dGVEYXRhU3RvcmVSZW1vdmVGZXRjaENhY2hlUmVtb3ZhbEZ1bmN0aW9uKSh2b2lkKiBmdW5jdGlv
bkNvbnRleHQpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0Y2hD
YWNoZUZvck9yaWdpbihXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS1NlY3Vy
aXR5T3JpZ2luUmVmIG9yaWdpbiwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlUmVt
b3ZlRmV0Y2hDYWNoZVJlbW92YWxGdW5jdGlvbiBjYWxsYmFjayk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNw
cAppbmRleCA3YmQxZTI2NTM4MTZkMGU2M2I2ZmE1NDg3NGFmNTFlYjI3YWJiMTEzLi4wY2JhN2Mz
M2I5ODFkZDdlOTM4MzE3MGM5ZjU0YjliMzRmM2M5MGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAK
QEAgLTc0OCwxMiArNzQ4LDE2IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
OjpzY2hlZHVsZUNvb2tpZVBhcnRpdGlvbmluZ1N0YXRlUmVzZXQoKQogfQogI2VuZGlmCiAKLXZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzY2hlZHVsZUNsZWFySW5NZW1vcnko
KQordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNjaGVkdWxlQ2xlYXJJbk1l
bW9yeShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAg
ICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBwb3N0VGFzayhbdGhpc10geworICAg
IHBvc3RUYXNrKFt0aGlzLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXSgpIG11dGFibGUgewogICAgICAgICBpZiAobV9tZW1vcnlTdG9yZSkKICAgICAgICAg
ICAgIG1fbWVtb3J5U3RvcmUtPmNsZWFyKCk7CisKKyAgICAgICAgcG9zdFRhc2tSZXBseShbY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiB9CiAKQEAgLTg2
NiwxMyArODcwLDE3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRQ
cnVuZUVudHJpZXNEb3duVG8oc2l6ZV90IHBydW5lVGFyZ2V0Q291CiAgICAgfSk7CiB9CiAKLXZv
aWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpyZXNldFBhcmFtZXRlcnNUb0RlZmF1
bHRWYWx1ZXMoKQordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlc2V0UGFy
YW1ldGVyc1RvRGVmYXVsdFZhbHVlcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIHBv
c3RUYXNrKFt0aGlzXSB7CisgICAgcG9zdFRhc2soW3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0g
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CiAgICAgICAgIGlmIChtX21l
bW9yeVN0b3JlKQogICAgICAgICAgICAgbV9tZW1vcnlTdG9yZS0+cmVzZXRQYXJhbWV0ZXJzVG9E
ZWZhdWx0VmFsdWVzKCk7CisKKyAgICAgICAgcG9zdFRhc2tSZXBseShbY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoKTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKaW5k
ZXggYjkyOTYzMWNjNThlM2U1ZDQzNzE3NmMwMTA3YzBjNTQzMDFjMjA1Yy4uYjUxODc0NjBmYmY2
MGExYzBhYjU3ODVmZDNmNTc2ZjAzZWNiZTMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTExNCw3
ICsxMTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdWJtaXRUZWxlbWV0cnkoKTsKICAgICB2b2lk
IHNjaGVkdWxlQ29va2llUGFydGl0aW9uaW5nU3RhdGVSZXNldCgpOwogCi0gICAgdm9pZCBzY2hl
ZHVsZUNsZWFySW5NZW1vcnkoKTsKKyAgICB2b2lkIHNjaGVkdWxlQ2xlYXJJbk1lbW9yeShDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIAogICAgIGVudW0gY2xhc3MgU2hvdWxkR3Jh
bmRmYXRoZXIgewogICAgICAgICBObywKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRNYXhTdGF0aXN0aWNzRW50cmllcyhzaXplX3QpOwogICAgIHZvaWQgc2V0UHJ1bmVF
bnRyaWVzRG93blRvKHNpemVfdCk7CiAKLSAgICB2b2lkIHJlc2V0UGFyYW1ldGVyc1RvRGVmYXVs
dFZhbHVlcygpOworICAgIHZvaWQgcmVzZXRQYXJhbWV0ZXJzVG9EZWZhdWx0VmFsdWVzKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NEZWJ1Z01vZGUoYm9vbCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCA5OTZmODU3OTgyNzhiYzY2MTY0N2I5ZTU3OTMxYzRkZmE4MjU5
YzA0Li5jNTc1ZTk1ZmYzNWY3MmY3NWFhNjc2NmM3MzU5NjQ0ZGUyZGQwNTM4IDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTgtMDctMDkgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVzb3VyY2UgTG9hZCBTdGF0aXN0aWNzOiBNYWtlIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jl
c2V0VG9Db25zaXN0ZW50U3RhdGUoKSB0YWtlIGEgY29tcGxldGlvbiBoYW5kbGVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc0OTkKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzQxOTk5NDMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6
OmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpz
dGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSk6CisgICAgICAgIChXVFI6OlRlc3RSdW5u
ZXI6OnN0YXRpc3RpY3NDYWxsRGlkUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUNhbGxiYWNrKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdU
Ujo6VGVzdEludm9jYXRpb246OmRpZFJlc2V0U3RhdGlzdGljc1RvQ29uc2lzdGVudFN0YXRlKToK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmg6CisKIDIwMTgtMDct
MDkgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIFNlbWFu
dGljIGNvbG9ycyBkb24ndCB1cGRhdGUgd2hlbiBhY2Nlc3NpYmlsaXR5IEluY3JlYXNlIENvbnRy
YXN0IG1vZGUgaXMgZW5hYmxlZC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IDE3OTE2
NjgxMjdhNjY2MDc3MmNhMTkxYzA1ODM5ZDZjYzA4ZjM5NjQuLmU2YWE0OWVjZmRhZjcxZWE3YTcw
M2QxNGM3OGIxZGMzOTIyZTY0MWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAtMzA3
LDcgKzMwNyw3IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB2b2lkIHN0YXRpc3RpY3ND
bGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlKG9iamVjdCBjYWxsYmFjayk7CiAgICAgdm9p
ZCBzdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBlcnNpc3RlbnRTdG9yZU1vZGlmaWVkU2luY2VI
b3Vycyh1bnNpZ25lZCBsb25nIGhvdXJzLCBvYmplY3QgY2FsbGJhY2spOwogICAgIHZvaWQgc3Rh
dGlzdGljc0NsZWFyVGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbChvYmplY3QgY2FsbGJhY2spOwot
ICAgIHZvaWQgc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICB2b2lkIHN0
YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKG9iamVjdCBjb21wbGV0aW9uSGFuZGxlcik7
CiAKICAgICAvLyBJbmplY3RlZCBidW5kbGUgZm9ybSBjbGllbnQuCiAgICAgdm9pZCBpbnN0YWxs
VGV4dERpZENoYW5nZUluVGV4dEZpZWxkQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAKaW5kZXggZDQ0M2YxNjQ5MGZhMGQyMmY4MzA5MzY2MzVmZjVlZDk0YTJmNGVhZC4u
ODRmNDQwOWFhNzhmM2Q3NzRjMGYzMDE0MTQ0OTkwMThjYjIxM2Y5NSAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAKQEAgLTMwNSw2ICszMDUsMTEgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1l
c3NhZ2VUb1BhZ2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG0KICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1l
c3NhZ2VOYW1lLCAiQ2FsbERpZFJlc2V0U3RhdGlzdGljc1RvQ29uc2lzdGVudFN0YXRlIikpIHsK
KyAgICAgICAgbV90ZXN0UnVubmVyLT5zdGF0aXN0aWNzQ2FsbERpZFJlc2V0VG9Db25zaXN0ZW50
U3RhdGVDYWxsYmFjaygpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAogICAgIGlmIChX
S1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiQ2FsbERpZFNldFBhcnRp
dGlvbk9yQmxvY2tDb29raWVzRm9ySG9zdCIpKSB7CiAgICAgICAgIG1fdGVzdFJ1bm5lci0+c3Rh
dGlzdGljc0NhbGxEaWRTZXRQYXJ0aXRpb25PckJsb2NrQ29va2llc0Zvckhvc3RDYWxsYmFjaygp
OwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCA5NWFhZWY0Y2RhMGY4OGMyOGExZGY4ZTNl
ZmEyYzU1MWVhN2I3M2Q4Li40ZGZhNzU4YjhhZmJkNTFmYTQ2ZWI2NjM1MTZlOGIzN2IyN2ZjMTM5
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAKQEAgLTc0MCw2ICs3NDAsNyBAQCBlbnVtIHsKICAgICBTdGF0aXN0aWNzRGlk
U2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2tJRCwKICAgICBTdGF0aXN0aWNzRGlkUnVuVGVsZW1ldHJ5
Q2FsbGJhY2tJRCwKICAgICBTdGF0aXN0aWNzRGlkQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1v
dmFsQ2FsbGJhY2tJRCwKKyAgICBTdGF0aXN0aWNzRGlkUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUNh
bGxiYWNrSUQsCiAgICAgU3RhdGlzdGljc0RpZFNldFBhcnRpdGlvbk9yQmxvY2tDb29raWVzRm9y
SG9zdENhbGxiYWNrSUQsCiAgICAgQWxsU3RvcmFnZUFjY2Vzc0VudHJpZXNDYWxsYmFja0lELAog
ICAgIERpZFJlbW92ZUFsbFNlc3Npb25DcmVkZW50aWFsc0NhbGxiYWNrSUQsCkBAIC0xODk0LDEy
ICsxODk1LDE5IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c3RhdGlzdGljc0NhbGxDbGVhclRocm91Z2hX
ZWJzaXRlRGF0YVJlbW92YWxDYWxsYmFjaygpCiAgICAgY2FsbFRlc3RSdW5uZXJDYWxsYmFjayhT
dGF0aXN0aWNzRGlkQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsQ2FsbGJhY2tJRCk7CiB9
CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKQor
dm9pZCBUZXN0UnVubmVyOjpzdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShKU1ZhbHVl
UmVmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIGNhY2hlVGVzdFJ1bm5lckNhbGxiYWNrKFN0
YXRpc3RpY3NEaWRSZXNldFRvQ29uc2lzdGVudFN0YXRlQ2FsbGJhY2tJRCwgY29tcGxldGlvbkhh
bmRsZXIpOworICAgIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZShB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU3RhdGlzdGljc1Jlc2V0VG9D
b25zaXN0ZW50U3RhdGUiKSk7CiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKElu
amVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIDAs
IG51bGxwdHIpOwogfQogCit2b2lkIFRlc3RSdW5uZXI6OnN0YXRpc3RpY3NDYWxsRGlkUmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZUNhbGxiYWNrKCkKK3sKKyAgICBjYWxsVGVzdFJ1bm5lckNhbGxiYWNr
KFN0YXRpc3RpY3NEaWRSZXNldFRvQ29uc2lzdGVudFN0YXRlQ2FsbGJhY2tJRCk7Cit9CisKIHZv
aWQgVGVzdFJ1bm5lcjo6aW5zdGFsbFRleHREaWRDaGFuZ2VJblRleHRGaWVsZENhbGxiYWNrKEpT
VmFsdWVSZWYgY2FsbGJhY2spCiB7CiAgICAgY2FjaGVUZXN0UnVubmVyQ2FsbGJhY2soVGV4dERp
ZENoYW5nZUluVGV4dEZpZWxkQ2FsbGJhY2tJRCwgY2FsbGJhY2spOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCA3ODliYTIz
MDIzNjgzMDljYTA5OWExZWZiNzQ1N2UxN2EyNTMyNmYyLi4zNzFlMWRmYWMxYzY4OTBhODVkYzFj
Y2QzODJmMTg3MDAyNDZiOWRkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtNDEzLDcgKzQxMyw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRT
aW5jZUhvdXJzKHVuc2lnbmVkIGhvdXJzLCBKU1ZhbHVlUmVmIGNhbGxiYWNrKTsKICAgICB2b2lk
IHN0YXRpc3RpY3NDbGVhclRocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoSlNWYWx1ZVJlZiBjYWxs
YmFjayk7CiAgICAgdm9pZCBzdGF0aXN0aWNzQ2FsbENsZWFyVGhyb3VnaFdlYnNpdGVEYXRhUmVt
b3ZhbENhbGxiYWNrKCk7Ci0gICAgdm9pZCBzdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZSgpOworICAgIHZvaWQgc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoSlNWYWx1ZVJl
ZiBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdm9pZCBzdGF0aXN0aWNzQ2FsbERpZFJlc2V0VG9D
b25zaXN0ZW50U3RhdGVDYWxsYmFjaygpOwogCiAgICAgLy8gSW5qZWN0ZWQgYnVuZGxlIGZvcm0g
Y2xpZW50LgogICAgIHZvaWQgaW5zdGFsbFRleHREaWRDaGFuZ2VJblRleHRGaWVsZENhbGxiYWNr
KEpTVmFsdWVSZWYgY2FsbGJhY2spOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAppbmRleCA0YmU4OGM2NTE2NGYxZWE2MTMyNTQyN2Q0YWYxZTFmMTgyZjUxOTdmLi43
MGE5MmJiYWY5MjY5ZGRkZTM3ZmZhNDM3OTc2NWNhYTM1YWNiOGQ0IDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMjg4MSw3ICsyODgxLDEwIEBAIHZvaWQg
VGVzdENvbnRyb2xsZXI6OnN0YXRpc3RpY3NDbGVhclRocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwo
KQogdm9pZCBUZXN0Q29udHJvbGxlcjo6c3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUo
KQogewogICAgIGF1dG8qIGRhdGFTdG9yZSA9IFdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUo
cGxhdGZvcm1Db250ZXh0KCkpOwotICAgIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNl
dFRvQ29uc2lzdGVudFN0YXRlKGRhdGFTdG9yZSk7CisgICAgUmVzb3VyY2VTdGF0aXN0aWNzQ2Fs
bGJhY2tDb250ZXh0IGNvbnRleHQoKnRoaXMpOworICAgIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGRhdGFTdG9yZSwgJmNvbnRleHQsIHJlc291cmNl
U3RhdGlzdGljc1ZvaWRSZXN1bHRDYWxsYmFjayk7CisgICAgcnVuVW50aWwoY29udGV4dC5kb25l
LCBub1RpbWVvdXQpOworICAgIG1fY3VycmVudEludm9jYXRpb24tPmRpZFJlc2V0U3RhdGlzdGlj
c1RvQ29uc2lzdGVudFN0YXRlKCk7CiB9CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OmFkZE1vY2tN
ZWRpYURldmljZShXS1N0cmluZ1JlZiBwZXJzaXN0ZW50SUQsIFdLU3RyaW5nUmVmIGxhYmVsLCBX
S1N0cmluZ1JlZiB0eXBlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNw
cAppbmRleCAwNWMzY2U2MWE4YmVmM2U4OTU2OWZjNTZiYzNjOTdiMmQ3ODg4NzYwLi5mZTI0YTAx
ZjFlMThkMzM2YTg2YWE3NTM3NjVkNTI4NmI0Nzg3NDk4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTUwNyw2ICsxNTA3LDEyIEBAIHZvaWQgVGVzdElu
dm9jYXRpb246OmRpZENsZWFyU3RhdGlzdGljc1Rocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoKQog
ICAgIFdLUGFnZVBvc3RNZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShUZXN0Q29udHJvbGxlcjo6c2lu
Z2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGFnZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgMCk7CiB9
CiAKK3ZvaWQgVGVzdEludm9jYXRpb246OmRpZFJlc2V0U3RhdGlzdGljc1RvQ29uc2lzdGVudFN0
YXRlKCkKK3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9w
dFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJDYWxsRGlkUmVzZXRTdGF0aXN0aWNz
VG9Db25zaXN0ZW50U3RhdGUiKSk7CisgICAgV0tQYWdlUG9zdE1lc3NhZ2VUb0luamVjdGVkQnVu
ZGxlKFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5tYWluV2ViVmlldygpLT5wYWdlKCksIG1l
c3NhZ2VOYW1lLmdldCgpLCAwKTsKK30KKwogdm9pZCBUZXN0SW52b2NhdGlvbjo6ZGlkU2V0UGFy
dGl0aW9uT3JCbG9ja0Nvb2tpZXNGb3JIb3N0KCkKIHsKICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJDYWxsRGlkU2V0UGFydGl0aW9uT3JCbG9ja0Nvb2tpZXNGb3JIb3N0IikpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IDk0MGIzMjQ5NTE4ODM0NGY2YmM3OTlm
ODA1ZTE5MzZhYWE2MzNhYTEuLjM1NmJhYzU2MDQ0NmFiMzNkYzc2MTFlYzgyZWQ0NjU1YzRlOGFh
MzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTcyLDYgKzcy
LDcgQEAgcHVibGljOgogICAgIHZvaWQgbm90aWZ5RG93bmxvYWREb25lKCk7CiAKICAgICB2b2lk
IGRpZENsZWFyU3RhdGlzdGljc1Rocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoKTsKKyAgICB2b2lk
IGRpZFJlc2V0U3RhdGlzdGljc1RvQ29uc2lzdGVudFN0YXRlKCk7CiAgICAgdm9pZCBkaWRTZXRQ
YXJ0aXRpb25PckJsb2NrQ29va2llc0Zvckhvc3QoKTsKICAgICB2b2lkIGRpZFJlY2VpdmVBbGxT
dG9yYWdlQWNjZXNzRW50cmllcyhWZWN0b3I8U3RyaW5nPiYgZG9tYWlucyk7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBh
ZDM5NzYxZTk1N2QxZTE4ZjU5YzAyZWQ5OTJiNzY5MTQ1NDNhNTM3Li44ZDJhM2ViMTYxNWFkNmM2
NmE2ZDkzNzk1ODM2NDgyMTMzODExZWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjggQEAKKzIwMTgtMDct
MDkgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3Vy
Y2UgTG9hZCBTdGF0aXN0aWNzOiBNYWtlIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25z
aXN0ZW50U3RhdGUoKSB0YWtlIGEgY29tcGxldGlvbiBoYW5kbGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc0OTkKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQxOTk5NDMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZXNlIGNoYW5nZXMgYXJlIHRvIGFkb3B0IGFuZCBtYWtlIHVzZSBvZiB0aGUg
bmV3IGNvbXBsZXRpb24gaGFuZGxlciBpbgorICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NS
ZXNldFRvQ29uc2lzdGVudFN0YXRlKCkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGlyZWN0Lmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FkZC1wYXJ0aXRpb25pbmctdG8tcmVk
aXJlY3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5z
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZyYW1l
LW9yaWdpbnMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUt
cmVkaXJlY3RzLXRvLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LWNvbGx1c2lvbi5o
dG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3AtZnJhbWUtb3Jp
Z2lucy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0
cy10by5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LWNvbGx1c2lv
bi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZhbGVu
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8u
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtdmVyeS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnkt
YW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXIuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0
b3JlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2dy
YW5kZmF0aGVyaW5nLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxl
bnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2VzLWNh
bi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5LWNvbnRleHQuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVk
LW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxo
b3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRv
LWxvY2FsaG9zdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9wYXJ0aXRpb25lZC1hbmQtdW5wYXJ0aXRpb25lZC1jb29raWUtZGVsZXRpb24uaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGFydGl0aW9uZWQt
YW5kLXVucGFydGl0aW9uZWQtY29va2llLXdpdGgtcGFydGl0aW9uaW5nLXRpbWVvdXQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0
aXRpb25lZC1hbmQtdW5wYXJ0aXRpb25lZC1jb29raWUtd2l0aC1wYXJ0aXRpb25pbmctdGltZW91
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0
aXRpb25lZC1jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVz
b3VyY2UtaGFuZGxlZC1rZXlkb3duLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQt
cmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdpdGgt
dXNlci1pbnRlcmFjdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0
YXRpc3RpY3MuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS1wYXJ0aXRpb25pbmctaW4tcmVkaXJlY3Qu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRo
LW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQt
bmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhv
c3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13
aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9z
dC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJp
cC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZWRpcmVjdHMu
aHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAt
cmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVzdHMuaHRt
bDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5
LWdlbmVyYXRpb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvdGhpcmQtcGFydHktY29va2llLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlv
bi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2Vy
LWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1vbmx5LXJl
cG9ydGVkLW9uY2Utd2l0aGluLXNob3J0LXBlcmlvZC1vZi10aW1lLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tcmVwb3J0
ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwuaHRtbDoKKwogMjAxOC0wNy0wOSAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGZ1bGxzY3JlZW4tYXV0
by1oaWRlLWRlbGF5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLWJsb2NraW5nLXRvLXJlZGly
ZWN0Lmh0bWwKaW5kZXggMDY2NmVmZmZjNDg3MGE2ZjJiNWViNmJlOTZjYzQ1MGY5YzcyNjFhNy4u
MWY2ODllZWQwNDQ0NWZkNjU1ZWRjZTFhNjY0NTdlN2Q5NWFhM2I2YSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2FkZC1ibG9ja2luZy10
by1yZWRpcmVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9hZGQtYmxvY2tpbmctdG8tcmVkaXJlY3QuaHRtbApAQCAtOSwxMSArOSwxMyBA
QAogICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGJsb2NraW5nIGlzIGFkZGVkIG1pZC1mbGln
aHQgaW4gcmVkaXJlY3RzLiIpOwogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi0gICAgZnVu
Y3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUpIHsKLSAgICAgICAgaWYgKCFlbmFibGUpCi0g
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7
CisgICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUsIGNvbXBsZXRpb25IYW5kbGVy
KSB7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChl
bmFibGUpOwogICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdF
bmFibGVkKGVuYWJsZSk7CisgICAgICAgIGlmICghZW5hYmxlKQorICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShjb21wbGV0aW9uSGFuZGxlcik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfQog
CiAgICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7CkBAIC04OSwyMCAr
OTEsMjAgQEAKICAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHJlZGlyZWN0Q2hhaW5VcmwgKyAi
Jm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAzLCBhZnRlciBhdHRlbXB0ZWQgY29va2llIGNyZWF0aW9u
LCBzaG91bGQgcmVjZWl2ZSBubyBjb29raWUuIiwgcnVuVGVzdCk7CiAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICBjYXNlICIjc3RlcDEwIjoKLSAgICAgICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlKTsKLSAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKGRvY3VtZW50
LmxvY2F0aW9uLmhhc2ggPT09ICIiKSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7
Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJo
dHRwOi8vbG9jYWxob3N0IikpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2Fz
IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydHMu
Iik7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAg
IGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwotICAgICAgICAvLyBNYWtlIHN1cmUg
dGhlIG5ldHdvcmsgcHJvY2VzcyBpcyB1cC10by1kYXRlLgotICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NTZXRTaG91bGRQYXJ0aXRpb25Db29raWVzRm9ySG9zdCgibG9jYWxob3N0IiwgZmFs
c2UsIHJ1blRlc3QpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9j
YWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRl
c3Qgc3RhcnRzLiIpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1Rl
eHQoKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOworICAg
ICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBuZXR3b3JrIHByb2Nlc3MgaXMgdXAtdG8tZGF0ZS4K
KyAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1NldFNob3VsZFBhcnRpdGlvbkNvb2tp
ZXNGb3JIb3N0KCJsb2NhbGhvc3QiLCBmYWxzZSwgcnVuVGVzdCk7CisgICAgICAgIH0pOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIHJ1blRlc3QoKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvYWRkLXBhcnRpdGlvbmluZy10
by1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2FkZC1wYXJ0aXRpb25pbmctdG8tcmVkaXJlY3QuaHRtbAppbmRleCA3YzVmOWZlNjli
MThmNmEyYTYxZjc0YjY3ZGEyYmVlMDE5MmQ0MDk4Li5lNmY0OGRmZGJiNWIxMGQzYTE5ZDRjYmE3
ZWJkYjUzOGIzYTVlNmViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvYWRkLXBhcnRpdGlvbmluZy10by1yZWRpcmVjdC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9hZGQtcGFydGl0
aW9uaW5nLXRvLXJlZGlyZWN0Lmh0bWwKQEAgLTksMTEgKzksMTMgQEAKICAgICBkZXNjcmlwdGlv
bigiVGVzdHMgdGhhdCBwYXJ0aXRpb25pbmcgaXMgYWRkZWQgbWlkLWZsaWdodCBpbiByZWRpcmVj
dHMuIik7CiAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CiAKLSAgICBmdW5jdGlvbiBzZXRFbmFi
bGVGZWF0dXJlKGVuYWJsZSkgewotICAgICAgICBpZiAoIWVuYWJsZSkKLSAgICAgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICBmdW5jdGlv
biBzZXRFbmFibGVGZWF0dXJlKGVuYWJsZSwgY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAg
aW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoZW5hYmxl
KTsKKyAgICAgICAgaWYgKCFlbmFibGUpCisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9CiAKICAgICBjb25zdCBw
YXJ0aXRpb25Ib3N0ID0gIjEyNy4wLjAuMTo4MDAwIjsKQEAgLTk3LDEzICs5OSwxNCBAQAogICAg
IH0KIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIikgewotICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKHRydWUpOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQotICAgICAgICAgICAgdGVz
dEZhaWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBi
ZWZvcmUgdGhlIHRlc3Qgc3RhcnRlZC4iKTsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRG
cmFtZXNBc1RleHQoKTsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7
Ci0gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgbmV0d29yayBwcm9jZXNzIGlzIHVwLXRvLWRhdGUu
Ci0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1NldFNob3VsZFBhcnRpdGlvbkNvb2tpZXNG
b3JIb3N0KCJsb2NhbGhvc3QiLCBmYWxzZSwgcnVuVGVzdCk7CisgICAgICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiKSkKKyAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50
IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydGVkLiIpOworICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0
aW9uLmhhc2ggPSAic3RlcDEiOworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBuZXR3b3Jr
IHByb2Nlc3MgaXMgdXAtdG8tZGF0ZS4KKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c1NldFNob3VsZFBhcnRpdGlvbkNvb2tpZXNGb3JIb3N0KCJsb2NhbGhvc3QiLCBmYWxzZSwgcnVu
VGVzdCk7CisgICAgICAgIH0pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJ1blRlc3QoKTsKICAg
ICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xh
c3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwKaW5k
ZXggNTQ3YzkxMTY0YjNhYzk1YzUzOTMzZmI0MTMxMTgxOThjOTc1NDUzNS4uOWE1ZDI3NTdlY2Ni
NDc2NWVlMDAyODlmOWEzZTU5MTdhYjViZGFiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQt
YmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2Vk
LW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbApAQCAtMTksOCArMTksOSBAQAogICAgICAgICBlbHNl
CiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMg
cHJldmFsZW50IHJlc291cmNlLiIpOwogCi0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jl
c2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAg
fSk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3Np
ZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9y
aWdpbnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy5odG1sCmluZGV4IDkwZWRjOGI4YmMxZTUzY2NjZDAxODNiMDQ1MTc2MmQ0
NDM2MGYwNDYuLjAyZDZkYWQ4ODc0OTYwZDMyNWFkYjZiMjEzOTYzMTg2OTRlYjFmYmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFz
c2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRlci10b3AtZnJhbWUt
b3JpZ2lucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFtZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCkBAIC0xOSw4ICsxOSw5IEBACiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVz
ZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9
KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1mcmFtZS1v
cmlnaW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10
b3AtZnJhbWUtb3JpZ2lucy5odG1sCmluZGV4IDg2OTk3MDkyMTFkNzQxM2I1NjMxZDcwYjNiYjc1
ODNlNzFmZTRkMDkuLjRiZjMwYTg0ZWYyMzJkZThiNTY0YzUwM2ZkMDIxMGVkYWY1MzQzZDcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVuZGVyLXRvcC1m
cmFtZS1vcmlnaW5zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3Vy
Y2UtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbApAQCAtMTgsOCArMTgsOSBAQAogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGRpZCBub3QgZ2V0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwogCi0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3Rh
dGUoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAg
ICAgICAgfSk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVk
aXJlY3RzLXRvLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY2xhc3NpZnktYXMtbm9uLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlx
dWUtcmVkaXJlY3RzLXRvLmh0bWwKaW5kZXggOTU3MTkxZjU2N2MxMGU5OWQ5M2RiYmJlMzYwNDk1
NTE1NjBmYjc2Zi4uNjUyM2UyN2FmN2NjMjAyZWQ1MDIzMTk2MWYyYjA2YWUwMjA5MmQ1NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLW5vbi1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGly
ZWN0cy10by5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jbGFzc2lmeS1hcy1ub24tcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
aXF1ZS1yZWRpcmVjdHMtdG8uaHRtbApAQCAtMTgsOSArMTgsMTAgQEAKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHBy
ZXZhbGVudCByZXNvdXJjZS4iKTsKIAotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNl
dFRvQ29uc2lzdGVudFN0YXRlKCk7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAg
IH0pOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFs
ZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbAppbmRleCA0OTcxNzU3MzE0NzUxZDkw
ODExZTYwNzMwYTI5MjEyNDFlYmFkNzFiLi44Y2U1NDYxYjVjNjU4NWFmM2FjNDdhYzEwZjhiODAy
ZmExZjc1ZGZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3Rp
Y3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLW1peGVkLXN0YXRpc3RpY3MuaHRtbApA
QCAtMjIsOSArMjIsMTAgQEAKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGVzdFBhc3NlZCgi
SG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKIAotICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAgICAgICAgIGludGVy
bmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOyAgICAgICAgCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24g
cnVuVGVzdFJ1bm5lclRlc3QoKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1
Yi1mcmFtZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWItZnJhbWUtdW5kZXItdG9wLWZyYW1lLW9yaWdpbnMuaHRtbAppbmRleCAxNzVlOGRlMzM3
YTVjYTc1OWUxNDA1MjU3ZTUzYTRkYzkwNTA3ZDdhLi5kMzA3ZmY0ZDJlYzA5YzhmYjM3OGE3MDUx
ZWE3OGEzYmVlODBhYjIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1Yi1mcmFt
ZS11bmRlci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3ViLWZyYW1lLXVuZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKQEAgLTIyLDkgKzIyLDEwIEBA
CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBh
cyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VM
b2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZShmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAg
ICAgICB9KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtY29sbHVz
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LWNvbGx1
c2lvbi5odG1sCmluZGV4IGZjYzY4Zjk3NGUxYmNmNGM4NzRlYjMzZmE4N2IwZGE0OTAwNWI5ZmEu
LmJjYWNlODhkNWI5ZmMzMGI3NjJkZTk2MWIwNjczNjkzNjUxMGY4NTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtcmVkaXJlY3QtY29sbHVzaW9uLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5
LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS1yZWRpcmVjdC1jb2xsdXNpb24uaHRt
bApAQCAtMTYsMTEgKzE2LDEzIEBACiAgICAgY29uc3Qgc3VicmVzb3VyY2VPcmlnaW4zID0gImh0
dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsKICAgICBjb25zdCBzdWJyZXNvdXJjZU9yaWdpbjQg
PSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAiOwogCi0gICAgZnVuY3Rpb24gc2V0RW5hYmxl
RmVhdHVyZShlbmFibGUpIHsKLSAgICAgICAgaWYgKCFlbmFibGUpCi0gICAgICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgZnVuY3Rpb24g
c2V0RW5hYmxlRmVhdHVyZShlbmFibGUsIGNvbXBsZXRpb25IYW5kbGVyKSB7CiAgICAgICAgIGlu
dGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOwogICAgICAg
ICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7
CisgICAgICAgIGlmICghZW5hYmxlKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShjb21wbGV0aW9uSGFuZGxlcik7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24g
cnVuVGVzdCgpIHsKQEAgLTU1LDE2ICs1NywxNiBAQAogICAgICAgICBpZiAodGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCIp
KQogICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29sbHVkaW5nIGxvY2FsaG9zdCBnb3QgY2xhc3Np
ZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKIAotICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgfQogCiAgICAgaWYgKGRvY3VtZW50
LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYg
d2luZG93LmludGVybmFscykgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUpOworICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwsIGZh
bHNlKTsKKyAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJl
c291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3Qg
ZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwg
ZmFsc2UpOwotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5v
dCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIH0pOwogICAg
IH0KIDwvc2NyaXB0PgogPGlmcmFtZSBvbmxvYWQ9InJ1blRlc3QoKSIgc3JjPSJodHRwOi8vbG9j
YWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhw
P3JlZGlyZWN0VG89aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
b25jbGljay5odG1sIj48L2lmcmFtZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
c3VicmVzb3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2Vk
LW9uLXN1YnJlc291cmNlLXJlZGlyZWN0LXRvLXByZXZhbGVudC5odG1sCmluZGV4IGJkZDQ3MzE0
ZDhiZTkyOTY0MDM0OWU4YjA0NjYzNGYwZjA5YmQyMWQuLjQ2Yjg4OWIwZTEzNzlhMTdmZjE2Zjlk
OGUzOTM5YWY3ZjVkMmNmM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVz
b3VyY2UtcmVkaXJlY3QtdG8tcHJldmFsZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1v
bi1zdWJyZXNvdXJjZS1yZWRpcmVjdC10by1wcmV2YWxlbnQuaHRtbApAQCAtMTMsMTEgKzEzLDEz
IEBACiAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhvc3RVbmRlclRlc3Qg
KyAiL3RlbXAiOwogICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luMSA9ICJodHRwOi8vMTI3LjAuMC4y
OjgwMDAvdGVtcCI7CiAKLSAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJsZSkgewot
ICAgICAgICBpZiAoIWVuYWJsZSkKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jl
c2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVu
YWJsZSwgY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q29v
a2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoZW5hYmxlKTsKKyAgICAgICAgaWYgKCFlbmFi
bGUpCisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7CkBA
IC0yOCw4ICszMCw3IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhv
c3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgIH0KIAogICAgIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CkBAIC00MSwxMyArNDIsMTQgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQodHJ1ZSk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJl
dmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOwotICAgICAgICBpZiAodGVzdFJ1
bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKLSAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQg
cmVzb3VyY2UuIik7Ci0gICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisKKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHN0YXRpc3RpY3NV
cmwsIGZhbHNlKTsKKyAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZh
bGVudFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
Ikhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1wcmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAg
ICAgICAgICBydW5UZXN0KCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRlci10b3At
ZnJhbWUtb3JpZ2lucy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmRl
ci10b3AtZnJhbWUtb3JpZ2lucy5odG1sCmluZGV4IGI3YWU0MWM5NDNjMmE2MmU1OTAzYWU5Y2Mx
OGJmN2QwOTlmMDlhZGQuLjI1Zjc4OThiMzg3MDgxMmZmMDcyMTdiYzc4MWY3MTliODZiNzFlN2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5kZXItdG9wLWZy
YW1lLW9yaWdpbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXN1YnJlc291cmNlLXVu
ZGVyLXRvcC1mcmFtZS1vcmlnaW5zLmh0bWwKQEAgLTIyLDkgKzIyLDEwIEBACiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3QgY2xhc3NpZmllZCBhcyBwcmV2YWxlbnQg
cmVzb3VyY2UuIik7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZSgpOwogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0VuYWJsZWQoZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAg
ICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKICAg
ICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1w
cmV2YWxlbnQtYmFzZWQtb24tc3VicmVzb3VyY2UtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFz
LXByZXZhbGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwK
aW5kZXggY2M0NjY2OGRhNWE2NjYyMWRlOWE5ZTBkYWFjNjAxYTUzNWRkMmFiZS4uZjA0ZmRjNDQ1
MTY4MDBmNzQ2Njc0NDI4ZTk5NjQ1OTQ5ZjVhZTFkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1i
YXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZh
bGVudC1iYXNlZC1vbi1zdWJyZXNvdXJjZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKQEAgLTIy
LDkgKzIyLDEwIEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwogICAgICAgICBpbnRlcm5hbHMu
c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFsc2UpOwotICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOworICAgICAgICB9KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVy
VGVzdCgpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGly
ZWN0LWNvbGx1c2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJl
Y3QtY29sbHVzaW9uLmh0bWwKaW5kZXggM2U1ZGUzNWE3YzVjMzA2MzI5NTk4OGY1ZDdkNWM1ZDcy
OTBiMDA3Yy4uYWIyYTM3MjE5MDAyODRkNmQ2ZTQ4Y2U3NDQyMWExMTliMzM4ODMzMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNz
aWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9uLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Ns
YXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3QtY29sbHVzaW9u
Lmh0bWwKQEAgLTE3LDExICsxNywxMyBAQAogICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luNCA9ICJo
dHRwOi8vMTI3LjAuMC41OjgwMDAvdGVtcCI7CiAgICAgY29uc3QgdG9wRnJhbWVPcmlnaW41ID0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC8iOwogCi0gICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVy
ZShlbmFibGUpIHsKLSAgICAgICAgaWYgKCFlbmFibGUpCi0gICAgICAgICAgICB0ZXN0UnVubmVy
LnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgZnVuY3Rpb24gc2V0RW5h
YmxlRmVhdHVyZShlbmFibGUsIGNvbXBsZXRpb25IYW5kbGVyKSB7CiAgICAgICAgIGludGVybmFs
cy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOwogICAgICAgICB0ZXN0
UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAg
ICAgIGlmICghZW5hYmxlKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZShjb21wbGV0aW9uSGFuZGxlcik7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gcnVuVGVz
dCgpIHsKQEAgLTU0LDE4ICs1NiwxNyBAQAogICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NWZXJ5UHJldmFsZW50UmVzb3VyY2UodG9wRnJhbWVPcmlnaW41KSkKICAgICAgICAgICAg
IHRlc3RGYWlsZWQoIkNvbGx1ZGluZyBsb2NhbGhvc3QgZ290IGNsYXNzaWZpZWQgYXMgdmVyeSBw
cmV2YWxlbnQgcmVzb3VyY2UuIik7CiAKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSk7
Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmaW5pc2hKU1Rlc3QpOwogICAgIH0KIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5oYXNo
ID09PSAiIiAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7Ci0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOwotICAgICAgICBp
ZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJs
KSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIG5vbi1w
cmV2YWxlbnQgcmVzb3VyY2UuIik7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRS
ZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7CisgICAgICAgICAgICBpZiAodGVzdFJ1bm5l
ci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50
IHJlc291cmNlLiIpOwogCi0gICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB0b3BGcmFt
ZU9yaWdpbjUgKyAicmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhw
P3JlZGlyZWN0VG89aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVjdC1jb2xsdXNp
b24uaHRtbCNjb250aW51ZSI7CisgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0g
dG9wRnJhbWVPcmlnaW41ICsgInJlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3JlZGly
ZWN0LnBocD9yZWRpcmVjdFRvPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3AtZnJhbWUtcmVkaXJlY3Qt
Y29sbHVzaW9uLmh0bWwjY29udGludWUiOworICAgICAgICB9KTsKICAgICB9IGVsc2UgewogICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOwogICAgICAgICBydW5U
ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50LWJhc2VkLW9uLXRvcC1mcmFtZS1yZWRpcmVj
dC10by1wcmV2YWxlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGly
ZWN0LXRvLXByZXZhbGVudC5odG1sCmluZGV4IDk4NjYwODcxNGM5ZWNhODM1ODY4ZWQwMzFmMTdl
NDZkMmE1ZDU5MTkuLmYyZWIzYTNkNWVlYWMyMzU0ZTYxMGIxNTY3ZjRlMGJkN2FiMjJhN2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
bGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRvLXByZXZh
bGVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24tdG9wLWZyYW1lLXJlZGlyZWN0LXRv
LXByZXZhbGVudC5odG1sCkBAIC0xMywxMSArMTMsMTMgQEAKICAgICBjb25zdCBzdGF0aXN0aWNz
VXJsID0gImh0dHA6Ly8iICsgaG9zdFVuZGVyVGVzdCArICIvdGVtcCI7CiAgICAgY29uc3QgdG9w
RnJhbWVPcmlnaW4xID0gImh0dHA6Ly8xMjcuMC4wLjI6ODAwMC90ZW1wIjsKIAotICAgIGZ1bmN0
aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAgICAgIGlmICghZW5hYmxlKQotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwor
ICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFuZGxlcikg
ewogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZW5h
YmxlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5h
YmxlZChlbmFibGUpOworICAgICAgICBpZiAoIWVuYWJsZSkKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoY29tcGxldGlvbkhhbmRsZXIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIGNvbXBsZXRlVGVzdCgpIHsKQEAgLTI4LDggKzMwLDcgQEAKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdCBjbGFzc2lmaWVkIGFzIHByZXZhbGVu
dCByZXNvdXJjZS4iKTsKIAotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlKTsKLSAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKQEAgLTQxLDEzICs0
MiwxNCBAQAogICAgIH0KIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBob3N0
VW5kZXJUZXN0ICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLQotICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNz
VXJsLCBmYWxzZSk7Ci0gICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVu
dFJlc291cmNlKHN0YXRpc3RpY3NVcmwpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBk
aWQgbm90IGdldCBzZXQgYXMgbm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgcnVu
VGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29y
ZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCwgZmFsc2UpOworICAgICAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1Vy
bCkpCisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMg
bm9uLXByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAg
ICAgfSk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtcHJldmFsZW50
LWJhc2VkLW9uLXRvcC1mcmFtZS11bmlxdWUtcmVkaXJlY3RzLXRvLmh0bWwKaW5kZXggNTkxODY5
MmZkNjc3OTAzZDk1ZmRjZjU0YTk4ZDZjMTk1YTIxM2ExYi4uYzNlOTIxMzc4ZTBkNzQwYTk3YzYx
NTllY2E0Y2JjOGE4NTdlZDM5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXByZXZhbGVudC1iYXNlZC1vbi10b3At
ZnJhbWUtdW5pcXVlLXJlZGlyZWN0cy10by5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy1wcmV2YWxlbnQtYmFzZWQtb24t
dG9wLWZyYW1lLXVuaXF1ZS1yZWRpcmVjdHMtdG8uaHRtbApAQCAtMTYsMTEgKzE2LDEzIEBACiAg
ICAgY29uc3QgdG9wRnJhbWVPcmlnaW4zID0gImh0dHA6Ly8xMjcuMC4wLjQ6ODAwMC90ZW1wIjsK
ICAgICBjb25zdCB0b3BGcmFtZU9yaWdpbjQgPSAiaHR0cDovLzEyNy4wLjAuNTo4MDAwL3RlbXAi
OwogCi0gICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUpIHsKLSAgICAgICAgaWYg
KCFlbmFibGUpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKCk7CisgICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUsIGNvbXBs
ZXRpb25IYW5kbGVyKSB7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChlbmFibGUpOwogICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQ
YXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIGlmICghZW5hYmxlKQorICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShjb21wbGV0
aW9uSGFuZGxlcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KCk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gY29tcGxldGVUZXN0KCkgewpAQCAtMzEsOCArMzMs
NyBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJIb3N0IGNsYXNzaWZp
ZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwogCi0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkg
ewpAQCAtNDcsMTMgKzQ4LDE0IEBACiAgICAgfQogCiAgICAgaWYgKGRvY3VtZW50LmxvY2F0aW9u
Lmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93Lmlu
dGVybmFscykgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUpOwotICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVk
KHRydWUpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHN0YXRpc3RpY3NVcmwsIGZhbHNlKTsKLSAgICAgICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2Uoc3RhdGlzdGljc1VybCkpCi0gICAgICAgICAgICB0ZXN0
RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIp
OwotICAgICAgICBydW5UZXN0KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworCisgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShzdGF0aXN0aWNzVXJsLCBmYWxzZSk7
CisgICAgICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJj
ZShzdGF0aXN0aWNzVXJsKSkKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBu
b3QgZ2V0IHNldCBhcyBub24tcHJldmFsZW50IHJlc291cmNlLiIpOworICAgICAgICAgICAgcnVu
VGVzdCgpOworICAgICAgICB9KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lm
eS1hcy12ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1taXhlZC1zdGF0aXN0aWNzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xhc3NpZnktYXMtdmVy
eS1wcmV2YWxlbnQtYmFzZWQtb24tbWl4ZWQtc3RhdGlzdGljcy5odG1sCmluZGV4IGRlZTA2ZmQy
NTRjYzBiZDI5MTIxZTFlYjExZGIxMDY5ZjNhYmE3ODYuLjkyMmUzY2NhZWExNzdmNzVjZjUzYzMy
ZTMyNzc2NjQyNzg4MWFkNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jbGFzc2lmeS1hcy12ZXJ5LXByZXZhbGVudC1iYXNlZC1vbi1t
aXhlZC1zdGF0aXN0aWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NsYXNzaWZ5LWFzLXZlcnktcHJldmFsZW50LWJhc2VkLW9uLW1peGVk
LXN0YXRpc3RpY3MuaHRtbApAQCAtMTcsMTEgKzE3LDEzIEBACiAgICAgZm9yICh2YXIgaSA9IHN0
YXJ0TnVtOyBpIDwgbnVtYmVyT2ZTdWJyZXNvdXJjZURvbWFpbnMgKyBzdGFydE51bTsgKytpKQog
ICAgICAgICB0b3BGcmFtZU9yaWdpbnMucHVzaCgiaHR0cDovLzEyNy4wLjAuIiArIGkgKyAiOjgw
MDAvdGVtcCIpCiAKLSAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJsZSkgewotICAg
ICAgICBpZiAoIWVuYWJsZSkKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0
VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJs
ZSwgY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q29va2ll
U3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoZW5hYmxlKTsKKyAgICAgICAgaWYgKCFlbmFibGUp
CisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRl
KGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBjb21wbGV0ZVRlc3QoKSB7CkBAIC0z
Miw4ICszNCw3IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3Qg
Y2xhc3NpZmllZCBhcyB2ZXJ5IHByZXZhbGVudCByZXNvdXJjZS4iKTsKIAotICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKGZhbHNlKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgfQogCiAgICAgZnVuY3Rp
b24gcnVuVGVzdFJ1bm5lclRlc3QoKSB7CkBAIC02NCw4ICs2NSw3IEBACiAgICAgfQogCiAgICAg
aWYgKGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgPT09IGhvc3RVbmRlclRlc3QgJiYgd2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUpOwotICAgICAgICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIHJ1blRlc3RSdW5uZXJUZXN0KTsKICAgICB9CiA8L3NjcmlwdD4KIDwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXIuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbGVhci1pbi1t
ZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUtb25lLWhvdXIuaHRtbAppbmRleCAxNTQ3ZjFhY2Fj
Zjg1Y2EwOWMyZWFiM2UyNDc5ZmIwNjM1ZDcxNTZkLi4wZTk5YWI5YTJlZmM3YmRlYzU1ODA3ZWVj
OWIyMjk2NmU1YjJlNDI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLW9u
ZS1ob3VyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVyc2lzdGVudC1zdG9yZS1vbmUtaG91ci5odG1s
CkBAIC0xOSw5ICsxOSwxMCBAQAogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0ZXN0UGFzc2Vk
KCJIb3N0IGlzIG5vIGxvbmdlciBhIHByZXZhbGVudCByZXNvdXJjZSBhZnRlciB0aGUgc3RvcmUg
d2FzIGNsZWFyZWQuIik7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZSgpOwogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQoZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsK
ICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0U3RlcDIoKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFu
ZC1wZXJzaXN0ZW50LXN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY2xlYXItaW4tbWVtb3J5LWFuZC1wZXJzaXN0ZW50LXN0b3JlLmh0bWwK
aW5kZXggYjQ0NmFlMjRkNjYxNzZmYTU0MDI4MWU4ZWNmMjQyODRlNTEzODk0Yi4uNDU3ZWIwZTU2
ZDBlMGU2YjZjYzFhY2JmZDA1OTVkNDdlMDU2MzgwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVy
c2lzdGVudC1zdG9yZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jbGVhci1pbi1tZW1vcnktYW5kLXBlcnNpc3RlbnQtc3RvcmUuaHRtbApA
QCAtMjgsOSArMjgsMTAgQEAKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGVzdFBhc3NlZCgi
SG9zdCBpcyBubyBsb25nZXIgYSBwcmV2YWxlbnQgcmVzb3VyY2UgYWZ0ZXIgdGhlIHN0b3JlIHdh
cyBjbGVhcmVkLiIpOwogCi0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25z
aXN0ZW50U3RhdGUoKTsKICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NFbmFibGVkKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7ICAgICAg
ICAKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAg
ICB9KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBydW5UZXN0UnVubmVyVGVzdCgpIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ncmFu
ZGZhdGhlcmluZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2dyYW5kZmF0aGVyaW5nLmh0bWwKaW5kZXggNjMwMzBmZTZmNGM2MGZkMzc2OTdkYWM1
MThiYWZjOTVmYTA1YjRlMS4uZjQ5ZmQ4YjVhNmViNWEwYjIxNjA4NTBhMDQ2NmNjOTI2ODJkYjU3
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2dyYW5kZmF0aGVyaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2dyYW5kZmF0aGVyaW5nLmh0bWwKQEAgLTE4LDE4ICsxOCwyMCBA
QAogICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArICIvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOwogICAgIGNvbnN0IHN1YlBhdGhUb1NldFRo
aXJkUGFydHlDb29raWUgPSAiL3NldC1jb29raWUucGhwP25hbWU9IiArIHRoaXJkUGFydHlDb29r
aWVOYW1lICsgIiZ2YWx1ZT0iICsgY29va2llVmFsdWU7CiAKLSAgICBmdW5jdGlvbiBzZXRFbmFi
bGVGZWF0dXJlKGVuYWJsZSkgewotICAgICAgICBpZiAoIWVuYWJsZSkgewotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwotICAgICAgICB9
CisgICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUsIGNvbXBsZXRpb25IYW5kbGVy
KSB7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFS
ZWNvcmRzV2VyZVNjYW5uZWQoZW5hYmxlKTsKICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q29v
a2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoZW5hYmxlKTsKKyAgICAgICAgaWYgKCFlbmFi
bGUpCisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgewotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOwogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIGZpcmVEYXRhTW9kaWZpY2F0aW9uSGFuZGxlckFuZENvbnRpbnVlKCkgewpA
QCAtMTAzLDE3ICsxMDUsMTcgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24u
aGFzaCA9PT0gIiIgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewot
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0
YVJlY29yZHNSZW1vdmFsKDApOwogCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1No
b3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29y
ZHNSZW1vdmFsKDApOwotCi0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICBkb2N1bWVu
dC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICB9Ci0KLSAgICBydW5UZXN0KCk7CisgICAg
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXAxIjsKKyAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgfSk7Cisg
ICAgfSBlbHNlCisgICAgICAgIHJ1blRlc3QoKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVu
dC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbAppbmRleCBhYzY2MDA4NTdlMTYz
ODNjZTVkYzA0NjJkZDRjNTMzMzhiNzVkZmEwLi42NzIyMjA4ZGUyNDgyZTg1ZmNlMTZmZWY3Y2E5
Njg4NTlmZGRlODgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbApAQCAt
MTEsMTEgKzExLDEzIEBACiAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiArIGhv
c3RVbmRlclRlc3QgKyAiL3RlbXAiOwogICAgIGNvbnN0IG90aGVyUHJldmFsZW50VXJsID0gImh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC90ZW1wIjsKIAotICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1
cmUoZW5hYmxlKSB7Ci0gICAgICAgIGlmICghZW5hYmxlKQotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgIGZ1bmN0aW9uIHNldEVu
YWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFuZGxlcikgewogICAgICAgICBpbnRlcm5h
bHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZW5hYmxlKTsKICAgICAgICAgdGVz
dFJ1bm5lci5zZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChlbmFibGUpOworICAg
ICAgICBpZiAoIWVuYWJsZSkKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0
VG9Db25zaXN0ZW50U3RhdGUoY29tcGxldGlvbkhhbmRsZXIpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHJ1blRl
c3RSdW5uZXJUZXN0KCkgewpAQCAtNDYsOCArNDgsOSBAQAogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBkZWxldGVkIG9yIGRvY3VtZW50LmNvb2tp
ZSBjb250YWlucyBvdGhlciBjb29raWVzOiAiICsgZG9jdW1lbnQuY29va2llKTsKIAotICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAg
ICAgfSk7CiAgICAgICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91
bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CiAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRz
UmVtb3ZhbCgwKTsKQEAgLTU2LDkgKzU5LDEwIEBACiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRp
b24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cu
aW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICBy
dW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNX
aGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgIHJ1blRlc3RSdW5u
ZXJUZXN0KCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1w
cmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNv
dXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbAppbmRleCA4ODIzOWI1MzQ0MjFmMGEz
MzhkNTI5OWRmMWY0Yzg4OGNiYmUwNjdhLi4xYmVmYzEzZmU2NzVhZjUwYTZkYTRjYzNhZTI2N2Nk
NjBhMWQyYzBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbApA
QCAtMTEsMTEgKzExLDEzIEBACiAgICAgY29uc3Qgc3RhdGlzdGljc1VybCA9ICJodHRwOi8vIiAr
IGhvc3RVbmRlclRlc3QgKyAiL3RlbXAiOwogICAgIGNvbnN0IG90aGVyUHJldmFsZW50VXJsID0g
Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC90ZW1wIjsKIAotICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZl
YXR1cmUoZW5hYmxlKSB7Ci0gICAgICAgIGlmICghZW5hYmxlKQotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgIGZ1bmN0aW9uIHNl
dEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFuZGxlcikgewogICAgICAgICBpbnRl
cm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZW5hYmxlKTsKICAgICAgICAg
dGVzdFJ1bm5lci5zZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChlbmFibGUpOwor
ICAgICAgICBpZiAoIWVuYWJsZSkKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jl
c2V0VG9Db25zaXN0ZW50U3RhdGUoY29tcGxldGlvbkhhbmRsZXIpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHJ1
blRlc3RSdW5uZXJUZXN0KCkgewpAQCAtNDYsOCArNDgsOSBAQAogICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBkZWxldGVkIG9yIGRvY3VtZW50LmNv
b2tpZSBjb250YWlucyBvdGhlciBjb29raWVzOiAiICsgZG9jdW1lbnQuY29va2llKTsKIAotICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAg
ICAgICAgfSk7CiAgICAgICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NT
aG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CiAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNv
cmRzUmVtb3ZhbCgwKTsKQEAgLTU2LDkgKzU5LDEwIEBACiAKICAgICBpZiAoZG9jdW1lbnQubG9j
YXRpb24uaG9zdCA9PT0gaG9zdFVuZGVyVGVzdCAmJiB3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAg
ICBydW5UZXN0UnVubmVyVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgIHJ1blRlc3RS
dW5uZXJUZXN0KCk7CisgICAgICAgIH0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1wcmV2YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5
LWNvbnRleHQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tcHJldmFsZW50LXJlc291cmNlcy1jYW4tYWNjZXNzLWNvb2tpZXMtaW4tYS10aGly
ZC1wYXJ0eS1jb250ZXh0Lmh0bWwKaW5kZXggZjJiNDE2NjQ1NjI3ZjdlZWM4YTQwYjU3MzMzMWFm
ZTdmYWQzMTQ2MC4uZjI0ZjQ4OWY2YWZlYWZiMDBhMTAzOGE3OTJjYmNhYTA0NmVmZTU2NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1wcmV2YWxlbnQtcmVzb3VyY2VzLWNhbi1hY2Nlc3MtY29va2llcy1pbi1hLXRoaXJkLXBhcnR5
LWNvbnRleHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vzcy1jb29raWVzLWluLWEt
dGhpcmQtcGFydHktY29udGV4dC5odG1sCkBAIC0xOCwxOCArMTgsMjAgQEAKICAgICBjb25zdCBm
cmFnbWVudFdpdGhSZXR1cm5VcmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvbm9uLXByZXZhbGVudC1yZXNvdXJjZXMtY2FuLWFjY2Vzcy1jb29raWVzLWlu
LWEtdGhpcmQtcGFydHktY29udGV4dC5odG1sIjsKICAgICBjb25zdCBzdWJQYXRoVG9HZXRDb29r
aWVzID0gIi9nZXQtY29va2llcy5waHA/bmFtZTE9IiArIGZpcnN0UGFydHlDb29raWVOYW1lICsg
IiZuYW1lMj0iICsgcGFydGl0aW9uZWRDb29raWVOYW1lOwogCi0gICAgZnVuY3Rpb24gc2V0RW5h
YmxlRmVhdHVyZShlbmFibGUpIHsKLSAgICAgICAgaWYgKCFlbmFibGUpIHsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKLSAgICAgICAg
fQotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FubmVkKGVuYWJsZSk7CisgICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShl
bmFibGUsIGNvbXBsZXRpb25IYW5kbGVyKSB7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOwogICAgICAgICB0ZXN0UnVubmVyLnNldENv
b2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoZW5h
YmxlKTsKKyAgICAgICAgaWYgKCFlbmFibGUpCisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9CiAKICAgICBmdW5j
dGlvbiBmaW5pc2hUZXN0KCkgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxv
YWRIYW5kbGVyKSB7CkBAIC04MiwxNSArODQsMTUgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1l
bnQubG9jYXRpb24uaG9zdCA9PT0gcGFydGl0aW9uSG9zdCAmJiBkb2N1bWVudC5sb2NhdGlvbi5o
YXNoID09ICIiICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlKTsKLQotICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSh0aGlyZFBhcnR5SG9zdG5hbWUsIGZhbHNlKTsKLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHRoaXJk
UGFydHlPcmlnaW4sIGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Ci0gICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOworICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2UodGhpcmRQYXJ0eUhvc3RuYW1lLCBmYWxzZSk7CisgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0
eU9yaWdpbiwgZmFsc2UpOworICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgICAg
ICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7CiAKLSAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzU2V0U2hvdWxkUGFydGl0aW9uQ29va2llc0Zvckhvc3QodGhpcmRQYXJ0
eUhvc3RuYW1lLCBmYWxzZSwgcnVuVGVzdCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NTZXRTaG91bGRQYXJ0aXRpb25Db29raWVzRm9ySG9zdCh0aGlyZFBhcnR5SG9zdG5hbWUs
IGZhbHNlLCBydW5UZXN0KTsKKyAgICAgICAgfSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcnVu
VGVzdCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2Nh
bGhvc3QtdG8taXAuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8t
aXAuaHRtbAppbmRleCBiYzBiNmY5M2U0ZmQ3ZmY4MmRjYzcyMzAyMGRiNmE2ZDNkNTAyZmRhLi40
NzUyMzk1MmI0ZWU0MjlkYzg0MGNhNDU5YWE3ZGYwNTUwYzM3MzFhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCkBAIC03LDIyICs3LDE3IEBACiAg
ICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigibWVzc2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7CiAKLSAgICAgICAgZnVuY3Rp
b24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUpIHsKLSAgICAgICAgICAgIGlmICghZW5hYmxlKQot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3Rh
dGUoKTsKKyAgICAgICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUsIGNvbXBsZXRp
b25IYW5kbGVyKSB7CiAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQoZW5hYmxlKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q29va2llU3Rv
cmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoZW5hYmxlKTsKKyAgICAgICAgICAgIGlmICghZW5hYmxl
KQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50
U3RhdGUoY29tcGxldGlvbkhhbmRsZXIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBm
aW5pc2hUZXN0KCkgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSk7Ci0gICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0ZXN0UnVu
bmVyKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUpOwotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nh
bm5lZCh0cnVlKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRT
Y2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgICAgIH0KIAogICAgICAgICB2YXIg
bGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQgPSBmYWxzZTsKQEAgLTUxLDYgKzQ2LDEzIEBA
CiAgICAgICAgICAgICBpZiAobGFzdFBhZ2VJblJlZGlyZWN0Q2hhaW5Mb2FkZWQpCiAgICAgICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKHRlc3RSdW5u
ZXIpIHsKKyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0
YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmlu
c3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgfQogICAgIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2Fs
aG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhv
c3QuaHRtbAppbmRleCBkMzgyYzcyMzczMDBkNDQwZGNiNTU0YTBkNTEyZmIwZDYwMzlhZjY2Li42
N2ZhMDVjMjZkOTBhMzZkZjVkZjY0ZWFkMGVmMzVmOThkYTU5ODBkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKQEAgLTcs
MjIgKzcsMTcgQEAKICAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CiAgICAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKIAot
ICAgICAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJsZSkgewotICAgICAgICAgICAg
aWYgKCFlbmFibGUpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVu
YWJsZSwgY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOwogICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChlbmFibGUpOworICAgICAgICAg
ICAgaWYgKCFlbmFibGUpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVz
ZXRUb0NvbnNpc3RlbnRTdGF0ZShjb21wbGV0aW9uSGFuZGxlcik7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgfQogCiAgICAg
ICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KGZhbHNlKTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICB9Ci0KLSAgICAg
ICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRh
UmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
U3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAgICAgICAgfQog
CiAgICAgICAgIHZhciBsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZhbHNlOwpAQCAt
NTEsNiArNDYsMTMgQEAKICAgICAgICAgICAgIGlmIChsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxv
YWRlZCkKICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CiAgICAgICAgIH0KKworICAgICAg
ICBpZiAodGVzdFJ1bm5lcikgeworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3Rp
ZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhj
aGVja1N0YXRzKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1u
ZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxv
Y2FsaG9zdC10by1pcC5odG1sCmluZGV4IDA4ZmM1MTRkMzljNTYyMTE0NWE3NzlmZjBjOTQ4NGVm
ZDU4NjFhMjQuLjVmYjIzYTE4ZGU2MDFmZThmYzUwZWNjMDdjMzg1YTBlYzYyYWNiYjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
c2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRt
bApAQCAtNywyMiArNywxNyBAQAogICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAgICAg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFs
c2UpOwogCi0gICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAg
ICAgICAgICBpZiAoIWVuYWJsZSkKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZl
YXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFuZGxlcikgewogICAgICAgICAgICAgaW50ZXJuYWxz
LnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7Cisg
ICAgICAgICAgICBpZiAoIWVuYWJsZSkKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9
CiAKICAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UpOwotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIH0K
LQotICAgICAgICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2Vz
V2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
Lmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7
CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAg
ICAgICB9CiAKICAgICAgICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFs
c2U7CkBAIC01MSw2ICs0NiwxMyBAQAogICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVj
dENoYWluTG9hZGVkKQogICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKICAgICAgICAgfQor
CisgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0Nh
bGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KICAgICA8L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxo
b3N0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbAppbmRleCA2N2Y4OWE0YmFj
OGM0YzQ5ZDgyN2QyZjZmNWE4ZWFjODBmZjU1ODc2Li4zYTEyM2U4NTU1ZmIyY2U1YTEzZTVjNDhi
ZDhmYjNmN2Q4YWVmMjk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9u
LXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbApAQCAtNywyMiArNywxNyBAQAog
ICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwogCi0gICAgICAgIGZ1bmN0
aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAgICAgICAgICBpZiAoIWVuYWJsZSkK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKCk7CisgICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0
aW9uSGFuZGxlcikgewogICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NFbmFibGVkKGVuYWJsZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0
b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgICAgICBpZiAoIWVuYWJs
ZSkKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVu
dFN0YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24g
ZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UpOwotICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAodGVzdFJ1
bm5lcikgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlKTsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNj
YW5uZWQodHJ1ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlk
U2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICBzZXRFbmFi
bGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgICAgICB9CiAKICAgICAgICAgdmFy
IGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7CkBAIC01MSw2ICs0NiwxMyBA
QAogICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkKQogICAgICAg
ICAgICAgICAgIGZpbmlzaFRlc3QoKTsKICAgICAgICAgfQorCisgICAgICAgIGlmICh0ZXN0UnVu
bmVyKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRh
dGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5p
bnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCmlu
ZGV4IDRkYzBmNTk0MzBlMDQxYzQ5ODA5NThhMWIxMjVkZWZhYzBlYjg2MzEuLmMxYjM3Yjk2ZjZi
MmVmNDQzZjVmODY3NzdhY2MxNjdmZTYyZTc1ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZy
YW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwKQEAgLTcsMjIgKzcsMTcgQEAKICAgICAgICAg
anNUZXN0SXNBc3luYyA9IHRydWU7CiAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJt
ZXNzYWdlIiwgcmVjZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKIAotICAgICAgICBmdW5jdGlvbiBzZXRF
bmFibGVGZWF0dXJlKGVuYWJsZSkgewotICAgICAgICAgICAgaWYgKCFlbmFibGUpCi0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwor
ICAgICAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJsZSwgY29tcGxldGlvbkhhbmRs
ZXIpIHsKICAgICAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZChlbmFibGUpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRDb29raWVTdG9yYWdlUGFy
dGl0aW9uaW5nRW5hYmxlZChlbmFibGUpOworICAgICAgICAgICAgaWYgKCFlbmFibGUpCisgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShj
b21wbGV0aW9uSGFuZGxlcik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRl
c3QoKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlKTsKLSAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRy
dWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRh
UmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAgICAgICAgfQogCiAgICAgICAgIHZhciBsYXN0UGFn
ZUluUmVkaXJlY3RDaGFpbkxvYWRlZCA9IGZhbHNlOwpAQCAtNTEsNiArNDYsMTMgQEAKICAgICAg
ICAgICAgIGlmIChsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCkKICAgICAgICAgICAgICAg
ICBmaW5pc2hUZXN0KCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAodGVzdFJ1bm5lcikgewor
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jk
c1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0
YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
c2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1s
b2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRo
LXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5o
dG1sCmluZGV4IDY1ZDM1ZTZjMTE2ZTdkNTdlZjM0NDM4Y2Y2NTgzY2Y4MTZmM2NiMzAuLjllY2Uy
Mjc0MmI3ODdlZGMyYzU4MmYzMDcxMmNiODJhZmE3MDliMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rp
bmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAt
dG8tbG9jYWxob3N0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbApAQCAtNywy
MiArNywxNyBAQAogICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwogCi0g
ICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAgICAgICAgICBp
ZiAoIWVuYWJsZSkKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5h
YmxlLCBjb21wbGV0aW9uSGFuZGxlcikgewogICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291
cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgICAg
ICBpZiAoIWVuYWJsZSkKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNl
dFRvQ29uc2lzdGVudFN0YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9CiAKICAgICAg
ICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UpOwotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgICAgIH0KLQotICAgICAg
ICBpZiAodGVzdFJ1bm5lcikgewotICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlKTsK
LSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFS
ZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxT
dGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgICAgICB9CiAK
ICAgICAgICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7CkBAIC01
MSw2ICs0NiwxMyBAQAogICAgICAgICAgICAgaWYgKGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9h
ZGVkKQogICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKICAgICAgICAgfQorCisgICAgICAg
IGlmICh0ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlm
eVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNo
ZWNrU3RhdHMpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3BhcnRpdGlvbmVkLWFuZC11bnBhcnRpdGlvbmVkLWNvb2tpZS1kZWxl
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3BhcnRpdGlvbmVkLWFuZC11bnBhcnRpdGlvbmVkLWNvb2tpZS1kZWxldGlvbi5odG1sCmluZGV4
IDgyOTZhYTIwMjM0YTNmMmU4ZWIxNmZjMTVlZmZlZGY5ZjcyMmE1ZWYuLjM3ZTJjN2MxYjM4OWE3
OThkYWFhN2UyYzM2NjkzMTkyMGJiY2I4ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0aXRpb25lZC1hbmQtdW5wYXJ0aXRpb25l
ZC1jb29raWUtZGVsZXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcGFydGl0aW9uZWQtYW5kLXVucGFydGl0aW9uZWQtY29va2llLWRl
bGV0aW9uLmh0bWwKQEAgLTE5LDE4ICsxOSwxOCBAQAogICAgIGNvbnN0IGZyYWdtZW50V2l0aFJl
dHVyblVybCA9ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3QgKyAiL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvcGFydGl0aW9uZWQtYW5kLXVucGFydGl0aW9uZWQtY29va2llLWRlbGV0aW9uLmh0bWwi
OwogICAgIGNvbnN0IHN1YlBhdGhUb0dldENvb2tpZXMgPSAiL2dldC1jb29raWVzLnBocD9uYW1l
MT0iICsgZmlyc3RQYXJ0eUNvb2tpZU5hbWUgKyAiJm5hbWUyPSIgKyB0aGlyZFBhcnR5Q29va2ll
TmFtZTsKIAotICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAgICAg
IGlmICghZW5hYmxlKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKCk7Ci0gICAgICAgIH0KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChlbmFibGUpOworICAg
IGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFuZGxlcikgewog
ICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZW5hYmxl
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJl
Y29yZHNXZXJlU2Nhbm5lZChlbmFibGUpOwogICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0
b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIGlmICghZW5hYmxlKQor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShj
b21wbGV0aW9uSGFuZGxlcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKCk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZShmYWxzZSk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgIH0KIAogICAgIGZ1
bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7CkBAIC04OSwxOSArODksMTkg
QEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaG9zdCA9PT0gcGFydGl0aW9u
SG9zdCAmJiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09PSAiIiAmJiB3aW5kb3cudGVzdFJ1bm5l
ciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7
CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURh
dGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7CiAKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRh
UmVjb3Jkc1JlbW92YWwoZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NN
aW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoMCk7CisgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaGFzaCA9ICJzdGVwMSI7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFt
ZXNBc1RleHQoKTsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Cisg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0
cDovL2xvY2FsaG9zdCIsIHRydWUpOworICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCisgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOwogCi0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKCJodHRwOi8vbG9jYWxob3N0IiwgdHJ1ZSk7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5p
c1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQotICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291
cmNlLiIpOwotCi0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1NldFNob3VsZFBhcnRpdGlv
bkNvb2tpZXNGb3JIb3N0KCJsb2NhbGhvc3QiLCB0cnVlLCBydW5UZXN0KTsKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIuc3RhdGlzdGljc1NldFNob3VsZFBhcnRpdGlvbkNvb2tpZXNGb3JIb3N0KCJs
b2NhbGhvc3QiLCB0cnVlLCBydW5UZXN0KTsKKyAgICAgICAgfSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgcnVuVGVzdCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0aXRpb25lZC1hbmQtdW5wYXJ0aXRpb25lZC1j
b29raWUtd2l0aC1wYXJ0aXRpb25pbmctdGltZW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGFydGl0aW9uZWQtYW5kLXVucGFy
dGl0aW9uZWQtY29va2llLXdpdGgtcGFydGl0aW9uaW5nLXRpbWVvdXQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDdhMzMwMjcyOTRkN2IwOWUwMDMwMDU3MzhhOWEwMzdiNGEzMmExY2UuLmE0MGQ3ZjU0ODZl
MDU5MzNkMDRjMTgwZWU0NWZkMTY0NjdiYmQ5MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0aXRpb25lZC1hbmQtdW5wYXJ0aXRp
b25lZC1jb29raWUtd2l0aC1wYXJ0aXRpb25pbmctdGltZW91dC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BhcnRpdGlvbmVk
LWFuZC11bnBhcnRpdGlvbmVkLWNvb2tpZS13aXRoLXBhcnRpdGlvbmluZy10aW1lb3V0LWV4cGVj
dGVkLnR4dApAQCAtMSwxNSArMSwxNSBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExNDogQm9v
dHN0cmFwcGluZyB0ZXN0LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY1OiBTdGVwIDEuCi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgNzA6IFN0ZXAgMi4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA3Nzog
U3RlcCAzLgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg0OiBTdGVwIDQuCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgNTQ6IHNldE5vcm1hbENvb2tpZVBhcnRpdGlvbmluZ1RpbWVPdXRQbHVzVXNlcklu
dGVyYWN0aW9uQW5kQ29udGludWUoKS4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5MTogU3RlcCA1
LgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ4OiBzZXRTaG9ydENvb2tpZVBhcnRpdGlvbmluZ1Rp
bWVPdXRQbHVzRmlyZVNob3VsZFBhcnRpdGlvbkNvb2tpZXNIYW5kbGVyQW5kQ29udGludWUoKS4K
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA0MzogZmlyZVNob3VsZFBhcnRpdGlvbkNvb2tpZXNIYW5k
bGVyQW5kQ29udGludWUoKS4KLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5ODogU3RlcCA2LgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDU0OiBzZXROb3JtYWxDb29raWVQYXJ0aXRpb25pbmdUaW1lT3V0
UGx1c1VzZXJJbnRlcmFjdGlvbkFuZENvbnRpbnVlKCkuCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTA1OiBTdGVwIDcuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE3OiBCb290c3RyYXBwaW5nIHRl
c3QuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjg6IFN0ZXAgMS4KK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA3MzogU3RlcCAyLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDgwOiBTdGVwIDMuCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgODc6IFN0ZXAgNC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1Nzog
c2V0Tm9ybWFsQ29va2llUGFydGl0aW9uaW5nVGltZU91dFBsdXNVc2VySW50ZXJhY3Rpb25BbmRD
b250aW51ZSgpLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk0OiBTdGVwIDUuCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTE6IHNldFNob3J0Q29va2llUGFydGl0aW9uaW5nVGltZU91dFBsdXNGaXJl
U2hvdWxkUGFydGl0aW9uQ29va2llc0hhbmRsZXJBbmRDb250aW51ZSgpLgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDQ2OiBmaXJlU2hvdWxkUGFydGl0aW9uQ29va2llc0hhbmRsZXJBbmRDb250aW51
ZSgpLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwMTogU3RlcCA2LgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDU3OiBzZXROb3JtYWxDb29raWVQYXJ0aXRpb25pbmdUaW1lT3V0UGx1c1VzZXJJbnRl
cmFjdGlvbkFuZENvbnRpbnVlKCkuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA4OiBTdGVwIDcu
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0
aXRpb25lZC1hbmQtdW5wYXJ0aXRpb25lZC1jb29raWUtd2l0aC1wYXJ0aXRpb25pbmctdGltZW91
dC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Bh
cnRpdGlvbmVkLWFuZC11bnBhcnRpdGlvbmVkLWNvb2tpZS13aXRoLXBhcnRpdGlvbmluZy10aW1l
b3V0Lmh0bWwKaW5kZXggMjZiOGJhOGYwMWQxZWNiNzQ4MTcyN2UzOTQwMGQ1NzdkNGQ2MTE3Ni4u
YWE1NzA5OTM3ODZhMGJjZGRlNjQzNWFiNDBkNzIyNTA2YTI1YTM2MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BhcnRpdGlvbmVkLWFu
ZC11bnBhcnRpdGlvbmVkLWNvb2tpZS13aXRoLXBhcnRpdGlvbmluZy10aW1lb3V0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BhcnRpdGlv
bmVkLWFuZC11bnBhcnRpdGlvbmVkLWNvb2tpZS13aXRoLXBhcnRpdGlvbmluZy10aW1lb3V0Lmh0
bWwKQEAgLTE3LDE3ICsxNywyMCBAQAogICAgIGNvbnN0IGZyYWdtZW50V2l0aFJldHVyblVybCA9
ICJodHRwOi8vIiArIHBhcnRpdGlvbkhvc3QgKyAiL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcGFy
dGl0aW9uZWQtYW5kLXVucGFydGl0aW9uZWQtY29va2llLXdpdGgtcGFydGl0aW9uaW5nLXRpbWVv
dXQuaHRtbCI7CiAgICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMu
cGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImbmFtZTI9IiArIHRoaXJkUGFy
dHlDb29raWVOYW1lOwogCi0gICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUpIHsK
LSAgICAgICAgaWYgKCFlbmFibGUpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NS
ZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoZW5hYmxlKTsKKyAgICBmdW5j
dGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJsZSwgY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAg
ICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoZW5h
YmxlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0
YVJlY29yZHNXZXJlU2Nhbm5lZChlbmFibGUpOworICAgICAgICBpZiAoIWVuYWJsZSkKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoY29tcGxl
dGlvbkhhbmRsZXIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAgZnVuY3Rp
b24gb3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKQEAgLTExMiwyMiArMTE1LDI0IEBA
CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9PT0gIiIgJiYgd2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICBjb25zb2xlLmxvZygiQm9vdHN0
cmFwcGluZyB0ZXN0LiIpOwotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUpOworICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgLy8gU2V0
IGxvY2FsaG9zdCBhcyBwcmV2YWxlbnQgYW5kIHdpdGggbm9uLXJlY2VudCB1c2VyIGludGVyYWN0
aW9uIHRvIHB1dCBpdCBpbiB0aGUgcGFydGl0aW9uaW5nIGNhdGVnb3J5LgorICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhv
c3QiLCB0cnVlKTsKKyAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQorICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKyAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc0hhc0hhZE5vblJlY2VudFVzZXJJbnRl
cmFjdGlvbigiaHR0cDovL2xvY2FsaG9zdCIpOwogCi0gICAgICAgIC8vIFNldCBsb2NhbGhvc3Qg
YXMgcHJldmFsZW50IGFuZCB3aXRoIG5vbi1yZWNlbnQgdXNlciBpbnRlcmFjdGlvbiB0byBwdXQg
aXQgaW4gdGhlIHBhcnRpdGlvbmluZyBjYXRlZ29yeS4KLSAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiLCB0cnVlKTsKLSAg
ICAgICAgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRw
Oi8vbG9jYWxob3N0IikpCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IGRpZCBub3QgZ2V0
IHNldCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc0hhc0hhZE5vblJlY2VudFVzZXJJbnRlcmFjdGlvbigiaHR0cDovL2xvY2FsaG9zdCIp
OworICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llUGFydGl0aW9u
aW5nKCk7CiAKLSAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llUGFydGl0
aW9uaW5nKCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAgICAgICAgICBk
b2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKIAotICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQo
KTsKLSAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAgfQorICAg
ICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICB9KTsKKyAgICB9IGVsc2UKKyAgICAgICAgcnVu
VGVzdCgpOwogCi0gICAgcnVuVGVzdCgpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
cGFydGl0aW9uZWQtY29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0aXRp
b25lZC1jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sCmluZGV4
IGEzYjBkY2VhODE5ZjgwMGVkMzY5N2FmZWExNmEwNGU0OWZjZGYyM2IuLmViZmQ5ZDdhMmZkNjNk
ZTNkMzQwNzU4NDMyYTY1OWQwMjZlOWNiOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0aXRpb25lZC1jb29raWVzLXdpdGgtYW5k
LXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wYXJ0aXRpb25lZC1jb29raWVzLXdpdGgtYW5kLXdp
dGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sCkBAIC0xNywxOCArMTcsMjAgQEAKICAgICBjb25z
dCBmcmFnbWVudFdpdGhSZXR1cm5VcmwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcGFydGl0aW9uZWQtY29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXIt
aW50ZXJhY3Rpb24uaHRtbCI7CiAgICAgY29uc3Qgc3ViUGF0aFRvR2V0Q29va2llcyA9ICIvZ2V0
LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2llTmFtZSArICImbmFtZTI9IiAr
IHRoaXJkUGFydHlDb29raWVOYW1lOwogCi0gICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShl
bmFibGUpIHsKLSAgICAgICAgaWYgKCFlbmFibGUpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIu
c3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKLSAgICAgICAgfQotICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKGVuYWJsZSk7CisgICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUsIGNvbXBs
ZXRpb25IYW5kbGVyKSB7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChlbmFibGUpOwogICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQ
YXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoZW5hYmxlKTsKKyAgICAg
ICAgaWYgKCFlbmFibGUpCisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBmaW5pc2hU
ZXN0KCkgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlKTsKLSAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0p
OwogICAgIH0KIAogICAgIGZ1bmN0aW9uIG9wZW5JZnJhbWUodXJsLCBvbkxvYWRIYW5kbGVyKSB7
CkBAIC03MSwxMyArNzMsMTMgQEAKICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24u
aG9zdCA9PT0gcGFydGl0aW9uSG9zdCAmJiBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID09ICIiICYm
IHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKLSAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZSh0cnVlKTsKLQotICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
LSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
dHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAg
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKIAotICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NTZXRTaG91bGRQYXJ0aXRpb25Db29raWVzRm9ySG9zdCgibG9jYWxo
b3N0IiwgdHJ1ZSwgcnVuVGVzdCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NT
ZXRTaG91bGRQYXJ0aXRpb25Db29raWVzRm9ySG9zdCgibG9jYWxob3N0IiwgdHJ1ZSwgcnVuVGVz
dCk7CisgICAgICAgIH0pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJ1blRlc3QoKTsKICAgICB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvcHJldmFsZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5k
bGVkLWtleWRvd24uaHRtbAppbmRleCA3NzYxZDY1YjgzZjJiNDhiNDZkMWY0YTVlOTdlNTlmMzc5
OTFhMDk2Li5lZTkwOTFkMmI4NTY3NWI4ODEyYjI3YTFkYWQ4YjEwYWNiYWI0Zjk5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFs
ZW50LXJlc291cmNlLWhhbmRsZWQta2V5ZG93bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtaGFuZGxlZC1r
ZXlkb3duLmh0bWwKQEAgLTM2LDcgKzM2LDExIEBAIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewogCiAg
ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICB0ZXN0RnJhbWUuc3Jj
ID0gImFib3V0OmJsYW5rIjsKLSAgICAgICAgICAgIHNldFRpbWVvdXQoZmluaXNoSlNUZXN0LCAw
KTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgfSwgMCk7CiAgICAgfSk7CiAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jk
c1JlbW92YWwoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS11bmhhbmRsZWQta2V5ZG93bi5odG1sCmluZGV4IDQ1MjcxYjUyYmM5MTBi
YWRkNjgzMjA4NGY1OWQ5MWIwOGM3ZWY1ODIuLmQ1Y2ZkN2ZjZmI3OWY2YmQzYjZlMWVhNzVkYjk0
NTdhZDQ0OTE4OGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2UtdW5oYW5kbGVkLWtleWRvd24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFs
ZW50LXJlc291cmNlLXVuaGFuZGxlZC1rZXlkb3duLmh0bWwKQEAgLTMxLDcgKzMxLDExIEBAIG9u
bG9hZCA9IGZ1bmN0aW9uKCkgewogCiAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAg
ICAgICAgICAgICB0ZXN0RnJhbWUuc3JjID0gImFib3V0OmJsYW5rIjsKLSAgICAgICAgICAgIHNl
dFRpbWVvdXQoZmluaXNoSlNUZXN0LCAwKTsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgfSwg
MCk7CiAgICAgfSk7CiAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlS
ZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNv
dXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24tdGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRoLXVz
ZXItaW50ZXJhY3Rpb24tdGltZW91dC5odG1sCmluZGV4IDM3Y2U1NDExODE2MjRlYTY5NjMxZmQx
OGFmNTU1Mzc4OWY5OGZjZWIuLmI4YmY1MWU1MjExMmRhMjQ5ZGUwMDY2ZTlmYjdmMjAwOGI3MDkz
YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2VyLWludGVyYWN0aW9uLXRpbWVvdXQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJl
dmFsZW50LXJlc291cmNlLXdpdGgtdXNlci1pbnRlcmFjdGlvbi10aW1lb3V0Lmh0bWwKQEAgLTMw
LDkgKzMwLDEwIEBACiAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiQ29va2llIG5vdCBkZWxl
dGVkOiAiICsgZG9jdW1lbnQuY29va2llKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICB0ZXN0UGFzc2VkKCJDb29raWUgZGVsZXRlZC4iKTsKLSAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKICAgICAgICAgICAgIGludGVy
bmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlz
dGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7CiAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVm
b3JlRGF0YVJlY29yZHNSZW1vdmFsKGZhbHNlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKDApOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVu
dC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aC11c2Vy
LWludGVyYWN0aW9uLmh0bWwKaW5kZXggZDU3NWU2MTM1MTA2MjM1MTQ3MTJjMDZkZmY5MTcxNzQz
YjY2YTExNS4uMGJiYWQyNWM2N2Q4YTZmZmEwYjVkYjYwMWU3OWZmNjQzMjU2ZWJlNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZh
bGVudC1yZXNvdXJjZS13aXRoLXVzZXItaW50ZXJhY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50LXJlc291cmNlLXdp
dGgtdXNlci1pbnRlcmFjdGlvbi5odG1sCkBAIC0zNyw5ICszNywxMCBAQAogICAgICAgICAgICAg
ICAgIHRlc3RQYXNzZWQoIkNvb2tpZSBub3QgZGVsZXRlZC4iKTsKICAgICAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJDb29raWUgZGVsZXRlZCBvciBkb2N1bWVudC5j
b29raWUgY29udGFpbnMgb3RoZXIgY29va2llczogIiArIGRvY3VtZW50LmNvb2tpZSk7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAg
ICAgICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZmFs
c2UpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgfSk7
CiAgICAgICAgIH0pOwogICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRDbGFz
c2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChmYWxzZSk7CiAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3Zh
bCgwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJldmFsZW50
LXJlc291cmNlLXdpdGhvdXQtdXNlci1pbnRlcmFjdGlvbi5odG1sCmluZGV4IGM5ODYxNDMzNjcx
OTM2ZDQ1ZGM0NGVlYjk0ZjYzMmY2MGYxMDljYzEuLjUyNTA5YzkyYjVjNWJlNjI2ZTIwZGRhMDBj
NzAwZDlkMTA4OGZmMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9wcmV2YWxlbnQtcmVzb3VyY2Utd2l0aG91dC11c2VyLWludGVyYWN0
aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3ByZXZhbGVudC1yZXNvdXJjZS13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbApAQCAt
MTUsOSArMTUsMTAgQEAKICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkNvb2tpZSBub3QgZGVsZXRl
ZDogIiArIGRvY3VtZW50LmNvb2tpZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRlc3RQ
YXNzZWQoIkNvb2tpZSBkZWxldGVkLiIpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NS
ZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZChmYWxzZSk7Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRl
KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
ICAgIH0pOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHJ1blRlc3RSdW5uZXJUZXN0KCkgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3By
dW5lLXN0YXRpc3RpY3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLmh0bWwKaW5kZXggYmQ2YzgyNzU0MDFiYzdkYjE5
Mjk5YTUwMjQ1OGI0NmQ2ODdkMmU3MS4uYmJjNWMxNmQzYjdhOGNkN2I5OWNiOTZjYjFiMjM5M2Fk
NWNmOGJlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3BydW5lLXN0YXRpc3RpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy5odG1sCkBAIC0zMyw4
ICszMywxMSBAQAogICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGZhaWxlZCkKLSAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICBpZiAoZmFpbGVkKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KICAgICB9CiAKICAg
ICBmdW5jdGlvbiBjaGVja0lmUHJldmFsZW50KGJlZ2luLCBlbmQsIGV4cGVjdGVkKSB7CkBAIC00
NSw4ICs0OCwxMSBAQAogICAgICAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGZhaWxlZCkKLSAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICBpZiAoZmFpbGVkKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0
YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KICAgICB9CiAK
ICAgICBmdW5jdGlvbiBpbml0aWFsaXplU3RhdGlzdGljcygpIHsKQEAgLTkwLDcgKzk2LDkgQEAK
ICAgICAgICAgICAgICsrY3VycmVudFRlc3Q7CiAgICAgICAgICAgICBydW5UZXN0KCk7CiAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAg
fQogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3JlbW92ZS1ibG9ja2luZy1pbi1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3JlbW92ZS1ibG9ja2luZy1pbi1y
ZWRpcmVjdC5odG1sCmluZGV4IGNkNzA0NmRkOWUyMDU0Mzc0YTA3MzBhOTRlMjUxZjc0NmM2ZTUy
YjkuLjBlNzRhMDNmMzIyYTcwMTAxMWRiYTQ0OTE3OWM4MjQ1M2Y5OTYwNzQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZW1vdmUtYmxv
Y2tpbmctaW4tcmVkaXJlY3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLWJsb2NraW5nLWluLXJlZGlyZWN0Lmh0bWwKQEAgLTks
MTEgKzksMTMgQEAKICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBibG9ja2luZyBpcyByZW1v
dmVkIG1pZC1mbGlnaHQgaW4gcmVkaXJlY3RzLiIpOwogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVl
OwogCi0gICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUpIHsKLSAgICAgICAgaWYg
KCFlbmFibGUpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lz
dGVudFN0YXRlKCk7CisgICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUsIGNvbXBs
ZXRpb25IYW5kbGVyKSB7CiAgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChlbmFibGUpOwogICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQ
YXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIGlmICghZW5hYmxlKQorICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShjb21wbGV0
aW9uSGFuZGxlcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KCk7CiAgICAgfQogCiAgICAgY29uc3QgcGFydGl0aW9uSG9zdCA9ICIxMjcuMC4wLjE6ODAwMCI7
CkBAIC04MCwyMCArODIsMjAgQEAKICAgICAgICAgICAgICAgICBvcGVuSWZyYW1lKHJlZGlyZWN0
Q2hhaW5VcmwgKyAiJm1lc3NhZ2U9UmVkaXJlY3QgY2FzZSAyLCBzaG91bGQgcmVjZWl2ZSBmaXJz
dC1wYXJ0eSBjb29raWUgZm9yIDEyNy4wLjAuMS4iLCBydW5UZXN0KTsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGNhc2UgIiNzdGVwOCI6Ci0gICAgICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZShmYWxzZSk7Ci0gICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KIAogICAgIGlmIChkb2N1bWVu
dC5sb2NhdGlvbi5oYXNoID09PSAiIikgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUp
OwotICAgICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgi
aHR0cDovL2xvY2FsaG9zdCIpKQotICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9jYWxob3N0IHdh
cyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRlc3Qgc3RhcnRz
LiIpOwotICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAg
ICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKLSAgICAgICAgLy8gTWFrZSBzdXJl
IHRoZSBuZXR3b3JrIHByb2Nlc3MgaXMgdXAtdG8tZGF0ZS4KLSAgICAgICAgdGVzdFJ1bm5lci5z
dGF0aXN0aWNzU2V0U2hvdWxkUGFydGl0aW9uQ29va2llc0Zvckhvc3QoImxvY2FsaG9zdCIsIGZh
bHNlLCBydW5UZXN0KTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCisgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgiTG9j
YWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZvcmUgdGhlIHRl
c3Qgc3RhcnRzLiIpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1Rl
eHQoKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOworICAg
ICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBuZXR3b3JrIHByb2Nlc3MgaXMgdXAtdG8tZGF0ZS4K
KyAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1NldFNob3VsZFBhcnRpdGlvbkNvb2tp
ZXNGb3JIb3N0KCJsb2NhbGhvc3QiLCBmYWxzZSwgcnVuVGVzdCk7CisgICAgICAgIH0pOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIHJ1blRlc3QoKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXBhcnRpdGlvbmlu
Zy1pbi1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3JlbW92ZS1wYXJ0aXRpb25pbmctaW4tcmVkaXJlY3QuaHRtbAppbmRleCBhZWQ1
Y2Y0ZDY0MTFiMWMwNmMxMTNmZDI1ZWMwY2ZhNWNjOTJiZTU1Li45YzExMGMwY2RkNWMzNWExODNj
M2JiYTM1OWU1MDc2MjcxZmU5NmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVtb3ZlLXBhcnRpdGlvbmluZy1pbi1yZWRpcmVjdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9y
ZW1vdmUtcGFydGl0aW9uaW5nLWluLXJlZGlyZWN0Lmh0bWwKQEAgLTksMTEgKzksMTMgQEAKICAg
ICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBwYXJ0aXRpb25pbmcgaXMgcmVtb3ZlZCBtaWQtZmxp
Z2h0IGluIHJlZGlyZWN0cy4iKTsKICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotICAgIGZ1
bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAgICAgIGlmICghZW5hYmxlKQot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgp
OworICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFuZGxl
cikgewogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
ZW5hYmxlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5n
RW5hYmxlZChlbmFibGUpOworICAgICAgICBpZiAoIWVuYWJsZSkKKyAgICAgICAgICAgIHRlc3RS
dW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoY29tcGxldGlvbkhhbmRsZXIp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgIH0K
IAogICAgIGNvbnN0IHBhcnRpdGlvbkhvc3QgPSAiMTI3LjAuMC4xOjgwMDAiOwpAQCAtODEsMjAg
KzgzLDIwIEBACiAgICAgICAgICAgICAgICAgb3BlbklmcmFtZShyZWRpcmVjdENoYWluVXJsICsg
IiZtZXNzYWdlPVJlZGlyZWN0IGNhc2UgMiwgc2hvdWxkIHJlY2VpdmUgZmlyc3QtcGFydHkgY29v
a2llIGZvciAxMjcuMC4wLjEuIiwgcnVuVGVzdCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICBjYXNlICIjc3RlcDgiOgotICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UpOwotICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoZG9jdW1lbnQubG9jYXRpb24u
aGFzaCA9PT0gIiIpIHsKLSAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlKTsKLSAgICAgICAg
aWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2Nh
bGhvc3QiKSkKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMgY2xhc3NpZmll
ZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4iKTsKLSAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICAgICAgZG9jdW1lbnQu
bG9jYXRpb24uaGFzaCA9ICJzdGVwMSI7Ci0gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgbmV0d29y
ayBwcm9jZXNzIGlzIHVwLXRvLWRhdGUuCi0gICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Nl
dFNob3VsZFBhcnRpdGlvbkNvb2tpZXNGb3JIb3N0KCJsb2NhbGhvc3QiLCBmYWxzZSwgcnVuVGVz
dCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDov
L2xvY2FsaG9zdCIpKQorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkxvY2FsaG9zdCB3YXMg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2UgYmVmb3JlIHRoZSB0ZXN0IHN0YXJ0cy4i
KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAg
ICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKKyAgICAgICAgICAgIC8v
IE1ha2Ugc3VyZSB0aGUgbmV0d29yayBwcm9jZXNzIGlzIHVwLXRvLWRhdGUuCisgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NTZXRTaG91bGRQYXJ0aXRpb25Db29raWVzRm9ySG9zdCgi
bG9jYWxob3N0IiwgZmFsc2UsIHJ1blRlc3QpOworICAgICAgICB9KTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBydW5UZXN0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAt
dG8tbG9jYWxob3N0LXRvLWlwLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3Qt
dG8taXAuaHRtbAppbmRleCBiYmZlYTE3YmRiOWRmOTg3YmU4ZGYwZGRmMWNmNDVmMWRiZmViOGZj
Li40YTE1NDk1MmE4M2YyOGIzZTUyMzdmMTI5Yjk5M2M3MTIzOWU3N2YxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbApAQCAtNywyMiArNywyNCBAQAogICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
Im1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwogCi0gICAgICAgIGZ1bmN0aW9uIHNl
dEVuYWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAgICAgICAgICBpZiAoIWVuYWJsZSkKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7
CisgICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFu
ZGxlcikgewogICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NF
bmFibGVkKGVuYWJsZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQ
YXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgICAgICBpZiAoIWVuYWJsZSkKKyAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRl
KGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gZmluaXNo
VGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UpOwotICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUp
OwotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVj
b3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0
cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxs
YmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAKICAgICAgICAg
dmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKaW5kZXggNzViNTY3ZjJl
YzNjYjNmN2ZlMTFkOGJiZjcxZWNhZWE3NjZkYmY0NS4uM2QzZmJmODQyMjNmYmUwZDJiNzJjMjNl
OGU1NGIxMzUzYjJiNWFmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1p
cC10by1sb2NhbGhvc3QuaHRtbApAQCAtNywyMiArNywyNCBAQAogICAgICAgICBqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBy
ZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwogCi0gICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1
cmUoZW5hYmxlKSB7Ci0gICAgICAgICAgICBpZiAoIWVuYWJsZSkKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIGZ1
bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFuZGxlcikgewogICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJs
ZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdF
bmFibGVkKGVuYWJsZSk7CisgICAgICAgICAgICBpZiAoIWVuYWJsZSkKKyAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGNvbXBsZXRpb25I
YW5kbGVyKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcigpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAg
ICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UpOwotICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3Qp
OwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNr
KGNoZWNrU3RhdHMpOworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0
YXRzKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAKICAgICAgICAgdmFyIGxhc3RQYWdl
SW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1l
LXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2Fu
ZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3Qt
aXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwKaW5kZXggODRhMGM2OTgyMmI4MDU5NTZhZjZlMzNi
NGE2MTdmYTk0M2RhNWY2Ni4uMDgwOTI5ZDYyZDQ0YTFmZjkzNjRhMjViYmE2ZWU3M2I1ZTUwOTI1
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRt
bApAQCAtNywyMiArNywyNCBAQAogICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAgICAg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFs
c2UpOwogCi0gICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAg
ICAgICAgICBpZiAoIWVuYWJsZSkKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3Rp
Y3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZl
YXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFuZGxlcikgewogICAgICAgICAgICAgaW50ZXJuYWxz
LnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7Cisg
ICAgICAgICAgICBpZiAoIWVuYWJsZSkKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRp
c3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9
CiAKICAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUoZmFsc2UpOwotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5E
YXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0
YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRp
c3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAg
IH0pOwogICAgICAgICB9CiAKICAgICAgICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9h
ZGVkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0
aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10
by1pcC10by1sb2NhbGhvc3QuaHRtbAppbmRleCA1NmE0ZjFlNjFmODA3NGVlNTE1NmViNjBjYjkz
NGZkZGI1ZjU3ZTljLi4yNzU5OGMyOTBiYjViZDE1YTU3OTkxYjYzY2FkMmNjOGU2YTA1ZGViIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
c2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJl
Y3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUt
d2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9j
YWxob3N0Lmh0bWwKQEAgLTcsMjIgKzcsMjQgQEAKICAgICAgICAganNUZXN0SXNBc3luYyA9IHRy
dWU7CiAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2ZU1l
c3NhZ2UsIGZhbHNlKTsKIAotICAgICAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJs
ZSkgewotICAgICAgICAgICAgaWYgKCFlbmFibGUpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworICAgICAgICBmdW5jdGlvbiBz
ZXRFbmFibGVGZWF0dXJlKGVuYWJsZSwgY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgICAg
IGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOwogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChl
bmFibGUpOworICAgICAgICAgICAgaWYgKCFlbmFibGUpCisgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShjb21wbGV0aW9uSGFuZGxlcik7
CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsK
ICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlKTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0
YXRzKTsKKyAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0
YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmlu
c3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7Cisg
ICAgICAgICAgICB9KTsKICAgICAgICAgfQogCiAgICAgICAgIHZhciBsYXN0UGFnZUluUmVkaXJl
Y3RDaGFpbkxvYWRlZCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3Rp
bmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3Qt
dG8taXAuaHRtbAppbmRleCA5NThkMjY3Y2NlNGE4MzQ4ZmYzZGNmODBhMWE4MTVjMjAzNzU2OTYw
Li41M2Y3YTZjOGRmYmMzMGY0ZGUzYjQ2MmRiOWQ3YWNjMzc3OTQ1MDYxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbApAQCAtNywyMiArNywyNCBAQAogICAg
ICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwogCi0gICAgICAgIGZ1bmN0aW9u
IHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAgICAgICAgICBpZiAoIWVuYWJsZSkKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRl
KCk7CisgICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0aW9u
SGFuZGxlcikgewogICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NFbmFibGVkKGVuYWJsZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3Jh
Z2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgICAgICBpZiAoIWVuYWJsZSkK
KyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gZmlu
aXNoVGVzdCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UpOwotICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNl
LCBmaW5pc2hKU1Rlc3QpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsK
LSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRy
dWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRh
UmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRp
c3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHND
YWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAKICAgICAg
ICAgdmFyIGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVk
LW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKaW5kZXggYWY3
NDA4YzI4YTM1Y2UyZjcyODViNmI5YjRmNDM3Y2UwNmNhYjdiNi4uNmM0YzhmNDk5NjU5NzU4NWFm
NjkwMTE2MGU2NTJmMWI5YWU4YTgyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2Fs
aG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbApAQCAtNywyMiArNywyNCBAQAogICAgICAgICBq
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1l
c3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwogCi0gICAgICAgIGZ1bmN0aW9uIHNldEVu
YWJsZUZlYXR1cmUoZW5hYmxlKSB7Ci0gICAgICAgICAgICBpZiAoIWVuYWJsZSkKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7Cisg
ICAgICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21wbGV0aW9uSGFuZGxl
cikgewogICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkKGVuYWJsZSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQYXJ0
aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgICAgICBpZiAoIWVuYWJsZSkKKyAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKGNv
bXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gZmluaXNoVGVz
dCgpIHsKLSAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UpOwotICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5p
c2hKU1Rlc3QpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKLSAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jk
c0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NO
b3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFj
ayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAKICAgICAgICAgdmFy
IGxhc3RQYWdlSW5SZWRpcmVjdENoYWluTG9hZGVkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXIt
dG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXIt
dG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVkaXJlY3RzLmh0bWwKaW5kZXgg
OWQzNWE5MTA3NTU0ZGJlMThkYTQ4MmJjYjIxNTJlY2ZkOGU0ODI3Mi4uMzkxZmJiNTAwMWJiNTk3
NmFiZjM1ZTNkMDlhZDQwZDg2MGRiMjBkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3It
cHJldmFsZW50LXN1YnJlc291cmNlLXJlZGlyZWN0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4t
Zm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZWRpcmVjdHMuaHRtbApAQCAtOSwxMSArOSwxMyBA
QAogICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJh
bWVzQXNUZXh0KCk7CiAKLSAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJsZSkgewot
ICAgICAgICBpZiAoIWVuYWJsZSkKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jl
c2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICBmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVu
YWJsZSwgY29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CiAgICAgICAgIHRlc3RSdW5uZXIuc2V0Q29v
a2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoZW5hYmxlKTsKKyAgICAgICAgaWYgKCFlbmFi
bGUpCisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0
YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBvcGVuSWZyYW1lKHVybCwgb25M
b2FkSGFuZGxlcikgewpAQCAtMjUsMzAgKzI3LDMyIEBACiAgICAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoZWxlbWVudCk7CiAgICAgfQogCi0gICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVl
KTsKLSAgICBpZiAodGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0
cDovL2xvY2FsaG9zdCIpKQotICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNz
aWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydGVkLiIpOwot
CiAgICAgdmFyIHJlZmVycmVyOwotICAgIGZldGNoKCJyZXNvdXJjZXMvZWNoby1yZWZlcnJlci5w
aHAiKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7Ci0gICAgICAgIHJldHVybiByZXNwb25zZS50
ZXh0KCk7Ci0gICAgfSkudGhlbihmdW5jdGlvbihkYXRhKSB7Ci0gICAgICAgIHJlZmVycmVyID0g
ZGF0YTsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWZlcnJlciIsICJodHRwOi8v
MTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1v
cmlnaW4tZm9yLXByZXZhbGVudC1zdWJyZXNvdXJjZS1yZWRpcmVjdHMuaHRtbCIpOwotCi0gICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9j
YWxob3N0IiwgdHJ1ZSk7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2
YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQotICAgICAgICAgICAgdGVzdEZhaWxl
ZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotCi0gICAg
ICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1VwZGF0ZUNvb2tpZVBhcnRpdGlvbmluZyhmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIG9wZW5JZnJhbWUoInJlc291cmNlcy9yZWRpcmVjdC5waHA/cmVk
aXJlY3RUbz1odHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNv
dXJjZXMvZWNoby1yZWZlcnJlci5waHAiLCBmaW5pc2hKU1Rlc3QpOworICAgIHNldEVuYWJsZUZl
YXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKCJodHRwOi8vbG9jYWxob3N0IikpCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2FzIGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNl
IGJlZm9yZSB0aGUgdGVzdCBzdGFydGVkLiIpOworCisgICAgICAgIGZldGNoKCJyZXNvdXJjZXMv
ZWNoby1yZWZlcnJlci5waHAiKS50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7CisgICAgICAgICAg
ICByZXR1cm4gcmVzcG9uc2UudGV4dCgpOworICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEp
IHsKKyAgICAgICAgICAgIHJlZmVycmVyID0gZGF0YTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygicmVmZXJyZXIiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVz
b3VyY2UtcmVkaXJlY3RzLmh0bWwiKTsKKworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiLCB0cnVlKTsKKyAgICAg
ICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0
cDovL2xvY2FsaG9zdCIpKQorICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5v
dCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKKworICAgICAgICAgICAgdGVzdFJ1
bm5lci5zdGF0aXN0aWNzVXBkYXRlQ29va2llUGFydGl0aW9uaW5nKGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgIG9wZW5JZnJhbWUoInJlc291cmNlcy9yZWRpcmVjdC5waHA/cmVkaXJlY3RU
bz1odHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMv
ZWNoby1yZWZlcnJlci5waHAiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgIH0pOworCisgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7Cisg
ICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgICAgIH0pOwotCi0gICAgfSku
Y2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgY29uc29sZS5sb2coZXJyb3IubWVzc2Fn
ZSk7Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0pOwotCiA8L3NjcmlwdD4KIDwvYm9k
eT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zdHJpcC1yZWZlcnJlci10by1vcmlnaW4tZm9yLXByZXZhbGVudC1zdWJy
ZXNvdXJjZS1yZXF1ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJl
c291cmNlLXJlcXVlc3RzLmh0bWwKaW5kZXggYWEwYjA4OGQyOTk0MmQ3OTVkYzQxYmUyMGM1NjVm
NTY4NTNlOTJlYy4uNmQzYjY3NjY2YjcwZTlmNGM1MjVkYmYxZGU5MzRmZjYxNjRmODdhMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3N0
cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVlc3Rz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3N0cmlwLXJlZmVycmVyLXRvLW9yaWdpbi1mb3ItcHJldmFsZW50LXN1YnJlc291cmNlLXJlcXVl
c3RzLmh0bWwKQEAgLTksMTEgKzksMTMgQEAKICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKICAg
ICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwogCi0gICAgZnVuY3Rpb24gc2V0
RW5hYmxlRmVhdHVyZShlbmFibGUpIHsKLSAgICAgICAgaWYgKCFlbmFibGUpCi0gICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CisgICAgZnVu
Y3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFibGUsIGNvbXBsZXRpb25IYW5kbGVyKSB7CiAgICAg
ICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOwog
ICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVu
YWJsZSk7CisgICAgICAgIGlmICghZW5hYmxlKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0
aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShjb21wbGV0aW9uSGFuZGxlcik7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfQogCiAgICAgZnVu
Y3Rpb24gb3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKQEAgLTI1LDQxICsyNyw0MyBA
QAogICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwogICAgIH0KIAot
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSk7Ci0gICAgaWYgKHRlc3RSdW5uZXIuaXNTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2UoImh0dHA6Ly9sb2NhbGhvc3QiKSkKLSAgICAgICAgdGVzdEZh
aWxlZCgiTG9jYWxob3N0IHdhcyBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZSBiZWZv
cmUgdGhlIHRlc3Qgc3RhcnRlZC4iKTsKLQogICAgIHZhciByZWZlcnJlcjsKLSAgICBmZXRjaCgi
cmVzb3VyY2VzL2VjaG8tcmVmZXJyZXIucGhwIikudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewot
ICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpOwotICAgIH0pLnRoZW4oZnVuY3Rpb24oZGF0
YSkgewotICAgICAgICByZWZlcnJlciA9IGRhdGE7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygicmVmZXJyZXIiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvc3RyaXAtcmVmZXJyZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2Ut
cmVxdWVzdHMuaHRtbCIpOworICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7
CisgICAgICAgIGlmICh0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJo
dHRwOi8vbG9jYWxob3N0IikpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJMb2NhbGhvc3Qgd2Fz
IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlIGJlZm9yZSB0aGUgdGVzdCBzdGFydGVk
LiIpOworCisgICAgICAgIGZldGNoKCJyZXNvdXJjZXMvZWNoby1yZWZlcnJlci5waHAiKS50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7CisgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgp
OworICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsKKyAgICAgICAgICAgIHJlZmVycmVy
ID0gZGF0YTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVmZXJyZXIiLCAi
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc3RyaXAtcmVmZXJy
ZXItdG8tb3JpZ2luLWZvci1wcmV2YWxlbnQtc3VicmVzb3VyY2UtcmVxdWVzdHMuaHRtbCIpOwog
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKCJodHRw
Oi8vbG9jYWxob3N0IiwgdHJ1ZSk7Ci0gICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0YXRpc3Rp
Y3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQotICAgICAgICAgICAgdGVz
dEZhaWxlZCgiSG9zdCBkaWQgbm90IGdldCBzZXQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UoImh0
dHA6Ly9sb2NhbGhvc3QiLCB0cnVlKTsKKyAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZSgiaHR0cDovL2xvY2FsaG9zdCIpKQorICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgZGlkIG5vdCBnZXQgc2V0IGFzIHByZXZhbGVudCByZXNv
dXJjZS4iKTsKIAotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVQYXJ0
aXRpb25pbmcoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBmZXRjaCgiaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcmVmZXJyZXIucGhw
IikudGhlbihmdW5jdGlvbihyZXNwb25zZSkgewotICAgICAgICAgICAgICAgIHJldHVybiByZXNw
b25zZS50ZXh0KCk7Ci0gICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsKLSAgICAg
ICAgICAgICAgICByZWZlcnJlciA9IGRhdGE7Ci0gICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJyZWZlcnJlciIsICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIik7CisgICAgICAg
ICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NVcGRhdGVDb29raWVQYXJ0aXRpb25pbmcoZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgZmV0Y2goImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9lY2hvLXJlZmVycmVyLnBocCIpLnRoZW4oZnVu
Y3Rpb24ocmVzcG9uc2UpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRl
eHQoKTsKKyAgICAgICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsKKyAgICAgICAg
ICAgICAgICAgICAgcmVmZXJyZXIgPSBkYXRhOworICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInJlZmVycmVyIiwgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iKTsKIAot
ICAgICAgICAgICAgICAgIG9wZW5JZnJhbWUoInJlc291cmNlcy9yZWRpcmVjdC5waHA/cmVkaXJl
Y3RUbz1odHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJj
ZXMvZWNoby1yZWZlcnJlci5waHAiLCBmaW5pc2hKU1Rlc3QpOworICAgICAgICAgICAgICAgICAg
ICBvcGVuSWZyYW1lKCJyZXNvdXJjZXMvcmVkaXJlY3QucGhwP3JlZGlyZWN0VG89aHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2VjaG8tcmVmZXJy
ZXIucGhwIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOworICAgICAgICAgICAgICAgICAgICB9KTsKIAot
ICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBj
b25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnJvcikgeworICAgICAgICAg
ICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAg
ICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKKyAgICAgICAgICAgICAg
ICB9KTsKICAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKIAotICAgIH0pLmNhdGNoKGZ1bmN0
aW9uKGVycm9yKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLm1lc3NhZ2UpOwotICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKKyAg
ICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgc2V0RW5h
YmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKKyAgICAgICAgfSk7CiAgICAgfSk7Ci0K
IDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5
LWdlbmVyYXRpb24uaHRtbAppbmRleCA4ZWFhZDA2YjAwZGEwZWY2ZTExMWUzNWEzYzU4NzhiNGNl
ZWZhYWQ1Li4xMDU1OTczNWFjYTViMDdmOGUwZjc2MmM5YTBmMjFlN2RlNDgxNWEwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1l
dHJ5LWdlbmVyYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24uaHRtbApAQCAtMTksMTMgKzE5LDIy
IEBACiAgICAgY29uc3QgcHJldmFsZW50UmVzb3VyY2VVcmwzID0gImh0dHA6Ly8xMjcuMC4xLjM6
ODAwMC90ZW1wIjsKICAgICBjb25zdCBwcmV2YWxlbnRSZXNvdXJjZVVybDQgPSAiaHR0cDovLzEy
Ny4wLjEuNDo4MDAwL3RlbXAiOwogCisgICAgZnVuY3Rpb24gc2V0RW5hYmxlRmVhdHVyZShlbmFi
bGUsIGNvbXBsZXRpb25IYW5kbGVyKSB7CisgICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRW5hYmxlZChlbmFibGUpOworICAgICAgICB0ZXN0UnVubmVyLnNldENvb2tp
ZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIGlmICghZW5hYmxl
KQorICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZShjb21wbGV0aW9uSGFuZGxlcik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKCk7CisgICAgfQorCiAgICAgZnVuY3Rpb24gY2hlY2tJbnN1ZmZpY2llbnRDbGFz
c2lmaWNhdGlvbkFuZENvbnRpbnVlKCkgewogICAgICAgICBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0
aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VVcmwxKSkgewogICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiSG9zdCAxIGRpZCBub3QgZ2V0IGNsYXNzaWZpZWQgYXMgcHJldmFs
ZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAg
ICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwogICAgICAgICB9IGVsc2Ug
aWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlKHByZXZhbGVudFJl
c291cmNlVXJsMikpIHsKICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhvc3QgMiBkaWQgbm90IGdl
dCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNU
ZXN0KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHRlc3RQYXNzZWQoIkhvc3RzIGNs
YXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlcy4iKTsKICAgICAgICAgICAgIHJ1blRlbGVt
ZXRyeUFuZENvbnRpbnVlKCk7CkBAIC0zNSwxNiArNDQsMTYgQEAKICAgICBmdW5jdGlvbiBjaGVj
a1N1ZmZpY2llbnRDbGFzc2lmaWNhdGlvbkFuZENvbnRpbnVlKCkgewogICAgICAgICBpZiAoIXRl
c3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50UmVzb3VyY2VV
cmwxKSkgewogICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCAxIGRpZCBub3QgZ2V0IGNsYXNz
aWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hKU1Rlc3QpOwog
ICAgICAgICB9IGVsc2UgaWYgKCF0ZXN0UnVubmVyLmlzU3RhdGlzdGljc1ByZXZhbGVudFJlc291
cmNlKHByZXZhbGVudFJlc291cmNlVXJsMikpIHsKICAgICAgICAgICAgIHRlc3RGYWlsZWQoIkhv
c3QgMiBkaWQgbm90IGdldCBjbGFzc2lmaWVkIGFzIHByZXZhbGVudCByZXNvdXJjZS4iKTsKLSAg
ICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShm
YWxzZSwgZmluaXNoSlNUZXN0KTsKICAgICAgICAgfSBlbHNlIGlmICghdGVzdFJ1bm5lci5pc1N0
YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZShwcmV2YWxlbnRSZXNvdXJjZVVybDMpKSB7CiAgICAg
ICAgICAgICB0ZXN0RmFpbGVkKCJIb3N0IDMgZGlkIG5vdCBnZXQgY2xhc3NpZmllZCBhcyBwcmV2
YWxlbnQgcmVzb3VyY2UuIik7Ci0gICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgICAgIH0gZWxz
ZSBpZiAoIXRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2UocHJldmFsZW50
UmVzb3VyY2VVcmw0KSkgewogICAgICAgICAgICAgdGVzdEZhaWxlZCgiSG9zdCA0IGRpZCBub3Qg
Z2V0IGNsYXNzaWZpZWQgYXMgcHJldmFsZW50IHJlc291cmNlLiIpOwotICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmaW5pc2hK
U1Rlc3QpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdGVzdFBhc3NlZCgiSG9zdHMg
Y2xhc3NpZmllZCBhcyBwcmV2YWxlbnQgcmVzb3VyY2VzLiIpOwogICAgICAgICAgICAgcnVuVGVs
ZW1ldHJ5QW5kQ29udGludWUoKTsKQEAgLTEwNiwxMyArMTE1LDE1IEBACiAgICAgICAgIHNob3Vs
ZEJlKCJ0ZXN0UmVzdWx0LnRvdGFsUHJldmFsZW50UmVzb3VyY2VzIiwgIjQiKTsKICAgICAgICAg
c2hvdWxkQmUoInRlc3RSZXN1bHQudG90YWxQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlckludGVy
YWN0aW9uIiwgIjEiKTsKICAgICAgICAgc2hvdWxkQmUoInRlc3RSZXN1bHQudG9wM1N1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbnMiLCAiNCIpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZmluaXNoSlNUZXN0KTsKICAgICB9CiAKICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0
aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVy
ZWQodHJ1ZSk7Ci0gICAgICAgIHNldFVwSW5zdWZmaWNpZW50U3RhdGlzdGljc0FuZENvbnRpbnVl
KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90
aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQodHJ1ZSk7CisgICAgICAgICAgICBzZXRV
cEluc3VmZmljaWVudFN0YXRpc3RpY3NBbmRDb250aW51ZSgpOworICAgICAgICB9KTsKICAgICB9
CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1wYXJ0eS1jb29raWUtd2l0aC1hbmQtd2l0aG91
dC11c2VyLWludGVyYWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvdGhpcmQtcGFydHktY29va2llLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1p
bnRlcmFjdGlvbi5odG1sCmluZGV4IDQ3Mjg0YjYwNDA3NmJkZjU3ZjBkMTljZjZlMTM1NDBhZThj
ZjMzNWYuLmUyMTdhMDM2YzYyNzNiZmUwOGFlYWNkZDkyZTg3MGVhMGZkYmU1OGYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90aGlyZC1w
YXJ0eS1jb29raWUtd2l0aC1hbmQtd2l0aG91dC11c2VyLWludGVyYWN0aW9uLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5
LWNvb2tpZS13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbApAQCAtMjAsMTgg
KzIwLDE5IEBACiAgICAgY29uc3QgZnJhZ21lbnRXaXRoUmV0dXJuVXJsID0gImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RoaXJkLXBhcnR5LWNvb2tpZS13aXRo
LWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRtbCI7CiAgICAgY29uc3Qgc3ViUGF0aFRv
R2V0Q29va2llcyA9ICIvZ2V0LWNvb2tpZXMucGhwP25hbWUxPSIgKyBmaXJzdFBhcnR5Q29va2ll
TmFtZSArICImbmFtZTI9IiArIHRoaXJkUGFydHlDb29raWVOYW1lICsgIiZuYW1lMz0iICsgcGFy
dGl0aW9uZWRUaGlyZFBhcnR5Q29va2llTmFtZTsKIAotICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZl
YXR1cmUoZW5hYmxlKSB7Ci0gICAgICAgIGlmICghZW5hYmxlKSB7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7Ci0gICAgICAgIH0KLSAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2Nhbm5lZChlbmFibGUpOworICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxl
LCBjb21wbGV0aW9uSGFuZGxlcikgewogICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0VuYWJsZWQoZW5hYmxlKTsKICAgICAgICAgdGVzdFJ1bm5lci5zZXRDb29raWVT
dG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZChlbmFibGUpOworICAgICAgICBpZiAoIWVuYWJsZSkK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUo
Y29tcGxldGlvbkhhbmRsZXIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcigpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Ci0gICAgICAg
IHNldEVuYWJsZUZlYXR1cmUoZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAg
ZnVuY3Rpb24gb3BlbklmcmFtZSh1cmwsIG9uTG9hZEhhbmRsZXIpIHsKQEAgLTg3LDE2ICs4OCwx
NiBAQAogICAgIH0KIAogICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5ob3N0ID09PSBwYXJ0aXRp
b25Ib3N0ICYmIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPT0gIiIgJiYgd2luZG93LnRlc3RSdW5u
ZXIgJiYgd2luZG93LmludGVybmFscykgewotICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUp
OwotCi0gICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5o
YXNoID0gInN0ZXAxIjsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICAgICAgICAgIGRvY3VtZW50
LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOwogCi0gICAgICAgIC8vIFN0YXJ0IHRlc3Qgd2l0aCB0
aGlyZCBwYXJ0eSBhcyBub24tcHJldmFsZW50Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1ByZXZhbGVudFJlc291cmNlKHRoaXJkUGFydHlIb3N0bmFtZSwgZmFsc2UpOwotICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odGhpcmRQYXJ0
eU9yaWdpbiwgZmFsc2UpOwotICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NTZXRTaG91bGRQ
YXJ0aXRpb25Db29raWVzRm9ySG9zdCh0aGlyZFBhcnR5SG9zdG5hbWUsIGZhbHNlLCBydW5UZXN0
KTsKKyAgICAgICAgICAgIC8vIFN0YXJ0IHRlc3Qgd2l0aCB0aGlyZCBwYXJ0eSBhcyBub24tcHJl
dmFsZW50CisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZSh0aGlyZFBhcnR5SG9zdG5hbWUsIGZhbHNlKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0aGlyZFBhcnR5T3JpZ2luLCBmYWxz
ZSk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NTZXRTaG91bGRQYXJ0aXRpb25D
b29raWVzRm9ySG9zdCh0aGlyZFBhcnR5SG9zdG5hbWUsIGZhbHNlLCBydW5UZXN0KTsKKyAgICAg
ICAgfSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcnVuVGVzdCgpOwogICAgIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWlu
dGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1zdWItZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3Nz
LW9yaWdpbi1zdWItZnJhbWUuaHRtbAppbmRleCBiYmYxM2JkNTRjYWEzNmQ3NWE3ZDhhZmVkNjVj
NzBiNTdkMjU1ZjUxLi5hOWMxYmU2YjA0NjllNjdhZmM3YzUwNTc0MDdlMTY3MTcyY2U5NGY4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
dXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rp
b24taW4tY3Jvc3Mtb3JpZ2luLXN1Yi1mcmFtZS5odG1sCkBAIC0xMCw2ICsxMCwxNSBAQCBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKIGNvbnN0IHRvcEZyYW1lT3JpZ2luID0gImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCI7CiBjb25zdCBzdWJGcmFtZU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAi
OwogCitmdW5jdGlvbiBzZXRFbmFibGVGZWF0dXJlKGVuYWJsZSwgY29tcGxldGlvbkhhbmRsZXIp
IHsKKyAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoZW5hYmxl
KTsKKyAgICB0ZXN0UnVubmVyLnNldENvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkKGVu
YWJsZSk7CisgICAgaWYgKCFlbmFibGUpCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jl
c2V0VG9Db25zaXN0ZW50U3RhdGUoY29tcGxldGlvbkhhbmRsZXIpOworICAgIGVsc2UKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoKTsKK30KKwogZnVuY3Rpb24gYWN0aXZhdGVFbGVtZW50KGVs
ZW1lbnRJZCkgewogICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxl
bWVudElkKTsKICAgICB2YXIgY2VudGVyWCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIGVsZW1lbnQu
b2Zmc2V0V2lkdGggLyAyOwpAQCAtMjEsMjYgKzMwLDI1IEBAIGZ1bmN0aW9uIGZpbmlzaFRlc3Qo
KSB7CiAgICAgc2hvdWxkQmVUcnVlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJ
bnRlcmFjdGlvbih0b3BGcmFtZU9yaWdpbikiKTsKICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVu
bmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbikiKTsK
IAotICAgIGZpbmlzaEpTVGVzdCgpOworICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlz
aEpTVGVzdCk7CiB9CiAKIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGlmIChpbnRlcm5hbHMp
Ci0gICAgICAgIGludGVybmFscy5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZCh0cnVl
KTsKLQotICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhm
aW5pc2hUZXN0KTsKLSAgICB9CisgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Cisg
ICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRz
Q2FsbGJhY2soZmluaXNoVGVzdCk7CisgICAgICAgIH0KIAotICAgIHNob3VsZEJlKCJkb2N1bWVu
dC5sb2NhdGlvbi5vcmlnaW4iLCAidG9wRnJhbWVPcmlnaW4iKTsKKyAgICAgICAgc2hvdWxkQmUo
ImRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiIsICJ0b3BGcmFtZU9yaWdpbiIpOwogCi0gICAgaWYg
KHRlc3RSdW5uZXIpIHsKLSAgICAgICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRp
c3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24odG9wRnJhbWVPcmlnaW4pIik7Ci0gICAgICAgIHNo
b3VsZEJlRmFsc2UoInRlc3RSdW5uZXIuaXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9u
KHN1YkZyYW1lT3JpZ2luKSIpOworICAgICAgICBpZiAodGVzdFJ1bm5lcikgeworICAgICAgICAg
ICAgc2hvdWxkQmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJh
Y3Rpb24odG9wRnJhbWVPcmlnaW4pIik7CisgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0
UnVubmVyLmlzU3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbihzdWJGcmFtZU9yaWdpbiki
KTsKIAotICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoInRlc3RGcmFtZSIpOwotICAgIH0KKyAgICAg
ICAgICAgIGFjdGl2YXRlRWxlbWVudCgidGVzdEZyYW1lIik7CisgICAgICAgIH0KKyAgICB9KTsK
IH07CiA8L3NjcmlwdD4KIDxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgc3JjPSJodHRwOi8vbG9jYWxo
b3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZHVtbXkuaHRtbCI+PC9p
ZnJhbWU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0aGluLXNob3J0
LXBlcmlvZC1vZi10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdXNlci1pbnRlcmFjdGlvbi1vbmx5LXJlcG9ydGVkLW9uY2Utd2l0aGluLXNo
b3J0LXBlcmlvZC1vZi10aW1lLmh0bWwKaW5kZXggNDE0YThiM2UwOWYyYjczNjRiMTc3NWU0M2Rm
N2UwNGVhZTdmOTQxOS4uMDk4MDZmNDE2ZGZlNmI5MDg1NWFkYWU4YmJlYzZkOTNiMTBhYmRmNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3VzZXItaW50ZXJhY3Rpb24tb25seS1yZXBvcnRlZC1vbmNlLXdpdGhpbi1zaG9ydC1wZXJpb2Qt
b2YtdGltZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy91c2VyLWludGVyYWN0aW9uLW9ubHktcmVwb3J0ZWQtb25jZS13aXRoaW4tc2hvcnQt
cGVyaW9kLW9mLXRpbWUuaHRtbApAQCAtMTAsNiArMTAsMTUgQEAKICAgICBjb25zdCB0b3BGcmFt
ZU9yaWdpbiA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAiOwogICAgIGNvbnN0IHN1YkZyYW1lT3Jp
Z2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7CiAKKyAgICBmdW5jdGlvbiBzZXRFbmFibGVG
ZWF0dXJlKGVuYWJsZSwgY29tcGxldGlvbkhhbmRsZXIpIHsKKyAgICAgICAgaW50ZXJuYWxzLnNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIHRlc3RSdW5u
ZXIuc2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQoZW5hYmxlKTsKKyAgICAgICAg
aWYgKCFlbmFibGUpCisgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NSZXNldFRvQ29u
c2lzdGVudFN0YXRlKGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICB9CisKICAgICBmdW5jdGlvbiBhY3RpdmF0ZUVs
ZW1lbnQoZWxlbWVudElkLCBjYWxsYmFjaykgewogICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7CiAgICAgICAgIHZhciBjZW50ZXJYID0gZWxl
bWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7CkBAIC0yMCw3ICsyOSw3
IEBACiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgiUHJvbWlzZSByZWplY3RlZC4iKTsKLSAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwogICAgICAgICAgICAgfQogICAgICAgICApOwogICAgIH0KQEAgLTQ3LDE2
ICs1NiwxNSBAQAogICAgICAgICBzaG91bGRCZUZhbHNlKCJ0ZXN0UnVubmVyLmlzU3RhdGlzdGlj
c0hhc0hhZFVzZXJJbnRlcmFjdGlvbih0b3BGcmFtZU9yaWdpbikiKTsKICAgICAgICAgc2hvdWxk
QmVGYWxzZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oc3Vi
RnJhbWVPcmlnaW4pIik7CiAKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAgfQogCiAgICAgb25sb2FkID0g
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmIChpbnRlcm5hbHMpCi0gICAgICAgICAgICBpbnRlcm5h
bHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQodHJ1ZSk7Ci0KLSAgICAgICAgc2hv
dWxkQmUoImRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiIsICJ0b3BGcmFtZU9yaWdpbiIpOworICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgc2hv
dWxkQmUoImRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbiIsICJ0b3BGcmFtZU9yaWdpbiIpOwogCi0g
ICAgICAgIGZpcnN0SW50ZXJhY3Rpb24oKTsKKyAgICAgICAgICAgIGZpcnN0SW50ZXJhY3Rpb24o
KTsKKyAgICAgICAgfSk7CiAgICAgfTsKIDwvc2NyaXB0PgogPGRpdiBpZD0idGVzdEVsZW1lbnQi
PlRoaXMgaXMgdGhlIHRlc3QgZWxlbWVudDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24tcmVwb3J0
ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLXJlcG9ydGVkLWFmdGVy
LXdlYnNpdGUtZGF0YS1yZW1vdmFsLmh0bWwKaW5kZXggNjg0ZjUxNTc1MDExYWNhZjM0YjYwZjQy
NDZlZTU5YTkyODllZjUxMS4uNTViZWJkNzJhOWJjMDQ1YmMzNzM2YjU3YzgwNGY2MGI3MDFiOTg1
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3VzZXItaW50ZXJhY3Rpb24tcmVwb3J0ZWQtYWZ0ZXItd2Vic2l0ZS1kYXRhLXJlbW92YWwu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
dXNlci1pbnRlcmFjdGlvbi1yZXBvcnRlZC1hZnRlci13ZWJzaXRlLWRhdGEtcmVtb3ZhbC5odG1s
CkBAIC0xMCw2ICsxMCwxNSBAQAogICAgIGNvbnN0IHRvcEZyYW1lT3JpZ2luID0gImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMCI7CiAgICAgY29uc3Qgc3ViRnJhbWVPcmlnaW4gPSAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwIjsKIAorICAgIGZ1bmN0aW9uIHNldEVuYWJsZUZlYXR1cmUoZW5hYmxlLCBjb21w
bGV0aW9uSGFuZGxlcikgeworICAgICAgICBpbnRlcm5hbHMuc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0VuYWJsZWQoZW5hYmxlKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRDb29raWVTdG9yYWdl
UGFydGl0aW9uaW5nRW5hYmxlZChlbmFibGUpOworICAgICAgICBpZiAoIWVuYWJsZSkKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoY29tcGxl
dGlvbkhhbmRsZXIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOworICAgIH0KKwogICAgIGZ1bmN0aW9uIGFjdGl2YXRlRWxlbWVudChlbGVtZW50SWQsIGNh
bGxiYWNrKSB7CiAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ZWxlbWVudElkKTsKICAgICAgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBl
bGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKQEAgLTIwLDcgKzI5LDcgQEAKICAgICAgICAgICAgIH0s
CiAgICAgICAgICAgICBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCJQ
cm9taXNlIHJlamVjdGVkLiIpOwotICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZpbmlzaEpTVGVzdCk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICk7CiAgICAgfQpAQCAtNDgsMTYgKzU3LDE1IEBACiAgICAgICAg
IHNob3VsZEJlVHJ1ZSgidGVzdFJ1bm5lci5pc1N0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rp
b24odG9wRnJhbWVPcmlnaW4pIik7CiAgICAgICAgIHNob3VsZEJlRmFsc2UoInRlc3RSdW5uZXIu
aXNTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKHN1YkZyYW1lT3JpZ2luKSIpOwogCi0g
ICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBm
aW5pc2hKU1Rlc3QpOwogICAgIH0KIAogICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAg
ICBpZiAoaW50ZXJuYWxzKQotICAgICAgICAgICAgaW50ZXJuYWxzLnNldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NFbmFibGVkKHRydWUpOwotCi0gICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5sb2Nh
dGlvbi5vcmlnaW4iLCAidG9wRnJhbWVPcmlnaW4iKTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVy
ZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHNob3VsZEJlKCJkb2N1bWVudC5sb2Nh
dGlvbi5vcmlnaW4iLCAidG9wRnJhbWVPcmlnaW4iKTsKIAotICAgICAgICBmaXJzdEludGVyYWN0
aW9uKCk7CisgICAgICAgICAgICBmaXJzdEludGVyYWN0aW9uKCk7CisgICAgICAgIH0pOwogICAg
IH07CiA8L3NjcmlwdD4KIDxkaXYgaWQ9InRlc3RFbGVtZW50Ij5UaGlzIGlzIHRoZSB0ZXN0IGVs
ZW1lbnQ8L2Rpdj4K
</data>

          </attachment>
      

    </bug>

</bugzilla>