<?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>175338</bug_id>
          
          <creation_ts>2017-08-08 13:04:59 -0700</creation_ts>
          <short_desc>Address flakiness related to download tests</short_desc>
          <delta_ts>2017-08-14 10:11:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=168235</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryan Haddad">ryanhaddad</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>jlewis3</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1336601</commentid>
    <comment_count>0</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-08-08 13:04:59 -0700</bug_when>
    <thetext>LayoutTest imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-stringifier.html is a flaky failure

https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK2%20(Tests)/r220403%20(3594)/results.html

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fsemantics%2Ftext-level-semantics%2Fthe-a-element%2Fa-stringifier.html

--- /Volumes/Data/slave/elcapitan-release-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-stringifier-expected.txt
+++ /Volumes/Data/slave/elcapitan-release-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-stringifier-actual.txt
@@ -1,3 +1,4 @@
+Download completed.
 
 PASS HTMLAnchorElement stringifier 
 PASS HTMLAnchorElement stringifier 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337933</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-11 10:59:34 -0700</bug_when>
    <thetext>This is likely caused by a previous test. a-stringifier.html is unlikely to be the culprit here :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337935</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-11 11:00:57 -0700</bug_when>
    <thetext>It is likely that a download layout test is not properly waiting for the download to finish to call finishJSTest().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337936</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-11 11:02:02 -0700</bug_when>
    <thetext>The culprit is likely:
imported/w3c/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click.html 

It clicks a download link and calls done() right away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337939</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-11 11:06:29 -0700</bug_when>
    <thetext>It looks like download tests are currently expected to use:
    if (window.testRunner)
        testRunner.waitUntilDownloadFinished();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338018</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-11 14:42:51 -0700</bug_when>
    <thetext>*** Bug 168235 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338020</commentid>
    <comment_count>6</comment_count>
      <attachid>317967</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-11 14:47:19 -0700</bug_when>
    <thetext>Created attachment 317967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338176</commentid>
    <comment_count>7</comment_count>
      <attachid>317967</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-08-12 14:29:00 -0700</bug_when>
    <thetext>Comment on attachment 317967
Patch

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

&gt; Tools/ChangeLog:8
&gt; +        - Update WKTR so that the flag set by testRunner.waitUntilDownloadFinished()

We don&apos;t have the support for this feature in DRT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338178</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-12 14:52:55 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #7)
&gt; Comment on attachment 317967 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=317967&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:8
&gt; &gt; +        - Update WKTR so that the flag set by testRunner.waitUntilDownloadFinished()
&gt; 
&gt; We don&apos;t have the support for this feature in DRT?

No it was apparently only added to WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338180</commentid>
    <comment_count>9</comment_count>
      <attachid>317967</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-12 14:58:49 -0700</bug_when>
    <thetext>Comment on attachment 317967
Patch

Clearing flags on attachment: 317967

Committed r220626: &lt;http://trac.webkit.org/changeset/220626&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338181</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-12 14:58:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338182</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-12 14:59:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/33865119&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338375</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-14 10:09:49 -0700</bug_when>
    <thetext>Committed r220703: &lt;http://trac.webkit.org/changeset/220703&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338378</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-14 10:11:02 -0700</bug_when>
    <thetext>Small follow-up in https://trac.webkit.org/r220703.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317967</attachid>
            <date>2017-08-11 14:47:19 -0700</date>
            <delta_ts>2017-08-12 14:58:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175338-20170811144718.patch</filename>
            <type>text/plain</type>
            <size>35149</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjAxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGYwZDAxOTM0NTI5YjU1N2U2N2FlYmZlYWJmOThiNmZl
ZjAyYmNiZC4uNzZjMzhmODVjM2RlMTBlNGYwY2UxMWVhOTYyMWVjYjJkYTA1OTUwNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDE3LTA4LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkcmVzcyBmbGFraW5lc3MgcmVsYXRlZCB0byBkb3dubG9hZCB0ZXN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MzM4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBVcGRhdGUgV0tUUiBzbyB0
aGF0IHRoZSBmbGFnIHNldCBieSB0ZXN0UnVubmVyLndhaXRVbnRpbERvd25sb2FkRmluaXNoZWQo
KQorICAgICAgICAgIGlzIGFjdHVhbGx5IHF1ZXJpZWQgd2hlbiBhIGRvd25sb2FkIGNvbXBsZXRl
cy4gUHJldmlvdXNseSwgdGhpcyB3b3VsZCBiZQorICAgICAgICAgIGlkZW50aWNhbCB0byBhIGNh
bGwgdG8gdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCkgYmVjYXVzZSBhbnkgZG93bmxvYWQKKyAg
ICAgICAgICBjb21wbGV0aW9uIHdvdWxkIGNhbGwgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCkuCisg
ICAgICAgIC0gRGlzYWJsZSBsb2dnaW5nIG9mIGRvd25sb2FkIGNhbGxiYWNrcyBieSBkZWZhdWx0
IGFuZCBhZGQgYQorICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U2hvdWxkTG9nRG93bmxvYWRDYWxs
YmFja3ModHJ1ZSkgQVBJIHRvIGFsbG93IHRlc3RzIHRvCisgICAgICAgICAgZW5hYmxlIHN1Y2gg
bG9nZ2luZy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxl
OjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6
c2V0U2hvdWxkTG9nRG93bmxvYWRDYWxsYmFja3MpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZG93
bmxvYWREaWRTdGFydCk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpkZWNpZGVEZXN0
aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZSk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpkb3dubG9hZERpZEZpbmlzaCk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpk
b3dubG9hZERpZEZhaWwpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZG93bmxvYWRE
aWRDYW5jZWwpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoK
KyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJh
Y2tzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVk
QnVuZGxlKToKKwogMjAxNy0wOC0xMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFdURjo6RnVuY3Rpb24gZG9lcyBub3QgYWxsb3cgZm9yIHJlZmVyZW5jZSAvIG5vbi1k
ZWZhdWx0IGNvbnN0cnVjdGlibGUgcmV0dXJuIHR5cGVzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlk
bAppbmRleCAyMzU3YmIxMzk5OWFhNDBlZjcxNThiNjFmMDFhMzg1OWY2NjgwMGViLi4yZDMzMWYw
ZjA3YTgzMjY2ZjYxYzA3NDYzNmQyZDI5N2Y4MjNjZGEzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5l
ci5pZGwKQEAgLTMxLDExICszMSwxNCBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdm9p
ZCBkdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKICAgICB2b2lkIHdhaXRGb3JQb2xpY3lEZWxlZ2F0
ZSgpOwogICAgIHZvaWQgd2FpdFVudGlsRG9uZSgpOwotICAgIHZvaWQgd2FpdFVudGlsRG93bmxv
YWRGaW5pc2hlZCgpOwogICAgIHZvaWQgbm90aWZ5RG9uZSgpOwogICAgIGRvdWJsZSBwcmVjaXNl
VGltZSgpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgdGltZW91dDsKIAorICAgIC8v
IERvd25sb2Fkcy4KKyAgICB2b2lkIHdhaXRVbnRpbERvd25sb2FkRmluaXNoZWQoKTsKKyAgICB2
b2lkIHNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKGJvb2xlYW4gdmFsdWUpOworCiAgICAg
Ly8gT3RoZXIgZHVtcGluZy4KICAgICB2b2lkIGR1bXBCYWNrRm9yd2FyZExpc3QoKTsKICAgICB2
b2lkIGR1bXBDaGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zKCk7CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4
IDY2MmZmNWEyMTBlOGFmYTVmY2E3NzdmMmUyZDI4ZTY1MDEwNWFjMmUuLjczYjlkOTNiMjUyNzU5
YmQ0ZmY1MTI3ODE0NmU1NWQzMDdhZDg3YzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0yNTEsNyAr
MjUxLDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG0KICAgICB9CiAKICAgICBpZiAoV0tTdHJp
bmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIk5vdGlmeURvd25sb2FkRG9uZSIp
KSB7Ci0gICAgICAgIG1fdGVzdFJ1bm5lci0+bm90aWZ5RG9uZSgpOworICAgICAgICBpZiAobV90
ZXN0UnVubmVyLT5zaG91bGRGaW5pc2hBZnRlckRvd25sb2FkKCkpCisgICAgICAgICAgICBtX3Rl
c3RSdW5uZXItPm5vdGlmeURvbmUoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAK
aW5kZXggN2E2Mjk3MzFiMTA0YWQwZjU3NzBjNWY5NThkZDY1NDJkYWRiOTU4NS4uM2FmY2FjZmJi
ZjZjZTVkYmNmYzI1YmNmMTFmYzg0MmJiNmY1MTk4NiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0xMDIzLDYgKzEw
MjMsMTMgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRTaG91bGRMb2dDYW5BdXRoZW50aWNhdGVBZ2Fp
bnN0UHJvdGVjdGlvblNwYWNlKGJvb2wgdmFsdWUpCiAgICAgV0tCdW5kbGVQYWdlUG9zdE1lc3Nh
Z2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpLCBtZXNzYWdlTmFt
ZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCkpOwogfQogCit2b2lkIFRlc3RSdW5uZXI6OnNldFNo
b3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUpCit7CisgICAgV0tSZXRhaW5QdHI8
V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJTZXRTaG91bGRMb2dEb3dubG9hZENhbGxiYWNrcyIpKTsKKyAgICBXS1JldGFpblB0
cjxXS0Jvb2xlYW5SZWY+IG1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLQm9vbGVhbkNyZWF0ZSh2YWx1
ZSkpOworICAgIFdLQnVuZGxlUGFnZVBvc3RNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0
b24oKS5wYWdlKCktPnBhZ2UoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgp
KTsKK30KKwogdm9pZCBUZXN0UnVubmVyOjpzZXRBdXRoZW50aWNhdGlvblVzZXJuYW1lKEpTU3Ry
aW5nUmVmIHVzZXJuYW1lKQogewogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdl
TmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2V0QXV0aGVudGlj
YXRpb25Vc2VybmFtZSIpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXggMzcxNmU2ZjZiOTlmMmE2YmRlNmI4ZWYxM2Q0NTBj
ZDkyMWVhOTAwOS4uNDg1M2NlYTQzZDBkNzU0ZTIxNTk0NWY1MGY3MDY4NDQ5YTBkZWJkNiAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmgKQEAgLTIxMCw3ICsyMTAsMTAgQEAgcHVibGljOgogICAgIGJvb2wgd2FpdFRvRHVtcCgpIGNv
bnN0IHsgcmV0dXJuIG1fd2FpdFRvRHVtcDsgfQogICAgIHZvaWQgd2FpdFRvRHVtcFdhdGNoZG9n
VGltZXJGaXJlZCgpOwogICAgIHZvaWQgaW52YWxpZGF0ZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVy
KCk7CisKKyAgICAvLyBEb3dubG9hZHMKICAgICBib29sIHNob3VsZEZpbmlzaEFmdGVyRG93bmxv
YWQoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZEZpbmlzaEFmdGVyRG93bmxvYWQ7IH0KKyAgICB2
b2lkIHNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKGJvb2wpOwogCiAgICAgYm9vbCBzaG91
bGRBbGxvd0VkaXRpbmcoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZEFsbG93RWRpdGluZzsgfQog
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDdlMDRiZDM0
MzM2NzMzZTVkZTBjZTAwNmFiZWE3MjI0NWVlZTczMWQuLjUxOWE4YjAwNjAzMTgzYWZhYTUxMDc0
NDA3MGRhMzQ4YjJiZjQ2NzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwCkBAIC0xNzIyLDE5ICsxNzIyLDIxIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmRvd25s
b2FkRGlkQ2FuY2VsKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0Rvd25sb2FkUmVmIGRvd25sCiAK
IHZvaWQgVGVzdENvbnRyb2xsZXI6OmRvd25sb2FkRGlkU3RhcnQoV0tDb250ZXh0UmVmIGNvbnRl
eHQsIFdLRG93bmxvYWRSZWYgZG93bmxvYWQpCiB7Ci0gICAgbV9jdXJyZW50SW52b2NhdGlvbi0+
b3V0cHV0VGV4dCgiRG93bmxvYWQgc3RhcnRlZC5cbiIpOworICAgIGlmIChtX3Nob3VsZExvZ0Rv
d25sb2FkQ2FsbGJhY2tzKQorICAgICAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5vdXRwdXRUZXh0
KCJEb3dubG9hZCBzdGFydGVkLlxuIik7CiB9CiAKIFdLU3RyaW5nUmVmIFRlc3RDb250cm9sbGVy
OjpkZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZShXS0NvbnRleHRSZWYsIFdL
RG93bmxvYWRSZWYsIFdLU3RyaW5nUmVmIGZpbGVuYW1lLCBib29sKiYgYWxsb3dPdmVyd3JpdGUp
CiB7CiAgICAgU3RyaW5nIHN1Z2dlc3RlZEZpbGVuYW1lID0gdG9XVEZTdHJpbmcoZmlsZW5hbWUp
OwogCi0gICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwotICAgIGJ1aWxkZXIuYXBwZW5kKCJEb3du
bG9hZGluZyBVUkwgd2l0aCBzdWdnZXN0ZWQgZmlsZW5hbWUgXCIiKTsKLSAgICBidWlsZGVyLmFw
cGVuZChzdWdnZXN0ZWRGaWxlbmFtZSk7Ci0gICAgYnVpbGRlci5hcHBlbmQoIlwiXG4iKTsKLQot
ICAgIG1fY3VycmVudEludm9jYXRpb24tPm91dHB1dFRleHQoYnVpbGRlci50b1N0cmluZygpKTsK
KyAgICBpZiAobV9zaG91bGRMb2dEb3dubG9hZENhbGxiYWNrcykgeworICAgICAgICBTdHJpbmdC
dWlsZGVyIGJ1aWxkZXI7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCJEb3dubG9hZGluZyBVUkwg
d2l0aCBzdWdnZXN0ZWQgZmlsZW5hbWUgXCIiKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoc3Vn
Z2VzdGVkRmlsZW5hbWUpOworICAgICAgICBidWlsZGVyLmFwcGVuZCgiXCJcbiIpOworICAgICAg
ICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5vdXRwdXRUZXh0KGJ1aWxkZXIudG9TdHJpbmcoKSk7Cisg
ICAgfQogCiAgICAgY29uc3QgY2hhciogZHVtcFJlbmRlclRyZWVUZW1wID0gbGlicmFyeVBhdGhG
b3JUZXN0aW5nKCk7CiAgICAgaWYgKCFkdW1wUmVuZGVyVHJlZVRlbXApCkBAIC0xNzUwLDM1ICsx
NzUyLDM5IEBAIFdLU3RyaW5nUmVmIFRlc3RDb250cm9sbGVyOjpkZWNpZGVEZXN0aW5hdGlvbldp
dGhTdWdnZXN0ZWRGaWxlbmFtZShXS0NvbnRleHRSZWYsCiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6
OmRvd25sb2FkRGlkRmluaXNoKFdLQ29udGV4dFJlZiwgV0tEb3dubG9hZFJlZikKIHsKLSAgICBt
X2N1cnJlbnRJbnZvY2F0aW9uLT5vdXRwdXRUZXh0KCJEb3dubG9hZCBjb21wbGV0ZWQuXG4iKTsK
KyAgICBpZiAobV9zaG91bGRMb2dEb3dubG9hZENhbGxiYWNrcykKKyAgICAgICAgbV9jdXJyZW50
SW52b2NhdGlvbi0+b3V0cHV0VGV4dCgiRG93bmxvYWQgY29tcGxldGVkLlxuIik7CiAgICAgbV9j
dXJyZW50SW52b2NhdGlvbi0+bm90aWZ5RG93bmxvYWREb25lKCk7CiB9CiAKIHZvaWQgVGVzdENv
bnRyb2xsZXI6OmRvd25sb2FkRGlkRmFpbChXS0NvbnRleHRSZWYsIFdLRG93bmxvYWRSZWYsIFdL
RXJyb3JSZWYgZXJyb3IpCiB7Ci0gICAgU3RyaW5nIG1lc3NhZ2UgPSBTdHJpbmc6OmZvcm1hdCgi
RG93bmxvYWQgZmFpbGVkLlxuIik7Ci0gICAgbV9jdXJyZW50SW52b2NhdGlvbi0+b3V0cHV0VGV4
dChtZXNzYWdlKTsKLSAgICAKLSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gZXJyb3JEb21h
aW4gPSBhZG9wdFdLKFdLRXJyb3JDb3B5RG9tYWluKGVycm9yKSk7Ci0gICAgV0tSZXRhaW5QdHI8
V0tTdHJpbmdSZWY+IGVycm9yRGVzY3JpcHRpb24gPSBhZG9wdFdLKFdLRXJyb3JDb3B5TG9jYWxp
emVkRGVzY3JpcHRpb24oZXJyb3IpKTsKLSAgICBpbnQgZXJyb3JDb2RlID0gV0tFcnJvckdldEVy
cm9yQ29kZShlcnJvcik7Ci0KLSAgICBTdHJpbmdCdWlsZGVyIGVycm9yQnVpbGRlcjsKLSAgICBl
cnJvckJ1aWxkZXIuYXBwZW5kKCJGYWlsZWQ6ICIpOwotICAgIGVycm9yQnVpbGRlci5hcHBlbmQo
dG9XVEZTdHJpbmcoZXJyb3JEb21haW4pKTsKLSAgICBlcnJvckJ1aWxkZXIuYXBwZW5kKCIsIGNv
ZGU9Iik7Ci0gICAgZXJyb3JCdWlsZGVyLmFwcGVuZE51bWJlcihlcnJvckNvZGUpOwotICAgIGVy
cm9yQnVpbGRlci5hcHBlbmQoIiwgZGVzY3JpcHRpb249Iik7Ci0gICAgZXJyb3JCdWlsZGVyLmFw
cGVuZCh0b1dURlN0cmluZyhlcnJvckRlc2NyaXB0aW9uKSk7Ci0gICAgZXJyb3JCdWlsZGVyLmFw
cGVuZCgiXG4iKTsKLQotICAgIG1fY3VycmVudEludm9jYXRpb24tPm91dHB1dFRleHQoZXJyb3JC
dWlsZGVyLnRvU3RyaW5nKCkpOworICAgIGlmIChtX3Nob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tz
KSB7CisgICAgICAgIFN0cmluZyBtZXNzYWdlID0gU3RyaW5nOjpmb3JtYXQoIkRvd25sb2FkIGZh
aWxlZC5cbiIpOworICAgICAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5vdXRwdXRUZXh0KG1lc3Nh
Z2UpOworCisgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBlcnJvckRvbWFpbiA9IGFk
b3B0V0soV0tFcnJvckNvcHlEb21haW4oZXJyb3IpKTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IGVycm9yRGVzY3JpcHRpb24gPSBhZG9wdFdLKFdLRXJyb3JDb3B5TG9jYWxpemVk
RGVzY3JpcHRpb24oZXJyb3IpKTsKKyAgICAgICAgaW50IGVycm9yQ29kZSA9IFdLRXJyb3JHZXRF
cnJvckNvZGUoZXJyb3IpOworCisgICAgICAgIFN0cmluZ0J1aWxkZXIgZXJyb3JCdWlsZGVyOwor
ICAgICAgICBlcnJvckJ1aWxkZXIuYXBwZW5kKCJGYWlsZWQ6ICIpOworICAgICAgICBlcnJvckJ1
aWxkZXIuYXBwZW5kKHRvV1RGU3RyaW5nKGVycm9yRG9tYWluKSk7CisgICAgICAgIGVycm9yQnVp
bGRlci5hcHBlbmQoIiwgY29kZT0iKTsKKyAgICAgICAgZXJyb3JCdWlsZGVyLmFwcGVuZE51bWJl
cihlcnJvckNvZGUpOworICAgICAgICBlcnJvckJ1aWxkZXIuYXBwZW5kKCIsIGRlc2NyaXB0aW9u
PSIpOworICAgICAgICBlcnJvckJ1aWxkZXIuYXBwZW5kKHRvV1RGU3RyaW5nKGVycm9yRGVzY3Jp
cHRpb24pKTsKKyAgICAgICAgZXJyb3JCdWlsZGVyLmFwcGVuZCgiXG4iKTsKKworICAgICAgICBt
X2N1cnJlbnRJbnZvY2F0aW9uLT5vdXRwdXRUZXh0KGVycm9yQnVpbGRlci50b1N0cmluZygpKTsK
KyAgICB9CiAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+bm90aWZ5RG93bmxvYWREb25lKCk7CiB9
CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OmRvd25sb2FkRGlkQ2FuY2VsKFdLQ29udGV4dFJlZiwg
V0tEb3dubG9hZFJlZikKIHsKLSAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5vdXRwdXRUZXh0KCJE
b3dubG9hZCBjYW5jZWxsZWQuXG4iKTsKKyAgICBpZiAobV9zaG91bGRMb2dEb3dubG9hZENhbGxi
YWNrcykKKyAgICAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+b3V0cHV0VGV4dCgiRG93bmxvYWQg
Y2FuY2VsbGVkLlxuIik7CiAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+bm90aWZ5RG93bmxvYWRE
b25lKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCAw
M2M3MzMzNTdkYmQwNjQ0NDk1ZWI3NjJjMDcyYjg3MmExMzUwMTA4Li5hZmRkOTcxM2UyZTJjMDJl
YjhiMGM3MWZmZjBiMjg3NWEwODk0ZTAzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCkBAIC0xNDAsNiArMTQwLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRTaG91
bGRMb2dIaXN0b3J5Q2xpZW50Q2FsbGJhY2tzKGJvb2wgc2hvdWxkTG9nKSB7IG1fc2hvdWxkTG9n
SGlzdG9yeUNsaWVudENhbGxiYWNrcyA9IHNob3VsZExvZzsgfQogICAgIHZvaWQgc2V0U2hvdWxk
TG9nQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShib29sIHNob3VsZExvZykg
eyBtX3Nob3VsZExvZ0NhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UgPSBzaG91
bGRMb2c7IH0KKyAgICB2b2lkIHNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKGJvb2wgc2hv
dWxkTG9nKSB7IG1fc2hvdWxkTG9nRG93bmxvYWRDYWxsYmFja3MgPSBzaG91bGRMb2c7IH0KIAog
ICAgIGJvb2wgaXNDdXJyZW50SW52b2NhdGlvbihUZXN0SW52b2NhdGlvbiogaW52b2NhdGlvbikg
Y29uc3QgeyByZXR1cm4gaW52b2NhdGlvbiA9PSBtX2N1cnJlbnRJbnZvY2F0aW9uLmdldCgpOyB9
CiAKQEAgLTM4Miw2ICszODMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zaG91bGRVc2VSZW1v
dGVMYXllclRyZWUgeyBmYWxzZSB9OwogCiAgICAgYm9vbCBtX3Nob3VsZExvZ0NhbkF1dGhlbnRp
Y2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UgeyBmYWxzZSB9OworICAgIGJvb2wgbV9zaG91bGRM
b2dEb3dubG9hZENhbGxiYWNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Nob3VsZExvZ0hpc3Rv
cnlDbGllbnRDYWxsYmFja3MgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRTaG93V2ViVmll
dyB7IGZhbHNlIH07CiAgICAgCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
Y3BwCmluZGV4IGY1YThmNWYzNDg4YmYxZmZmNDNiOWM0ODUzMDQzNWQ3NTQzMWE4MDQuLmQ5MjU1
OTQ3ZjdhNWQ4OGI4ZTc5ZTczZTU2NTI2ZmM3NzAzOTczMGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC02NzQsNiArNjc0LDEzIEBAIHZvaWQgVGVzdElu
dm9jYXRpb246OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLU3RyaW5nUmVm
IG1lc3NhZ2VOYW1lCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoV0tTdHJpbmdJ
c0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFNob3VsZExvZ0Rvd25sb2FkQ2Fs
bGJhY2tzIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBX
S0Jvb2xlYW5HZXRUeXBlSUQoKSk7CisgICAgICAgIFdLQm9vbGVhblJlZiB2YWx1ZSA9IHN0YXRp
Y19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBUZXN0Q29udHJvbGxl
cjo6c2luZ2xldG9uKCkuc2V0U2hvdWxkTG9nRG93bmxvYWRDYWxsYmFja3MoV0tCb29sZWFuR2V0
VmFsdWUodmFsdWUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChXS1N0cmlu
Z0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0QXV0aGVudGljYXRpb25Vc2Vy
bmFtZSIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tT
dHJpbmdHZXRUeXBlSUQoKSk7CiAgICAgICAgIFdLU3RyaW5nUmVmIHVzZXJuYW1lID0gc3RhdGlj
X2Nhc3Q8V0tTdHJpbmdSZWY+KG1lc3NhZ2VCb2R5KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ZTE0MGEwYzI0MGRlNDc3
Y2M1YTkwMTUzNGIwNjRiYTIxMmI3Y2ZmLi5iOWY4YTlkZGIzMGMyN2Y5NmVmMDllMDRhNmE0ODA0
OGM3NjI0MjE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTctMDgtMTEgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGRyZXNzIGZsYWtpbmVzcyByZWxhdGVk
IHRvIGRvd25sb2FkIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzUzMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFVubWFyayBzZXZlcmFsIGRv
d25sb2FkIHRlc3RzIGFzIGZsYWt5LgorCisgICAgICAgICogZmFzdC9kb20vSFRNTEFuY2hvckVs
ZW1lbnQvYW5jaG9yLWRvd25sb2FkLXN5bnRoZXRpYy1jbGljay5odG1sOgorICAgICAgICAqIGZh
c3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1kb3dubG9hZC11c2VyLXRyaWdnZXJlZC1z
eW50aGV0aWMtY2xpY2suaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVu
dC9hbmNob3ItZG93bmxvYWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxl
bWVudC9hbmNob3ItZmlsZS1ibG9iLWNvbnZlcnQtdG8tZG93bmxvYWQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3ItZmlsZS1ibG9iLWRvd25sb2FkLWlu
Y2x1ZGVzLWJhY2tzbGFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVt
ZW50L2FuY2hvci1maWxlLWJsb2ItZG93bmxvYWQtaW5jbHVkZXMtZG91YmxlcXVvdGUuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3ItZmlsZS1ibG9iLWRv
d25sb2FkLWluY2x1ZGVzLXNsYXNoZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5j
aG9yRWxlbWVudC9hbmNob3ItZmlsZS1ibG9iLWRvd25sb2FkLWluY2x1ZGVzLXVuaWNvZGUuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3ItZmlsZS1ibG9i
LWRvd25sb2FkLW5vLWV4dGVuc2lvbi5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxBbmNo
b3JFbGVtZW50L2FuY2hvci1maWxlLWJsb2ItZG93bmxvYWQuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3Itbm9kb3dubG9hZC1zZXQuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2Rvd25sb2FkL2FuY2hvci1kb3dubG9hZC1hdHRyaWJ1dGUtY29udGVu
dC1kaXNwb3NpdGlvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvZG93bmxvYWQvYW5jaG9y
LWRvd25sb2FkLW5vLWV4dGVuc2lvbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvZG93bmxv
YWQvYW5jaG9yLWRvd25sb2FkLW5vLXZhbHVlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9k
b3dubG9hZC9hcmVhLWRvd25sb2FkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2Rvd25sb2FkL2FyZWEtZG93bmxvYWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2FuY2hvci1kb3dubG9hZC1hbGxvdy1ibG9iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2FuY2hvci1kb3dubG9hZC1hbGxvdy1ibG9iLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93bmxvYWQtYWxsb3ctZGF0YS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93bmxvYWQt
YWxsb3ctZGF0YS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvYW5jaG9yLWRv
d25sb2FkLWFsbG93LXNhbWVvcmlnaW4uaHRtbDoKKyAgICAgICAgVXBkYXRlIGRvd25sb2FkIHRl
c3RzIHRvIGV4cGxpY2l0bHkgZW5hYmxlIGRvd25sb2FkIGNhbGxiYWNrcyBsb2dnaW5nLgorCiAy
MDE3LTA4LTEwICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgTGF5b3V0
IHRlc3QgYWNjZXNzaWJpbGl0eS9wcmVzcy10YXJnZXQtdXNlcy10ZXh0LWRlc2NlbmRhbnQtbm9k
ZS5odG1sIGlzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYThiZTI2
Y2Q2YWFjY2Y1NzIxNTNmODM2NjFmZjQxOWYzYTkyOTQyYS4uZTBmMWNhYWY0NjIyY2MwNTdkNjYz
YWVlNWM4MTIxNDkyOThlZTJhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTctMDgtMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBBZGRyZXNzIGZsYWtpbmVzcyByZWxhdGVkIHRvIGRvd25sb2FkIHRlc3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUzMzgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJhc2VsaW5l
IHNldmVyYWwgV1BUIHRlc3RzIG5vdyB0aGF0IGRvd25sb2FkIGNhbGxiYWNrcyBhcmUgbm8gbG9u
Z2VyIGxvZ2dlZC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L3RoZS1hcmVhLWVsZW1lbnQvYXJlYS1kb3dubG9hZC1jbGljay1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L3RleHQtbGV2ZWwtc2VtYW50aWNzL3RoZS1hLWVsZW1lbnQvYS1kb3dubG9hZC1jbGljay1leHBl
Y3RlZC50eHQ6CisKIDIwMTctMDgtMDkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBJbXBvcnQgYmVhY29uL2hlYWRlcnMvaGVhZGVyLWNvbnRlbnQtdHlwZS5odG1s
IGZyb20gdXBzdHJlYW0gV1BUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3NzU3YWE1MWI0ZmRlMjll
YzdkYTJiZTFlOGM5YTNmZTEyYTM4MmE0Li4zZDQ4Yjc0OTA5MDIyOWZiZWQxYmY1NDc5MDZmYmMx
YjViODA2ZmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExNzUsMTAgKzExNzUsOCBAQCB3ZWJr
aXQub3JnL2IvMTY2OTExIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3Jt
YW5jZS1yZXNvdXJjZS10aW1pbgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGV0YWlscy1lbGVtZW50L3RvZ2ds
ZUV2ZW50Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2ODE3NSBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2dyb3VwaW5nLWNvbnRlbnQv
dGhlLWxpLWVsZW1lbnQvZ3JvdXBpbmctbGktcmVmdGVzdC1saXN0LW93bmVyLXNraXAtbm8tYm94
ZXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2ODE3NSBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2dyb3VwaW5nLWNvbnRlbnQv
dGhlLWxpLWVsZW1lbnQvZ3JvdXBpbmctbGktcmVmdGVzdC1saXN0LW93bmVyLW1lbnUuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE2ODE3NSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWFyZWEt
ZWxlbWVudC9hcmVhLWRvd25sb2FkLWNsaWNrLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzE2ODE3NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3Nl
cnMvYnJvd3NpbmctdGhlLXdlYi9oaXN0b3J5LXRyYXZlcnNhbC9zYW1lLXVybC5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNjgxNzUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL29mZmxpbmUvYnJvd3Nlci1zdGF0ZS9uYXZpZ2F0b3Jfb25s
aW5lX29ubGluZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNjgxNzUgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy90ZXh0LWxldmVsLXNl
bWFudGljcy90aGUtYS1lbGVtZW50L2EtZG93bmxvYWQtY2xpY2suaHRtbCBbIFRpbWVvdXQgUGFz
cyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNjkyNjQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvaGlzdG9yeS10cmF2ZXJzYWwv
cGVyc2lzdGVkLXVzZXItc3RhdGUtcmVzdG9yYXRpb24vc2Nyb2xsLXJlc3RvcmF0aW9uLW5hdmln
YXRpb24tc2FtZWRvYy5odG1sIFsgRmFpbHVyZSBdCiAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qvb3Blbi11cmwtcmVkaXJlY3RlZC13b3JrZXItb3JpZ2lu
Lmh0bSBbIEZhaWx1cmUgUGFzcyAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWRvd25sb2FkLXN5bnRoZXRpYy1jbGljay5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWRvd25sb2FkLXN5
bnRoZXRpYy1jbGljay5odG1sCmluZGV4IGFjMTA1NmZjY2I1NWMxNzlmOThkNmM0NWQxMWFjNTAx
YjgwZTk1MzIuLjRiYzU0YTU5NDBiNDAxYjMyMDhiYTMwZjZjNzM3NzI1NTJhYWM4MTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1kb3du
bG9hZC1zeW50aGV0aWMtY2xpY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
QW5jaG9yRWxlbWVudC9hbmNob3ItZG93bmxvYWQtc3ludGhldGljLWNsaWNrLmh0bWwKQEAgLTEs
MTAgKzEsMTEgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgdHlw
ZT0ndGV4dC9qYXZhc2NyaXB0Jz4KKzxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICB0ZXN0UnVubmVyLnNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKHRydWUpOworICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvd25sb2FkRmluaXNoZWQoKTsKIH0KIDwvc2NyaXB0PgogPC9o
ZWFkPgpAQCAtMjAsOSArMjEsNiBAQCBmdW5jdGlvbiBydW5UZXN0KCkKICAgICB2YXIgbGluayA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibG9iLXVybCIpOwogICAgIGxpbmsuaHJlZiA9IHdp
bmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOwogICAgIGxpbmsuY2xpY2soKTsKLSAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
LSAgICB9LCAxMDApOwogfQogcnVuVGVzdCgpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3ItZG93bmxvYWQtdXNlci10
cmlnZ2VyZWQtc3ludGhldGljLWNsaWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
QW5jaG9yRWxlbWVudC9hbmNob3ItZG93bmxvYWQtdXNlci10cmlnZ2VyZWQtc3ludGhldGljLWNs
aWNrLmh0bWwKaW5kZXggMWNmNTQxOWQ1MmIyMzU0ZjkyZGU4ZmMzMjkwNTc3YzMzNDI1ODU2Yi4u
NjdjN2NlOWMyNmY2YjRkYTBiZDE0NTUwNzMyMjkzZjI3ZGJhNWVhZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWRvd25sb2FkLXVzZXIt
dHJpZ2dlcmVkLXN5bnRoZXRpYy1jbGljay5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1kb3dubG9hZC11c2VyLXRyaWdnZXJlZC1zeW50aGV0
aWMtY2xpY2suaHRtbApAQCAtMSwxMCArMSwxMSBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxoZWFkPgotPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgorPHNjcmlwdD4KIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgIHRlc3RSdW5uZXIuc2V0U2hvdWxkTG9nRG93bmxvYWRD
YWxsYmFja3ModHJ1ZSk7CisgIHRlc3RSdW5uZXIud2FpdFVudGlsRG93bmxvYWRGaW5pc2hlZCgp
OwogfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CkBAIC0zNiw5ICszNyw2IEBAIGZ1bmN0aW9uIHJ1blRl
c3QoKQogICAgICAgICBsaW5rLmNsaWNrKCk7CiAgICAgfQogICAgIHVzZXJDbGljayhidXR0b24p
OwotICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5
RG9uZSgpOwotICAgIH0sIDEwMCk7CiB9CiBydW5UZXN0KCk7CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1kb3dubG9h
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWRv
d25sb2FkLmh0bWwKaW5kZXggZDE4YmE3YzQ4YjA3YmY1OTc3Mjg3OTk5ZjlhOWNhODY3ZjU4YjMz
Yy4uZDg5YWU1M2U1ZGM5MDI5MmQ5ODQ0YWUzM2NmYWQ1ZTU3MWE4ZTM2MyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWRvd25sb2FkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWRv
d25sb2FkLmh0bWwKQEAgLTEsMTAgKzEsMTEgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8
aGVhZD4KLTxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KKzxzY3JpcHQ+CiBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworICB0ZXN0UnVubmVyLnNldFNob3VsZExvZ0Rvd25sb2FkQ2Fs
bGJhY2tzKHRydWUpOworICB0ZXN0UnVubmVyLndhaXRVbnRpbERvd25sb2FkRmluaXNoZWQoKTsK
IH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1jb252ZXJ0LXRvLWRvd25sb2FkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3ItZmlsZS1i
bG9iLWNvbnZlcnQtdG8tZG93bmxvYWQuaHRtbAppbmRleCBiNjE4ODAwZTg3OWJlYmU2NDcwZDZj
MzYwNWFjNTA3MDFhMjQ2YzMyLi5hZDAwMzBkY2VhYjI2NjhlMTc1ZDc2Nzk3NWI0ZTBiYjZhNjI3
ZmJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9h
bmNob3ItZmlsZS1ibG9iLWNvbnZlcnQtdG8tZG93bmxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3ItZmlsZS1ibG9iLWNvbnZlcnQtdG8t
ZG93bmxvYWQuaHRtbApAQCAtMSwxMCArMSwxMSBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxoZWFkPgotPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgorPHNjcmlwdD4KIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewogICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgIHRlc3RSdW5uZXIuc2V0U2hvdWxkTG9nRG93bmxvYWRD
YWxsYmFja3ModHJ1ZSk7CisgIHRlc3RSdW5uZXIud2FpdFVudGlsRG93bmxvYWRGaW5pc2hlZCgp
OwogICB0ZXN0UnVubmVyLnNldFNob3VsZERvd25sb2FkVW5kaXNwbGF5YWJsZU1JTUVUeXBlcyh0
cnVlKTsKIH0KIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEFuY2hvckVsZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1kb3dubG9hZC1pbmNsdWRlcy1iYWNrc2xh
c2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1m
aWxlLWJsb2ItZG93bmxvYWQtaW5jbHVkZXMtYmFja3NsYXNoLmh0bWwKaW5kZXggMzE2Y2M3YTAy
ZWE3NWY0NWRkZDFkMmI1YjI2ZjMyM2I2OTNhZTQ4OS4uMzRkZjgzNTQ1ZjZhMTY2MzZiOTllNDMw
MGI5Yzk2ZTI2MWUxNjBiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFu
Y2hvckVsZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1kb3dubG9hZC1pbmNsdWRlcy1iYWNrc2xhc2gu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3It
ZmlsZS1ibG9iLWRvd25sb2FkLWluY2x1ZGVzLWJhY2tzbGFzaC5odG1sCkBAIC0xLDEwICsxLDEx
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHR5cGU9J3RleHQv
amF2YXNjcmlwdCc+Cis8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgdGVz
dFJ1bm5lci5zZXRTaG91bGRMb2dEb3dubG9hZENhbGxiYWNrcyh0cnVlKTsKKyAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb3dubG9hZEZpbmlzaGVkKCk7CiB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1m
aWxlLWJsb2ItZG93bmxvYWQtaW5jbHVkZXMtZG91YmxlcXVvdGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1maWxlLWJsb2ItZG93bmxvYWQtaW5j
bHVkZXMtZG91YmxlcXVvdGUuaHRtbAppbmRleCA4ZWRjNGQ1YzVhNDQ5ZjQ4OTBlMzA2NTU0NjBm
ZmE4ZjA0ZmMzNTcyLi45YTE0OGI2ZTIwMjgwZGQyNWNhYzIzYTU5NjBjNDhiYTBkMTRjNjQwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3It
ZmlsZS1ibG9iLWRvd25sb2FkLWluY2x1ZGVzLWRvdWJsZXF1b3RlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1kb3dubG9h
ZC1pbmNsdWRlcy1kb3VibGVxdW90ZS5odG1sCkBAIC0xLDEwICsxLDExIEBACiA8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+Cis8
c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgdGVzdFJ1bm5lci5zZXRTaG91
bGRMb2dEb3dubG9hZENhbGxiYWNrcyh0cnVlKTsKKyAgdGVzdFJ1bm5lci53YWl0VW50aWxEb3du
bG9hZEZpbmlzaGVkKCk7CiB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1maWxlLWJsb2ItZG93bmxv
YWQtaW5jbHVkZXMtc2xhc2hlcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hv
ckVsZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1kb3dubG9hZC1pbmNsdWRlcy1zbGFzaGVzLmh0bWwK
aW5kZXggY2Q3NTU0ZjI4YTM5MDgwYjY2NDJkYjRiNGUyODE0YjMxMTljZWEyMi4uYmRiYmI3OWRh
YWQwZTgzOGM0OTQ0MDFlNWMwYmI5ZmE3MjQ3NzI2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1kb3dubG9hZC1pbmNs
dWRlcy1zbGFzaGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVs
ZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1kb3dubG9hZC1pbmNsdWRlcy1zbGFzaGVzLmh0bWwKQEAg
LTEsMTAgKzEsMTEgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQg
dHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KKzxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworICB0ZXN0UnVubmVyLnNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKHRydWUpOwor
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvd25sb2FkRmluaXNoZWQoKTsKIH0KIDwvc2NyaXB0Pgog
PC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1l
bnQvYW5jaG9yLWZpbGUtYmxvYi1kb3dubG9hZC1pbmNsdWRlcy11bmljb2RlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3ItZmlsZS1ibG9iLWRvd25s
b2FkLWluY2x1ZGVzLXVuaWNvZGUuaHRtbAppbmRleCA0Mjc3Y2IzYjUyNmNiNGNhMjA0NjljZGRj
MTExYTYyY2I5YWE2M2JlLi5mMWQzNDI4OWUyYmU1NTcyNjIyMjVlOWRmZGM5Y2M0MmIyYjgwNzIy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNo
b3ItZmlsZS1ibG9iLWRvd25sb2FkLWluY2x1ZGVzLXVuaWNvZGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNob3ItZmlsZS1ibG9iLWRvd25sb2Fk
LWluY2x1ZGVzLXVuaWNvZGUuaHRtbApAQCAtMiwxMCArMiwxMSBAQAogPGh0bWw+CiA8aGVhZD4K
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4K
KzxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Ci0gIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICB0ZXN0UnVubmVyLnNldFNo
b3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKHRydWUpOworICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
d25sb2FkRmluaXNoZWQoKTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1kb3du
bG9hZC1uby1leHRlbnNpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JF
bGVtZW50L2FuY2hvci1maWxlLWJsb2ItZG93bmxvYWQtbm8tZXh0ZW5zaW9uLmh0bWwKaW5kZXgg
MTdhOWE4NzQyMzAyZWFkZmEwYmY4NzZhODk0MjYyYTkyNTM0MTBjMS4uZmU0M2Q0NTA5YmM3MmZi
OTYyZGEzYjIwM2QxNmM2OTkzNmQ0YjJlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1kb3dubG9hZC1uby1leHRlbnNp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9hbmNo
b3ItZmlsZS1ibG9iLWRvd25sb2FkLW5vLWV4dGVuc2lvbi5odG1sCkBAIC0xLDEwICsxLDExIEBA
CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHR5cGU9J3RleHQvamF2
YXNjcmlwdCc+Cis8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgdGVzdFJ1
bm5lci5zZXRTaG91bGRMb2dEb3dubG9hZENhbGxiYWNrcyh0cnVlKTsKKyAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb3dubG9hZEZpbmlzaGVkKCk7CiB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L2FuY2hvci1maWxl
LWJsb2ItZG93bmxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVt
ZW50L2FuY2hvci1maWxlLWJsb2ItZG93bmxvYWQuaHRtbAppbmRleCA2MTg3MWNkYTA2NmM1ZWYy
ZTVlZDhkYTc1Yjk1YWJjNGFiZDY1NzFmLi41ZjI5OGRjYTJlMjIwOTBhZGZjYWNmNjcwOTQ5YThj
YWZlYTRmMmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxl
bWVudC9hbmNob3ItZmlsZS1ibG9iLWRvd25sb2FkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLWZpbGUtYmxvYi1kb3dubG9hZC5odG1sCkBA
IC0xLDEwICsxLDExIEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0
IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+Cis8c2NyaXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgdGVzdFJ1bm5lci5zZXRTaG91bGRMb2dEb3dubG9hZENhbGxiYWNrcyh0cnVlKTsK
KyAgdGVzdFJ1bm5lci53YWl0VW50aWxEb3dubG9hZEZpbmlzaGVkKCk7CiB9CiA8L3NjcmlwdD4K
IDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVt
ZW50L2FuY2hvci1ub2Rvd25sb2FkLXNldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEFuY2hvckVsZW1lbnQvYW5jaG9yLW5vZG93bmxvYWQtc2V0Lmh0bWwKaW5kZXggZGQ1NjFlNzk2
MTg4ZjBmNDFhNzdkMGEwNzlmZGM3MDgzZTI3NDAwMy4uZDlhMzc3ZmY4NTMwNGZjODIyMTZlZDg5
MmM2YzkwMGJhM2UzMjY2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFu
Y2hvckVsZW1lbnQvYW5jaG9yLW5vZG93bmxvYWQtc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvYW5jaG9yLW5vZG93bmxvYWQtc2V0Lmh0bWwKQEAg
LTEsMTAgKzEsMTEgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQg
dHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KKzxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworICB0ZXN0UnVubmVyLnNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKHRydWUpOwor
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvd25sb2FkRmluaXNoZWQoKTsKIH0KIDwvc2NyaXB0Pgog
PC9oZWFkPgpAQCAtMjQsNyArMjUsNyBAQCBmdW5jdGlvbiBjbGljayhlbG10KQogCiBmdW5jdGlv
biBydW5UZXN0KCkKIHsKLSAgICB2YXIgc3RyaW5nID0gIjwhZG9jdHlwZSBodG1sPjxodG1sPjxo
ZWFkPjx0aXRsZT5UaXRsZTwvdGl0bGU+PHNjcmlwdD5pZiAod2luZG93LnRlc3RSdW5uZXIpIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOyA8LyIgKyAic2NyaXB0PjwvaGVhZD48Ym9keT5QQVNTPC9i
b2R5PjxzY3JpcHQ+aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTs8L3NjciIgKyAiaXB0PjwvaHRtbD4iOworICAgIHZhciBzdHJpbmcgPSAiPCFkb2N0eXBlIGh0
bWw+PGh0bWw+PGhlYWQ+PHRpdGxlPlRpdGxlPC90aXRsZT48c2NyaXB0PmlmICh3aW5kb3cudGVz
dFJ1bm5lcikgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7IDwvIiArICJzY3JpcHQ+PC9oZWFkPjxi
b2R5PkZBSUw8L2JvZHk+PHNjcmlwdD5pZiAod2luZG93LnRlc3RSdW5uZXIpIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOzwvc2NyIiArICJpcHQ+PC9odG1sPiI7CiAgICAgdmFyIGJsb2IgPSBuZXcg
QmxvYihbc3RyaW5nXSwge3R5cGU6ICJ0ZXh0L2h0bWwifSk7CiAgICAgdmFyIGxpbmsgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiYmxvYi11cmwiKTsKICAgICBsaW5rLmhyZWYgPSB3aW5kb3cu
VVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvZG93bmxvYWQvYW5jaG9yLWRvd25sb2FkLWF0dHJpYnV0ZS1jb250ZW50LWRpc3Bvc2l0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rvd25sb2FkL2FuY2hvci1kb3dubG9h
ZC1hdHRyaWJ1dGUtY29udGVudC1kaXNwb3NpdGlvbi5odG1sCmluZGV4IDdmNWVkZDA0NzJjMWZh
MmJlMmY1MTFjMDUzMWRkNWJkNDc3OWE1NjguLjQwYzcyMmYzMWY4MTA0NTMwYTIwZTcwMWM0ZWNh
MzAyZjFjZWMxZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG93bmxvYWQv
YW5jaG9yLWRvd25sb2FkLWF0dHJpYnV0ZS1jb250ZW50LWRpc3Bvc2l0aW9uLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb3dubG9hZC9hbmNob3ItZG93bmxvYWQtYXR0cmlidXRl
LWNvbnRlbnQtZGlzcG9zaXRpb24uaHRtbApAQCAtMSwxMCArMSwxMSBAQAogPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgorPHNj
cmlwdD4KIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLSAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgIHRlc3RSdW5uZXIuc2V0U2hvdWxk
TG9nRG93bmxvYWRDYWxsYmFja3ModHJ1ZSk7CisgIHRlc3RSdW5uZXIud2FpdFVudGlsRG93bmxv
YWRGaW5pc2hlZCgpOwogfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Rvd25sb2FkL2FuY2hvci1kb3dubG9hZC1uby1leHRlbnNpb24uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG93bmxvYWQvYW5jaG9yLWRvd25sb2FkLW5vLWV4
dGVuc2lvbi5odG1sCmluZGV4IDZmNDA3MzEzNGMxZDkzMGFjYmQxYTJmZjIyZmZlYzdlOGQ4MzJk
Y2MuLjhlYzc4MDQ5MDQ4ZThlYzk5MWFjNzJkMWVjM2RiNDJlZTcwODY4Y2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG93bmxvYWQvYW5jaG9yLWRvd25sb2FkLW5vLWV4dGVu
c2lvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG93bmxvYWQvYW5jaG9yLWRv
d25sb2FkLW5vLWV4dGVuc2lvbi5odG1sCkBAIC0xLDEwICsxLDExIEBACiA8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+Cis8c2Ny
aXB0PgogaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgdGVzdFJ1bm5lci5zZXRTaG91bGRM
b2dEb3dubG9hZENhbGxiYWNrcyh0cnVlKTsKKyAgdGVzdFJ1bm5lci53YWl0VW50aWxEb3dubG9h
ZEZpbmlzaGVkKCk7CiB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvZG93bmxvYWQvYW5jaG9yLWRvd25sb2FkLW5vLXZhbHVlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rvd25sb2FkL2FuY2hvci1kb3dubG9hZC1uby12YWx1ZS5o
dG1sCmluZGV4IGE4OGNmZDY5MThjOWEyNjRkNTI2ZWEzZjAzMjVjMzg4OGM3ZGEyODIuLjY3YzAy
MDQ1YTc3NTg2NTg1Yjc4YWViYzhkZDBhMTJhNjE5ZGRhN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvZG93bmxvYWQvYW5jaG9yLWRvd25sb2FkLW5vLXZhbHVlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb3dubG9hZC9hbmNob3ItZG93bmxvYWQtbm8tdmFs
dWUuaHRtbApAQCAtMSwxMCArMSwxMSBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgotPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPgorPHNjcmlwdD4KIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewogICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgIHRlc3RSdW5uZXIuc2V0U2hvdWxkTG9nRG93bmxvYWRDYWxsYmFj
a3ModHJ1ZSk7CisgIHRlc3RSdW5uZXIud2FpdFVudGlsRG93bmxvYWRGaW5pc2hlZCgpOwogfQog
PC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rv
d25sb2FkL2FyZWEtZG93bmxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9kb3dubG9hZC9hcmVhLWRvd25sb2FkLWV4cGVjdGVkLnR4dAppbmRleCA4NjkxY2ZhYzVmZjJi
ZTM4N2NmMjg3ZDU3ZWE3OTc5MzE2ZmUyMTlmLi5mMDlkOGE4MGRlMThjZmI2MDYyYTc2ZDc5MjQ4
NWM1MjFiNmU3NWQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rvd25sb2Fk
L2FyZWEtZG93bmxvYWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZG93bmxvYWQvYXJlYS1kb3dubG9hZC1leHBlY3RlZC50eHQKQEAgLTUsOCArNSwzIEBAIERvd25s
b2FkIGNvbXBsZXRlZC4KIFRlc3RzIHRoYXQgdGhlIGRvd25sb2FkIGF0dHJpYnV0ZSBvbiBhcmVh
IGVsZW1lbnRzIGlzIHdvcmtpbmcuCiAKIFRoZSBzdWdnZXN0ZWQgZmlsZW5hbWUgYXQgdGhlIHRv
cCBzaG91bGQgYmUgZm9vLnBkZi4KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG93
bmxvYWQvYXJlYS1kb3dubG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb3dubG9h
ZC9hcmVhLWRvd25sb2FkLmh0bWwKaW5kZXggZGQxNTA2Yzk2YTUzNzZmY2NjMzVhNjdiZTJkYjFi
ZjBkZTM5NTRmZS4uNTU4ODIwNDI2ZjE4NWUwZjQwNmY1Mjc4ODQyZWNkZDA3OTE5ODAxYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb3dubG9hZC9hcmVhLWRvd25sb2FkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb3dubG9hZC9hcmVhLWRvd25sb2FkLmh0
bWwKQEAgLTEsMTAgKzEsMTIgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB0ZXN0
UnVubmVyLnNldFNob3VsZExvZ0Rvd25sb2FkQ2FsbGJhY2tzKHRydWUpOwogICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvd25sb2FkRmluaXNoZWQoKTsKKyAgICB9CiA8L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgpAQCAtMTQsNyArMTYsNiBAQAogPC9tYXA+CiA8cD5UZXN0cyB0aGF0IHRo
ZSBkb3dubG9hZCBhdHRyaWJ1dGUgb24gYXJlYSBlbGVtZW50cyBpcyB3b3JraW5nLjwvcD4KIDxw
PlRoZSBzdWdnZXN0ZWQgZmlsZW5hbWUgYXQgdGhlIHRvcCBzaG91bGQgYmUgZm9vLnBkZi48L3A+
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gY2xpY2so
ZWxtdCkKICAgICB7CkBAIC0zNSw2ICszNiw1IEBACiAgICAgICAgIHJ1blRlc3QoKTsKICAgICB9
CiA8L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvYW5jaG9yLWRvd25sb2FkLWFsbG93LWJsb2ItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93bmxvYWQtYWxs
b3ctYmxvYi1leHBlY3RlZC50eHQKaW5kZXggMGQ3NGNjMmMxZTIzMzAwMThiMjQ0MDI3NTZhMzhj
NzU2MmJiNjc0Ny4uMGIyOTkwZDUxNGVlMzVkOWEzMDdjODJlYWFkNDRiOWQ5NjE1Yzg0MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93bmxvYWQt
YWxsb3ctYmxvYi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9hbmNob3ItZG93bmxvYWQtYWxsb3ctYmxvYi1leHBlY3RlZC50eHQKQEAgLTQsOCArNCwz
IEBAIERvd25sb2FkIGNvbXBsZXRlZC4KIFRlc3RzIHRoYXQgYSBzdWdnZXN0ZWQgZmlsZW5hbWUg
b24gYSBkb3dubG9hZCBhdHRyaWJ1dGUgaXMgYWxsb3dlZCBpZiB0aGUgbGluayBpcyBhIGJsb2Ig
VVJMLgogCiBUaGUgc3VnZ2VzdGVkIGZpbGVuYW1lIGF0IHRoZSB0b3Agc2hvdWxkIGJlIGZvby5w
ZGYuCi0KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2FuY2hvci1kb3du
bG9hZC1hbGxvdy1ibG9iLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Fu
Y2hvci1kb3dubG9hZC1hbGxvdy1ibG9iLmh0bWwKaW5kZXggYzE0N2NlOWVhZTQxM2UwMWMxMjBj
ZDY1Yjg0OTg4Njc1MmM4MjFjNC4uZWU0MmFhOTBiZGRjNmFjODYyYzViMDA4MjZjNjlmMzdlODRj
MDAwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3It
ZG93bmxvYWQtYWxsb3ctYmxvYi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvYW5jaG9yLWRvd25sb2FkLWFsbG93LWJsb2IuaHRtbApAQCAtMSwxMCArMSwxMiBAQAog
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U2hvdWxkTG9nRG93
bmxvYWRDYWxsYmFja3ModHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG93bmxv
YWRGaW5pc2hlZCgpOworICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CkBAIC0xMiw3
ICsxNCw2IEBACiBUZXN0cyB0aGF0IGEgc3VnZ2VzdGVkIGZpbGVuYW1lIG9uIGEgZG93bmxvYWQg
YXR0cmlidXRlIGlzIGFsbG93ZWQgaWYKIDxhIGlkPSJkbCIgZG93bmxvYWQ9ImZvby5wZGYiPnRo
ZSBsaW5rPC9hPiBpcyBhIGJsb2IgVVJMLgogPHA+VGhlIHN1Z2dlc3RlZCBmaWxlbmFtZSBhdCB0
aGUgdG9wIHNob3VsZCBiZSBmb28ucGRmLjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PiAg
ICAKIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gY2xpY2soZWxtdCkKICAgICB7CkBAIC0zMyw2ICsz
NCw1IEBAIFRlc3RzIHRoYXQgYSBzdWdnZXN0ZWQgZmlsZW5hbWUgb24gYSBkb3dubG9hZCBhdHRy
aWJ1dGUgaXMgYWxsb3dlZCBpZgogICAgIH0KICAgICBydW5UZXN0KCk7CiA8L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
IDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvYW5jaG9yLWRvd25sb2FkLWFsbG93LWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93bmxvYWQtYWxsb3ctZGF0YS1leHBlY3Rl
ZC50eHQKaW5kZXggOTU1YTdmN2VkNGUxNTNlNzUyN2Y2Njg3YWMzNTdjZTI5NjNjOTUxMS4uNGQ2
ZjRlOTQ0ZjEzMTA4OTRiZGIxZmIyYmVhODE1MzJkYWI0MGI5NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93bmxvYWQtYWxsb3ctZGF0YS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93
bmxvYWQtYWxsb3ctZGF0YS1leHBlY3RlZC50eHQKQEAgLTEsOSArMSw2IEBACiBEb3dubG9hZCBz
dGFydGVkLgogRG93bmxvYWRpbmcgVVJMIHdpdGggc3VnZ2VzdGVkIGZpbGVuYW1lICJmb28ucGRm
IgogRG93bmxvYWQgY29tcGxldGVkLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQot
Ci1URVNUIENPTVBMRVRFCiBUZXN0cyB0aGF0IGEgc3VnZ2VzdGVkIGZpbGVuYW1lIG9uIGEgZG93
bmxvYWQgYXR0cmlidXRlIGlzIGFsbG93ZWQgaWYgdGhlIGxpbmsgaXMgYSBkYXRhIFVSTC4KIAog
VGhlIHN1Z2dlc3RlZCBmaWxlbmFtZSBhdCB0aGUgdG9wIHNob3VsZCBiZSBmb28ucGRmLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93bmxvYWQt
YWxsb3ctZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3It
ZG93bmxvYWQtYWxsb3ctZGF0YS5odG1sCmluZGV4IDBkMjQzNWZjZGIyZjMxZDYzMDkwMWNjNWNi
MGJkMWRiZWNiODk0NzUuLmNhY2ZjZWYwNjE0NmMxZGRkMWEyZjc1MGVhNmVmMjlkZWVkOWZhMTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvYW5jaG9yLWRvd25s
b2FkLWFsbG93LWRhdGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2FuY2hvci1kb3dubG9hZC1hbGxvdy1kYXRhLmh0bWwKQEAgLTEsMTAgKzEsMTIgQEAKIDwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB0ZXN0UnVubmVyLnNldFNob3VsZExvZ0Rvd25sb2Fk
Q2FsbGJhY2tzKHRydWUpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvd25sb2FkRmlu
aXNoZWQoKTsKKyAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMzAsNiArMzIs
NSBAQCBUZXN0cyB0aGF0IGEgc3VnZ2VzdGVkIGZpbGVuYW1lIG9uIGEgZG93bmxvYWQgYXR0cmli
dXRlIGlzIGFsbG93ZWQgaWYKICAgICB9CiAgICAgcnVuVGVzdCgpOwogPC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8
L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2FuY2hvci1kb3dubG9hZC1hbGxvdy1zYW1lb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2FuY2hvci1kb3dubG9hZC1hbGxvdy1zYW1lb3JpZ2luLmh0bWwK
aW5kZXggOTc1MmNmMzE1YmRkNGNiODNmNjMwN2MxNzMwOTM4NWRiY2MwZmFmZS4uNTMxMDg3OWQx
YTMwMWM3NzhjMjMwN2EyZjcxMmFiNGU0MDZjYTgwMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9hbmNob3ItZG93bmxvYWQtYWxsb3ctc2FtZW9yaWdpbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvYW5jaG9yLWRvd25sb2FkLWFs
bG93LXNhbWVvcmlnaW4uaHRtbApAQCAtMSwxMCArMSwxMiBAQAogPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgICAgIHRlc3RSdW5uZXIuc2V0U2hvdWxkTG9nRG93bmxvYWRDYWxsYmFja3ModHJ1
ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG93bmxvYWRGaW5pc2hlZCgpOworICAg
IH0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvdGhlLWFyZWEtZWxlbWVudC9hcmVhLWRvd25sb2FkLWNsaWNrLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC90aGUtYXJlYS1lbGVtZW50L2FyZWEtZG93bmxvYWQtY2xpY2st
ZXhwZWN0ZWQudHh0CmluZGV4IDViNTU1MTdjZWU0M2RlNWU0MDE1ZTZmY2QzNzA1ZmY0NWIyZWQ4
NzMuLmJkMWRjOTdlODFkOGEzNmM0ODU0MTI0NmRkNmU2NjFiOGYzMzY1MTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC90aGUtYXJlYS1lbGVtZW50L2FyZWEtZG93bmxvYWQtY2xpY2st
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtYXJlYS1lbGVtZW50L2Fy
ZWEtZG93bmxvYWQtY2xpY2stZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotRG93bmxvYWQg
c3RhcnRlZC4KLURvd25sb2FkaW5nIFVSTCB3aXRoIHN1Z2dlc3RlZCBmaWxlbmFtZSAiZm9vLmh0
bWwiCi1Eb3dubG9hZCBjb21wbGV0ZWQuCisKKworUEFTUyBDbGlja2luZyBvbiBhbiA8YXJlYT4g
ZWxlbWVudCB3aXRoIGEgZG93bmxvYWQgYXR0cmlidXRlIG11c3Qgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy90ZXh0LWxldmVsLXNlbWFudGljcy90aGUtYS1lbGVtZW50
L2EtZG93bmxvYWQtY2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy90ZXh0LWxldmVsLXNlbWFudGljcy90
aGUtYS1lbGVtZW50L2EtZG93bmxvYWQtY2xpY2stZXhwZWN0ZWQudHh0CmluZGV4IDE3NTU4ZTAy
MTNkYmJmOWUwZmJjYmY3ZjA4OTI0MzM5MDFkODc1M2UuLjQzNmQzYTkyZGE2OTg0NWZjOTk3MmQz
NjkyZGM4YzY3MzNkN2MwYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvdGV4dC1sZXZlbC1zZW1hbnRpY3MvdGhl
LWEtZWxlbWVudC9hLWRvd25sb2FkLWNsaWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL3RleHQtbGV2
ZWwtc2VtYW50aWNzL3RoZS1hLWVsZW1lbnQvYS1kb3dubG9hZC1jbGljay1leHBlY3RlZC50eHQK
QEAgLTEsNiArMSwzIEBACi1Eb3dubG9hZCBzdGFydGVkLgotRG93bmxvYWRpbmcgVVJMIHdpdGgg
c3VnZ2VzdGVkIGZpbGVuYW1lICJmb28uaHRtbCIKLURvd25sb2FkIGNvbXBsZXRlZC4KIENsaWNr
IG1lCiAKIFBBU1MgQ2xpY2tpbmcgb24gYW4gPGE+IGVsZW1lbnQgd2l0aCBhIGRvd25sb2FkIGF0
dHJpYnV0ZSBtdXN0IG5vdCB0aHJvdyBhbiBleGNlcHRpb24gCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>