<?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>190475</bug_id>
          
          <creation_ts>2018-10-11 12:01:14 -0700</creation_ts>
          <short_desc>Restrict browsing context lookup by name to frames that are related to one another</short_desc>
          <delta_ts>2018-10-15 08:35:31 -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>DOM</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>
          
          <blocked>190481</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1468105</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-11 12:01:14 -0700</bug_when>
    <thetext>When a new browsing context is created via &lt;a target=&quot;x&quot; rel=&quot;noopener&quot;&gt; or window.open(&quot;&quot;, &quot;x&quot;, &quot;noopener&quot;), we should create a new top-level browsing context instead of one auxiliary one.
As a result, the requester&apos;s browsing context and new new browsing context would not be target each other by frame name (e.g. via anchor target or window.open target).

This aligns us with Firefox and Chrome. The change was discussed at:
- https://github.com/whatwg/html/issues/1826

This allows process swapping in more cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468106</commentid>
    <comment_count>1</comment_count>
      <attachid>352063</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-11 12:14:49 -0700</bug_when>
    <thetext>Created attachment 352063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468125</commentid>
    <comment_count>2</comment_count>
      <attachid>352069</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-11 13:16:37 -0700</bug_when>
    <thetext>Created attachment 352069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468334</commentid>
    <comment_count>3</comment_count>
      <attachid>352069</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-10-11 20:04:02 -0700</bug_when>
    <thetext>Comment on attachment 352069
Patch

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

&gt; Source/WebCore/page/Page.cpp:479
&gt; +bool Page::isAuxiliaryBrowsingContext() const

I like the old name better. It is clear what openedByDOM means on first glance: it was opened by the page not by the user. The new name is very generic and is ambiguous. I mean you could describe both a child window opened programmatically by the page and a child window opened by a user that control-clicks a hyperlink in a pge and select Open in New Window as an auxiliaries window, but this method is only talking about the former. The old name did not led itself to this ambiguity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468343</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-11 20:32:27 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #3)
&gt; Comment on attachment 352069 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=352069&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:479
&gt; &gt; +bool Page::isAuxiliaryBrowsingContext() const
&gt; 
&gt; I like the old name better. It is clear what openedByDOM means on first
&gt; glance: it was opened by the page not by the user. The new name is very
&gt; generic and is ambiguous. I mean you could describe both a child window
&gt; opened programmatically by the page and a child window opened by a user that
&gt; control-clicks a hyperlink in a pge and select Open in New Window as an
&gt; auxiliaries window, but this method is only talking about the former. The
&gt; old name did not led itself to this ambiguity.

ok, I will keep openedByDOM as is. However, I will still need to add isAuxiliaryBrowsingContext because this is a different concept (defined in the HTML spec) and it is the concept I need in this patch for targeting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468346</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-11 20:37:58 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; (In reply to Daniel Bates from comment #3)
&gt; &gt; Comment on attachment 352069 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=352069&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/page/Page.cpp:479
&gt; &gt; &gt; +bool Page::isAuxiliaryBrowsingContext() const
&gt; &gt; 
&gt; &gt; I like the old name better. It is clear what openedByDOM means on first
&gt; &gt; glance: it was opened by the page not by the user. The new name is very
&gt; &gt; generic and is ambiguous. I mean you could describe both a child window
&gt; &gt; opened programmatically by the page and a child window opened by a user that
&gt; &gt; control-clicks a hyperlink in a pge and select Open in New Window as an
&gt; &gt; auxiliaries window, but this method is only talking about the former. The
&gt; &gt; old name did not led itself to this ambiguity.
&gt; 
&gt; ok, I will keep openedByDOM as is. However, I will still need to add
&gt; isAuxiliaryBrowsingContext because this is a different concept (defined in
&gt; the HTML spec) and it is the concept I need in this patch for targeting.

I will think about this more and come up with a better proposal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468453</commentid>
    <comment_count>6</comment_count>
      <attachid>352175</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-12 09:43:09 -0700</bug_when>
    <thetext>Created attachment 352175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468477</commentid>
    <comment_count>7</comment_count>
      <attachid>352179</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-12 10:21:50 -0700</bug_when>
    <thetext>Created attachment 352179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468714</commentid>
    <comment_count>8</comment_count>
      <attachid>352238</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-12 16:38:51 -0700</bug_when>
    <thetext>Created attachment 352238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468740</commentid>
    <comment_count>9</comment_count>
      <attachid>352238</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-12 17:34:04 -0700</bug_when>
    <thetext>Comment on attachment 352238
Patch

Rejecting attachment 352238 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 352238, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 5000 characters of output:
M	LayoutTests/fast/dom/Window/a-rel-noopener-expected.txt
	M	LayoutTests/fast/dom/Window/area-rel-noopener-expected.txt
	M	LayoutTests/fast/dom/Window/resources/rel-noopener.js
	M	LayoutTests/http/tests/navigation/no-referrer-reset-expected.txt
	M	LayoutTests/http/tests/navigation/no-referrer-subframe-expected.txt
	M	LayoutTests/http/tests/navigation/no-referrer-target-blank-expected.txt
	M	LayoutTests/http/tests/navigation/resources/no-referrer-helper.php
	M	LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt
	M	LayoutTests/platform/wk2/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/loader/FrameLoader.cpp
	M	Source/WebCore/page/FrameTree.cpp
	M	Source/WebCore/page/FrameTree.h
	M	Source/WebCore/rendering/HitTestResult.cpp
	M	Source/WebKit/ChangeLog
	M	Source/WebKit/WebProcess/Plugins/PluginView.cpp
	M	Source/WebKitLegacy/mac/ChangeLog
	M	Source/WebKitLegacy/mac/WebView/WebFrame.mm
	M	Source/WebKitLegacy/win/WebFrame.cpp

ERROR from SVN:
A repository hook failed: Commit blocked by pre-commit hook (exit code 1) with output:
Commits are currently disabled while we update infrastructure.
W: 6fa332b5c98cebd27fdbad50d89fcc1880c2ed70 and refs/remotes/origin/master differ, using rebase:
:040000 040000 7398bec2c5a03c3cdd66212347b41c9b06b65704 92eda367eb67787361b8f4da2a96959390505aa7 M	LayoutTests
:040000 040000 4a7575fc0576fe76a4bd0a476790490d9ad09727 db349c7d53434e63104b36e19511df8a3253ad7d M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	A	LayoutTests/http/tests/dom/new-window-can-target-opener-expected.txt
	A	LayoutTests/http/tests/dom/new-window-can-target-opener.html
	A	LayoutTests/http/tests/dom/noopener-window-cannot-target-opener-expected.txt
	A	LayoutTests/http/tests/dom/noopener-window-cannot-target-opener.html
	A	LayoutTests/http/tests/dom/noopener-window-not-targetable-expected.txt
	A	LayoutTests/http/tests/dom/noopener-window-not-targetable.html
	A	LayoutTests/http/tests/dom/noopener-window-not-targetable2-expected.txt
	A	LayoutTests/http/tests/dom/noopener-window-not-targetable2.html
	A	LayoutTests/http/tests/dom/noreferrer-window-not-targetable-expected.txt
	A	LayoutTests/http/tests/dom/noreferrer-window-not-targetable.html
	A	LayoutTests/http/tests/dom/opened-window-not-targetable-after-disowning-opener-expected.txt
	A	LayoutTests/http/tests/dom/opened-window-not-targetable-after-disowning-opener.html
	A	LayoutTests/http/tests/dom/resources/new-window-can-target-opener-win.html
	A	LayoutTests/http/tests/dom/resources/noopener-window-cannot-target-opener-win.html
	M	LayoutTests/ChangeLog
	M	LayoutTests/fast/dom/Window/a-rel-noopener-expected.txt
	M	LayoutTests/fast/dom/Window/area-rel-noopener-expected.txt
	M	LayoutTests/fast/dom/Window/resources/rel-noopener.js
	M	LayoutTests/http/tests/navigation/no-referrer-reset-expected.txt
	M	LayoutTests/http/tests/navigation/no-referrer-subframe-expected.txt
	M	LayoutTests/http/tests/navigation/no-referrer-target-blank-expected.txt
	M	LayoutTests/http/tests/navigation/resources/no-referrer-helper.php
	M	LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt
	M	LayoutTests/platform/wk2/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/loader/FrameLoader.cpp
	M	Source/WebCore/page/FrameTree.cpp
	M	Source/WebCore/page/FrameTree.h
	M	Source/WebCore/rendering/HitTestResult.cpp
	M	Source/WebKit/ChangeLog
	M	Source/WebKit/WebProcess/Plugins/PluginView.cpp
	M	Source/WebKitLegacy/mac/ChangeLog
	M	Source/WebKitLegacy/mac/WebView/WebFrame.mm
	M	Source/WebKitLegacy/win/WebFrame.cpp

ERROR from SVN:
A repository hook failed: Commit blocked by pre-commit hook (exit code 1) with output:
Commits are currently disabled while we update infrastructure.
W: 6fa332b5c98cebd27fdbad50d89fcc1880c2ed70 and refs/remotes/origin/master differ, using rebase:
:040000 040000 7398bec2c5a03c3cdd66212347b41c9b06b65704 92eda367eb67787361b8f4da2a96959390505aa7 M	LayoutTests
:040000 040000 4a7575fc0576fe76a4bd0a476790490d9ad09727 db349c7d53434e63104b36e19511df8a3253ad7d M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: https://webkit-queues.webkit.org/results/9560045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469200</commentid>
    <comment_count>10</comment_count>
      <attachid>352238</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-15 07:56:10 -0700</bug_when>
    <thetext>Comment on attachment 352238
Patch

Rejecting attachment 352238 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 352238, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 5000 characters of output:
ed.txt
	M	LayoutTests/http/tests/navigation/resources/no-referrer-helper.php
	M	LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt
	M	LayoutTests/platform/wk2/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/loader/FrameLoader.cpp
	M	Source/WebCore/page/FrameTree.cpp
	M	Source/WebCore/page/FrameTree.h
	M	Source/WebCore/rendering/HitTestResult.cpp
	M	Source/WebKit/ChangeLog
	M	Source/WebKit/WebProcess/Plugins/PluginView.cpp
	M	Source/WebKitLegacy/mac/ChangeLog
	M	Source/WebKitLegacy/mac/WebView/WebFrame.mm
	M	Source/WebKitLegacy/win/WebFrame.cpp

ERROR from SVN:
Merge conflict during commit: Conflict at &apos;/trunk/LayoutTests/ChangeLog&apos;
W: 505b2ab3d2d4d24b8734323771dfd4aa3d52d924 and refs/remotes/origin/master differ, using rebase:
:040000 040000 ff77979ff58f768c05db733d8f29b42359038beb d1a543eadbd9333c7f42d831c625908d4ad0d3e1 M	LayoutTests
:040000 040000 1d8cc1e683136c74215912d073b83f084c32c4af 56273f4a65fcc62a748c915bf4452ab155095092 M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	A	LayoutTests/http/tests/dom/new-window-can-target-opener-expected.txt
	A	LayoutTests/http/tests/dom/new-window-can-target-opener.html
	A	LayoutTests/http/tests/dom/noopener-window-cannot-target-opener-expected.txt
	A	LayoutTests/http/tests/dom/noopener-window-cannot-target-opener.html
	A	LayoutTests/http/tests/dom/noopener-window-not-targetable-expected.txt
	A	LayoutTests/http/tests/dom/noopener-window-not-targetable.html
	A	LayoutTests/http/tests/dom/noopener-window-not-targetable2-expected.txt
	A	LayoutTests/http/tests/dom/noopener-window-not-targetable2.html
	A	LayoutTests/http/tests/dom/noreferrer-window-not-targetable-expected.txt
	A	LayoutTests/http/tests/dom/noreferrer-window-not-targetable.html
	A	LayoutTests/http/tests/dom/opened-window-not-targetable-after-disowning-opener-expected.txt
	A	LayoutTests/http/tests/dom/opened-window-not-targetable-after-disowning-opener.html
	A	LayoutTests/http/tests/dom/resources/new-window-can-target-opener-win.html
	A	LayoutTests/http/tests/dom/resources/noopener-window-cannot-target-opener-win.html
	M	LayoutTests/ChangeLog
	M	LayoutTests/fast/dom/Window/a-rel-noopener-expected.txt
	M	LayoutTests/fast/dom/Window/area-rel-noopener-expected.txt
	M	LayoutTests/fast/dom/Window/resources/rel-noopener.js
	M	LayoutTests/http/tests/navigation/no-referrer-reset-expected.txt
	M	LayoutTests/http/tests/navigation/no-referrer-subframe-expected.txt
	M	LayoutTests/http/tests/navigation/no-referrer-target-blank-expected.txt
	M	LayoutTests/http/tests/navigation/resources/no-referrer-helper.php
	M	LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt
	M	LayoutTests/platform/wk2/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/loader/FrameLoader.cpp
	M	Source/WebCore/page/FrameTree.cpp
	M	Source/WebCore/page/FrameTree.h
	M	Source/WebCore/rendering/HitTestResult.cpp
	M	Source/WebKit/ChangeLog
	M	Source/WebKit/WebProcess/Plugins/PluginView.cpp
	M	Source/WebKitLegacy/mac/ChangeLog
	M	Source/WebKitLegacy/mac/WebView/WebFrame.mm
	M	Source/WebKitLegacy/win/WebFrame.cpp

ERROR from SVN:
Merge conflict during commit: Conflict at &apos;/trunk/LayoutTests/ChangeLog&apos;
W: 505b2ab3d2d4d24b8734323771dfd4aa3d52d924 and refs/remotes/origin/master differ, using rebase:
:040000 040000 ff77979ff58f768c05db733d8f29b42359038beb d1a543eadbd9333c7f42d831c625908d4ad0d3e1 M	LayoutTests
:040000 040000 1d8cc1e683136c74215912d073b83f084c32c4af 56273f4a65fcc62a748c915bf4452ab155095092 M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
From https://git.webkit.org/git/WebKit
   380292d5256..0adfe55c838  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 237103 = 380292d525682cca4e526545dc94c84b20ba2440
r237104 = 6157765c1985fca826feeb674b1cc9d643a07717
r237105 = 0adfe55c838a3d9733642308a214e698ab8310a1
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: https://webkit-queues.webkit.org/results/9582276</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469240</commentid>
    <comment_count>11</comment_count>
      <attachid>352238</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-15 08:34:49 -0700</bug_when>
    <thetext>Comment on attachment 352238
Patch

Clearing flags on attachment: 352238

Committed r237112: &lt;https://trac.webkit.org/changeset/237112&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469241</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-15 08:34:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469243</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-15 08:35:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/45271874&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352063</attachid>
            <date>2018-10-11 12:14:49 -0700</date>
            <delta_ts>2018-10-11 13:16:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190475-20181011121448.patch</filename>
            <type>text/plain</type>
            <size>20206</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBmNDM0NzgzOGNiZjZj
OTViM2VkYmM5MTRhZDI5MDM0YzU3MWNkYy4uYTgwODAyMzI5YmQwMGEzOTlhYmYzOTQ3MDlkMDc0
NjZjNmVhMGNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE4LTEwLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQnJvd3NpbmcgY29udGV4dHMg
Y3JlYXRlZCB3aXRoICdub29wZW5lcicgc2hvdWxkIG5vdCBiZSB0YXJnZXRhYmxlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0NzUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGEgbmV3IGJyb3dz
aW5nIGNvbnRleHQgaXMgY3JlYXRlZCB2aWEgPGEgdGFyZ2V0PSJ4IiByZWw9Im5vb3BlbmVyIj4g
b3Igd2luZG93Lm9wZW4oIiIsICJ4IiwgIm5vb3BlbmVyIiksCisgICAgICAgIHdlIHNob3VsZCBj
cmVhdGUgYSBuZXcgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgaW5zdGVhZCBvZiBvbmUgYXV4
aWxpYXJ5IG9uZS4KKyAgICAgICAgQXMgYSByZXN1bHQsIHRoZSByZXF1ZXN0ZXIncyBicm93c2lu
ZyBjb250ZXh0IGFuZCBuZXcgbmV3IGJyb3dzaW5nIGNvbnRleHQgd291bGQgbm90IGJlIHRhcmdl
dCBlYWNoIG90aGVyIGJ5CisgICAgICAgIGZyYW1lIG5hbWUgKGUuZy4gdmlhIGFuY2hvciB0YXJn
ZXQgb3Igd2luZG93Lm9wZW4gdGFyZ2V0KS4KKworICAgICAgICBUaGlzIGFsaWducyB1cyB3aXRo
IEZpcmVmb3ggYW5kIENocm9tZS4gVGhlIGNoYW5nZSB3YXMgZGlzY3Vzc2VkIGF0OgorICAgICAg
ICAtIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9pc3N1ZXMvMTgyNgorCisgICAgICAg
IFRoaXMgYWxsb3dzIHByb2Nlc3Mgc3dhcHBpbmcgaW4gbW9yZSBjYXNlcy4KKworICAgICAgICBU
ZXN0czogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwK
KyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0
YWJsZTIuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5k
b3ctbm90LXRhcmdldGFibGUuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbDo6b3BlbkluTmV3VGFiKToKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0T3BlbmVyKToKKyAg
ICAgICAgQWRkIGFzc2VydGlvbiB0byBtYWtlIHN1cmUgd2Ugb25seSBzZXQgb3BlbmVycyBvbiBh
dXhpbGlhcnkgYnJvd3NpbmcgY29udGV4dHMuCisKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeSk6CisgICAgICAgIE9ubHkgY2Fs
bCBtYXJrQXNBdXhpbGlhcnlCcm93c2luZ0NvbnRleHQoKSBvbiB0aGUgbmV3IFBhZ2UgaWYgbm9v
cGVuZXIgaXMgZmFsc2UuCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpET01XaW5kb3c6OmNsb3NlKToKKworICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93OjpjcmVhdGVXaW5kb3cpOgorICAgICAgICBPbmx5IGNhbGwgbWFya0FzQXV4aWxpYXJ5QnJv
d3NpbmdDb250ZXh0KCkgb24gdGhlIG5ldyBQYWdlIGlmIG5vb3BlbmVyIGlzIGZhbHNlLgorCisg
ICAgICAgICogcGFnZS9GcmFtZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVUcmVl
OjpmaW5kIGNvbnN0KToKKyAgICAgICAgVXBkYXRlIEZyYW1lVHJlZTo6ZmluZCgpIHRvIG9ubHkg
cmV0dXJuIGZyYW1lcyBpbiBvdGhlciBwYWdlcyBpZiB0aGV5IGFyZSBhdXhpbGlhcnkgYnJvd3Np
bmcgY29udGV4dHMuCisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZTo6aXNBdXhpbGlhcnlCcm93c2luZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6bWFya0FzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0KToKKyAgICAgICAgKiBw
YWdlL1BhZ2UuaDoKKyAgICAgICAgUmVuYW1lIG9wZW5lZEJ5RE9NIHRvIGlzQXV4aWxpYXJ5QnJv
d3NpbmdDb250ZXh0IHNpbmNlIHRoaXMgaXMgd2hhdCBpdCBtZWFudCBiYXNlZAorICAgICAgICBv
biBpdHMgdXNhZ2UuCisKIDIwMTgtMTAtMTEgIEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVv
Y2FuaGFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXVtNU0VdIEZpeCBoZWlnaHQg
Y2FsY3VsYXRpb24gZm9yIHN0cmVhbXMgd2l0aCBzb3VyY2UgYXNwZWN0IHJhdGlvCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbC5jcHAKaW5kZXggOGUxYzQ4MjlkZmY1YmVhYzFkNmZjMDMyMDljZWJmZDBjNDUwNTc3NC4u
YTMwZTc5ZjQ4Mjc0Mjk0MjQxOWZjMzhhYjk5NjlhYWFkZjQxZjAyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
LmNwcApAQCAtMjM0LDggKzIzNCw4IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bDo6b3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsKQogICAgIGlmICghZnJhbWUpCiAgICAg
ICAgIHJldHVybjsKIAorICAgIGZyYW1lLT5wYWdlKCktPm1hcmtBc0F1eGlsaWFyeUJyb3dzaW5n
Q29udGV4dCgpOwogICAgIGZyYW1lLT5sb2FkZXIoKS5zZXRPcGVuZXIoJm1haW5GcmFtZSk7Ci0g
ICAgZnJhbWUtPnBhZ2UoKS0+c2V0T3BlbmVkQnlET00oKTsKIAogICAgIC8vIEZJWE1FOiBXaHkg
ZG8gd2UgY29tcHV0ZSB0aGUgYWJzb2x1dGUgVVJMIHdpdGggcmVzcGVjdCB0byB8ZnJhbWV8IGlu
c3RlYWQgb2YgfG1haW5GcmFtZXw/CiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291cmNlUmVxdWVz
dCB7IGZyYW1lLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwpIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA4NDAzODc2YTM2MWY2ZTA2M2YyNDZhOGU4Y2VlMTBh
YWQ5NjRlNmIyLi45NThmY2IyOTcxNmRmOTVhZDhjOTY4NmU1MTE3ODgwZDczMTkzMmFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTEwNDcsOCArMTA0NywxMCBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpzZXRPcGVuZXIoRnJhbWUqIG9wZW5lcikKICAgICAgICAgYXV0byYg
b3BlbmVyRnJhbWVMb2FkZXIgPSBtX29wZW5lciA9PSAmbV9mcmFtZSA/ICp0aGlzIDogbV9vcGVu
ZXItPmxvYWRlcigpOwogICAgICAgICBvcGVuZXJGcmFtZUxvYWRlci5tX29wZW5lZEZyYW1lcy5y
ZW1vdmUoJm1fZnJhbWUpOwogICAgIH0KLSAgICBpZiAob3BlbmVyKQorICAgIGlmIChvcGVuZXIp
IHsKKyAgICAgICAgQVNTRVJUKG1fZnJhbWUucGFnZSgpLT5pc0F1eGlsaWFyeUJyb3dzaW5nQ29u
dGV4dCgpKTsKICAgICAgICAgb3BlbmVyLT5sb2FkZXIoKS5tX29wZW5lZEZyYW1lcy5hZGQoJm1f
ZnJhbWUpOworICAgIH0KICAgICBtX29wZW5lciA9IG9wZW5lcjsKIAogICAgIGlmIChtX2ZyYW1l
LmRvY3VtZW50KCkpCkBAIC0zMzkwLDkgKzMzOTIsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjb250
aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
cwogICAgIGlmICghZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShmcmFtZU5hbWUsICJfYmxhbmsiKSkK
ICAgICAgICAgbWFpbkZyYW1lLT50cmVlKCkuc2V0TmFtZShmcmFtZU5hbWUpOwogCi0gICAgbWFp
bkZyYW1lLT5wYWdlKCktPnNldE9wZW5lZEJ5RE9NKCk7CiAgICAgbWFpbkZyYW1lLT5sb2FkZXIo
KS5tX2NsaWVudC5kaXNwYXRjaFNob3coKTsKICAgICBpZiAob3BlbmVyUG9saWN5ID09IE5ld0Zy
YW1lT3BlbmVyUG9saWN5OjpBbGxvdykgeworICAgICAgICBtYWluRnJhbWUtPnBhZ2UoKS0+bWFy
a0FzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0KCk7CiAgICAgICAgIG1haW5GcmFtZS0+bG9hZGVy
KCkuc2V0T3BlbmVyKGZyYW1lLnB0cigpKTsKICAgICAgICAgbWFpbkZyYW1lLT5kb2N1bWVudCgp
LT5zZXRSZWZlcnJlclBvbGljeShmcmFtZS0+ZG9jdW1lbnQoKS0+cmVmZXJyZXJQb2xpY3koKSk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDBjM2EyNTRlNTkyYzBkNzg4
YTZmYzQzODA2YTQ3ZTBjNTg1NzM5OTguLjlhZjUxMmY1NTMzOTNkYjBlNDlkYjMwMTkwODg5Y2I5
NGZlMzUzNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTEwNzcsNyArMTA3Nyw3
IEBAIHZvaWQgRE9NV2luZG93OjpjbG9zZSgpCiAgICAgaWYgKCFmcmFtZS0+aXNNYWluRnJhbWUo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCEocGFnZS0+b3BlbmVkQnlET00oKSB8fCBw
YWdlLT5iYWNrRm9yd2FyZCgpLmNvdW50KCkgPD0gMSkpIHsKKyAgICBpZiAoIShwYWdlLT5pc0F1
eGlsaWFyeUJyb3dzaW5nQ29udGV4dCgpIHx8IHBhZ2UtPmJhY2tGb3J3YXJkKCkuY291bnQoKSA8
PSAxKSkgewogICAgICAgICBjb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMs
IE1lc3NhZ2VMZXZlbDo6V2FybmluZywgIkNhbid0IGNsb3NlIHRoZSB3aW5kb3cgc2luY2UgaXQg
d2FzIG5vdCBvcGVuZWQgYnkgSmF2YVNjcmlwdCJfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CkBAIC0yMjg0LDEwICsyMjg0LDEwIEBAIEV4Y2VwdGlvbk9yPFJlZlB0cjxGcmFtZT4+IERPTVdp
bmRvdzo6Y3JlYXRlV2luZG93KGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zCiAgICAgICAg
IHJldHVybiBSZWZQdHI8RnJhbWU+IHsgbnVsbHB0ciB9OwogCiAgICAgaWYgKCF3aW5kb3dGZWF0
dXJlcy5ub29wZW5lcikgeworICAgICAgICBuZXdGcmFtZS0+cGFnZSgpLT5tYXJrQXNBdXhpbGlh
cnlCcm93c2luZ0NvbnRleHQoKTsKICAgICAgICAgbmV3RnJhbWUtPmxvYWRlcigpLnNldE9wZW5l
cigmb3BlbmVyRnJhbWUpOwogICAgICAgICBuZXdGcmFtZS0+cGFnZSgpLT5zZXRPcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lcigpOwogICAgIH0KLSAgICBuZXdGcmFtZS0+cGFnZSgpLT5zZXRP
cGVuZWRCeURPTSgpOwogCiAgICAgaWYgKG5ld0ZyYW1lLT5kb2N1bWVudCgpLT5kb21XaW5kb3co
KS0+aXNJbnNlY3VyZVNjcmlwdEFjY2VzcyhhY3RpdmVXaW5kb3csIGNvbXBsZXRlZFVSTCkpCiAg
ICAgICAgIHJldHVybiB3aW5kb3dGZWF0dXJlcy5ub29wZW5lciA/IFJlZlB0cjxGcmFtZT4geyBu
dWxscHRyIH0gOiBuZXdGcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmNwcAppbmRleCA0MmNi
MzMzYTBjMDlkNTE0ZGIwZjE3YzdjZjBkYjZmODc2NmJmZDMwLi44MzUzNTlhNzQzNzM5MTU4NjIz
NWQ5ZDI4NzRlZTkzN2NlODI0MWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuY3BwCkBAIC0y
NDMsNyArMjQzLDcgQEAgRnJhbWUqIEZyYW1lVHJlZTo6ZmluZChjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWUpIGNvbnN0CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAogICAgIGZvciAoYXV0
byogb3RoZXJQYWdlIDogcGFnZS0+Z3JvdXAoKS5wYWdlcygpKSB7Ci0gICAgICAgIGlmIChvdGhl
clBhZ2UgPT0gcGFnZSkKKyAgICAgICAgaWYgKG90aGVyUGFnZSA9PSBwYWdlIHx8ICFwYWdlLT5p
c0F1eGlsaWFyeUJyb3dzaW5nQ29udGV4dCgpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBm
cmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgICAgIGlmIChm
cmFtZS0+dHJlZSgpLnVuaXF1ZU5hbWUoKSA9PSBuYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
NGFiNDBhNzQ4Y2UyMTJmOGVmOTllOTc5NjE1MWQzZGE2ZjFjYjI1OS4uYmI2NjFkYTM3N2RhOWRh
Nzg4MDc1NDYxYTg3OWQ5ZjEyYTA3OWY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC00NzYsMTQg
KzQ3NiwxNCBAQCBSZWY8RE9NUmVjdExpc3Q+IFBhZ2U6OnBhc3NpdmVUb3VjaEV2ZW50TGlzdGVu
ZXJSZWN0cygpCiAgICAgcmV0dXJuIERPTVJlY3RMaXN0OjpjcmVhdGUocXVhZHMpOwogfQogCi1i
b29sIFBhZ2U6Om9wZW5lZEJ5RE9NKCkgY29uc3QKK2Jvb2wgUGFnZTo6aXNBdXhpbGlhcnlCcm93
c2luZ0NvbnRleHQoKSBjb25zdAogewotICAgIHJldHVybiBtX29wZW5lZEJ5RE9NOworICAgIHJl
dHVybiBtX2lzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0OwogfQogCi12b2lkIFBhZ2U6OnNldE9w
ZW5lZEJ5RE9NKCkKK3ZvaWQgUGFnZTo6bWFya0FzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0KCkK
IHsKLSAgICBtX29wZW5lZEJ5RE9NID0gdHJ1ZTsKKyAgICBtX2lzQXV4aWxpYXJ5QnJvd3NpbmdD
b250ZXh0ID0gdHJ1ZTsKIH0KIAogdm9pZCBQYWdlOjpnb1RvSXRlbShIaXN0b3J5SXRlbSYgaXRl
bSwgRnJhbWVMb2FkVHlwZSB0eXBlLCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxk
VHJlYXRBc0NvbnRpbnVpbmdMb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAyNGI0MWRlM2Q2MWZhMTY4
MTg4MjFlZDMwY2Q3ZTdiOTRmNjgwZDcxLi5lOTZmZGRjYzk5YWYzZjBlN2YwZGRjYjVkZmFmYjM4
NGJmMzhhMWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTk5LDggKzE5OSw4IEBAIHB1YmxpYzoKICAg
ICBGcmFtZSYgbWFpbkZyYW1lKCkgeyByZXR1cm4gbV9tYWluRnJhbWUuZ2V0KCk7IH0KICAgICBj
b25zdCBGcmFtZSYgbWFpbkZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9tYWluRnJhbWUuZ2V0KCk7
IH0KIAotICAgIGJvb2wgb3BlbmVkQnlET00oKSBjb25zdDsKLSAgICB2b2lkIHNldE9wZW5lZEJ5
RE9NKCk7CisgICAgYm9vbCBpc0F1eGlsaWFyeUJyb3dzaW5nQ29udGV4dCgpIGNvbnN0OworICAg
IHZvaWQgbWFya0FzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0KCk7CiAKICAgICBib29sIG9wZW5l
ZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuZWRWaWFXaW5k
b3dPcGVuV2l0aE9wZW5lcjsgfQogICAgIHZvaWQgc2V0T3BlbmVkVmlhV2luZG93T3BlbldpdGhP
cGVuZXIoKSB7IG1fb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIgPSB0cnVlOyB9CkBAIC03
NTIsNyArNzUyLDcgQEAgcHJpdmF0ZToKIAogICAgIGludCBtX3N1YmZyYW1lQ291bnQgeyAwIH07
CiAgICAgU3RyaW5nIG1fZ3JvdXBOYW1lOwotICAgIGJvb2wgbV9vcGVuZWRCeURPTSB7IGZhbHNl
IH07CisgICAgYm9vbCBtX2lzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0IHsgZmFsc2UgfTsKICAg
ICBib29sIG1fb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIgeyBmYWxzZSB9OwogCiAgICAg
Ym9vbCBtX3RhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyB7IHRydWUgfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlM2Qx
MTk4YmYwYmJiMjdkMDRiNjk3MjdjMTMwODdhMzRiODA1MWEwLi5iMGExMjI3ZjVhOWMzYjZiMjIx
MGY2MmM1ZDI3NzRjYThiMmU3ZWYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTgtMTAtMTEg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBCcm93c2luZyBjb250
ZXh0cyBjcmVhdGVkIHdpdGggJ25vb3BlbmVyJyBzaG91bGQgbm90IGJlIHRhcmdldGFibGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1u
b3QtdGFyZ2V0YWJsZTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5k
b3ctbm90LXRhcmdldGFibGUuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBj
b3ZlcmFnZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1yZWZlcnJlci10
YXJnZXQtYmxhbmstZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9yZXNvdXJjZXMvbm8tcmVmZXJyZXItaGVscGVyLnBocDoKKyAgICAgICAgVXBkYXRlIGV4aXN0
aW5nIHRlc3QgdG8gcmVmbGVjdCBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93
aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL3drMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
d2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmVi
YXNlbGluZSBXUFQgdGVzdCBub3cgdGhhdCBsb2dnaW5nIGhhcyBjaGFuZ2VkLgorCiAyMDE4LTEw
LTExICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBMYXlv
dXQgVGVzdCBmYXN0L2Zvcm1zL2ZpZWxkc2V0L2ZpZWxkc2V0LWVsZW1lbnRzLWh0bWxjb2xsZWN0
aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9k
b20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjNkN2IwN2QwY2FiZjhhOWNjZGVmNWE4MDIzYzVhOTk4MWJjOWQz
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVy
LXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorTWFr
ZSBzdXJlIHRoYXQgd2luZG93cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSBhbiBhbmNob3Ig
YXJlIG5vdCB0YXJnZXRhYmxlLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNlZSAy
IHRhYnMgb3Blbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgdy5sb2Nh
dGlvbi5ocmVmIGlzICJhYm91dDpibGFuayIKK1BBU1MgdGVzdFJ1bm5lci53aW5kb3dDb3VudCgp
IGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ct
bm90LXRhcmdldGFibGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVy
LXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwMzJhNzMwZGNlYmIyYTlm
NWUzMjQyZTkyOGFiMWFiNWYzODk2MDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUuaHRtbApAQCAtMCww
ICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8YSBpZD0idGVzdExpbmsiIHRhcmdldD0iZm9vIiByZWw9Im5vb3BlbmVyIiBocmVmPSIvbmF2
aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwiPjwvYT4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiTWFrZSBzdXJlIHRoYXQgd2luZG93cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSBh
biBhbmNob3IgYXJlIG5vdCB0YXJnZXRhYmxlLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hv
dWxkIHNlZSAyIHRhYnMgb3Blbi4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAK
Kworb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgdGVzdExpbmsuY2xpY2soKTsKKworICAgIHNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHcgPSBvcGVuKCIvbmF2aWdhdGlvbi9yZXNv
dXJjZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIik7IC8vIFNob3VsZCBjcmVhdGUgYSBuZXcgd2lu
ZG93LgorICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIncubG9jYXRpb24uaHJlZiIsICJh
Ym91dDpibGFuayIpOworICAgICAgICB3Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ0ZXN0
UnVubmVyLndpbmRvd0NvdW50KCkiLCAiMyIpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgIH0KKyAgICB9LCAxMDApOworfSAgICAKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2lu
ZG93LW5vdC10YXJnZXRhYmxlMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45Y2Q5NzYxOGYwMThlOThlMjdkNjkyYWQ3MmY2MTg1YTgyZGMzNDM2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10
YXJnZXRhYmxlMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorTWFrZSBzdXJlIHRoYXQg
d2luZG93cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSB3aW5kb3cub3BlbiBhcmUgbm90IHRh
cmdldGFibGUuIElmIHRlc3RpbmcgbWFudWFsbHksIHlvdSBzaG91bGQgc2VlIDIgdGFicyBvcGVu
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3IGlzIG51bGwKK1BBU1Mg
dy5sb2NhdGlvbi5ocmVmIGlzICJhYm91dDpibGFuayIKK1BBU1MgdGVzdFJ1bm5lci53aW5kb3dD
b3VudCgpIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13
aW5kb3ctbm90LXRhcmdldGFibGUyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9u
b29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDljMDE5YmIy
NDM4MzcxMDI5NTY1ZjgwYWVkZTUyNzg5OWExMDljNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZTIuaHRt
bApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSB0aGF0IHdpbmRvd3Mg
b3BlbmVkIHdpdGggJ25vb3BlbmVyJyB2aWEgd2luZG93Lm9wZW4gYXJlIG5vdCB0YXJnZXRhYmxl
LiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNlZSAyIHRhYnMgb3Blbi4iKTsKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAKKworb25sb2FkID0gZnVuY3Rpb24oKSB7Cisg
ICAgdyA9IHdpbmRvdy5vcGVuKCIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwi
LCAiZm9vIiwgIm5vb3BlbmVyIik7CisgICAgc2hvdWxkQmVOdWxsKCJ3Iik7CisKKyAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICB3ID0gb3BlbigiL25hdmlnYXRpb24vcmVzb3Vy
Y2VzL290aGVycGFnZS5odG1sIiwgImZvbyIpOyAvLyBTaG91bGQgY3JlYXRlIGEgbmV3IHdpbmRv
dy4KKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3LmxvY2F0aW9uLmhyZWYiLCAiYWJv
dXQ6YmxhbmsiKTsKKyAgICAgICAgdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgidGVzdFJ1
bm5lci53aW5kb3dDb3VudCgpIiwgIjMiKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICB9CisgICAgfSwgMTAwKTsKK30gICAgCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vcmVmZXJyZXItd2lu
ZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZWJlYjczYWViMmY3YjRiYTI5ZDM3MWVhYzM2NzYxMzgyNGZhMmRjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5kb3ctbm90
LXRhcmdldGFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK01ha2Ugc3VyZSB0aGF0
IHdpbmRvd3Mgb3BlbmVkIHdpdGggJ25vcmVmZXJyZXInIGFyZSBub3QgdGFyZ2V0YWJsZS4gSWYg
dGVzdGluZyBtYW51YWxseSwgeW91IHNob3VsZCBzZWUgMiB0YWJzIG9wZW4uCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHcubG9jYXRpb24uaHJlZiBpcyAiYWJvdXQ6Ymxh
bmsiCitQQVNTIHRlc3RSdW5uZXIud2luZG93Q291bnQoKSBpcyAzCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5kb3ctbm90LXRhcmdldGFibGUuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRh
YmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODQyOTIxYzRkMDM4NmI0MDcxYzViOWI5ZmZhMTJhMjliOTli
OTc1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vcmVm
ZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGEgaWQ9InRlc3RMaW5r
IiB0YXJnZXQ9ImZvbyIgcmVsPSJub3JlZmVycmVyIiBocmVmPSIvbmF2aWdhdGlvbi9yZXNvdXJj
ZXMvb3RoZXJwYWdlLmh0bWwiPjwvYT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJl
IHRoYXQgd2luZG93cyBvcGVuZWQgd2l0aCAnbm9yZWZlcnJlcicgYXJlIG5vdCB0YXJnZXRhYmxl
LiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNlZSAyIHRhYnMgb3Blbi4iKTsKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAKKworb25sb2FkID0gZnVuY3Rpb24oKSB7Cisg
ICAgdGVzdExpbmsuY2xpY2soKTsKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAg
ICB3ID0gb3BlbigiL25hdmlnYXRpb24vcmVzb3VyY2VzL290aGVycGFnZS5odG1sIiwgImZvbyIp
OyAvLyBTaG91bGQgY3JlYXRlIGEgbmV3IHdpbmRvdy4KKyAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ3LmxvY2F0aW9uLmhyZWYiLCAiYWJvdXQ6YmxhbmsiKTsKKyAgICAgICAgdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgidGVzdFJ1bm5lci53aW5kb3dDb3VudCgpIiwgIjMiKTsK
KyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisgICAgfSwgMTAwKTsKK30g
ICAgCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1yZWZlcnJlci10YXJnZXQtYmxhbmstZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXRhcmdl
dC1ibGFuay1leHBlY3RlZC50eHQKaW5kZXggNWMzMmU1ZTcxNjAzMGY2NzdmNTVkNTE0MmFiNDkw
YzQyYmY1NDVkZi4uY2FhZGFiZThlMzg4MjZmMmE4ZjFlMmEzMWEwNDhiODRlZGY5OTMyNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXRh
cmdldC1ibGFuay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZp
Z2F0aW9uL25vLXJlZmVycmVyLXRhcmdldC1ibGFuay1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1
IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IFJlZmVycmVyOgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE2OiB3aW5kb3cub3BlbmVyOiAKIFRoaXMgdGVzdHMgdGhlIGZ1bmN0aW9uYWxpdHkg
b2YgdGhlICJub3JlZmVycmVyIiBsaW5rIHJlbGF0aW9uIG9uIGFuY2hvciB0YWdzLiBUaGUgbGlu
ayBiZWxvdyBzaG91bGQgbm90IHNlbmQgYW4gaHR0cCByZWZlcnJlciwgYW5kIHRoZSByZXN1bHRp
bmcgd2luZG93IHNob3VsZCBoYXZlIGl0cyBvcGVuZXIgYXR0cmlidXRlIHNldCB0byBudWxsLiBU
aGUgdmFsdWVzIG9mIHRoZSByZWZlcnJlciBhbmQgd2luZG93Lm9wZW5lciBzaG91bGQgYmUgZW1w
dHkgYmVsb3cuCiBTdGFydCBubyByZWZlcnJlciB0ZXN0Ci1SZWZlcnJlcjoKLXdpbmRvdy5vcGVu
ZXI6CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNv
dXJjZXMvbm8tcmVmZXJyZXItaGVscGVyLnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9yZXNvdXJjZXMvbm8tcmVmZXJyZXItaGVscGVyLnBocAppbmRleCBmZWE5M2RjODA5
MDczYjMyN2ZlYzZlODIxNTBlMjk1Y2YyZTQzMzMwLi41YzJhYmYzN2FhMzA5YTlkYjNiYjEzNDNj
MjA4Y2IyNzBmMDBlNjE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcmVzb3VyY2VzL25vLXJlZmVycmVyLWhlbHBlci5waHAKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uby1yZWZlcnJlci1oZWxwZXIucGhwCkBA
IC0xOCwxMSArMTgsOCBAQCBmdW5jdGlvbiBsb2cobXNnKQogICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjb25zb2xlJykuYXBwZW5kQ2hpbGQobGluZSk7CiB9CiAKLSAgICB2YXIgY29uc29s
ZVdpbmRvdyA9IHdpbmRvdy5vcGVuKCIiLCAiY29uc29sZVdpbmRvdyIpOwotICAgIGlmIChjb25z
b2xlV2luZG93KSB7Ci0gICAgICAgIGNvbnNvbGVXaW5kb3cubG9nKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJyZWZlcnJlciIpLmlubmVyVGV4dCk7Ci0gICAgICAgIGNvbnNvbGVXaW5kb3cubG9n
KCJ3aW5kb3cub3BlbmVyOiAiICsgKHdpbmRvdy5vcGVuZXIgPyB3aW5kb3cub3BlbmVyLmxvY2F0
aW9uIDogIiIpKTsKLSAgICB9CisgICAgY29uc29sZS5sb2coZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlZmVycmVyIikuaW5uZXJUZXh0KTsKKyAgICBjb25zb2xlLmxvZygid2luZG93Lm9wZW5l
cjogIiArICh3aW5kb3cub3BlbmVyID8gd2luZG93Lm9wZW5lci5sb2NhdGlvbiA6ICIiKSk7CiAg
ICAgCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJl
ci13aW5kb3ctbmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL25v
cmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0CmluZGV4IDBiNzc1NjE5YzNlMmY5M2I1
YjgxNWQ3Y2UzNmI1NDZlZjMzZWM4MTYuLjExZWRlNjViZTgwZGNmOWQ2MjgyNDBmYTg4MjgxZDE1
MGRhMTFkMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJl
ci13aW5kb3ctbmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93
cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDMgQEAKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSAzNzogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0
aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnJyBmcm9tIGZyYW1lIHdpdGggVVJM
ICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvaHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVmZXJyZXIt
d2luZG93LW5hbWUuaHRtbCcuIFRoZSBmcmFtZSBhdHRlbXB0aW5nIG5hdmlnYXRpb24gaXMgbmVp
dGhlciBzYW1lLW9yaWdpbiB3aXRoIHRoZSB0YXJnZXQsIG5vciBpcyBpdCB0aGUgdGFyZ2V0J3Mg
cGFyZW50IG9yIG9wZW5lci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM4OiBVbnNhZmUgSmF2
YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJM
ICcnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9odG1sL2Jyb3dz
ZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS5odG1sJy4gVGhlIGZyYW1lIGF0dGVt
cHRpbmcgbmF2aWdhdGlvbiBpcyBuZWl0aGVyIHNhbWUtb3JpZ2luIHdpdGggdGhlIHRhcmdldCwg
bm9yIGlzIGl0IHRoZSB0YXJnZXQncyBwYXJlbnQgb3Igb3BlbmVyLgotCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzg6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdh
dGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJycgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1l
Lmh0bWwnLiBUaGUgZnJhbWUgYXR0ZW1wdGluZyBuYXZpZ2F0aW9uIGlzIG5laXRoZXIgc2FtZS1v
cmlnaW4gd2l0aCB0aGUgdGFyZ2V0LCBub3IgaXMgaXQgdGhlIHRhcmdldCdzIHBhcmVudCBvciBv
cGVuZXIuCi0KIAogSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1l
LWV4cGVjdGVkLnR4dAppbmRleCAwNjdlZDBhZDYwMzE2ZThlMzE3NmFkMjc0OThkMWU0ZTg5Y2Zl
OWM3Li5jYmE1NzRmYjk3MDQyOTcwZjNjZGQ1NDlmYzJiMmMxZDEyZjg0MjcwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNj
cmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICcn
IGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9odG1sL2Jyb3dzZXJz
L3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS5odG1sJy4gVGhlIGZyYW1lIGF0dGVtcHRp
bmcgbmF2aWdhdGlvbiBpcyBuZWl0aGVyIHNhbWUtb3JpZ2luIHdpdGggdGhlIHRhcmdldCwgbm9y
IGlzIGl0IHRoZSB0YXJnZXQncyBwYXJlbnQgb3Igb3BlbmVyLgotCiAKIEhhcm5lc3MgRXJyb3Ig
KFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352069</attachid>
            <date>2018-10-11 13:16:37 -0700</date>
            <delta_ts>2018-10-11 20:35:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190475-20181011131636.patch</filename>
            <type>text/plain</type>
            <size>24198</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBmNDM0NzgzOGNiZjZj
OTViM2VkYmM5MTRhZDI5MDM0YzU3MWNkYy4uYTgwODAyMzI5YmQwMGEzOTlhYmYzOTQ3MDlkMDc0
NjZjNmVhMGNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE4LTEwLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQnJvd3NpbmcgY29udGV4dHMg
Y3JlYXRlZCB3aXRoICdub29wZW5lcicgc2hvdWxkIG5vdCBiZSB0YXJnZXRhYmxlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0NzUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGEgbmV3IGJyb3dz
aW5nIGNvbnRleHQgaXMgY3JlYXRlZCB2aWEgPGEgdGFyZ2V0PSJ4IiByZWw9Im5vb3BlbmVyIj4g
b3Igd2luZG93Lm9wZW4oIiIsICJ4IiwgIm5vb3BlbmVyIiksCisgICAgICAgIHdlIHNob3VsZCBj
cmVhdGUgYSBuZXcgdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQgaW5zdGVhZCBvZiBvbmUgYXV4
aWxpYXJ5IG9uZS4KKyAgICAgICAgQXMgYSByZXN1bHQsIHRoZSByZXF1ZXN0ZXIncyBicm93c2lu
ZyBjb250ZXh0IGFuZCBuZXcgbmV3IGJyb3dzaW5nIGNvbnRleHQgd291bGQgbm90IGJlIHRhcmdl
dCBlYWNoIG90aGVyIGJ5CisgICAgICAgIGZyYW1lIG5hbWUgKGUuZy4gdmlhIGFuY2hvciB0YXJn
ZXQgb3Igd2luZG93Lm9wZW4gdGFyZ2V0KS4KKworICAgICAgICBUaGlzIGFsaWducyB1cyB3aXRo
IEZpcmVmb3ggYW5kIENocm9tZS4gVGhlIGNoYW5nZSB3YXMgZGlzY3Vzc2VkIGF0OgorICAgICAg
ICAtIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9pc3N1ZXMvMTgyNgorCisgICAgICAg
IFRoaXMgYWxsb3dzIHByb2Nlc3Mgc3dhcHBpbmcgaW4gbW9yZSBjYXNlcy4KKworICAgICAgICBU
ZXN0czogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwK
KyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0
YWJsZTIuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5k
b3ctbm90LXRhcmdldGFibGUuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbDo6b3BlbkluTmV3VGFiKToKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0T3BlbmVyKToKKyAg
ICAgICAgQWRkIGFzc2VydGlvbiB0byBtYWtlIHN1cmUgd2Ugb25seSBzZXQgb3BlbmVycyBvbiBh
dXhpbGlhcnkgYnJvd3NpbmcgY29udGV4dHMuCisKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeSk6CisgICAgICAgIE9ubHkgY2Fs
bCBtYXJrQXNBdXhpbGlhcnlCcm93c2luZ0NvbnRleHQoKSBvbiB0aGUgbmV3IFBhZ2UgaWYgbm9v
cGVuZXIgaXMgZmFsc2UuCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpET01XaW5kb3c6OmNsb3NlKToKKworICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93OjpjcmVhdGVXaW5kb3cpOgorICAgICAgICBPbmx5IGNhbGwgbWFya0FzQXV4aWxpYXJ5QnJv
d3NpbmdDb250ZXh0KCkgb24gdGhlIG5ldyBQYWdlIGlmIG5vb3BlbmVyIGlzIGZhbHNlLgorCisg
ICAgICAgICogcGFnZS9GcmFtZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVUcmVl
OjpmaW5kIGNvbnN0KToKKyAgICAgICAgVXBkYXRlIEZyYW1lVHJlZTo6ZmluZCgpIHRvIG9ubHkg
cmV0dXJuIGZyYW1lcyBpbiBvdGhlciBwYWdlcyBpZiB0aGV5IGFyZSBhdXhpbGlhcnkgYnJvd3Np
bmcgY29udGV4dHMuCisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZTo6aXNBdXhpbGlhcnlCcm93c2luZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6bWFya0FzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0KToKKyAgICAgICAgKiBw
YWdlL1BhZ2UuaDoKKyAgICAgICAgUmVuYW1lIG9wZW5lZEJ5RE9NIHRvIGlzQXV4aWxpYXJ5QnJv
d3NpbmdDb250ZXh0IHNpbmNlIHRoaXMgaXMgd2hhdCBpdCBtZWFudCBiYXNlZAorICAgICAgICBv
biBpdHMgdXNhZ2UuCisKIDIwMTgtMTAtMTEgIEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVv
Y2FuaGFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXVtNU0VdIEZpeCBoZWlnaHQg
Y2FsY3VsYXRpb24gZm9yIHN0cmVhbXMgd2l0aCBzb3VyY2UgYXNwZWN0IHJhdGlvCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbC5jcHAKaW5kZXggOGUxYzQ4MjlkZmY1YmVhYzFkNmZjMDMyMDljZWJmZDBjNDUwNTc3NC4u
YTMwZTc5ZjQ4Mjc0Mjk0MjQxOWZjMzhhYjk5NjlhYWFkZjQxZjAyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
LmNwcApAQCAtMjM0LDggKzIzNCw4IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bDo6b3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsKQogICAgIGlmICghZnJhbWUpCiAgICAg
ICAgIHJldHVybjsKIAorICAgIGZyYW1lLT5wYWdlKCktPm1hcmtBc0F1eGlsaWFyeUJyb3dzaW5n
Q29udGV4dCgpOwogICAgIGZyYW1lLT5sb2FkZXIoKS5zZXRPcGVuZXIoJm1haW5GcmFtZSk7Ci0g
ICAgZnJhbWUtPnBhZ2UoKS0+c2V0T3BlbmVkQnlET00oKTsKIAogICAgIC8vIEZJWE1FOiBXaHkg
ZG8gd2UgY29tcHV0ZSB0aGUgYWJzb2x1dGUgVVJMIHdpdGggcmVzcGVjdCB0byB8ZnJhbWV8IGlu
c3RlYWQgb2YgfG1haW5GcmFtZXw/CiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlc291cmNlUmVxdWVz
dCB7IGZyYW1lLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTCh1cmwpIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA4NDAzODc2YTM2MWY2ZTA2M2YyNDZhOGU4Y2VlMTBh
YWQ5NjRlNmIyLi45NThmY2IyOTcxNmRmOTVhZDhjOTY4NmU1MTE3ODgwZDczMTkzMmFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTEwNDcsOCArMTA0NywxMCBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpzZXRPcGVuZXIoRnJhbWUqIG9wZW5lcikKICAgICAgICAgYXV0byYg
b3BlbmVyRnJhbWVMb2FkZXIgPSBtX29wZW5lciA9PSAmbV9mcmFtZSA/ICp0aGlzIDogbV9vcGVu
ZXItPmxvYWRlcigpOwogICAgICAgICBvcGVuZXJGcmFtZUxvYWRlci5tX29wZW5lZEZyYW1lcy5y
ZW1vdmUoJm1fZnJhbWUpOwogICAgIH0KLSAgICBpZiAob3BlbmVyKQorICAgIGlmIChvcGVuZXIp
IHsKKyAgICAgICAgQVNTRVJUKG1fZnJhbWUucGFnZSgpLT5pc0F1eGlsaWFyeUJyb3dzaW5nQ29u
dGV4dCgpKTsKICAgICAgICAgb3BlbmVyLT5sb2FkZXIoKS5tX29wZW5lZEZyYW1lcy5hZGQoJm1f
ZnJhbWUpOworICAgIH0KICAgICBtX29wZW5lciA9IG9wZW5lcjsKIAogICAgIGlmIChtX2ZyYW1l
LmRvY3VtZW50KCkpCkBAIC0zMzkwLDkgKzMzOTIsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjb250
aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
cwogICAgIGlmICghZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShmcmFtZU5hbWUsICJfYmxhbmsiKSkK
ICAgICAgICAgbWFpbkZyYW1lLT50cmVlKCkuc2V0TmFtZShmcmFtZU5hbWUpOwogCi0gICAgbWFp
bkZyYW1lLT5wYWdlKCktPnNldE9wZW5lZEJ5RE9NKCk7CiAgICAgbWFpbkZyYW1lLT5sb2FkZXIo
KS5tX2NsaWVudC5kaXNwYXRjaFNob3coKTsKICAgICBpZiAob3BlbmVyUG9saWN5ID09IE5ld0Zy
YW1lT3BlbmVyUG9saWN5OjpBbGxvdykgeworICAgICAgICBtYWluRnJhbWUtPnBhZ2UoKS0+bWFy
a0FzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0KCk7CiAgICAgICAgIG1haW5GcmFtZS0+bG9hZGVy
KCkuc2V0T3BlbmVyKGZyYW1lLnB0cigpKTsKICAgICAgICAgbWFpbkZyYW1lLT5kb2N1bWVudCgp
LT5zZXRSZWZlcnJlclBvbGljeShmcmFtZS0+ZG9jdW1lbnQoKS0+cmVmZXJyZXJQb2xpY3koKSk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDBjM2EyNTRlNTkyYzBkNzg4
YTZmYzQzODA2YTQ3ZTBjNTg1NzM5OTguLjlhZjUxMmY1NTMzOTNkYjBlNDlkYjMwMTkwODg5Y2I5
NGZlMzUzNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTEwNzcsNyArMTA3Nyw3
IEBAIHZvaWQgRE9NV2luZG93OjpjbG9zZSgpCiAgICAgaWYgKCFmcmFtZS0+aXNNYWluRnJhbWUo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCEocGFnZS0+b3BlbmVkQnlET00oKSB8fCBw
YWdlLT5iYWNrRm9yd2FyZCgpLmNvdW50KCkgPD0gMSkpIHsKKyAgICBpZiAoIShwYWdlLT5pc0F1
eGlsaWFyeUJyb3dzaW5nQ29udGV4dCgpIHx8IHBhZ2UtPmJhY2tGb3J3YXJkKCkuY291bnQoKSA8
PSAxKSkgewogICAgICAgICBjb25zb2xlKCktPmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMs
IE1lc3NhZ2VMZXZlbDo6V2FybmluZywgIkNhbid0IGNsb3NlIHRoZSB3aW5kb3cgc2luY2UgaXQg
d2FzIG5vdCBvcGVuZWQgYnkgSmF2YVNjcmlwdCJfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CkBAIC0yMjg0LDEwICsyMjg0LDEwIEBAIEV4Y2VwdGlvbk9yPFJlZlB0cjxGcmFtZT4+IERPTVdp
bmRvdzo6Y3JlYXRlV2luZG93KGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zCiAgICAgICAg
IHJldHVybiBSZWZQdHI8RnJhbWU+IHsgbnVsbHB0ciB9OwogCiAgICAgaWYgKCF3aW5kb3dGZWF0
dXJlcy5ub29wZW5lcikgeworICAgICAgICBuZXdGcmFtZS0+cGFnZSgpLT5tYXJrQXNBdXhpbGlh
cnlCcm93c2luZ0NvbnRleHQoKTsKICAgICAgICAgbmV3RnJhbWUtPmxvYWRlcigpLnNldE9wZW5l
cigmb3BlbmVyRnJhbWUpOwogICAgICAgICBuZXdGcmFtZS0+cGFnZSgpLT5zZXRPcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lcigpOwogICAgIH0KLSAgICBuZXdGcmFtZS0+cGFnZSgpLT5zZXRP
cGVuZWRCeURPTSgpOwogCiAgICAgaWYgKG5ld0ZyYW1lLT5kb2N1bWVudCgpLT5kb21XaW5kb3co
KS0+aXNJbnNlY3VyZVNjcmlwdEFjY2VzcyhhY3RpdmVXaW5kb3csIGNvbXBsZXRlZFVSTCkpCiAg
ICAgICAgIHJldHVybiB3aW5kb3dGZWF0dXJlcy5ub29wZW5lciA/IFJlZlB0cjxGcmFtZT4geyBu
dWxscHRyIH0gOiBuZXdGcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmNwcAppbmRleCA0MmNi
MzMzYTBjMDlkNTE0ZGIwZjE3YzdjZjBkYjZmODc2NmJmZDMwLi44MzUzNTlhNzQzNzM5MTU4NjIz
NWQ5ZDI4NzRlZTkzN2NlODI0MWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuY3BwCkBAIC0y
NDMsNyArMjQzLDcgQEAgRnJhbWUqIEZyYW1lVHJlZTo6ZmluZChjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWUpIGNvbnN0CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAogICAgIGZvciAoYXV0
byogb3RoZXJQYWdlIDogcGFnZS0+Z3JvdXAoKS5wYWdlcygpKSB7Ci0gICAgICAgIGlmIChvdGhl
clBhZ2UgPT0gcGFnZSkKKyAgICAgICAgaWYgKG90aGVyUGFnZSA9PSBwYWdlIHx8ICFwYWdlLT5p
c0F1eGlsaWFyeUJyb3dzaW5nQ29udGV4dCgpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBm
cmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgICAgIGlmIChm
cmFtZS0+dHJlZSgpLnVuaXF1ZU5hbWUoKSA9PSBuYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
NGFiNDBhNzQ4Y2UyMTJmOGVmOTllOTc5NjE1MWQzZGE2ZjFjYjI1OS4uYmI2NjFkYTM3N2RhOWRh
Nzg4MDc1NDYxYTg3OWQ5ZjEyYTA3OWY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC00NzYsMTQg
KzQ3NiwxNCBAQCBSZWY8RE9NUmVjdExpc3Q+IFBhZ2U6OnBhc3NpdmVUb3VjaEV2ZW50TGlzdGVu
ZXJSZWN0cygpCiAgICAgcmV0dXJuIERPTVJlY3RMaXN0OjpjcmVhdGUocXVhZHMpOwogfQogCi1i
b29sIFBhZ2U6Om9wZW5lZEJ5RE9NKCkgY29uc3QKK2Jvb2wgUGFnZTo6aXNBdXhpbGlhcnlCcm93
c2luZ0NvbnRleHQoKSBjb25zdAogewotICAgIHJldHVybiBtX29wZW5lZEJ5RE9NOworICAgIHJl
dHVybiBtX2lzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0OwogfQogCi12b2lkIFBhZ2U6OnNldE9w
ZW5lZEJ5RE9NKCkKK3ZvaWQgUGFnZTo6bWFya0FzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0KCkK
IHsKLSAgICBtX29wZW5lZEJ5RE9NID0gdHJ1ZTsKKyAgICBtX2lzQXV4aWxpYXJ5QnJvd3NpbmdD
b250ZXh0ID0gdHJ1ZTsKIH0KIAogdm9pZCBQYWdlOjpnb1RvSXRlbShIaXN0b3J5SXRlbSYgaXRl
bSwgRnJhbWVMb2FkVHlwZSB0eXBlLCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxk
VHJlYXRBc0NvbnRpbnVpbmdMb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAyNGI0MWRlM2Q2MWZhMTY4
MTg4MjFlZDMwY2Q3ZTdiOTRmNjgwZDcxLi5lOTZmZGRjYzk5YWYzZjBlN2YwZGRjYjVkZmFmYjM4
NGJmMzhhMWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTk5LDggKzE5OSw4IEBAIHB1YmxpYzoKICAg
ICBGcmFtZSYgbWFpbkZyYW1lKCkgeyByZXR1cm4gbV9tYWluRnJhbWUuZ2V0KCk7IH0KICAgICBj
b25zdCBGcmFtZSYgbWFpbkZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9tYWluRnJhbWUuZ2V0KCk7
IH0KIAotICAgIGJvb2wgb3BlbmVkQnlET00oKSBjb25zdDsKLSAgICB2b2lkIHNldE9wZW5lZEJ5
RE9NKCk7CisgICAgYm9vbCBpc0F1eGlsaWFyeUJyb3dzaW5nQ29udGV4dCgpIGNvbnN0OworICAg
IHZvaWQgbWFya0FzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0KCk7CiAKICAgICBib29sIG9wZW5l
ZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuZWRWaWFXaW5k
b3dPcGVuV2l0aE9wZW5lcjsgfQogICAgIHZvaWQgc2V0T3BlbmVkVmlhV2luZG93T3BlbldpdGhP
cGVuZXIoKSB7IG1fb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIgPSB0cnVlOyB9CkBAIC03
NTIsNyArNzUyLDcgQEAgcHJpdmF0ZToKIAogICAgIGludCBtX3N1YmZyYW1lQ291bnQgeyAwIH07
CiAgICAgU3RyaW5nIG1fZ3JvdXBOYW1lOwotICAgIGJvb2wgbV9vcGVuZWRCeURPTSB7IGZhbHNl
IH07CisgICAgYm9vbCBtX2lzQXV4aWxpYXJ5QnJvd3NpbmdDb250ZXh0IHsgZmFsc2UgfTsKICAg
ICBib29sIG1fb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIgeyBmYWxzZSB9OwogCiAgICAg
Ym9vbCBtX3RhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyB7IHRydWUgfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlM2Qx
MTk4YmYwYmJiMjdkMDRiNjk3MjdjMTMwODdhMzRiODA1MWEwLi5iMGExMjI3ZjVhOWMzYjZiMjIx
MGY2MmM1ZDI3NzRjYThiMmU3ZWYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTgtMTAtMTEg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBCcm93c2luZyBjb250
ZXh0cyBjcmVhdGVkIHdpdGggJ25vb3BlbmVyJyBzaG91bGQgbm90IGJlIHRhcmdldGFibGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1u
b3QtdGFyZ2V0YWJsZTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5k
b3ctbm90LXRhcmdldGFibGUuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBj
b3ZlcmFnZS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1yZWZlcnJlci10
YXJnZXQtYmxhbmstZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9yZXNvdXJjZXMvbm8tcmVmZXJyZXItaGVscGVyLnBocDoKKyAgICAgICAgVXBkYXRlIGV4aXN0
aW5nIHRlc3QgdG8gcmVmbGVjdCBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93
aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL3drMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
d2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmVi
YXNlbGluZSBXUFQgdGVzdCBub3cgdGhhdCBsb2dnaW5nIGhhcyBjaGFuZ2VkLgorCiAyMDE4LTEw
LTExICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBMYXlv
dXQgVGVzdCBmYXN0L2Zvcm1zL2ZpZWxkc2V0L2ZpZWxkc2V0LWVsZW1lbnRzLWh0bWxjb2xsZWN0
aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L2EtcmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy9hLXJlbC1ub29wZW5lci1leHBlY3RlZC50eHQKaW5kZXggOGU4NzA0YWU4YjM0ODk2OTM2
ZjRmNWRjY2UyNGJlZGRmZTRjOTI0OC4uZTEzNWY1MmE0ZDU1ZTQ3NGZhZmVlOWE3YTY0NWJlOThi
YzA3NjI4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2EtcmVsLW5v
b3BlbmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYS1y
ZWwtbm9vcGVuZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDExOiBQQVNTOiB3aW5kb3cub3BlbmVyIGlzIG51bGwKIFRlc3QgdGhhdCB3aW5kb3cu
b3BlbmVyIGlzIG51bGwgd2hlbiBhIG5ldyB3aW5kb3cgaXMgb3BlbmVkIGZyb20gYW4gYW5jaG9y
IGVsZW1lbnQgd2l0aCByZWw9J25vb3BlbmVyJy4KIAotUEFTUzogd2luZG93Lm9wZW5lciBpcyBu
dWxsCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hcmVhLXJlbC1u
b29wZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYXJlYS1y
ZWwtbm9vcGVuZXItZXhwZWN0ZWQudHh0CmluZGV4IGI2ZWNlOGI1OWE1NjhiMGU1ZmU5YjFiZGUw
ZTNhNTVhM2U5Njk5MWEuLmU2MjAyY2Q0NmFhZGRhOTZlMThkODc4NWRiYTlhMjQwNWRiZmEzZjYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hcmVhLXJlbC1ub29wZW5l
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2FyZWEtcmVs
LW5vb3BlbmVyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMTogUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxsCiBUZXN0IHRoYXQgd2luZG93Lm9w
ZW5lciBpcyBudWxsIHdoZW4gYSBuZXcgd2luZG93IGlzIG9wZW5lZCBmcm9tIGFuIGFyZWEgZWxl
bWVudCB3aXRoIHJlbD0nbm9vcGVuZXInLgogCiAKLVBBU1M6IHdpbmRvdy5vcGVuZXIgaXMgbnVs
bAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvcmVzb3VyY2VzL3Jl
bC1ub29wZW5lci5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvcmVs
LW5vb3BlbmVyLmpzCmluZGV4IGJiNWQ0NmVhZTM5N2EzZWRmMWFkYTU3ODlmNWJmNjllYzFhMmQ3
YjkuLmIzYjU5YmEzMGNkNGVhZGI3NjM0NWM4ZGRlOTAxZjhjMmM0OWQyNDEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvcmVsLW5vb3BlbmVyLmpzCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvcmVsLW5vb3BlbmVyLmpz
CkBAIC01LDExICs1LDEwIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogfQogCiBpZiAoZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9PT0gIiNuZXctd2luZG93IikgewotICAgIHZhciBjb25zb2xl
ID0gd2luZG93Lm9wZW4oIiIsICJvcmlnaW5hbFdpbmRvdyIpLmRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb25zb2xlIik7CiAgICAgaWYgKHdpbmRvdy5vcGVuZXIpCi0gICAgICAgIGNvbnNvbGUu
aW5uZXJUZXh0ID0gIkZBSUw6IHdpbmRvdy5vcGVuZXIgaXMgbm9uLW51bGwiOworICAgICAgICBj
b25zb2xlLmxvZygiRkFJTDogd2luZG93Lm9wZW5lciBpcyBub24tbnVsbCIpOwogICAgIGVsc2UK
LSAgICAgICAgY29uc29sZS5pbm5lclRleHQgPSAiUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxs
IjsKKyAgICAgICAgY29uc29sZS5sb2coIlBBU1M6IHdpbmRvdy5vcGVuZXIgaXMgbnVsbCIpOwog
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfSBlbHNlIHsKICAgICB3aW5kb3cubmFtZSA9
ICJvcmlnaW5hbFdpbmRvdyI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rv
bS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42M2Q3YjA3ZDBjYWJmOGE5Y2NkZWY1YTgwMjNjNWE5OTgxYmM5ZDNm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXIt
d2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitNYWtl
IHN1cmUgdGhhdCB3aW5kb3dzIG9wZW5lZCB3aXRoICdub29wZW5lcicgdmlhIGFuIGFuY2hvciBh
cmUgbm90IHRhcmdldGFibGUuIElmIHRlc3RpbmcgbWFudWFsbHksIHlvdSBzaG91bGQgc2VlIDIg
dGFicyBvcGVuLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3LmxvY2F0
aW9uLmhyZWYgaXMgImFib3V0OmJsYW5rIgorUEFTUyB0ZXN0UnVubmVyLndpbmRvd0NvdW50KCkg
aXMgMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1u
b3QtdGFyZ2V0YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXIt
d2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODAzMmE3MzBkY2ViYjJhOWY1
ZTMyNDJlOTI4YWIxYWI1ZjM4OTYwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1sCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxhIGlkPSJ0ZXN0TGluayIgdGFyZ2V0PSJmb28iIHJlbD0ibm9vcGVuZXIiIGhyZWY9Ii9uYXZp
Z2F0aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCI+PC9hPgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJNYWtlIHN1cmUgdGhhdCB3aW5kb3dzIG9wZW5lZCB3aXRoICdub29wZW5lcicgdmlhIGFu
IGFuY2hvciBhcmUgbm90IHRhcmdldGFibGUuIElmIHRlc3RpbmcgbWFudWFsbHksIHlvdSBzaG91
bGQgc2VlIDIgdGFicyBvcGVuLiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7ICAgIAor
CitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB0ZXN0TGluay5jbGljaygpOworCisgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgdyA9IG9wZW4oIi9uYXZpZ2F0aW9uL3Jlc291
cmNlcy9vdGhlcnBhZ2UuaHRtbCIsICJmb28iKTsgLy8gU2hvdWxkIGNyZWF0ZSBhIG5ldyB3aW5k
b3cuCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlvbi5ocmVmIiwgImFi
b3V0OmJsYW5rIik7CisgICAgICAgIHcub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgc2hvdWxkQmUoInRlc3RS
dW5uZXIud2luZG93Q291bnQoKSIsICIzIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgfQorICAgIH0sIDEwMCk7Cit9ICAgIAorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5k
b3ctbm90LXRhcmdldGFibGUyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjljZDk3NjE4ZjAxOGU5OGUyN2Q2OTJhZDcyZjYxODVhODJkYzM0MzYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRh
cmdldGFibGUyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitNYWtlIHN1cmUgdGhhdCB3
aW5kb3dzIG9wZW5lZCB3aXRoICdub29wZW5lcicgdmlhIHdpbmRvdy5vcGVuIGFyZSBub3QgdGFy
Z2V0YWJsZS4gSWYgdGVzdGluZyBtYW51YWxseSwgeW91IHNob3VsZCBzZWUgMiB0YWJzIG9wZW4u
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHcgaXMgbnVsbAorUEFTUyB3
LmxvY2F0aW9uLmhyZWYgaXMgImFib3V0OmJsYW5rIgorUEFTUyB0ZXN0UnVubmVyLndpbmRvd0Nv
dW50KCkgaXMgMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdp
bmRvdy1ub3QtdGFyZ2V0YWJsZTIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25v
b3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWMwMTliYjI0
MzgzNzEwMjk1NjVmODBhZWRlNTI3ODk5YTEwOWM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlMi5odG1s
CkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIHRoYXQgd2luZG93cyBv
cGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSB3aW5kb3cub3BlbiBhcmUgbm90IHRhcmdldGFibGUu
IElmIHRlc3RpbmcgbWFudWFsbHksIHlvdSBzaG91bGQgc2VlIDIgdGFicyBvcGVuLiIpOworanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVu
bmVyLnNldENhbk9wZW5XaW5kb3dzKCk7ICAgIAorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAg
ICB3ID0gd2luZG93Lm9wZW4oIi9uYXZpZ2F0aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCIs
ICJmb28iLCAibm9vcGVuZXIiKTsKKyAgICBzaG91bGRCZU51bGwoInciKTsKKworICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHcgPSBvcGVuKCIvbmF2aWdhdGlvbi9yZXNvdXJj
ZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIik7IC8vIFNob3VsZCBjcmVhdGUgYSBuZXcgd2luZG93
LgorICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIncubG9jYXRpb24uaHJlZiIsICJhYm91
dDpibGFuayIpOworICAgICAgICB3Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCJ0ZXN0UnVu
bmVyLndpbmRvd0NvdW50KCkiLCAiMyIpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7Cisg
ICAgICAgIH0KKyAgICB9LCAxMDApOworfSAgICAKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5k
b3ctbm90LXRhcmdldGFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9k
b20vbm9yZWZlcnJlci13aW5kb3ctbm90LXRhcmdldGFibGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjllYmViNzNhZWIyZjdiNGJhMjlkMzcxZWFjMzY3NjEzODI0ZmEyZGMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub3JlZmVycmVyLXdpbmRvdy1ub3Qt
dGFyZ2V0YWJsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorTWFrZSBzdXJlIHRoYXQg
d2luZG93cyBvcGVuZWQgd2l0aCAnbm9yZWZlcnJlcicgYXJlIG5vdCB0YXJnZXRhYmxlLiBJZiB0
ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNlZSAyIHRhYnMgb3Blbi4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgdy5sb2NhdGlvbi5ocmVmIGlzICJhYm91dDpibGFu
ayIKK1BBU1MgdGVzdFJ1bm5lci53aW5kb3dDb3VudCgpIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2RvbS9ub3JlZmVycmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5kb3ctbm90LXRhcmdldGFi
bGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44NDI5MjFjNGQwMzg2YjQwNzFjNWI5YjlmZmExMmEyOWI5OWI5
NzU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9yZWZl
cnJlci13aW5kb3ctbm90LXRhcmdldGFibGUuaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8YSBpZD0idGVzdExpbmsi
IHRhcmdldD0iZm9vIiByZWw9Im5vcmVmZXJyZXIiIGhyZWY9Ii9uYXZpZ2F0aW9uL3Jlc291cmNl
cy9vdGhlcnBhZ2UuaHRtbCI+PC9hPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUg
dGhhdCB3aW5kb3dzIG9wZW5lZCB3aXRoICdub3JlZmVycmVyJyBhcmUgbm90IHRhcmdldGFibGUu
IElmIHRlc3RpbmcgbWFudWFsbHksIHlvdSBzaG91bGQgc2VlIDIgdGFicyBvcGVuLiIpOworanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVu
bmVyLnNldENhbk9wZW5XaW5kb3dzKCk7ICAgIAorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAg
ICB0ZXN0TGluay5jbGljaygpOworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAg
IHcgPSBvcGVuKCIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIik7
IC8vIFNob3VsZCBjcmVhdGUgYSBuZXcgd2luZG93LgorICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIncubG9jYXRpb24uaHJlZiIsICJhYm91dDpibGFuayIpOworICAgICAgICB3Lm9ubG9h
ZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJ0ZXN0UnVubmVyLndpbmRvd0NvdW50KCkiLCAiMyIpOwor
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICB9LCAxMDApOworfSAg
ICAKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1yZWZlcnJlci1yZXNldC1leHBlY3Rl
ZC50eHQKaW5kZXggYWRhMWQxNmYwZDY3MDNjYjIyMmU4ZjUyNzY5NDhhMTUzNjEzMjRlNC4uMGVi
MjFmNzcwOWUyMjEyMDZlOTEwYmZjMDlhMzU3MTU4ZTZlZDJhNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJyZXItcmVz
ZXQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE1
OiBSZWZlcnJlcjogaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVzb3VyY2VzL25v
LXJlZmVycmVyLXJlc2V0LWhlbHBlci5waHAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogd2lu
ZG93Lm9wZW5lcjogaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vbm8tcmVmZXJyZXIt
cmVzZXQuaHRtbAogVGhpcyB0ZXN0cyB3aGV0aGVyIHJlZmVycmVyIGluZm9ybWF0aW9uIGdldHMg
cHJvcGVybHkgc2V0IGFuZCByZXNldCB3aGVuICJub3JlZmVycmVyIiBsaW5rcyBhcmUgcHJlc2Vu
dC4gV2UgZG8gdGhlIGZvbGxvd2luZzoKIDEuIE9wZW4gYSBsaW5rIGluIGEgbmV3IHdpbmRvdzog
cmVmZXJyZXIgaXMgc2VudCBhbmQgd2luZG93Lm9wZW5lciBpcyBzZW50LgogMi4gQ2xpY2sgYSBy
ZWw9Im5vcmVmZXJyZXIiIGxpbms6IHJlZmVycmVyIGlzIG51bGwsIGJ1dCB3aW5kb3cub3BlbmVy
IHJlbWFpbnMgc2V0IHNpbmNlIHRoZSBsaW5rIHdhcyBub3Qgb3BlbmVkIHdpdGggdGFyZ2V0PSJf
YmxhbmsiLgpAQCAtNyw1ICs5LDMgQEAgUmVmZXJyZXI6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9u
YXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0Lmh0bWwKIHdpbmRvdy5vcGVuZXI6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0Lmh0bWwKIFJlZmVycmVy
Ogogd2luZG93Lm9wZW5lcjogaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vbm8tcmVm
ZXJyZXItcmVzZXQuaHRtbAotUmVmZXJyZXI6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0
aW9uL3Jlc291cmNlcy9uby1yZWZlcnJlci1yZXNldC1oZWxwZXIucGhwCi13aW5kb3cub3BlbmVy
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9uby1yZWZlcnJlci1yZXNldC5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJy
ZXItc3ViZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL25vLXJlZmVycmVyLXN1YmZyYW1lLWV4cGVjdGVkLnR4dAppbmRleCA4ZjZiNzkwOTk5MmEy
MGQ0ZTk3ZmFlOWU1ZDk4YWVlMjM4Mzk4ZDNlLi42YjEwOWViZmYwMjM4NzMwN2ZiODQzNzg1ZWI4
ZjkyOWEzMjdjMzI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRp
b24vbm8tcmVmZXJyZXItc3ViZnJhbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1yZWZlcnJlci1zdWJmcmFtZS1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTU6IFJlZmVycmVyOgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE2OiB3aW5kb3cub3BlbmVyOiAKIFRoaXMgdGVzdHMgYmVoYXZpb3Ig
b2YgIm5vcmVmZXJyZXIiIGxpbmtzIGluIHN1YmZyYW1lcy4gQSByZWZlcnJlciBzaG91bGQgbm90
IGJlIHNlbnQgYW5kIHdpbmRvdy5vcGVuZXIgc2hvdWxkIHJlbWFpbiBudWxsLgogTG9hZCBzdWJm
cmFtZSAKLVJlZmVycmVyOgotd2luZG93Lm9wZW5lcjoKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXRhcmdldC1ibGFuay1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJyZXItdGFy
Z2V0LWJsYW5rLWV4cGVjdGVkLnR4dAppbmRleCA1YzMyZTVlNzE2MDMwZjY3N2Y1NWQ1MTQyYWI0
OTBjNDJiZjU0NWRmLi5jYWFkYWJlOGUzODgyNmYyYThmMWUyYTMxYTA0OGI4NGVkZjk5MzI1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJyZXIt
dGFyZ2V0LWJsYW5rLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogUmVmZXJyZXI6CitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTY6IHdpbmRvdy5vcGVuZXI6IAogVGhpcyB0ZXN0cyB0aGUgZnVuY3Rpb25hbGl0
eSBvZiB0aGUgIm5vcmVmZXJyZXIiIGxpbmsgcmVsYXRpb24gb24gYW5jaG9yIHRhZ3MuIFRoZSBs
aW5rIGJlbG93IHNob3VsZCBub3Qgc2VuZCBhbiBodHRwIHJlZmVycmVyLCBhbmQgdGhlIHJlc3Vs
dGluZyB3aW5kb3cgc2hvdWxkIGhhdmUgaXRzIG9wZW5lciBhdHRyaWJ1dGUgc2V0IHRvIG51bGwu
IFRoZSB2YWx1ZXMgb2YgdGhlIHJlZmVycmVyIGFuZCB3aW5kb3cub3BlbmVyIHNob3VsZCBiZSBl
bXB0eSBiZWxvdy4KIFN0YXJ0IG5vIHJlZmVycmVyIHRlc3QKLVJlZmVycmVyOgotd2luZG93Lm9w
ZW5lcjoKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jl
c291cmNlcy9uby1yZWZlcnJlci1oZWxwZXIucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3Jlc291cmNlcy9uby1yZWZlcnJlci1oZWxwZXIucGhwCmluZGV4IGZlYTkzZGM4
MDkwNzNiMzI3ZmVjNmU4MjE1MGUyOTVjZjJlNDMzMzAuLjVjMmFiZjM3YWEzMDlhOWRiM2JiMTM0
M2MyMDhjYjI3MGYwMGU2MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9yZXNvdXJjZXMvbm8tcmVmZXJyZXItaGVscGVyLnBocAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL25vLXJlZmVycmVyLWhlbHBlci5waHAK
QEAgLTE4LDExICsxOCw4IEBAIGZ1bmN0aW9uIGxvZyhtc2cpCiAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChsaW5lKTsKIH0KIAotICAgIHZhciBjb25z
b2xlV2luZG93ID0gd2luZG93Lm9wZW4oIiIsICJjb25zb2xlV2luZG93Iik7Ci0gICAgaWYgKGNv
bnNvbGVXaW5kb3cpIHsKLSAgICAgICAgY29uc29sZVdpbmRvdy5sb2coZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlZmVycmVyIikuaW5uZXJUZXh0KTsKLSAgICAgICAgY29uc29sZVdpbmRvdy5s
b2coIndpbmRvdy5vcGVuZXI6ICIgKyAod2luZG93Lm9wZW5lciA/IHdpbmRvdy5vcGVuZXIubG9j
YXRpb24gOiAiIikpOwotICAgIH0KKyAgICBjb25zb2xlLmxvZyhkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVmZXJyZXIiKS5pbm5lclRleHQpOworICAgIGNvbnNvbGUubG9nKCJ3aW5kb3cub3Bl
bmVyOiAiICsgKHdpbmRvdy5vcGVuZXIgPyB3aW5kb3cub3BlbmVyLmxvY2F0aW9uIDogIiIpKTsK
ICAgICAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVy
cmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mv
bm9yZWZlcnJlci13aW5kb3ctbmFtZS1leHBlY3RlZC50eHQKaW5kZXggMGI3NzU2MTljM2UyZjkz
YjViODE1ZDdjZTM2YjU0NmVmMzNlYzgxNi4uMTFlZGU2NWJlODBkY2Y5ZDYyODI0MGZhODgyODFk
MTUwZGExMWQxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVy
cmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5k
b3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsMyBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDM3OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGlu
aXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICcnIGZyb20gZnJhbWUgd2l0aCBV
UkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJl
ci13aW5kb3ctbmFtZS5odG1sJy4gVGhlIGZyYW1lIGF0dGVtcHRpbmcgbmF2aWdhdGlvbiBpcyBu
ZWl0aGVyIHNhbWUtb3JpZ2luIHdpdGggdGhlIHRhcmdldCwgbm9yIGlzIGl0IHRoZSB0YXJnZXQn
cyBwYXJlbnQgb3Igb3BlbmVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IFVuc2FmZSBK
YXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBV
UkwgJycgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL2h0bWwvYnJv
d3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLmh0bWwnLiBUaGUgZnJhbWUgYXR0
ZW1wdGluZyBuYXZpZ2F0aW9uIGlzIG5laXRoZXIgc2FtZS1vcmlnaW4gd2l0aCB0aGUgdGFyZ2V0
LCBub3IgaXMgaXQgdGhlIHRhcmdldCdzIHBhcmVudCBvciBvcGVuZXIuCi0KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAzODogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZp
Z2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8v
bG9jYWxob3N0Ojg4MDAvaHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5h
bWUuaHRtbCcuIFRoZSBmcmFtZSBhdHRlbXB0aW5nIG5hdmlnYXRpb24gaXMgbmVpdGhlciBzYW1l
LW9yaWdpbiB3aXRoIHRoZSB0YXJnZXQsIG5vciBpcyBpdCB0aGUgdGFyZ2V0J3MgcGFyZW50IG9y
IG9wZW5lci4KLQogCiBIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5h
bWUtZXhwZWN0ZWQudHh0CmluZGV4IDA2N2VkMGFkNjAzMTZlOGUzMTc2YWQyNzQ5OGQxZTRlODlj
ZmU5YzcuLmNiYTU3NGZiOTcwNDI5NzBmM2NkZDU0OWZjMmIyYzFkMTJmODQyNzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS1l
eHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
JycgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL2h0bWwvYnJvd3Nl
cnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLmh0bWwnLiBUaGUgZnJhbWUgYXR0ZW1w
dGluZyBuYXZpZ2F0aW9uIGlzIG5laXRoZXIgc2FtZS1vcmlnaW4gd2l0aCB0aGUgdGFyZ2V0LCBu
b3IgaXMgaXQgdGhlIHRhcmdldCdzIHBhcmVudCBvciBvcGVuZXIuCi0KIAogSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352175</attachid>
            <date>2018-10-12 09:43:09 -0700</date>
            <delta_ts>2018-10-12 10:21:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190475-20181012094308.patch</filename>
            <type>text/plain</type>
            <size>31398</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjlkY2FiMDkxMzA1OTE1
MDVmYjg5OTEyZmY4ZDE2YTZjMDg5NzZjOS4uMjJjZTJlNGI4OGQ1OTc0Y2ExYzFhZGY1ODgzODgw
OTFkNWE5NTRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTEwLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzdHJpY3QgYnJvd3Npbmcg
Y29udGV4dCBsb29rdXAgYnkgbmFtZSB0byBmcmFtZXMgdGhhdCBhcmUgcmVsYXRlZCB0byBvbmUg
YW5vdGhlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwNDc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIG91ciBmcmFtZSBsb29rdXAgYnkgbmFtZSBsb2dpYyB0byB0YWtlIGluIHRoZSBhY3Rp
dmUgLyByZXF1ZXN0aW5nIGZyYW1lIGFuZAorICAgICAgICBvbmx5IGEgcmV0dXJuIGEgZnJhbWUg
dGhhdCBpcyByZWxhdGVkIHRvIGl0LiBCeSByZWxhdGVkIHRvIGl0LCBJIG1lYW46CisgICAgICAg
IC0gQW5jZXN0b3IgPC0+IERlc2NlbmRhbnQgcmVsYXRpb25zaGlwCisgICAgICAgIC0gT3BlbmVy
IDwtPiBPcGVuZWUgcmVsYXRpb25zaGlwCisKKyAgICAgICAgQmVpbmcgYWJsZSB0byBsb29rIHVw
IHVucmVsYXRlZCBmcmFtZXMgbWFrZXMgcHJvY2VzcyBzd2FwcGluZyBkaWZmaWN1bHQgc28gd2Ug
bmVlZAorICAgICAgICB0byBiZSBzdHJpY3Rlci4KKworICAgICAgICBUaGlzIGNoYW5nZSBpcyBi
ZWluZyBkaXNjdXNzZWQgYXQ6CisgICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9o
dG1sL2lzc3Vlcy8zMTMKKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9kb20vbmV3LXdpbmRv
dy1jYW4tdGFyZ2V0LW9wZW5lci5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2RvbS9u
b29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXIuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZTIu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5kb3ctbm90
LXRhcmdldGFibGUuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9kb20vb3BlbmVkLXdp
bmRvdy1ub3QtdGFyZ2V0YWJsZS1hZnRlci1kaXNvd25pbmctb3BlbmVyLmh0bWwKKworICAgICAg
ICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6ZmluZEZyYW1lRm9yTmF2aWdhdGlvbik6CisgICAgICAgICogcGFnZS9GcmFtZVRyZWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aXNGcmFtZUZhbWlsaWFyV2l0aCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVRyZWU6OmZpbmQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvRnJhbWVUcmVlLmg6
CisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SGl0VGVzdFJlc3VsdDo6dGFyZ2V0RnJhbWUgY29uc3QpOgorCiAyMDE4LTEwLTExICBEb24g
T2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgQWRkIEhvdWRpbmkg
c3BlY3MgdG8gZmVhdHVyZXMuanNvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1NjYxMjE0YmUzMDA1MjJjODZkZWQ4
YjUxZGFhY2UyODc2ZmEzYzVkLi45YTIzNjlhNjBjMDAxZWVlZjNkMTdkYWY3ZGMzOTUwMGI3ODIx
ODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTEwLTEyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzdHJpY3QgYnJvd3NpbmcgY29udGV4dCBs
b29rdXAgYnkgbmFtZSB0byBmcmFtZXMgdGhhdCBhcmUgcmVsYXRlZCB0byBvbmUgYW5vdGhlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDc1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6
OnBlcmZvcm1KYXZhU2NyaXB0VVJMUmVxdWVzdCk6CisKIDIwMTgtMTAtMTEgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIElPUyAxMiAtIFNlcnZpY2Ugd29ya2Vy
IGNhY2hlIG5vdCBzaGFyZWQgd2hlbiBhZGRlZCB0byBob21lc2NyZWVuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKaW5kZXggYTgxOGI1ZGI1OTdmY2ZhZGI1YzhhN2I3NWMyMTM4OWU2M2VjODA3
ZC4uYmY3ODBiYTRiMmVmNGZhMzNhYzVmYzBmOTI2YWUwYzZlYTM5NWQwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTEwLTEyICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzdHJpY3QgYnJvd3NpbmcgY29udGV4
dCBsb29rdXAgYnkgbmFtZSB0byBmcmFtZXMgdGhhdCBhcmUgcmVsYXRlZCB0byBvbmUgYW5vdGhl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDc1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJW
aWV3L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtXZWJGcmFtZSBmaW5kRnJhbWVOYW1lZDpdKToK
KwogMjAxOC0xMC0xMSAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ1VSUkVOVF9BUkNIIHNob3VsZCBub3QgYmUgdXNlZCBpbiBSdW4gU2NyaXB0IHBoYXNlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggODQwMzg3NmEzNjFmNmUwNjNm
MjQ2YThlOGNlZTEwYWFkOTY0ZTZiMi4uMGJlYjI4ZjY2NGVjZTNkYzc1MzViYjU5MWY4OTE5Yjdk
ZmNjYmY2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0zNTQwLDEy
ICszNTQwLDEyIEBAIGJvb2wgRnJhbWVMb2FkZXI6OnNob3VsZFRyZWF0VVJMQXNTcmNkb2NEb2N1
bWVudChjb25zdCBVUkwmIHVybCkgY29uc3QKIAogRnJhbWUqIEZyYW1lTG9hZGVyOjpmaW5kRnJh
bWVGb3JOYXZpZ2F0aW9uKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgRG9jdW1lbnQqIGFjdGl2
ZURvY3VtZW50KQogewotICAgIEZyYW1lKiBmcmFtZSA9IG1fZnJhbWUudHJlZSgpLmZpbmQobmFt
ZSk7Ci0KICAgICAvLyBGSVhNRTogRXZlbnR1YWxseSBhbGwgY2FsbGVycyBzaG91bGQgc3VwcGx5
IHRoZSBhY3R1YWwgYWN0aXZlRG9jdW1lbnQgc28gd2UgY2FuIGNhbGwgY2FuTmF2aWdhdGUgd2l0
aCB0aGUgcmlnaHQgZG9jdW1lbnQuCiAgICAgaWYgKCFhY3RpdmVEb2N1bWVudCkKICAgICAgICAg
YWN0aXZlRG9jdW1lbnQgPSBtX2ZyYW1lLmRvY3VtZW50KCk7CiAKKyAgICBhdXRvKiBmcmFtZSA9
IG1fZnJhbWUudHJlZSgpLmZpbmQobmFtZSwgYWN0aXZlRG9jdW1lbnQtPmZyYW1lKCkgPyAqYWN0
aXZlRG9jdW1lbnQtPmZyYW1lKCkgOiBtX2ZyYW1lKTsKKwogICAgIGlmICghYWN0aXZlRG9jdW1l
bnQtPmNhbk5hdmlnYXRlKGZyYW1lKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVUcmVlLmNwcAppbmRleCA0MmNiMzMzYTBjMDlkNTE0ZGIwZjE3YzdjZjBkYjZm
ODc2NmJmZDMwLi5hOWZlYzE1M2M5NzgyZjM5NDYyZDkwMTA5ZmMwNjUyYzUxYmQxZmQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVRyZWUuY3BwCkBAIC0yMDgsNyArMjA4LDIzIEBAIEZyYW1lKiBGcmFt
ZVRyZWU6OmNoaWxkKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3QKICAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAotRnJhbWUqIEZyYW1lVHJlZTo6ZmluZChjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWUpIGNvbnN0CisvLyBGcmFtZVRyZWU6OmZpbmQoKSBvbmx5IHJldHVybnMgZnJhbWVzIGlu
IHBhZ2VzIHRoYXQgYXJlIHJlbGF0ZWQgdG8gdGhlIGFjdGl2ZQorLy8gcGFnZSBieSBhbiBvcGVu
ZXIgPC0+IG9wZW5lZSByZWxhdGlvbnNoaXAuCitzdGF0aWMgYm9vbCBpc0ZyYW1lRmFtaWxpYXJX
aXRoKEZyYW1lJiBmcmFtZUEsIEZyYW1lJiBmcmFtZUIpCit7CisgICAgaWYgKGZyYW1lQS5wYWdl
KCkgPT0gZnJhbWVCLnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoYXV0
byogZnJhbWVBT3BlbmVyID0gZnJhbWVBLm1haW5GcmFtZSgpLmxvYWRlcigpLm9wZW5lcigpKQor
ICAgICAgICByZXR1cm4gaXNGcmFtZUZhbWlsaWFyV2l0aCgqZnJhbWVBT3BlbmVyLCBmcmFtZUIp
OworCisgICAgaWYgKGF1dG8qIGZyYW1lQk9wZW5lciA9IGZyYW1lQi5tYWluRnJhbWUoKS5sb2Fk
ZXIoKS5vcGVuZXIoKSkKKyAgICAgICAgcmV0dXJuIGlzRnJhbWVGYW1pbGlhcldpdGgoZnJhbWVB
LCAqZnJhbWVCT3BlbmVyKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworRnJhbWUqIEZyYW1l
VHJlZTo6ZmluZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIEZyYW1lJiBhY3RpdmVGcmFtZSkg
Y29uc3QKIHsKICAgICAvLyBGSVhNRTogX2N1cnJlbnQgaXMgbm90IHBhcnQgb2YgdGhlIEhUTUwg
c3BlY2lmaWNhdGlvbi4KICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiX3Nl
bGYiKSB8fCBuYW1lID09ICJfY3VycmVudCIgfHwgbmFtZS5pc0VtcHR5KCkpCkBAIC0yNDUsOCAr
MjYxLDggQEAgRnJhbWUqIEZyYW1lVHJlZTo6ZmluZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUp
IGNvbnN0CiAgICAgZm9yIChhdXRvKiBvdGhlclBhZ2UgOiBwYWdlLT5ncm91cCgpLnBhZ2VzKCkp
IHsKICAgICAgICAgaWYgKG90aGVyUGFnZSA9PSBwYWdlKQogICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZy
YW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAg
IGlmIChmcmFtZS0+dHJlZSgpLnVuaXF1ZU5hbWUoKSA9PSBuYW1lKQorICAgICAgICBmb3IgKGF1
dG8qIGZyYW1lID0gJm90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1l
LT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgICAgIGlmIChmcmFtZS0+dHJlZSgp
LnVuaXF1ZU5hbWUoKSA9PSBuYW1lICYmIGlzRnJhbWVGYW1pbGlhcldpdGgoYWN0aXZlRnJhbWUs
ICpmcmFtZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZyYW1lOwogICAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKaW5kZXggMGI2YTc2MzUyOGJmZDc0YmIzYjFiZTA2NjE5
YmU4OGRkZmU5ZTc3Mi4uOTdjOGYyYjdhNDZlZjFjZDFkMDAxNzBiZDI3NTgxOTZjM2JlZDdkNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKIAogICAg
IEZyYW1lKiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CiAgICAgRnJhbWUqIGNoaWxkKGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgRnJhbWUq
IGZpbmQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9S
VCBGcmFtZSogZmluZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIEZyYW1lJiBhY3RpdmVGcmFt
ZSkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdW5zaWduZWQgY2hpbGRDb3VudCgpIGNvbnN0
OwogICAgIFdFQkNPUkVfRVhQT1JUIEZyYW1lJiB0b3AoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4IDc0OGVhZTNhMzNkOGYxYmVhNzQ5
ZGZmY2YwYzRkMmU1NjdlZWQ1NzguLjg1ZWI3OThjZDA5ZmUyODk3YTE1Y2I0MjY4ZDk3NzE1MTZi
ZDQ1MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKQEAg
LTE3NywxMyArMTc3LDEzIEBAIEZyYW1lKiBIaXRUZXN0UmVzdWx0Ojppbm5lck5vZGVGcmFtZSgp
IGNvbnN0CiBGcmFtZSogSGl0VGVzdFJlc3VsdDo6dGFyZ2V0RnJhbWUoKSBjb25zdAogewogICAg
IGlmICghbV9pbm5lclVSTEVsZW1lbnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgIEZyYW1lKiBmcmFtZSA9IG1faW5uZXJVUkxFbGVtZW50LT5kb2N1
bWVudCgpLmZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIHJldHVybiBudWxscHRyOwogCi0gICAgcmV0dXJuIGZyYW1lLT50cmVlKCkuZmluZChtX2lu
bmVyVVJMRWxlbWVudC0+dGFyZ2V0KCkpOworICAgIHJldHVybiBmcmFtZS0+dHJlZSgpLmZpbmQo
bV9pbm5lclVSTEVsZW1lbnQtPnRhcmdldCgpLCAqZnJhbWUpOwogfQogCiBib29sIEhpdFRlc3RS
ZXN1bHQ6OmlzU2VsZWN0ZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBmMDc1MmJkOTgyYTE1M2JhZDRiMjkyNDVmMTAz
MjE5NzBlYjNhYzkxLi43NTgwOGIxYjQ1YjBlY2M1NjgzOWMzYmZkMTI1Y2FlZDlhZjYzZThlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApA
QCAtMTIzOCw3ICsxMjM4LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZXJmb3JtSmF2YVNjcmlwdFVS
TFJlcXVlc3QoVVJMUmVxdWVzdCogcmVxdWVzdCkKIAogICAgIGlmICghcmVxdWVzdC0+dGFyZ2V0
KCkuaXNOdWxsKCkpIHsKICAgICAgICAgLy8gRm9yIHNlY3VyaXR5IHJlYXNvbnMsIG9ubHkgYWxs
b3cgSlMgcmVxdWVzdHMgdG8gYmUgbWFkZSBvbiB0aGUgZnJhbWUgdGhhdCBjb250YWlucyB0aGUg
cGx1Zy1pbi4KLSAgICAgICAgaWYgKGZyYW1lLT50cmVlKCkuZmluZChyZXF1ZXN0LT50YXJnZXQo
KSkgIT0gZnJhbWUpIHsKKyAgICAgICAgaWYgKGZyYW1lLT50cmVlKCkuZmluZChyZXF1ZXN0LT50
YXJnZXQoKSwgKmZyYW1lKSAhPSBmcmFtZSkgewogICAgICAgICAgICAgLy8gTGV0IHRoZSBwbHVn
LWluIGtub3cgdGhhdCBpdHMgZnJhbWUgbG9hZCBmYWlsZWQuCiAgICAgICAgICAgICBtX3BsdWdp
bi0+ZnJhbWVEaWRGYWlsKHJlcXVlc3QtPnJlcXVlc3RJRCgpLCBmYWxzZSk7CiAgICAgICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkZyYW1lLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQpp
bmRleCAzN2IzM2M4MTA4NDAyYmVjZjdlNTQ1NzA1NmM0ZDYzNzFjMjIwNDZiLi43MjYyY2UyYWY2
ZTc4N2RjOWQxYzM5YTIyZDcxN2IzZDk3ZmYyNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KQEAgLTI1ODcsNyArMjU4Nyw3IEBAIC0gKFdlYkZyYW1l
ICopZmluZEZyYW1lTmFtZWQ6KE5TU3RyaW5nICopbmFtZQogICAgIEZyYW1lKiBjb3JlRnJhbWUg
PSBfcHJpdmF0ZS0+Y29yZUZyYW1lOwogICAgIGlmICghY29yZUZyYW1lKQogICAgICAgICByZXR1
cm4gbmlsOwotICAgIHJldHVybiBraXQoY29yZUZyYW1lLT50cmVlKCkuZmluZChuYW1lKSk7Cisg
ICAgcmV0dXJuIGtpdChjb3JlRnJhbWUtPnRyZWUoKS5maW5kKG5hbWUsICpjb3JlRnJhbWUpKTsK
IH0KIAogLSAoV2ViRnJhbWUgKilwYXJlbnRGcmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ0OGY1MGJkZDhlOGEzYmZl
YzI5ZGUyMmUxMmEwOGYwMzBjMzY0ZTQuLmQzOGVmYjFmYzRhMTgyMGEwZGQ0OTk1ZDdhMzk4NmNh
ZGI1NjU4NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOC0xMC0xMiAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlc3RyaWN0IGJyb3dzaW5nIGNvbnRleHQg
bG9va3VwIGJ5IG5hbWUgdG8gZnJhbWVzIHRoYXQgYXJlIHJlbGF0ZWQgdG8gb25lIGFub3RoZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ3NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9kb20vbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25ldy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXIu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LWNh
bm5vdC10YXJnZXQtb3BlbmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJnZXQtb3BlbmVyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJs
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVy
LXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxl
Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2RvbS9ub3JlZmVycmVyLXdpbmRv
dy1ub3QtdGFyZ2V0YWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvZG9tL29wZW5lZC13aW5kb3ctbm90LXRhcmdldGFibGUtYWZ0ZXIt
ZGlzb3duaW5nLW9wZW5lci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvZG9tL29wZW5lZC13aW5kb3ctbm90LXRhcmdldGFibGUtYWZ0ZXItZGlzb3duaW5nLW9wZW5l
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMvbmV3LXdp
bmRvdy1jYW4tdGFyZ2V0LW9wZW5lci13aW4uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9kb20vcmVzb3VyY2VzL25vb3BlbmVyLXdpbmRvdy1jYW5ub3QtdGFyZ2V0LW9wZW5lci13
aW4uaHRtbDogQWRkZWQuCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAg
ICAgICAqIGZhc3QvZG9tL1dpbmRvdy9hLXJlbC1ub29wZW5lci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvcmVzb3VyY2VzL3JlbC1ub29wZW5lci5qczoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL25vLXJl
ZmVycmVyLWhlbHBlci5waHA6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdp
bmRvdy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13
aW5kb3ctbmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZSAvIHJlYmFzZWxpbmUgZXhp
c3RpbmcgdGVzdHMgdG8gcmVmbGVjdCBiZWhhdmlvciBjaGFuZ2UuCisKIDIwMTgtMTAtMDggIFl1
c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0Lm9yZz4KIAogICAgICAgICBbSlND
XSBKU0Mgc2hvdWxkIGhhdmUgInBhcnNlRnVuY3Rpb24iIHRvIG9wdGltaXplIEZ1bmN0aW9uIGNv
bnN0cnVjdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYS1yZWwt
bm9vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2EtcmVs
LW5vb3BlbmVyLWV4cGVjdGVkLnR4dAppbmRleCA4ZTg3MDRhZThiMzQ4OTY5MzZmNGY1ZGNjZTI0
YmVkZGZlNGM5MjQ4Li5lMTM1ZjUyYTRkNTVlNDc0ZmFmZWU5YTdhNjQ1YmU5OGJjMDc2MjhmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYS1yZWwtbm9vcGVuZXItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hLXJlbC1ub29wZW5l
ci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6
IFBBU1M6IHdpbmRvdy5vcGVuZXIgaXMgbnVsbAogVGVzdCB0aGF0IHdpbmRvdy5vcGVuZXIgaXMg
bnVsbCB3aGVuIGEgbmV3IHdpbmRvdyBpcyBvcGVuZWQgZnJvbSBhbiBhbmNob3IgZWxlbWVudCB3
aXRoIHJlbD0nbm9vcGVuZXInLgogCi1QQVNTOiB3aW5kb3cub3BlbmVyIGlzIG51bGwKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hcmVhLXJlbC1ub29wZW5l
ci1leHBlY3RlZC50eHQKaW5kZXggYjZlY2U4YjU5YTU2OGIwZTVmZTliMWJkZTBlM2E1NWEzZTk2
OTkxYS4uZTYyMDJjZDQ2YWFkZGE5NmUxOGQ4Nzg1ZGJhOWEyNDA1ZGJmYTNmNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYXJlYS1yZWwtbm9vcGVuZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBQ
QVNTOiB3aW5kb3cub3BlbmVyIGlzIG51bGwKIFRlc3QgdGhhdCB3aW5kb3cub3BlbmVyIGlzIG51
bGwgd2hlbiBhIG5ldyB3aW5kb3cgaXMgb3BlbmVkIGZyb20gYW4gYXJlYSBlbGVtZW50IHdpdGgg
cmVsPSdub29wZW5lcicuCiAKIAotUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxsCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvcmVsLW5vb3BlbmVy
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy9yZWwtbm9vcGVuZXIu
anMKaW5kZXggYmI1ZDQ2ZWFlMzk3YTNlZGYxYWRhNTc4OWY1YmY2OWVjMWEyZDdiOS4uYjNiNTli
YTMwY2Q0ZWFkYjc2MzQ1YzhkZGU5MDFmOGMyYzQ5ZDI0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy9yZWwtbm9vcGVuZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy9yZWwtbm9vcGVuZXIuanMKQEAgLTUsMTEg
KzUsMTAgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiB9CiAKIGlmIChkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID09PSAiI25ldy13aW5kb3ciKSB7Ci0gICAgdmFyIGNvbnNvbGUgPSB3aW5kb3cu
b3BlbigiIiwgIm9yaWdpbmFsV2luZG93IikuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNv
bGUiKTsKICAgICBpZiAod2luZG93Lm9wZW5lcikKLSAgICAgICAgY29uc29sZS5pbm5lclRleHQg
PSAiRkFJTDogd2luZG93Lm9wZW5lciBpcyBub24tbnVsbCI7CisgICAgICAgIGNvbnNvbGUubG9n
KCJGQUlMOiB3aW5kb3cub3BlbmVyIGlzIG5vbi1udWxsIik7CiAgICAgZWxzZQotICAgICAgICBj
b25zb2xlLmlubmVyVGV4dCA9ICJQQVNTOiB3aW5kb3cub3BlbmVyIGlzIG51bGwiOworICAgICAg
ICBjb25zb2xlLmxvZygiUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxsIik7CiAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CiB9IGVsc2UgewogICAgIHdpbmRvdy5uYW1lID0gIm9yaWdpbmFs
V2luZG93IjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25ldy13aW5k
b3ctY2FuLXRhcmdldC1vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9kb20vbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzJhOGRjZTAxYThlOTcxMjk0ODA2MGI2NTJlY2QxMTQ3ZWQ2OGQ2OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25ldy13aW5kb3ctY2FuLXRhcmdldC1v
cGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE1OiBQQVNTOiBOZXcgd2luZG93IHNob3VsZCBoYXZlIGFuIG9wZW5lcgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIxOiBQQVNTOiBOZXcgd2luZG93IHNob3VsZCBiZSBhYmxlIHRvIGxvb2sgdXAg
b3BlbmVyIGJ5IG5hbWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogUEFTUzogTmV3IHdpbmRv
dyBzaG91bGQgaGF2ZSBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9kb20vbmV3LXdpbmRvdy1j
YW4tdGFyZ2V0LW9wZW5lci5odG1sJworTWFrZSBzdXJlIHRoYXQgd2luZG93cyBvcGVuZWQgdmlh
IHdpbmRvdy5vcGVuIGNhbiB0YXJnZXQgdGhlaXIgb3BlbmVyCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25l
dy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZG9tL25ldy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWYxMzk4
NmE2Y2E1NGJjOTE5MzIwMzdkNWJiMjBmYTI4NzZmNTNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci5odG1s
CkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIHRoYXQgd2luZG93cyBv
cGVuZWQgdmlhIHdpbmRvdy5vcGVuIGNhbiB0YXJnZXQgdGhlaXIgb3BlbmVyIik7Citqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIu
c2V0Q2FuT3BlbldpbmRvd3MoKTsgICAgCisgCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3
aW5kb3cubmFtZSA9ICJvcGVuZXIiOworICAgIHcgPSBvcGVuKCJyZXNvdXJjZXMvbmV3LXdpbmRv
dy1jYW4tdGFyZ2V0LW9wZW5lci13aW4uaHRtbCIsICIiKTsKK30gICAgCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25v
b3BlbmVyLXdpbmRvdy1jYW5ub3QtdGFyZ2V0LW9wZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyM2M0MDAwMTQwZjZhMDNiMmFkZjVmMjMzOTcyMTdj
MDU2NGE5YTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9u
b29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3OiBQQVNTOiBOZXcgd2luZG93IHNob3Vs
ZCBub3QgaGF2ZSBhbiBvcGVuZXIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMTogUEFTUzogTmV3
IHdpbmRvdyBzaG91bGQgaGF2ZSBVUkwgJ2Fib3V0OmJsYW5rJworTWFrZSBzdXJlIHRoYXQgd2lu
ZG93cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSB3aW5kb3cub3BlbiBjYW5ub3QgdGFyZ2V0
IHRoZWlyIG9wZW5lci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdyBp
cyBudWxsCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVy
LXdpbmRvdy1jYW5ub3QtdGFyZ2V0LW9wZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9kb20vbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJnZXQtb3BlbmVyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2QwZGU3NWYwNTU5ZGY4NjE5ZTdhYmU5OGNhMjU2OGE2MjBmYjdjNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1jYW5ub3Qt
dGFyZ2V0LW9wZW5lci5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFrZSBz
dXJlIHRoYXQgd2luZG93cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSB3aW5kb3cub3BlbiBj
YW5ub3QgdGFyZ2V0IHRoZWlyIG9wZW5lci4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygp
OyAgICAKKyAKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHdpbmRvdy5uYW1lID0gIm9wZW5l
ciI7CisgICAgdyA9IG9wZW4oInJlc291cmNlcy9ub29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdl
dC1vcGVuZXItd2luLmh0bWwiLCAiIiwgIm5vb3BlbmVyIik7CisgICAgc2hvdWxkQmVOdWxsKCJ3
Iik7Cit9ICAgIAorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5v
dC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42M2Q3YjA3ZDBjYWJmOGE5Y2Nk
ZWY1YTgwMjNjNWE5OTgxYmM5ZDNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDExIEBACitNYWtlIHN1cmUgdGhhdCB3aW5kb3dzIG9wZW5lZCB3aXRoICdub29w
ZW5lcicgdmlhIGFuIGFuY2hvciBhcmUgbm90IHRhcmdldGFibGUuIElmIHRlc3RpbmcgbWFudWFs
bHksIHlvdSBzaG91bGQgc2VlIDIgdGFicyBvcGVuLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyB3LmxvY2F0aW9uLmhyZWYgaXMgImFib3V0OmJsYW5rIgorUEFTUyB0ZXN0
UnVubmVyLndpbmRvd0NvdW50KCkgaXMgMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzRmOWM1M2IwYmQ4M2VlMWQ2NTVkMmZjMTA1YmUzZTI0ZDhjNzYwYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFy
Z2V0YWJsZS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxhIGlkPSJ0ZXN0TGluayIgdGFyZ2V0PSJmb28iIHJlbD0i
bm9vcGVuZXIiIGhyZWY9Ii9uYXZpZ2F0aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCI+PC9h
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgdGhhdCB3aW5kb3dzIG9wZW5lZCB3
aXRoICdub29wZW5lcicgdmlhIGFuIGFuY2hvciBhcmUgbm90IHRhcmdldGFibGUuIElmIHRlc3Rp
bmcgbWFudWFsbHksIHlvdSBzaG91bGQgc2VlIDIgdGFicyBvcGVuLiIpOworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLnNldENh
bk9wZW5XaW5kb3dzKCk7ICAgIAorIAorb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgdGVzdExp
bmsuY2xpY2soKTsKKworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHcgPSBv
cGVuKCIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIik7IC8vIFNo
b3VsZCBjcmVhdGUgYSBuZXcgd2luZG93LgorICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
IncubG9jYXRpb24uaHJlZiIsICJhYm91dDpibGFuayIpOworICAgICAgICB3Lm9ubG9hZCA9IGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJ0ZXN0UnVubmVyLndpbmRvd0NvdW50KCkiLCAiMyIpOworICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICB9LCAxMDApOworfSAgICAKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Y2Q5NzYxOGYwMThlOThlMjdkNjkyYWQ3MmY2MTg1
YTgyZGMzNDM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20v
bm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorTWFrZSBzdXJlIHRoYXQgd2luZG93cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSB3
aW5kb3cub3BlbiBhcmUgbm90IHRhcmdldGFibGUuIElmIHRlc3RpbmcgbWFudWFsbHksIHlvdSBz
aG91bGQgc2VlIDIgdGFicyBvcGVuLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyB3IGlzIG51bGwKK1BBU1Mgdy5sb2NhdGlvbi5ocmVmIGlzICJhYm91dDpibGFuayIKK1BB
U1MgdGVzdFJ1bm5lci53aW5kb3dDb3VudCgpIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDljMDE5YmIyNDM4MzcxMDI5NTY1ZjgwYWVkZTUyNzg5OWExMDljNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRv
dy1ub3QtdGFyZ2V0YWJsZTIuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIk1h
a2Ugc3VyZSB0aGF0IHdpbmRvd3Mgb3BlbmVkIHdpdGggJ25vb3BlbmVyJyB2aWEgd2luZG93Lm9w
ZW4gYXJlIG5vdCB0YXJnZXRhYmxlLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNl
ZSAyIHRhYnMgb3Blbi4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAKKworb25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgdyA9IHdpbmRvdy5vcGVuKCIvbmF2aWdhdGlvbi9yZXNv
dXJjZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIiwgIm5vb3BlbmVyIik7CisgICAgc2hvdWxkQmVO
dWxsKCJ3Iik7CisKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICB3ID0gb3Bl
bigiL25hdmlnYXRpb24vcmVzb3VyY2VzL290aGVycGFnZS5odG1sIiwgImZvbyIpOyAvLyBTaG91
bGQgY3JlYXRlIGEgbmV3IHdpbmRvdy4KKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3
LmxvY2F0aW9uLmhyZWYiLCAiYWJvdXQ6YmxhbmsiKTsKKyAgICAgICAgdy5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZSgidGVzdFJ1bm5lci53aW5kb3dDb3VudCgpIiwgIjMiKTsKKyAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisgICAgfSwgMTAwKTsKK30gICAgCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWJlYjczYWViMmY3YjRiYTI5ZDM3MWVhYzM2NzYx
MzgyNGZhMmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20v
bm9yZWZlcnJlci13aW5kb3ctbm90LXRhcmdldGFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK01ha2Ugc3VyZSB0aGF0IHdpbmRvd3Mgb3BlbmVkIHdpdGggJ25vcmVmZXJyZXInIGFy
ZSBub3QgdGFyZ2V0YWJsZS4gSWYgdGVzdGluZyBtYW51YWxseSwgeW91IHNob3VsZCBzZWUgMiB0
YWJzIG9wZW4uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHcubG9jYXRp
b24uaHJlZiBpcyAiYWJvdXQ6YmxhbmsiCitQQVNTIHRlc3RSdW5uZXIud2luZG93Q291bnQoKSBp
cyAzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5kb3ct
bm90LXRhcmdldGFibGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vcmVmZXJy
ZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQyOTIxYzRkMDM4NmI0
MDcxYzViOWI5ZmZhMTJhMjliOTliOTc1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKQEAg
LTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGEgaWQ9InRlc3RMaW5rIiB0YXJnZXQ9ImZvbyIgcmVsPSJub3JlZmVycmVyIiBocmVm
PSIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwiPjwvYT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiTWFrZSBzdXJlIHRoYXQgd2luZG93cyBvcGVuZWQgd2l0aCAnbm9yZWZlcnJl
cicgYXJlIG5vdCB0YXJnZXRhYmxlLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNl
ZSAyIHRhYnMgb3Blbi4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAKKworb25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgdGVzdExpbmsuY2xpY2soKTsKKyAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeworICAgICAgICB3ID0gb3BlbigiL25hdmlnYXRpb24vcmVzb3VyY2VzL290
aGVycGFnZS5odG1sIiwgImZvbyIpOyAvLyBTaG91bGQgY3JlYXRlIGEgbmV3IHdpbmRvdy4KKyAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3LmxvY2F0aW9uLmhyZWYiLCAiYWJvdXQ6Ymxh
bmsiKTsKKyAgICAgICAgdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgidGVzdFJ1bm5lci53
aW5kb3dDb3VudCgpIiwgIjMiKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICB9CisgICAgfSwgMTAwKTsKK30gICAgCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL29wZW5lZC13aW5kb3ctbm90LXRh
cmdldGFibGUtYWZ0ZXItZGlzb3duaW5nLW9wZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2RvbS9vcGVuZWQtd2luZG93LW5vdC10YXJnZXRhYmxlLWFmdGVyLWRpc293
bmluZy1vcGVuZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2ZjVkYzRhNGQwOWQxNTc2NjAw
Y2Q5ZGY2MzBhMTcxOGMzNWU0ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2RvbS9vcGVuZWQtd2luZG93LW5vdC10YXJnZXRhYmxlLWFmdGVyLWRpc293bmluZy1v
cGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK01ha2Ugc3VyZSB0aGF0IHdpbmRv
d3Mgb3BlbmVkIHZpYSB3aW5kb3cub3BlbiBhcmUgbm90IHRhcmdldGFibGUgYnkgdGhlaXIgb3Bl
bmVyIGFmdGVyIGl0IGlzIGRpc293bmVkLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxk
IHNlZSAyIHRhYnMgb3Blbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
dy5sb2NhdGlvbi5ocmVmIGlzICJhYm91dDpibGFuayIKK1BBU1MgdGVzdFJ1bm5lci53aW5kb3dD
b3VudCgpIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9vcGVuZWQtd2lu
ZG93LW5vdC10YXJnZXRhYmxlLWFmdGVyLWRpc293bmluZy1vcGVuZXIuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvZG9tL29wZW5lZC13aW5kb3ctbm90LXRhcmdldGFibGUtYWZ0ZXItZGlz
b3duaW5nLW9wZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZmY3MWJhYjM3ZjBkYjdkMTUzNmYyM2Rm
YWUzZmFhMDc4ZDRiZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2RvbS9vcGVuZWQtd2luZG93LW5vdC10YXJnZXRhYmxlLWFmdGVyLWRpc293bmluZy1vcGVuZXIu
aHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSB0aGF0IHdpbmRv
d3Mgb3BlbmVkIHZpYSB3aW5kb3cub3BlbiBhcmUgbm90IHRhcmdldGFibGUgYnkgdGhlaXIgb3Bl
bmVyIGFmdGVyIGl0IGlzIGRpc293bmVkLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxk
IHNlZSAyIHRhYnMgb3Blbi4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAKKwor
b25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgdyA9IHdpbmRvdy5vcGVuKCIvbmF2aWdhdGlvbi9y
ZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIik7CisgICAgdy5vcGVuZXIgPSBudWxsOwor
CisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgdyA9IG9wZW4oIi9uYXZpZ2F0
aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCIsICJmb28iKTsgLy8gU2hvdWxkIGNyZWF0ZSBh
IG5ldyB3aW5kb3cuCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlvbi5o
cmVmIiwgImFib3V0OmJsYW5rIik7CisgICAgICAgIHcub25sb2FkID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoInRlc3RSdW5uZXIud2luZG93Q291bnQoKSIsICIzIik7CisgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgfQorICAgIH0sIDEwMCk7Cit9ICAgIAorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNv
dXJjZXMvbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci13aW4uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvZG9tL3Jlc291cmNlcy9uZXctd2luZG93LWNhbi10YXJnZXQtb3BlbmVyLXdp
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg2MTNhNDhiNzMyMGZkNzY5NGIwNGZlODIxMzVjMDNkYmJmMzBm
MWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJj
ZXMvbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci13aW4uaHRtbApAQCAtMCwwICsxLDM1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgoranNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGlmICh3aW5kb3cub3BlbmVyKQorICAgICAgICBjb25zb2xlLmxvZygiUEFTUzogTmV3IHdp
bmRvdyBzaG91bGQgaGF2ZSBhbiBvcGVuZXIiKTsKKyAgICBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCJGQUlMOiBOZXcgd2luZG93IHNob3VsZCBoYXZlIGFuIG9wZW5lciIpOworCisgICAgb3Bl
bmVyQnlOYW1lID0gb3BlbigiIiwgIm9wZW5lciIpOyAvLyBTaG91bGQgcmV0dXJuIHRoZSBvcGVu
ZXIuCisgICAgaWYgKG9wZW5lckJ5TmFtZSA9PT0gb3BlbmVyKQorICAgICAgICBjb25zb2xlLmxv
ZygiUEFTUzogTmV3IHdpbmRvdyBzaG91bGQgYmUgYWJsZSB0byBsb29rIHVwIG9wZW5lciBieSBu
YW1lIik7CisgICAgZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiRkFJTDogTmV3IHdpbmRvdyBz
aG91bGQgYmUgYWJsZSB0byBsb29rIHVwIG9wZW5lciBieSBuYW1lIik7CisKKyAgICBjb25zdCBl
eHBlY3RlZE9wZW5lclVSTCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZG9tL25ldy13aW5kb3ct
Y2FuLXRhcmdldC1vcGVuZXIuaHRtbCI7CisgICAgaWYgKG9wZW5lckJ5TmFtZS5sb2NhdGlvbi5o
cmVmID09IGV4cGVjdGVkT3BlbmVyVVJMKQorICAgICAgICBjb25zb2xlLmxvZygiUEFTUzogTmV3
IHdpbmRvdyBzaG91bGQgaGF2ZSBVUkwgJyIgKyBleHBlY3RlZE9wZW5lclVSTCArICInIik7Cisg
ICAgZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiRkFJTDogTmV3IHdpbmRvdyBzaG91bGQgaGF2
ZSBVUkwgJyIgKyBleHBlY3RlZE9wZW5lclVSTCArICInIGJ1dCBnb3QgJyIgKyBvcGVuZXJCeU5h
bWUubG9jYXRpb24uaHJlZiArICInIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZG9tL3Jlc291cmNlcy9ub29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXItd2lu
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMvbm9vcGVuZXItd2lu
ZG93LWNhbm5vdC10YXJnZXQtb3BlbmVyLXdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiODgwZWU2ZDEz
MzNiMGRkZDA0YTczYzZlODI3NDRiMzMxYWY4ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMvbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJn
ZXQtb3BlbmVyLXdpbi5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKKworb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKHdpbmRvdy5vcGVuZXIp
CisgICAgICAgIGNvbnNvbGUubG9nKCJGQUlMOiBOZXcgd2luZG93IHNob3VsZCBub3QgaGF2ZSBh
biBvcGVuZXIiKTsKKyAgICBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCJQQVNTOiBOZXcgd2lu
ZG93IHNob3VsZCBub3QgaGF2ZSBhbiBvcGVuZXIiKTsKKworICAgIG9wZW5lciA9IG9wZW4oIiIs
ICJvcGVuZXIiKTsgLy8gU2hvdWxkIG9wZW4gYSBuZXcgd2luZG93LgorICAgIGlmIChvcGVuZXIu
bG9jYXRpb24uaHJlZiA9PSAiYWJvdXQ6YmxhbmsiKQorICAgICAgICBjb25zb2xlLmxvZygiUEFT
UzogTmV3IHdpbmRvdyBzaG91bGQgaGF2ZSBVUkwgJ2Fib3V0OmJsYW5rJyIpOworICAgIGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIkZBSUw6IE5ldyB3aW5kb3cgc2hvdWxkIGhhdmUgVVJMICdh
Ym91dDpibGFuaycgYnV0IGdvdCAnIiArIG9wZW5lci5sb2NhdGlvbi5ocmVmICsgIiciKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXRh
cmdldC1ibGFuay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRp
b24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4cGVjdGVkLnR4dAppbmRleCA1YzMyZTVlNzE2
MDMwZjY3N2Y1NWQ1MTQyYWI0OTBjNDJiZjU0NWRmLi5jYWFkYWJlOGUzODgyNmYyYThmMWUyYTMx
YTA0OGI4NGVkZjk5MzI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogUmVmZXJy
ZXI6CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IHdpbmRvdy5vcGVuZXI6IAogVGhpcyB0ZXN0
cyB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgIm5vcmVmZXJyZXIiIGxpbmsgcmVsYXRpb24gb24g
YW5jaG9yIHRhZ3MuIFRoZSBsaW5rIGJlbG93IHNob3VsZCBub3Qgc2VuZCBhbiBodHRwIHJlZmVy
cmVyLCBhbmQgdGhlIHJlc3VsdGluZyB3aW5kb3cgc2hvdWxkIGhhdmUgaXRzIG9wZW5lciBhdHRy
aWJ1dGUgc2V0IHRvIG51bGwuIFRoZSB2YWx1ZXMgb2YgdGhlIHJlZmVycmVyIGFuZCB3aW5kb3cu
b3BlbmVyIHNob3VsZCBiZSBlbXB0eSBiZWxvdy4KIFN0YXJ0IG5vIHJlZmVycmVyIHRlc3QKLVJl
ZmVycmVyOgotd2luZG93Lm9wZW5lcjoKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uby1yZWZlcnJlci1oZWxwZXIucGhwIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uby1yZWZlcnJlci1oZWxwZXIu
cGhwCmluZGV4IGZlYTkzZGM4MDkwNzNiMzI3ZmVjNmU4MjE1MGUyOTVjZjJlNDMzMzAuLjVjMmFi
ZjM3YWEzMDlhOWRiM2JiMTM0M2MyMDhjYjI3MGYwMGU2MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbm8tcmVmZXJyZXItaGVscGVyLnBo
cAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL25vLXJl
ZmVycmVyLWhlbHBlci5waHAKQEAgLTE4LDExICsxOCw4IEBAIGZ1bmN0aW9uIGxvZyhtc2cpCiAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChsaW5lKTsK
IH0KIAotICAgIHZhciBjb25zb2xlV2luZG93ID0gd2luZG93Lm9wZW4oIiIsICJjb25zb2xlV2lu
ZG93Iik7Ci0gICAgaWYgKGNvbnNvbGVXaW5kb3cpIHsKLSAgICAgICAgY29uc29sZVdpbmRvdy5s
b2coZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlZmVycmVyIikuaW5uZXJUZXh0KTsKLSAgICAg
ICAgY29uc29sZVdpbmRvdy5sb2coIndpbmRvdy5vcGVuZXI6ICIgKyAod2luZG93Lm9wZW5lciA/
IHdpbmRvdy5vcGVuZXIubG9jYXRpb24gOiAiIikpOwotICAgIH0KKyAgICBjb25zb2xlLmxvZyhk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVmZXJyZXIiKS5pbm5lclRleHQpOworICAgIGNvbnNv
bGUubG9nKCJ3aW5kb3cub3BlbmVyOiAiICsgKHdpbmRvdy5vcGVuZXIgPyB3aW5kb3cub3BlbmVy
LmxvY2F0aW9uIDogIiIpKTsKICAgICAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3Nl
cnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS1leHBlY3RlZC50eHQKaW5k
ZXggMGI3NzU2MTljM2UyZjkzYjViODE1ZDdjZTM2YjU0NmVmMzNlYzgxNi4uMTFlZGU2NWJlODBk
Y2Y5ZDYyODI0MGZhODgyODFkMTUwZGExMWQxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3Nl
cnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0
CkBAIC0xLDkgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM3OiBVbnNhZmUgSmF2YVNj
cmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICcn
IGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9odG1sL2Jyb3dzZXJz
L3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS5odG1sJy4gVGhlIGZyYW1lIGF0dGVtcHRp
bmcgbmF2aWdhdGlvbiBpcyBuZWl0aGVyIHNhbWUtb3JpZ2luIHdpdGggdGhlIHRhcmdldCwgbm9y
IGlzIGl0IHRoZSB0YXJnZXQncyBwYXJlbnQgb3Igb3BlbmVyLgotCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMzg6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlv
biBmb3IgZnJhbWUgd2l0aCBVUkwgJycgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLmh0
bWwnLiBUaGUgZnJhbWUgYXR0ZW1wdGluZyBuYXZpZ2F0aW9uIGlzIG5laXRoZXIgc2FtZS1vcmln
aW4gd2l0aCB0aGUgdGFyZ2V0LCBub3IgaXMgaXQgdGhlIHRhcmdldCdzIHBhcmVudCBvciBvcGVu
ZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzODogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1w
dCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnJyBmcm9tIGZyYW1l
IHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvaHRtbC9icm93c2Vycy93aW5kb3dzL25v
cmVmZXJyZXItd2luZG93LW5hbWUuaHRtbCcuIFRoZSBmcmFtZSBhdHRlbXB0aW5nIG5hdmlnYXRp
b24gaXMgbmVpdGhlciBzYW1lLW9yaWdpbiB3aXRoIHRoZSB0YXJnZXQsIG5vciBpcyBpdCB0aGUg
dGFyZ2V0J3MgcGFyZW50IG9yIG9wZW5lci4KLQogCiBIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwg
bWVzc2FnZSA9IG51bGwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVm
ZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2sy
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL25v
cmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0CmluZGV4IDA2N2VkMGFkNjAzMTZlOGUz
MTc2YWQyNzQ5OGQxZTRlODljZmU5YzcuLmNiYTU3NGZiOTcwNDI5NzBmM2NkZDU0OWZjMmIyYzFk
MTJmODQyNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdp
bmRvdy1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZl
cnJlci13aW5kb3ctbmFtZS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACi1DT05TT0xFIE1F
U1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBm
b3IgZnJhbWUgd2l0aCBVUkwgJycgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9z
dDo4ODAwL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLmh0bWwn
LiBUaGUgZnJhbWUgYXR0ZW1wdGluZyBuYXZpZ2F0aW9uIGlzIG5laXRoZXIgc2FtZS1vcmlnaW4g
d2l0aCB0aGUgdGFyZ2V0LCBub3IgaXMgaXQgdGhlIHRhcmdldCdzIHBhcmVudCBvciBvcGVuZXIu
Ci0KIAogSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352179</attachid>
            <date>2018-10-12 10:21:50 -0700</date>
            <delta_ts>2018-10-12 16:38:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190475-20181012102149.patch</filename>
            <type>text/plain</type>
            <size>33396</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjlkY2FiMDkxMzA1OTE1
MDVmYjg5OTEyZmY4ZDE2YTZjMDg5NzZjOS4uMjJjZTJlNGI4OGQ1OTc0Y2ExYzFhZGY1ODgzODgw
OTFkNWE5NTRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTEwLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzdHJpY3QgYnJvd3Npbmcg
Y29udGV4dCBsb29rdXAgYnkgbmFtZSB0byBmcmFtZXMgdGhhdCBhcmUgcmVsYXRlZCB0byBvbmUg
YW5vdGhlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwNDc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIG91ciBmcmFtZSBsb29rdXAgYnkgbmFtZSBsb2dpYyB0byB0YWtlIGluIHRoZSBhY3Rp
dmUgLyByZXF1ZXN0aW5nIGZyYW1lIGFuZAorICAgICAgICBvbmx5IGEgcmV0dXJuIGEgZnJhbWUg
dGhhdCBpcyByZWxhdGVkIHRvIGl0LiBCeSByZWxhdGVkIHRvIGl0LCBJIG1lYW46CisgICAgICAg
IC0gQW5jZXN0b3IgPC0+IERlc2NlbmRhbnQgcmVsYXRpb25zaGlwCisgICAgICAgIC0gT3BlbmVy
IDwtPiBPcGVuZWUgcmVsYXRpb25zaGlwCisKKyAgICAgICAgQmVpbmcgYWJsZSB0byBsb29rIHVw
IHVucmVsYXRlZCBmcmFtZXMgbWFrZXMgcHJvY2VzcyBzd2FwcGluZyBkaWZmaWN1bHQgc28gd2Ug
bmVlZAorICAgICAgICB0byBiZSBzdHJpY3Rlci4KKworICAgICAgICBUaGlzIGNoYW5nZSBpcyBi
ZWluZyBkaXNjdXNzZWQgYXQ6CisgICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9o
dG1sL2lzc3Vlcy8zMTMKKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9kb20vbmV3LXdpbmRv
dy1jYW4tdGFyZ2V0LW9wZW5lci5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2RvbS9u
b29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXIuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZTIu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5kb3ctbm90
LXRhcmdldGFibGUuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9kb20vb3BlbmVkLXdp
bmRvdy1ub3QtdGFyZ2V0YWJsZS1hZnRlci1kaXNvd25pbmctb3BlbmVyLmh0bWwKKworICAgICAg
ICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6ZmluZEZyYW1lRm9yTmF2aWdhdGlvbik6CisgICAgICAgICogcGFnZS9GcmFtZVRyZWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aXNGcmFtZUZhbWlsaWFyV2l0aCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVRyZWU6OmZpbmQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvRnJhbWVUcmVlLmg6
CisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SGl0VGVzdFJlc3VsdDo6dGFyZ2V0RnJhbWUgY29uc3QpOgorCiAyMDE4LTEwLTExICBEb24g
T2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgQWRkIEhvdWRpbmkg
c3BlY3MgdG8gZmVhdHVyZXMuanNvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1NjYxMjE0YmUzMDA1MjJjODZkZWQ4
YjUxZGFhY2UyODc2ZmEzYzVkLi45YTIzNjlhNjBjMDAxZWVlZjNkMTdkYWY3ZGMzOTUwMGI3ODIx
ODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTEwLTEyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzdHJpY3QgYnJvd3NpbmcgY29udGV4dCBs
b29rdXAgYnkgbmFtZSB0byBmcmFtZXMgdGhhdCBhcmUgcmVsYXRlZCB0byBvbmUgYW5vdGhlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDc1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6
OnBlcmZvcm1KYXZhU2NyaXB0VVJMUmVxdWVzdCk6CisKIDIwMTgtMTAtMTEgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIElPUyAxMiAtIFNlcnZpY2Ugd29ya2Vy
IGNhY2hlIG5vdCBzaGFyZWQgd2hlbiBhZGRlZCB0byBob21lc2NyZWVuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKaW5kZXggYTgxOGI1ZGI1OTdmY2ZhZGI1YzhhN2I3NWMyMTM4OWU2M2VjODA3
ZC4uYmY3ODBiYTRiMmVmNGZhMzNhYzVmYzBmOTI2YWUwYzZlYTM5NWQwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTEwLTEyICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzdHJpY3QgYnJvd3NpbmcgY29udGV4
dCBsb29rdXAgYnkgbmFtZSB0byBmcmFtZXMgdGhhdCBhcmUgcmVsYXRlZCB0byBvbmUgYW5vdGhl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDc1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJW
aWV3L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtXZWJGcmFtZSBmaW5kRnJhbWVOYW1lZDpdKToK
KwogMjAxOC0xMC0xMSAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ1VSUkVOVF9BUkNIIHNob3VsZCBub3QgYmUgdXNlZCBpbiBSdW4gU2NyaXB0IHBoYXNlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggODQwMzg3NmEzNjFmNmUwNjNm
MjQ2YThlOGNlZTEwYWFkOTY0ZTZiMi4uMGJlYjI4ZjY2NGVjZTNkYzc1MzViYjU5MWY4OTE5Yjdk
ZmNjYmY2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0zNTQwLDEy
ICszNTQwLDEyIEBAIGJvb2wgRnJhbWVMb2FkZXI6OnNob3VsZFRyZWF0VVJMQXNTcmNkb2NEb2N1
bWVudChjb25zdCBVUkwmIHVybCkgY29uc3QKIAogRnJhbWUqIEZyYW1lTG9hZGVyOjpmaW5kRnJh
bWVGb3JOYXZpZ2F0aW9uKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgRG9jdW1lbnQqIGFjdGl2
ZURvY3VtZW50KQogewotICAgIEZyYW1lKiBmcmFtZSA9IG1fZnJhbWUudHJlZSgpLmZpbmQobmFt
ZSk7Ci0KICAgICAvLyBGSVhNRTogRXZlbnR1YWxseSBhbGwgY2FsbGVycyBzaG91bGQgc3VwcGx5
IHRoZSBhY3R1YWwgYWN0aXZlRG9jdW1lbnQgc28gd2UgY2FuIGNhbGwgY2FuTmF2aWdhdGUgd2l0
aCB0aGUgcmlnaHQgZG9jdW1lbnQuCiAgICAgaWYgKCFhY3RpdmVEb2N1bWVudCkKICAgICAgICAg
YWN0aXZlRG9jdW1lbnQgPSBtX2ZyYW1lLmRvY3VtZW50KCk7CiAKKyAgICBhdXRvKiBmcmFtZSA9
IG1fZnJhbWUudHJlZSgpLmZpbmQobmFtZSwgYWN0aXZlRG9jdW1lbnQtPmZyYW1lKCkgPyAqYWN0
aXZlRG9jdW1lbnQtPmZyYW1lKCkgOiBtX2ZyYW1lKTsKKwogICAgIGlmICghYWN0aXZlRG9jdW1l
bnQtPmNhbk5hdmlnYXRlKGZyYW1lKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVUcmVlLmNwcAppbmRleCA0MmNiMzMzYTBjMDlkNTE0ZGIwZjE3YzdjZjBkYjZm
ODc2NmJmZDMwLi5hOWZlYzE1M2M5NzgyZjM5NDYyZDkwMTA5ZmMwNjUyYzUxYmQxZmQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVRyZWUuY3BwCkBAIC0yMDgsNyArMjA4LDIzIEBAIEZyYW1lKiBGcmFt
ZVRyZWU6OmNoaWxkKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3QKICAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAotRnJhbWUqIEZyYW1lVHJlZTo6ZmluZChjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWUpIGNvbnN0CisvLyBGcmFtZVRyZWU6OmZpbmQoKSBvbmx5IHJldHVybnMgZnJhbWVzIGlu
IHBhZ2VzIHRoYXQgYXJlIHJlbGF0ZWQgdG8gdGhlIGFjdGl2ZQorLy8gcGFnZSBieSBhbiBvcGVu
ZXIgPC0+IG9wZW5lZSByZWxhdGlvbnNoaXAuCitzdGF0aWMgYm9vbCBpc0ZyYW1lRmFtaWxpYXJX
aXRoKEZyYW1lJiBmcmFtZUEsIEZyYW1lJiBmcmFtZUIpCit7CisgICAgaWYgKGZyYW1lQS5wYWdl
KCkgPT0gZnJhbWVCLnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoYXV0
byogZnJhbWVBT3BlbmVyID0gZnJhbWVBLm1haW5GcmFtZSgpLmxvYWRlcigpLm9wZW5lcigpKQor
ICAgICAgICByZXR1cm4gaXNGcmFtZUZhbWlsaWFyV2l0aCgqZnJhbWVBT3BlbmVyLCBmcmFtZUIp
OworCisgICAgaWYgKGF1dG8qIGZyYW1lQk9wZW5lciA9IGZyYW1lQi5tYWluRnJhbWUoKS5sb2Fk
ZXIoKS5vcGVuZXIoKSkKKyAgICAgICAgcmV0dXJuIGlzRnJhbWVGYW1pbGlhcldpdGgoZnJhbWVB
LCAqZnJhbWVCT3BlbmVyKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworRnJhbWUqIEZyYW1l
VHJlZTo6ZmluZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIEZyYW1lJiBhY3RpdmVGcmFtZSkg
Y29uc3QKIHsKICAgICAvLyBGSVhNRTogX2N1cnJlbnQgaXMgbm90IHBhcnQgb2YgdGhlIEhUTUwg
c3BlY2lmaWNhdGlvbi4KICAgICBpZiAoZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiX3Nl
bGYiKSB8fCBuYW1lID09ICJfY3VycmVudCIgfHwgbmFtZS5pc0VtcHR5KCkpCkBAIC0yNDUsOCAr
MjYxLDggQEAgRnJhbWUqIEZyYW1lVHJlZTo6ZmluZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUp
IGNvbnN0CiAgICAgZm9yIChhdXRvKiBvdGhlclBhZ2UgOiBwYWdlLT5ncm91cCgpLnBhZ2VzKCkp
IHsKICAgICAgICAgaWYgKG90aGVyUGFnZSA9PSBwYWdlKQogICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZy
YW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAg
IGlmIChmcmFtZS0+dHJlZSgpLnVuaXF1ZU5hbWUoKSA9PSBuYW1lKQorICAgICAgICBmb3IgKGF1
dG8qIGZyYW1lID0gJm90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1l
LT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgICAgIGlmIChmcmFtZS0+dHJlZSgp
LnVuaXF1ZU5hbWUoKSA9PSBuYW1lICYmIGlzRnJhbWVGYW1pbGlhcldpdGgoYWN0aXZlRnJhbWUs
ICpmcmFtZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZyYW1lOwogICAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKaW5kZXggMGI2YTc2MzUyOGJmZDc0YmIzYjFiZTA2NjE5
YmU4OGRkZmU5ZTc3Mi4uOTdjOGYyYjdhNDZlZjFjZDFkMDAxNzBiZDI3NTgxOTZjM2JlZDdkNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKIAogICAg
IEZyYW1lKiBjaGlsZCh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CiAgICAgRnJhbWUqIGNoaWxkKGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgRnJhbWUq
IGZpbmQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9S
VCBGcmFtZSogZmluZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIEZyYW1lJiBhY3RpdmVGcmFt
ZSkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdW5zaWduZWQgY2hpbGRDb3VudCgpIGNvbnN0
OwogICAgIFdFQkNPUkVfRVhQT1JUIEZyYW1lJiB0b3AoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4IDc0OGVhZTNhMzNkOGYxYmVhNzQ5
ZGZmY2YwYzRkMmU1NjdlZWQ1NzguLjg1ZWI3OThjZDA5ZmUyODk3YTE1Y2I0MjY4ZDk3NzE1MTZi
ZDQ1MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKQEAg
LTE3NywxMyArMTc3LDEzIEBAIEZyYW1lKiBIaXRUZXN0UmVzdWx0Ojppbm5lck5vZGVGcmFtZSgp
IGNvbnN0CiBGcmFtZSogSGl0VGVzdFJlc3VsdDo6dGFyZ2V0RnJhbWUoKSBjb25zdAogewogICAg
IGlmICghbV9pbm5lclVSTEVsZW1lbnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIAogICAgIEZyYW1lKiBmcmFtZSA9IG1faW5uZXJVUkxFbGVtZW50LT5kb2N1
bWVudCgpLmZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIHJldHVybiBudWxscHRyOwogCi0gICAgcmV0dXJuIGZyYW1lLT50cmVlKCkuZmluZChtX2lu
bmVyVVJMRWxlbWVudC0+dGFyZ2V0KCkpOworICAgIHJldHVybiBmcmFtZS0+dHJlZSgpLmZpbmQo
bV9pbm5lclVSTEVsZW1lbnQtPnRhcmdldCgpLCAqZnJhbWUpOwogfQogCiBib29sIEhpdFRlc3RS
ZXN1bHQ6OmlzU2VsZWN0ZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBmMDc1MmJkOTgyYTE1M2JhZDRiMjkyNDVmMTAz
MjE5NzBlYjNhYzkxLi43NTgwOGIxYjQ1YjBlY2M1NjgzOWMzYmZkMTI1Y2FlZDlhZjYzZThlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApA
QCAtMTIzOCw3ICsxMjM4LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZXJmb3JtSmF2YVNjcmlwdFVS
TFJlcXVlc3QoVVJMUmVxdWVzdCogcmVxdWVzdCkKIAogICAgIGlmICghcmVxdWVzdC0+dGFyZ2V0
KCkuaXNOdWxsKCkpIHsKICAgICAgICAgLy8gRm9yIHNlY3VyaXR5IHJlYXNvbnMsIG9ubHkgYWxs
b3cgSlMgcmVxdWVzdHMgdG8gYmUgbWFkZSBvbiB0aGUgZnJhbWUgdGhhdCBjb250YWlucyB0aGUg
cGx1Zy1pbi4KLSAgICAgICAgaWYgKGZyYW1lLT50cmVlKCkuZmluZChyZXF1ZXN0LT50YXJnZXQo
KSkgIT0gZnJhbWUpIHsKKyAgICAgICAgaWYgKGZyYW1lLT50cmVlKCkuZmluZChyZXF1ZXN0LT50
YXJnZXQoKSwgKmZyYW1lKSAhPSBmcmFtZSkgewogICAgICAgICAgICAgLy8gTGV0IHRoZSBwbHVn
LWluIGtub3cgdGhhdCBpdHMgZnJhbWUgbG9hZCBmYWlsZWQuCiAgICAgICAgICAgICBtX3BsdWdp
bi0+ZnJhbWVEaWRGYWlsKHJlcXVlc3QtPnJlcXVlc3RJRCgpLCBmYWxzZSk7CiAgICAgICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkZyYW1lLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQpp
bmRleCAzN2IzM2M4MTA4NDAyYmVjZjdlNTQ1NzA1NmM0ZDYzNzFjMjIwNDZiLi43MjYyY2UyYWY2
ZTc4N2RjOWQxYzM5YTIyZDcxN2IzZDk3ZmYyNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KQEAgLTI1ODcsNyArMjU4Nyw3IEBAIC0gKFdlYkZyYW1l
ICopZmluZEZyYW1lTmFtZWQ6KE5TU3RyaW5nICopbmFtZQogICAgIEZyYW1lKiBjb3JlRnJhbWUg
PSBfcHJpdmF0ZS0+Y29yZUZyYW1lOwogICAgIGlmICghY29yZUZyYW1lKQogICAgICAgICByZXR1
cm4gbmlsOwotICAgIHJldHVybiBraXQoY29yZUZyYW1lLT50cmVlKCkuZmluZChuYW1lKSk7Cisg
ICAgcmV0dXJuIGtpdChjb3JlRnJhbWUtPnRyZWUoKS5maW5kKG5hbWUsICpjb3JlRnJhbWUpKTsK
IH0KIAogLSAoV2ViRnJhbWUgKilwYXJlbnRGcmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ0OGY1MGJkZDhlOGEzYmZl
YzI5ZGUyMmUxMmEwOGYwMzBjMzY0ZTQuLmQzOGVmYjFmYzRhMTgyMGEwZGQ0OTk1ZDdhMzk4NmNh
ZGI1NjU4NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOC0xMC0xMiAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlc3RyaWN0IGJyb3dzaW5nIGNvbnRleHQg
bG9va3VwIGJ5IG5hbWUgdG8gZnJhbWVzIHRoYXQgYXJlIHJlbGF0ZWQgdG8gb25lIGFub3RoZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ3NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9kb20vbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25ldy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXIu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LWNh
bm5vdC10YXJnZXQtb3BlbmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJnZXQtb3BlbmVyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJs
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVy
LXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxl
Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2RvbS9ub3JlZmVycmVyLXdpbmRv
dy1ub3QtdGFyZ2V0YWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvZG9tL29wZW5lZC13aW5kb3ctbm90LXRhcmdldGFibGUtYWZ0ZXIt
ZGlzb3duaW5nLW9wZW5lci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvZG9tL29wZW5lZC13aW5kb3ctbm90LXRhcmdldGFibGUtYWZ0ZXItZGlzb3duaW5nLW9wZW5l
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMvbmV3LXdp
bmRvdy1jYW4tdGFyZ2V0LW9wZW5lci13aW4uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9kb20vcmVzb3VyY2VzL25vb3BlbmVyLXdpbmRvdy1jYW5ub3QtdGFyZ2V0LW9wZW5lci13
aW4uaHRtbDogQWRkZWQuCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAg
ICAgICAqIGZhc3QvZG9tL1dpbmRvdy9hLXJlbC1ub29wZW5lci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvcmVzb3VyY2VzL3JlbC1ub29wZW5lci5qczoKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL25vLXJl
ZmVycmVyLWhlbHBlci5waHA6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdp
bmRvdy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13
aW5kb3ctbmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZSAvIHJlYmFzZWxpbmUgZXhp
c3RpbmcgdGVzdHMgdG8gcmVmbGVjdCBiZWhhdmlvciBjaGFuZ2UuCisKIDIwMTgtMTAtMDggIFl1
c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0Lm9yZz4KIAogICAgICAgICBbSlND
XSBKU0Mgc2hvdWxkIGhhdmUgInBhcnNlRnVuY3Rpb24iIHRvIG9wdGltaXplIEZ1bmN0aW9uIGNv
bnN0cnVjdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYS1yZWwt
bm9vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2EtcmVs
LW5vb3BlbmVyLWV4cGVjdGVkLnR4dAppbmRleCA4ZTg3MDRhZThiMzQ4OTY5MzZmNGY1ZGNjZTI0
YmVkZGZlNGM5MjQ4Li5lMTM1ZjUyYTRkNTVlNDc0ZmFmZWU5YTdhNjQ1YmU5OGJjMDc2MjhmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYS1yZWwtbm9vcGVuZXItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hLXJlbC1ub29wZW5l
ci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTE6
IFBBU1M6IHdpbmRvdy5vcGVuZXIgaXMgbnVsbAogVGVzdCB0aGF0IHdpbmRvdy5vcGVuZXIgaXMg
bnVsbCB3aGVuIGEgbmV3IHdpbmRvdyBpcyBvcGVuZWQgZnJvbSBhbiBhbmNob3IgZWxlbWVudCB3
aXRoIHJlbD0nbm9vcGVuZXInLgogCi1QQVNTOiB3aW5kb3cub3BlbmVyIGlzIG51bGwKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hcmVhLXJlbC1ub29wZW5l
ci1leHBlY3RlZC50eHQKaW5kZXggYjZlY2U4YjU5YTU2OGIwZTVmZTliMWJkZTBlM2E1NWEzZTk2
OTkxYS4uZTYyMDJjZDQ2YWFkZGE5NmUxOGQ4Nzg1ZGJhOWEyNDA1ZGJmYTNmNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYXJlYS1yZWwtbm9vcGVuZXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDExOiBQ
QVNTOiB3aW5kb3cub3BlbmVyIGlzIG51bGwKIFRlc3QgdGhhdCB3aW5kb3cub3BlbmVyIGlzIG51
bGwgd2hlbiBhIG5ldyB3aW5kb3cgaXMgb3BlbmVkIGZyb20gYW4gYXJlYSBlbGVtZW50IHdpdGgg
cmVsPSdub29wZW5lcicuCiAKIAotUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxsCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvcmVsLW5vb3BlbmVy
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy9yZWwtbm9vcGVuZXIu
anMKaW5kZXggYmI1ZDQ2ZWFlMzk3YTNlZGYxYWRhNTc4OWY1YmY2OWVjMWEyZDdiOS4uYjNiNTli
YTMwY2Q0ZWFkYjc2MzQ1YzhkZGU5MDFmOGMyYzQ5ZDI0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy9yZWwtbm9vcGVuZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy9yZWwtbm9vcGVuZXIuanMKQEAgLTUsMTEg
KzUsMTAgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiB9CiAKIGlmIChkb2N1bWVudC5sb2Nh
dGlvbi5oYXNoID09PSAiI25ldy13aW5kb3ciKSB7Ci0gICAgdmFyIGNvbnNvbGUgPSB3aW5kb3cu
b3BlbigiIiwgIm9yaWdpbmFsV2luZG93IikuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNv
bGUiKTsKICAgICBpZiAod2luZG93Lm9wZW5lcikKLSAgICAgICAgY29uc29sZS5pbm5lclRleHQg
PSAiRkFJTDogd2luZG93Lm9wZW5lciBpcyBub24tbnVsbCI7CisgICAgICAgIGNvbnNvbGUubG9n
KCJGQUlMOiB3aW5kb3cub3BlbmVyIGlzIG5vbi1udWxsIik7CiAgICAgZWxzZQotICAgICAgICBj
b25zb2xlLmlubmVyVGV4dCA9ICJQQVNTOiB3aW5kb3cub3BlbmVyIGlzIG51bGwiOworICAgICAg
ICBjb25zb2xlLmxvZygiUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxsIik7CiAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CiB9IGVsc2UgewogICAgIHdpbmRvdy5uYW1lID0gIm9yaWdpbmFs
V2luZG93IjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25ldy13aW5k
b3ctY2FuLXRhcmdldC1vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9kb20vbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzJhOGRjZTAxYThlOTcxMjk0ODA2MGI2NTJlY2QxMTQ3ZWQ2OGQ2OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25ldy13aW5kb3ctY2FuLXRhcmdldC1v
cGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE1OiBQQVNTOiBOZXcgd2luZG93IHNob3VsZCBoYXZlIGFuIG9wZW5lcgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDIxOiBQQVNTOiBOZXcgd2luZG93IHNob3VsZCBiZSBhYmxlIHRvIGxvb2sgdXAg
b3BlbmVyIGJ5IG5hbWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogUEFTUzogTmV3IHdpbmRv
dyBzaG91bGQgaGF2ZSBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9kb20vbmV3LXdpbmRvdy1j
YW4tdGFyZ2V0LW9wZW5lci5odG1sJworTWFrZSBzdXJlIHRoYXQgd2luZG93cyBvcGVuZWQgdmlh
IHdpbmRvdy5vcGVuIGNhbiB0YXJnZXQgdGhlaXIgb3BlbmVyCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25l
dy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZG9tL25ldy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWYxMzk4
NmE2Y2E1NGJjOTE5MzIwMzdkNWJiMjBmYTI4NzZmNTNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci5odG1s
CkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIHRoYXQgd2luZG93cyBv
cGVuZWQgdmlhIHdpbmRvdy5vcGVuIGNhbiB0YXJnZXQgdGhlaXIgb3BlbmVyIik7Citqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIu
c2V0Q2FuT3BlbldpbmRvd3MoKTsgICAgCisgCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3
aW5kb3cubmFtZSA9ICJvcGVuZXIiOworICAgIHcgPSBvcGVuKCJyZXNvdXJjZXMvbmV3LXdpbmRv
dy1jYW4tdGFyZ2V0LW9wZW5lci13aW4uaHRtbCIsICIiKTsKK30gICAgCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25v
b3BlbmVyLXdpbmRvdy1jYW5ub3QtdGFyZ2V0LW9wZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyM2M0MDAwMTQwZjZhMDNiMmFkZjVmMjMzOTcyMTdj
MDU2NGE5YTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9u
b29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3OiBQQVNTOiBOZXcgd2luZG93IHNob3Vs
ZCBub3QgaGF2ZSBhbiBvcGVuZXIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMTogUEFTUzogTmV3
IHdpbmRvdyBzaG91bGQgaGF2ZSBVUkwgJ2Fib3V0OmJsYW5rJworTWFrZSBzdXJlIHRoYXQgd2lu
ZG93cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSB3aW5kb3cub3BlbiBjYW5ub3QgdGFyZ2V0
IHRoZWlyIG9wZW5lci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdyBp
cyBudWxsCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVy
LXdpbmRvdy1jYW5ub3QtdGFyZ2V0LW9wZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9kb20vbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJnZXQtb3BlbmVyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2QwZGU3NWYwNTU5ZGY4NjE5ZTdhYmU5OGNhMjU2OGE2MjBmYjdjNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1jYW5ub3Qt
dGFyZ2V0LW9wZW5lci5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFrZSBz
dXJlIHRoYXQgd2luZG93cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSB3aW5kb3cub3BlbiBj
YW5ub3QgdGFyZ2V0IHRoZWlyIG9wZW5lci4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygp
OyAgICAKKyAKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHdpbmRvdy5uYW1lID0gIm9wZW5l
ciI7CisgICAgdyA9IG9wZW4oInJlc291cmNlcy9ub29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdl
dC1vcGVuZXItd2luLmh0bWwiLCAiIiwgIm5vb3BlbmVyIik7CisgICAgc2hvdWxkQmVOdWxsKCJ3
Iik7Cit9ICAgIAorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5v
dC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42M2Q3YjA3ZDBjYWJmOGE5Y2Nk
ZWY1YTgwMjNjNWE5OTgxYmM5ZDNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDExIEBACitNYWtlIHN1cmUgdGhhdCB3aW5kb3dzIG9wZW5lZCB3aXRoICdub29w
ZW5lcicgdmlhIGFuIGFuY2hvciBhcmUgbm90IHRhcmdldGFibGUuIElmIHRlc3RpbmcgbWFudWFs
bHksIHlvdSBzaG91bGQgc2VlIDIgdGFicyBvcGVuLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyB3LmxvY2F0aW9uLmhyZWYgaXMgImFib3V0OmJsYW5rIgorUEFTUyB0ZXN0
UnVubmVyLndpbmRvd0NvdW50KCkgaXMgMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
ZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzRmOWM1M2IwYmQ4M2VlMWQ2NTVkMmZjMTA1YmUzZTI0ZDhjNzYwYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFy
Z2V0YWJsZS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxhIGlkPSJ0ZXN0TGluayIgdGFyZ2V0PSJmb28iIHJlbD0i
bm9vcGVuZXIiIGhyZWY9Ii9uYXZpZ2F0aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCI+PC9h
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgdGhhdCB3aW5kb3dzIG9wZW5lZCB3
aXRoICdub29wZW5lcicgdmlhIGFuIGFuY2hvciBhcmUgbm90IHRhcmdldGFibGUuIElmIHRlc3Rp
bmcgbWFudWFsbHksIHlvdSBzaG91bGQgc2VlIDIgdGFicyBvcGVuLiIpOworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLnNldENh
bk9wZW5XaW5kb3dzKCk7ICAgIAorIAorb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgdGVzdExp
bmsuY2xpY2soKTsKKworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHcgPSBv
cGVuKCIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIik7IC8vIFNo
b3VsZCBjcmVhdGUgYSBuZXcgd2luZG93LgorICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
IncubG9jYXRpb24uaHJlZiIsICJhYm91dDpibGFuayIpOworICAgICAgICB3Lm9ubG9hZCA9IGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJ0ZXN0UnVubmVyLndpbmRvd0NvdW50KCkiLCAiMyIpOworICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICB9LCAxMDApOworfSAgICAKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Y2Q5NzYxOGYwMThlOThlMjdkNjkyYWQ3MmY2MTg1
YTgyZGMzNDM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20v
bm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorTWFrZSBzdXJlIHRoYXQgd2luZG93cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSB3
aW5kb3cub3BlbiBhcmUgbm90IHRhcmdldGFibGUuIElmIHRlc3RpbmcgbWFudWFsbHksIHlvdSBz
aG91bGQgc2VlIDIgdGFicyBvcGVuLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyB3IGlzIG51bGwKK1BBU1Mgdy5sb2NhdGlvbi5ocmVmIGlzICJhYm91dDpibGFuayIKK1BB
U1MgdGVzdFJ1bm5lci53aW5kb3dDb3VudCgpIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDljMDE5YmIyNDM4MzcxMDI5NTY1ZjgwYWVkZTUyNzg5OWExMDljNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRv
dy1ub3QtdGFyZ2V0YWJsZTIuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIk1h
a2Ugc3VyZSB0aGF0IHdpbmRvd3Mgb3BlbmVkIHdpdGggJ25vb3BlbmVyJyB2aWEgd2luZG93Lm9w
ZW4gYXJlIG5vdCB0YXJnZXRhYmxlLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNl
ZSAyIHRhYnMgb3Blbi4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAKKworb25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgdyA9IHdpbmRvdy5vcGVuKCIvbmF2aWdhdGlvbi9yZXNv
dXJjZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIiwgIm5vb3BlbmVyIik7CisgICAgc2hvdWxkQmVO
dWxsKCJ3Iik7CisKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICB3ID0gb3Bl
bigiL25hdmlnYXRpb24vcmVzb3VyY2VzL290aGVycGFnZS5odG1sIiwgImZvbyIpOyAvLyBTaG91
bGQgY3JlYXRlIGEgbmV3IHdpbmRvdy4KKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3
LmxvY2F0aW9uLmhyZWYiLCAiYWJvdXQ6YmxhbmsiKTsKKyAgICAgICAgdy5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZSgidGVzdFJ1bm5lci53aW5kb3dDb3VudCgpIiwgIjMiKTsKKyAgICAgICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisgICAgfSwgMTAwKTsKK30gICAgCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWJlYjczYWViMmY3YjRiYTI5ZDM3MWVhYzM2NzYx
MzgyNGZhMmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20v
bm9yZWZlcnJlci13aW5kb3ctbm90LXRhcmdldGFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK01ha2Ugc3VyZSB0aGF0IHdpbmRvd3Mgb3BlbmVkIHdpdGggJ25vcmVmZXJyZXInIGFy
ZSBub3QgdGFyZ2V0YWJsZS4gSWYgdGVzdGluZyBtYW51YWxseSwgeW91IHNob3VsZCBzZWUgMiB0
YWJzIG9wZW4uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHcubG9jYXRp
b24uaHJlZiBpcyAiYWJvdXQ6YmxhbmsiCitQQVNTIHRlc3RSdW5uZXIud2luZG93Q291bnQoKSBp
cyAzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5kb3ct
bm90LXRhcmdldGFibGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vcmVmZXJy
ZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQyOTIxYzRkMDM4NmI0
MDcxYzViOWI5ZmZhMTJhMjliOTliOTc1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKQEAg
LTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGEgaWQ9InRlc3RMaW5rIiB0YXJnZXQ9ImZvbyIgcmVsPSJub3JlZmVycmVyIiBocmVm
PSIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwiPjwvYT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiTWFrZSBzdXJlIHRoYXQgd2luZG93cyBvcGVuZWQgd2l0aCAnbm9yZWZlcnJl
cicgYXJlIG5vdCB0YXJnZXRhYmxlLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNl
ZSAyIHRhYnMgb3Blbi4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAKKworb25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgdGVzdExpbmsuY2xpY2soKTsKKyAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeworICAgICAgICB3ID0gb3BlbigiL25hdmlnYXRpb24vcmVzb3VyY2VzL290
aGVycGFnZS5odG1sIiwgImZvbyIpOyAvLyBTaG91bGQgY3JlYXRlIGEgbmV3IHdpbmRvdy4KKyAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3LmxvY2F0aW9uLmhyZWYiLCAiYWJvdXQ6Ymxh
bmsiKTsKKyAgICAgICAgdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgidGVzdFJ1bm5lci53
aW5kb3dDb3VudCgpIiwgIjMiKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICB9CisgICAgfSwgMTAwKTsKK30gICAgCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL29wZW5lZC13aW5kb3ctbm90LXRh
cmdldGFibGUtYWZ0ZXItZGlzb3duaW5nLW9wZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2RvbS9vcGVuZWQtd2luZG93LW5vdC10YXJnZXRhYmxlLWFmdGVyLWRpc293
bmluZy1vcGVuZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2ZjVkYzRhNGQwOWQxNTc2NjAw
Y2Q5ZGY2MzBhMTcxOGMzNWU0ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2RvbS9vcGVuZWQtd2luZG93LW5vdC10YXJnZXRhYmxlLWFmdGVyLWRpc293bmluZy1v
cGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK01ha2Ugc3VyZSB0aGF0IHdpbmRv
d3Mgb3BlbmVkIHZpYSB3aW5kb3cub3BlbiBhcmUgbm90IHRhcmdldGFibGUgYnkgdGhlaXIgb3Bl
bmVyIGFmdGVyIGl0IGlzIGRpc293bmVkLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxk
IHNlZSAyIHRhYnMgb3Blbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
dy5sb2NhdGlvbi5ocmVmIGlzICJhYm91dDpibGFuayIKK1BBU1MgdGVzdFJ1bm5lci53aW5kb3dD
b3VudCgpIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9vcGVuZWQtd2lu
ZG93LW5vdC10YXJnZXRhYmxlLWFmdGVyLWRpc293bmluZy1vcGVuZXIuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvZG9tL29wZW5lZC13aW5kb3ctbm90LXRhcmdldGFibGUtYWZ0ZXItZGlz
b3duaW5nLW9wZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0ZmY3MWJhYjM3ZjBkYjdkMTUzNmYyM2Rm
YWUzZmFhMDc4ZDRiZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2RvbS9vcGVuZWQtd2luZG93LW5vdC10YXJnZXRhYmxlLWFmdGVyLWRpc293bmluZy1vcGVuZXIu
aHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSB0aGF0IHdpbmRv
d3Mgb3BlbmVkIHZpYSB3aW5kb3cub3BlbiBhcmUgbm90IHRhcmdldGFibGUgYnkgdGhlaXIgb3Bl
bmVyIGFmdGVyIGl0IGlzIGRpc293bmVkLiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxk
IHNlZSAyIHRhYnMgb3Blbi4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAKKwor
b25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgdyA9IHdpbmRvdy5vcGVuKCIvbmF2aWdhdGlvbi9y
ZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIik7CisgICAgdy5vcGVuZXIgPSBudWxsOwor
CisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgdyA9IG9wZW4oIi9uYXZpZ2F0
aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCIsICJmb28iKTsgLy8gU2hvdWxkIGNyZWF0ZSBh
IG5ldyB3aW5kb3cuCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlvbi5o
cmVmIiwgImFib3V0OmJsYW5rIik7CisgICAgICAgIHcub25sb2FkID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoInRlc3RSdW5uZXIud2luZG93Q291bnQoKSIsICIzIik7CisgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgfQorICAgIH0sIDEwMCk7Cit9ICAgIAorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNv
dXJjZXMvbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci13aW4uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvZG9tL3Jlc291cmNlcy9uZXctd2luZG93LWNhbi10YXJnZXQtb3BlbmVyLXdp
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg2MTNhNDhiNzMyMGZkNzY5NGIwNGZlODIxMzVjMDNkYmJmMzBm
MWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJj
ZXMvbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci13aW4uaHRtbApAQCAtMCwwICsxLDM1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgoranNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIGlmICh3aW5kb3cub3BlbmVyKQorICAgICAgICBjb25zb2xlLmxvZygiUEFTUzogTmV3IHdp
bmRvdyBzaG91bGQgaGF2ZSBhbiBvcGVuZXIiKTsKKyAgICBlbHNlCisgICAgICAgIGNvbnNvbGUu
bG9nKCJGQUlMOiBOZXcgd2luZG93IHNob3VsZCBoYXZlIGFuIG9wZW5lciIpOworCisgICAgb3Bl
bmVyQnlOYW1lID0gb3BlbigiIiwgIm9wZW5lciIpOyAvLyBTaG91bGQgcmV0dXJuIHRoZSBvcGVu
ZXIuCisgICAgaWYgKG9wZW5lckJ5TmFtZSA9PT0gb3BlbmVyKQorICAgICAgICBjb25zb2xlLmxv
ZygiUEFTUzogTmV3IHdpbmRvdyBzaG91bGQgYmUgYWJsZSB0byBsb29rIHVwIG9wZW5lciBieSBu
YW1lIik7CisgICAgZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiRkFJTDogTmV3IHdpbmRvdyBz
aG91bGQgYmUgYWJsZSB0byBsb29rIHVwIG9wZW5lciBieSBuYW1lIik7CisKKyAgICBjb25zdCBl
eHBlY3RlZE9wZW5lclVSTCA9ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZG9tL25ldy13aW5kb3ct
Y2FuLXRhcmdldC1vcGVuZXIuaHRtbCI7CisgICAgaWYgKG9wZW5lckJ5TmFtZS5sb2NhdGlvbi5o
cmVmID09IGV4cGVjdGVkT3BlbmVyVVJMKQorICAgICAgICBjb25zb2xlLmxvZygiUEFTUzogTmV3
IHdpbmRvdyBzaG91bGQgaGF2ZSBVUkwgJyIgKyBleHBlY3RlZE9wZW5lclVSTCArICInIik7Cisg
ICAgZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiRkFJTDogTmV3IHdpbmRvdyBzaG91bGQgaGF2
ZSBVUkwgJyIgKyBleHBlY3RlZE9wZW5lclVSTCArICInIGJ1dCBnb3QgJyIgKyBvcGVuZXJCeU5h
bWUubG9jYXRpb24uaHJlZiArICInIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvZG9tL3Jlc291cmNlcy9ub29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXItd2lu
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMvbm9vcGVuZXItd2lu
ZG93LWNhbm5vdC10YXJnZXQtb3BlbmVyLXdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiODgwZWU2ZDEz
MzNiMGRkZDA0YTczYzZlODI3NDRiMzMxYWY4ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMvbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJn
ZXQtb3BlbmVyLXdpbi5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKKworb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgaWYgKHdpbmRvdy5vcGVuZXIp
CisgICAgICAgIGNvbnNvbGUubG9nKCJGQUlMOiBOZXcgd2luZG93IHNob3VsZCBub3QgaGF2ZSBh
biBvcGVuZXIiKTsKKyAgICBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCJQQVNTOiBOZXcgd2lu
ZG93IHNob3VsZCBub3QgaGF2ZSBhbiBvcGVuZXIiKTsKKworICAgIG9wZW5lciA9IG9wZW4oIiIs
ICJvcGVuZXIiKTsgLy8gU2hvdWxkIG9wZW4gYSBuZXcgd2luZG93LgorICAgIGlmIChvcGVuZXIu
bG9jYXRpb24uaHJlZiA9PSAiYWJvdXQ6YmxhbmsiKQorICAgICAgICBjb25zb2xlLmxvZygiUEFT
UzogTmV3IHdpbmRvdyBzaG91bGQgaGF2ZSBVUkwgJ2Fib3V0OmJsYW5rJyIpOworICAgIGVsc2UK
KyAgICAgICAgY29uc29sZS5sb2coIkZBSUw6IE5ldyB3aW5kb3cgc2hvdWxkIGhhdmUgVVJMICdh
Ym91dDpibGFuaycgYnV0IGdvdCAnIiArIG9wZW5lci5sb2NhdGlvbi5ocmVmICsgIiciKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXJl
c2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1y
ZWZlcnJlci1yZXNldC1leHBlY3RlZC50eHQKaW5kZXggYWRhMWQxNmYwZDY3MDNjYjIyMmU4ZjUy
NzY5NDhhMTUzNjEzMjRlNC4uMGViMjFmNzcwOWUyMjEyMDZlOTEwYmZjMDlhMzU3MTU4ZTZlZDJh
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVy
cmVyLXJlc2V0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vbm8tcmVmZXJyZXItcmVzZXQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE1OiBSZWZlcnJlcjogaHR0cDovLzEyNy4wLjAuMTo4MDAwL25h
dmlnYXRpb24vcmVzb3VyY2VzL25vLXJlZmVycmVyLXJlc2V0LWhlbHBlci5waHAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxNjogd2luZG93Lm9wZW5lcjogaHR0cDovLzEyNy4wLjAuMTo4MDAwL25h
dmlnYXRpb24vbm8tcmVmZXJyZXItcmVzZXQuaHRtbAogVGhpcyB0ZXN0cyB3aGV0aGVyIHJlZmVy
cmVyIGluZm9ybWF0aW9uIGdldHMgcHJvcGVybHkgc2V0IGFuZCByZXNldCB3aGVuICJub3JlZmVy
cmVyIiBsaW5rcyBhcmUgcHJlc2VudC4gV2UgZG8gdGhlIGZvbGxvd2luZzoKIDEuIE9wZW4gYSBs
aW5rIGluIGEgbmV3IHdpbmRvdzogcmVmZXJyZXIgaXMgc2VudCBhbmQgd2luZG93Lm9wZW5lciBp
cyBzZW50LgogMi4gQ2xpY2sgYSByZWw9Im5vcmVmZXJyZXIiIGxpbms6IHJlZmVycmVyIGlzIG51
bGwsIGJ1dCB3aW5kb3cub3BlbmVyIHJlbWFpbnMgc2V0IHNpbmNlIHRoZSBsaW5rIHdhcyBub3Qg
b3BlbmVkIHdpdGggdGFyZ2V0PSJfYmxhbmsiLgpAQCAtNyw1ICs5LDMgQEAgUmVmZXJyZXI6IGh0
dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0Lmh0bWwKIHdp
bmRvdy5vcGVuZXI6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL25vLXJlZmVycmVy
LXJlc2V0Lmh0bWwKIFJlZmVycmVyOgogd2luZG93Lm9wZW5lcjogaHR0cDovLzEyNy4wLjAuMTo4
MDAwL25hdmlnYXRpb24vbm8tcmVmZXJyZXItcmVzZXQuaHRtbAotUmVmZXJyZXI6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uby1yZWZlcnJlci1yZXNldC1oZWxw
ZXIucGhwCi13aW5kb3cub3BlbmVyOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9u
by1yZWZlcnJlci1yZXNldC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vbm8tcmVmZXJyZXItc3ViZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXN1YmZyYW1lLWV4cGVjdGVkLnR4
dAppbmRleCA4ZjZiNzkwOTk5MmEyMGQ0ZTk3ZmFlOWU1ZDk4YWVlMjM4Mzk4ZDNlLi42YjEwOWVi
ZmYwMjM4NzMwN2ZiODQzNzg1ZWI4ZjkyOWEzMjdjMzI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJyZXItc3ViZnJhbWUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1yZWZlcnJlci1zdWJm
cmFtZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTU6IFJlZmVycmVyOgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiB3aW5kb3cub3BlbmVyOiAK
IFRoaXMgdGVzdHMgYmVoYXZpb3Igb2YgIm5vcmVmZXJyZXIiIGxpbmtzIGluIHN1YmZyYW1lcy4g
QSByZWZlcnJlciBzaG91bGQgbm90IGJlIHNlbnQgYW5kIHdpbmRvdy5vcGVuZXIgc2hvdWxkIHJl
bWFpbiBudWxsLgogTG9hZCBzdWJmcmFtZSAKLVJlZmVycmVyOgotd2luZG93Lm9wZW5lcjoKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVy
LXRhcmdldC1ibGFuay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4cGVjdGVkLnR4dAppbmRleCA1YzMyZTVl
NzE2MDMwZjY3N2Y1NWQ1MTQyYWI0OTBjNDJiZjU0NWRmLi5jYWFkYWJlOGUzODgyNmYyYThmMWUy
YTMxYTA0OGI4NGVkZjk5MzI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogUmVm
ZXJyZXI6CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IHdpbmRvdy5vcGVuZXI6IAogVGhpcyB0
ZXN0cyB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgIm5vcmVmZXJyZXIiIGxpbmsgcmVsYXRpb24g
b24gYW5jaG9yIHRhZ3MuIFRoZSBsaW5rIGJlbG93IHNob3VsZCBub3Qgc2VuZCBhbiBodHRwIHJl
ZmVycmVyLCBhbmQgdGhlIHJlc3VsdGluZyB3aW5kb3cgc2hvdWxkIGhhdmUgaXRzIG9wZW5lciBh
dHRyaWJ1dGUgc2V0IHRvIG51bGwuIFRoZSB2YWx1ZXMgb2YgdGhlIHJlZmVycmVyIGFuZCB3aW5k
b3cub3BlbmVyIHNob3VsZCBiZSBlbXB0eSBiZWxvdy4KIFN0YXJ0IG5vIHJlZmVycmVyIHRlc3QK
LVJlZmVycmVyOgotd2luZG93Lm9wZW5lcjoKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uby1yZWZlcnJlci1oZWxwZXIucGhwIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uby1yZWZlcnJlci1oZWxw
ZXIucGhwCmluZGV4IGZlYTkzZGM4MDkwNzNiMzI3ZmVjNmU4MjE1MGUyOTVjZjJlNDMzMzAuLjVj
MmFiZjM3YWEzMDlhOWRiM2JiMTM0M2MyMDhjYjI3MGYwMGU2MTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbm8tcmVmZXJyZXItaGVscGVy
LnBocAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL25v
LXJlZmVycmVyLWhlbHBlci5waHAKQEAgLTE4LDExICsxOCw4IEBAIGZ1bmN0aW9uIGxvZyhtc2cp
CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChsaW5l
KTsKIH0KIAotICAgIHZhciBjb25zb2xlV2luZG93ID0gd2luZG93Lm9wZW4oIiIsICJjb25zb2xl
V2luZG93Iik7Ci0gICAgaWYgKGNvbnNvbGVXaW5kb3cpIHsKLSAgICAgICAgY29uc29sZVdpbmRv
dy5sb2coZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlZmVycmVyIikuaW5uZXJUZXh0KTsKLSAg
ICAgICAgY29uc29sZVdpbmRvdy5sb2coIndpbmRvdy5vcGVuZXI6ICIgKyAod2luZG93Lm9wZW5l
ciA/IHdpbmRvdy5vcGVuZXIubG9jYXRpb24gOiAiIikpOwotICAgIH0KKyAgICBjb25zb2xlLmxv
Zyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVmZXJyZXIiKS5pbm5lclRleHQpOworICAgIGNv
bnNvbGUubG9nKCJ3aW5kb3cub3BlbmVyOiAiICsgKHdpbmRvdy5vcGVuZXIgPyB3aW5kb3cub3Bl
bmVyLmxvY2F0aW9uIDogIiIpKTsKICAgICAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJv
d3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS1leHBlY3RlZC50eHQK
aW5kZXggMGI3NzU2MTljM2UyZjkzYjViODE1ZDdjZTM2YjU0NmVmMzNlYzgxNi4uMTFlZGU2NWJl
ODBkY2Y5ZDYyODI0MGZhODgyODFkMTUwZGExMWQxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJv
d3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQu
dHh0CkBAIC0xLDkgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM3OiBVbnNhZmUgSmF2
YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJM
ICcnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9odG1sL2Jyb3dz
ZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS5odG1sJy4gVGhlIGZyYW1lIGF0dGVt
cHRpbmcgbmF2aWdhdGlvbiBpcyBuZWl0aGVyIHNhbWUtb3JpZ2luIHdpdGggdGhlIHRhcmdldCwg
bm9yIGlzIGl0IHRoZSB0YXJnZXQncyBwYXJlbnQgb3Igb3BlbmVyLgotCi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzg6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdh
dGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwgJycgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1l
Lmh0bWwnLiBUaGUgZnJhbWUgYXR0ZW1wdGluZyBuYXZpZ2F0aW9uIGlzIG5laXRoZXIgc2FtZS1v
cmlnaW4gd2l0aCB0aGUgdGFyZ2V0LCBub3IgaXMgaXQgdGhlIHRhcmdldCdzIHBhcmVudCBvciBv
cGVuZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzODogVW5zYWZlIEphdmFTY3JpcHQgYXR0
ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnJyBmcm9tIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvaHRtbC9icm93c2Vycy93aW5kb3dz
L25vcmVmZXJyZXItd2luZG93LW5hbWUuaHRtbCcuIFRoZSBmcmFtZSBhdHRlbXB0aW5nIG5hdmln
YXRpb24gaXMgbmVpdGhlciBzYW1lLW9yaWdpbiB3aXRoIHRoZSB0YXJnZXQsIG5vciBpcyBpdCB0
aGUgdGFyZ2V0J3MgcGFyZW50IG9yIG9wZW5lci4KLQogCiBIYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2sy
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL25v
cmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L25vcmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0CmluZGV4IDA2N2VkMGFkNjAzMTZl
OGUzMTc2YWQyNzQ5OGQxZTRlODljZmU5YzcuLmNiYTU3NGZiOTcwNDI5NzBmM2NkZDU0OWZjMmIy
YzFkMTJmODQyNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVy
LXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9y
ZWZlcnJlci13aW5kb3ctbmFtZS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACi1DT05TT0xF
IE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlv
biBmb3IgZnJhbWUgd2l0aCBVUkwgJycgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLmh0
bWwnLiBUaGUgZnJhbWUgYXR0ZW1wdGluZyBuYXZpZ2F0aW9uIGlzIG5laXRoZXIgc2FtZS1vcmln
aW4gd2l0aCB0aGUgdGFyZ2V0LCBub3IgaXMgaXQgdGhlIHRhcmdldCdzIHBhcmVudCBvciBvcGVu
ZXIuCi0KIAogSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352238</attachid>
            <date>2018-10-12 16:38:51 -0700</date>
            <delta_ts>2018-10-15 08:34:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190475-20181012163850.patch</filename>
            <type>text/plain</type>
            <size>34147</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZjY2M1ZDc5YmQ2N2Nl
NGMzNmZmN2MzNGE2MWEzODM5YmNlMTM4Mi4uYTBhNDVlZjAwNDZmOGY4MDliY2RjNTlkNjI3NDU0
NDU5OWMxNDkzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTEwLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzdHJpY3QgYnJvd3Npbmcg
Y29udGV4dCBsb29rdXAgYnkgbmFtZSB0byBmcmFtZXMgdGhhdCBhcmUgcmVsYXRlZCB0byBvbmUg
YW5vdGhlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwNDc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIG91ciBmcmFtZSBsb29rdXAgYnkgbmFtZSBsb2dpYyB0byB0YWtlIGluIHRoZSBhY3Rp
dmUgLyByZXF1ZXN0aW5nIGZyYW1lIGFuZAorICAgICAgICBvbmx5IGEgcmV0dXJuIGEgZnJhbWUg
dGhhdCBpcyByZWxhdGVkIHRvIGl0LiBCeSByZWxhdGVkIHRvIGl0LCBJIG1lYW46CisgICAgICAg
IC0gQW5jZXN0b3IgPC0+IERlc2NlbmRhbnQgcmVsYXRpb25zaGlwCisgICAgICAgIC0gT3BlbmVy
IDwtPiBPcGVuZWUgcmVsYXRpb25zaGlwCisKKyAgICAgICAgQmVpbmcgYWJsZSB0byBsb29rIHVw
IHVucmVsYXRlZCBmcmFtZXMgbWFrZXMgcHJvY2VzcyBzd2FwcGluZyBkaWZmaWN1bHQgc28gd2Ug
bmVlZAorICAgICAgICB0byBiZSBzdHJpY3Rlci4KKworICAgICAgICBUaGlzIGNoYW5nZSBpcyBi
ZWluZyBkaXNjdXNzZWQgYXQ6CisgICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9o
dG1sL2lzc3Vlcy8zMTMKKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9kb20vbmV3LXdpbmRv
dy1jYW4tdGFyZ2V0LW9wZW5lci5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL2RvbS9u
b29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXIuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZTIu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9kb20vbm9yZWZlcnJlci13aW5kb3ctbm90
LXRhcmdldGFibGUuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9kb20vb3BlbmVkLXdp
bmRvdy1ub3QtdGFyZ2V0YWJsZS1hZnRlci1kaXNvd25pbmctb3BlbmVyLmh0bWwKKworICAgICAg
ICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6ZmluZEZyYW1lRm9yTmF2aWdhdGlvbik6CisgICAgICAgICogcGFnZS9GcmFtZVRyZWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6aXNGcmFtZUZhbWlsaWFyV2l0aCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVRyZWU6OmZpbmQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvRnJhbWVUcmVlLmg6
CisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SGl0VGVzdFJlc3VsdDo6dGFyZ2V0RnJhbWUgY29uc3QpOgorCiAyMDE4LTEwLTEyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFsbG93
IFNQSSBjbGllbnRzIHRvIGxheSBvdXQgYXQgYXJiaXRyYXJpbHkgc2NhbGVkIHNpemVzIGFuZCBz
Y2FsZSB0byBmaXQgdGhlIHZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOWVjZGYyMTczMDgyNTU0ZTcyNmY0NTA1
OWRmMDQyNzljZmYwYTY4NS4uOWJmYTVhMTZmNTY2YTcwYTY5Yzc1ZmQwOWZmMWQyNGYxMGU3OWNi
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0xMC0xMiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlc3RyaWN0IGJyb3dzaW5nIGNvbnRleHQgbG9v
a3VwIGJ5IG5hbWUgdG8gZnJhbWVzIHRoYXQgYXJlIHJlbGF0ZWQgdG8gb25lIGFub3RoZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3Ojpw
ZXJmb3JtSmF2YVNjcmlwdFVSTFJlcXVlc3QpOgorCiAyMDE4LTEwLTEyICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFsbG93IFNQSSBjbGll
bnRzIHRvIGxheSBvdXQgYXQgYXJiaXRyYXJpbHkgc2NhbGVkIHNpemVzIGFuZCBzY2FsZSB0byBm
aXQgdGhlIHZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBhZTc5YjUwMDcxOGFh
ZTM5MGZiZDE4Yjg0ZmM3MTFjZTNlMjkyOGE5Li42MTQ2ZjczN2QyMTliYTM1ZGM4MGM3Yzg2YTI0
OTFjZGFlNTYxZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTgtMTAtMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXN0cmljdCBicm93c2luZyBjb250ZXh0IGxvb2t1cCBieSBuYW1lIHRvIGZyYW1lcyB0aGF0
IGFyZSByZWxhdGVkIHRvIG9uZSBhbm90aGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dl
YkZyYW1lIGZpbmRGcmFtZU5hbWVkOl0pOgorCiAyMDE4LTEwLTEyICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWxsb3cgZW5jb2Rpbmcgb2Yg
c21hbGwgZW51bSBjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCA4NDAzODc2YTM2MWY2ZTA2M2YyNDZhOGU4Y2VlMTBhYWQ5NjRlNmIyLi4wYmViMjhmNjY0ZWNl
M2RjNzUzNWJiNTkxZjg5MTliN2RmY2NiZjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTM1NDAsMTIgKzM1NDAsMTIgQEAgYm9vbCBGcmFtZUxvYWRlcjo6c2hvdWxk
VHJlYXRVUkxBc1NyY2RvY0RvY3VtZW50KGNvbnN0IFVSTCYgdXJsKSBjb25zdAogCiBGcmFtZSog
RnJhbWVMb2FkZXI6OmZpbmRGcmFtZUZvck5hdmlnYXRpb24oY29uc3QgQXRvbWljU3RyaW5nJiBu
YW1lLCBEb2N1bWVudCogYWN0aXZlRG9jdW1lbnQpCiB7Ci0gICAgRnJhbWUqIGZyYW1lID0gbV9m
cmFtZS50cmVlKCkuZmluZChuYW1lKTsKLQogICAgIC8vIEZJWE1FOiBFdmVudHVhbGx5IGFsbCBj
YWxsZXJzIHNob3VsZCBzdXBwbHkgdGhlIGFjdHVhbCBhY3RpdmVEb2N1bWVudCBzbyB3ZSBjYW4g
Y2FsbCBjYW5OYXZpZ2F0ZSB3aXRoIHRoZSByaWdodCBkb2N1bWVudC4KICAgICBpZiAoIWFjdGl2
ZURvY3VtZW50KQogICAgICAgICBhY3RpdmVEb2N1bWVudCA9IG1fZnJhbWUuZG9jdW1lbnQoKTsK
IAorICAgIGF1dG8qIGZyYW1lID0gbV9mcmFtZS50cmVlKCkuZmluZChuYW1lLCBhY3RpdmVEb2N1
bWVudC0+ZnJhbWUoKSA/ICphY3RpdmVEb2N1bWVudC0+ZnJhbWUoKSA6IG1fZnJhbWUpOworCiAg
ICAgaWYgKCFhY3RpdmVEb2N1bWVudC0+Y2FuTmF2aWdhdGUoZnJhbWUpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuY3BwCmluZGV4IDQyY2IzMzNhMGMw
OWQ1MTRkYjBmMTdjN2NmMGRiNmY4NzY2YmZkMzAuLmE5ZmVjMTUzYzk3ODJmMzk0NjJkOTAxMDlm
YzA2NTJjNTFiZDFmZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5jcHAKQEAgLTIwOCw3ICsy
MDgsMjMgQEAgRnJhbWUqIEZyYW1lVHJlZTo6Y2hpbGQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
KSBjb25zdAogICAgIHJldHVybiBudWxscHRyOwogfQogCi1GcmFtZSogRnJhbWVUcmVlOjpmaW5k
KGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3QKKy8vIEZyYW1lVHJlZTo6ZmluZCgpIG9u
bHkgcmV0dXJucyBmcmFtZXMgaW4gcGFnZXMgdGhhdCBhcmUgcmVsYXRlZCB0byB0aGUgYWN0aXZl
CisvLyBwYWdlIGJ5IGFuIG9wZW5lciA8LT4gb3BlbmVlIHJlbGF0aW9uc2hpcC4KK3N0YXRpYyBi
b29sIGlzRnJhbWVGYW1pbGlhcldpdGgoRnJhbWUmIGZyYW1lQSwgRnJhbWUmIGZyYW1lQikKK3sK
KyAgICBpZiAoZnJhbWVBLnBhZ2UoKSA9PSBmcmFtZUIucGFnZSgpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIGlmIChhdXRvKiBmcmFtZUFPcGVuZXIgPSBmcmFtZUEubWFpbkZyYW1lKCku
bG9hZGVyKCkub3BlbmVyKCkpCisgICAgICAgIHJldHVybiBpc0ZyYW1lRmFtaWxpYXJXaXRoKCpm
cmFtZUFPcGVuZXIsIGZyYW1lQik7CisKKyAgICBpZiAoYXV0byogZnJhbWVCT3BlbmVyID0gZnJh
bWVCLm1haW5GcmFtZSgpLmxvYWRlcigpLm9wZW5lcigpKQorICAgICAgICByZXR1cm4gaXNGcmFt
ZUZhbWlsaWFyV2l0aChmcmFtZUEsICpmcmFtZUJPcGVuZXIpOworCisgICAgcmV0dXJuIGZhbHNl
OworfQorCitGcmFtZSogRnJhbWVUcmVlOjpmaW5kKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwg
RnJhbWUmIGFjdGl2ZUZyYW1lKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBfY3VycmVudCBpcyBu
b3QgcGFydCBvZiB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uLgogICAgIGlmIChlcXVhbElnbm9yaW5n
QVNDSUlDYXNlKG5hbWUsICJfc2VsZiIpIHx8IG5hbWUgPT0gIl9jdXJyZW50IiB8fCBuYW1lLmlz
RW1wdHkoKSkKQEAgLTI0NSw4ICsyNjEsOCBAQCBGcmFtZSogRnJhbWVUcmVlOjpmaW5kKGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3QKICAgICBmb3IgKGF1dG8qIG90aGVyUGFnZSA6IHBh
Z2UtPmdyb3VwKCkucGFnZXMoKSkgewogICAgICAgICBpZiAob3RoZXJQYWdlID09IHBhZ2UpCiAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmb3RoZXJQ
YWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5l
eHQoKSkgewotICAgICAgICAgICAgaWYgKGZyYW1lLT50cmVlKCkudW5pcXVlTmFtZSgpID09IG5h
bWUpCisgICAgICAgIGZvciAoYXV0byogZnJhbWUgPSAmb3RoZXJQYWdlLT5tYWluRnJhbWUoKTsg
ZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkgeworICAgICAgICAg
ICAgaWYgKGZyYW1lLT50cmVlKCkudW5pcXVlTmFtZSgpID09IG5hbWUgJiYgaXNGcmFtZUZhbWls
aWFyV2l0aChhY3RpdmVGcmFtZSwgKmZyYW1lKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZnJh
bWU7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCAwYjZhNzYz
NTI4YmZkNzRiYjNiMWJlMDY2MTliZTg4ZGRmZTllNzcyLi45N2M4ZjJiN2E0NmVmMWNkMWQwMDE3
MGJkMjc1ODE5NmMzYmVkN2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
VHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKQEAgLTc1LDcgKzc1
LDcgQEAgcHVibGljOgogCiAgICAgRnJhbWUqIGNoaWxkKHVuc2lnbmVkIGluZGV4KSBjb25zdDsK
ICAgICBGcmFtZSogY2hpbGQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKSBjb25zdDsKLSAgICBX
RUJDT1JFX0VYUE9SVCBGcmFtZSogZmluZChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpIGNvbnN0
OworICAgIFdFQkNPUkVfRVhQT1JUIEZyYW1lKiBmaW5kKGNvbnN0IEF0b21pY1N0cmluZyYgbmFt
ZSwgRnJhbWUmIGFjdGl2ZUZyYW1lKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB1bnNpZ25l
ZCBjaGlsZENvdW50KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgRnJhbWUmIHRvcCgpIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKaW5kZXgg
NzQ4ZWFlM2EzM2Q4ZjFiZWE3NDlkZmZjZjBjNGQyZTU2N2VlZDU3OC4uODVlYjc5OGNkMDlmZTI4
OTdhMTVjYjQyNjhkOTc3MTUxNmJkNDUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcApAQCAtMTc3LDEzICsxNzcsMTMgQEAgRnJhbWUqIEhpdFRlc3RSZXN1
bHQ6OmlubmVyTm9kZUZyYW1lKCkgY29uc3QKIEZyYW1lKiBIaXRUZXN0UmVzdWx0Ojp0YXJnZXRG
cmFtZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lubmVyVVJMRWxlbWVudCkKLSAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgRnJhbWUqIGZyYW1lID0gbV9p
bm5lclVSTEVsZW1lbnQtPmRvY3VtZW50KCkuZnJhbWUoKTsKICAgICBpZiAoIWZyYW1lKQotICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gZnJh
bWUtPnRyZWUoKS5maW5kKG1faW5uZXJVUkxFbGVtZW50LT50YXJnZXQoKSk7CisgICAgcmV0dXJu
IGZyYW1lLT50cmVlKCkuZmluZChtX2lubmVyVVJMRWxlbWVudC0+dGFyZ2V0KCksICpmcmFtZSk7
CiB9CiAKIGJvb2wgSGl0VGVzdFJlc3VsdDo6aXNTZWxlY3RlZCgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IGYwNzUyYmQ5
ODJhMTUzYmFkNGIyOTI0NWYxMDMyMTk3MGViM2FjOTEuLjc1ODA4YjFiNDViMGVjYzU2ODM5YzNi
ZmQxMjVjYWVkOWFmNjNlOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCkBAIC0xMjM4LDcgKzEyMzgsNyBAQCB2b2lkIFBsdWdpblZpZXc6
OnBlcmZvcm1KYXZhU2NyaXB0VVJMUmVxdWVzdChVUkxSZXF1ZXN0KiByZXF1ZXN0KQogCiAgICAg
aWYgKCFyZXF1ZXN0LT50YXJnZXQoKS5pc051bGwoKSkgewogICAgICAgICAvLyBGb3Igc2VjdXJp
dHkgcmVhc29ucywgb25seSBhbGxvdyBKUyByZXF1ZXN0cyB0byBiZSBtYWRlIG9uIHRoZSBmcmFt
ZSB0aGF0IGNvbnRhaW5zIHRoZSBwbHVnLWluLgotICAgICAgICBpZiAoZnJhbWUtPnRyZWUoKS5m
aW5kKHJlcXVlc3QtPnRhcmdldCgpKSAhPSBmcmFtZSkgeworICAgICAgICBpZiAoZnJhbWUtPnRy
ZWUoKS5maW5kKHJlcXVlc3QtPnRhcmdldCgpLCAqZnJhbWUpICE9IGZyYW1lKSB7CiAgICAgICAg
ICAgICAvLyBMZXQgdGhlIHBsdWctaW4ga25vdyB0aGF0IGl0cyBmcmFtZSBsb2FkIGZhaWxlZC4K
ICAgICAgICAgICAgIG1fcGx1Z2luLT5mcmFtZURpZEZhaWwocmVxdWVzdC0+cmVxdWVzdElEKCks
IGZhbHNlKTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4IDM3YjMzYzgxMDg0MDJiZWNmN2U1NDU3MDU2YzRkNjM3
MWMyMjA0NmIuLjcyNjJjZTJhZjZlNzg3ZGM5ZDFjMzlhMjJkNzE3YjNkOTdmZjI0NjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQpAQCAtMjU4Nyw3ICsy
NTg3LDcgQEAgLSAoV2ViRnJhbWUgKilmaW5kRnJhbWVOYW1lZDooTlNTdHJpbmcgKiluYW1lCiAg
ICAgRnJhbWUqIGNvcmVGcmFtZSA9IF9wcml2YXRlLT5jb3JlRnJhbWU7CiAgICAgaWYgKCFjb3Jl
RnJhbWUpCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgcmV0dXJuIGtpdChjb3JlRnJhbWUtPnRy
ZWUoKS5maW5kKG5hbWUpKTsKKyAgICByZXR1cm4ga2l0KGNvcmVGcmFtZS0+dHJlZSgpLmZpbmQo
bmFtZSwgKmNvcmVGcmFtZSkpOwogfQogCiAtIChXZWJGcmFtZSAqKXBhcmVudEZyYW1lCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5jcHAKaW5kZXggYWIyZjY5ZWU0MzViMTViY2NhODZiNGIx
NjBjYTdiNzI2MmUwZWQzMy4uZWEzMTAzZjcwY2QzOTcxZjViNmZlNTMwMmI2MzE2MTYwMzMzYTA1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJhbWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkZyYW1lLmNwcApAQCAtNzMyLDcgKzczMiw3IEBA
IEhSRVNVTFQgV2ViRnJhbWU6OmZpbmRGcmFtZU5hbWVkKF9Jbl8gQlNUUiBuYW1lLCBfQ09NX091
dHB0cl9vcHRfIElXZWJGcmFtZSoqIGZyCiAgICAgaWYgKCFjb3JlRnJhbWUpCiAgICAgICAgIHJl
dHVybiBFX1VORVhQRUNURUQ7CiAKLSAgICBGcmFtZSogZm91bmRGcmFtZSA9IGNvcmVGcmFtZS0+
dHJlZSgpLmZpbmQoQXRvbWljU3RyaW5nKG5hbWUsIFN5c1N0cmluZ0xlbihuYW1lKSkpOworICAg
IEZyYW1lKiBmb3VuZEZyYW1lID0gY29yZUZyYW1lLT50cmVlKCkuZmluZChBdG9taWNTdHJpbmco
bmFtZSwgU3lzU3RyaW5nTGVuKG5hbWUpKSwgKmNvcmVGcmFtZSk7CiAgICAgaWYgKCFmb3VuZEZy
YW1lKQogICAgICAgICByZXR1cm4gU19PSzsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM4MDAyNzg5NWViMmMzMGM3ZjY3
MGQ1MDQ4YjU0MDZmNGE1NDI3YzAuLmI2MjFmMjQ2ZjljYzQwZjgwYzJhNzc4N2FiN2ZjNGE0MTkz
ZGZkZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOC0xMC0xMiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlc3RyaWN0IGJyb3dzaW5nIGNvbnRleHQgbG9v
a3VwIGJ5IG5hbWUgdG8gZnJhbWVzIHRoYXQgYXJlIHJlbGF0ZWQgdG8gb25lIGFub3RoZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9kb20vbmV3LXdpbmRvdy1jYW4tdGFyZ2V0LW9wZW5lci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25ldy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LWNhbm5v
dC10YXJnZXQtb3BlbmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9kb20vbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJnZXQtb3BlbmVyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdp
bmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Rv
bS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlMi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2RvbS9ub3JlZmVycmVyLXdpbmRvdy1u
b3QtdGFyZ2V0YWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
ZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvZG9tL29wZW5lZC13aW5kb3ctbm90LXRhcmdldGFibGUtYWZ0ZXItZGlz
b3duaW5nLW9wZW5lci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
ZG9tL29wZW5lZC13aW5kb3ctbm90LXRhcmdldGFibGUtYWZ0ZXItZGlzb3duaW5nLW9wZW5lci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMvbmV3LXdpbmRv
dy1jYW4tdGFyZ2V0LW9wZW5lci13aW4uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9kb20vcmVzb3VyY2VzL25vb3BlbmVyLXdpbmRvdy1jYW5ub3QtdGFyZ2V0LW9wZW5lci13aW4u
aHRtbDogQWRkZWQuCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAg
ICAqIGZhc3QvZG9tL1dpbmRvdy9hLXJlbC1ub29wZW5lci1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9XaW5kb3cvcmVzb3VyY2VzL3JlbC1ub29wZW5lci5qczoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVmZXJyZXItdGFyZ2V0LWJsYW5rLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL25vLXJlZmVy
cmVyLWhlbHBlci5waHA6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRv
dy1uYW1lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93azIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5k
b3ctbmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZSAvIHJlYmFzZWxpbmUgZXhpc3Rp
bmcgdGVzdHMgdG8gcmVmbGVjdCBiZWhhdmlvciBjaGFuZ2UuCisKIDIwMTgtMTAtMTIgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWxsb3cg
U1BJIGNsaWVudHMgdG8gbGF5IG91dCBhdCBhcmJpdHJhcmlseSBzY2FsZWQgc2l6ZXMgYW5kIHNj
YWxlIHRvIGZpdCB0aGUgdmlldwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L2EtcmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy9hLXJlbC1ub29wZW5lci1leHBlY3RlZC50eHQKaW5kZXggOGU4NzA0YWU4YjM0ODk2OTM2
ZjRmNWRjY2UyNGJlZGRmZTRjOTI0OC4uZTEzNWY1MmE0ZDU1ZTQ3NGZhZmVlOWE3YTY0NWJlOThi
YzA3NjI4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2EtcmVsLW5v
b3BlbmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYS1y
ZWwtbm9vcGVuZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDExOiBQQVNTOiB3aW5kb3cub3BlbmVyIGlzIG51bGwKIFRlc3QgdGhhdCB3aW5kb3cu
b3BlbmVyIGlzIG51bGwgd2hlbiBhIG5ldyB3aW5kb3cgaXMgb3BlbmVkIGZyb20gYW4gYW5jaG9y
IGVsZW1lbnQgd2l0aCByZWw9J25vb3BlbmVyJy4KIAotUEFTUzogd2luZG93Lm9wZW5lciBpcyBu
dWxsCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hcmVhLXJlbC1u
b29wZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYXJlYS1y
ZWwtbm9vcGVuZXItZXhwZWN0ZWQudHh0CmluZGV4IGI2ZWNlOGI1OWE1NjhiMGU1ZmU5YjFiZGUw
ZTNhNTVhM2U5Njk5MWEuLmU2MjAyY2Q0NmFhZGRhOTZlMThkODc4NWRiYTlhMjQwNWRiZmEzZjYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hcmVhLXJlbC1ub29wZW5l
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2FyZWEtcmVs
LW5vb3BlbmVyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDUgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMTogUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxsCiBUZXN0IHRoYXQgd2luZG93Lm9w
ZW5lciBpcyBudWxsIHdoZW4gYSBuZXcgd2luZG93IGlzIG9wZW5lZCBmcm9tIGFuIGFyZWEgZWxl
bWVudCB3aXRoIHJlbD0nbm9vcGVuZXInLgogCiAKLVBBU1M6IHdpbmRvdy5vcGVuZXIgaXMgbnVs
bAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvcmVzb3VyY2VzL3Jl
bC1ub29wZW5lci5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvcmVs
LW5vb3BlbmVyLmpzCmluZGV4IGJiNWQ0NmVhZTM5N2EzZWRmMWFkYTU3ODlmNWJmNjllYzFhMmQ3
YjkuLmIzYjU5YmEzMGNkNGVhZGI3NjM0NWM4ZGRlOTAxZjhjMmM0OWQyNDEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvcmVsLW5vb3BlbmVyLmpzCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvcmVsLW5vb3BlbmVyLmpz
CkBAIC01LDExICs1LDEwIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogfQogCiBpZiAoZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9PT0gIiNuZXctd2luZG93IikgewotICAgIHZhciBjb25zb2xl
ID0gd2luZG93Lm9wZW4oIiIsICJvcmlnaW5hbFdpbmRvdyIpLmRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb25zb2xlIik7CiAgICAgaWYgKHdpbmRvdy5vcGVuZXIpCi0gICAgICAgIGNvbnNvbGUu
aW5uZXJUZXh0ID0gIkZBSUw6IHdpbmRvdy5vcGVuZXIgaXMgbm9uLW51bGwiOworICAgICAgICBj
b25zb2xlLmxvZygiRkFJTDogd2luZG93Lm9wZW5lciBpcyBub24tbnVsbCIpOwogICAgIGVsc2UK
LSAgICAgICAgY29uc29sZS5pbm5lclRleHQgPSAiUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxs
IjsKKyAgICAgICAgY29uc29sZS5sb2coIlBBU1M6IHdpbmRvdy5vcGVuZXIgaXMgbnVsbCIpOwog
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfSBlbHNlIHsKICAgICB3aW5kb3cubmFtZSA9
ICJvcmlnaW5hbFdpbmRvdyI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rv
bS9uZXctd2luZG93LWNhbi10YXJnZXQtb3BlbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvZG9tL25ldy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjcyYThkY2UwMWE4ZTk3MTI5NDgwNjBiNjUyZWNkMTE0N2VkNjhkNjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9uZXctd2luZG93LWNh
bi10YXJnZXQtb3BlbmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxNTogUEFTUzogTmV3IHdpbmRvdyBzaG91bGQgaGF2ZSBhbiBvcGVuZXIKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAyMTogUEFTUzogTmV3IHdpbmRvdyBzaG91bGQgYmUgYWJsZSB0
byBsb29rIHVwIG9wZW5lciBieSBuYW1lCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IFBBU1M6
IE5ldyB3aW5kb3cgc2hvdWxkIGhhdmUgVVJMICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvZG9tL25l
dy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXIuaHRtbCcKK01ha2Ugc3VyZSB0aGF0IHdpbmRvd3Mg
b3BlbmVkIHZpYSB3aW5kb3cub3BlbiBjYW4gdGFyZ2V0IHRoZWlyIG9wZW5lcgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2RvbS9uZXctd2luZG93LWNhbi10YXJnZXQtb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2RvbS9uZXctd2luZG93LWNhbi10YXJnZXQtb3BlbmVyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzlmMTM5ODZhNmNhNTRiYzkxOTMyMDM3ZDViYjIwZmEyODc2ZjUzYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25ldy13aW5kb3ctY2FuLXRhcmdldC1v
cGVuZXIuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSB0aGF0
IHdpbmRvd3Mgb3BlbmVkIHZpYSB3aW5kb3cub3BlbiBjYW4gdGFyZ2V0IHRoZWlyIG9wZW5lciIp
OworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7ICAgIAorIAorb25sb2FkID0gZnVuY3Rpb24o
KSB7CisgICAgd2luZG93Lm5hbWUgPSAib3BlbmVyIjsKKyAgICB3ID0gb3BlbigicmVzb3VyY2Vz
L25ldy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXItd2luLmh0bWwiLCAiIik7Cit9ICAgIAorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2RvbS9ub29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJn
ZXQtb3BlbmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjNjNDAwMDE0MGY2YTAzYjJhZGY1
ZjIzMzk3MjE3YzA1NjRhOWE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJnZXQtb3BlbmVyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNzogUEFTUzogTmV3IHdp
bmRvdyBzaG91bGQgbm90IGhhdmUgYW4gb3BlbmVyCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6
IFBBU1M6IE5ldyB3aW5kb3cgc2hvdWxkIGhhdmUgVVJMICdhYm91dDpibGFuaycKK01ha2Ugc3Vy
ZSB0aGF0IHdpbmRvd3Mgb3BlbmVkIHdpdGggJ25vb3BlbmVyJyB2aWEgd2luZG93Lm9wZW4gY2Fu
bm90IHRhcmdldCB0aGVpciBvcGVuZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHcgaXMgbnVsbAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rv
bS9ub29wZW5lci13aW5kb3ctY2Fubm90LXRhcmdldC1vcGVuZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1jYW5ub3QtdGFyZ2V0LW9wZW5lci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdkMGRlNzVmMDU1OWRmODYxOWU3YWJlOThjYTI1NjhhNjIwZmI3YzUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5k
b3ctY2Fubm90LXRhcmdldC1vcGVuZXIuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIk1ha2Ugc3VyZSB0aGF0IHdpbmRvd3Mgb3BlbmVkIHdpdGggJ25vb3BlbmVyJyB2aWEgd2lu
ZG93Lm9wZW4gY2Fubm90IHRhcmdldCB0aGVpciBvcGVuZXIuIik7Citqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Bl
bldpbmRvd3MoKTsgICAgCisgCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3aW5kb3cubmFt
ZSA9ICJvcGVuZXIiOworICAgIHcgPSBvcGVuKCJyZXNvdXJjZXMvbm9vcGVuZXItd2luZG93LWNh
bm5vdC10YXJnZXQtb3BlbmVyLXdpbi5odG1sIiwgIiIsICJub29wZW5lciIpOworICAgIHNob3Vs
ZEJlTnVsbCgidyIpOworfSAgICAKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJn
ZXRhYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVy
LXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjNkN2IwN2Qw
Y2FiZjhhOWNjZGVmNWE4MDIzYzVhOTk4MWJjOWQzZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorTWFrZSBzdXJlIHRoYXQgd2luZG93cyBvcGVuZWQg
d2l0aCAnbm9vcGVuZXInIHZpYSBhbiBhbmNob3IgYXJlIG5vdCB0YXJnZXRhYmxlLiBJZiB0ZXN0
aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNlZSAyIHRhYnMgb3Blbi4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1Mgdy5sb2NhdGlvbi5ocmVmIGlzICJhYm91dDpibGFuayIK
K1BBU1MgdGVzdFJ1bm5lci53aW5kb3dDb3VudCgpIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM0ZjljNTNiMGJkODNlZTFkNjU1ZDJmYzEwNWJlM2UyNGQ4Yzc2MGEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29wZW5lci13aW5k
b3ctbm90LXRhcmdldGFibGUuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8YSBpZD0idGVzdExpbmsiIHRhcmdldD0i
Zm9vIiByZWw9Im5vb3BlbmVyIiBocmVmPSIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdl
Lmh0bWwiPjwvYT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIHRoYXQgd2luZG93
cyBvcGVuZWQgd2l0aCAnbm9vcGVuZXInIHZpYSBhbiBhbmNob3IgYXJlIG5vdCB0YXJnZXRhYmxl
LiBJZiB0ZXN0aW5nIG1hbnVhbGx5LCB5b3Ugc2hvdWxkIHNlZSAyIHRhYnMgb3Blbi4iKTsKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOyAgICAKKyAKK29ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICAgIHRlc3RMaW5rLmNsaWNrKCk7CisKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAg
ICAgICB3ID0gb3BlbigiL25hdmlnYXRpb24vcmVzb3VyY2VzL290aGVycGFnZS5odG1sIiwgImZv
byIpOyAvLyBTaG91bGQgY3JlYXRlIGEgbmV3IHdpbmRvdy4KKyAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ3LmxvY2F0aW9uLmhyZWYiLCAiYWJvdXQ6YmxhbmsiKTsKKyAgICAgICAgdy5v
bmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgICAgICBzaG91bGRCZSgidGVzdFJ1bm5lci53aW5kb3dDb3VudCgpIiwgIjMi
KTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisgICAgfSwgMTAwKTsK
K30gICAgCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10
YXJnZXRhYmxlMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWNkOTc2MThmMDE4ZTk4ZTI3ZDY5
MmFkNzJmNjE4NWE4MmRjMzQzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvZG9tL25vb3BlbmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZTItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK01ha2Ugc3VyZSB0aGF0IHdpbmRvd3Mgb3BlbmVkIHdpdGggJ25vb3Bl
bmVyJyB2aWEgd2luZG93Lm9wZW4gYXJlIG5vdCB0YXJnZXRhYmxlLiBJZiB0ZXN0aW5nIG1hbnVh
bGx5LCB5b3Ugc2hvdWxkIHNlZSAyIHRhYnMgb3Blbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgdyBpcyBudWxsCitQQVNTIHcubG9jYXRpb24uaHJlZiBpcyAiYWJvdXQ6
YmxhbmsiCitQQVNTIHRlc3RSdW5uZXIud2luZG93Q291bnQoKSBpcyAzCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRhYmxlMi5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vbm9vcGVuZXItd2luZG93LW5vdC10YXJnZXRh
YmxlMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5YzAxOWJiMjQzODM3MTAyOTU2NWY4MGFlZGU1Mjc4OTlh
MTA5YzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub29w
ZW5lci13aW5kb3ctbm90LXRhcmdldGFibGUyLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJNYWtlIHN1cmUgdGhhdCB3aW5kb3dzIG9wZW5lZCB3aXRoICdub29wZW5lcicgdmlh
IHdpbmRvdy5vcGVuIGFyZSBub3QgdGFyZ2V0YWJsZS4gSWYgdGVzdGluZyBtYW51YWxseSwgeW91
IHNob3VsZCBzZWUgMiB0YWJzIG9wZW4uIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsg
ICAgCisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHcgPSB3aW5kb3cub3BlbigiL25hdmln
YXRpb24vcmVzb3VyY2VzL290aGVycGFnZS5odG1sIiwgImZvbyIsICJub29wZW5lciIpOworICAg
IHNob3VsZEJlTnVsbCgidyIpOworCisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAg
ICAgdyA9IG9wZW4oIi9uYXZpZ2F0aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCIsICJmb28i
KTsgLy8gU2hvdWxkIGNyZWF0ZSBhIG5ldyB3aW5kb3cuCisgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygidy5sb2NhdGlvbi5ocmVmIiwgImFib3V0OmJsYW5rIik7CisgICAgICAgIHcub25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICAgICAgc2hvdWxkQmUoInRlc3RSdW5uZXIud2luZG93Q291bnQoKSIsICIzIik7
CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgIH0sIDEwMCk7Cit9
ICAgIAorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2RvbS9ub3JlZmVycmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub3JlZmVycmVyLXdpbmRvdy1ub3Qt
dGFyZ2V0YWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWViZWI3M2FlYjJmN2I0YmEyOWQz
NzFlYWMzNjc2MTM4MjRmYTJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvZG9tL25vcmVmZXJyZXItd2luZG93LW5vdC10YXJnZXRhYmxlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDExIEBACitNYWtlIHN1cmUgdGhhdCB3aW5kb3dzIG9wZW5lZCB3aXRoICdub3Jl
ZmVycmVyJyBhcmUgbm90IHRhcmdldGFibGUuIElmIHRlc3RpbmcgbWFudWFsbHksIHlvdSBzaG91
bGQgc2VlIDIgdGFicyBvcGVuLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyB3LmxvY2F0aW9uLmhyZWYgaXMgImFib3V0OmJsYW5rIgorUEFTUyB0ZXN0UnVubmVyLndpbmRv
d0NvdW50KCkgaXMgMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvZG9tL25vcmVmZXJy
ZXItd2luZG93LW5vdC10YXJnZXRhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Rv
bS9ub3JlZmVycmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0Mjky
MWM0ZDAzODZiNDA3MWM1YjliOWZmYTEyYTI5Yjk5Yjk3NTkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9ub3JlZmVycmVyLXdpbmRvdy1ub3QtdGFyZ2V0YWJs
ZS5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxhIGlkPSJ0ZXN0TGluayIgdGFyZ2V0PSJmb28iIHJlbD0ibm9yZWZl
cnJlciIgaHJlZj0iL25hdmlnYXRpb24vcmVzb3VyY2VzL290aGVycGFnZS5odG1sIj48L2E+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSB0aGF0IHdpbmRvd3Mgb3BlbmVkIHdpdGgg
J25vcmVmZXJyZXInIGFyZSBub3QgdGFyZ2V0YWJsZS4gSWYgdGVzdGluZyBtYW51YWxseSwgeW91
IHNob3VsZCBzZWUgMiB0YWJzIG9wZW4uIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsg
ICAgCisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHRlc3RMaW5rLmNsaWNrKCk7CisgICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgdyA9IG9wZW4oIi9uYXZpZ2F0aW9uL3Jl
c291cmNlcy9vdGhlcnBhZ2UuaHRtbCIsICJmb28iKTsgLy8gU2hvdWxkIGNyZWF0ZSBhIG5ldyB3
aW5kb3cuCisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidy5sb2NhdGlvbi5ocmVmIiwg
ImFib3V0OmJsYW5rIik7CisgICAgICAgIHcub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgc2hvdWxkQmUoInRl
c3RSdW5uZXIud2luZG93Q291bnQoKSIsICIzIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgfQorICAgIH0sIDEwMCk7Cit9ICAgIAorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9vcGVuZWQtd2lu
ZG93LW5vdC10YXJnZXRhYmxlLWFmdGVyLWRpc293bmluZy1vcGVuZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vb3BlbmVkLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1h
ZnRlci1kaXNvd25pbmctb3BlbmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmY1ZGM0YTRk
MDlkMTU3NjYwMGNkOWRmNjMwYTE3MThjMzVlNGUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9kb20vb3BlbmVkLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1hZnRlci1k
aXNvd25pbmctb3BlbmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitNYWtlIHN1cmUg
dGhhdCB3aW5kb3dzIG9wZW5lZCB2aWEgd2luZG93Lm9wZW4gYXJlIG5vdCB0YXJnZXRhYmxlIGJ5
IHRoZWlyIG9wZW5lciBhZnRlciBpdCBpcyBkaXNvd25lZC4gSWYgdGVzdGluZyBtYW51YWxseSwg
eW91IHNob3VsZCBzZWUgMiB0YWJzIG9wZW4uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIHcubG9jYXRpb24uaHJlZiBpcyAiYWJvdXQ6YmxhbmsiCitQQVNTIHRlc3RSdW5u
ZXIud2luZG93Q291bnQoKSBpcyAzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20v
b3BlbmVkLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1hZnRlci1kaXNvd25pbmctb3BlbmVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9vcGVuZWQtd2luZG93LW5vdC10YXJnZXRhYmxl
LWFmdGVyLWRpc293bmluZy1vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NGZmNzFiYWIzN2YwZGI3
ZDE1MzZmMjNkZmFlM2ZhYTA3OGQ0YmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9kb20vb3BlbmVkLXdpbmRvdy1ub3QtdGFyZ2V0YWJsZS1hZnRlci1kaXNvd25p
bmctb3BlbmVyLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUg
dGhhdCB3aW5kb3dzIG9wZW5lZCB2aWEgd2luZG93Lm9wZW4gYXJlIG5vdCB0YXJnZXRhYmxlIGJ5
IHRoZWlyIG9wZW5lciBhZnRlciBpdCBpcyBkaXNvd25lZC4gSWYgdGVzdGluZyBtYW51YWxseSwg
eW91IHNob3VsZCBzZWUgMiB0YWJzIG9wZW4uIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3Mo
KTsgICAgCisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHcgPSB3aW5kb3cub3BlbigiL25h
dmlnYXRpb24vcmVzb3VyY2VzL290aGVycGFnZS5odG1sIiwgImZvbyIpOworICAgIHcub3BlbmVy
ID0gbnVsbDsKKworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHcgPSBvcGVu
KCIvbmF2aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwiLCAiZm9vIik7IC8vIFNob3Vs
ZCBjcmVhdGUgYSBuZXcgd2luZG93LgorICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIncu
bG9jYXRpb24uaHJlZiIsICJhYm91dDpibGFuayIpOworICAgICAgICB3Lm9ubG9hZCA9IGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJ0ZXN0UnVubmVyLndpbmRvd0NvdW50KCkiLCAiMyIpOworICAgICAgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICB9LCAxMDApOworfSAgICAKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9kb20vcmVzb3VyY2VzL25ldy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXItd2luLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMvbmV3LXdpbmRvdy1jYW4tdGFyZ2V0
LW9wZW5lci13aW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NjEzYTQ4YjczMjBmZDc2OTRiMDRmZTgyMTM1
YzAzZGJiZjMwZjFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9k
b20vcmVzb3VyY2VzL25ldy13aW5kb3ctY2FuLXRhcmdldC1vcGVuZXItd2luLmh0bWwKQEAgLTAs
MCArMSwzNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOworCitvbmxvYWQgPSBmdW5j
dGlvbigpIHsKKyAgICBpZiAod2luZG93Lm9wZW5lcikKKyAgICAgICAgY29uc29sZS5sb2coIlBB
U1M6IE5ldyB3aW5kb3cgc2hvdWxkIGhhdmUgYW4gb3BlbmVyIik7CisgICAgZWxzZQorICAgICAg
ICBjb25zb2xlLmxvZygiRkFJTDogTmV3IHdpbmRvdyBzaG91bGQgaGF2ZSBhbiBvcGVuZXIiKTsK
KworICAgIG9wZW5lckJ5TmFtZSA9IG9wZW4oIiIsICJvcGVuZXIiKTsgLy8gU2hvdWxkIHJldHVy
biB0aGUgb3BlbmVyLgorICAgIGlmIChvcGVuZXJCeU5hbWUgPT09IG9wZW5lcikKKyAgICAgICAg
Y29uc29sZS5sb2coIlBBU1M6IE5ldyB3aW5kb3cgc2hvdWxkIGJlIGFibGUgdG8gbG9vayB1cCBv
cGVuZXIgYnkgbmFtZSIpOworICAgIGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIkZBSUw6IE5l
dyB3aW5kb3cgc2hvdWxkIGJlIGFibGUgdG8gbG9vayB1cCBvcGVuZXIgYnkgbmFtZSIpOworCisg
ICAgY29uc3QgZXhwZWN0ZWRPcGVuZXJVUkwgPSAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2RvbS9u
ZXctd2luZG93LWNhbi10YXJnZXQtb3BlbmVyLmh0bWwiOworICAgIGlmIChvcGVuZXJCeU5hbWUu
bG9jYXRpb24uaHJlZiA9PSBleHBlY3RlZE9wZW5lclVSTCkKKyAgICAgICAgY29uc29sZS5sb2co
IlBBU1M6IE5ldyB3aW5kb3cgc2hvdWxkIGhhdmUgVVJMICciICsgZXhwZWN0ZWRPcGVuZXJVUkwg
KyAiJyIpOworICAgIGVsc2UKKyAgICAgICAgY29uc29sZS5sb2coIkZBSUw6IE5ldyB3aW5kb3cg
c2hvdWxkIGhhdmUgVVJMICciICsgZXhwZWN0ZWRPcGVuZXJVUkwgKyAiJyBidXQgZ290ICciICsg
b3BlbmVyQnlOYW1lLmxvY2F0aW9uLmhyZWYgKyAiJyIpOworCisgICAgZmluaXNoSlNUZXN0KCk7
Cit9OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2RvbS9yZXNvdXJjZXMvbm9vcGVuZXItd2luZG93LWNhbm5vdC10YXJnZXQt
b3BlbmVyLXdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vcmVzb3VyY2VzL25v
b3BlbmVyLXdpbmRvdy1jYW5ub3QtdGFyZ2V0LW9wZW5lci13aW4uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
Yjg4MGVlNmQxMzMzYjBkZGQwNGE3M2M2ZTgyNzQ0YjMzMWFmODg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9kb20vcmVzb3VyY2VzL25vb3BlbmVyLXdpbmRvdy1j
YW5ub3QtdGFyZ2V0LW9wZW5lci13aW4uaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgoranNUZXN0SXNB
c3luYyA9IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLnNl
dENhbk9wZW5XaW5kb3dzKCk7CisKK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGlmICh3aW5k
b3cub3BlbmVyKQorICAgICAgICBjb25zb2xlLmxvZygiRkFJTDogTmV3IHdpbmRvdyBzaG91bGQg
bm90IGhhdmUgYW4gb3BlbmVyIik7CisgICAgZWxzZQorICAgICAgICBjb25zb2xlLmxvZygiUEFT
UzogTmV3IHdpbmRvdyBzaG91bGQgbm90IGhhdmUgYW4gb3BlbmVyIik7CisKKyAgICBvcGVuZXIg
PSBvcGVuKCIiLCAib3BlbmVyIik7IC8vIFNob3VsZCBvcGVuIGEgbmV3IHdpbmRvdy4KKyAgICBp
ZiAob3BlbmVyLmxvY2F0aW9uLmhyZWYgPT0gImFib3V0OmJsYW5rIikKKyAgICAgICAgY29uc29s
ZS5sb2coIlBBU1M6IE5ldyB3aW5kb3cgc2hvdWxkIGhhdmUgVVJMICdhYm91dDpibGFuayciKTsK
KyAgICBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCJGQUlMOiBOZXcgd2luZG93IHNob3VsZCBo
YXZlIFVSTCAnYWJvdXQ6YmxhbmsnIGJ1dCBnb3QgJyIgKyBvcGVuZXIubG9jYXRpb24uaHJlZiAr
ICInIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1y
ZWZlcnJlci1yZXNldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vbm8tcmVmZXJyZXItcmVzZXQtZXhwZWN0ZWQudHh0CmluZGV4IGFkYTFkMTZmMGQ2NzAz
Y2IyMjJlOGY1Mjc2OTQ4YTE1MzYxMzI0ZTQuLjBlYjIxZjc3MDllMjIxMjA2ZTkxMGJmYzA5YTM1
NzE1OGU2ZWQyYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9uby1yZWZlcnJlci1yZXNldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0LWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDUgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNTogUmVmZXJyZXI6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uby1yZWZlcnJlci1yZXNldC1oZWxwZXIucGhw
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTY6IHdpbmRvdy5vcGVuZXI6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0Lmh0bWwKIFRoaXMgdGVzdHMgd2hl
dGhlciByZWZlcnJlciBpbmZvcm1hdGlvbiBnZXRzIHByb3Blcmx5IHNldCBhbmQgcmVzZXQgd2hl
biAibm9yZWZlcnJlciIgbGlua3MgYXJlIHByZXNlbnQuIFdlIGRvIHRoZSBmb2xsb3dpbmc6CiAx
LiBPcGVuIGEgbGluayBpbiBhIG5ldyB3aW5kb3c6IHJlZmVycmVyIGlzIHNlbnQgYW5kIHdpbmRv
dy5vcGVuZXIgaXMgc2VudC4KIDIuIENsaWNrIGEgcmVsPSJub3JlZmVycmVyIiBsaW5rOiByZWZl
cnJlciBpcyBudWxsLCBidXQgd2luZG93Lm9wZW5lciByZW1haW5zIHNldCBzaW5jZSB0aGUgbGlu
ayB3YXMgbm90IG9wZW5lZCB3aXRoIHRhcmdldD0iX2JsYW5rIi4KQEAgLTcsNSArOSwzIEBAIFJl
ZmVycmVyOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9uby1yZWZlcnJlci1yZXNl
dC5odG1sCiB3aW5kb3cub3BlbmVyOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9u
by1yZWZlcnJlci1yZXNldC5odG1sCiBSZWZlcnJlcjoKIHdpbmRvdy5vcGVuZXI6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0Lmh0bWwKLVJlZmVycmVy
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbm8tcmVmZXJyZXIt
cmVzZXQtaGVscGVyLnBocAotd2luZG93Lm9wZW5lcjogaHR0cDovLzEyNy4wLjAuMTo4MDAwL25h
dmlnYXRpb24vbm8tcmVmZXJyZXItcmVzZXQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXN1YmZyYW1lLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1yZWZlcnJlci1zdWJmcmFtZS1l
eHBlY3RlZC50eHQKaW5kZXggOGY2Yjc5MDk5OTJhMjBkNGU5N2ZhZTllNWQ5OGFlZTIzODM5OGQz
ZS4uNmIxMDllYmZmMDIzODczMDdmYjg0Mzc4NWViOGY5MjlhMzI3YzMyOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXN1YmZyYW1lLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vbm8tcmVm
ZXJyZXItc3ViZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNSBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE1OiBSZWZlcnJlcjoKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxNjogd2luZG93
Lm9wZW5lcjogCiBUaGlzIHRlc3RzIGJlaGF2aW9yIG9mICJub3JlZmVycmVyIiBsaW5rcyBpbiBz
dWJmcmFtZXMuIEEgcmVmZXJyZXIgc2hvdWxkIG5vdCBiZSBzZW50IGFuZCB3aW5kb3cub3BlbmVy
IHNob3VsZCByZW1haW4gbnVsbC4KIExvYWQgc3ViZnJhbWUgCi1SZWZlcnJlcjoKLXdpbmRvdy5v
cGVuZXI6CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9u
by1yZWZlcnJlci10YXJnZXQtYmxhbmstZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXRhcmdldC1ibGFuay1leHBlY3RlZC50eHQKaW5k
ZXggNWMzMmU1ZTcxNjAzMGY2NzdmNTVkNTE0MmFiNDkwYzQyYmY1NDVkZi4uY2FhZGFiZThlMzg4
MjZmMmE4ZjFlMmEzMWEwNDhiODRlZGY5OTMyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXRhcmdldC1ibGFuay1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVyLXRhcmdl
dC1ibGFuay1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTU6IFJlZmVycmVyOgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE2OiB3aW5kb3cub3BlbmVy
OiAKIFRoaXMgdGVzdHMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlICJub3JlZmVycmVyIiBsaW5r
IHJlbGF0aW9uIG9uIGFuY2hvciB0YWdzLiBUaGUgbGluayBiZWxvdyBzaG91bGQgbm90IHNlbmQg
YW4gaHR0cCByZWZlcnJlciwgYW5kIHRoZSByZXN1bHRpbmcgd2luZG93IHNob3VsZCBoYXZlIGl0
cyBvcGVuZXIgYXR0cmlidXRlIHNldCB0byBudWxsLiBUaGUgdmFsdWVzIG9mIHRoZSByZWZlcnJl
ciBhbmQgd2luZG93Lm9wZW5lciBzaG91bGQgYmUgZW1wdHkgYmVsb3cuCiBTdGFydCBubyByZWZl
cnJlciB0ZXN0Ci1SZWZlcnJlcjoKLXdpbmRvdy5vcGVuZXI6CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbm8tcmVmZXJyZXItaGVscGVy
LnBocCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbm8tcmVm
ZXJyZXItaGVscGVyLnBocAppbmRleCBmZWE5M2RjODA5MDczYjMyN2ZlYzZlODIxNTBlMjk1Y2Yy
ZTQzMzMwLi41YzJhYmYzN2FhMzA5YTlkYjNiYjEzNDNjMjA4Y2IyNzBmMDBlNjE5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL25vLXJlZmVy
cmVyLWhlbHBlci5waHAKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jl
c291cmNlcy9uby1yZWZlcnJlci1oZWxwZXIucGhwCkBAIC0xOCwxMSArMTgsOCBAQCBmdW5jdGlv
biBsb2cobXNnKQogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJykuYXBwZW5k
Q2hpbGQobGluZSk7CiB9CiAKLSAgICB2YXIgY29uc29sZVdpbmRvdyA9IHdpbmRvdy5vcGVuKCIi
LCAiY29uc29sZVdpbmRvdyIpOwotICAgIGlmIChjb25zb2xlV2luZG93KSB7Ci0gICAgICAgIGNv
bnNvbGVXaW5kb3cubG9nKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZWZlcnJlciIpLmlubmVy
VGV4dCk7Ci0gICAgICAgIGNvbnNvbGVXaW5kb3cubG9nKCJ3aW5kb3cub3BlbmVyOiAiICsgKHdp
bmRvdy5vcGVuZXIgPyB3aW5kb3cub3BlbmVyLmxvY2F0aW9uIDogIiIpKTsKLSAgICB9CisgICAg
Y29uc29sZS5sb2coZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlZmVycmVyIikuaW5uZXJUZXh0
KTsKKyAgICBjb25zb2xlLmxvZygid2luZG93Lm9wZW5lcjogIiArICh3aW5kb3cub3BlbmVyID8g
d2luZG93Lm9wZW5lci5sb2NhdGlvbiA6ICIiKSk7CiAgICAgCiAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUtZXhw
ZWN0ZWQudHh0CmluZGV4IDBiNzc1NjE5YzNlMmY5M2I1YjgxNWQ3Y2UzNmI1NDZlZjMzZWM4MTYu
LjExZWRlNjViZTgwZGNmOWQ2MjgyNDBmYTg4MjgxZDE1MGRhMTFkMWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5kb3ctbmFtZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1l
LWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAzNzog
VW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFt
ZSB3aXRoIFVSTCAnJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAv
aHRtbC9icm93c2Vycy93aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUuaHRtbCcuIFRoZSBm
cmFtZSBhdHRlbXB0aW5nIG5hdmlnYXRpb24gaXMgbmVpdGhlciBzYW1lLW9yaWdpbiB3aXRoIHRo
ZSB0YXJnZXQsIG5vciBpcyBpdCB0aGUgdGFyZ2V0J3MgcGFyZW50IG9yIG9wZW5lci4KLQotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDM4OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRp
YXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICcnIGZyb20gZnJhbWUgd2l0aCBVUkwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13
aW5kb3ctbmFtZS5odG1sJy4gVGhlIGZyYW1lIGF0dGVtcHRpbmcgbmF2aWdhdGlvbiBpcyBuZWl0
aGVyIHNhbWUtb3JpZ2luIHdpdGggdGhlIHRhcmdldCwgbm9yIGlzIGl0IHRoZSB0YXJnZXQncyBw
YXJlbnQgb3Igb3BlbmVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzg6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
JycgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL2h0bWwvYnJvd3Nl
cnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLmh0bWwnLiBUaGUgZnJhbWUgYXR0ZW1w
dGluZyBuYXZpZ2F0aW9uIGlzIG5laXRoZXIgc2FtZS1vcmlnaW4gd2l0aCB0aGUgdGFyZ2V0LCBu
b3IgaXMgaXQgdGhlIHRhcmdldCdzIHBhcmVudCBvciBvcGVuZXIuCi0KIAogSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
d2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3drMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3Nl
cnMvd2luZG93cy9ub3JlZmVycmVyLXdpbmRvdy1uYW1lLWV4cGVjdGVkLnR4dAppbmRleCAwNjdl
ZDBhZDYwMzE2ZThlMzE3NmFkMjc0OThkMWU0ZTg5Y2ZlOWM3Li5jYmE1NzRmYjk3MDQyOTcwZjNj
ZGQ1NDlmYzJiMmMxZDEyZjg0MjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mv
bm9yZWZlcnJlci13aW5kb3ctbmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93
aW5kb3dzL25vcmVmZXJyZXItd2luZG93LW5hbWUtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBA
QAotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRl
IG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICcnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC9odG1sL2Jyb3dzZXJzL3dpbmRvd3Mvbm9yZWZlcnJlci13aW5k
b3ctbmFtZS5odG1sJy4gVGhlIGZyYW1lIGF0dGVtcHRpbmcgbmF2aWdhdGlvbiBpcyBuZWl0aGVy
IHNhbWUtb3JpZ2luIHdpdGggdGhlIHRhcmdldCwgbm9yIGlzIGl0IHRoZSB0YXJnZXQncyBwYXJl
bnQgb3Igb3BlbmVyLgotCiAKIEhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVs
bAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>