<?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>197285</bug_id>
          
          <creation_ts>2019-04-25 09:43:28 -0700</creation_ts>
          <short_desc>REGRESSION (~244100) [Mac WK2 Debug] Layout Test http/tests/resourceLoadStatistics/prune-statistics.html is a flaky failure</short_desc>
          <delta_ts>2019-10-15 19:08:40 -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>Tools / Tests</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="Shawn Roberts">sroberts</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jlewis3</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>lforschler</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1530397</commentid>
    <comment_count>0</comment_count>
    <who name="Shawn Roberts">sroberts</who>
    <bug_when>2019-04-25 09:43:28 -0700</bug_when>
    <thetext>The following layout test is flaky on Mac WK2 Debug

http/tests/resourceLoadStatistics/prune-statistics.html

Probable cause:

Unable to reproduce it locally running with 1 child process or even in full parallel. Test had similar flaky behavior before and was fixed in https://trac.webkit.org/changeset/233888/webkit

Around r244100 it started to fail flakily.

Flakiness Dashboard:

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=http%2Ftests%2FresourceLoadStatistics%2Fprune-statistics.html

Diff:

--- /Volumes/Data/slave/mojave-debug-tests-wk2/build/layout-test-results/http/tests/resourceLoadStatistics/prune-statistics-expected.txt
+++ /Volumes/Data/slave/mojave-debug-tests-wk2/build/layout-test-results/http/tests/resourceLoadStatistics/prune-statistics-actual.txt
@@ -1,3 +1,7 @@
+FAIL: Tried to install a second TestRunner callback for the same event (id 11)
+
+FAIL: Tried to install a second TestRunner callback for the same event (id 19)
+
 Tests that statistics are pruned in the right order.
 
 On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
@@ -5,13 +9,13 @@
 
 PASS Test iteration 1 passed.
 PASS Test iteration 2 passed.
+FAIL checkIfPrevalent: Test iteration 3 failed. http://127.0.0.3:8000/temp was prevalent
+FAIL checkIfPrevalentAccordingToInitialExpectation: Test iteration 3 failed. http://127.0.0.4:8000/temp wasn&apos;t prevalent
+FAIL checkIfPrevalentAccordingToInitialExpectation: Test iteration 3 failed. http://127.0.0.7:8000/temp wasn&apos;t prevalent
+FAIL checkIfPrevalentAccordingToInitialExpectation: Test iteration 3 failed. http://127.0.0.8:8000/temp wasn&apos;t prevalent
 PASS Test iteration 3 passed.
-PASS Test iteration 4 passed.
-PASS Test iteration 5 passed.
-PASS Test iteration 6 passed.
-PASS Test iteration 7 passed.
-PASS Test iteration 8 passed.
 PASS successfullyParsed is true
+Some tests failed.
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530398</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-25 09:44:08 -0700</bug_when>
    <thetext>&lt;rdar://problem/50208370&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530400</commentid>
    <comment_count>2</comment_count>
    <who name="Shawn Roberts">sroberts</who>
    <bug_when>2019-04-25 09:49:01 -0700</bug_when>
    <thetext>Marked flaky in https://trac.webkit.org/changeset/244647/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538796</commentid>
    <comment_count>3</comment_count>
    <who name="Shawn Roberts">sroberts</who>
    <bug_when>2019-05-23 15:02:35 -0700</bug_when>
    <thetext>Issue is occurring on Mojave Release now.

Still cannot reproduce locally. Even tried with test lists from the worker on the runs and cannot reproduce it locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538799</commentid>
    <comment_count>4</comment_count>
    <who name="Shawn Roberts">sroberts</who>
    <bug_when>2019-05-23 15:08:44 -0700</bug_when>
    <thetext>Updated expectations for Release builds as well.

https://trac.webkit.org/changeset/245720/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580134</commentid>
    <comment_count>5</comment_count>
      <attachid>380995</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-10-15 09:43:34 -0700</bug_when>
    <thetext>Created attachment 380995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580136</commentid>
    <comment_count>6</comment_count>
      <attachid>380995</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 09:46:55 -0700</bug_when>
    <thetext>Comment on attachment 380995
Patch

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

&gt; Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:1323
&gt; +        if (!(parameters().isRunningTest) || testingShouldScheduleStatistics())

It is not good practice to check in code if we are running tests. We used to do this and stopped years ago.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580137</commentid>
    <comment_count>7</comment_count>
      <attachid>380995</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 09:49:22 -0700</bug_when>
    <thetext>Comment on attachment 380995
Patch

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

&gt; Source/WebKit/ChangeLog:11
&gt; +        were called during execution of prune-statistics.html. 

Note that we&apos;re supposed to be clearing state between tests to avoid flakiness. Based on your change log, it looks to me that WKTR is not properly clearing ITP state between tests (It leaves scheduled processing checks around). Maybe the fix should be to avoid clear those between tests, with the rest of the ITP data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580138</commentid>
    <comment_count>8</comment_count>
      <attachid>380995</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 09:50:51 -0700</bug_when>
    <thetext>Comment on attachment 380995
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:11
&gt;&gt; +        were called during execution of prune-statistics.html. 
&gt; 
&gt; Note that we&apos;re supposed to be clearing state between tests to avoid flakiness. Based on your change log, it looks to me that WKTR is not properly clearing ITP state between tests (It leaves scheduled processing checks around). Maybe the fix should be to avoid clear those between tests, with the rest of the ITP data.

WKWebsiteDataStoreStatisticsResetToConsistentState() is supposed to be what prevents ITP state to stay around from one test to another. It is getting called by WKTR between each test already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580200</commentid>
    <comment_count>9</comment_count>
      <attachid>381008</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-10-15 11:55:29 -0700</bug_when>
    <thetext>Created attachment 381008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580382</commentid>
    <comment_count>10</comment_count>
      <attachid>381008</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 16:58:24 -0700</bug_when>
    <thetext>Comment on attachment 381008
Patch

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

&gt; Source/WebKit/NetworkProcess/NetworkProcess.cpp:775
&gt; +void NetworkProcess::cancelPendingRequests(PAL::SessionID sessionID, CompletionHandler&lt;void()&gt;&amp;&amp; completionHandler)

Having a name as generic as &quot;cancelPendingRequests&quot; on the NetworkProcess, and yet be so specific to ITP is wrong.

Same comment applies to resetParametersToDefaultValues() below.

&gt; Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:551
&gt; +    store.cancelPendingRequests([callbackAggregator = callbackAggregator.copyRef()] { });

Could scheduleClearInMemoryAndPersistent() take care of this? Aren&apos;t pending requests &quot;in memory data&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580396</commentid>
    <comment_count>11</comment_count>
      <attachid>381041</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-10-15 17:31:21 -0700</bug_when>
    <thetext>Created attachment 381041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580398</commentid>
    <comment_count>12</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-10-15 17:32:10 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #10)
&gt; Comment on attachment 381008 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381008&amp;action=review

&gt; &gt; Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:551
&gt; &gt; +    store.cancelPendingRequests([callbackAggregator = callbackAggregator.copyRef()] { });
&gt; 
&gt; Could scheduleClearInMemoryAndPersistent() take care of this? Aren&apos;t pending
&gt; requests &quot;in memory data&quot;?

Yes, good idea. This makes it a much smaller patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580429</commentid>
    <comment_count>13</comment_count>
      <attachid>381041</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-15 19:08:39 -0700</bug_when>
    <thetext>Comment on attachment 381041
Patch

Clearing flags on attachment: 381041

Committed r251176: &lt;https://trac.webkit.org/changeset/251176&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580430</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-15 19:08:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380995</attachid>
            <date>2019-10-15 09:43:34 -0700</date>
            <delta_ts>2019-10-15 11:55:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197285-20191015094333.patch</filename>
            <type>text/plain</type>
            <size>70421</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkwZjZiMjRhZTdlYzNkZGYx
Nzk2ZmVlOGZkYjE1MTk0MWRhMWEzZmYuLjY2YjNiODZmNTZhYzIxOTZiZmMxNGE0NTVhMjI3YjY1
NTdkMzU1N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTktMTAtMTUgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAo
fjI0NDEwMCkgW01hYyBXSzIgRGVidWddIExheW91dCBUZXN0IGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlICgx
OTcyODUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTcyODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUwMjA4MzcwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgYSBmbGFr
eSBmYWlsdXJlIHdoaWNoIHdhcyBiZWluZyBjYXVzZWQgYnkgb3RoZXIKKyAgICAgICAgcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyB0ZXN0cyBzY2hlZHVsaW5nIHByb2Nlc3NpbmcgY2hlY2tzIHdoaWNo
CisgICAgICAgIHdlcmUgY2FsbGVkIGR1cmluZyBleGVjdXRpb24gb2YgcHJ1bmUtc3RhdGlzdGlj
cy5odG1sLiAKKyAgICAgICAgTm93LCBjaGVja3Mgd2lsbCBvbmx5IGJlIHNjaGVkdWxlZCBpbiBh
IHRlc3RpbmcgY29udGV4dCBpZiBhIHRlc3QKKyAgICAgICAgcmVsaWVzIG9uIGl0LgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZS5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OmxvZ0ZyYW1lTmF2aWdhdGlvbik6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuaDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRU
ZXN0aW5nU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKToKKyAgICAgICAgKFdlYktpdDo6UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjp0ZXN0aW5nU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZTo6c2V0U2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKToKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3M6OnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NTaG91bGRTY2hlZHVs
ZVN0YXRpc3RpY3MpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAg
ICAgIChXS1dlYnNpdGVEYXRhU3RvcmVTZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2hvdWxkU2No
ZWR1bGVTdGF0aXN0aWNzKToKKyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NS
ZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJz
aXRlRGF0YVN0b3JlUmVmLmg6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OnNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3MpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYnNpdGVEYXRhU3RvcmU6OnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NTaG91bGRTY2hl
ZHVsZVN0YXRpc3RpY3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmg6CisKIDIwMTktMTAtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBQYXNzIENPUlMtZW5hYmxlZCBzY2hlbWVzIHRocm91
Z2ggV2ViUHJvY2VzcyBpbnN0ZWFkIG9mIGhhdmluZyB0aGVtIE5ldHdvcmtQcm9jZXNzLWdsb2Jh
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9y
ZS5jcHAKaW5kZXggMWRiNTQxZTQ2YTg3YjJiM2Q0NWFjMzI3NTMxYzQyODlhZDIyNDZkYi4uZDM0
ZTU4MmVjMzY2ZmZlOTg4Nzk3MmY3Njk2NzU4NDc2YjkxODJiNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NE
YXRhYmFzZVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwCkBAIC0xMzE5LDgg
KzEzMTksMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6bG9n
RnJhbWVOYXZpZ2F0aW9uKGNvbnN0IFJlZ2lzdHJhYmxlRG8KICAgICAgICAgc3RhdGlzdGljc1dl
cmVVcGRhdGVkID0gdHJ1ZTsKICAgICB9CiAKLSAgICBpZiAoc3RhdGlzdGljc1dlcmVVcGRhdGVk
KQotICAgICAgICBzY2hlZHVsZVN0YXRpc3RpY3NQcm9jZXNzaW5nUmVxdWVzdElmTmVjZXNzYXJ5
KCk7CisgICAgaWYgKHN0YXRpc3RpY3NXZXJlVXBkYXRlZCkgeworICAgICAgICBpZiAoIShwYXJh
bWV0ZXJzKCkuaXNSdW5uaW5nVGVzdCkgfHwgdGVzdGluZ1Nob3VsZFNjaGVkdWxlU3RhdGlzdGlj
cygpKQorICAgICAgICAgICAgc2NoZWR1bGVTdGF0aXN0aWNzUHJvY2Vzc2luZ1JlcXVlc3RJZk5l
Y2Vzc2FyeSgpOworICAgIH0KIH0KIAogdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJh
c2VTdG9yZTo6bG9nQ3Jvc3NTaXRlTG9hZFdpdGhMaW5rRGVjb3JhdGlvbihjb25zdCBOYXZpZ2F0
ZWRGcm9tRG9tYWluJiBmcm9tRG9tYWluLCBjb25zdCBOYXZpZ2F0ZWRUb0RvbWFpbiYgdG9Eb21h
aW4pCkBAIC0xMzMwLDcgKzEzMzIsOCBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRh
YmFzZVN0b3JlOjpsb2dDcm9zc1NpdGVMb2FkV2l0aExpbmtEZWNvcmF0aW9uKGNvbgogCiAgICAg
YXV0byBmcm9tRG9tYWluUmVzdWx0ID0gZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUmVnaXN0
cmFibGVEb21haW4oZnJvbURvbWFpbik7CiAgICAgaW5zZXJ0RG9tYWluUmVsYXRpb25zaGlwTGlz
dCh0b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb21RdWVyeSwgSGFzaFNldDxSZWdpc3RyYWJsZURv
bWFpbj4oeyB0b0RvbWFpbiB9KSwgZnJvbURvbWFpblJlc3VsdC5zZWNvbmQpOwotICAgIHNjaGVk
dWxlU3RhdGlzdGljc1Byb2Nlc3NpbmdSZXF1ZXN0SWZOZWNlc3NhcnkoKTsKKyAgICBpZiAoIShw
YXJhbWV0ZXJzKCkuaXNSdW5uaW5nVGVzdCkgfHwgdGVzdGluZ1Nob3VsZFNjaGVkdWxlU3RhdGlz
dGljcygpKQorICAgICAgICBzY2hlZHVsZVN0YXRpc3RpY3NQcm9jZXNzaW5nUmVxdWVzdElmTmVj
ZXNzYXJ5KCk7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6
OnNldFVzZXJJbnRlcmFjdGlvbihjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYgZG9tYWluLCBib29s
IGhhZFVzZXJJbnRlcmFjdGlvbiwgV2FsbFRpbWUgbW9zdFJlY2VudEludGVyYWN0aW9uKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcAppbmRl
eCA2NTg5ZjZiMWRlMmJkODU3MjFjNjMwNzIxZDNjMzZmOTU0MWIxYzVjLi41NjdjYThhNGIwZmUx
YWNjMDIxOWZiNzdjZGU5MTA0ZTA5OTNlOTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3Jl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcApAQCAtMzk5LDggKzM5OSwxMCBAQCB2b2lk
IFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6bG9nRnJhbWVOYXZpZ2F0aW9uKGNv
bnN0IFJlZ2lzdHJhYmxlRG9tYQogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHN0YXRpc3Rp
Y3NXZXJlVXBkYXRlZCkKLSAgICAgICAgc2NoZWR1bGVTdGF0aXN0aWNzUHJvY2Vzc2luZ1JlcXVl
c3RJZk5lY2Vzc2FyeSgpOworICAgIGlmIChzdGF0aXN0aWNzV2VyZVVwZGF0ZWQpIHsKKyAgICAg
ICAgaWYgKCEocGFyYW1ldGVycygpLmlzUnVubmluZ1Rlc3QpIHx8IHRlc3RpbmdTaG91bGRTY2hl
ZHVsZVN0YXRpc3RpY3MoKSkKKyAgICAgICAgICAgIHNjaGVkdWxlU3RhdGlzdGljc1Byb2Nlc3Np
bmdSZXF1ZXN0SWZOZWNlc3NhcnkoKTsKKyAgICB9CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlOjpsb2dVc2VySW50ZXJhY3Rpb24oY29uc3QgVG9wRnJhbWVEb21h
aW4mIGRvbWFpbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAppbmRl
eCA5OWE2NzEwNjY2OTZmNGZkMjg2ZmNkN2QyMDc1YjRlNzY1OTUzZmY0Li40ZWQyZWY0OWQ1YzBk
MmI3MDhkNmQ4MWIyODNjZjgzZDEwNGFkODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZS5oCkBAIC0xNzMsNiArMTczLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBoYXNIYWRVc2VySW50ZXJhY3Rpb24oY29uc3QgUmVnaXN0cmFibGVEb21haW4mLCBPcGVy
YXRpbmdEYXRlc1dpbmRvdykgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIHNldExhc3RTZWVuKGNv
bnN0IFJlZ2lzdHJhYmxlRG9tYWluJiBwcmltYXJ5RG9tYWluLCBTZWNvbmRzKSA9IDA7CisgICAg
dm9pZCBzZXRUZXN0aW5nU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKGJvb2wgZW5hYmxlZCkgeyBt
X3Rlc3RpbmdTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3MgPSBlbmFibGVkOyB9CiAKICAgICB2b2lk
IGRpZENyZWF0ZU5ldHdvcmtQcm9jZXNzKCk7CiAKQEAgLTIyMiw2ICsyMjMsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgIGJvb2wgaXNSdW5uaW5nVGVzdCB7IGZhbHNlIH07CiAgICAgfTsKICAgICBj
b25zdCBQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9wYXJhbWV0ZXJz
OyB9CisgICAgYm9vbCB0ZXN0aW5nU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKCkgeyByZXR1cm4g
bV90ZXN0aW5nU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzOyB9CiAgICAgY29uc3QgVmVjdG9yPE9w
ZXJhdGluZ0RhdGU+JiBvcGVyYXRpbmdEYXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3BlcmF0aW5n
RGF0ZXM7IH0KICAgICB2b2lkIGNsZWFyT3BlcmF0aW5nRGF0ZXMoKSB7IG1fb3BlcmF0aW5nRGF0
ZXMuY2xlYXIoKTsgfQogICAgIFdhbGxUaW1lJiBlbmRPZkdyYW5kZmF0aGVyaW5nVGltZXN0YW1w
KCkgeyByZXR1cm4gbV9lbmRPZkdyYW5kZmF0aGVyaW5nVGltZXN0YW1wOyB9CkBAIC0yNTgsNiAr
MjYwLDcgQEAgcHJpdmF0ZToKICAgICBIYXNoU2V0PHVpbnQ2NF90PiBtX2FjdGl2ZVBsdWdpblRv
a2VuczsKICNlbmRpZgogICAgIFBhcmFtZXRlcnMgbV9wYXJhbWV0ZXJzOworICAgIGJvb2wgbV90
ZXN0aW5nU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8T3Bl
cmF0aW5nRGF0ZT4gbV9vcGVyYXRpbmdEYXRlczsKICAgICBXYWxsVGltZSBtX2VuZE9mR3JhbmRm
YXRoZXJpbmdUaW1lc3RhbXA7CiAgICAgUmVnaXN0cmFibGVEb21haW4gbV9kZWJ1Z01hbnVhbFBy
ZXZhbGVudFJlc291cmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1N0b3JlLmNwcAppbmRleCBjYjdlODU5NzJkOGMyZWJhZjlkMmU4ZWRmOTQ1NWIwMjE2ZGY1N2Fk
Li5lMDgxYWZkM2ZhMGE1ZTQ0MWU4MGJiODQ4MTMwNWY4ZjUzODY4YTdkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcApAQCAtMjMzLDYgKzIzMywx
NyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RlYnVnTW9kZShib29sIHZhbAogICAgIH0pOwogfQogCit2b2lkIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0U2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKGJvb2wg
dmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sK
KyAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOworCisgICAgcG9zdFRhc2soW3RoaXMsIHZh
bHVlLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11
dGFibGUgeworICAgICAgICBpZiAobV9zdGF0aXN0aWNzU3RvcmUpCisgICAgICAgICAgICBtX3N0
YXRpc3RpY3NTdG9yZS0+c2V0VGVzdGluZ1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyh2YWx1ZSk7
CisgICAgICAgIHBvc3RUYXNrUmVwbHkoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAg
IH0pOworfQorCiB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0UHJldmFs
ZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGRvbWFpbiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFT
U0VSVChSdW5Mb29wOjppc01haW4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JlLmgKaW5kZXggNDE2NGFiNmFkOGNkZmUyMjc2MGE5NmVjZDlhOWNlMWUzMGI5
MDdjZS4uMTdmY2ExYmM4ZGY2NDU4ZDY3YmIwMjk2NjIzYmFmOGI0NzkzNmQ1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaApAQCAtMTY5LDYgKzE2OSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2V0UGFyYW1ldGVyc1RvRGVmYXVsdFZhbHVlcyhDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGVidWdNb2RlKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CisgICAg
dm9pZCBzZXRTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3MoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFByZXZhbGVudFJlc291cmNlRm9yRGVidWdNb2RlKGNv
bnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKIAog
ICAgIHZvaWQgbG9nVGVzdGluZ0V2ZW50KGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCBmNmZmMjZhYTQwMjdl
NWNjNmQyZjA0MGFlYzgwNTRmYWMwMzViODg3Li5jMjUzOTM2YTM3NGYxMTIxZDY1NGU1MDMxZTg0
OGM3YWVjMzJjNjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcApAQCAtMTE4MSw2ICsxMTgxLDE5IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6
OnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUoUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bklECiAgICAgfQogfQogCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
Ym9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQoreworICAgIGlmIChhdXRvKiBuZXR3b3JrU2Vzc2lvbiA9IHRoaXMtPm5ldHdvcmtTZXNzaW9u
KHNlc3Npb25JRCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIHJlc291cmNlTG9hZFN0YXRpc3RpY3Mg
PSBuZXR3b3JrU2Vzc2lvbi0+cmVzb3VyY2VMb2FkU3RhdGlzdGljcygpKQorICAgICAgICAgICAg
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy0+c2V0U2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKHZhbHVl
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfQorfQorCiB2b2lk
IE5ldHdvcmtQcm9jZXNzOjpyZXNldENhY2hlTWF4QWdlQ2FwRm9yUHJldmFsZW50UmVzb3VyY2Vz
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChhdXRvKiBuZXR3b3JrU3RvcmFnZVNlc3Npb24g
PSBzdG9yYWdlU2Vzc2lvbihzZXNzaW9uSUQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGMxMzBjYWM2YWUyMjQwMWU4ZjE0N2EzZWQzMWQ3
MTE5YTAzYjM3NTIuLjM2YWY5ZTE3ZTVhOGFhZjhmZGM4ZjkwNzhmNjZkNGVjNWI5ZTg4ZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTI1
MSw2ICsyNTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RW5hYmxlZChQQUw6OlNlc3Npb25JRCwgYm9vbCk7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTG9nVGVzdGluZ0V2ZW50KGJvb2wpOwogICAgIHZvaWQgc2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RlYnVnTW9kZShQQUw6OlNlc3Npb25JRCwgYm9vbCBkZWJ1Z01vZGUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJmQpOworICAgIHZvaWQgc2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyhQQUw6OlNlc3Npb25JRCwgYm9vbCB2YWx1ZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFNob3VsZENsYXNzaWZ5
UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKFBBTDo6U2Vzc2lvbklELCBib29sIHZh
bHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0U3ViZnJhbWVV
bmRlclRvcEZyYW1lRG9tYWluKFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdWJGcmFtZURvbWFpbiYs
IGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAg
ICB2b2lkIHNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbihQQUw6OlNlc3Npb25JRCwg
Y29uc3QgU3ViUmVzb3VyY2VEb21haW4mLCBjb25zdCBUb3BGcmFtZURvbWFpbiYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBlYjNkM2Y5NjM3MjlkODFm
ZTQ4YmJhNDcyNjdmNGNiNjEwYzQ4MTgyLi5kMTE2N2MwYzNjMzNkYTFmZmU4ZjI3MWEyMDE4ZmFh
MmIyYzliZDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTEyMiw2ICsxMjIsNyBAQCBtZXNzYWdlcyAt
PiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0SXNSdW5uaW5nUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1Rlc3QoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVl
KSAtPiAoKSBBc3luYwogICAgIFNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVk
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkgQXN5bmMKICAgICBT
ZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgYm9vbCBkZWJ1Z01vZGUpIC0+ICgpIEFzeW5jCisgICAgU2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJv
b2wgdmFsdWUpIC0+ICgpIEFzeW5jCiAgICAgU2V0VmVyeVByZXZhbGVudFJlc291cmNlKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gcmVzb3VyY2VE
b21haW4pIC0+ICgpIEFzeW5jCiAgICAgU2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gc3ViRnJh
bWVEb21haW4sIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHRvcEZyYW1lRG9tYWluKSAtPiAo
KSBBc3luYwogICAgIFNldFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbihQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHN1YnJlc291cmNlRG9t
YWluLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiB0b3BGcmFtZURvbWFpbikgLT4gKCkgQXN5
bmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURh
dGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVE
YXRhU3RvcmVSZWYuY3BwCmluZGV4IDc0NGZjYmE5ZWUyYTE5NjE3NWExM2E1MTI3OTQ2ZGYxNDNl
MDRlNzcuLjExM2Q5ZTJkNTE4M2NkZGU2MjM4ZGExZDliYjVmYjNmMTZhM2U4NmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmNwcApAQCAtOTcsNiArOTcsMTcgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlV2l0aENvbXBsZXRpb25IYW5kbGVyKFcKICNlbmRp
ZgogfQogCit2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NT
aG91bGRTY2hlZHVsZVN0YXRpc3RpY3MoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
ZiwgYm9vbCBlbmFibGUsIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZVNob3VsZFNj
aGVkdWxlU3RhdGlzdGljc0Z1bmN0aW9uIGNvbXBsZXRpb25IYW5kbGVyKQoreworI2lmIEVOQUJM
RShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCisgICAgV2ViS2l0Ojp0b0ltcGwoZGF0YVN0b3Jl
UmVmKS0+c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyhl
bmFibGUsIFtjb250ZXh0LCBjb21wbGV0aW9uSGFuZGxlcl0geworICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcihjb250ZXh0KTsKKyAgICB9KTsKKyNlbHNlCisgICAgY29tcGxldGlvbkhhbmRsZXIo
Y29udGV4dCk7CisjZW5kaWYKK30KKwogdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzUHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoV0tXZWJzaXRlRGF0
YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTdHJpbmdSZWYgaG9zdCwgdm9pZCogY29udGV4dCwg
V0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc0RlYnVnTW9kZUZ1bmN0aW9uIGNvbXBsZXRpb25I
YW5kbGVyKQogewogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCkBAIC01NDgs
NiArNTU5LDcgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZShXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGEKICAgICBzdG9yZS5zZXRSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU2hvdWxkRG93bmdyYWRlUmVmZXJyZXJGb3JUZXN0aW5nKHRydWUsIFtj
YWxsYmFja0FnZ3JlZ2F0b3IgPSBjYWxsYmFja0FnZ3JlZ2F0b3IuY29weVJlZigpXSB7IH0pOwog
ICAgIHN0b3JlLnJlc2V0UGFyYW1ldGVyc1RvRGVmYXVsdFZhbHVlcyhbY2FsbGJhY2tBZ2dyZWdh
dG9yID0gY2FsbGJhY2tBZ2dyZWdhdG9yLmNvcHlSZWYoKV0geyB9KTsKICAgICBzdG9yZS5zY2hl
ZHVsZUNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50KFdlYktpdDo6U2hvdWxkR3JhbmRmYXRoZXJT
dGF0aXN0aWNzOjpObywgW2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNrQWdncmVnYXRvci5j
b3B5UmVmKCldIHsgfSk7CisgICAgc3RvcmUuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nob3Vs
ZFNjaGVkdWxlU3RhdGlzdGljcyhmYWxzZSwgW2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNr
QWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShkYXRh
U3RvcmVSZWYpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAppbmRl
eCBlZjQzMzk4NjA0NGFhMTE0NTE1N2Y5YzdiZGJmYWRiNGJkYWZkZjNmLi5mODFkZTkzZjI0OTM2
OTA1NzFjNTIyOGIzNTljNTM5MTBjYzQ3MGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaApAQCAtNDUsNiArNDUsOCBA
QCBXS19FWFBPUlQgYm9vbCBXS1dlYnNpdGVEYXRhU3RvcmVHZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChXS1dlYnNpdGVEYXRhUwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0
b3JlU2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVm
IGRhdGFTdG9yZVJlZiwgYm9vbCBlbmFibGUpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0
YVN0b3JlU2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZShXS1dlYnNpdGVEYXRhU3Rv
cmVSZWYgZGF0YVN0b3JlUmVmLCBib29sIGVuYWJsZSk7CiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNp
dGVEYXRhU3RvcmVTdGF0aXN0aWNzRGVidWdNb2RlRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9uQ29u
dGV4dCk7Cit0eXBlZGVmIHZvaWQgKCpXS1dlYnNpdGVEYXRhU3RvcmVTaG91bGRTY2hlZHVsZVN0
YXRpc3RpY3NGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsKK1dLX0VYUE9SVCB2b2lk
IFdLV2Vic2l0ZURhdGFTdG9yZVNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NTaG91bGRTY2hlZHVs
ZVN0YXRpc3RpY3MoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCBlbmFi
bGUsIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NEZWJ1Z01vZGVG
dW5jdGlvbiBjb21wbGV0aW9uSGFuZGxlcik7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRh
U3RvcmVTZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlV2l0aENvbXBsZXRpb25IYW5k
bGVyKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgZW5hYmxlLCB2b2lk
KiBjb250ZXh0LCBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzRGVidWdNb2RlRnVuY3Rpb24g
Y29tcGxldGlvbkhhbmRsZXIpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1ByZXZhbGVudFJlc291cmNlRm9yRGVidWdNb2RlKFdLV2Vi
c2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIFdLU3RyaW5nUmVmIGhvc3QsIHZvaWQqIGNv
bnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NEZWJ1Z01vZGVGdW5jdGlvbiBjb21w
bGV0aW9uSGFuZGxlcik7ICAgIAogdHlwZWRlZiB2b2lkICgqV0tXZWJzaXRlRGF0YVN0b3JlU3Rh
dGlzdGljc0xhc3RTZWVuRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmNwcAppbmRleCBjYTFmNWFiMjYxOGFkZDQ2MzU1MDQ0YWUwZmZmZmRiNmEzNzYzZTRkLi5lZGM3
MTE4NDM0MzFhYTIzZDYxNjgxZjEyMzQ3ZDYwMzgwNzUxZThlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAg
LTg5NSw2ICs4OTUsMTEgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGVidWdNb2RlKFBBTDo6U2Vzc2lvbklEIHNlc3MKICAgICBzZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGVidWdNb2RlKHNlc3Npb25JRCwgZGVidWdNb2RlKSwgV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpOwogfQogCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnNldFJlc291cmNlTG9hZFN0
YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3MoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCit7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6
U2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyhzZXNzaW9u
SUQsIHZhbHVlKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworfQorCiB2b2lkIE5ldHdv
cmtQcm9jZXNzUHJveHk6OnJlc2V0Q2FjaGVNYXhBZ2VDYXBGb3JQcmV2YWxlbnRSZXNvdXJjZXMo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFjYW5TZW5kTWVzc2FnZSgpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5o
CmluZGV4IGZiZjJjZTU5ZjhkMDVhZDdkYjg5OTNlMmZiY2QxNGI0NDRkNTE3MmIuLjc1MjJmZTE0
MTZjZjYzODM0YTM4Y2EwYzY0NGY1MTlkMDU1NTg5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC0xNDUsNiAr
MTQ1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29y
ZHNSZW1vdmFsKFBBTDo6U2Vzc2lvbklELCBTZWNvbmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogICAgIHZvaWQgc2V0UHJ1bmVFbnRyaWVzRG93blRvKFBBTDo6U2Vzc2lvbklELCBz
aXplX3QgcHJ1bmVUYXJnZXRDb3VudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAg
ICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUoUEFMOjpTZXNzaW9uSUQs
IGJvb2wgZGVidWdNb2RlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOworICAgIHZvaWQg
c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyhQQUw6OlNl
c3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2
b2lkIHNldFNob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKFBB
TDo6U2Vzc2lvbklELCBib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZv
aWQgcmVzZXRDYWNoZU1heEFnZUNhcEZvclByZXZhbGVudFJlc291cmNlcyhQQUw6OlNlc3Npb25J
RCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIGRpZENvbW1pdENyb3Nz
U2l0ZUxvYWRXaXRoRGF0YVRyYW5zZmVyKFBBTDo6U2Vzc2lvbklELCBjb25zdCBOYXZpZ2F0ZWRG
cm9tRG9tYWluJiwgY29uc3QgTmF2aWdhdGVkVG9Eb21haW4mLCBPcHRpb25TZXQ8V2ViQ29yZTo6
Q3Jvc3NTaXRlTmF2aWdhdGlvbkRhdGFUcmFuc2Zlcjo6RmxhZz4sIFdlYlBhZ2VQcm94eUlkZW50
aWZpZXIsIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggODM3
NTFlOTM0NWNmYTdiZmYzYTVhNzQ1ZWE4OGYyMDBmOWZiOTg3Ni4uNjg1ZjU1ZTk0YjU1NTdhYzA3
MjgxOGQ0ZmMwNzFjOTQwZmJiZWQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTE4MDcsNiArMTgw
NywyMCBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnJlc2V0Q2FjaGVNYXhBZ2VDYXBGb3JQcmV2
YWxlbnRSZXNvdXJjZXMoQ29tcGxldGlvbkhhbmRsZQogI2VuZGlmCiB9CiAKK3ZvaWQgV2Vic2l0
ZURhdGFTdG9yZTo6c2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3RhdGlz
dGljcyhib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCit7CisjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKKyAgICBhdXRv
IGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKKworICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9j
ZXNzUG9vbHMoKSkgeworICAgICAgICBpZiAoYXV0byogbmV0d29ya1Byb2Nlc3MgPSBwcm9jZXNz
UG9vbC0+bmV0d29ya1Byb2Nlc3MoKSkKKyAgICAgICAgICAgIG5ldHdvcmtQcm9jZXNzLT5zZXRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKG1fc2Vzc2lvbklE
LCB2YWx1ZSwgW2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNrQWdncmVnYXRvci5jb3B5UmVm
KCldIHsgfSk7CisgICAgfQorI2Vsc2UKKyAgICBjb21wbGV0aW9uSGFuZGxlcigpOworI2VuZGlm
Cit9CisKIGJvb2wgV2Vic2l0ZURhdGFTdG9yZTo6aXNBc3NvY2lhdGVkUHJvY2Vzc1Bvb2woV2Vi
UHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sKSBjb25zdAogewogICAgIGlmIChhdXRvKiBwcm9jZXNz
UG9vbERhdGFTdG9yZSA9IHByb2Nlc3NQb29sLndlYnNpdGVEYXRhU3RvcmUoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
aAppbmRleCA5NGRlOWVlY2YzYzU4OTNmOWZhOTJkMmNmYzUzMzE5MDM0ZjI3YmQwLi4yMmU4ZTkw
MTVlOTAyZGJkNWRlYjMyMWYxZGFlMzE3ZGNlYzUzZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0xNjMs
NiArMTYzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0R3JhbmRmYXRoZXJlZChjb25zdCBVUkwm
LCBib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgaXNHcmFuZGZh
dGhlcmVkKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAg
IHZvaWQgc2V0VXNlSVRQRGF0YWJhc2UoYm9vbCk7CisgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKGJvb2wgZW5hYmxlZCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldEdyYW5kZmF0aGVyaW5nVGltZShTZWNv
bmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0TGFzdFNlZW4o
Y29uc3QgVVJMJiwgU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2
b2lkIG1lcmdlU3RhdGlzdGljRm9yVGVzdGluZyhjb25zdCBVUkwmLCBjb25zdCBVUkwmIHRvcEZy
YW1lVXJsMSwgY29uc3QgVVJMJiB0b3BGcmFtZVVybDIsIFNlY29uZHMgbGFzdFNlZW4sIGJvb2wg
aGFkVXNlckludGVyYWN0aW9uLCBTZWNvbmRzIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb24sIGJv
b2wgaXNHcmFuZGZhdGhlcmVkLCBib29sIGlzUHJldmFsZW50LCBib29sIGlzVmVyeVByZXZhbGVu
dCwgdW5zaWduZWQgZGF0YVJlY29yZHNSZW1vdmVkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IDlkMzVkMDc3MGE0NmY0YTUwZjE3OTExYTEwZmE4YjJlNDg2NmU4ODguLmFkY2FmMjAzMjRiZTMy
YzU4MGYwZjdjOTVlYTg1YzI2OTg0NjMzODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxOS0xMC0xNSAgS2F0ZSBD
aGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9O
ICh+MjQ0MTAwKSBbTWFjIFdLMiBEZWJ1Z10gTGF5b3V0IFRlc3QgaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0YXRpc3RpY3MuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUg
KDE5NzI4NSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NzI4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTAyMDgzNzA+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgZmxh
ZyB0byBpbmRpY2F0ZSB3aGV0aGVyIElUUCBzaG91bGQgc2NoZWR1bGUKKyAgICAgICAgcHJvY2Vz
c2luZyBzdGF0aXN0aWNzLiBTb21lIHRlc3RzIHJlbHkgb24gaXQsIGJ1dCBpdCBjYXVzZXMKKyAg
ICAgICAgZmxha3kgZmFpbHVyZXMgYmVjYXVzZSBpdCBwcm9wYWdhdGVzIGJldHdlZW4gdGVzdHMu
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
c3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6ZGlkUmVj
ZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OndhaXRVbnRp
bERvbmUpOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzU2hvdWxkU2No
ZWR1bGVTdGF0aXN0aWNzKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c3RhdGlzdGljc1No
b3VsZFNjaGVkdWxlU3RhdGlzdGljc0NhbGxiYWNrKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNl
dFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3MpOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2Vp
dmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorICAgICAgICAoV1RSOjpU
ZXN0SW52b2NhdGlvbjo6ZGlkU2V0UHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUpOgorICAg
ICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlkU2V0U3RhdGlzdGljc1Nob3VsZFNjaGVkdWxl
U3RhdGlzdGljcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5o
OgorCiAyMDE5LTEwLTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUGFzcyBDT1JTLWVuYWJsZWQgc2NoZW1lcyB0aHJvdWdoIFdlYlByb2Nl
c3MgaW5zdGVhZCBvZiBoYXZpbmcgdGhlbSBOZXR3b3JrUHJvY2Vzcy1nbG9iYWwKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1
bm5lci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdz
L1Rlc3RSdW5uZXIuaWRsCmluZGV4IGUyNmI0ZmE4YWUyNGZlZWNmMmVjYzkxMTAwZWI5ZjE2YjE4
YTA0MTQuLjA4ZDdlMDQ1YWYxYWMxNGIzYWJjNjU4MGE0ZjJmNGM4NDkxNzg3NmEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1
bm5lci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9UZXN0UnVubmVyLmlkbApAQCAtMzQxLDYgKzM0MSw3IEBAIGludGVyZmFjZSBUZXN0UnVu
bmVyIHsKICAgICB2b2lkIHN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKG9iamVjdCBj
b21wbGV0aW9uSGFuZGxlcik7CiAgICAgYm9vbGVhbiBoYXNTdGF0aXN0aWNzSXNvbGF0ZWRTZXNz
aW9uKERPTVN0cmluZyBob3N0TmFtZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzU2hvdWxkRG93
bmdyYWRlUmVmZXJyZXIoYm9vbGVhbiB2YWx1ZSwgb2JqZWN0IGNhbGxiYWNrKTsKKyAgICB2b2lk
IHNldFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3MoYm9vbGVhbiB2YWx1ZSwgb2Jq
ZWN0IGNhbGxiYWNrKTsKIAogICAgIC8vIEluamVjdGVkIGJ1bmRsZSBmb3JtIGNsaWVudC4KICAg
ICB2b2lkIGluc3RhbGxUZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGRDYWxsYmFjayhvYmplY3QgY2Fs
bGJhY2spOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmNwcAppbmRleCBlYjg3MzVjOTRmMjIwNzVkMTk0MzMwMmJlZDA2
ZTM5OGUwMTFlNzA3Li4yZTJjODhhOTcxN2NmZjY5MDQ3Y2IzYzU2NGQwMmQxNmUxYTEwNDcyIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcApAQCAtMzUyLDYgKzM1MiwxMSBAQCB2b2lkIEluamVjdGVkQnVuZGxl
OjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdS
ZWYgbQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAorICAgIGlmIChXS1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiQ2FsbERpZFNldFN0YXRpc3RpY3NTaG91bGRT
Y2hlZHVsZVN0YXRpc3RpY3MiKSkgeworICAgICAgICBtX3Rlc3RSdW5uZXItPnN0YXRpc3RpY3NT
aG91bGRTY2hlZHVsZVN0YXRpc3RpY3NDYWxsYmFjaygpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIAogICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1l
LCAiQ2FsbERpZFNldExhc3RTZWVuIikpIHsKICAgICAgICAgbV90ZXN0UnVubmVyLT5zdGF0aXN0
aWNzQ2FsbERpZFNldExhc3RTZWVuQ2FsbGJhY2soKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAK
aW5kZXggOTE3ZGU0MWNmN2VjZjc1OTJhNDkzY2Y5ZTk4YzE0OTNjYjU0NGIxMC4uOTRlMjFmOTg5
YTVkZDk0NmI4OGQ0ZTc3NjI2ZTc0YTU4NWU0MjUzMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC03NDMsNiArNzQz
LDcgQEAgZW51bSB7CiAgICAgVGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nQ2FsbGJhY2tJRCwKICAg
ICBUZXh0RmllbGREaWRFbmRFZGl0aW5nQ2FsbGJhY2tJRCwKICAgICBDdXN0b21NZW51QWN0aW9u
Q2FsbGJhY2tJRCwKKyAgICBTZXRTdGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzQ2Fs
bGJhY2tJRCwKICAgICBGaXJzdFVJU2NyaXB0Q2FsbGJhY2tJRCA9IDEwMAogfTsKIApAQCAtMTQw
OCw2ICsxNDA5LDIwIEBAIHZvaWQgVGVzdFJ1bm5lcjo6c3RhdGlzdGljc0NhbGxEaWRTZXREZWJ1
Z01vZGVDYWxsYmFjaygpCiAgICAgY2FsbFRlc3RSdW5uZXJDYWxsYmFjayhTZXRTdGF0aXN0aWNz
RGVidWdNb2RlQ2FsbGJhY2tJRCk7CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGlj
c1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyhib29sIHZhbHVlLCBKU1ZhbHVlUmVmIGNvbXBsZXRp
b25IYW5kbGVyKQoreworICAgIGNhY2hlVGVzdFJ1bm5lckNhbGxiYWNrKFNldFN0YXRpc3RpY3NT
aG91bGRTY2hlZHVsZVN0YXRpc3RpY3NDYWxsYmFja0lELCBjb21wbGV0aW9uSGFuZGxlcik7CisK
KyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3MiKSk7
CisgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBtZXNzYWdlQm9keSA9IGFkb3B0V0soV0tC
b29sZWFuQ3JlYXRlKHZhbHVlKSk7CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdl
KEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCks
IG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKK30KKwordm9pZCBUZXN0UnVubmVyOjpzdGF0
aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzQ2FsbGJhY2soKQoreworICAgIGNhbGxUZXN0
UnVubmVyQ2FsbGJhY2soU2V0U3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljc0NhbGxi
YWNrSUQpOworfQorCiB2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNv
dXJjZUZvckRlYnVnTW9kZShKU1N0cmluZ1JlZiBob3N0TmFtZSwgSlNWYWx1ZVJlZiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKICAgICBjYWNoZVRlc3RSdW5uZXJDYWxsYmFjayhTZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGVDYWxsYmFja0lELCBjb21wbGV0aW9uSGFuZGxl
cik7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5oCmluZGV4IGQ5MWRiNzhkYzNlNGVlZTk4ODY4M2UxODgzOWE1MjBjZTg2MDNkOWQuLjJj
NjYxMjEyNjMxODkzM2Y2MjUxNDIzZmVlOGRjMmQ1NWNhM2U1NTQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0zOTEsNiAr
MzkxLDggQEAgcHVibGljOgogICAgIHZvaWQgc3RhdGlzdGljc1N1Ym1pdFRlbGVtZXRyeSgpOwog
ICAgIHZvaWQgc2V0U3RhdGlzdGljc0RlYnVnTW9kZShib29sIHZhbHVlLCBKU1ZhbHVlUmVmIGNv
bXBsZXRpb25IYW5kbGVyKTsKICAgICB2b2lkIHN0YXRpc3RpY3NDYWxsRGlkU2V0RGVidWdNb2Rl
Q2FsbGJhY2soKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3Rp
Y3MoYm9vbCB2YWx1ZSwgSlNWYWx1ZVJlZiBjb21wbGV0aW9uSGFuZGxlcik7CisgICAgdm9pZCBz
dGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzQ2FsbGJhY2soKTsKICAgICB2b2lkIHNl
dFN0YXRpc3RpY3NQcmV2YWxlbnRSZXNvdXJjZUZvckRlYnVnTW9kZShKU1N0cmluZ1JlZiBob3N0
TmFtZSwgSlNWYWx1ZVJlZiBjb21wbGV0aW9uSGFuZGxlcik7CiAgICAgdm9pZCBzdGF0aXN0aWNz
Q2FsbERpZFNldFByZXZhbGVudFJlc291cmNlRm9yRGVidWdNb2RlQ2FsbGJhY2soKTsKICAgICB2
b2lkIHNldFN0YXRpc3RpY3NMYXN0U2VlbihKU1N0cmluZ1JlZiBob3N0TmFtZSwgZG91YmxlIHNl
Y29uZHMsIEpTVmFsdWVSZWYgY29tcGxldGlvbkhhbmRsZXIpOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBlOWQ0MjhlODM0ZjZkY2NkZTk3M2UyZWVlOGI1
MjJmODkzNGZkMDYxLi43YTQ5ZDhlZGQ5NDFmZjg2ZDk4ZTQyNGEwNWZkMmFkMWY0NGUxMTI3IDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMzI1NSw2ICsz
MjU1LDE1IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NEZWJ1Z01vZGUoYm9v
bCB2YWx1ZSkKICAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5kaWRTZXRTdGF0aXN0aWNzRGVidWdN
b2RlKCk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NTaG91bGRTY2hl
ZHVsZVN0YXRpc3RpY3MoYm9vbCB2YWx1ZSkKK3sKKyAgICBSZXNvdXJjZVN0YXRpc3RpY3NDYWxs
YmFja0NvbnRleHQgY29udGV4dCgqdGhpcyk7CisgICAgV0tXZWJzaXRlRGF0YVN0b3JlU2V0UmVz
b3VyY2VMb2FkU3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyhUZXN0Q29udHJvbGxl
cjo6d2Vic2l0ZURhdGFTdG9yZSgpLCB2YWx1ZSwgJmNvbnRleHQsIHJlc291cmNlU3RhdGlzdGlj
c1ZvaWRSZXN1bHRDYWxsYmFjayk7CisgICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBub1RpbWVv
dXQpOworICAgIG1fY3VycmVudEludm9jYXRpb24tPmRpZFNldFN0YXRpc3RpY3NTaG91bGRTY2hl
ZHVsZVN0YXRpc3RpY3MoKTsKK30KKworCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0
aWNzUHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoV0tTdHJpbmdSZWYgaG9zdE5hbWUpCiB7
CiAgICAgUmVzb3VyY2VTdGF0aXN0aWNzQ2FsbGJhY2tDb250ZXh0IGNvbnRleHQoKnRoaXMpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IDRiZjkwMjNhYjcyMmEw
OTEwMWVkMjUwZmI4MjhjYjdmMmFiNWE0NmUuLjZhZjExNGMwYzgyYTEyMDk1Mjc1N2Q5Mzg4YmVl
MzE2ODIwZTgzZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAg
LTIwOCw2ICsyMDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTaG91bGRBbGxvd0RldmljZU9y
aWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKGJvb2wgdmFsdWUpIHsgbV9zaG91bGRBbGxvd0Rldmlj
ZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzID0gdmFsdWU7IH0KIAogICAgIHZvaWQgc2V0U3Rh
dGlzdGljc0RlYnVnTW9kZShib29sIHZhbHVlKTsKKyAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91
bGRTY2hlZHVsZVN0YXRpc3RpY3MoYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNz
UHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoV0tTdHJpbmdSZWYgaG9zdE5hbWUpOwogICAg
IHZvaWQgc2V0U3RhdGlzdGljc0xhc3RTZWVuKFdLU3RyaW5nUmVmIGhvc3ROYW1lLCBkb3VibGUg
c2Vjb25kcyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTWVyZ2VTdGF0aXN0aWMoV0tTdHJpbmdS
ZWYgaG9zdCwgV0tTdHJpbmdSZWYgdG9wRnJhbWVEb21haW4xLCBXS1N0cmluZ1JlZiB0b3BGcmFt
ZURvbWFpbjIsIGRvdWJsZSBsYXN0U2VlbiwgYm9vbCBoYWRVc2VySW50ZXJhY3Rpb24sIGRvdWJs
ZSBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uLCBib29sIGlzR3JhbmRmYXRoZXJlZCwgYm9vbCBp
c1ByZXZhbGVudCwgYm9vbCBpc1ZlcnlQcmV2YWxlbnQsIGludCBkYXRhUmVjb3Jkc1JlbW92ZWQp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCA4ZmU5Mjc5
Y2ZlZjEwYjQ5YTQ2M2VkMjYyMjJkNmM2MDAyNzQyNzNjLi41ZTgwYTk4MzUwMzZlZTIwMjVhOTc0
OWVlNDYwMTYzNDg4YjBhMjZjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcApAQCAtMTA3OCw2ICsxMDc4LDEzIEBAIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4gVGVz
dEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICAKKyAgICBpZiAoV0tTdHJpbmdJc0Vx
dWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldFNob3VsZFNjaGVkdWxlU3RhdGlzdGlj
cyIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tCb29s
ZWFuR2V0VHlwZUlEKCkpOworICAgICAgICBXS0Jvb2xlYW5SZWYgdmFsdWUgPSBzdGF0aWNfY2Fz
dDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VCb2R5KTsKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNp
bmdsZXRvbigpLnNldFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3MoV0tCb29sZWFu
R2V0VmFsdWUodmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorICAgIAog
ICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3Rh
dGlzdGljc1ByZXZhbGVudFJlc291cmNlRm9yRGVidWdNb2RlIikpIHsKICAgICAgICAgQVNTRVJU
KFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKICAgICAg
ICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4obWVzc2Fn
ZUJvZHkpOwpAQCAtMTg0OSw2ICsxODU2LDEyIEBAIHZvaWQgVGVzdEludm9jYXRpb246OmRpZFNl
dFByZXZhbGVudFJlc291cmNlRm9yRGVidWdNb2RlKCkKICAgICBXS1BhZ2VQb3N0TWVzc2FnZVRv
SW5qZWN0ZWRCdW5kbGUoVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCkt
PnBhZ2UoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIDApOwogfQogCit2b2lkIFRlc3RJbnZvY2F0aW9u
OjpkaWRTZXRTdGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKCkKK3sKKyAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJDYWxsRGlkU2V0U3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3RhdGlz
dGljcyIpKTsKKyAgICBXS1BhZ2VQb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5kbGUoVGVzdENvbnRy
b2xsZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBhZ2UoKSwgbWVzc2FnZU5hbWUuZ2V0
KCksIDApOworfQorCiB2b2lkIFRlc3RJbnZvY2F0aW9uOjpkaWRTZXRMYXN0U2VlbigpCiB7CiAg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lID0gYWRvcHRXSyhXS1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQ2FsbERpZFNldExhc3RTZWVuIikpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGEyNjVlYjliMjZlOTRkMWU0YThmZmRj
ZWY1ZGUyOTQzOTUxYmI0MDUuLmYyYTc5M2JkNWFmYmVjNGY1ZjgwNGUzOTc2ZWY4NDk0Y2RhODBl
NWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTgyLDYgKzgy
LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkTWVyZ2VTdGF0aXN0aWMoKTsKICAgICB2b2lkIGRp
ZFNldFByZXZhbGVudFJlc291cmNlKCk7CiAgICAgdm9pZCBkaWRTZXRWZXJ5UHJldmFsZW50UmVz
b3VyY2UoKTsKKyAgICB2b2lkIGRpZFNldFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3Rp
Y3MoKTsKICAgICB2b2lkIGRpZFNldEhhc0hhZFVzZXJJbnRlcmFjdGlvbigpOwogICAgIHZvaWQg
ZGlkUmVjZWl2ZUFsbFN0b3JhZ2VBY2Nlc3NFbnRyaWVzKFZlY3RvcjxTdHJpbmc+JiBkb21haW5z
KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDQwNzIxY2Y2YWYwNjllOWE4OWU1YTQ3MWM3ZjE2NDUwNDcwMzc5OGMuLjJl
MjI4M2Y2NGJkM2RhMGU3NGQyZTEzNWNlOWZiZWIzZGYwMWNkMTcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
MiBAQAorMjAxOS0xMC0xNSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OICh+MjQ0MTAwKSBbTWFjIFdLMiBEZWJ1Z10gTGF5b3V0
IFRlc3QgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0YXRpc3RpY3Mu
aHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUgKDE5NzI4NSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzI4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NTAyMDgzNzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgcHJ1bmUtc3RhdGlzdGljcy5odG1sIG5vIGxvbmdlciBuZWVkcyB0byBiZSBza2lwcGVkLgor
ICAgICAgICBUZXN0cyB3aGljaCByZWx5IG9uIGRhdGEgcmVjb3JkIHByb2Nlc3NpbmcgYmVpbmcg
c2NoZWR1bGVkIG11c3Qgbm93CisgICAgICAgIHVzZSB0aGUgZmxhZyB0byBpbmRpY2F0ZSBzby4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rpbmct
aWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0
LXRvLWlwLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlm
cmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10
by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5k
Ym94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hl
ZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9j
YWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94
ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rpbmct
aWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8t
bG9jYWxob3N0LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVj
dC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlm
cmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbDoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3Rpbmct
aWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0
LXRvLWlwLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZy
YW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRv
LWxvY2FsaG9zdC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1p
cC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24t
aW4tY3Jvc3Mtb3JpZ2luLXN1Yi1mcmFtZS1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOS0xMC0xNSAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ2xpcGJvYXJkIEFQSV0gSW1w
bGVtZW50IGdldFR5cGUoKSBmb3IgQ2xpcGJvYXJkSXRlbXMgY3JlYXRlZCBmcm9tIGJpbmRpbmdz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRh
dGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRh
dGFiYXNlLmh0bWwKaW5kZXggYjViZGE2ZjlmMWJjZWJmNDg5NDU1YmVjZTQ4NWY1Y2VjZDFmNjA5
Yy4uZmE1NjBmZjkzZGI2OTg4OTI4M2FjNDY1NzA3ZDhkMTE5NTljY2YwZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94
ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRt
bApAQCAtNDIsNyArNDIsOSBAQAogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewogICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMp
OworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZFNjaGVkdWxl
U3RhdGlzdGljcyh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3Rh
dHMpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAg
ICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAu
aHRtbAppbmRleCBhZWE3MjUxOGIxMTNjZTkzZGQyZWVmNjBjMzc5NmY3Y2UzMDNhNzU0Li5iYTI1
NzM2NjFjNTJjZWI2NmVhZWJkYTUxNTg5ZTk1ZmM0NjYyYzkyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJh
bWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCkBAIC0zOCwxMCArMzgsMTEgQEAKICAg
ICAgICAgICAgIGlmIChsYXN0UGFnZUluUmVkaXJlY3RDaGFpbkxvYWRlZCkKICAgICAgICAgICAg
ICAgICBmaW5pc2hUZXN0KCk7CiAgICAgICAgIH0KLQogICAgICAgICBpZiAodGVzdFJ1bm5lcikg
ewogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRz
Q2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNv
cmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAg
ICB9KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpAQCAtNTAsNCArNTEsNCBAQAogPGlmcmFt
ZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/cmVkaXJlY3RUbz1odHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9pZnJhbWUt
cmVwb3J0LWJhY2stbG9hZGVkLmh0bWwiPgogPC9pZnJhbWU+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0
bWwKaW5kZXggNGI1ZWU5OTM3MDQxMDUyZGMyNmU4ZjZhNTg2OWEyMjEzMjAwM2EzMy4uOTFkZjI0
MDRjZDM4NmEyMjc0MjI1ZTAzZjcwNmJmMjYzMDVjZDhlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRi
b3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFz
ZS5odG1sCkBAIC00Miw4ICs0MiwxMCBAQAogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAg
IHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5l
ZCh0cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlk
U2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKHRydWUsIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3Rp
ZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJh
Y2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAg
ICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2Nh
bGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKaW5kZXggOTFlYzU3NzJmMTkzOWE0ZDE0MzQ1
NWQzYTNjZWM2NzZjOTMxZjM0OS4uNDk0MDM1YjI2ZTIyZjdmOTY3YmUzMjlkN2NlZTRiMGJjNDcw
ZmEwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL25vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1s
b2NhbGhvc3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRv
LWxvY2FsaG9zdC5odG1sCkBAIC00MSw4ICs0MSwxMCBAQAogCiAgICAgICAgIGlmICh0ZXN0UnVu
bmVyKSB7CiAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRh
dGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5p
bnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwor
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3Rh
dGlzdGljcyh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVl
KTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNj
YW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgICAgIH0pOwog
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KQEAgLTUxLDQgKzUzLDQg
QEAKIDxpZnJhbWUgc3JjPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9yZWRpcmVjdC5waHAvP3JlZGly
ZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL2lmcmFtZS1yZXBvcnQtYmFjay1sb2FkZWQuaHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4K
LTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRi
b3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlw
LXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0
aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0
YWJhc2UuaHRtbAppbmRleCAyZDljYTU5MDFkYjgwZTBkZDAyYzIwNTIwMzNjMTU3ZGRkMzZlMzFk
Li40MDE1N2ZkYzU3ODE3MTc2MjE2ZWNmYzY0ODE1NmIzNTA0MGZhNDhhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hl
ZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRv
LWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRh
dGFiYXNlLmh0bWwKQEAgLTQyLDggKzQyLDEwIEBACiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7
CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVT
Y2FubmVkKHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3Rp
Y3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3ModHJ1ZSwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGlj
c05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHND
YWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFt
ZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1p
cC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbAppbmRleCAyYmYxZjg1YmE0Nzk2MjI4M2Fm
M2EzOGNlZThkZDcwNjg4YTA4NjJmLi4xOWFkMmI3ZWI2ZjMzNjgwN2MyYTNlNzQzZjRlMjUyOTVk
YjE5Yzk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQt
aWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3Rp
bmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxo
b3N0LXRvLWlwLmh0bWwKQEAgLTQxLDggKzQxLDEwIEBACiAKICAgICAgICAgaWYgKHRlc3RSdW5u
ZXIpIHsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0
YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmlu
c3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7Cisg
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0
aXN0aWNzKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUp
OworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2Nh
bkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgfSk7CiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpAQCAtNTEsNCArNTMsNCBA
QAogPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3Jlc291cmNlcy9wYWdlLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAt
dG8tbG9jYWxob3N0LXRvLWlwLmh0bWwiPgogPC9pZnJhbWU+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGlu
Zy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8t
aXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3Qt
ZGF0YWJhc2UuaHRtbAppbmRleCAzMWUzM2Y2NjdkYTM1OWYzYTgyYmYzYzBjMzEwZDM0ZWMzNzVi
MzRjLi44ZGQxZDY0ZTM1MzM5ZDlmNDA5MTIyZmM4MjM4ZDVlZWI3YzBmZWM3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRi
b3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1p
cC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbApAQCAtNDIsOCArNDIsMTAgQEAKICAgICAgICAg
aWYgKHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJh
c2UodHJ1ZSk7CiAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hl
bkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMp
OworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZFNjaGVkdWxl
U3RhdGlzdGljcyh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0
cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0Rp
ZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgICAgIH0p
OwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJv
eGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9j
YWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1u
b24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0
Lmh0bWwKaW5kZXggMDAwNzg1ZmI3ZTczNTNhNTdmMDIyNjg1YzlmNjgyMDI2YTNlMWVkOC4uOTEw
NWNiNWExNzg2NDE0NTM4MzA5NGQxMzc0NDU0NDFmY2NlZGI0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVz
dGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24t
c2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0
bWwKQEAgLTQxLDggKzQxLDEwIEBACiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKICAgICAg
ICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJl
U2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0
aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKHRydWUs
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRz
Q2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9
KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpAQCAtNTEsNCArNTMsNCBAQAogPGlmcmFtZSBz
cmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cy9wYWdlLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlw
LXRvLWxvY2FsaG9zdC5odG1sIj4KIDwvaWZyYW1lPgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZy
YW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAt
ZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbAppbmRleCA5NzM4ZWEz
YjU5YTBhNzA3NDNkMzQ1ZGYwNTJlYTYyOWQyZjZiOTNkLi4yMDNjNGI0NTgwODA4ZDJiZjg0ODZm
ZWMzMmZhYTMwZTk1ODQ4OGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCkBAIC00Miw4ICs0MiwxMCBAQAog
ICAgICAgICBpZiAodGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJ
VFBEYXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hl
Y2tTdGF0cyk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxk
U2NoZWR1bGVTdGF0aXN0aWNzKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVT
Y2FubmVkKHRydWUpOworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0
aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAg
ICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25v
bi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5k
Ym94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCmluZGV4IGE3
NjQwZjMxM2JkOGMyMzI5MjAyNGEwZGQyMGFlN2RmOTU1NDk3MjguLmFhNzBiNjJmYjA2NDY3Njkx
OTNlYTRjNDY0ZjlmYmRkMWVjOWIwNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNh
bmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAt
dG8tbG9jYWxob3N0LXRvLWlwLmh0bWwKQEAgLTQxLDggKzQxLDEwIEBACiAKICAgICAgICAgaWYg
KHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tT
dGF0cyk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkU2No
ZWR1bGVTdGF0aXN0aWNzKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKHRydWUpOworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0
aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgpAQCAtNTEs
NCArNTMsNCBAQAogPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3Jlc291cmNlcy9wYWdlLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVj
dC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1u
ZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRv
LWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0
YWJhc2UuaHRtbAppbmRleCA1N2ZhZjAwYThmZDcyZjE0NGVhYWVlZTRhN2QyZDBjYjQ5YjhkOTk1
Li4yYjE1NmEwMzEzNmExODcyZjdlZmFhMjkwMjhmMDMxODMxMTlhOGM5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hl
ZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0
LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24tc2FuZGJveGVkLW5lc3RpbmctaWZyYW1l
LXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxo
b3N0LWRhdGFiYXNlLmh0bWwKQEAgLTQyLDggKzQyLDEwIEBACiAgICAgICAgIGlmICh0ZXN0UnVu
bmVyKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwog
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jk
c1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0
YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3Mo
dHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3Rh
dGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJl
Y29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAg
ICAgIH0pOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5n
LWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRv
LWxvY2FsaG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL25vbi1zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbAppbmRleCBiYTk2NWI5
N2MwZjFhZDJkYjExMTE1N2IzYzJlNDY5NTI1NDhiODFlLi44M2ZmMGYyNzFmZmZhYzI1ZDg2MjNj
ZGNiNGIxYWQ4MDg5MjcyN2VmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvbm9uLXNhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9ub24t
c2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1s
b2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKQEAgLTQxLDggKzQxLDEwIEBACiAKICAg
ICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
Tm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJh
Y2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNz
U2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jk
c1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3Rh
bGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAg
ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0
PgpAQCAtNTEsNCArNTMsNCBAQAogPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9wYWdlLXdpdGgtc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwiPgogPC9pZnJhbWU+
CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRt
bAppbmRleCA2NjcxMTIwNTA2ODE4MzkxY2E5NjdmZjI0ZmZmYzA1OGM5MjE5ZjQxLi5hYzljZjI3
MzQxOWYxNTAwMzgyNzNmMmU5YjlmNTQyMjA4YzNjNTYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAtZGF0YWJhc2UuaHRtbApAQCAtMTUsOCArMTUsMTAg
QEAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUs
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05v
dGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNr
KGNoZWNrU3RhdHMpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1No
b3VsZFNjaGVkdWxlU3RhdGlzdGljcyh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
U3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVj
dC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbAppbmRleCA4OGU3ZjM2ZTFkMGU5YjU2YTBiMzM4
ZTcwZTBkOWE1NmQxZmY2MGJlLi44MGNlNTQxNWM3YTQ3NzEwMDFhODljOTM5NWQ4ZTk5M2VlYmE1
ZmYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8taXAuaHRtbApAQCAtMTQs
OCArMTQsMTAgQEAKIAogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewogICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRy
dWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2Fu
RGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3ModHJ1ZSwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBh
Z2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhj
aGVja1N0YXRzKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9CiAKQEAgLTUxLDQgKzUzLDQgQEAKIDxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIg
c3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJj
ZXMvcmVkaXJlY3QucGhwLz9yZWRpcmVjdFRvPWh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9yZWRpcmVjdC5waHAvP3JlZGlyZWN0VG89aHR0cDov
LzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2lmcmFtZS1y
ZXBvcnQtYmFjay1sb2FkZWQuaHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1yZWRp
cmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLWlmcmFtZS1y
ZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKaW5kZXgg
ZjAyNmJkOWMwYzIxMmI3ZTVmMTY0OWI1OTNiOTc4ODNjZjMxNDhmYy4uNTY1M2NjY2Y3MTkwZGM1
NzUwOThkN2NlYmYxNTg2YTYzZjIzMzY3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9j
YWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGly
ZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbApAQCAtMTUsOCAr
MTUsMTEgQEAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJl
KHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0Nh
bGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJl
Y29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5p
bnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOwor
ICAgICAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2Fu
ZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKaW5kZXgg
NjY1Y2UwZjkzNWNiYWE1YjllYTQ2MzYzY2UzOGRmYjgwNTZjNzdmMS4uYzIzYmU3OThjY2I4MTc1
NTVlNTQ1YmQwNjgxMjQ4NzAzZmY3ODMwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9j
YWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2Fs
aG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbApAQCAtMTQsOCArMTQsMTAgQEAKIAogICAgICAg
ICBpZiAodGVzdFJ1bm5lcikgewogICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3Rp
ZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhj
aGVja1N0YXRzKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91
bGRTY2hlZHVsZVN0YXRpc3RpY3ModHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2Vy
ZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0
YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAg
ICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAKQEAgLTUxLDQgKzUzLDQg
QEAKIDxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vbG9jYWxob3N0
OjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwLz9yZWRp
cmVjdFRvPWh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291
cmNlcy9yZWRpcmVjdC5waHAvP3JlZGlyZWN0VG89aHR0cDovL2xvY2FsaG9zdDo4MDAwL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL2lmcmFtZS1yZXBvcnQtYmFjay1sb2FkZWQuaHRt
bCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hl
ZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9j
YWxob3N0LXRvLWlwLWRhdGFiYXNlLmh0bWwKaW5kZXggMDkyZDU5OTk2NGU3ZTYyZmQwNWZiMGQ3
OGFlNWUyOTY2MDU3YTA2Ni4uNjI0YjNjNjgwZGFmMTViY2QzZGFmZDZhOWQyMjg1YWFmZTgxNjZm
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJl
ZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1p
ZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3Qt
dG8taXAtZGF0YWJhc2UuaHRtbApAQCAtMTUsOCArMTUsMTAgQEAKICAgICAgICAgaWYgKHRlc3RS
dW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7
CiAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNv
cmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
U3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGlj
cyh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRT
dGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRh
UmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAg
ICAgICAgfSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1u
ZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxv
Y2FsaG9zdC10by1pcC5odG1sCmluZGV4IDg3N2E3ZTQ4YTNhZjRhYTM5YTAwYzYxMzQ3ODZjNWI1
Nzg2ZWQwYjMuLmZmOTQ3MThkZWFlMWYxZDAxNzcxNDhjYTBlZWM3ODZlNjRmZmI1ZDYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1p
cC10by1sb2NhbGhvc3QtdG8taXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtbm9uLXNh
bmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtaXAtdG8tbG9jYWxob3N0LXRvLWlwLmh0bWwKQEAgLTE0
LDggKzE0LDEwIEBACiAKICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0
cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2Nh
bkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKHRydWUsIGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQ
YWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2so
Y2hlY2tTdGF0cyk7CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAg
ICAgfQogCkBAIC01MSw0ICs1Myw0IEBACiA8aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMi
IHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3Vy
Y2VzL3BhZ2Utd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAuaHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgt
bm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9z
dC1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1l
LXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbAppbmRl
eCBkZjg2ZmU4YzMyOTRlMjUzOTIyYzI1ZWEzNzkyN2ZkNWM5NDM2ZmY4Li5hMjQ0NGVmMzhiNDE1
YzZiNGE0NmVmNjQxYmMzZDAwMzdkNTE0YTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdp
dGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2Fs
aG9zdC1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVk
LWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0
bWwKQEAgLTE1LDggKzE1LDEwIEBACiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CiAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOwogICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRy
dWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2Fu
RGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3ModHJ1ZSwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBh
Z2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhj
aGVja1N0YXRzKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFt
ZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZy
YW1lLXdpdGgtbm9uLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRv
LWxvY2FsaG9zdC5odG1sCmluZGV4IGFhMmQzODM4ZjczZjk5NjY3YWFmNDM0NGE4ZmEyNDIxNGZi
MzE5MzEuLjE2YzRiZDg1NDkwZjBhZWU0NTZhY2JhY2E4ZjdjNWMzNjYwODYyZmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94
ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1ub24tc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2Nh
bGhvc3QtdG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLW5v
bi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3Qu
aHRtbApAQCAtMTQsOCArMTQsMTAgQEAKIAogICAgICAgICBpZiAodGVzdFJ1bm5lcikgewogICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKHRydWUpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRp
c3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NTaG91bGRTY2hlZHVsZVN0YXRpc3RpY3ModHJ1
ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlz
dGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29y
ZHNDYWxsYmFjayhjaGVja1N0YXRzKTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAg
IH0pOwogICAgICAgICB9CiAKQEAgLTUxLDQgKzUzLDQgQEAKIDxpZnJhbWUgc2FuZGJveD0iYWxs
b3ctc2NyaXB0cyIgc3JjPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMvcGFnZS13aXRoLW5vbi1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxv
Y2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5l
c3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhv
c3QtdG8taXAtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZy
YW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCmluZGV4IGQ2
ZTk0YTQ1OTY5ODU0ZDNlMzg4ZDEwYWFkY2FmMGExZDJhNGRhYWYuLmI3NzEyMzdlZjlkYThmNDAx
OWFhNjEyYTkwYzg4ZDU3MTUxZDQ3YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1z
YW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlw
LXRvLWxvY2FsaG9zdC10by1pcC1kYXRhYmFzZS5odG1sCkBAIC0xNSw4ICsxNSwxMCBAQAogICAg
ICAgICBpZiAodGVzdFJ1bm5lcikgewogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBE
YXRhYmFzZSh0cnVlKTsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tT
dGF0cyk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkU2No
ZWR1bGVTdGF0aXN0aWNzKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKHRydWUpOworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0
aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3Rpbmct
aWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8t
aXAuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9z
YW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWlw
LXRvLWxvY2FsaG9zdC10by1pcC5odG1sCmluZGV4IGQ0NzJhYjU0NGQ1ZDg0YzBjZjUwMmU1YWZh
ZmJiYTg4ZjQ0ZmE0ZTguLjE2YzdiM2MzNGRkYTA0MWU3MjliYjAwNzVmNzMwMjIzNTdhYzcwY2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0
LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5k
Ym94ZWQtaWZyYW1lLXJlZGlyZWN0LWlwLXRvLWxvY2FsaG9zdC10by1pcC5odG1sCkBAIC0xNCw4
ICsxNCwxMCBAQAogCiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7CiAgICAgICAgICAgICBzZXRF
bmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1
ZSk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0U3RhdGlzdGljc1Nob3VsZFNjaGVkdWxlU3RhdGlzdGljcyh0cnVlLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNo
ZWNrU3RhdHMpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAg
IH0KIApAQCAtNTEsNCArNTMsNCBAQAogPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIiBz
cmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cy9wYWdlLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1pcC10by1sb2NhbGhvc3QtdG8t
aXAuaHRtbCI+CiA8L2lmcmFtZT4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJv
eGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2Fu
ZGJveGVkLW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2Nh
bGhvc3QtdG8taXAtdG8tbG9jYWxob3N0LWRhdGFiYXNlLmh0bWwKaW5kZXggNWUxOWRkMTAwMjEx
NWQ4YTE5NGZjMjI0MWQ1OGY0ZjgyZTAwMmJkOC4uZDM2MzM1ODdjMDcyYTU0YjMzYzYzMmMwYTJk
Y2E1YWNkMzBlN2IxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1p
ZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC1kYXRhYmFzZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9zYW5k
Ym94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2Fs
aG9zdC10by1pcC10by1sb2NhbGhvc3QtZGF0YWJhc2UuaHRtbApAQCAtMTUsOCArMTUsMTAgQEAK
ICAgICAgICAgaWYgKHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNl
SVRQRGF0YWJhc2UodHJ1ZSk7CiAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlm
eVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7Ci0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNo
ZWNrU3RhdHMpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc1Nob3Vs
ZFNjaGVkdWxlU3RhdGlzdGljcyh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJl
U2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3Rh
dGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGNoZWNrU3RhdHMpOworICAgICAgICAg
ICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0
aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUtcmVkaXJlY3QtbG9jYWxob3N0LXRvLWlw
LXRvLWxvY2FsaG9zdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3NhbmRib3hlZC1uZXN0aW5nLWlmcmFtZS13aXRoLXNhbmRib3hlZC1pZnJhbWUt
cmVkaXJlY3QtbG9jYWxob3N0LXRvLWlwLXRvLWxvY2FsaG9zdC5odG1sCmluZGV4IGZkODMxODE5
ZGE4YWFjMWQyNWEzM2QxODA0YTgxYzU3MjFlNGNhOTQuLjc0Mjk3NjQzNjhmOTZhNmU3MTZlNjFl
MWI1ZjgyOTYwZThhZjMyZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9zYW5kYm94ZWQtbmVzdGluZy1pZnJhbWUtd2l0aC1zYW5kYm94
ZWQtaWZyYW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvc2FuZGJveGVk
LW5lc3RpbmctaWZyYW1lLXdpdGgtc2FuZGJveGVkLWlmcmFtZS1yZWRpcmVjdC1sb2NhbGhvc3Qt
dG8taXAtdG8tbG9jYWxob3N0Lmh0bWwKQEAgLTE0LDggKzE0LDEwIEBACiAKICAgICAgICAgaWYg
KHRlc3RSdW5uZXIpIHsKICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tT
dGF0cyk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzU2hvdWxkU2No
ZWR1bGVTdGF0aXN0aWNzKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKHRydWUpOworICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0
aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soY2hlY2tTdGF0cyk7CisgICAgICAgICAgICAg
ICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogCkBAIC01MSw0ICs1Myw0IEBACiA8
aWZyYW1lIHNhbmRib3g9ImFsbG93LXNjcmlwdHMiIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVzb3VyY2VzL3BhZ2Utd2l0aC1zYW5kYm94ZWQtaWZy
YW1lLXJlZGlyZWN0LWxvY2FsaG9zdC10by1pcC10by1sb2NhbGhvc3QuaHRtbCI+CiA8L2lmcmFt
ZT4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvdXNlci1pbnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLWRhdGFiYXNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdXNlci1p
bnRlcmFjdGlvbi1pbi1jcm9zcy1vcmlnaW4tc3ViLWZyYW1lLWRhdGFiYXNlLmh0bWwKaW5kZXgg
YTY3NGQwOTA5NzBjNTYzYmZiYTRkOTNjZmE2NDVjYWIxNWE1OTRlMC4uOWY0YjJlMzA5NzUwMzM2
NDQ4Y2I1NTU0OGZkZGQ1NWU3YzQ2YzNmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3VzZXItaW50ZXJhY3Rpb24taW4tY3Jvc3Mtb3Jp
Z2luLXN1Yi1mcmFtZS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy91c2VyLWludGVyYWN0aW9uLWluLWNyb3NzLW9yaWdpbi1z
dWItZnJhbWUtZGF0YWJhc2UuaHRtbApAQCAtMjgsOCArMjgsMTAgQEAgZnVuY3Rpb24gZmluaXNo
VGVzdCgpIHsKIG9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgIGlmICh0ZXN0UnVubmVyKSB7Ci0gICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2Fu
bmVkKHRydWUpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNj
YW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOworICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzU2hvdWxkU2NoZWR1bGVTdGF0aXN0aWNzKHRydWUsIGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hl
bkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3Qp
OworICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIAogICAgICAgICBzaG91bGRCZSgiZG9jdW1l
bnQubG9jYXRpb24ub3JpZ2luIiwgInRvcEZyYW1lT3JpZ2luIik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzk2MWRiMWM0M2Q5NGJiM2Ri
NGM3ZWM4ZWFmM2VlZTcwY2MzNTZmMC4uZmRkZWM3MGQzMGZhZmE4YTAzODVkNTI3OGZiMzAzNmQ2
YTdjYjFjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtODk2LDggKzg5Niw2IEBAIHdlYmtpdC5vcmcvYi8xOTcwNjggWyBEZWJ1ZyBdIGZh
c3Qvc2VsZWN0b3JzL21hdGNoZXMtYmFja3RyYWNraW5nLmh0bWwgWyBQYXNzIFRpCiAKIHdlYmtp
dC5vcmcvYi8xOTcyODMgZmFzdC9jc3MtY3VzdG9tLXBhaW50L2FuaW1hdGUtcmVwYWludC5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE5NzI4NSBodHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
LQogd2Via2l0Lm9yZy9iLzE5NzIwNyBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtcmVzb3Vy
Y2VzLXBlci1mcmFtZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzE5NzQy
NSBbIE1vamF2ZSBEZWJ1ZyBdIHNjcm9sbGluZ2Nvb3JkaW5hdG9yL3Njcm9sbGluZy10cmVlL3Nj
cm9sbGluZy10cmVlLWluY2x1ZGVzLWZyYW1lLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpAQCAtOTMy
LDQgKzkzMCw0IEBAIHdlYmtpdC5vcmcvYi8xOTk2NTEgWyBNb2phdmUgRGVidWcgXSB3ZWJncHUv
d2hsc2wvYnVpbHRpbi12ZWN0b3JzLTIuaHRtbCBbIFNsb3cKIAogd2Via2l0Lm9yZy9iLzE5OTA4
OSBbIE1vamF2ZSsgRGVidWcgXSBwbHVnaW5zL3dpbmRvdy1vcGVuLmh0bWwgWyBTa2lwIF0KIAot
d2Via2l0Lm9yZy9iLzIwMjUwMCBbIE1vamF2ZSBdIGNyeXB0by93b3JrZXJzL3N1YnRsZS9hZXMt
aW5kZXhlZGRiLmh0bWwgWyBUaW1lb3V0IF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3
ZWJraXQub3JnL2IvMjAyNTAwIFsgTW9qYXZlIF0gY3J5cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1p
bmRleGVkZGIuaHRtbCBbIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381008</attachid>
            <date>2019-10-15 11:55:29 -0700</date>
            <delta_ts>2019-10-15 17:31:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197285-20191015115528.patch</filename>
            <type>text/plain</type>
            <size>14415</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEyY2MwMzUzNjk4MGMwY2Zi
NDIzZTNhNDAwYjU2NzE1NjI3YTAyMTMuLmU1ZTVlODljNzEwOGUzNGVkNWQ0OTE0ZjUxYThlZTVm
MDY4YWNmMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMTAtMTUgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAo
fjI0NDEwMCkgW01hYyBXSzIgRGVidWddIExheW91dCBUZXN0IGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlICgx
OTcyODUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTcyODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUwMjA4MzcwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgYSBmbGFr
eSBmYWlsdXJlIHdoaWNoIHdhcyBiZWluZyBjYXVzZWQgYnkgb3RoZXIKKyAgICAgICAgcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyB0ZXN0cyBzY2hlZHVsaW5nIHByb2Nlc3NpbmcgY2hlY2tzIHdoaWNo
CisgICAgICAgIHdlcmUgY2FsbGVkIGR1cmluZyBleGVjdXRpb24gb2YgcHJ1bmUtc3RhdGlzdGlj
cy5odG1sLgorICAgICAgICBOb3csIGFueSBwZW5kaW5nIHByb2Nlc3NpbmcgY2hlY2tzIGFyZSBj
YW5jZWxsZWQgYmV0d2VlbiB0ZXN0cy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjbGVhcldvcmtRdWV1ZSk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpjbGVhcldvcmtRdWV1ZSk6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcDoKKyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9y
ZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a1Byb2Nlc3NQcm94eTo6Y2xlYXJXb3JrUXVldWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3Rv
cmU6OmNsZWFyV29ya1F1ZXVlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5oOgorCiAyMDE5LTEwLTE1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1
MTEzOC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmll
ci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAK
aW5kZXggY2I3ZTg1OTcyZDhjMmViYWY5ZDJlOGVkZjk0NTViMDIxNmRmNTdhZC4uODdjZGQwMDg1
MDZjYTZkYjNmY2E4NWUxNWQ4Mjk5NjVhN2E4M2M3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKQEAgLTI1NSw2ICsyNTUsMTUgQEAgdm9pZCBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNjaGVkdWxlU3RhdGlzdGljc0FuZERhdGFS
ZWNvcmRzUHJvY2Vzc2luZygKICAgICB9KTsKIH0KIAordm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmU6OmNhbmNlbFBlbmRpbmdSZXF1ZXN0cyhDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgcG9zdFRhc2soW3RoaXMsIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CisgICAg
ICAgIGlmIChtX3N0YXRpc3RpY3NTdG9yZSkKKyAgICAgICAgICAgIG1fc3RhdGlzdGljc1N0b3Jl
LT5jYW5jZWxQZW5kaW5nU3RhdGlzdGljc1Byb2Nlc3NpbmdSZXF1ZXN0KCk7CisgICAgICAgIHBv
c3RUYXNrUmVwbHkoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgIH0pOworfQorCiB2
b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1VwZGF0ZWQoVmVjdG9yPFJlc291cmNlTG9hZFN0YXRpc3RpY3M+JiYgc3RhdGlzdGljcykKIHsK
ICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZS5oCmluZGV4IDQxNjRhYjZhZDhjZGZlMjI3NjBhOTZlY2Q5YTlj
ZTFlMzBiOTA3Y2UuLjc4MTM3YjE3YjljNmRlMzUxMDUyZjkwMWY0YzQ4MjY5ZDZiOWM3ZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTE3MCw2
ICsxNzAsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NE
ZWJ1Z01vZGUoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNl
dFByZXZhbGVudFJlc291cmNlRm9yRGVidWdNb2RlKGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIGNhbmNlbFBlbmRpbmdSZXF1
ZXN0cyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCiAgICAgdm9pZCBsb2dUZXN0aW5n
RXZlbnQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBjYWxsR3JhbnRTdG9yYWdlQWNjZXNzSGFu
ZGxlcihjb25zdCBTdWJGcmFtZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgT3B0aW9u
YWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoU3RvcmFnZUFjY2Vzc1dhc0dyYW50ZWQpPiYmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggMTQy
NTliMTI4M2IxYTNhZDFjMzU4NjQ4NzRkMGQ3OWIyZTM2Nzg1Yi4uNWNmOWE5NzYwNGJmYWE1Mjdm
NTBkMWVlNjZjOTIyYjhkYzI5ZmY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTc3Miw2ICs3NzIsMTkgQEAgdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6c2NoZWR1bGVDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudChQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQKICAgICB9CiB9CiAKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OmNhbmNlbFBlbmRp
bmdSZXF1ZXN0cyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoYXV0byogbmV0d29ya1Nlc3Np
b24gPSB0aGlzLT5uZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQpKSB7CisgICAgICAgIGlmIChhdXRv
KiByZXNvdXJjZUxvYWRTdGF0aXN0aWNzID0gbmV0d29ya1Nlc3Npb24tPnJlc291cmNlTG9hZFN0
YXRpc3RpY3MoKSkKKyAgICAgICAgICAgIHJlc291cmNlTG9hZFN0YXRpc3RpY3MtPmNhbmNlbFBl
bmRpbmdSZXF1ZXN0cyhXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAg
fQorfQorCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpyZXNldFBhcmFtZXRlcnNUb0RlZmF1bHRWYWx1
ZXMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKGF1dG8qIG5ldHdvcmtTZXNzaW9uID0gdGhp
cy0+bmV0d29ya1Nlc3Npb24oc2Vzc2lvbklEKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGMxMzBjYWM2YWUyMjQwMWU4ZjE0N2EzZWQz
MWQ3MTE5YTAzYjM3NTIuLjFmMGU3NmJiZTNiNzUxNWI5NzA5Mjg4YTgwYmFlZmU5NjhkZmJkZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAg
LTIzOSw2ICsyMzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzY2hlZHVsZUNsZWFySW5NZW1vcnlB
bmRQZXJzaXN0ZW50KFBBTDo6U2Vzc2lvbklELCBPcHRpb25hbDxXYWxsVGltZT4gbW9kaWZpZWRT
aW5jZSwgU2hvdWxkR3JhbmRmYXRoZXJTdGF0aXN0aWNzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogICAgIHZvaWQgc2NoZWR1bGVDb29raWVCbG9ja2luZ1VwZGF0ZShQQUw6OlNlc3Np
b25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNjaGVkdWxlU3Rh
dGlzdGljc0FuZERhdGFSZWNvcmRzUHJvY2Vzc2luZyhQQUw6OlNlc3Npb25JRCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIGNhbmNlbFBlbmRpbmdSZXF1ZXN0cyhQQUw6
OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHN1Ym1p
dFRlbGVtZXRyeShQQUw6OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
ICAgICB2b2lkIHNldENhY2hlTWF4QWdlQ2FwRm9yUHJldmFsZW50UmVzb3VyY2VzKFBBTDo6U2Vz
c2lvbklELCBTZWNvbmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQg
c2V0R3JhbmRmYXRoZXJpbmdUaW1lKFBBTDo6U2Vzc2lvbklELCBTZWNvbmRzLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggY2U1YjZiYTQzNjRkMjg2ZDdk
YWM1NDdkNjhhZTY0NGNmZTNiZGVmYS4uZWQwZWYxYWRlYzk2NmQwYzBhNTg2ZTdiZjMxZjZiZTY5
MWRkMTk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0xMDksNiArMTA5LDcgQEAgbWVzc2FnZXMgLT4g
TmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNjaGVkdWxlQ2xlYXJJbk1lbW9y
eUFuZFBlcnNpc3RlbnQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25hbDxXYWxsVGlt
ZT4gbW9kaWZpZWRTaW5jZSwgZW51bTpib29sIFdlYktpdDo6U2hvdWxkR3JhbmRmYXRoZXJTdGF0
aXN0aWNzIHNob3VsZEdyYW5kZmF0aGVyKSAtPiAoKSBBc3luYwogICAgIFNjaGVkdWxlQ29va2ll
QmxvY2tpbmdVcGRhdGUoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAg
IFNjaGVkdWxlU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzUHJvY2Vzc2luZyhQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCisgICAgQ2FuY2VsUGVuZGluZ1JlcXVlc3RzKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCkgLT4gKCkgQXN5bmMKICAgICBTdWJtaXRUZWxlbWV0cnkoUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIFNldENhY2hlTWF4QWdlQ2Fw
Rm9yUHJldmFsZW50UmVzb3VyY2VzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgU2Vjb25kcyBz
ZWNvbmRzKSAtPiAoKSBBc3luYwogICAgIFNldEdyYW5kZmF0aGVyZWQoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiByZXNvdXJjZURvbWFpbiwgYm9v
bCBpc0dyYW5kZmF0aGVyZWQpIC0+ICgpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAppbmRleCA3NDRmY2Jh
OWVlMmExOTYxNzVhMTNhNTEyNzk0NmRmMTQzZTA0ZTc3Li5kZjQ1MTBjMDQ1YTk3ZmRlMzQ3NTk1
MTc2OTRiYjA0YTQwZTk1MTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKQEAgLTU0OCw2ICs1NDgsNyBAQCB2
b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKFdL
V2Vic2l0ZURhdGFTdG9yZVJlZiBkYQogICAgIHN0b3JlLnNldFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTaG91bGREb3duZ3JhZGVSZWZlcnJlckZvclRlc3RpbmcodHJ1ZSwgW2NhbGxiYWNrQWdncmVn
YXRvciA9IGNhbGxiYWNrQWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiAgICAgc3RvcmUucmVz
ZXRQYXJhbWV0ZXJzVG9EZWZhdWx0VmFsdWVzKFtjYWxsYmFja0FnZ3JlZ2F0b3IgPSBjYWxsYmFj
a0FnZ3JlZ2F0b3IuY29weVJlZigpXSB7IH0pOwogICAgIHN0b3JlLnNjaGVkdWxlQ2xlYXJJbk1l
bW9yeUFuZFBlcnNpc3RlbnQoV2ViS2l0OjpTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3M6Ok5v
LCBbY2FsbGJhY2tBZ2dyZWdhdG9yID0gY2FsbGJhY2tBZ2dyZWdhdG9yLmNvcHlSZWYoKV0geyB9
KTsKKyAgICBzdG9yZS5jYW5jZWxQZW5kaW5nUmVxdWVzdHMoW2NhbGxiYWNrQWdncmVnYXRvciA9
IGNhbGxiYWNrQWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiAjZWxzZQogICAgIFVOVVNFRF9Q
QVJBTShkYXRhU3RvcmVSZWYpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKGNvbnRleHQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQ
cm94eS5jcHAKaW5kZXggY2ExZjVhYjI2MThhZGQ0NjM1NTA0NGFlMGZmZmZkYjZhMzc2M2U0ZC4u
ZDkyZTE4MDI3MzkwMDYwOGMzYmRkNzJmNDY0NTIxODU1ZTIxYjc1OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3Bw
CkBAIC05MzUsNiArOTM1LDExIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2NoZWR1bGVD
bGVhckluTWVtb3J5QW5kUGVyc2lzdGVudChQQUw6OlNlc3Npb25JRCBzZXNzCiAgICAgc2VuZFdp
dGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2NoZWR1bGVDbGVhckluTWVt
b3J5QW5kUGVyc2lzdGVudChzZXNzaW9uSUQsIHsgfSwgc2hvdWxkR3JhbmRmYXRoZXIpLCBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKK3ZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6
Y2FuY2VsUGVuZGluZ1JlcXVlc3RzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIHNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkNhbmNlbFBlbmRpbmdSZXF1ZXN0cyhz
ZXNzaW9uSUQpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisKIHZvaWQgTmV0d29y
a1Byb2Nlc3NQcm94eTo6bG9nVGVzdGluZ0V2ZW50KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
Y29uc3QgU3RyaW5nJiBldmVudCkKIHsKICAgICBpZiAoYXV0byogd2Vic2l0ZURhdGFTdG9yZSA9
IHdlYnNpdGVEYXRhU3RvcmVGcm9tU2Vzc2lvbklEKHNlc3Npb25JRCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4
IGZiZjJjZTU5ZjhkMDVhZDdkYjg5OTNlMmZiY2QxNGI0NDRkNTE3MmIuLmRjNGQ1Y2NmYmM1ZDA5
ZWU3YzM1ZWU2OTkzNzdlZGVjN2Y4NGE2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC0xMTMsNiArMTEzLDcg
QEAgcHVibGljOgogICAgIHZvaWQgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2UoUEFMOjpTZXNzaW9u
SUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik7CiAgICAgdm9pZCBsb2dVc2VySW50ZXJhY3Rpb24oUEFMOjpTZXNzaW9uSUQsIGNvbnN0
IFJlZ2lzdHJhYmxlRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2
b2lkIHNjaGVkdWxlU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzUHJvY2Vzc2luZyhQQUw6OlNlc3Np
b25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIGNhbmNlbFBlbmRp
bmdSZXF1ZXN0cyhQQUw6OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
ICAgICB2b2lkIHNldExhc3RTZWVuKFBBTDo6U2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsZURv
bWFpbiYsIFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBt
ZXJnZVN0YXRpc3RpY0ZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxl
RG9tYWluJiwgY29uc3QgVG9wRnJhbWVEb21haW4mIHRvcEZyYW1lRG9tYWluMSwgY29uc3QgVG9w
RnJhbWVEb21haW4mIHRvcEZyYW1lRG9tYWluMiwgU2Vjb25kcyBsYXN0U2VlbiwgYm9vbCBoYWRV
c2VySW50ZXJhY3Rpb24sIFNlY29uZHMgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbiwgYm9vbCBp
c0dyYW5kZmF0aGVyZWQsIGJvb2wgaXNQcmV2YWxlbnQsIGJvb2wgaXNWZXJ5UHJldmFsZW50LCB1
bnNpZ25lZCBkYXRhUmVjb3Jkc1JlbW92ZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
CiAgICAgdm9pZCBzZXRBZ2VDYXBGb3JDbGllbnRTaWRlQ29va2llcyhQQUw6OlNlc3Npb25JRCwg
T3B0aW9uYWw8U2Vjb25kcz4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmUuY3BwCmluZGV4IDgzNzUxZTkzNDVjZmE3YmZmM2E1YTc0NWVhODhmMjAwZjlmYjk4NzYuLjRj
ZDE4YjNlYmJlNjU4ZGJjMTFjZTgyMWQyYmVlNjUyNGQ3YmZiMTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3Bw
CkBAIC0xNTE3LDYgKzE1MTcsMTggQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpzY2hlZHVsZUNs
ZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50KFNob3VsZEdyYW5kZmF0aGVyU3RhdGkKICAgICB9CiB9
CiAKK3ZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6Y2FuY2VsUGVuZGluZ1JlcXVlc3RzKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBBU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOworICAgIAorICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0gQ2Fs
bGJhY2tBZ2dyZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworCisg
ICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IHByb2Nlc3NQb29scygpKSB7CisgICAgICAgIGlm
IChhdXRvKiBwcm9jZXNzID0gcHJvY2Vzc1Bvb2wtPm5ldHdvcmtQcm9jZXNzKCkpCisgICAgICAg
ICAgICBwcm9jZXNzLT5jYW5jZWxQZW5kaW5nUmVxdWVzdHMobV9zZXNzaW9uSUQsIFtwcm9jZXNz
UG9vbCwgY2FsbGJhY2tBZ2dyZWdhdG9yID0gY2FsbGJhY2tBZ2dyZWdhdG9yLmNvcHlSZWYoKV0g
eyB9KTsKKyAgICB9Cit9CisKIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2NoZWR1bGVDb29raWVC
bG9ja2luZ1VwZGF0ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgYXV0byBjYWxsYmFja0FnZ3JlZ2F0b3IgPSBDYWxsYmFja0FnZ3JlZ2F0b3I6
OmNyZWF0ZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKaW5kZXggOTRk
ZTllZWNmM2M1ODkzZjlmYTkyZDJjZmM1MzMxOTAzNGYyN2JkMC4uMDJkMjlmY2YxNzdkMTM0MDZl
NzVhMzg0YmVjMTA3ZjA2YWIyY2RkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaApAQCAtMTU4LDYgKzE1OCw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNjaGVkdWxlQ29va2llQmxvY2tpbmdVcGRhdGUoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNjaGVkdWxlQ2xlYXJJbk1lbW9yeUFuZFBl
cnNpc3RlbnQoV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgU2hvdWxkR3JhbmRmYXRoZXJTdGF0aXN0
aWNzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2NoZWR1bGVDbGVh
ckluTWVtb3J5QW5kUGVyc2lzdGVudChTaG91bGRHcmFuZGZhdGhlclN0YXRpc3RpY3MsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBjYW5jZWxQZW5kaW5nUmVxdWVzdHMo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNjaGVkdWxlU3RhdGlzdGlj
c0FuZERhdGFSZWNvcmRzUHJvY2Vzc2luZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwog
ICAgIHZvaWQgc3VibWl0VGVsZW1ldHJ5KCk7CiAgICAgdm9pZCBzZXRHcmFuZGZhdGhlcmVkKGNv
bnN0IFVSTCYsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDk5
Y2M4Y2ZkNWYwNTc2YWVmZGEwM2VkZDdiYThhMWZmZDA3MzBjYS4uN2QzYWNlM2NlYzU2YTA4M2I1
YTMxMTdkYWY0ODI5MmI2YzMzN2FlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEwLTE1
ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04gKH4yNDQxMDApIFtNYWMgV0syIERlYnVnXSBMYXlvdXQgVGVzdCBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy5odG1sIGlzIGEgZmxha3kg
ZmFpbHVyZSAoMTk3Mjg1KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk3Mjg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MDIwODM3MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgYSAic2tp
cHBlZCIgZXhwZWN0YXRpb24gZm9yIGEgcHJldmlvdXNseSBmbGFreSB0ZXN0IHRoYXQgc2hvdWxk
IAorICAgICAgICBiZSBmaXhlZCBieSB0aGlzIHBhdGNoLgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOS0xMC0xNSAgRGVhbiBKYWNrc29uICA8ZGlu
b0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVzZXQgbWF4Q2FudmFzUGl4ZWxNZW1vcnkgYmV0d2Vl
biB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDM5NjFkYjFjNDNkOTRiYjNkYjRjN2VjOGVhZjNlZWU3MGNjMzU2ZjAuLmZkZGVjNzBk
MzBmYWZhOGEwMzg1ZDUyNzhmYjMwMzZkNmE3Y2IxYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg5Niw4ICs4OTYsNiBAQCB3ZWJraXQu
b3JnL2IvMTk3MDY4IFsgRGVidWcgXSBmYXN0L3NlbGVjdG9ycy9tYXRjaGVzLWJhY2t0cmFja2lu
Zy5odG1sIFsgUGFzcyBUaQogCiB3ZWJraXQub3JnL2IvMTk3MjgzIGZhc3QvY3NzLWN1c3RvbS1w
YWludC9hbmltYXRlLXJlcGFpbnQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcv
Yi8xOTcyODUgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3BydW5lLXN0YXRpc3Rp
Y3MuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KIHdlYmtpdC5vcmcvYi8xOTcyMDcgaHR0cC93cHQv
cmVzb3VyY2UtdGltaW5nL3J0LXJlc291cmNlcy1wZXItZnJhbWUuaHRtbCBbIFBhc3MgRmFpbHVy
ZSBdCiAKIHdlYmtpdC5vcmcvYi8xOTc0MjUgWyBNb2phdmUgRGVidWcgXSBzY3JvbGxpbmdjb29y
ZGluYXRvci9zY3JvbGxpbmctdHJlZS9zY3JvbGxpbmctdHJlZS1pbmNsdWRlcy1mcmFtZS5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KQEAgLTkzMiw0ICs5MzAsNCBAQCB3ZWJraXQub3JnL2IvMTk5NjUx
IFsgTW9qYXZlIERlYnVnIF0gd2ViZ3B1L3dobHNsL2J1aWx0aW4tdmVjdG9ycy0yLmh0bWwgWyBT
bG93CiAKIHdlYmtpdC5vcmcvYi8xOTkwODkgWyBNb2phdmUrIERlYnVnIF0gcGx1Z2lucy93aW5k
b3ctb3Blbi5odG1sIFsgU2tpcCBdCiAKLXdlYmtpdC5vcmcvYi8yMDI1MDAgWyBNb2phdmUgXSBj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvYWVzLWluZGV4ZWRkYi5odG1sIFsgVGltZW91dCBdClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQord2Via2l0Lm9yZy9iLzIwMjUwMCBbIE1vamF2ZSBdIGNy
eXB0by93b3JrZXJzL3N1YnRsZS9hZXMtaW5kZXhlZGRiLmh0bWwgWyBUaW1lb3V0IF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381041</attachid>
            <date>2019-10-15 17:31:21 -0700</date>
            <delta_ts>2019-10-15 19:08:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197285-20191015173120.patch</filename>
            <type>text/plain</type>
            <size>4040</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDViZWMyNzBlNjlhNzE2OTFl
YjdhOWUzNjI5OWVkYzY1MDk4YTgyMTcuLjFkMDZmODVhNThmZmY0YmFiNjJhNDQ5ZjEzMDMwOWY1
ZjNjZmY4MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTktMTAtMTUgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAo
fjI0NDEwMCkgW01hYyBXSzIgRGVidWddIExheW91dCBUZXN0IGh0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9wcnVuZS1zdGF0aXN0aWNzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlICgx
OTcyODUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTcyODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUwMjA4MzcwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgYSBmbGFr
eSBmYWlsdXJlIHdoaWNoIHdhcyBiZWluZyBjYXVzZWQgYnkgb3RoZXIKKyAgICAgICAgcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcyB0ZXN0cyBzY2hlZHVsaW5nIHByb2Nlc3NpbmcgY2hlY2tzIHdoaWNo
CisgICAgICAgIHdlcmUgY2FsbGVkIGR1cmluZyBleGVjdXRpb24gb2YgcHJ1bmUtc3RhdGlzdGlj
cy5odG1sLgorICAgICAgICBOb3csIGFueSBwZW5kaW5nIHByb2Nlc3NpbmcgY2hlY2tzIGFyZSBj
YW5jZWxsZWQgYmV0d2VlbiB0ZXN0cy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzY2hlZHVsZUNsZWFySW5NZW1vcnlB
bmRQZXJzaXN0ZW50KToKKwogMjAxOS0xMC0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYnZpZXcncyBkcmF3aW5nIGFyZWEgbWF5IHN0YXkgZnJvemVuIG9u
IGNyb3NzLXNpdGUgYmFjay9mb3J3YXJkIG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKaW5kZXggY2I3ZTg1OTcyZDhjMmViYWY5ZDJl
OGVkZjk0NTViMDIxNmRmNTdhZC4uZTA4YWI1ZDYwYmVmMTFkMTI0Nzk2OThjN2I4MTFkYjc4Y2Qx
NjliZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVy
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5j
cHAKQEAgLTg5OCw2ICs4OTgsOCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZTo6c2NoZWR1bGVDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudChTaG91bGRHcgogICAgICAgICAg
ICAgICAgICAgICBSRUxFQVNFX0xPRyhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCAiV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzY2hlZHVsZUNsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50
IEFmdGVyIGJlaW5nIGNsZWFyZWQsIG1fc3RhdGlzdGljc1N0b3JlIGlzIG51bGwgd2hlbiB0cnlp
bmcgdG8gZ3JhbmRmYXRoZXIgZGF0YS4iKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSk7Cisg
ICAgICAgIAorICAgICAgICBtX3N0YXRpc3RpY3NTdG9yZS0+Y2FuY2VsUGVuZGluZ1N0YXRpc3Rp
Y3NQcm9jZXNzaW5nUmVxdWVzdCgpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjBjNjE2MGZiYjk4
YjM1NzIzZWU3ODI2ZWQyZTdiNjhkMDQ2MmE2Ny4uMDk3MGNiNTdkNjRiNzkxMWE4NWQxZmNjYjAw
ZmZlNjMxNTcxOWM3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEwLTE1ICBLYXRlIENo
ZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KH4yNDQxMDApIFtNYWMgV0syIERlYnVnXSBMYXlvdXQgVGVzdCBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGljcy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZSAo
MTk3Mjg1KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk3Mjg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MDIwODM3MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgYSAic2tpcHBlZCIgZXhw
ZWN0YXRpb24gZm9yIGEgcHJldmlvdXNseSBmbGFreSB0ZXN0IHRoYXQgc2hvdWxkIAorICAgICAg
ICBiZSBmaXhlZCBieSB0aGlzIHBhdGNoLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9uczoKKwogMjAxOS0xMC0xNSAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXog
IDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBvcnQgYXBuZyB0ZXN0Y2FzZXMgZnJv
bSBXUFQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggMzk2MWRiMWM0M2Q5NGJiM2RiNGM3ZWM4ZWFmM2VlZTcwY2MzNTZmMC4uZmRkZWM3MGQz
MGZhZmE4YTAzODVkNTI3OGZiMzAzNmQ2YTdjYjFjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODk2LDggKzg5Niw2IEBAIHdlYmtpdC5v
cmcvYi8xOTcwNjggWyBEZWJ1ZyBdIGZhc3Qvc2VsZWN0b3JzL21hdGNoZXMtYmFja3RyYWNraW5n
Lmh0bWwgWyBQYXNzIFRpCiAKIHdlYmtpdC5vcmcvYi8xOTcyODMgZmFzdC9jc3MtY3VzdG9tLXBh
aW50L2FuaW1hdGUtcmVwYWludC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9i
LzE5NzI4NSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcHJ1bmUtc3RhdGlzdGlj
cy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzE5NzIwNyBodHRwL3dwdC9y
ZXNvdXJjZS10aW1pbmcvcnQtcmVzb3VyY2VzLXBlci1mcmFtZS5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzE5NzQyNSBbIE1vamF2ZSBEZWJ1ZyBdIHNjcm9sbGluZ2Nvb3Jk
aW5hdG9yL3Njcm9sbGluZy10cmVlL3Njcm9sbGluZy10cmVlLWluY2x1ZGVzLWZyYW1lLmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQpAQCAtOTMyLDQgKzkzMCw0IEBAIHdlYmtpdC5vcmcvYi8xOTk2NTEg
WyBNb2phdmUgRGVidWcgXSB3ZWJncHUvd2hsc2wvYnVpbHRpbi12ZWN0b3JzLTIuaHRtbCBbIFNs
b3cKIAogd2Via2l0Lm9yZy9iLzE5OTA4OSBbIE1vamF2ZSsgRGVidWcgXSBwbHVnaW5zL3dpbmRv
dy1vcGVuLmh0bWwgWyBTa2lwIF0KIAotd2Via2l0Lm9yZy9iLzIwMjUwMCBbIE1vamF2ZSBdIGNy
eXB0by93b3JrZXJzL3N1YnRsZS9hZXMtaW5kZXhlZGRiLmh0bWwgWyBUaW1lb3V0IF0KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2IvMjAyNTAwIFsgTW9qYXZlIF0gY3J5
cHRvL3dvcmtlcnMvc3VidGxlL2Flcy1pbmRleGVkZGIuaHRtbCBbIFRpbWVvdXQgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>