<?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>211645</bug_id>
          
          <creation_ts>2020-05-08 14:39:30 -0700</creation_ts>
          <short_desc>Enable the mock video presentation mode in related layout tests and fix test failures</short_desc>
          <delta_ts>2020-05-18 23:41:03 -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>Media</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>163291</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>bdakin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sergio</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1650775</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-08 14:39:30 -0700</bug_when>
    <thetext>Enable mock video presentation mode in layout test media/media-fullscreen-loop-inline.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650979</commentid>
    <comment_count>1</comment_count>
      <attachid>398943</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-09 16:11:23 -0700</bug_when>
    <thetext>Created attachment 398943
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650981</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-09 16:16:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/63057695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651047</commentid>
    <comment_count>3</comment_count>
      <attachid>398960</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-09 23:10:45 -0700</bug_when>
    <thetext>Created attachment 398960
WIP patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651096</commentid>
    <comment_count>4</comment_count>
      <attachid>398979</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-10 11:41:57 -0700</bug_when>
    <thetext>Created attachment 398979
WIP patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651127</commentid>
    <comment_count>5</comment_count>
      <attachid>398985</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-10 15:36:28 -0700</bug_when>
    <thetext>Created attachment 398985
WIP patch v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651187</commentid>
    <comment_count>6</comment_count>
      <attachid>398985</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-10 23:13:47 -0700</bug_when>
    <thetext>Comment on attachment 398985
WIP patch v4

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Enable the mock video presentation mode in related layout tests and fix test failures

This title is confusing. This is a patch that fixes some bugs in our media code. I think that ideally the bug title would make it clear what those bugs are, not just the technique used to test to find them.

Or does this patch&apos;s cleanup of internal state only relate to enabling more tests, and not fix any bugs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651333</commentid>
    <comment_count>7</comment_count>
      <attachid>398985</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 11:19:27 -0700</bug_when>
    <thetext>Comment on attachment 398985
WIP patch v4

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Enable the mock video presentation mode in related layout tests and fix test failures
&gt; 
&gt; This title is confusing. This is a patch that fixes some bugs in our media code. I think that ideally the bug title would make it clear what those bugs are, not just the technique used to test to find them.
&gt; 
&gt; Or does this patch&apos;s cleanup of internal state only relate to enabling more tests, and not fix any bugs?

Thanks for the reviewing and sorry for the confusing title.

Initially, this patch was to un-skip some tests competing resources (specifically Picture-in-Picture and video fullscreen) by enabling the mock video presentation mode. But after un-skipping these tests, I found other test flakiness (timeout and crash due to assertion failures). So the patch got bigger and bigger. To summary, this patch does the following things:

(1) Enable the mock video presentation mode for some tests related to picture-in-picture and video fullscreen to make sure they can run in parallel.
(2) Cleanup the internal state variables of HTMLMediaElement to fix an assertion failure in a special case only happens in the test (on Mac, and element fullscreen API is disabled).
(3) Fix a mistake in r202274 (again, the mistake only affects tests like item (2). 
(4) Update HTMLVideoElement::webkitDisplayingFullscreen() to fix the timing issue of some tests. The updated function returns true after the entering fullscreen/Picture-in-Picture is really completed. Many tests use that function to check state and proceed the test when its return value is changed.
(5) There are some minor clean-up in this patch as well, such as adding/fixing comments in the tests, and removing unnecessary code in HTMLMediaElement::exitFullscreen().

So this patch only fixes issues found in the tests and make the tests deterministic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651337</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-11 11:24:14 -0700</bug_when>
    <thetext>(In reply to Peng Liu from comment #7)
&gt; So this patch only fixes issues found in the tests and make the tests
&gt; deterministic.

OK, so to confirm, no benefit outside the tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651342</commentid>
    <comment_count>9</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 11:29:29 -0700</bug_when>
    <thetext>Correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651347</commentid>
    <comment_count>10</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 11:32:18 -0700</bug_when>
    <thetext>The issues fixed by this patch only affect tests as far as I know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651348</commentid>
    <comment_count>11</comment_count>
      <attachid>398985</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-11 11:34:19 -0700</bug_when>
    <thetext>Comment on attachment 398985
WIP patch v4

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

&gt; Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm:226
&gt; +    return (mode == HTMLMediaElementEnums::VideoFullscreenModeStandard) || (mode == HTMLMediaElementEnums::VideoFullscreenModePictureInPicture &amp;&amp; supportsPictureInPicture());

Too many parentheses here.

&gt; LayoutTests/media/media-fullscreen-loop-inline.html:22
&gt; +        window.internals.settings.setAllowsInlineMediaPlayback(false);
&gt; +        window.internals.settings.setAllowsInlineMediaPlaybackAfterFullscreen(true);
&gt; +        // Disable the Fullscreen API (element fullscreen) support
&gt; +        window.internals.settings.setFullScreenEnabled(false);
&gt; +        window.internals.setMockVideoPresentationModeEnabled(true);
&gt; +        window.internals.setMediaElementRestrictions(video, &quot;NoRestrictions&quot;);

These should all be just &quot;internals&quot;, not &quot;window.internals&quot;.

&gt; LayoutTests/media/media-fullscreen-pause-inline.html:23
&gt; +        window.internals.settings.setAllowsInlineMediaPlayback(false);
&gt; +        window.internals.settings.setAllowsInlineMediaPlaybackAfterFullscreen(true);
&gt; +        // Disable the Fullscreen API (element fullscreen) support
&gt; +        window.internals.settings.setFullScreenEnabled(false);
&gt; +        window.internals.setMockVideoPresentationModeEnabled(true);
&gt; +        window.internals.setMediaElementRestrictions(video, &quot;NoRestrictions&quot;);

Ditto.

&gt; LayoutTests/media/media-fullscreen-return-to-inline.html:23
&gt; +        window.internals.settings.setAllowsInlineMediaPlayback(false);
&gt; +        window.internals.settings.setAllowsInlineMediaPlaybackAfterFullscreen(false);
&gt; +        // Disable the Fullscreen API (element fullscreen) support
&gt; +        window.internals.settings.setFullScreenEnabled(false);
&gt; +        window.internals.setMockVideoPresentationModeEnabled(true);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651349</commentid>
    <comment_count>12</comment_count>
      <attachid>398985</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-11 11:35:44 -0700</bug_when>
    <thetext>Comment on attachment 398985
WIP patch v4

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

&gt;&gt; Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm:226
&gt;&gt; +    return (mode == HTMLMediaElementEnums::VideoFullscreenModeStandard) || (mode == HTMLMediaElementEnums::VideoFullscreenModePictureInPicture &amp;&amp; supportsPictureInPicture());
&gt; 
&gt; Too many parentheses here.

The second set make sense, but the first set aren’t needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651379</commentid>
    <comment_count>13</comment_count>
      <attachid>399044</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 12:29:51 -0700</bug_when>
    <thetext>Created attachment 399044
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651380</commentid>
    <comment_count>14</comment_count>
      <attachid>398985</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 12:33:30 -0700</bug_when>
    <thetext>Comment on attachment 398985
WIP patch v4

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

&gt;&gt;&gt; Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm:226
&gt;&gt;&gt; +    return (mode == HTMLMediaElementEnums::VideoFullscreenModeStandard) || (mode == HTMLMediaElementEnums::VideoFullscreenModePictureInPicture &amp;&amp; supportsPictureInPicture());
&gt;&gt; 
&gt;&gt; Too many parentheses here.
&gt; 
&gt; The second set make sense, but the first set aren’t needed.

Right, fixed.

&gt;&gt; LayoutTests/media/media-fullscreen-loop-inline.html:22
&gt;&gt; +        window.internals.setMediaElementRestrictions(video, &quot;NoRestrictions&quot;);
&gt; 
&gt; These should all be just &quot;internals&quot;, not &quot;window.internals&quot;.

Fixed.

&gt;&gt; LayoutTests/media/media-fullscreen-pause-inline.html:23
&gt;&gt; +        window.internals.setMediaElementRestrictions(video, &quot;NoRestrictions&quot;);
&gt; 
&gt; Ditto.

Fixed.

&gt;&gt; LayoutTests/media/media-fullscreen-return-to-inline.html:23
&gt;&gt; +        window.internals.setMockVideoPresentationModeEnabled(true);
&gt; 
&gt; Ditto.

Fixed.

&gt; LayoutTests/media/media-fullscreen-return-to-inline.html:47
&gt; +        window.internals.settings.setAllowsInlineMediaPlaybackAfterFullscreen(true);

Replaced the &quot;window.internals&quot; with &quot;internals&quot;.

&gt; LayoutTests/media/video-fullscreen-only-playback.html:23
&gt; +                window.internals.setMockVideoPresentationModeEnabled(true);

Replaced &quot;window.internals&quot; with &quot;internals&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651437</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-11 14:03:29 -0700</bug_when>
    <thetext>Committed r261493: &lt;https://trac.webkit.org/changeset/261493&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399044.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651440</commentid>
    <comment_count>16</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 14:14:45 -0700</bug_when>
    <thetext>*** Bug 175195 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651442</commentid>
    <comment_count>17</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 14:15:50 -0700</bug_when>
    <thetext>*** Bug 193399 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651444</commentid>
    <comment_count>18</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 14:16:16 -0700</bug_when>
    <thetext>*** Bug 187618 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651446</commentid>
    <comment_count>19</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 14:17:02 -0700</bug_when>
    <thetext>*** Bug 182571 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651448</commentid>
    <comment_count>20</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 14:17:38 -0700</bug_when>
    <thetext>*** Bug 137311 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651482</commentid>
    <comment_count>21</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 15:27:28 -0700</bug_when>
    <thetext>Reopen this bug to fix some build failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651486</commentid>
    <comment_count>22</comment_count>
      <attachid>399060</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-11 15:34:28 -0700</bug_when>
    <thetext>Created attachment 399060
A follow-up patch to fix build failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651508</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-11 16:13:07 -0700</bug_when>
    <thetext>Committed r261501: &lt;https://trac.webkit.org/changeset/261501&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399060.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653922</commentid>
    <comment_count>24</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-18 23:41:03 -0700</bug_when>
    <thetext>*** Bug 200957 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398943</attachid>
            <date>2020-05-09 16:11:23 -0700</date>
            <delta_ts>2020-05-09 23:10:43 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-211645-20200509161122.patch</filename>
            <type>text/plain</type>
            <size>30937</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UzYjJjNGVmYmU1YmZm
MTg1NzZlMmQ0MzQ2NzM3MjdkYjgzMjQ4NC4uZDJkODYwNWE1MDEwYmE1YzhkNzQyZmJhYmU3OGM5
N2RmOWFhYTExMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA1LTA5ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZp
ZGVvIHByZXNlbnRhdGlvbiBtb2RlIGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVz
dCBmYWlsdXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjExNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2xlYW4gdXAgdGhlIGludGVybmFsIHN0YXRlcyBvZiB2aWRlbyBlbGVtZW50IHJlZ2FyZGlu
ZyB2aWRlbyBwcmVzZW50YXRpb24gbW9kZQorICAgICAgICB0byBzaW1wbGlmeSB0aGUgdGFzayB0
byB3cml0ZSByZWxpYWJsZSBsYXlvdXQgdGVzdHMgZm9yIHZpZGVvIGZ1bGxzY3JlZW4gYW5kCisg
ICAgICAgIFBpY3R1cmUtaW4tUGljdHVyZS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojppc0Z1bGxzY3Jl
ZW4gY29uc3QpOgorICAgICAgICBpc0Z1bGxzY3JlZW4oKSB3aWxsIG9ubHkgcmV0dXJuIHRydWUg
YWZ0ZXIgdGhlIHByb2Nlc3MgdG8gZW50ZXIgZnVsbHNjcmVlbiBpcyBjb21wbGV0ZWQuCisKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbik6CisgICAg
ICAgIENoYW5nZSB0aGUgc3RhdGVzIGFmdGVyIHdlIGFyZSBzdXJlIHRoZSB2aWRlbyBlbGVtZW50
IHdpbGwgZW50ZXIgZnVsbHNjcmVlbi4KKwogMjAyMC0wNS0wOCAgQmFzdWtlIFN1enVraSAgPGJh
c3VrZS5zdXp1a2lAc29ueS5jb20+CiAKICAgICAgICAgRml4IGJ1aWxkIGVycm9yIG9uIFBsYXRT
dGF0aW9uIHBvcnQgYWZ0ZXIgcjI2MTEzMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5N2NmMGUxODk5Y2VmN2FiYWRl
Zjc2NzI1NWExMTI3ZGY1OGUxZmY1Li43NjMxY2M0NWNjMTZlMTY5MjYxMDI2Yzk1MjY0ZDk1ZjVh
NWVkMzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA1LTA5ICBQZW5nIExpdSAg
PHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZpZGVvIHBy
ZXNlbnRhdGlvbiBtb2RlIGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVzdCBmYWls
dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEx
NjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
IHRoZSBtaXN0YWtlIGluIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OnN1cHBvcnRzVmlkZW9GdWxs
c2NyZWVuKCkgaW50cm9kdWNlZCBpbiByMjAyMjc0LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyOjpzdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbiBjb25zdCk6CisKIDIwMjAt
MDUtMDggIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgZW1wdHkgZGlyZWN0b3JpZXMgZnJvbSBmcm9tIHN2bi53ZWJraXQub3JnIHJlcG9zaXRvcnkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGE5NTU1Y2Q4ZDFh
YjRkMTcyZmM0MDMyYzg3NzYwNjI2ZmY5OTA0YzIuLjA0NjI5YjFlMmJjYWM5ODA3OGZhMTE5ZjUz
NTZjMjc3NGM2MjQ5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNTk1MiwxMSArNTk1MiwxMSBAQCBkb3VibGUgSFRNTE1lZGlhRWxlbWVudDo6bWF4RmFz
dEZvcndhcmRSYXRlKCkgY29uc3QKIAogYm9vbCBIVE1MTWVkaWFFbGVtZW50Ojppc0Z1bGxzY3Jl
ZW4oKSBjb25zdAogewotICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxs
c2NyZWVuTW9kZU5vbmUpCisgICAgaWYgKCFtX3dhaXRpbmdUb0VudGVyRnVsbHNjcmVlbiAmJiBt
X3ZpZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIGlmIChkb2N1
bWVudCgpLmZ1bGxzY3JlZW5NYW5hZ2VyKCkuaXNGdWxsc2NyZWVuKCkgJiYgZG9jdW1lbnQoKS5m
dWxsc2NyZWVuTWFuYWdlcigpLmN1cnJlbnRGdWxsc2NyZWVuRWxlbWVudCgpID09IHRoaXMpCisg
ICAgaWYgKCFtX3dhaXRpbmdUb0VudGVyRnVsbHNjcmVlbiAmJiBkb2N1bWVudCgpLmZ1bGxzY3Jl
ZW5NYW5hZ2VyKCkuaXNGdWxsc2NyZWVuKCkgJiYgZG9jdW1lbnQoKS5mdWxsc2NyZWVuTWFuYWdl
cigpLmN1cnJlbnRGdWxsc2NyZWVuRWxlbWVudCgpID09IHRoaXMpCiAgICAgICAgIHJldHVybiB0
cnVlOwogI2VuZGlmCiAKQEAgLTU5ODksMTEgKzU5ODksMTAgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjplbnRlckZ1bGxzY3JlZW4oVmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlKQogICAgIGlmICht
X3ZpZGVvRnVsbHNjcmVlbk1vZGUgPT0gbW9kZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV90
ZW1wb3JhcmlseUFsbG93aW5nSW5saW5lUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gPSBmYWxzZTsK
LSAgICBtX3dhaXRpbmdUb0VudGVyRnVsbHNjcmVlbiA9IHRydWU7Ci0KICNpZiBFTkFCTEUoRlVM
TFNDUkVFTl9BUEkpICYmIEVOQUJMRShWSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikKICAg
ICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmZ1bGxTY3JlZW5FbmFibGVkKCkgJiYgbW9kZSA9
PSBWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpIHsKKyAgICAgICAgbV90ZW1wb3JhcmlseUFs
bG93aW5nSW5saW5lUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gPSBmYWxzZTsKKyAgICAgICAgbV93
YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4gPSB0cnVlOwogICAgICAgICBkb2N1bWVudCgpLmZ1bGxz
Y3JlZW5NYW5hZ2VyKCkucmVxdWVzdEZ1bGxzY3JlZW5Gb3JFbGVtZW50KHRoaXMsIEZ1bGxzY3Jl
ZW5NYW5hZ2VyOjpFeGVtcHRJRnJhbWVBbGxvd0Z1bGxzY3JlZW5SZXF1aXJlbWVudCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC02MDA1LDEyICs2MDA0LDE2IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuKFZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSkKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bGxzY3JlZW5Nb2RlQ2hhbmdl
ZChtb2RlKTsKLSAgICAgICAgY29uZmlndXJlTWVkaWFDb250cm9scygpOwogICAgICAgICBpZiAo
aXM8SFRNTFZpZGVvRWxlbWVudD4oKnRoaXMpKSB7CiAgICAgICAgICAgICBIVE1MVmlkZW9FbGVt
ZW50JiBhc1ZpZGVvID0gZG93bmNhc3Q8SFRNTFZpZGVvRWxlbWVudD4oKnRoaXMpOwotICAgICAg
ICAgICAgaWYgKGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zdXBwb3J0c1Zp
ZGVvRnVsbHNjcmVlbihtX3ZpZGVvRnVsbHNjcmVlbk1vZGUpKSB7Ci0gICAgICAgICAgICAgICAg
SU5GT19MT0coTE9HSURFTlRJRklFUiwgIkVudGVyaW5nIGZ1bGxzY3JlZW4gbW9kZSAiLCBtX3Zp
ZGVvRnVsbHNjcmVlbk1vZGUsICIsIG1fdmlkZW9GdWxsc2NyZWVuU3RhbmRieSA9ICIsIG1fdmlk
ZW9GdWxsc2NyZWVuU3RhbmRieSk7CisgICAgICAgICAgICBpZiAoZG9jdW1lbnQoKS5wYWdlKCkt
PmNocm9tZSgpLmNsaWVudCgpLnN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKG1vZGUpKSB7CisgICAg
ICAgICAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIkVudGVyaW5nIGZ1bGxzY3JlZW4g
bW9kZSAiLCBtb2RlLCAiLCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkgPSAiLCBtX3ZpZGVvRnVs
bHNjcmVlblN0YW5kYnkpOworCisgICAgICAgICAgICAgICAgbV90ZW1wb3JhcmlseUFsbG93aW5n
SW5saW5lUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBt
X3dhaXRpbmdUb0VudGVyRnVsbHNjcmVlbiA9IHRydWU7CisgICAgICAgICAgICAgICAgZnVsbHNj
cmVlbk1vZGVDaGFuZ2VkKG1vZGUpOworICAgICAgICAgICAgICAgIGNvbmZpZ3VyZU1lZGlhQ29u
dHJvbHMoKTsKKwogICAgICAgICAgICAgICAgIGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5j
bGllbnQoKS5lbnRlclZpZGVvRnVsbHNjcmVlbkZvclZpZGVvRWxlbWVudChhc1ZpZGVvLCBtX3Zp
ZGVvRnVsbHNjcmVlbk1vZGUsIG1fdmlkZW9GdWxsc2NyZWVuU3RhbmRieSk7CiAgICAgICAgICAg
ICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkud2Via2l0YmVnaW5mdWxsc2NyZWVuRXZl
bnQpOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQppbmRleCBmYmRkNGU5ODExNjA2MTQ3
ODQ4MmE5N2U0MzFhZjFmYjI2MmM4ZmRjLi40YTBlNjE5MTJhZTJjODZhNjI4ZGE1Y2JlZWJjZWIx
ZTNhMmQzMmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQpAQCAtMjIzLDcgKzIyMyw3IEBAIGJvb2wgVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlcjo6c3VwcG9ydHNWaWRlb0Z1bGxzY3JlZW4oV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudEVuCiAgICAgVU5VU0VEX1BBUkFNKG1vZGUpOwogICAgIHJldHVybiBEZXBy
ZWNhdGVkR2xvYmFsU2V0dGluZ3M6OmF2S2l0RW5hYmxlZCgpOwogI2Vsc2UKLSAgICByZXR1cm4g
bW9kZSA9PSBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJl
SW5QaWN0dXJlICYmIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgpOworICAgIHJldHVybiAobW9k
ZSA9PSBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCkg
fHwgKG1vZGUgPT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGlj
dHVyZUluUGljdHVyZSAmJiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKSk7CiAjZW5kaWYKIH0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDc2NjkzNmYwMzRkOTYzOWU2NzYxNWJkYTM1MGRlNmYzNWUxMDY5ZTguLjc0YmRh
NzIyMWM3OWQ4NzM0MTZmOGVjYWM3YjQ4YWZjNjExZWRlNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAyMC0wNS0wOSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAg
IEVuYWJsZSB0aGUgbW9jayB2aWRlbyBwcmVzZW50YXRpb24gbW9kZSBpbiByZWxhdGVkIGxheW91
dCB0ZXN0cyBhbmQgZml4IHRlc3QgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTY0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGlu
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlu
bGluZS5odG1sOgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5l
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlu
bGluZS5odG1sOgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlu
bGluZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1
cm4tdG8taW5saW5lLmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5
LXBsYXliYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1mdWxsc2NyZWVu
LW9ubHktcGxheWJhY2suaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDUtMDggIERhdmlk
IEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZW1wdHkgZGly
ZWN0b3JpZXMgZnJvbSBmcm9tIHN2bi53ZWJraXQub3JnIHJlcG9zaXRvcnkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS1leHBl
Y3RlZC50eHQKaW5kZXggMmMxZGUyYWZlNDE4OWYyMDgxNGNjYzI3MTE1OTZlMmEwZmI0YjM4Ni4u
NWEzMzdhM2UyM2U2ZjEyNmU5MWM1MzA5OTVmZjE1ZDViZGQwMWMxOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS1leHBl
Y3RlZC50eHQKQEAgLTEsMTkgKzEsMjQgQEAKIAotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRB
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKSkKLVJVTihpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKSkKLVJVTihp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpKQotUlVOKGludGVy
bmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIp
KQorVGVzdCB0aGF0IGEgPHZpZGVvPiBrZWVwcyBwbGF5aW5nIGFuZCBsb29waW5nIGFmdGVyIGV4
aXRpbmcgZnVsbHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9wZXJ0eSAiYWxsb3dzSW5saW5l
TWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgdHJ1ZS4KKwogUlVOKHZpZGVvLmxvb3Ag
PSB0cnVlKQogUlVOKHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQv
dGVzdCIpKQorRVZFTlQoY2FucGxheXRocm91Z2gpCiBSVU4odmlkZW8ucGxheSgpKQotRVZFTlQo
d2Via2l0YmVnaW5mdWxsc2NyZWVuKQorV2FpdCB0byBlbnRlciBmdWxsc2NyZWVuCitFVkVOVCh3
ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCkKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNw
bGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9LCitFbnRlcmVkIGZ1bGxzY3JlZW4KIFJVTih2
aWRlby5jdXJyZW50VGltZSA9IDUpCiBSVU4odmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKSkK
LUVWRU5UKHdlYmtpdGVuZGZ1bGxzY3JlZW4pCitXYWl0IHRvIGV4aXQgZnVsbHNjcmVlbgorRVZF
TlQod2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQpCitFWFBFQ1RFRCAodmlkZW8ud2Via2l0
RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykgT0sKK0V4aXRlZCBmdWxsc2NyZWVuCiBF
WFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICdmYWxzZScpIE9LCiBSVU4odmlkZW8ub250aW1ldXBk
YXRlID0gdGltZXVwZGF0ZSkKLVJVTih2aWRlby5vbnRpbWV1cGRhdGUgPSBudWxsKQogTG9vcGVk
CitSVU4odmlkZW8ub250aW1ldXBkYXRlID0gbnVsbCkKIEVYUEVDVEVEICh2aWRlby5wbGF5c0lu
bGluZSA9PSAnZmFsc2UnKSBPSwogRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAnZmFsc2UnKSBP
SwogRU5EIE9GIFRFU1QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxz
Y3JlZW4tbG9vcC1pbmxpbmUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3Jl
ZW4tbG9vcC1pbmxpbmUuaHRtbAppbmRleCBmYWQxY2ZiZTMxMjZhYmUzZDFiM2JmZjkwZGVmMjdk
MmEzNjdiYWJlLi4xNjU0ZWI4NjY2NDRhNDc2MjIxMzk4NWIzZjE0Zjg1NTYxNmM4YjMzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS5o
dG1sCkBAIC0xLDQ0ICsxLDYyIEBACiA8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIGVuYWJsZU1vZGVybk1lZGlhQ29udHJvbHM9ZmFsc2UgXSAtLT4KIDxodG1sPgogPGhl
YWQ+Ci0gICAgPHRpdGxlPm1lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZTwvdGl0bGU+
Ci0KKyAgICA8dGl0bGU+bWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZTwvdGl0bGU+CiAgICAg
PHNjcmlwdCBzcmM9InZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJt
ZWRpYS1maWxlLmpzIj48L3NjcmlwdD4KLQogICAgIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gZ28o
KQogICAgIHsKKyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICBm
YWlsVGVzdCgnVGhpcyB0ZXN0IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKwogICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7Ci0g
ICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJh
Y2soZmFsc2UpJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4odHJ1ZSknKTsKLSAgICAgICAgcnVuKCdp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpJyk7Ci0gICAgICAg
IHJ1bignaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIk5vUmVz
dHJpY3Rpb25zIiknKTsKKworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFs
bG93c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2UpOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4odHJ1
ZSk7CisgICAgICAgIC8vIERpc2FibGUgdGhlIEZ1bGxzY3JlZW4gQVBJIChlbGVtZW50IGZ1bGxz
Y3JlZW4pIHN1cHBvcnQKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRGdWxs
U2NyZWVuRW5hYmxlZChmYWxzZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0TW9ja1Zp
ZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQodHJ1ZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiTm9SZXN0cmljdGlvbnMiKTsK
KworICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdjYW5wbGF5dGhyb3VnaCcsIGNhbnBsYXl0aHJv
dWdoKTsKICAgICAgICAgcnVuKCd2aWRlby5sb29wID0gdHJ1ZScpOwogICAgICAgICBydW4oJ3Zp
ZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpJyk7Ci0gICAg
ICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdGJlZ2luZnVsbHNjcmVlbicsIGJlZ2luZnVsbHNj
cmVlbik7CisgICAgfQorCisgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKQorICAgIHsKKyAg
ICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnLCBi
ZWdpbmZ1bGxzY3JlZW4pOwogICAgICAgICBydW4oJ3ZpZGVvLnBsYXkoKScpOworICAgICAgICBj
b25zb2xlV3JpdGUoIldhaXQgdG8gZW50ZXIgZnVsbHNjcmVlbiIpOwogICAgIH0KIAotICAgIGZ1
bmN0aW9uIGJlZ2luZnVsbHNjcmVlbigpCisgICAgYXN5bmMgZnVuY3Rpb24gYmVnaW5mdWxsc2Ny
ZWVuKCkKICAgICB7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVv
LndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywgdHJ1ZSk7CisgICAgICAgIGNvbnNvbGVXcml0
ZSgiRW50ZXJlZCBmdWxsc2NyZWVuIik7CiAgICAgICAgIHJ1bigndmlkZW8uY3VycmVudFRpbWUg
PSA1Jyk7CiAgICAgICAgIHJ1bigndmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKScpOwotICAg
ICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRlbmRmdWxsc2NyZWVuJywgZW5kZnVsbHNjcmVl
bik7CisgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFu
Z2VkJywgZW5kZnVsbHNjcmVlbik7CisgICAgICAgIGNvbnNvbGVXcml0ZSgiV2FpdCB0byBleGl0
IGZ1bGxzY3JlZW4iKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKKyAg
ICBhc3luYyBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKICAgICB7CisgICAgICAgIGF3YWl0IHRl
c3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywg
ZmFsc2UpOworICAgICAgICBjb25zb2xlV3JpdGUoIkV4aXRlZCBmdWxsc2NyZWVuIik7CiAgICAg
ICAgIHRlc3RFeHBlY3RlZCgndmlkZW8ucGF1c2VkJywgZmFsc2UpOwogICAgICAgICBydW4oJ3Zp
ZGVvLm9udGltZXVwZGF0ZSA9IHRpbWV1cGRhdGUnKTsKLSAgICAgICAgd2FpdEZvckV2ZW50QW5k
RmFpbCgnd2Via2l0YmVnaW5mdWxsc2NyZWVuJyk7CisgICAgICAgIHdhaXRGb3JFdmVudEFuZEZh
aWwoJ3dlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkJyk7CiAgICAgfQogCiAgICAgZnVuY3Rp
b24gdGltZXVwZGF0ZSgpCiAgICAgewogICAgICAgICBpZiAodmlkZW8uY3VycmVudFRpbWUgPT0g
MCkgewotICAgICAgICAgICAgcnVuKCd2aWRlby5vbnRpbWV1cGRhdGUgPSBudWxsJyk7CiAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIkxvb3BlZCIpOworICAgICAgICAgICAgcnVuKCd2aWRlby5v
bnRpbWV1cGRhdGUgPSBudWxsJyk7CiAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBs
YXlzSW5saW5lJywgZmFsc2UpOwogICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiBsb29w
Q29tcGxldGVkKCkgewogICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCd2aWRlby5wYXVzZWQn
LCBmYWxzZSk7CkBAIC00NiwxMiArNjQsMTAgQEAKICAgICAgICAgICAgIH0sIDApOwogICAgICAg
ICB9CiAgICAgfQotCiAgICAgPC9zY3JpcHQ+Ci0KIDwvaGVhZD4KLQogPGJvZHkgb25sb2FkPSJn
bygpIj4KICAgICA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KKyAgICA8cD5UZXN0IHRoYXQgYSAm
bHQ7dmlkZW8mZ3Q7IGtlZXBzIHBsYXlpbmcgYW5kIGxvb3BpbmcgYWZ0ZXIgZXhpdGluZyBmdWxs
c2NyZWVuIHdoZW4gdGhlIGludGVybmFsIHByb3BlcnR5ICJhbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrQWZ0ZXJGdWxsc2NyZWVuIiBpcyB0cnVlLjwvcD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5s
aW5lLWV4cGVjdGVkLnR4dAppbmRleCAzZTJjYTZkZWIxY2NmYjE2NWJjZDZjZTQ1NzI0OTFmMjY1
OTdiOTIyLi4zYWJjOWUyOTJhNjQ2YmMyMGNjZjM5ZTdlOTIyYzMyODlkYTQyZTU1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1p
bmxpbmUtZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACiAKLVJVTihpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSkpCi1SVU4oaW50ZXJuYWxz
LnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4odHJ1
ZSkpCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5FbmFibGVkKGZhbHNlKSkK
LVJVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiTm9SZXN0
cmljdGlvbnMiKSkKK1Rlc3QgdGhhdCBhIDx2aWRlbz4ga2VlcHMgcGxheWluZyBhZnRlciBleGl0
aW5nIGZ1bGxzY3JlZW4gd2hlbiB0aGUgaW50ZXJuYWwgcHJvcGVydHkgImFsbG93c0lubGluZU1l
ZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4iIGlzIHRydWUuCisKIFJVTih2aWRlby5zcmMgPSBm
aW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKSkKK0VWRU5UKGNhbnBsYXl0aHJv
dWdoKQogUlVOKHZpZGVvLnBsYXkoKS50aGVuKHBsYXlpbmcpOykKIEVYUEVDVEVEICh2aWRlby53
ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9LCiBSVU4odmlkZW8ud2Via2l0
RXhpdEZ1bGxzY3JlZW4oKSkKLUVWRU5UKHdlYmtpdGVuZGZ1bGxzY3JlZW4pCitFVkVOVCh3ZWJr
aXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCkKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5
aW5nRnVsbHNjcmVlbiA9PSAnZmFsc2UnKSBPSwogRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAn
ZmFsc2UnKSBPSwogUlVOKHZpZGVvLnBhdXNlKCkpCiBFVkVOVChwYXVzZSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLmh0bWwgYi9M
YXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5odG1sCmluZGV4
IDg1OGU4ZjE3ZTg4NGRkZTMxZTcyNzkxNGY5YTVmNGI3ZmE3YmEwMGQuLjg5OTNjNjMxMDM1Y2Uy
M2Q4NmUyOWJmZGEyOTQyMTY3MDU1MWFhNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbApAQCAtMSw1NSArMSw2NiBAQAog
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVNb2Rlcm5NZWRp
YUNvbnRyb2xzPWZhbHNlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgotICAgIDx0aXRsZT5tZWRpYS1m
dWxsc2NyZWVuLXJldHVybi10by1pbmxpbmU8L3RpdGxlPgotCisgICAgPHRpdGxlPm1lZGlhLWZ1
bGxzY3JlZW4tcGF1c2UtaW5saW5lPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0idmlkZW8tdGVz
dC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Im1lZGlhLWZpbGUuanMiPjwvc2NyaXB0
PgogCiAgICAgPHNjcmlwdD4KICAgICBmdW5jdGlvbiBnbygpCiAgICAgeworICAgICAgICBpZiAo
IXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgIGZhaWxUZXN0KCdUaGlzIHRlc3QgcmVx
dWlyZXMgd2luZG93LmludGVybmFscy4nKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorCiAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSknKTsKLSAgICAgICAg
cnVuKCdpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVy
RnVsbHNjcmVlbih0cnVlKScpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5ncy5zZXRG
dWxsU2NyZWVuRW5hYmxlZChmYWxzZSknKTsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0TWVk
aWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiTm9SZXN0cmljdGlvbnMiKScpOworCisgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFj
ayhmYWxzZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5s
aW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKTsKKyAgICAgICAgLy8gRGlzYWJs
ZSB0aGUgRnVsbHNjcmVlbiBBUEkgKGVsZW1lbnQgZnVsbHNjcmVlbikgc3VwcG9ydAorICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5FbmFibGVkKGZhbHNlKTsK
KyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRNb2NrVmlkZW9QcmVzZW50YXRpb25Nb2RlRW5h
YmxlZCh0cnVlKTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0
cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpOworCisgICAgICAgIHdhaXRGb3JFdmVu
dE9uY2UoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gpOwogICAgICAgICBydW4oJ3Zp
ZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpJyk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKQorICAgIHsKICAgICAgICAgcnVuKCd2
aWRlby5wbGF5KCkudGhlbihwbGF5aW5nKTsnKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBwbGF5
aW5nKCkKKyAgICBhc3luYyBmdW5jdGlvbiBwbGF5aW5nKCkKICAgICB7Ci0gICAgICAgIHRlc3RF
eHBlY3RlZCgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCB0cnVlKTsKLSAgICAg
ICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0ZW5kZnVsbHNjcmVlbicsIGVuZGZ1bGxzY3JlZW4p
OworICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVudHVhbGx5KCd2aWRlby53ZWJraXREaXNw
bGF5aW5nRnVsbHNjcmVlbicsIHRydWUpOworICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJr
aXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGVuZGZ1bGxzY3JlZW4pOwogICAgICAgICBydW4o
J3ZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCknKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBl
bmRmdWxsc2NyZWVuKCkKKyAgICBhc3luYyBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKICAgICB7
CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3Bs
YXlpbmdGdWxsc2NyZWVuJywgZmFsc2UpOwogICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBh
dXNlZCcsIGZhbHNlKTsKLSAgICAgICAgcnVuKCd2aWRlby5wYXVzZSgpJyk7CiAgICAgICAgIHdh
aXRGb3JFdmVudE9uY2UoJ3BhdXNlJywgcGF1c2VkKTsKKyAgICAgICAgcnVuKCd2aWRlby5wYXVz
ZSgpJyk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gcGF1c2VkKCkKICAgICB7CiAgICAgICAgIHRl
c3RFeHBlY3RlZCgndmlkZW8ucGF1c2VkJywgdHJ1ZSk7Ci0gICAgICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKXsgcnVuKCd2aWRlby5wbGF5KCkudGhlbihwbGF5aW5nQWdhaW4pJyk7fSwgMCkKKyAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpeyBydW4oJ3ZpZGVvLnBsYXkoKS50aGVuKHBsYXlp
bmdBZ2FpbiknKTsgfSwgMCk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gcGxheWluZ0FnYWluKCkK
KyAgICBhc3luYyBmdW5jdGlvbiBwbGF5aW5nQWdhaW4oKQogICAgIHsKLQotICAgICAgICB0ZXN0
RXhwZWN0ZWQoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywgdHJ1ZSk7CisgICAg
ICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdG
dWxsc2NyZWVuJywgdHJ1ZSk7CiAgICAgICAgIGVuZFRlc3QoKTsKICAgICB9Ci0KICAgICA8L3Nj
cmlwdD4KLQogPC9oZWFkPgotCiA8Ym9keSBvbmxvYWQ9ImdvKCkiPgogICAgIDx2aWRlbyBjb250
cm9scz48L3ZpZGVvPgorICAgIDxwPlRlc3QgdGhhdCBhICZsdDt2aWRlbyZndDsga2VlcHMgcGxh
eWluZyBhZnRlciBleGl0aW5nIGZ1bGxzY3JlZW4gd2hlbiB0aGUgaW50ZXJuYWwgcHJvcGVydHkg
ImFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4iIGlzIHRydWUuPC9wPgog
PC9ib2R5PgotPC9odG1sPgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlu
bGluZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJl
dHVybi10by1pbmxpbmUtZXhwZWN0ZWQudHh0CmluZGV4IDNmNTY3OTU3NmI3YmYyMmI4YTU2NTlk
MmViM2IyZTVlMGVkMDQxNTMuLmFlODcyOWNlYjg5MWYyMmUxZWMxMThkMjYwMThlMzhmMjgxN2Yw
YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJu
LXRvLWlubGluZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVs
bHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSwyMSBAQAog
Ci1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soZmFs
c2UpKQotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNr
QWZ0ZXJGdWxsc2NyZWVuKGZhbHNlKSkKK1Rlc3QgdGhhdCBhIDx2aWRlbz4gcGF1c2VzIGFmdGVy
IGV4aXRpbmcgZnVsbHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9wZXJ0eSAiYWxsb3dzSW5s
aW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgZmFsc2UuCisKIFJVTih2aWRlby5z
cmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKSkKIEVWRU5UKGNhbnBs
YXl0aHJvdWdoKQogUlVOKHZpZGVvLnBsYXkoKSkKLUVWRU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFu
Z2UpCitFVkVOVCh3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCkKK0VYUEVDVEVEICh2aWRl
by53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9LCiBSVU4odmlkZW8ud2Vi
a2l0RXhpdEZ1bGxzY3JlZW4oKSkKIEVWRU5UKHBhdXNlKQotUlVOKGludGVybmFscy5zZXR0aW5n
cy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKHRydWUpKQorRVhQ
RUNURUQgKHZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuID09ICdmYWxzZScpIE9LCitF
WFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICd0cnVlJykgT0sKIFJVTih2aWRlby5wbGF5KCkpCi1F
VkVOVCh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKQorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9k
ZWNoYW5nZWQpCitFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0g
J3RydWUnKSBPSwogUlVOKHZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCkpCi1FVkVOVCh3ZWJr
aXRmdWxsc2NyZWVuY2hhbmdlKQorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQp
CitFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykg
T0sKIEVYUEVDVEVEICh2aWRlby5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sKIEVORCBPRiBURVNUCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRv
LWlubGluZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4t
dG8taW5saW5lLmh0bWwKaW5kZXggYzViNjc2MmM1NTZiNmYxMmRjY2U4MWNlYzVjZGJiOTIzZWQw
MjEwMi4uN2ZmODJlMWZjMWVlNWZlY2Q2MDA5MTA2NjlmOGZiMGU1ZGVjMjAzYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5s
aW5lLmh0bWwKQEAgLTksNDggKzksNjUgQEAKICAgICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdv
KCkKICAgICB7CisgICAgICAgIGlmICghd2luZG93LmludGVybmFscykgeworICAgICAgICAgICAg
ZmFpbFRlc3QoJ1RoaXMgdGVzdCByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwot
ICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrKGZhbHNlKScpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKGZhbHNlKScpOwotICAgICAgICBydW4o
J3ZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpJyk7CisK
KyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrKGZhbHNlKTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKGZhbHNlKTsKKyAgICAgICAgLy8g
RGlzYWJsZSB0aGUgRnVsbHNjcmVlbiBBUEkgKGVsZW1lbnQgZnVsbHNjcmVlbikgc3VwcG9ydAor
ICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5FbmFibGVkKGZh
bHNlKTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRNb2NrVmlkZW9QcmVzZW50YXRpb25N
b2RlRW5hYmxlZCh0cnVlKTsKKwogICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdjYW5wbGF5dGhy
b3VnaCcsIGNhbnBsYXl0aHJvdWdoKTsKKyAgICAgICAgcnVuKCd2aWRlby5zcmMgPSBmaW5kTWVk
aWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKScpOwogICAgIH0KIAogICAgIGZ1bmN0aW9u
IGNhbnBsYXl0aHJvdWdoKCkKICAgICB7CisgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtp
dHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkJywgYmVnaW5mdWxsc2NyZWVuMSk7CiAgICAgICAgIHJ1
bldpdGhLZXlEb3duKCd2aWRlby5wbGF5KCknKTsKLSAgICAgICAgd2FpdEZvckV2ZW50T25jZSgn
d2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGJlZ2luZnVsbHNjcmVlbjEpOwogICAgIH0KIAotICAg
IGZ1bmN0aW9uIGJlZ2luZnVsbHNjcmVlbjEoKQorICAgIGFzeW5jIGZ1bmN0aW9uIGJlZ2luZnVs
bHNjcmVlbjEoKQogICAgIHsKLSAgICAgICAgcnVuKCd2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVl
bigpJyk7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtp
dERpc3BsYXlpbmdGdWxsc2NyZWVuJywgdHJ1ZSk7CiAgICAgICAgIHdhaXRGb3JFdmVudE9uY2Uo
J3BhdXNlJywgcGF1c2UpOworICAgICAgICBydW4oJ3ZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVu
KCknKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBwYXVzZSgpCisgICAgYXN5bmMgZnVuY3Rpb24g
cGF1c2UoKQogICAgIHsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKScpOworICAgICAgICBhd2Fp
dCB0ZXN0RXhwZWN0ZWRFdmVudHVhbGx5KCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVl
bicsIGZhbHNlKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCd2aWRlby5wYXVzZWQnLCB0cnVlKTsK
KworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlh
UGxheWJhY2tBZnRlckZ1bGxzY3JlZW4odHJ1ZSk7CisKKyAgICAgICAgd2FpdEZvckV2ZW50T25j
ZSgnd2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnLCBiZWdpbmZ1bGxzY3JlZW4yKTsKICAg
ICAgICAgcnVuV2l0aEtleURvd24oJ3ZpZGVvLnBsYXkoKScpOwotICAgICAgICB3YWl0Rm9yRXZl
bnRPbmNlKCd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgYmVnaW5mdWxsc2NyZWVuMik7CiAgICAg
fQogCi0gICAgZnVuY3Rpb24gYmVnaW5mdWxsc2NyZWVuMigpCisgICAgYXN5bmMgZnVuY3Rpb24g
YmVnaW5mdWxsc2NyZWVuMigpCiAgICAgeworICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVu
dHVhbGx5KCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIHRydWUpOworICAgICAg
ICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGVuZGZ1
bGxzY3JlZW4pOwogICAgICAgICBydW4oJ3ZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCknKTsK
LSAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGVuZGZ1
bGxzY3JlZW4pOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQorICAgIGFz
eW5jIGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQogICAgIHsKKyAgICAgICAgYXdhaXQgdGVzdEV4
cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCBmYWxz
ZSk7CiAgICAgICAgIHRlc3RFeHBlY3RlZCgndmlkZW8ucGF1c2VkJywgZmFsc2UpOwogICAgICAg
ICBlbmRUZXN0KCk7CiAgICAgfQogICAgIDwvc2NyaXB0PgotCiA8L2hlYWQ+CiAKIDxib2R5IG9u
bG9hZD0iZ28oKSI+Ci0gICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+CisgICAgPHZpZGVvIGNv
bnRyb2xzIGxvb3A+PC92aWRlbz4KKyAgICA8cD5UZXN0IHRoYXQgYSAmbHQ7dmlkZW8mZ3Q7IHBh
dXNlcyBhZnRlciBleGl0aW5nIGZ1bGxzY3JlZW4gd2hlbiB0aGUgaW50ZXJuYWwgcHJvcGVydHkg
ImFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4iIGlzIGZhbHNlLjwvcD4K
IDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1
bGxzY3JlZW4tb25seS1wbGF5YmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS92
aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2stZXhwZWN0ZWQudHh0CmluZGV4IDMzNzI0ZjBi
NjIzYTE0YmY3NTJjNGFhYzQwNDVmY2FkMjc5YjQ3MmIuLmMxNzJiNTJlZjQ2NDQzM2QyOTg4ZTk2
MzY5OTM3MTFmMWM4MzMzMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1
bGxzY3JlZW4tb25seS1wbGF5YmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwxOCAr
MSwxOCBAQAogCi1UZXN0IHBsYXkoKSB3aGVuIDx2aWRlbz4gcGxheWJhY2sgcmVxdWlyZXMgZnVs
bHNjcmVlbi4KK1Rlc3QgdGhlIHBsYXkoKSBmdW5jdGlvbiBvZiA8dmlkZW8+IHdoZW4gZnVsbHNj
cmVlbiBpcyByZXF1aXJlZC4KIAotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrKGZhbHNlKSkKIAogRVZFTlQoY2FucGxheXRocm91Z2gpCiBFWFBFQ1RF
RCAodmlkZW8ud2Via2l0U3VwcG9ydHNGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKIEVYUEVDVEVE
ICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAnZmFsc2UnKSBPSwotCi0qKiBD
bGlja2luZyAncGxheScgYnV0dG9uLi4uCitSVU4odmlkZW8ucGxheSgpKQogRVZFTlQocGxheWlu
ZykKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1ZScp
IE9LCiAKICoqIEVudGVyZWQgZnVsbHNjcmVlbgotRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3Bs
YXlpbmdGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKIFJVTih2aWRlby53ZWJraXRFeGl0RnVsbFNj
cmVlbigpKQorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQpCitFWFBFQ1RFRCAo
dmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykgT0sKIAogKiogRXhp
dGVkIGZ1bGxzY3JlZW4KIEVORCBPRiBURVNUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRp
YS92aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2suaHRtbCBiL0xheW91dFRlc3RzL21lZGlh
L3ZpZGVvLWZ1bGxzY3JlZW4tb25seS1wbGF5YmFjay5odG1sCmluZGV4IGY2ZjlkNmI3NzliZDA2
Nzk5YmQ4OGM5YTE2NjdmNWYxZGE2OGE2YzYuLmU4ZTljYTE5MzdkMmI0ZTQwM2EwNjE4MmEwNmNj
MWZjMmJiMjc2OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1bGxzY3Jl
ZW4tb25seS1wbGF5YmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1bGxz
Y3JlZW4tb25seS1wbGF5YmFjay5odG1sCkBAIC0xLDI4ICsxLDI4IEBACi08IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIGVuYWJsZU1vZGVybk1lZGlhQ29udHJvbHM9ZmFsc2UgXSAtLT4KKzwhRE9D
VFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlTW9kZXJuTWVkaWFDb250
cm9scz1mYWxzZSBdIC0tPgogPGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxzY3JpcHQgc3Jj
PW1lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3Qu
anM+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPW1lZGlhLWNvbnRyb2xzLmpzPjwvc2Ny
aXB0PgogICAgICAgICA8c2NyaXB0PgotCi0gICAgICAgICAgICBmdW5jdGlvbiBmdWxsc2NyZWVu
Y2hhbmdlKCkKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdElzRnVsbFNjcmVlbikKLSAgICAgICAg
ICAgICAgICAgICAgZW5kZnVsbHNjcmVlbigpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGlmICghd2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgICAgICAgICBmYWlsVGVz
dCgnVGhpcyB0ZXN0IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9u
IHBsYXlpbmcoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
PGJyPioqIEVudGVyZWQgZnVsbHNjcmVlbiIpOwotICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgidmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCB0cnVlKTsKLSAgICAgICAgICAg
ICAgICBydW4oInZpZGVvLndlYmtpdEV4aXRGdWxsU2NyZWVuKCkiKTsKLSAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2
aWRlbycpWzBdOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgiY2FucGxheXRocm91Z2gi
LCBjYW5wbGF5dGhyb3VnaCk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5n
JywgcGxheWluZyk7CisgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgi
dmlkZW8iLCAiY29udGVudC90ZXN0Iik7CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGVuZGZ1bGxz
Y3JlZW4oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJy
PioqIEV4aXRlZCBmdWxsc2NyZWVuIik7Ci0gICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFjayhmYWxzZSk7CisgICAgICAgICAgICAgICAgLy8gRGlzYWJsZSB0aGUgRnVsbHNj
cmVlbiBBUEkgKGVsZW1lbnQgZnVsbHNjcmVlbikgc3VwcG9ydAorICAgICAgICAgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpOworICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0TW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9k
ZUVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpCkBAIC0z
MCw0MSArMzAsMzMgQEAKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLndlYmtp
dFN1cHBvcnRzRnVsbHNjcmVlbiIsIHRydWUpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgidmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCBmYWxzZSk7CiAKLSAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBDbGlja2luZyBcJ3BsYXlcJyBidXR0b24uLi4i
KTsKLQogICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsaWNrUGxh
eUJ1dHRvbih2aWRlbyk7CisgICAgICAgICAgICAgICAgICAgIHJ1bldpdGhLZXlEb3duKCJ2aWRl
by5wbGF5KCkiKTsKICAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKICAgICAg
ICAgICAgICAgICAgICAgZmFpbFRlc3QoZXhjZXB0aW9uLmRlc2NyaXB0aW9uKTsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAot
Ci0gICAgICAgICAgICBmdW5jdGlvbiBzdGFydCgpCisgICAgICAgICAgICBhc3luYyBmdW5jdGlv
biBwbGF5aW5nKCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpZiAoIXdpbmRvdy5p
bnRlcm5hbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoJ1RoaXMgdGVzdCByZXF1
aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVswXTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoImNhbnBsYXl0aHJvdWdoIiwgY2FucGxheXRocm91Z2gpOwotICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgncGxheWluZycsIHBsYXlpbmcpOwotCi0gICAgICAgICAgICAgICAgdmlkZW8u
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZW5kZnVsbHNjcmVlbicsIGVuZGZ1bGxzY3JlZW4sIHRy
dWUpOwotICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGZ1bGxz
Y3JlZW5jaGFuZ2UnLCBmdWxsc2NyZWVuY2hhbmdlLCB0cnVlKTsKLQotICAgICAgICAgICAgICAg
IHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpOworICAg
ICAgICAgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoInZpZGVvLndlYmtpdERp
c3BsYXlpbmdGdWxsc2NyZWVuIiwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCI8YnI+KiogRW50ZXJlZCBmdWxsc2NyZWVuIik7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50KCd3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGVuZGZ1bGxzY3JlZW4pOworICAg
ICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0RXhpdEZ1bGxTY3JlZW4oKSIpOworICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICAgICAgcnVuKCJpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSkiKTsKLSAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIiIpOworICAgICAgICAgICAgYXN5bmMgZnVuY3Rpb24gZW5kZnVsbHNjcmVlbigpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxs
eSgidmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCBmYWxzZSk7CisgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogRXhpdGVkIGZ1bGxzY3JlZW4iKTsKKyAgICAgICAg
ICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIDwvc2NyaXB0PgogICAg
IDwvaGVhZD4KIAogICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+CiAgICAgICAgIDx2aWRlbyBj
b250cm9scz48L3ZpZGVvPgotICAgICAgICA8cD5UZXN0IHBsYXkoKSB3aGVuICZsdDt2aWRlbyZn
dDsgcGxheWJhY2sgcmVxdWlyZXMgZnVsbHNjcmVlbi48L3A+CisgICAgICAgIDxwPlRlc3QgdGhl
IHBsYXkoKSBmdW5jdGlvbiBvZiAmbHQ7dmlkZW8mZ3Q7IHdoZW4gZnVsbHNjcmVlbiBpcyByZXF1
aXJlZC48L3A+CiAgICAgPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCAxMjU3NjRlMzI3YjQ3N2Q1YzhlOTI5YWU3N2JkMDNlODAy
YzQwMTIzLi41MDBlNDllMmJiNWFiZTkwZDkxMmVhMDYxM2YxZjE5OGQwYzU0MGRiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjQzMCw3ICsyNDMwLDYg
QEAgbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1pbmxpbmUuaHRtbAogd2Via2l0Lm9yZy9iLzEzNjcw
OCBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLW5vdC1pbi1kb2N1bWVudC5odG1sCiAKIG1lZGlhL21l
ZGlhLWNvbnRyb2xzLWFjY2Vzc2liaWxpdHkuaHRtbCBbIFRpbWVvdXQgXQotbWVkaWEvbWVkaWEt
ZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLmh0bWwKIG1lZGlhL25vLWF1dG9wbGF5LXdpdGgt
dXNlci1nZXN0dXJlLXJlcXVpcmVtZW50Lmh0bWwKIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWRyYWcu
aHRtbAogbWVkaWEvdmlkZW8tY29udHJvbHMtZnVsbHNjcmVlbi12b2x1bWUuaHRtbApAQCAtMjU2
Nyw3ICsyNTY2LDYgQEAgd2Via2l0Lm9yZy9iLzE2MjY0NyBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L29uYWJvcnQtcmVzcG9uc2UtZ2V0dGVycy5odG1sIFsgUGEKIHdlYmtpdC5vcmcvYi8xNjMy
OTEgbWVkaWEvcmVxdWlyZS11c2VyLWdlc3R1cmUtdG8tbG9hZC12aWRlby5odG1sCiB3ZWJraXQu
b3JnL2IvMTYzMjkxIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLXRyYW5zZm9ybWVkLmh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8xNjMyOTEgbWVkaWEvdmlkZW8tY29udHJvbHMtdmlzaWJsZS1h
dWRpby1vbmx5Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNjMyOTEgbWVkaWEvdmlk
ZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNrLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcv
Yi8xNjMyOTEgbWVkaWEvdmlkZW8tcGxheS1hdWRpby1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1s
IFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTYzMjkxIG1lZGlhL3ZpZGVvLXBsYXktcmVxdWly
ZS11c2VyLWdlc3R1cmUuaHRtbAogCkBAIC0zMTU2LDExICszMTU0LDYgQEAgZmFzdC9ncmFkaWVu
dHMvY29uaWMtdHdvLWhpbnRzLmh0bWwgWyBQYXNzIF0KICMgPHJkYXI6Ly9wcm9ibGVtLzM2NDU1
MzM5PiBMYXlvdXRUZXN0IGNvbXBvc2l0aW5nL2lvcy9vdmVyZmxvdy1zY3JvbGwtdG91Y2gtdGls
ZXMuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKIGNvbXBvc2l0aW5nL2lvcy9vdmVyZmxvdy1zY3Jv
bGwtdG91Y2gtdGlsZXMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLSMgPHJkYXI6Ly9wcm9ibGVt
LzQxNTQ2OTcwPiBSRUdSRVNTSU9OOiBMYXlvdXRUZXN0IG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4t
bG9vcC1pbmxpbmUuaHRtbCBpcyBhIGZsYWt5IHRpbWVvdXQKLW1lZGlhL21lZGlhLWZ1bGxzY3Jl
ZW4tbG9vcC1pbmxpbmUuaHRtbCBbIFBhc3MgVGltZW91dCBdCi0KLXdlYmtpdC5vcmcvYi8xODc2
MTggWyBSZWxlYXNlIF0gbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCi0KICMgRGlzYWJsZWQgZ2xvYmFsbHkuCiBodHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L2d6aXAtY29udGVudC10eXBlLW5vLWNvbnRlbnQtZW5jb2RpbmcuaHRtbCBbIFBh
c3MgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggYjEzYzNiNmU1MTMxYWE0NzUzZTc3YzMxZjQ5MzI3MGZhNGYwMmFkMS4uMGRjYWJmZmEy
MWRiMjJhYWIyY2ZjNGQ5ZDRiNmM1MTY3MTI5ZjQyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQxLDEwICszNDEsNiBAQCB3ZWJraXQu
b3JnL2IvMTUwNTQyIGZhc3QvZm9ybXMvc3RhdGUtcmVzdG9yZS1wZXItZm9ybS5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KIAogd2Via2l0Lm9yZy9iLzE1MTcwOSBbIFJlbGVhc2UgXSBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3dvcmtlcnMvbWV0aG9kcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIAot
IyBWaWRlbyBmdWxsc2NyZWVuIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgbWFjIHdrMiBpbiB3ZWJr
aXR0ZXN0cnVubmVyCi1tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwgWyBT
a2lwIF0KLW1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLmh0bWwgWyBTa2lwIF0K
LQogIyMjIEVORCBPRiAoMSkgQ2xhc3NpZmllZCBmYWlsdXJlcyB3aXRoIGJ1ZyByZXBvcnRzCiAj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMmEwZTIwZTBkNGE1Y2QwZGU5N2U5ZDIz
MjljMmI5MzJjZTc1NjA5YS4uYzhjYjliY2NmMjcwMjQ5NWE4Nzg2YTcwMmNhMWFkZjhhZWE3ODYz
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc1OSw3
ICs3NTksNiBAQCB3ZWJraXQub3JnL2IvMTMzNjg2IG1lZGlhL3RyYWNrL3czYy9pbnRlcmZhY2Vz
L1RleHRUcmFja0N1ZS9hbGlnbi5odG1sIFsgUGFzcyBGYQogd2Via2l0Lm9yZy9iLzEzNTA3MSBt
ZWRpYS92aWRlby1zZWVrLXdpdGgtbmVnYXRpdmUtcGxheWJhY2suaHRtbCBbIFBhc3MgVGltZW91
dCBdCiB3ZWJraXQub3JnL2IvMTM1MTYwIG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3VidGl0
bGVzLXRvby1sYXJnZS5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTM1MTYwIG1lZGlh
L3RyYWNrL3RyYWNrLWxvbmctd29yZC1jb250YWluZXItc2l6aW5nLmh0bWwgWyBGYWlsdXJlIF0K
LXdlYmtpdC5vcmcvYi8xMzczMTEgbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNr
Lmh0bWwgWyBQYXNzIFRpbWVvdXQgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzEzOTc4OSBtZWRpYS9t
ZWRpYS1jb250cm9scy10aW1lbGluZS11cGRhdGVzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzEzOTgyNSBtZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBhdXNlZC5odG1sIFsg
UGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNDEwODQgaHR0cC90ZXN0cy9tZWRpYS92aWRl
by1wcmVsb2FkLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQpAQCAtMTY0MSw4ICsxNjQwLDYgQEAgd2Vi
a2l0Lm9yZy9iLzE4OTY4MCBwbGF0Zm9ybS9tYWMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29y
eS12aWRlby1wYXVzZWQuaHRtbAogd2Via2l0Lm9yZy9iLzE5NTQ2NiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvcmVhZHktc3RhdGVzL2F1dG9wbGF5Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzE5NTQ2NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXJyb3ItY29kZXMvZXJyb3IuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8xOTMzOTkgbWVkaWEvbWVkaWEtZnVs
bHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotCiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1vay13aXRoLWxlZ2FjeS1zZWMtd2Vi
c29ja2V0LXJlc3BvbnNlLWhlYWRlcnMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5v
cmcvYi8xOTU0NjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L3RoZS1pbWctZWxlbWVudC9zaXplcy9wYXJzZS1hLXNpemVzLWF0
dHJpYnV0ZS13aWR0aC0xMDAwcHguaHRtbCBbIFBhc3MgRmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398960</attachid>
            <date>2020-05-09 23:10:45 -0700</date>
            <delta_ts>2020-05-10 11:41:55 -0700</delta_ts>
            <desc>WIP patch v2</desc>
            <filename>bug-211645-20200509231044.patch</filename>
            <type>text/plain</type>
            <size>31532</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UzYjJjNGVmYmU1YmZm
MTg1NzZlMmQ0MzQ2NzM3MjdkYjgzMjQ4NC4uNDg3YmNjNjc1ZWQxM2E1ZGQ3ZGVmOGRjYjczMDU1
YmJlODRiYWIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA1LTA5ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZp
ZGVvIHByZXNlbnRhdGlvbiBtb2RlIGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVz
dCBmYWlsdXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjExNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2xlYW4gdXAgdGhlIGludGVybmFsIHN0YXRlcyBvZiB2aWRlbyBlbGVtZW50IHJlZ2FyZGlu
ZyB2aWRlbyBwcmVzZW50YXRpb24gbW9kZQorICAgICAgICB0byBzaW1wbGlmeSB0aGUgdGFzayB0
byB3cml0ZSByZWxpYWJsZSBsYXlvdXQgdGVzdHMgZm9yIHZpZGVvIGZ1bGxzY3JlZW4gYW5kCisg
ICAgICAgIFBpY3R1cmUtaW4tUGljdHVyZS4KKworICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuKToKKyAgICAgICAgQ2hhbmdlIHRoZSBzdGF0ZXMgYWZ0
ZXIgd2UgYXJlIHN1cmUgdGhlIHZpZGVvIGVsZW1lbnQgd2lsbCBlbnRlciBmdWxsc2NyZWVuLgor
CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50Ojp3YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4pOgorICAgICAgICAqIGh0
bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVt
ZW50Ojp3ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbik6CisgICAgICAgIFRoZSBmdW5jdGlvbiB3
ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbigpIHdpbGwgcmV0dXJuIHRydWUgYWZ0ZXIgdGhlIHBy
b2Nlc3MKKyAgICAgICAgdG8gZW50ZXIgZnVsbHNjcmVlbiBpcyBjb21wbGV0ZWQuCisKIDIwMjAt
MDUtMDggIEJhc3VrZSBTdXp1a2kgIDxiYXN1a2Uuc3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAg
IEZpeCBidWlsZCBlcnJvciBvbiBQbGF0U3RhdGlvbiBwb3J0IGFmdGVyIHIyNjExMzIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggOTdjZjBlMTg5OWNlZjdhYmFkZWY3NjcyNTVhMTEyN2RmNThlMWZmNS4uNzYzMWNjNDVj
YzE2ZTE2OTI2MTAyNmM5NTI2NGQ5NWY1YTVlZDM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAyMC0wNS0wOSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAg
IEVuYWJsZSB0aGUgbW9jayB2aWRlbyBwcmVzZW50YXRpb24gbW9kZSBpbiByZWxhdGVkIGxheW91
dCB0ZXN0cyBhbmQgZml4IHRlc3QgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTY0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0aGUgbWlzdGFrZSBpbiBWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyOjpzdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbigpIGludHJvZHVjZWQgaW4gcjIwMjI3NC4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbToK
KyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6c3VwcG9ydHNWaWRlb0Z1
bGxzY3JlZW4gY29uc3QpOgorCiAyMDIwLTA1LTA4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGVtcHR5IGRpcmVjdG9yaWVzIGZyb20gZnJvbSBz
dm4ud2Via2l0Lm9yZyByZXBvc2l0b3J5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAppbmRleCBhOTU1NWNkOGQxYWI0ZDE3MmZjNDAzMmM4Nzc2MDYyNmZmOTkwNGMyLi4w
NGRjNTBiZGU0ZWQ2YTg2NmIxNzUyYTNhMDZjNDNiY2ZlYTM0YmYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTU5ODksMTEgKzU5ODksMTAgQEAgdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4oVmlkZW9GdWxsc2NyZWVuTW9kZSBtb2Rl
KQogICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgPT0gbW9kZSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgbV90ZW1wb3JhcmlseUFsbG93aW5nSW5saW5lUGxheWJhY2tBZnRlckZ1bGxzY3Jl
ZW4gPSBmYWxzZTsKLSAgICBtX3dhaXRpbmdUb0VudGVyRnVsbHNjcmVlbiA9IHRydWU7Ci0KICNp
ZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpICYmIEVOQUJMRShWSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikKICAgICBpZiAoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmZ1bGxTY3JlZW5FbmFibGVk
KCkgJiYgbW9kZSA9PSBWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpIHsKKyAgICAgICAgbV90
ZW1wb3JhcmlseUFsbG93aW5nSW5saW5lUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gPSBmYWxzZTsK
KyAgICAgICAgbV93YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4gPSB0cnVlOwogICAgICAgICBkb2N1
bWVudCgpLmZ1bGxzY3JlZW5NYW5hZ2VyKCkucmVxdWVzdEZ1bGxzY3JlZW5Gb3JFbGVtZW50KHRo
aXMsIEZ1bGxzY3JlZW5NYW5hZ2VyOjpFeGVtcHRJRnJhbWVBbGxvd0Z1bGxzY3JlZW5SZXF1aXJl
bWVudCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02MDA1LDEyICs2MDA0LDE2IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuKFZpZGVvRnVsbHNjcmVlbk1vZGUg
bW9kZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bGxzY3Jl
ZW5Nb2RlQ2hhbmdlZChtb2RlKTsKLSAgICAgICAgY29uZmlndXJlTWVkaWFDb250cm9scygpOwog
ICAgICAgICBpZiAoaXM8SFRNTFZpZGVvRWxlbWVudD4oKnRoaXMpKSB7CiAgICAgICAgICAgICBI
VE1MVmlkZW9FbGVtZW50JiBhc1ZpZGVvID0gZG93bmNhc3Q8SFRNTFZpZGVvRWxlbWVudD4oKnRo
aXMpOwotICAgICAgICAgICAgaWYgKGRvY3VtZW50KCkucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQo
KS5zdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbihtX3ZpZGVvRnVsbHNjcmVlbk1vZGUpKSB7Ci0gICAg
ICAgICAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIkVudGVyaW5nIGZ1bGxzY3JlZW4g
bW9kZSAiLCBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUsICIsIG1fdmlkZW9GdWxsc2NyZWVuU3RhbmRi
eSA9ICIsIG1fdmlkZW9GdWxsc2NyZWVuU3RhbmRieSk7CisgICAgICAgICAgICBpZiAoZG9jdW1l
bnQoKS5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKG1v
ZGUpKSB7CisgICAgICAgICAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIkVudGVyaW5n
IGZ1bGxzY3JlZW4gbW9kZSAiLCBtb2RlLCAiLCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkgPSAi
LCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkpOworCisgICAgICAgICAgICAgICAgbV90ZW1wb3Jh
cmlseUFsbG93aW5nSW5saW5lUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gPSBmYWxzZTsKKyAgICAg
ICAgICAgICAgICBtX3dhaXRpbmdUb0VudGVyRnVsbHNjcmVlbiA9IHRydWU7CisgICAgICAgICAg
ICAgICAgZnVsbHNjcmVlbk1vZGVDaGFuZ2VkKG1vZGUpOworICAgICAgICAgICAgICAgIGNvbmZp
Z3VyZU1lZGlhQ29udHJvbHMoKTsKKwogICAgICAgICAgICAgICAgIGRvY3VtZW50KCkucGFnZSgp
LT5jaHJvbWUoKS5jbGllbnQoKS5lbnRlclZpZGVvRnVsbHNjcmVlbkZvclZpZGVvRWxlbWVudChh
c1ZpZGVvLCBtX3ZpZGVvRnVsbHNjcmVlbk1vZGUsIG1fdmlkZW9GdWxsc2NyZWVuU3RhbmRieSk7
CiAgICAgICAgICAgICAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkud2Via2l0YmVnaW5m
dWxsc2NyZWVuRXZlbnQpOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAppbmRleCAyNzY0YWEzY2ViMjU4MDlhMGZhMzhlOTM3OTk3MzNhNGZjZWMxOTI5
Li4yYjY4ZGU4OGZjODBjYmY0MWU4MmNmYjU5ZjQyYzA5NjgyOTc2NTM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNjE0LDYgKzYxNCw3IEBAIHByb3RlY3RlZDoK
ICAgICB2b2lkIHVwZGF0ZU1lZGlhQ29udHJvbHNBZnRlclByZXNlbnRhdGlvbk1vZGVDaGFuZ2Uo
KTsKIAogICAgIHZvaWQgc2NoZWR1bGVFdmVudChjb25zdCBBdG9tU3RyaW5nJik7CisgICAgYm9v
bCB3YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4oKSB7IHJldHVybiBtX3dhaXRpbmdUb0VudGVyRnVs
bHNjcmVlbjsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlTWVkaWFQbGF5ZXIoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCmluZGV4IDFiNjRmYjI4YmNlYzIw
MTY3YjRkZTU1NWZjYmFjYjVmZDQzYzI1YTIuLjNmMjczZmM1ZjhhNzMxMDQxZThkZDRmNTBhYjQ2
YjZkYjc4MWI1YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcApA
QCAtMzQ2LDcgKzM0Niw3IEBAIGJvb2wgSFRNTFZpZGVvRWxlbWVudDo6d2Via2l0U3VwcG9ydHNG
dWxsc2NyZWVuKCkKIAogYm9vbCBIVE1MVmlkZW9FbGVtZW50Ojp3ZWJraXREaXNwbGF5aW5nRnVs
bHNjcmVlbigpCiB7Ci0gICAgcmV0dXJuIGlzRnVsbHNjcmVlbigpOworICAgIHJldHVybiBpc0Z1
bGxzY3JlZW4oKSAmJiAhd2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVuKCk7CiB9CiAKIHZvaWQgSFRN
TFZpZGVvRWxlbWVudDo6YW5jZXN0b3JXaWxsRW50ZXJGdWxsc2NyZWVuKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIu
bW0KaW5kZXggZmJkZDRlOTgxMTYwNjE0Nzg0ODJhOTdlNDMxYWYxZmIyNjJjOGZkYy4uNGEwZTYx
OTEyYWUyYzg2YTYyOGRhNWNiZWViY2ViMWUzYTJkMzJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KQEAg
LTIyMyw3ICsyMjMsNyBAQCBib29sIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OnN1cHBvcnRzVmlk
ZW9GdWxsc2NyZWVuKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbgogICAgIFVOVVNFRF9QQVJB
TShtb2RlKTsKICAgICByZXR1cm4gRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzOjphdktpdEVuYWJs
ZWQoKTsKICNlbHNlCi0gICAgcmV0dXJuIG1vZGUgPT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSAmJiBzdXBwb3J0c1BpY3R1cmVJblBp
Y3R1cmUoKTsKKyAgICByZXR1cm4gKG1vZGUgPT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRl
b0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpIHx8IChtb2RlID09IEhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUgJiYgc3VwcG9ydHNQaWN0dXJl
SW5QaWN0dXJlKCkpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NjY5MzZmMDM0ZDk2MzllNjc2MTVi
ZGEzNTBkZTZmMzVlMTA2OWU4Li43NGJkYTcyMjFjNzlkODczNDE2ZjhlY2FjN2I0OGFmYzYxMWVk
ZTVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMDUtMDkgIFBlbmcgTGl1ICA8cGVuZy5s
aXU2QGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgdGhlIG1vY2sgdmlkZW8gcHJlc2VudGF0
aW9uIG1vZGUgaW4gcmVsYXRlZCBsYXlvdXQgdGVzdHMgYW5kIGZpeCB0ZXN0IGZhaWx1cmVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE2NDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlhL21l
ZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlh
L21lZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUuaHRtbDoKKyAgICAgICAgKiBtZWRpYS9tZWRp
YS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEv
bWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbDoKKyAgICAgICAgKiBtZWRpYS9tZWRp
YS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1l
ZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS5odG1sOgorICAgICAgICAqIG1l
ZGlhL3ZpZGVvLWZ1bGxzY3JlZW4tb25seS1wbGF5YmFjay1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNrLmh0bWw6CisgICAgICAgICog
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zOgorCiAyMDIwLTA1LTA4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIGVtcHR5IGRpcmVjdG9yaWVzIGZyb20gZnJvbSBzdm4ud2Via2l0Lm9y
ZyByZXBvc2l0b3J5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2Ny
ZWVuLWxvb3AtaW5saW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1
bGxzY3JlZW4tbG9vcC1pbmxpbmUtZXhwZWN0ZWQudHh0CmluZGV4IDJjMWRlMmFmZTQxODlmMjA4
MTRjY2MyNzExNTk2ZTJhMGZiNGIzODYuLjVhMzM3YTNlMjNlNmYxMjZlOTFjNTMwOTk1ZmYxNWQ1
YmRkMDFjMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4t
bG9vcC1pbmxpbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1
bGxzY3JlZW4tbG9vcC1pbmxpbmUtZXhwZWN0ZWQudHh0CkBAIC0xLDE5ICsxLDI0IEBACiAKLVJV
TihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSkp
Ci1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRl
ckZ1bGxzY3JlZW4odHJ1ZSkpCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5F
bmFibGVkKGZhbHNlKSkKLVJVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25z
KHZpZGVvLCAiTm9SZXN0cmljdGlvbnMiKSkKK1Rlc3QgdGhhdCBhIDx2aWRlbz4ga2VlcHMgcGxh
eWluZyBhbmQgbG9vcGluZyBhZnRlciBleGl0aW5nIGZ1bGxzY3JlZW4gd2hlbiB0aGUgaW50ZXJu
YWwgcHJvcGVydHkgImFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4iIGlz
IHRydWUuCisKIFJVTih2aWRlby5sb29wID0gdHJ1ZSkKIFJVTih2aWRlby5zcmMgPSBmaW5kTWVk
aWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKSkKK0VWRU5UKGNhbnBsYXl0aHJvdWdoKQog
UlVOKHZpZGVvLnBsYXkoKSkKLUVWRU5UKHdlYmtpdGJlZ2luZnVsbHNjcmVlbikKK1dhaXQgdG8g
ZW50ZXIgZnVsbHNjcmVlbgorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQpCitF
WFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ3RydWUnKSBPSwor
RW50ZXJlZCBmdWxsc2NyZWVuCiBSVU4odmlkZW8uY3VycmVudFRpbWUgPSA1KQogUlVOKHZpZGVv
LndlYmtpdEV4aXRGdWxsc2NyZWVuKCkpCi1FVkVOVCh3ZWJraXRlbmRmdWxsc2NyZWVuKQorV2Fp
dCB0byBleGl0IGZ1bGxzY3JlZW4KK0VWRU5UKHdlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2Vk
KQorRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuID09ICdmYWxzZScp
IE9LCitFeGl0ZWQgZnVsbHNjcmVlbgogRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAnZmFsc2Un
KSBPSwogUlVOKHZpZGVvLm9udGltZXVwZGF0ZSA9IHRpbWV1cGRhdGUpCi1SVU4odmlkZW8ub250
aW1ldXBkYXRlID0gbnVsbCkKIExvb3BlZAorUlVOKHZpZGVvLm9udGltZXVwZGF0ZSA9IG51bGwp
CiBFWFBFQ1RFRCAodmlkZW8ucGxheXNJbmxpbmUgPT0gJ2ZhbHNlJykgT0sKIEVYUEVDVEVEICh2
aWRlby5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sKIEVORCBPRiBURVNUCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwgYi9MYXlvdXRU
ZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwKaW5kZXggZmFkMWNm
YmUzMTI2YWJlM2QxYjNiZmY5MGRlZjI3ZDJhMzY3YmFiZS4uMTY1NGViODY2NjQ0YTQ3NjIyMTM5
ODViM2YxNGY4NTU2MTZjOGIzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEt
ZnVsbHNjcmVlbi1sb29wLWlubGluZS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUuaHRtbApAQCAtMSw0NCArMSw2MiBAQAogPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xz
PWZhbHNlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgotICAgIDx0aXRsZT5tZWRpYS1mdWxsc2NyZWVu
LXJldHVybi10by1pbmxpbmU8L3RpdGxlPgotCisgICAgPHRpdGxlPm1lZGlhLWZ1bGxzY3JlZW4t
bG9vcC1pbmxpbmU8L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSJ2aWRlby10ZXN0LmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtZmlsZS5qcyI+PC9zY3JpcHQ+Ci0KICAgICA8
c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdvKCkKICAgICB7CisgICAgICAgIGlmICghd2luZG93Lmlu
dGVybmFscykgeworICAgICAgICAgICAgZmFpbFRlc3QoJ1RoaXMgdGVzdCByZXF1aXJlcyB3aW5k
b3cuaW50ZXJuYWxzLicpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAg
ICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5ncy5z
ZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKScpOwotICAgICAgICBydW4oJ2ludGVy
bmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVu
KHRydWUpJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5F
bmFibGVkKGZhbHNlKScpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1lbnRS
ZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpJyk7CisKKyAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKTsK
KyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrQWZ0ZXJGdWxsc2NyZWVuKHRydWUpOworICAgICAgICAvLyBEaXNhYmxlIHRoZSBGdWxs
c2NyZWVuIEFQSSAoZWxlbWVudCBmdWxsc2NyZWVuKSBzdXBwb3J0CisgICAgICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpOworICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldE1vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFibGVkKHRydWUp
OworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2
aWRlbywgIk5vUmVzdHJpY3Rpb25zIik7CisKKyAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnY2Fu
cGxheXRocm91Z2gnLCBjYW5wbGF5dGhyb3VnaCk7CiAgICAgICAgIHJ1bigndmlkZW8ubG9vcCA9
IHRydWUnKTsKICAgICAgICAgcnVuKCd2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIs
ICJjb250ZW50L3Rlc3QiKScpOwotICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRiZWdp
bmZ1bGxzY3JlZW4nLCBiZWdpbmZ1bGxzY3JlZW4pOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNh
bnBsYXl0aHJvdWdoKCkKKyAgICB7CisgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdHBy
ZXNlbnRhdGlvbm1vZGVjaGFuZ2VkJywgYmVnaW5mdWxsc2NyZWVuKTsKICAgICAgICAgcnVuKCd2
aWRlby5wbGF5KCknKTsKKyAgICAgICAgY29uc29sZVdyaXRlKCJXYWl0IHRvIGVudGVyIGZ1bGxz
Y3JlZW4iKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBiZWdpbmZ1bGxzY3JlZW4oKQorICAgIGFz
eW5jIGZ1bmN0aW9uIGJlZ2luZnVsbHNjcmVlbigpCiAgICAgeworICAgICAgICBhd2FpdCB0ZXN0
RXhwZWN0ZWRFdmVudHVhbGx5KCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIHRy
dWUpOworICAgICAgICBjb25zb2xlV3JpdGUoIkVudGVyZWQgZnVsbHNjcmVlbiIpOwogICAgICAg
ICBydW4oJ3ZpZGVvLmN1cnJlbnRUaW1lID0gNScpOwogICAgICAgICBydW4oJ3ZpZGVvLndlYmtp
dEV4aXRGdWxsc2NyZWVuKCknKTsKLSAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0ZW5k
ZnVsbHNjcmVlbicsIGVuZGZ1bGxzY3JlZW4pOworICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3
ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGVuZGZ1bGxzY3JlZW4pOworICAgICAgICBj
b25zb2xlV3JpdGUoIldhaXQgdG8gZXhpdCBmdWxsc2NyZWVuIik7CiAgICAgfQogCi0gICAgZnVu
Y3Rpb24gZW5kZnVsbHNjcmVlbigpCisgICAgYXN5bmMgZnVuY3Rpb24gZW5kZnVsbHNjcmVlbigp
CiAgICAgeworICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVudHVhbGx5KCd2aWRlby53ZWJr
aXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIGZhbHNlKTsKKyAgICAgICAgY29uc29sZVdyaXRlKCJF
eGl0ZWQgZnVsbHNjcmVlbiIpOwogICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcs
IGZhbHNlKTsKICAgICAgICAgcnVuKCd2aWRlby5vbnRpbWV1cGRhdGUgPSB0aW1ldXBkYXRlJyk7
Ci0gICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ3dlYmtpdGJlZ2luZnVsbHNjcmVlbicpOwor
ICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCd3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdl
ZCcpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRpbWV1cGRhdGUoKQogICAgIHsKICAgICAgICAg
aWYgKHZpZGVvLmN1cnJlbnRUaW1lID09IDApIHsKLSAgICAgICAgICAgIHJ1bigndmlkZW8ub250
aW1ldXBkYXRlID0gbnVsbCcpOwogICAgICAgICAgICAgY29uc29sZVdyaXRlKCJMb29wZWQiKTsK
KyAgICAgICAgICAgIHJ1bigndmlkZW8ub250aW1ldXBkYXRlID0gbnVsbCcpOwogICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCd2aWRlby5wbGF5c0lubGluZScsIGZhbHNlKTsKICAgICAgICAgICAg
IHNldFRpbWVvdXQoZnVuY3Rpb24gbG9vcENvbXBsZXRlZCgpIHsKICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgndmlkZW8ucGF1c2VkJywgZmFsc2UpOwpAQCAtNDYsMTIgKzY0LDEwIEBACiAg
ICAgICAgICAgICB9LCAwKTsKICAgICAgICAgfQogICAgIH0KLQogICAgIDwvc2NyaXB0PgotCiA8
L2hlYWQ+Ci0KIDxib2R5IG9ubG9hZD0iZ28oKSI+CiAgICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlk
ZW8+CisgICAgPHA+VGVzdCB0aGF0IGEgJmx0O3ZpZGVvJmd0OyBrZWVwcyBwbGF5aW5nIGFuZCBs
b29waW5nIGFmdGVyIGV4aXRpbmcgZnVsbHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9wZXJ0
eSAiYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgdHJ1ZS48L3A+
CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1m
dWxsc2NyZWVuLXBhdXNlLWlubGluZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9t
ZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS1leHBlY3RlZC50eHQKaW5kZXggM2UyY2E2ZGVi
MWNjZmIxNjViY2Q2Y2U0NTcyNDkxZjI2NTk3YjkyMi4uM2FiYzllMjkyYTY0NmJjMjBjY2YzOWU3
ZTkyMmMzMjg5ZGE0MmU1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVs
bHNjcmVlbi1wYXVzZS1pbmxpbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLWV4cGVjdGVkLnR4dApAQCAtMSwxMyArMSwx
MyBAQAogCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJh
Y2soZmFsc2UpKQotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrQWZ0ZXJGdWxsc2NyZWVuKHRydWUpKQotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRG
dWxsU2NyZWVuRW5hYmxlZChmYWxzZSkpCi1SVU4oaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJl
c3RyaWN0aW9ucyh2aWRlbywgIk5vUmVzdHJpY3Rpb25zIikpCitUZXN0IHRoYXQgYSA8dmlkZW8+
IGtlZXBzIHBsYXlpbmcgYWZ0ZXIgZXhpdGluZyBmdWxsc2NyZWVuIHdoZW4gdGhlIGludGVybmFs
IHByb3BlcnR5ICJhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuIiBpcyB0
cnVlLgorCiBSVU4odmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90
ZXN0IikpCitFVkVOVChjYW5wbGF5dGhyb3VnaCkKIFJVTih2aWRlby5wbGF5KCkudGhlbihwbGF5
aW5nKTspCiBFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ3Ry
dWUnKSBPSwogUlVOKHZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCkpCi1FVkVOVCh3ZWJraXRl
bmRmdWxsc2NyZWVuKQorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQpCitFWFBF
Q1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykgT0sKIEVY
UEVDVEVEICh2aWRlby5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sKIFJVTih2aWRlby5wYXVzZSgpKQog
RVZFTlQocGF1c2UpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2Ny
ZWVuLXBhdXNlLWlubGluZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVl
bi1wYXVzZS1pbmxpbmUuaHRtbAppbmRleCA4NThlOGYxN2U4ODRkZGUzMWU3Mjc5MTRmOWE1ZjRi
N2ZhN2JhMDBkLi44OTkzYzYzMTAzNWNlMjNkODZlMjliZmRhMjk0MjE2NzA1NTFhYTZkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5l
Lmh0bWwKQEAgLTEsNTUgKzEsNjYgQEAKIDwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZW5hYmxlTW9kZXJuTWVkaWFDb250cm9scz1mYWxzZSBdIC0tPgogPGh0bWw+CiA8
aGVhZD4KLSAgICA8dGl0bGU+bWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5lPC90aXRs
ZT4KLQorICAgIDx0aXRsZT5tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZTwvdGl0bGU+CiAg
ICAgPHNjcmlwdCBzcmM9InZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJtZWRpYS1maWxlLmpzIj48L3NjcmlwdD4KIAogICAgIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24g
Z28oKQogICAgIHsKKyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAg
ICBmYWlsVGVzdCgnVGhpcyB0ZXN0IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwogICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7
Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2soZmFsc2UpJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93
c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4odHJ1ZSknKTsKLSAgICAgICAgcnVu
KCdpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpJyk7Ci0gICAg
ICAgIHJ1bignaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIk5v
UmVzdHJpY3Rpb25zIiknKTsKKworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2UpOworICAgICAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4o
dHJ1ZSk7CisgICAgICAgIC8vIERpc2FibGUgdGhlIEZ1bGxzY3JlZW4gQVBJIChlbGVtZW50IGZ1
bGxzY3JlZW4pIHN1cHBvcnQKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRG
dWxsU2NyZWVuRW5hYmxlZChmYWxzZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0TW9j
a1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQodHJ1ZSk7CisgICAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiTm9SZXN0cmljdGlvbnMi
KTsKKworICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdjYW5wbGF5dGhyb3VnaCcsIGNhbnBsYXl0
aHJvdWdoKTsKICAgICAgICAgcnVuKCd2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIs
ICJjb250ZW50L3Rlc3QiKScpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdo
KCkKKyAgICB7CiAgICAgICAgIHJ1bigndmlkZW8ucGxheSgpLnRoZW4ocGxheWluZyk7Jyk7CiAg
ICAgfQogCi0gICAgZnVuY3Rpb24gcGxheWluZygpCisgICAgYXN5bmMgZnVuY3Rpb24gcGxheWlu
ZygpCiAgICAgewotICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdG
dWxsc2NyZWVuJywgdHJ1ZSk7Ci0gICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdGVuZGZ1
bGxzY3JlZW4nLCBlbmRmdWxsc2NyZWVuKTsKKyAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZl
bnR1YWxseSgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCB0cnVlKTsKKyAgICAg
ICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnLCBlbmRm
dWxsc2NyZWVuKTsKICAgICAgICAgcnVuKCd2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpJyk7
CiAgICAgfQogCi0gICAgZnVuY3Rpb24gZW5kZnVsbHNjcmVlbigpCisgICAgYXN5bmMgZnVuY3Rp
b24gZW5kZnVsbHNjcmVlbigpCiAgICAgeworICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVu
dHVhbGx5KCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIGZhbHNlKTsKICAgICAg
ICAgdGVzdEV4cGVjdGVkKCd2aWRlby5wYXVzZWQnLCBmYWxzZSk7Ci0gICAgICAgIHJ1bigndmlk
ZW8ucGF1c2UoKScpOwogICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdwYXVzZScsIHBhdXNlZCk7
CisgICAgICAgIHJ1bigndmlkZW8ucGF1c2UoKScpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHBh
dXNlZCgpCiAgICAgewogICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcsIHRydWUp
OwotICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IHJ1bigndmlkZW8ucGxheSgpLnRoZW4o
cGxheWluZ0FnYWluKScpO30sIDApCisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgcnVu
KCd2aWRlby5wbGF5KCkudGhlbihwbGF5aW5nQWdhaW4pJyk7IH0sIDApOwogICAgIH0KIAotICAg
IGZ1bmN0aW9uIHBsYXlpbmdBZ2FpbigpCisgICAgYXN5bmMgZnVuY3Rpb24gcGxheWluZ0FnYWlu
KCkKICAgICB7Ci0KLSAgICAgICAgdGVzdEV4cGVjdGVkKCd2aWRlby53ZWJraXREaXNwbGF5aW5n
RnVsbHNjcmVlbicsIHRydWUpOworICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVudHVhbGx5
KCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIHRydWUpOwogICAgICAgICBlbmRU
ZXN0KCk7CiAgICAgfQotCiAgICAgPC9zY3JpcHQ+Ci0KIDwvaGVhZD4KLQogPGJvZHkgb25sb2Fk
PSJnbygpIj4KICAgICA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KKyAgICA8cD5UZXN0IHRoYXQg
YSAmbHQ7dmlkZW8mZ3Q7IGtlZXBzIHBsYXlpbmcgYWZ0ZXIgZXhpdGluZyBmdWxsc2NyZWVuIHdo
ZW4gdGhlIGludGVybmFsIHByb3BlcnR5ICJhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJG
dWxsc2NyZWVuIiBpcyB0cnVlLjwvcD4KIDwvYm9keT4KLTwvaHRtbD4KKzwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLWV4cGVjdGVkLnR4dAppbmRl
eCAzZjU2Nzk1NzZiN2JmMjJiOGE1NjU5ZDJlYjNiMmU1ZTBlZDA0MTUzLi5hZTg3MjljZWI4OTFm
MjJlMWVjMTE4ZDI2MDE4ZTM4ZjI4MTdmMGFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS1leHBlY3Rl
ZC50eHQKQEAgLTEsMTcgKzEsMjEgQEAKIAotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRBbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKSkKLVJVTihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihmYWxzZSkpCitUZXN0IHRo
YXQgYSA8dmlkZW8+IHBhdXNlcyBhZnRlciBleGl0aW5nIGZ1bGxzY3JlZW4gd2hlbiB0aGUgaW50
ZXJuYWwgcHJvcGVydHkgImFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4i
IGlzIGZhbHNlLgorCiBSVU4odmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29u
dGVudC90ZXN0IikpCiBFVkVOVChjYW5wbGF5dGhyb3VnaCkKIFJVTih2aWRlby5wbGF5KCkpCi1F
VkVOVCh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKQorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9k
ZWNoYW5nZWQpCitFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0g
J3RydWUnKSBPSwogUlVOKHZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCkpCiBFVkVOVChwYXVz
ZSkKLVJVTihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0Fm
dGVyRnVsbHNjcmVlbih0cnVlKSkKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVs
bHNjcmVlbiA9PSAnZmFsc2UnKSBPSworRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAndHJ1ZScp
IE9LCiBSVU4odmlkZW8ucGxheSgpKQotRVZFTlQod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkKK0VW
RU5UKHdlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKQorRVhQRUNURUQgKHZpZGVvLndlYmtp
dERpc3BsYXlpbmdGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKIFJVTih2aWRlby53ZWJraXRFeGl0
RnVsbHNjcmVlbigpKQotRVZFTlQod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkKK0VWRU5UKHdlYmtp
dHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKQorRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3BsYXlp
bmdGdWxsc2NyZWVuID09ICdmYWxzZScpIE9LCiBFWFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICdm
YWxzZScpIE9LCiBFTkQgT0YgVEVTVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9t
ZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS5odG1sCmluZGV4IGM1YjY3NjJjNTU2
YjZmMTJkY2NlODFjZWM1Y2RiYjkyM2VkMDIxMDIuLjdmZjgyZTFmYzFlZTVmZWNkNjAwOTEwNjY5
ZjhmYjBlNWRlYzIwM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxz
Y3JlZW4tcmV0dXJuLXRvLWlubGluZS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS5odG1sCkBAIC05LDQ4ICs5LDY1IEBACiAgICAg
PHNjcmlwdD4KICAgICBmdW5jdGlvbiBnbygpCiAgICAgeworICAgICAgICBpZiAoIXdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICAgICAgICAgIGZhaWxUZXN0KCdUaGlzIHRlc3QgcmVxdWlyZXMgd2lu
ZG93LmludGVybmFscy4nKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCiAgICAg
ICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSknKTsKLSAgICAgICAgcnVuKCdpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVl
bihmYWxzZSknKTsKLSAgICAgICAgcnVuKCd2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRl
byIsICJjb250ZW50L3Rlc3QiKScpOworCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSk7CisgICAgICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNj
cmVlbihmYWxzZSk7CisgICAgICAgIC8vIERpc2FibGUgdGhlIEZ1bGxzY3JlZW4gQVBJIChlbGVt
ZW50IGZ1bGxzY3JlZW4pIHN1cHBvcnQKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRGdWxsU2NyZWVuRW5hYmxlZChmYWxzZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0TW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQodHJ1ZSk7CisKICAgICAgICAgd2Fp
dEZvckV2ZW50T25jZSgnY2FucGxheXRocm91Z2gnLCBjYW5wbGF5dGhyb3VnaCk7CisgICAgICAg
IHJ1bigndmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0Iikn
KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpCiAgICAgeworICAgICAg
ICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGJlZ2lu
ZnVsbHNjcmVlbjEpOwogICAgICAgICBydW5XaXRoS2V5RG93bigndmlkZW8ucGxheSgpJyk7Ci0g
ICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBiZWdpbmZ1
bGxzY3JlZW4xKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBiZWdpbmZ1bGxzY3JlZW4xKCkKKyAg
ICBhc3luYyBmdW5jdGlvbiBiZWdpbmZ1bGxzY3JlZW4xKCkKICAgICB7Ci0gICAgICAgIHJ1bign
dmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKScpOworICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0
ZWRFdmVudHVhbGx5KCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIHRydWUpOwog
ICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdwYXVzZScsIHBhdXNlKTsKKyAgICAgICAgcnVuKCd2
aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpJyk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gcGF1
c2UoKQorICAgIGFzeW5jIGZ1bmN0aW9uIHBhdXNlKCkKICAgICB7Ci0gICAgICAgIHJ1bignaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3Jl
ZW4odHJ1ZSknKTsKKyAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxseSgndmlkZW8u
d2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCBmYWxzZSk7CisgICAgICAgIHRlc3RFeHBlY3Rl
ZCgndmlkZW8ucGF1c2VkJywgdHJ1ZSk7CisKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKHRydWUpOwor
CisgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2Vk
JywgYmVnaW5mdWxsc2NyZWVuMik7CiAgICAgICAgIHJ1bldpdGhLZXlEb3duKCd2aWRlby5wbGF5
KCknKTsKLSAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScs
IGJlZ2luZnVsbHNjcmVlbjIpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGJlZ2luZnVsbHNjcmVl
bjIoKQorICAgIGFzeW5jIGZ1bmN0aW9uIGJlZ2luZnVsbHNjcmVlbjIoKQogICAgIHsKKyAgICAg
ICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1
bGxzY3JlZW4nLCB0cnVlKTsKKyAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0cHJlc2Vu
dGF0aW9ubW9kZWNoYW5nZWQnLCBlbmRmdWxsc2NyZWVuKTsKICAgICAgICAgcnVuKCd2aWRlby53
ZWJraXRFeGl0RnVsbHNjcmVlbigpJyk7Ci0gICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtp
dGZ1bGxzY3JlZW5jaGFuZ2UnLCBlbmRmdWxsc2NyZWVuKTsKICAgICB9CiAKLSAgICBmdW5jdGlv
biBlbmRmdWxsc2NyZWVuKCkKKyAgICBhc3luYyBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKICAg
ICB7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERp
c3BsYXlpbmdGdWxsc2NyZWVuJywgZmFsc2UpOwogICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVv
LnBhdXNlZCcsIGZhbHNlKTsKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KICAgICA8L3Njcmlw
dD4KLQogPC9oZWFkPgogCiA8Ym9keSBvbmxvYWQ9ImdvKCkiPgotICAgIDx2aWRlbyBjb250cm9s
cz48L3ZpZGVvPgorICAgIDx2aWRlbyBjb250cm9scyBsb29wPjwvdmlkZW8+CisgICAgPHA+VGVz
dCB0aGF0IGEgJmx0O3ZpZGVvJmd0OyBwYXVzZXMgYWZ0ZXIgZXhpdGluZyBmdWxsc2NyZWVuIHdo
ZW4gdGhlIGludGVybmFsIHByb3BlcnR5ICJhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJG
dWxsc2NyZWVuIiBpcyBmYWxzZS48L3A+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2stZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNrLWV4
cGVjdGVkLnR4dAppbmRleCAzMzcyNGYwYjYyM2ExNGJmNzUyYzRhYWM0MDQ1ZmNhZDI3OWI0NzJi
Li5jMTcyYjUyZWY0NjQ0MzNkMjk4OGU5NjM2OTkzNzExZjFjODMzMzBlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9tZWRpYS92aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2stZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1bGxzY3JlZW4tb25seS1wbGF5YmFj
ay1leHBlY3RlZC50eHQKQEAgLTEsMTggKzEsMTggQEAKIAotVGVzdCBwbGF5KCkgd2hlbiA8dmlk
ZW8+IHBsYXliYWNrIHJlcXVpcmVzIGZ1bGxzY3JlZW4uCitUZXN0IHRoZSBwbGF5KCkgZnVuY3Rp
b24gb2YgPHZpZGVvPiB3aGVuIGZ1bGxzY3JlZW4gaXMgcmVxdWlyZWQuCiAKLVJVTihpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSkpCiAKIEVWRU5U
KGNhbnBsYXl0aHJvdWdoKQogRVhQRUNURUQgKHZpZGVvLndlYmtpdFN1cHBvcnRzRnVsbHNjcmVl
biA9PSAndHJ1ZScpIE9LCiBFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3Jl
ZW4gPT0gJ2ZhbHNlJykgT0sKLQotKiogQ2xpY2tpbmcgJ3BsYXknIGJ1dHRvbi4uLgorUlVOKHZp
ZGVvLnBsYXkoKSkKIEVWRU5UKHBsYXlpbmcpCitFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxh
eWluZ0Z1bGxzY3JlZW4gPT0gJ3RydWUnKSBPSwogCiAqKiBFbnRlcmVkIGZ1bGxzY3JlZW4KLUVY
UEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9LCiBS
VU4odmlkZW8ud2Via2l0RXhpdEZ1bGxTY3JlZW4oKSkKK0VWRU5UKHdlYmtpdHByZXNlbnRhdGlv
bm1vZGVjaGFuZ2VkKQorRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVu
ID09ICdmYWxzZScpIE9LCiAKICoqIEV4aXRlZCBmdWxsc2NyZWVuCiBFTkQgT0YgVEVTVApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNr
Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2su
aHRtbAppbmRleCBmNmY5ZDZiNzc5YmQwNjc5OWJkODhjOWExNjY3ZjVmMWRhNjhhNmM2Li5lOGU5
Y2ExOTM3ZDJiNGU0MDNhMDYxODJhMDZjYzFmYzJiYjI3NjhjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9tZWRpYS92aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2suaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS92aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2suaHRtbApAQCAtMSwy
OCArMSwyOCBAQAotPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVNb2Rlcm5NZWRpYUNv
bnRyb2xzPWZhbHNlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIGVuYWJsZU1vZGVybk1lZGlhQ29udHJvbHM9ZmFsc2UgXSAtLT4KIDxodG1sPgogICAgIDxo
ZWFkPgogICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgogICAgICAg
ICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0IHNy
Yz1tZWRpYS1jb250cm9scy5qcz48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KLQotICAgICAg
ICAgICAgZnVuY3Rpb24gZnVsbHNjcmVlbmNoYW5nZSgpCisgICAgICAgICAgICBmdW5jdGlvbiBz
dGFydCgpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKCFkb2N1bWVudC53ZWJr
aXRJc0Z1bGxTY3JlZW4pCi0gICAgICAgICAgICAgICAgICAgIGVuZGZ1bGxzY3JlZW4oKTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoJ1RoaXMgdGVzdCByZXF1aXJlcyB3aW5kb3cuaW50
ZXJuYWxzLicpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
fQogCi0gICAgICAgICAgICBmdW5jdGlvbiBwbGF5aW5nKCkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBFbnRlcmVkIGZ1bGxzY3JlZW4iKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2Ny
ZWVuIiwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRFeGl0RnVsbFNj
cmVlbigpIik7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVswXTsKKyAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoImNhbnBsYXl0aHJvdWdoIiwgY2FucGxheXRocm91Z2gpOworICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgncGxheWluZycsIHBsYXlpbmcpOworICAgICAgICAgICAgICAgIHZp
ZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpOwogCi0gICAg
ICAgICAgICBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBFeGl0ZWQgZnVsbHNjcmVlbiIpOwotICAgICAg
ICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2UpOworICAgICAgICAgICAg
ICAgIC8vIERpc2FibGUgdGhlIEZ1bGxzY3JlZW4gQVBJIChlbGVtZW50IGZ1bGxzY3JlZW4pIHN1
cHBvcnQKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxT
Y3JlZW5FbmFibGVkKGZhbHNlKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dE1vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFibGVkKHRydWUpOworCisgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCIiKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rp
b24gY2FucGxheXRocm91Z2goKQpAQCAtMzAsNDEgKzMwLDMzIEBACiAgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJ2aWRlby53ZWJraXRTdXBwb3J0c0Z1bGxzY3JlZW4iLCB0cnVlKTsKICAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2Ny
ZWVuIiwgZmFsc2UpOwogCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogQ2xp
Y2tpbmcgXCdwbGF5XCcgYnV0dG9uLi4uIik7Ci0KICAgICAgICAgICAgICAgICB0cnkgewotICAg
ICAgICAgICAgICAgICAgICBjbGlja1BsYXlCdXR0b24odmlkZW8pOworICAgICAgICAgICAgICAg
ICAgICBydW5XaXRoS2V5RG93bigidmlkZW8ucGxheSgpIik7CiAgICAgICAgICAgICAgICAgfSBj
YXRjaCAoZXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KGV4Y2VwdGlv
bi5kZXNjcmlwdGlvbik7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CiAKLQotICAgICAgICAgICAgZnVuY3Rpb24gc3RhcnQoKQor
ICAgICAgICAgICAgYXN5bmMgZnVuY3Rpb24gcGxheWluZygpCiAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGZhaWxUZXN0KCdUaGlzIHRlc3QgcmVxdWlyZXMgd2luZG93LmludGVybmFscy4nKTsKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
ICAgIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07Ci0g
ICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCJjYW5wbGF5dGhyb3VnaCIsIGNhbnBsYXl0aHJv
dWdoKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnLCBwbGF5aW5nKTsK
LQotICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGVuZGZ1bGxz
Y3JlZW4nLCBlbmRmdWxsc2NyZWVuLCB0cnVlKTsKLSAgICAgICAgICAgICAgICB2aWRlby5hZGRF
dmVudExpc3RlbmVyKCd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgZnVsbHNjcmVlbmNoYW5nZSwg
dHJ1ZSk7Ci0KLSAgICAgICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRl
byIsICJjb250ZW50L3Rlc3QiKTsKKyAgICAgICAgICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRF
dmVudHVhbGx5KCJ2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIsIHRydWUpOworICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIEVudGVyZWQgZnVsbHNjcmVlbiIpOwor
ICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnd2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5n
ZWQnLCBlbmRmdWxsc2NyZWVuKTsKKyAgICAgICAgICAgICAgICBydW4oInZpZGVvLndlYmtpdEV4
aXRGdWxsU2NyZWVuKCkiKTsKKyAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIHJ1bigi
aW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2UpIik7
Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKKyAgICAgICAgICAgIGFzeW5jIGZ1
bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGF3
YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoInZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2Ny
ZWVuIiwgZmFsc2UpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIEV4aXRl
ZCBmdWxsc2NyZWVuIik7CisgICAgICAgICAgICAgICAgZW5kVGVzdCgpOwogICAgICAgICAgICAg
fQogICAgICAgICA8L3NjcmlwdD4KICAgICA8L2hlYWQ+CiAKICAgICA8Ym9keSBvbmxvYWQ9InN0
YXJ0KCkiPgogICAgICAgICA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KLSAgICAgICAgPHA+VGVz
dCBwbGF5KCkgd2hlbiAmbHQ7dmlkZW8mZ3Q7IHBsYXliYWNrIHJlcXVpcmVzIGZ1bGxzY3JlZW4u
PC9wPgorICAgICAgICA8cD5UZXN0IHRoZSBwbGF5KCkgZnVuY3Rpb24gb2YgJmx0O3ZpZGVvJmd0
OyB3aGVuIGZ1bGxzY3JlZW4gaXMgcmVxdWlyZWQuPC9wPgogICAgIDwvYm9keT4KIDwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTI1NzY0ZTMy
N2I0NzdkNWM4ZTkyOWFlNzdiZDAzZTgwMmM0MDEyMy4uNTAwZTQ5ZTJiYjVhYmU5MGQ5MTJlYTA2
MTNmMWYxOThkMGM1NDBkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTI0MzAsNyArMjQzMCw2IEBAIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4taW5saW5l
Lmh0bWwKIHdlYmtpdC5vcmcvYi8xMzY3MDggbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1ub3QtaW4t
ZG9jdW1lbnQuaHRtbAogCiBtZWRpYS9tZWRpYS1jb250cm9scy1hY2Nlc3NpYmlsaXR5Lmh0bWwg
WyBUaW1lb3V0IF0KLW1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS5odG1s
CiBtZWRpYS9uby1hdXRvcGxheS13aXRoLXVzZXItZ2VzdHVyZS1yZXF1aXJlbWVudC5odG1sCiBt
ZWRpYS92aWRlby1jb250cm9scy1kcmFnLmh0bWwKIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWZ1bGxz
Y3JlZW4tdm9sdW1lLmh0bWwKQEAgLTI1NjcsNyArMjU2Niw2IEBAIHdlYmtpdC5vcmcvYi8xNjI2
NDcgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9vbmFib3J0LXJlc3BvbnNlLWdldHRlcnMuaHRt
bCBbIFBhCiB3ZWJraXQub3JnL2IvMTYzMjkxIG1lZGlhL3JlcXVpcmUtdXNlci1nZXN0dXJlLXRv
LWxvYWQtdmlkZW8uaHRtbAogd2Via2l0Lm9yZy9iLzE2MzI5MSBtZWRpYS92aWRlby1jb250cm9s
cy10cmFuc2Zvcm1lZC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTYzMjkxIG1lZGlh
L3ZpZGVvLWNvbnRyb2xzLXZpc2libGUtYXVkaW8tb25seS5odG1sIFsgRmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvMTYzMjkxIG1lZGlhL3ZpZGVvLWZ1bGxzY3JlZW4tb25seS1wbGF5YmFjay5odG1s
IFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTYzMjkxIG1lZGlhL3ZpZGVvLXBsYXktYXVkaW8t
cmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2MzI5
MSBtZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwKIApAQCAtMzE1Niwx
MSArMzE1NCw2IEBAIGZhc3QvZ3JhZGllbnRzL2NvbmljLXR3by1oaW50cy5odG1sIFsgUGFzcyBd
CiAjIDxyZGFyOi8vcHJvYmxlbS8zNjQ1NTMzOT4gTGF5b3V0VGVzdCBjb21wb3NpdGluZy9pb3Mv
b3ZlcmZsb3ctc2Nyb2xsLXRvdWNoLXRpbGVzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCiBjb21w
b3NpdGluZy9pb3Mvb3ZlcmZsb3ctc2Nyb2xsLXRvdWNoLXRpbGVzLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogCi0jIDxyZGFyOi8vcHJvYmxlbS80MTU0Njk3MD4gUkVHUkVTU0lPTjogTGF5b3V0VGVz
dCBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwgaXMgYSBmbGFreSB0aW1l
b3V0Ci1tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwgWyBQYXNzIFRpbWVv
dXQgXQotCi13ZWJraXQub3JnL2IvMTg3NjE4IFsgUmVsZWFzZSBdIG1lZGlhL21lZGlhLWZ1bGxz
Y3JlZW4tcGF1c2UtaW5saW5lLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCiAjIERpc2FibGVkIGds
b2JhbGx5LgogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9nemlwLWNvbnRlbnQtdHlwZS1uby1j
b250ZW50LWVuY29kaW5nLmh0bWwgWyBQYXNzIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGIxM2MzYjZlNTEzMWFhNDc1M2U3N2MzMWY0
OTMyNzBmYTRmMDJhZDEuLjBkY2FiZmZhMjFkYjIyYWFiMmNmYzRkOWQ0YjZjNTE2NzEyOWY0MjAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTM0MSwxMCArMzQxLDYgQEAgd2Via2l0Lm9yZy9iLzE1MDU0MiBmYXN0L2Zvcm1zL3N0YXRlLXJl
c3RvcmUtcGVyLWZvcm0uaHRtbCBbIFBhc3MgVGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8xNTE3
MDkgWyBSZWxlYXNlIF0gaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21ldGhvZHMu
aHRtbCBbIFBhc3MgVGltZW91dCBdCiAKLSMgVmlkZW8gZnVsbHNjcmVlbiBpcyBub3QgaW1wbGVt
ZW50ZWQgZm9yIG1hYyB3azIgaW4gd2Via2l0dGVzdHJ1bm5lcgotbWVkaWEvbWVkaWEtZnVsbHNj
cmVlbi1sb29wLWlubGluZS5odG1sIFsgU2tpcCBdCi1tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBh
dXNlLWlubGluZS5odG1sIFsgU2tpcCBdCi0KICMjIyBFTkQgT0YgKDEpIENsYXNzaWZpZWQgZmFp
bHVyZXMgd2l0aCBidWcgcmVwb3J0cwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDJhMGUyMGUwZDRhNWNkMGRlOTdlOWQyMzI5YzJiOTMyY2U3NTYwOWEuLmM4Y2I5YmNjZjI3MDI0
OTVhODc4NmE3MDJjYTFhZGY4YWVhNzg2MzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC03NTksNyArNzU5LDYgQEAgd2Via2l0Lm9yZy9iLzEzMzY4NiBt
ZWRpYS90cmFjay93M2MvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvYWxpZ24uaHRtbCBbIFBhc3Mg
RmEKIHdlYmtpdC5vcmcvYi8xMzUwNzEgbWVkaWEvdmlkZW8tc2Vlay13aXRoLW5lZ2F0aXZlLXBs
YXliYWNrLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzEzNTE2MCBtZWRpYS90
cmFjay90cmFjay1pbi1iYW5kLXN1YnRpdGxlcy10b28tbGFyZ2UuaHRtbCBbIEZhaWx1cmUgXQog
d2Via2l0Lm9yZy9iLzEzNTE2MCBtZWRpYS90cmFjay90cmFjay1sb25nLXdvcmQtY29udGFpbmVy
LXNpemluZy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTM3MzExIG1lZGlhL3ZpZGVv
LWZ1bGxzY3JlZW4tb25seS1wbGF5YmFjay5odG1sIFsgUGFzcyBUaW1lb3V0IENyYXNoIF0KIHdl
YmtpdC5vcmcvYi8xMzk3ODkgbWVkaWEvbWVkaWEtY29udHJvbHMtdGltZWxpbmUtdXBkYXRlcy5o
dG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMzk4MjUgbWVkaWEvdmlkZW8tc2Vl
ay1wYXN0LWVuZC1wYXVzZWQuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTQx
MDg0IGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tcHJlbG9hZC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
QEAgLTE2NDEsOCArMTY0MCw2IEBAIHdlYmtpdC5vcmcvYi8xODk2ODAgcGxhdGZvcm0vbWFjL21l
ZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnktdmlkZW8tcGF1c2VkLmh0bWwKIHdlYmtpdC5vcmcv
Yi8xOTU0NjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5LXN0YXRlcy9hdXRvcGxheS5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xOTU0NjYgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL2Vycm9yLWNvZGVzL2Vycm9yLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCi13ZWJraXQub3Jn
L2IvMTkzMzk5IG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS5odG1sIFsg
UGFzcyBUaW1lb3V0IF0KLQogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hh
a2Utb2std2l0aC1sZWdhY3ktc2VjLXdlYnNvY2tldC1yZXNwb25zZS1oZWFkZXJzLmh0bWwgWyBQ
YXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTk1NDY2IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaW1nLWVsZW1l
bnQvc2l6ZXMvcGFyc2UtYS1zaXplcy1hdHRyaWJ1dGUtd2lkdGgtMTAwMHB4Lmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398979</attachid>
            <date>2020-05-10 11:41:57 -0700</date>
            <delta_ts>2020-05-10 15:36:26 -0700</delta_ts>
            <desc>WIP patch v3</desc>
            <filename>bug-211645-20200510114156.patch</filename>
            <type>text/plain</type>
            <size>58922</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UzYjJjNGVmYmU1YmZm
MTg1NzZlMmQ0MzQ2NzM3MjdkYjgzMjQ4NC4uYTBiYWNjYTVkYWQ5MWJhMmJjNzViYjdkYTNkYmMw
ZDc0NDQxMmNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA1LTEwICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZp
ZGVvIHByZXNlbnRhdGlvbiBtb2RlIGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVz
dCBmYWlsdXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjExNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2xlYW4gdXAgdGhlIGludGVybmFsIHN0YXRlcyBvZiB2aWRlbyBlbGVtZW50IHJlZ2FyZGlu
ZyB2aWRlbyBwcmVzZW50YXRpb24gbW9kZQorICAgICAgICB0byBzaW1wbGlmeSB0aGUgdGFzayB0
byB3cml0ZSByZWxpYWJsZSBsYXlvdXQgdGVzdHMgZm9yIHZpZGVvIGZ1bGxzY3JlZW4gYW5kCisg
ICAgICAgIFBpY3R1cmUtaW4tUGljdHVyZS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxz
Y3JlZW4pOgorICAgICAgICBVcGRhdGUgdGhlIHN0YXRlcyBhZnRlciB3ZSBhcmUgc3VyZSB0aGUg
dmlkZW8gZWxlbWVudCB3aWxsIGVudGVyIGZ1bGxzY3JlZW4uCisKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Ondh
aXRpbmdUb0VudGVyRnVsbHNjcmVlbik6CisKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudDo6d2Via2l0RGlzcGxh
eWluZ0Z1bGxzY3JlZW4pOgorICAgICAgICBUaGUgZnVuY3Rpb24gd2Via2l0RGlzcGxheWluZ0Z1
bGxzY3JlZW4oKSB3aWxsIHJldHVybiB0cnVlIGFmdGVyIHRoZSBwcm9jZXNzCisgICAgICAgIHRv
IGVudGVyIGZ1bGxzY3JlZW4gaXMgY29tcGxldGVkLgorCiAyMDIwLTA1LTA4ICBCYXN1a2UgU3V6
dWtpICA8YmFzdWtlLnN1enVraUBzb255LmNvbT4KIAogICAgICAgICBGaXggYnVpbGQgZXJyb3Ig
b24gUGxhdFN0YXRpb24gcG9ydCBhZnRlciByMjYxMTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk3Y2YwZTE4OTlj
ZWY3YWJhZGVmNzY3MjU1YTExMjdkZjU4ZTFmZjUuLjQ3MDQzNzc2YmI2YzQyNGE1NzQ4YWYxYTkx
YmMzNzEzZTMzMzFlZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDUtMTAgIFBl
bmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgdGhlIG1vY2sg
dmlkZW8gcHJlc2VudGF0aW9uIG1vZGUgaW4gcmVsYXRlZCBsYXlvdXQgdGVzdHMgYW5kIGZpeCB0
ZXN0IGZhaWx1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTE2NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXggdGhlIG1pc3Rha2UgaW4gVmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6c3VwcG9ydHNW
aWRlb0Z1bGxzY3JlZW4oKSBpbnRyb2R1Y2VkIGluIHIyMDIyNzQuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisgICAgICAgIChXZWJLaXQ6
OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OnN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuIGNvbnN0KToK
KwogMjAyMC0wNS0wOCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBlbXB0eSBkaXJlY3RvcmllcyBmcm9tIGZyb20gc3ZuLndlYmtpdC5vcmcgcmVw
b3NpdG9yeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYTk1
NTVjZDhkMWFiNGQxNzJmYzQwMzJjODc3NjA2MjZmZjk5MDRjMi4uMDRkYzUwYmRlNGVkNmE4NjZi
MTc1MmEzYTA2YzQzYmNmZWEzNGJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCkBAIC01OTg5LDExICs1OTg5LDEwIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
ZW50ZXJGdWxsc2NyZWVuKFZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSkKICAgICBpZiAobV92aWRl
b0Z1bGxzY3JlZW5Nb2RlID09IG1vZGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fdGVtcG9y
YXJpbHlBbGxvd2luZ0lubGluZVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuID0gZmFsc2U7Ci0gICAg
bV93YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4gPSB0cnVlOwotCiAjaWYgRU5BQkxFKEZVTExTQ1JF
RU5fQVBJKSAmJiBFTkFCTEUoVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pCiAgICAgaWYg
KGRvY3VtZW50KCkuc2V0dGluZ3MoKS5mdWxsU2NyZWVuRW5hYmxlZCgpICYmIG1vZGUgPT0gVmlk
ZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKSB7CisgICAgICAgIG1fdGVtcG9yYXJpbHlBbGxvd2lu
Z0lubGluZVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuID0gZmFsc2U7CisgICAgICAgIG1fd2FpdGlu
Z1RvRW50ZXJGdWxsc2NyZWVuID0gdHJ1ZTsKICAgICAgICAgZG9jdW1lbnQoKS5mdWxsc2NyZWVu
TWFuYWdlcigpLnJlcXVlc3RGdWxsc2NyZWVuRm9yRWxlbWVudCh0aGlzLCBGdWxsc2NyZWVuTWFu
YWdlcjo6RXhlbXB0SUZyYW1lQWxsb3dGdWxsc2NyZWVuUmVxdWlyZW1lbnQpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQpAQCAtNjAwNSwxMiArNjAwNCwxNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OmVudGVyRnVsbHNjcmVlbihWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUpCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBmdWxsc2NyZWVuTW9kZUNoYW5nZWQobW9k
ZSk7Ci0gICAgICAgIGNvbmZpZ3VyZU1lZGlhQ29udHJvbHMoKTsKICAgICAgICAgaWYgKGlzPEhU
TUxWaWRlb0VsZW1lbnQ+KCp0aGlzKSkgewogICAgICAgICAgICAgSFRNTFZpZGVvRWxlbWVudCYg
YXNWaWRlbyA9IGRvd25jYXN0PEhUTUxWaWRlb0VsZW1lbnQ+KCp0aGlzKTsKLSAgICAgICAgICAg
IGlmIChkb2N1bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkuc3VwcG9ydHNWaWRlb0Z1
bGxzY3JlZW4obV92aWRlb0Z1bGxzY3JlZW5Nb2RlKSkgewotICAgICAgICAgICAgICAgIElORk9f
TE9HKExPR0lERU5USUZJRVIsICJFbnRlcmluZyBmdWxsc2NyZWVuIG1vZGUgIiwgbV92aWRlb0Z1
bGxzY3JlZW5Nb2RlLCAiLCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkgPSAiLCBtX3ZpZGVvRnVs
bHNjcmVlblN0YW5kYnkpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50KCkucGFnZSgpLT5jaHJv
bWUoKS5jbGllbnQoKS5zdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbihtb2RlKSkgeworICAgICAgICAg
ICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJFbnRlcmluZyBmdWxsc2NyZWVuIG1vZGUg
IiwgbW9kZSwgIiwgbV92aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5ID0gIiwgbV92aWRlb0Z1bGxzY3Jl
ZW5TdGFuZGJ5KTsKKworICAgICAgICAgICAgICAgIG1fdGVtcG9yYXJpbHlBbGxvd2luZ0lubGlu
ZVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuID0gZmFsc2U7CisgICAgICAgICAgICAgICAgbV93YWl0
aW5nVG9FbnRlckZ1bGxzY3JlZW4gPSB0cnVlOworICAgICAgICAgICAgICAgIGZ1bGxzY3JlZW5N
b2RlQ2hhbmdlZChtb2RlKTsKKyAgICAgICAgICAgICAgICBjb25maWd1cmVNZWRpYUNvbnRyb2xz
KCk7CisKICAgICAgICAgICAgICAgICBkb2N1bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50
KCkuZW50ZXJWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRlb0VsZW1lbnQoYXNWaWRlbywgbV92aWRlb0Z1
bGxzY3JlZW5Nb2RlLCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkpOwogICAgICAgICAgICAgICAg
IHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdGJlZ2luZnVsbHNjcmVlbkV2ZW50KTsK
ICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXgg
Mjc2NGFhM2NlYjI1ODA5YTBmYTM4ZTkzNzk5NzMzYTRmY2VjMTkyOS4uMmI2OGRlODhmYzgwY2Jm
NDFlODJjZmI1OWY0MmMwOTY4Mjk3NjUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKQEAgLTYxNCw2ICs2MTQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB1cGRhdGVN
ZWRpYUNvbnRyb2xzQWZ0ZXJQcmVzZW50YXRpb25Nb2RlQ2hhbmdlKCk7CiAKICAgICB2b2lkIHNj
aGVkdWxlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYpOworICAgIGJvb2wgd2FpdGluZ1RvRW50ZXJG
dWxsc2NyZWVuKCkgeyByZXR1cm4gbV93YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW47IH0KIAogcHJp
dmF0ZToKICAgICB2b2lkIGNyZWF0ZU1lZGlhUGxheWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCAxYjY0ZmIyOGJjZWMyMDE2N2I0ZGU1NTVmY2JhY2I1
ZmQ0M2MyNWEyLi4zZjI3M2ZjNWY4YTczMTA0MWU4ZGQ0ZjUwYWI0NmI2ZGI3ODFiNWFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKQEAgLTM0Niw3ICszNDYsNyBA
QCBib29sIEhUTUxWaWRlb0VsZW1lbnQ6OndlYmtpdFN1cHBvcnRzRnVsbHNjcmVlbigpCiAKIGJv
b2wgSFRNTFZpZGVvRWxlbWVudDo6d2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4oKQogewotICAg
IHJldHVybiBpc0Z1bGxzY3JlZW4oKTsKKyAgICByZXR1cm4gaXNGdWxsc2NyZWVuKCkgJiYgIXdh
aXRpbmdUb0VudGVyRnVsbHNjcmVlbigpOwogfQogCiB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmFu
Y2VzdG9yV2lsbEVudGVyRnVsbHNjcmVlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCmluZGV4IGZiZGQ0ZTk4
MTE2MDYxNDc4NDgyYTk3ZTQzMWFmMWZiMjYyYzhmZGMuLjRhMGU2MTkxMmFlMmM4NmE2MjhkYTVj
YmVlYmNlYjFlM2EyZDMyZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCkBAIC0yMjMsNyArMjIzLDcgQEAg
Ym9vbCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpzdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbihXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50RW4KICAgICBVTlVTRURfUEFSQU0obW9kZSk7CiAgICAgcmV0
dXJuIERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6YXZLaXRFbmFibGVkKCk7CiAjZWxzZQotICAg
IHJldHVybiBtb2RlID09IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9k
ZVBpY3R1cmVJblBpY3R1cmUgJiYgc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlKCk7CisgICAgcmV0
dXJuIChtb2RlID09IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVN0
YW5kYXJkKSB8fCAobW9kZSA9PSBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGVQaWN0dXJlSW5QaWN0dXJlICYmIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSgpKTsKICNl
bmRpZgogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNzY2OTM2ZjAzNGQ5NjM5ZTY3NjE1YmRhMzUwZGU2ZjM1ZTEwNjll
OC4uODE5MmNmOWQ5MmY2MzhjZjUxNzgyZmRmNzNjZDI4NDBjMmM4OTA3OCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDQ2IEBACisyMDIwLTA1LTEwICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisK
KyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZpZGVvIHByZXNlbnRhdGlvbiBtb2RlIGluIHJlbGF0
ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVzdCBmYWlsdXJlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxz
Y3JlZW4tbWVkaWEtY29udHJvbHMtbGl2ZS1icm9hZGNhc3QtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3Jl
ZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1saXZlLWJy
b2FkY2FzdC5odG1sOgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4taW5saW5lLmh0
bWw6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS5odG1s
OgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5odG1s
OgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5s
aW5lLmh0bWw6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi5qczoKKyAgICAgICAg
KGFzeW5jIGJlZ2luZnVsbHNjcmVlbik6CisgICAgICAgIChhc3luYyBmdWxsc2NyZWVuZXJyb3Ip
OgorICAgICAgICAoYWRkRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAoYmVnaW5mdWxsc2NyZWVu
KTogRGVsZXRlZC4KKyAgICAgICAgKGZ1bGxzY3JlZW5lcnJvcik6IERlbGV0ZWQuCisgICAgICAg
ICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJraXQtY3Vyc29yLXZpc2liaWxp
dHktYXV0by1oaWRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY3NzL3dlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eS1hdXRvLWhpZGUuaHRtbDoKKyAg
ICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRp
YS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2Ny
ZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1p
cy1wcmV2ZW50ZWQtb3Zlci1idXR0b24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29z
LWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1pcy1wcmV2ZW50ZWQtb3Zlci1idXR0b24u
aHRtbDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNj
cmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWcu
aHRtbDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJv
bGxlci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9uLXZpZGVvLWJhY2tncm91bmQtc2hvdWxkLXBh
dXNlLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY2xpY2stb24tdmlk
ZW8tYmFja2dyb3VuZC1zaG91bGQtcGF1c2UtZnVsbHNjcmVlbi5odG1sOgorICAgICAgICAqIG1l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xs
ZXItZnVsbHNjcmVlbi1sdHItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItZnVsbHNjcmVl
bi1sdHIuaHRtbDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEt
Y29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLXNwYWNlLWJhci10b2dnbGUtcGxheWJhY2stZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1j
b250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItc3BhY2UtYmFyLXRvZ2dsZS1wbGF5YmFjay5odG1s
OgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90
cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90cmFja3Mtc3Vw
cG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4uaHRtbDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1m
dWxsc2NyZWVuLW9ubHktcGxheWJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3Zp
ZGVvLWZ1bGxzY3JlZW4tb25seS1wbGF5YmFjay5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDUtMDggIERh
dmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZW1wdHkg
ZGlyZWN0b3JpZXMgZnJvbSBmcm9tIHN2bi53ZWJraXQub3JnIHJlcG9zaXRvcnkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21h
Y29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250
cm9scy1saXZlLWJyb2FkY2FzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRy
b2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtbGl2ZS1icm9hZGNhc3QtZXhwZWN0
ZWQudHh0CmluZGV4IGZhZjk0Y2Q3NGU4MTI1YmU5NjcyNjNkNjdhNTcyMGU5MWFkOTExMzMuLmIz
MmE3YzE3NDlhY2JjNzZkZDZlYzFhMDdmZjllZmQ3ZGU0MjdiM2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxz
Y3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1saXZl
LWJyb2FkY2FzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9t
YWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWxpdmUtYnJvYWRjYXN0LWV4cGVjdGVkLnR4
dApAQCAtMyw2ICszLDcgQEAgVGVzdGluZyB0aGF0IHdlIGRvIG5vdCBzaG93IHRoZSBzZWVraW5n
IGNvbnRyb2xzIGluIGZ1bGxzY3JlZW4gd2l0aCBhIGxpdmUgYnJvYWQKIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KIAogCitQQVNTIG1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIGJl
Y2FtZSB0cnVlCiBQQVNTIG1lZGlhLmR1cmF0aW9uIGJlY2FtZSBOdW1iZXIuUE9TSVRJVkVfSU5G
SU5JVFkKIFBBU1MgbWVkaWFDb250cm9sbGVyLmNvbnRyb2xzLnJld2luZEJ1dHRvbi5lbmFibGVk
IGlzIGZhbHNlCiBQQVNTIG1lZGlhQ29udHJvbGxlci5jb250cm9scy5mb3J3YXJkQnV0dG9uLmVu
YWJsZWQgaXMgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFj
b3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1saXZlLWJyb2FkY2FzdC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNj
cmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWxpdmUt
YnJvYWRjYXN0Lmh0bWwKaW5kZXggYzYzYTY4ZDk0Yjc3MmU0YjJkNGUyZGM4N2U3ZDcwNzgxNzY1
YjhiOC4uYWZiZTg4MTRlNjg1MDg0Y2ZhYjY1OTliYTJiZDQ1YjVlNzBkZmQwYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFj
b3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRy
b2xzLWxpdmUtYnJvYWRjYXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9t
YWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWxpdmUtYnJvYWRjYXN0Lmh0bWwKQEAgLTE1
LDE5ICsxNSwxOCBAQCBjb25zdCBtZWRpYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVv
Iik7CiBjb25zdCBtZWRpYUNvbnRyb2xsZXIgPSBjcmVhdGVDb250cm9scyhzaGFkb3dSb290LCBt
ZWRpYSwgbnVsbCk7CiAKIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5j
aGFuZ2UiLCAoKSA9PiB7Ci0gICAgaWYgKCFtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVl
bikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgc2hvdWxkQmVjb21lRXF1YWwoIm1lZGlhLmR1cmF0
aW9uIiwgIk51bWJlci5QT1NJVElWRV9JTkZJTklUWSIsICgpID0+IHsKLSAgICAgICAgc2hvdWxk
QmVGYWxzZSgibWVkaWFDb250cm9sbGVyLmNvbnRyb2xzLnJld2luZEJ1dHRvbi5lbmFibGVkIik7
Ci0gICAgICAgIHNob3VsZEJlRmFsc2UoIm1lZGlhQ29udHJvbGxlci5jb250cm9scy5mb3J3YXJk
QnV0dG9uLmVuYWJsZWQiKTsKLSAgICAgICAgc2hvdWxkQmUoIm1lZGlhQ29udHJvbGxlci5jb250
cm9scy50aW1lQ29udHJvbC5wYXJlbnQiLCAibnVsbCIpOwotICAgICAgICBzaG91bGRCZSgibWVk
aWFDb250cm9sbGVyLmNvbnRyb2xzLnN0YXR1c0xhYmVsLnBhcmVudCIsICJtZWRpYUNvbnRyb2xs
ZXIuY29udHJvbHMuYm90dG9tQ29udHJvbHNCYXIiKTsKLQotICAgICAgICBkZWJ1ZygiIik7Ci0g
ICAgICAgIG1lZGlhLnJlbW92ZSgpOwotICAgICAgICBzaGFkb3dSb290Lmhvc3QucmVtb3ZlKCk7
Ci0gICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIHNob3VsZEJlY29tZUVxdWFsKCJtZWRpYS53
ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIsICJ0cnVlIiwgKCkgPT4geworICAgICAgICBzaG91
bGRCZWNvbWVFcXVhbCgibWVkaWEuZHVyYXRpb24iLCAiTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZ
IiwgKCkgPT4geworICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgibWVkaWFDb250cm9sbGVyLmNv
bnRyb2xzLnJld2luZEJ1dHRvbi5lbmFibGVkIik7CisgICAgICAgICAgICBzaG91bGRCZUZhbHNl
KCJtZWRpYUNvbnRyb2xsZXIuY29udHJvbHMuZm9yd2FyZEJ1dHRvbi5lbmFibGVkIik7CisgICAg
ICAgICAgICBzaG91bGRCZSgibWVkaWFDb250cm9sbGVyLmNvbnRyb2xzLnRpbWVDb250cm9sLnBh
cmVudCIsICJudWxsIik7CisgICAgICAgICAgICBzaG91bGRCZSgibWVkaWFDb250cm9sbGVyLmNv
bnRyb2xzLnN0YXR1c0xhYmVsLnBhcmVudCIsICJtZWRpYUNvbnRyb2xsZXIuY29udHJvbHMuYm90
dG9tQ29udHJvbHNCYXIiKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAg
bWVkaWEucmVtb3ZlKCk7CisgICAgICAgICAgICBzaGFkb3dSb290Lmhvc3QucmVtb3ZlKCk7Cisg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSk7CiAgICAgfSk7CiB9KTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1pbmxpbmUuaHRt
bCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4taW5saW5lLmh0bWwKaW5kZXgg
ZTk1ZThkNDQ5NDg0OTY2NDU0MTQ4MGY5YWY4ZmFmYWI4ODQ3M2FmOC4uZTFlYjBkZmUxY2ZiYTNk
NzkxMDRlOWVhM2YyMDljZTk1OTI0ODk1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEv
bWVkaWEtZnVsbHNjcmVlbi1pbmxpbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1mdWxsc2NyZWVuLWlubGluZS5odG1sCkBAIC0xLDMgKzEsNCBAQAorPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1U
eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLWV4cGVjdGVk
LnR4dAppbmRleCAyYzFkZTJhZmU0MTg5ZjIwODE0Y2NjMjcxMTU5NmUyYTBmYjRiMzg2Li41YTMz
N2EzZTIzZTZmMTI2ZTkxYzUzMDk5NWZmMTVkNWJkZDAxYzE5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLWV4cGVjdGVk
LnR4dApAQCAtMSwxOSArMSwyNCBAQAogCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93
c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2UpKQotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRB
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKHRydWUpKQotUlVOKGludGVy
bmFscy5zZXR0aW5ncy5zZXRGdWxsU2NyZWVuRW5hYmxlZChmYWxzZSkpCi1SVU4oaW50ZXJuYWxz
LnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIk5vUmVzdHJpY3Rpb25zIikpCitU
ZXN0IHRoYXQgYSA8dmlkZW8+IGtlZXBzIHBsYXlpbmcgYW5kIGxvb3BpbmcgYWZ0ZXIgZXhpdGlu
ZyBmdWxsc2NyZWVuIHdoZW4gdGhlIGludGVybmFsIHByb3BlcnR5ICJhbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuIiBpcyB0cnVlLgorCiBSVU4odmlkZW8ubG9vcCA9IHRy
dWUpCiBSVU4odmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0
IikpCitFVkVOVChjYW5wbGF5dGhyb3VnaCkKIFJVTih2aWRlby5wbGF5KCkpCi1FVkVOVCh3ZWJr
aXRiZWdpbmZ1bGxzY3JlZW4pCitXYWl0IHRvIGVudGVyIGZ1bGxzY3JlZW4KK0VWRU5UKHdlYmtp
dHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKQorRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3BsYXlp
bmdGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKK0VudGVyZWQgZnVsbHNjcmVlbgogUlVOKHZpZGVv
LmN1cnJlbnRUaW1lID0gNSkKIFJVTih2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpKQotRVZF
TlQod2Via2l0ZW5kZnVsbHNjcmVlbikKK1dhaXQgdG8gZXhpdCBmdWxsc2NyZWVuCitFVkVOVCh3
ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCkKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNw
bGF5aW5nRnVsbHNjcmVlbiA9PSAnZmFsc2UnKSBPSworRXhpdGVkIGZ1bGxzY3JlZW4KIEVYUEVD
VEVEICh2aWRlby5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sKIFJVTih2aWRlby5vbnRpbWV1cGRhdGUg
PSB0aW1ldXBkYXRlKQotUlVOKHZpZGVvLm9udGltZXVwZGF0ZSA9IG51bGwpCiBMb29wZWQKK1JV
Tih2aWRlby5vbnRpbWV1cGRhdGUgPSBudWxsKQogRVhQRUNURUQgKHZpZGVvLnBsYXlzSW5saW5l
ID09ICdmYWxzZScpIE9LCiBFWFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICdmYWxzZScpIE9LCiBF
TkQgT0YgVEVTVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVl
bi1sb29wLWlubGluZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1s
b29wLWlubGluZS5odG1sCmluZGV4IGZhZDFjZmJlMzEyNmFiZTNkMWIzYmZmOTBkZWYyN2QyYTM2
N2JhYmUuLjE2NTRlYjg2NjY0NGE0NzYyMjEzOTg1YjNmMTRmODU1NjE2YzhiMzMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwK
QEAgLTEsNDQgKzEsNjIgQEAKIDwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgZW5hYmxlTW9kZXJuTWVkaWFDb250cm9scz1mYWxzZSBdIC0tPgogPGh0bWw+CiA8aGVhZD4K
LSAgICA8dGl0bGU+bWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5lPC90aXRsZT4KLQor
ICAgIDx0aXRsZT5tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lPC90aXRsZT4KICAgICA8c2Ny
aXB0IHNyYz0idmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Im1lZGlh
LWZpbGUuanMiPjwvc2NyaXB0PgotCiAgICAgPHNjcmlwdD4KICAgICBmdW5jdGlvbiBnbygpCiAg
ICAgeworICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgIGZhaWxU
ZXN0KCdUaGlzIHRlc3QgcmVxdWlyZXMgd2luZG93LmludGVybmFscy4nKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorCiAgICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKLSAgICAg
ICAgcnVuKCdpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhm
YWxzZSknKTsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5l
TWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKScpOwotICAgICAgICBydW4oJ2ludGVy
bmFscy5zZXR0aW5ncy5zZXRGdWxsU2NyZWVuRW5hYmxlZChmYWxzZSknKTsKLSAgICAgICAgcnVu
KCdpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiTm9SZXN0cmlj
dGlvbnMiKScpOworCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKTsK
KyAgICAgICAgLy8gRGlzYWJsZSB0aGUgRnVsbHNjcmVlbiBBUEkgKGVsZW1lbnQgZnVsbHNjcmVl
bikgc3VwcG9ydAorICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3Jl
ZW5FbmFibGVkKGZhbHNlKTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRNb2NrVmlkZW9Q
cmVzZW50YXRpb25Nb2RlRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpOworCisg
ICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gp
OwogICAgICAgICBydW4oJ3ZpZGVvLmxvb3AgPSB0cnVlJyk7CiAgICAgICAgIHJ1bigndmlkZW8u
c3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0IiknKTsKLSAgICAgICAg
d2FpdEZvckV2ZW50T25jZSgnd2Via2l0YmVnaW5mdWxsc2NyZWVuJywgYmVnaW5mdWxsc2NyZWVu
KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpCisgICAgeworICAgICAg
ICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGJlZ2lu
ZnVsbHNjcmVlbik7CiAgICAgICAgIHJ1bigndmlkZW8ucGxheSgpJyk7CisgICAgICAgIGNvbnNv
bGVXcml0ZSgiV2FpdCB0byBlbnRlciBmdWxsc2NyZWVuIik7CiAgICAgfQogCi0gICAgZnVuY3Rp
b24gYmVnaW5mdWxsc2NyZWVuKCkKKyAgICBhc3luYyBmdW5jdGlvbiBiZWdpbmZ1bGxzY3JlZW4o
KQogICAgIHsKKyAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Vi
a2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCB0cnVlKTsKKyAgICAgICAgY29uc29sZVdyaXRlKCJF
bnRlcmVkIGZ1bGxzY3JlZW4iKTsKICAgICAgICAgcnVuKCd2aWRlby5jdXJyZW50VGltZSA9IDUn
KTsKICAgICAgICAgcnVuKCd2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpJyk7Ci0gICAgICAg
IHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdGVuZGZ1bGxzY3JlZW4nLCBlbmRmdWxsc2NyZWVuKTsK
KyAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQn
LCBlbmRmdWxsc2NyZWVuKTsKKyAgICAgICAgY29uc29sZVdyaXRlKCJXYWl0IHRvIGV4aXQgZnVs
bHNjcmVlbiIpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQorICAgIGFz
eW5jIGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQogICAgIHsKKyAgICAgICAgYXdhaXQgdGVzdEV4
cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCBmYWxz
ZSk7CisgICAgICAgIGNvbnNvbGVXcml0ZSgiRXhpdGVkIGZ1bGxzY3JlZW4iKTsKICAgICAgICAg
dGVzdEV4cGVjdGVkKCd2aWRlby5wYXVzZWQnLCBmYWxzZSk7CiAgICAgICAgIHJ1bigndmlkZW8u
b250aW1ldXBkYXRlID0gdGltZXVwZGF0ZScpOwotICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWls
KCd3ZWJraXRiZWdpbmZ1bGxzY3JlZW4nKTsKKyAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgn
d2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiB0
aW1ldXBkYXRlKCkKICAgICB7CiAgICAgICAgIGlmICh2aWRlby5jdXJyZW50VGltZSA9PSAwKSB7
Ci0gICAgICAgICAgICBydW4oJ3ZpZGVvLm9udGltZXVwZGF0ZSA9IG51bGwnKTsKICAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiTG9vcGVkIik7CisgICAgICAgICAgICBydW4oJ3ZpZGVvLm9udGlt
ZXVwZGF0ZSA9IG51bGwnKTsKICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgndmlkZW8ucGxheXNJ
bmxpbmUnLCBmYWxzZSk7CiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGxvb3BDb21w
bGV0ZWQoKSB7CiAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcsIGZh
bHNlKTsKQEAgLTQ2LDEyICs2NCwxMCBAQAogICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgIH0K
ICAgICB9Ci0KICAgICA8L3NjcmlwdD4KLQogPC9oZWFkPgotCiA8Ym9keSBvbmxvYWQ9ImdvKCki
PgogICAgIDx2aWRlbyBjb250cm9scz48L3ZpZGVvPgorICAgIDxwPlRlc3QgdGhhdCBhICZsdDt2
aWRlbyZndDsga2VlcHMgcGxheWluZyBhbmQgbG9vcGluZyBhZnRlciBleGl0aW5nIGZ1bGxzY3Jl
ZW4gd2hlbiB0aGUgaW50ZXJuYWwgcHJvcGVydHkgImFsbG93c0lubGluZU1lZGlhUGxheWJhY2tB
ZnRlckZ1bGxzY3JlZW4iIGlzIHRydWUuPC9wPgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUt
ZXhwZWN0ZWQudHh0CmluZGV4IDNlMmNhNmRlYjFjY2ZiMTY1YmNkNmNlNDU3MjQ5MWYyNjU5N2I5
MjIuLjNhYmM5ZTI5MmE2NDZiYzIwY2NmMzllN2U5MjJjMzI4OWRhNDJlNTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGlu
ZS1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAotUlVOKGludGVybmFscy5zZXR0aW5n
cy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKSkKLVJVTihpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKSkK
LVJVTihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpKQotUlVO
KGludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0
aW9ucyIpKQorVGVzdCB0aGF0IGEgPHZpZGVvPiBrZWVwcyBwbGF5aW5nIGFmdGVyIGV4aXRpbmcg
ZnVsbHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9wZXJ0eSAiYWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgdHJ1ZS4KKwogUlVOKHZpZGVvLnNyYyA9IGZpbmRN
ZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpKQorRVZFTlQoY2FucGxheXRocm91Z2gp
CiBSVU4odmlkZW8ucGxheSgpLnRoZW4ocGxheWluZyk7KQogRVhQRUNURUQgKHZpZGVvLndlYmtp
dERpc3BsYXlpbmdGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKIFJVTih2aWRlby53ZWJraXRFeGl0
RnVsbHNjcmVlbigpKQotRVZFTlQod2Via2l0ZW5kZnVsbHNjcmVlbikKK0VWRU5UKHdlYmtpdHBy
ZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKQorRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3BsYXlpbmdG
dWxsc2NyZWVuID09ICdmYWxzZScpIE9LCiBFWFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICdmYWxz
ZScpIE9LCiBSVU4odmlkZW8ucGF1c2UoKSkKIEVWRU5UKHBhdXNlKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbCBiL0xheW91
dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLmh0bWwKaW5kZXggODU4
ZThmMTdlODg0ZGRlMzFlNzI3OTE0ZjlhNWY0YjdmYTdiYTAwZC4uODk5M2M2MzEwMzVjZTIzZDg2
ZTI5YmZkYTI5NDIxNjcwNTUxYWE2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9t
ZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5odG1sCkBAIC0xLDU1ICsxLDY2IEBACiA8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZU1vZGVybk1lZGlhQ29u
dHJvbHM9ZmFsc2UgXSAtLT4KIDxodG1sPgogPGhlYWQ+Ci0gICAgPHRpdGxlPm1lZGlhLWZ1bGxz
Y3JlZW4tcmV0dXJuLXRvLWlubGluZTwvdGl0bGU+Ci0KKyAgICA8dGl0bGU+bWVkaWEtZnVsbHNj
cmVlbi1wYXVzZS1pbmxpbmU8L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSJ2aWRlby10ZXN0Lmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtZmlsZS5qcyI+PC9zY3JpcHQ+CiAK
ICAgICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdvKCkKICAgICB7CisgICAgICAgIGlmICghd2lu
ZG93LmludGVybmFscykgeworICAgICAgICAgICAgZmFpbFRlc3QoJ1RoaXMgdGVzdCByZXF1aXJl
cyB3aW5kb3cuaW50ZXJuYWxzLicpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
ICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0
aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKScpOwotICAgICAgICBydW4o
J2ludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxs
c2NyZWVuKHRydWUpJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxT
Y3JlZW5FbmFibGVkKGZhbHNlKScpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVs
ZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpJyk7CisKKyAgICAgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZh
bHNlKTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVN
ZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKHRydWUpOworICAgICAgICAvLyBEaXNhYmxlIHRo
ZSBGdWxsc2NyZWVuIEFQSSAoZWxlbWVudCBmdWxsc2NyZWVuKSBzdXBwb3J0CisgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpOworICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldE1vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFibGVk
KHRydWUpOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0
aW9ucyh2aWRlbywgIk5vUmVzdHJpY3Rpb25zIik7CisKKyAgICAgICAgd2FpdEZvckV2ZW50T25j
ZSgnY2FucGxheXRocm91Z2gnLCBjYW5wbGF5dGhyb3VnaCk7CiAgICAgICAgIHJ1bigndmlkZW8u
c3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0IiknKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpCisgICAgewogICAgICAgICBydW4oJ3ZpZGVv
LnBsYXkoKS50aGVuKHBsYXlpbmcpOycpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHBsYXlpbmco
KQorICAgIGFzeW5jIGZ1bmN0aW9uIHBsYXlpbmcoKQogICAgIHsKLSAgICAgICAgdGVzdEV4cGVj
dGVkKCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIHRydWUpOwotICAgICAgICB3
YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRlbmRmdWxsc2NyZWVuJywgZW5kZnVsbHNjcmVlbik7Cisg
ICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlp
bmdGdWxsc2NyZWVuJywgdHJ1ZSk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdHBy
ZXNlbnRhdGlvbm1vZGVjaGFuZ2VkJywgZW5kZnVsbHNjcmVlbik7CiAgICAgICAgIHJ1bigndmlk
ZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKScpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGVuZGZ1
bGxzY3JlZW4oKQorICAgIGFzeW5jIGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQogICAgIHsKKyAg
ICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0RGlzcGxheWlu
Z0Z1bGxzY3JlZW4nLCBmYWxzZSk7CiAgICAgICAgIHRlc3RFeHBlY3RlZCgndmlkZW8ucGF1c2Vk
JywgZmFsc2UpOwotICAgICAgICBydW4oJ3ZpZGVvLnBhdXNlKCknKTsKICAgICAgICAgd2FpdEZv
ckV2ZW50T25jZSgncGF1c2UnLCBwYXVzZWQpOworICAgICAgICBydW4oJ3ZpZGVvLnBhdXNlKCkn
KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBwYXVzZWQoKQogICAgIHsKICAgICAgICAgdGVzdEV4
cGVjdGVkKCd2aWRlby5wYXVzZWQnLCB0cnVlKTsKLSAgICAgICAgc2V0VGltZW91dChmdW5jdGlv
bigpeyBydW4oJ3ZpZGVvLnBsYXkoKS50aGVuKHBsYXlpbmdBZ2FpbiknKTt9LCAwKQorICAgICAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IHJ1bigndmlkZW8ucGxheSgpLnRoZW4ocGxheWluZ0Fn
YWluKScpOyB9LCAwKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBwbGF5aW5nQWdhaW4oKQorICAg
IGFzeW5jIGZ1bmN0aW9uIHBsYXlpbmdBZ2FpbigpCiAgICAgewotCi0gICAgICAgIHRlc3RFeHBl
Y3RlZCgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCB0cnVlKTsKKyAgICAgICAg
YXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxz
Y3JlZW4nLCB0cnVlKTsKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KLQogICAgIDwvc2NyaXB0
PgotCiA8L2hlYWQ+Ci0KIDxib2R5IG9ubG9hZD0iZ28oKSI+CiAgICAgPHZpZGVvIGNvbnRyb2xz
PjwvdmlkZW8+CisgICAgPHA+VGVzdCB0aGF0IGEgJmx0O3ZpZGVvJmd0OyBrZWVwcyBwbGF5aW5n
IGFmdGVyIGV4aXRpbmcgZnVsbHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9wZXJ0eSAiYWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgdHJ1ZS48L3A+CiA8L2Jv
ZHk+Ci08L2h0bWw+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5l
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJu
LXRvLWlubGluZS1leHBlY3RlZC50eHQKaW5kZXggM2Y1Njc5NTc2YjdiZjIyYjhhNTY1OWQyZWIz
YjJlNWUwZWQwNDE1My4uYWU4NzI5Y2ViODkxZjIyZTFlYzExOGQyNjAxOGUzOGYyODE3ZjBhZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8t
aW5saW5lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2Ny
ZWVuLXJldHVybi10by1pbmxpbmUtZXhwZWN0ZWQudHh0CkBAIC0xLDE3ICsxLDIxIEBACiAKLVJV
TihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSkp
Ci1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRl
ckZ1bGxzY3JlZW4oZmFsc2UpKQorVGVzdCB0aGF0IGEgPHZpZGVvPiBwYXVzZXMgYWZ0ZXIgZXhp
dGluZyBmdWxsc2NyZWVuIHdoZW4gdGhlIGludGVybmFsIHByb3BlcnR5ICJhbGxvd3NJbmxpbmVN
ZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuIiBpcyBmYWxzZS4KKwogUlVOKHZpZGVvLnNyYyA9
IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpKQogRVZFTlQoY2FucGxheXRo
cm91Z2gpCiBSVU4odmlkZW8ucGxheSgpKQotRVZFTlQod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkK
K0VWRU5UKHdlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKQorRVhQRUNURUQgKHZpZGVvLndl
YmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKIFJVTih2aWRlby53ZWJraXRF
eGl0RnVsbHNjcmVlbigpKQogRVZFTlQocGF1c2UpCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4odHJ1ZSkpCitFWFBFQ1RF
RCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykgT0sKK0VYUEVD
VEVEICh2aWRlby5wYXVzZWQgPT0gJ3RydWUnKSBPSwogUlVOKHZpZGVvLnBsYXkoKSkKLUVWRU5U
KHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpCitFVkVOVCh3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hh
bmdlZCkKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1
ZScpIE9LCiBSVU4odmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKSkKLUVWRU5UKHdlYmtpdGZ1
bGxzY3JlZW5jaGFuZ2UpCitFVkVOVCh3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCkKK0VY
UEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAnZmFsc2UnKSBPSwog
RVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAnZmFsc2UnKSBPSwogRU5EIE9GIFRFU1QKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5s
aW5lLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1p
bmxpbmUuaHRtbAppbmRleCBjNWI2NzYyYzU1NmI2ZjEyZGNjZTgxY2VjNWNkYmI5MjNlZDAyMTAy
Li43ZmY4MmUxZmMxZWU1ZmVjZDYwMDkxMDY2OWY4ZmIwZTVkZWMyMDNiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUu
aHRtbApAQCAtOSw0OCArOSw2NSBAQAogICAgIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gZ28oKQog
ICAgIHsKKyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICBmYWls
VGVzdCgnVGhpcyB0ZXN0IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKwogICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7Ci0gICAg
ICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2so
ZmFsc2UpJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4oZmFsc2UpJyk7Ci0gICAgICAgIHJ1bigndmlk
ZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0IiknKTsKKworICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJh
Y2soZmFsc2UpOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4oZmFsc2UpOworICAgICAgICAvLyBEaXNh
YmxlIHRoZSBGdWxsc2NyZWVuIEFQSSAoZWxlbWVudCBmdWxsc2NyZWVuKSBzdXBwb3J0CisgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2Up
OworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldE1vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVF
bmFibGVkKHRydWUpOworCiAgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ2NhbnBsYXl0aHJvdWdo
JywgY2FucGxheXRocm91Z2gpOworICAgICAgICBydW4oJ3ZpZGVvLnNyYyA9IGZpbmRNZWRpYUZp
bGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpJyk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gY2Fu
cGxheXRocm91Z2goKQogICAgIHsKKyAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0cHJl
c2VudGF0aW9ubW9kZWNoYW5nZWQnLCBiZWdpbmZ1bGxzY3JlZW4xKTsKICAgICAgICAgcnVuV2l0
aEtleURvd24oJ3ZpZGVvLnBsYXkoKScpOwotICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJr
aXRmdWxsc2NyZWVuY2hhbmdlJywgYmVnaW5mdWxsc2NyZWVuMSk7CiAgICAgfQogCi0gICAgZnVu
Y3Rpb24gYmVnaW5mdWxsc2NyZWVuMSgpCisgICAgYXN5bmMgZnVuY3Rpb24gYmVnaW5mdWxsc2Ny
ZWVuMSgpCiAgICAgewotICAgICAgICBydW4oJ3ZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCkn
KTsKKyAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0RGlz
cGxheWluZ0Z1bGxzY3JlZW4nLCB0cnVlKTsKICAgICAgICAgd2FpdEZvckV2ZW50T25jZSgncGF1
c2UnLCBwYXVzZSk7CisgICAgICAgIHJ1bigndmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKScp
OwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHBhdXNlKCkKKyAgICBhc3luYyBmdW5jdGlvbiBwYXVz
ZSgpCiAgICAgewotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKHRydWUpJyk7CisgICAgICAgIGF3YWl0IHRl
c3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywg
ZmFsc2UpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcsIHRydWUpOworCisg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKTsKKworICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3
ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGJlZ2luZnVsbHNjcmVlbjIpOwogICAgICAg
ICBydW5XaXRoS2V5RG93bigndmlkZW8ucGxheSgpJyk7Ci0gICAgICAgIHdhaXRGb3JFdmVudE9u
Y2UoJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBiZWdpbmZ1bGxzY3JlZW4yKTsKICAgICB9CiAK
LSAgICBmdW5jdGlvbiBiZWdpbmZ1bGxzY3JlZW4yKCkKKyAgICBhc3luYyBmdW5jdGlvbiBiZWdp
bmZ1bGxzY3JlZW4yKCkKICAgICB7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFs
bHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywgdHJ1ZSk7CisgICAgICAgIHdh
aXRGb3JFdmVudE9uY2UoJ3dlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkJywgZW5kZnVsbHNj
cmVlbik7CiAgICAgICAgIHJ1bigndmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKScpOwotICAg
ICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgZW5kZnVsbHNj
cmVlbik7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gZW5kZnVsbHNjcmVlbigpCisgICAgYXN5bmMg
ZnVuY3Rpb24gZW5kZnVsbHNjcmVlbigpCiAgICAgeworICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0
ZWRFdmVudHVhbGx5KCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIGZhbHNlKTsK
ICAgICAgICAgdGVzdEV4cGVjdGVkKCd2aWRlby5wYXVzZWQnLCBmYWxzZSk7CiAgICAgICAgIGVu
ZFRlc3QoKTsKICAgICB9CiAgICAgPC9zY3JpcHQ+Ci0KIDwvaGVhZD4KIAogPGJvZHkgb25sb2Fk
PSJnbygpIj4KLSAgICA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KKyAgICA8dmlkZW8gY29udHJv
bHMgbG9vcD48L3ZpZGVvPgorICAgIDxwPlRlc3QgdGhhdCBhICZsdDt2aWRlbyZndDsgcGF1c2Vz
IGFmdGVyIGV4aXRpbmcgZnVsbHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9wZXJ0eSAiYWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgZmFsc2UuPC9wPgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNj
cmVlbi5qcyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4uanMKaW5kZXggZDMz
OWNhMDJiNmJhZGYzMmRhOGNjNjQ4MTAzNTk2MTQxNzE4ZDg5Yy4uNjY0ZWI2NWU2OTU0NWI3ZDky
ZGI5YWJhZDBlNjIyMTI1ZjQ1YjlhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtZnVsbHNjcmVlbi5qcworKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVu
LmpzCkBAIC0zOCw5ICszOCw5IEBAIGZ1bmN0aW9uIGZ1bGxzY3JlZW5jaGFuZ2UoKQogICAgICAg
ICBlbmRmdWxsc2NyZWVuKCk7CiB9CiAKLWZ1bmN0aW9uIGJlZ2luZnVsbHNjcmVlbigpCithc3lu
YyBmdW5jdGlvbiBiZWdpbmZ1bGxzY3JlZW4oKQogewotICAgIHRlc3RFeHBlY3RlZCgibWVkaWFF
bGVtZW50LndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgdHJ1ZSk7CisgICAgYXdhaXQgdGVz
dEV4cGVjdGVkRXZlbnR1YWxseSgibWVkaWFFbGVtZW50LndlYmtpdERpc3BsYXlpbmdGdWxsc2Ny
ZWVuIiwgdHJ1ZSk7CiAgICAgcnVuKCJtZWRpYUVsZW1lbnQud2Via2l0RXhpdEZ1bGxTY3JlZW4o
KSIpOwogfQogCkBAIC00OSwxMyArNDksMTMgQEAgZnVuY3Rpb24gZW5kZnVsbHNjcmVlbigpCiAg
ICAgc2V0VGltZW91dChvcGVuTmV4dE1vdmllLCAxMCk7CiB9CiAKLWZ1bmN0aW9uIGZ1bGxzY3Jl
ZW5lcnJvcigpCithc3luYyBmdW5jdGlvbiBmdWxsc2NyZWVuZXJyb3IoKQogewogICAgIHZhciBt
b3ZpZSA9IG1vdmllSW5mby5tb3ZpZXNbbW92aWVJbmZvLmN1cnJlbnRdOwogICAgIGlmIChtb3Zp
ZS5pbmxpbmUpIHsKICAgICAgICAgZmFpbFRlc3QoIlVuZXhwZWN0ZWQgZnVsbHNjcmVlbmVycm9y
IGV2ZW50Iik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgdGVzdEV4cGVjdGVkKCJtZWRpYUVsZW1l
bnQud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCBmYWxzZSk7CisgICAgICAgIGF3YWl0IHRl
c3RFeHBlY3RlZEV2ZW50dWFsbHkoIm1lZGlhRWxlbWVudC53ZWJraXREaXNwbGF5aW5nRnVsbHNj
cmVlbiIsIGZhbHNlKTsKICAgICAgICAgb3Blbk5leHRNb3ZpZSgpOwogICAgIH0KIH0KQEAgLTEz
OCw0ICsxMzgsMyBAQCBmdW5jdGlvbiBhZGRFdmVudExpc3RlbmVycyhlbGVtKQogICAgIHdhaXRG
b3JFdmVudCgnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bGxzY3JlZW5jaGFuZ2UpOwogICAg
IHdhaXRGb3JFdmVudCgnd2Via2l0ZnVsbHNjcmVlbmVycm9yJywgZnVsbHNjcmVlbmVycm9yKTsK
IH0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L2Nzcy93ZWJraXQtY3Vyc29yLXZpc2liaWxpdHktYXV0by1oaWRlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9jc3Mvd2Via2l0LWN1cnNvci12
aXNpYmlsaXR5LWF1dG8taGlkZS1leHBlY3RlZC50eHQKaW5kZXggZjIxMDk4YTg2NjFiOGY0OWFl
OWM4NjM1ZGYwOGQyNzgxMjNlNTg2NC4uYzVmMGFlYzIzNWI2MGYyM2I0MDBkNDE3MjYwNGQzZGFj
OTdiYWNhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL2Nzcy93ZWJraXQtY3Vyc29yLXZpc2liaWxpdHktYXV0by1oaWRlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY3NzL3dlYmtpdC1j
dXJzb3ItdmlzaWJpbGl0eS1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0CkBAIC02LDcgKzYsNyBAQCBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUyBtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNj
cmVlbiBpcyBmYWxzZQogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHdpbmRvdy5pbnRlcm5hbHMuc2hh
ZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcignLm1lZGlhLWNvbnRyb2xzLWNvbnRhaW5lcicp
KS53ZWJraXRDdXJzb3JWaXNpYmlsaXR5IGlzICJhdXRvIgogCi1QQVNTIG1lZGlhLndlYmtpdERp
c3BsYXlpbmdGdWxsc2NyZWVuIGlzIHRydWUKK1BBU1MgbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1
bGxzY3JlZW4gYmVjYW1lIHRydWUKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh3aW5kb3cuaW50ZXJu
YWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoJy5tZWRpYS1jb250cm9scy1jb250
YWluZXInKSkud2Via2l0Q3Vyc29yVmlzaWJpbGl0eSBpcyAiYXV0by1oaWRlIgogCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvY3NzL3dlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eS1hdXRvLWhp
ZGUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9jc3Mvd2Vi
a2l0LWN1cnNvci12aXNpYmlsaXR5LWF1dG8taGlkZS5odG1sCmluZGV4IDAyYWEyY2U1NGQ4MjAw
YTQzNjg5ZGYyMjAwMjdlYmI2NTgwMTliYjMuLjI1NzJlODU4ZmUzNDNkYjdhOWZiMjIzNDhjNDFl
ZTM2Zjc4MTQ0NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9jc3Mvd2Via2l0LWN1cnNvci12aXNpYmlsaXR5LWF1dG8taGlkZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9jc3Mvd2Via2l0LWN1cnNv
ci12aXNpYmlsaXR5LWF1dG8taGlkZS5odG1sCkBAIC0xNywxMiArMTcsMTMgQEAgbWVkaWEuYWRk
RXZlbnRMaXN0ZW5lcigicGxheSIsICgpID0+IHsKICAgICBkZWJ1ZygiIik7CiAKICAgICBtZWRp
YS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIiwgKCkgPT4gewotICAg
ICAgICBzaG91bGRCZVRydWUoIm1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIik7Ci0g
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh3aW5kb3cuaW50
ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoJy5tZWRpYS1jb250cm9scy1j
b250YWluZXInKSkud2Via2l0Q3Vyc29yVmlzaWJpbGl0eSIsICJhdXRvLWhpZGUiKTsKLSAgICAg
ICAgZGVidWcoIiIpOwotICAgICAgICBidXR0b24ucmVtb3ZlKCk7Ci0gICAgICAgIG1lZGlhLnJl
bW92ZSgpOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgc2hvdWxkQmVjb21lRXF1
YWwoIm1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgInRydWUiLCAoKSA9PiB7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUod2luZG93
LmludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCcubWVkaWEtY29udHJv
bHMtY29udGFpbmVyJykpLndlYmtpdEN1cnNvclZpc2liaWxpdHkiLCAiYXV0by1oaWRlIik7Cisg
ICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICBidXR0b24ucmVtb3ZlKCk7CisgICAg
ICAgICAgICBtZWRpYS5yZW1vdmUoKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICB9KTsKICAgICB9KTsKIAogICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVk
aWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxs
c2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJh
Zy1leHBlY3RlZC50eHQKaW5kZXggZmEyYTUwZTNlMGM0MTFkYWQ3OGI2MWI2NjFlYWQ3MmY1YzA2
YzZmMC4uYmI5Nzc4NTJhZmU3M2QwZGYxZjFlNGZjZmE5ODA2NThhMDYyMGI5MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3Jl
ZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNv
bnRyb2xzLWRyYWctZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBUaGlzIHRlc3QgcGF1c2Vz
IHRoZSB2aWRlbywgcHJlc3NlcyB0aGUgZnVsbHNjcmVlbiBidXR0b24sIGFuZCBkcmFncyB0aGUg
Y29udHJvbAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKK1BBU1MgbWVkaWEud2Via2l0
RGlzcGxheWluZ0Z1bGxzY3JlZW4gYmVjYW1lIHRydWUKIFBBU1MgISFtZWRpYUNvbnRyb2xzLnF1
ZXJ5U2VsZWN0b3IoJy5idXR0b25zLWNvbnRhaW5lci5sZWZ0JykgYmVjYW1lIHRydWUKIFBBU1Mg
bWVkaWFDb250cm9scy5xdWVyeVNlbGVjdG9yKCcuYnV0dG9ucy1jb250YWluZXIubGVmdCcpLnN0
eWxlLndpZHRoIGJlY2FtZSAiMTE4cHgiCiBQQVNTIG1lZGlhQ29udHJvbHMucXVlcnlTZWxlY3Rv
cignLmNvbnRyb2xzLWJhcicpLnN0eWxlLnRyYW5zZm9ybSBpcyAidHJhbnNsYXRlKC01MHB4LCAt
MTAwcHgpIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRp
YS1jb250cm9scy1kcmFnLWlzLXByZXZlbnRlZC1vdmVyLWJ1dHRvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1t
ZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctaXMtcHJl
dmVudGVkLW92ZXItYnV0dG9uLWV4cGVjdGVkLnR4dAppbmRleCBkNmZjN2UyZDEwZjQzYTk1NGVi
YzA3ZGFmYTRmZDA2OWU5YzIwZGNkLi5iMDhlYWEyYTc3Y2QyMmM5Yjc5NGU0NmViMzljZDk2YmE4
NjFlM2VjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlh
LWNvbnRyb2xzLWRyYWctaXMtcHJldmVudGVkLW92ZXItYnV0dG9uLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVl
bi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctaXMt
cHJldmVudGVkLW92ZXItYnV0dG9uLWV4cGVjdGVkLnR4dApAQCAtMyw2ICszLDcgQEAgVGhpcyB0
ZXN0IHBhdXNlcyB0aGUgdmlkZW8sIHByZXNzZXMgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uLCBhbmQg
ZHJhZ3MgdGhlIGNvbnRyb2wKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCitQQVNTIG1l
ZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIGJlY2FtZSB0cnVlCiBQQVNTICEhbWVkaWFD
b250cm9scy5xdWVyeVNlbGVjdG9yKCcuYnV0dG9ucy1jb250YWluZXIubGVmdCcpIGJlY2FtZSB0
cnVlCiBQQVNTIG1lZGlhQ29udHJvbHMucXVlcnlTZWxlY3RvcignLmJ1dHRvbnMtY29udGFpbmVy
LmxlZnQnKS5zdHlsZS53aWR0aCBiZWNhbWUgIjExOHB4IgogUEFTUyBtZWRpYUNvbnRyb2xzLnF1
ZXJ5U2VsZWN0b3IoJy5jb250cm9scy1iYXInKS5zdHlsZS50cmFuc2Zvcm0gaXMgIiIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxs
c2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJh
Zy1pcy1wcmV2ZW50ZWQtb3Zlci1idXR0b24uaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1
bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1pcy1wcmV2ZW50ZWQtb3Zlci1idXR0b24uaHRt
bAppbmRleCBjYTdhZmRiYmI2NTY4MDk5YTg0MmJlM2U5MzBkODM2MjRlMTdjNjQ1Li41NmFlN2Fm
MjY5ZmQ1YjI1NTU1M2JmZDU2ZjMyMjZlYzdmMjkwNWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250
cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctaXMtcHJldmVudGVkLW92
ZXItYnV0dG9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRp
YS1jb250cm9scy1kcmFnLWlzLXByZXZlbnRlZC1vdmVyLWJ1dHRvbi5odG1sCkBAIC0xNyw3ICsx
Nyw3IEBAIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGJlZ2luZnVsbHNjcmVlbiIsICgp
ID0+IHsKIH0pOwogCiBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hh
bmdlIiwgKCkgPT4gewotICAgIGlmIChtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbikg
eworICAgIHNob3VsZEJlY29tZUVxdWFsKCJtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVl
biIsICJ0cnVlIiwgKCkgPT4gewogICAgICAgICBtZWRpYUNvbnRyb2xzID0gc2hhZG93Um9vdC5s
YXN0Q2hpbGQ7CiAgICAgICAgIHNob3VsZEJlY29tZUVxdWFsKCIhIW1lZGlhQ29udHJvbHMucXVl
cnlTZWxlY3RvcignLmJ1dHRvbnMtY29udGFpbmVyLmxlZnQnKSIsICJ0cnVlIiwgKCkgPT4gewog
ICAgICAgICAgICAgc2hvdWxkQmVjb21lRXF1YWxUb1N0cmluZygibWVkaWFDb250cm9scy5xdWVy
eVNlbGVjdG9yKCcuYnV0dG9ucy1jb250YWluZXIubGVmdCcpLnN0eWxlLndpZHRoIiwgIjExOHB4
IiwgKCkgPT4gewpAQCAtMzMsNyArMzMsNyBAQCBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJr
aXRmdWxsc2NyZWVuY2hhbmdlIiwgKCkgPT4gewogICAgICAgICAgICAgICAgIH0pOwogICAgICAg
ICAgICAgfSk7CiAgICAgICAgIH0pOwotICAgIH0KKyAgICB9KTsKIH0pOwogCiBtZWRpYS5hZGRF
dmVudExpc3RlbmVyKCJwbGF5IiwgKCkgPT4gewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMv
bWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLmh0bWwgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9s
cy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWcuaHRtbAppbmRleCA1OGQxZWQ4
ZDhlM2ViNmYzNDhkMGIzODljNzI1ZTliNWM1YTg3NTkwLi5lNjQzZDBiMzNkZjhhYzdlNjQxMjFi
MzBkMzcwYzY5MTAwOTViMjY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxs
c2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNv
cy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWcuaHRtbApAQCAtMTcsNyArMTcsNyBAQCBt
ZWRpYS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCAoKSA9PiB7CiB9
KTsKIAogbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsICgp
ID0+IHsKLSAgICBpZiAobWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4pIHsKKyAgICBz
aG91bGRCZWNvbWVFcXVhbCgibWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCAidHJ1
ZSIsICgpID0+IHsKICAgICAgICAgbWVkaWFDb250cm9scyA9IHNoYWRvd1Jvb3QubGFzdENoaWxk
OwogICAgICAgICBzaG91bGRCZWNvbWVFcXVhbCgiISFtZWRpYUNvbnRyb2xzLnF1ZXJ5U2VsZWN0
b3IoJy5idXR0b25zLWNvbnRhaW5lci5sZWZ0JykiLCAidHJ1ZSIsICgpID0+IHsKICAgICAgICAg
ICAgIHNob3VsZEJlY29tZUVxdWFsVG9TdHJpbmcoIm1lZGlhQ29udHJvbHMucXVlcnlTZWxlY3Rv
cignLmJ1dHRvbnMtY29udGFpbmVyLmxlZnQnKS5zdHlsZS53aWR0aCIsICIxMThweCIsICgpID0+
IHsKQEAgLTMzLDcgKzMzLDcgQEAgbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNj
cmVlbmNoYW5nZSIsICgpID0+IHsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9KTsKLSAgICB9CisgICAgfSk7CiB9KTsKIAogbWVkaWEuYWRkRXZlbnRMaXN0
ZW5lcigicGxheSIsICgpID0+IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY2xpY2st
b24tdmlkZW8tYmFja2dyb3VuZC1zaG91bGQtcGF1c2UtZnVsbHNjcmVlbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxl
ci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9uLXZpZGVvLWJhY2tncm91bmQtc2hvdWxkLXBhdXNl
LWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0CmluZGV4IGNjZDY3N2YxMTRmODdkOWIyNTZkMjFhNjJi
NzYxMGNlMGNlNmJlN2MuLjIwNjRkN2QzYzFiNGVkNzY1ODlmMzQ5YzgzZDgzNDE4ODJmMWJhNzkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRp
YS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY2xpY2stb24tdmlkZW8tYmFja2dyb3VuZC1z
aG91bGQtcGF1c2UtZnVsbHNjcmVlbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxl
ci1jbGljay1vbi12aWRlby1iYWNrZ3JvdW5kLXNob3VsZC1wYXVzZS1mdWxsc2NyZWVuLWV4cGVj
dGVkLnR4dApAQCAtNiw3ICs2LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIFBBU1MgbWVk
aWFDb250cm9scy5xdWVyeVNlbGVjdG9yKCdidXR0b24uZnVsbHNjcmVlbicpIGluc3RhbmNlb2Yg
SFRNTEJ1dHRvbkVsZW1lbnQgYmVjYW1lIHRydWUKIAogRW50ZXJpbmcgZnVsbHNjcmVlbgotUEFT
UyBtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiBpcyB0cnVlCitQQVNTIG1lZGlhLndl
YmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIGJlY2FtZSB0cnVlCiBQQVNTIG1lZGlhLnBhdXNlZCBp
cyBmYWxzZQogCiBDbGlja2luZyBvbiB2aWRlbyBiYWNrZ3JvdW5kCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRp
YS1jb250cm9sbGVyLWNsaWNrLW9uLXZpZGVvLWJhY2tncm91bmQtc2hvdWxkLXBhdXNlLWZ1bGxz
Y3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRp
YS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY2xpY2stb24tdmlkZW8tYmFja2dyb3VuZC1z
aG91bGQtcGF1c2UtZnVsbHNjcmVlbi5odG1sCmluZGV4IDhjZjVlZTdhOWYyYTViOTA4NmE2YzFj
MDRiOWU5ZjI1NmYwZmE5NmIuLmI1YzQ4MzJiM2EyYWI2NjBjYmYxNWM3YTEwNWQwOWZmM2MxOGJm
YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9t
ZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY2xpY2stb24tdmlkZW8tYmFja2dyb3Vu
ZC1zaG91bGQtcGF1c2UtZnVsbHNjcmVlbi5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY2xp
Y2stb24tdmlkZW8tYmFja2dyb3VuZC1zaG91bGQtcGF1c2UtZnVsbHNjcmVlbi5odG1sCkBAIC0y
MiwyMSArMjIsMjIgQEAgbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigicGxheSIsICgpID0+IHsKIAog
CiBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIiwgKCkgPT4g
ewotICAgIHNob3VsZEJlVHJ1ZSgibWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iKTsK
LSAgICBzaG91bGRCZUZhbHNlKCJtZWRpYS5wYXVzZWQiKTsKKyAgICBzaG91bGRCZWNvbWVFcXVh
bCgibWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCAidHJ1ZSIsICgpID0+IHsKKyAg
ICAgICAgc2hvdWxkQmVGYWxzZSgibWVkaWEucGF1c2VkIik7CiAKLSAgICBjb25zdCBib3VuZHMg
PSBtZWRpYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVi
dWcoIkNsaWNraW5nIG9uIHZpZGVvIGJhY2tncm91bmQiKTsKLSAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhib3VuZHMubGVmdCArIDUsIGJvdW5kcy50b3AgKyA1KTsKLSAgICBldmVudFNlbmRl
ci5tb3VzZURvd24oKTsKLSAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgICAgIGNvbnN0
IGJvdW5kcyA9IG1lZGlhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICBkZWJ1Zygi
Iik7CisgICAgICAgIGRlYnVnKCJDbGlja2luZyBvbiB2aWRlbyBiYWNrZ3JvdW5kIik7CisgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGJvdW5kcy5sZWZ0ICsgNSwgYm91bmRzLnRvcCAr
IDUpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VVcCgpOwogCi0gICAgc2hvdWxkQmVUcnVlKCJtZWRpYS5wYXVzZWQiKTsKKyAgICAg
ICAgc2hvdWxkQmVUcnVlKCJtZWRpYS5wYXVzZWQiKTsKIAotICAgIGRlYnVnKCIiKTsKLSAgICBt
ZWRpYS5yZW1vdmUoKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgZGVidWcoIiIpOwor
ICAgICAgICBtZWRpYS5yZW1vdmUoKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSk7
CiB9KTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWZ1bGxzY3Jl
ZW4tbHRyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItZnVsbHNjcmVlbi1sdHItZXhw
ZWN0ZWQudHh0CmluZGV4IGM3MTFmNTExNGZlYjYzM2ZjM2Y5YTA2ZDRmYTJiYTYxZjJmMmZlZDEu
LmE1OGY4ZmJmZTJlODhmM2EyYWY5MjkxNTY4MzBhNzJhMzM2MTM2OTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21l
ZGlhLWNvbnRyb2xsZXItZnVsbHNjcmVlbi1sdHItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNv
bnRyb2xsZXItZnVsbHNjcmVlbi1sdHItZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBUZXN0
aW5nIGx0ciBpcyBzZXQgY29ycmVjdGx5IHdoZW4gZW50ZXJpbmcgZnVsbHNjcmVlbi4KIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCitQQVNTIG1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxs
c2NyZWVuIGJlY2FtZSB0cnVlCiBNZWRpYSBlbnRlcmVkIGZ1bGxzY3JlZW4KIFBBU1MgbWVkaWFD
b250cm9sc0VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd1c2VzLWx0ci11c2VyLWludGVyZmFj
ZS1sYXlvdXQtZGlyZWN0aW9uJykgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5kZWZhdWx0Vmlldy5n
ZXRDb21wdXRlZFN0eWxlKHZvbHVtZVNsaWRlckVsZW1lbnQpLnRyYW5zZm9ybSBpcyAibm9uZSIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRp
YS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItZnVsbHNjcmVlbi1sdHIuaHRtbCBiL0xheW91
dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlh
LWNvbnRyb2xsZXItZnVsbHNjcmVlbi1sdHIuaHRtbAppbmRleCA2ODc5ZjBlM2FiM2NmNTkwMTAw
N2VlOTM3MmU2Y2EzYzUwOGNhNTlhLi4yNjQ0OWRhMDZhOTQ0Zjk2Y2U1NjU5NTY4YWQxMjI3YjA1
OTYyNTIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWZ1bGxzY3JlZW4tbHRyLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRy
b2xsZXIvbWVkaWEtY29udHJvbGxlci1mdWxsc2NyZWVuLWx0ci5odG1sCkBAIC0xNSw3ICsxNSw3
IEBAIGxldCBzaGFkb3dSb290ID0gd2luZG93LmludGVybmFscy5zaGFkb3dSb290KG1lZGlhKTsK
IGxldCBtZWRpYUNvbnRyb2xzRWxlbWVudCwgdm9sdW1lU2xpZGVyRWxlbWVudDsKIAogbWVkaWEu
YWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIGZ1bmN0aW9uKCkgewot
ICAgIGlmIChtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbikgeworICAgIHNob3VsZEJl
Y29tZUVxdWFsKCJtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIsICJ0cnVlIiwgKCkg
PT4gewogICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKICAgICAg
ICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gewogICAgICAgICAgICAg
ICAgIGRlYnVnKCJNZWRpYSBlbnRlcmVkIGZ1bGxzY3JlZW4iKTsKQEAgLTQ0LDcgKzQ0LDcgQEAg
bWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIGZ1bmN0aW9u
KCkgewogICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgICAgICAgICAgfSk7CiAg
ICAgICAgIH0pOwotICAgIH0KKyAgICB9KTsKIH0pOwogCiBtZWRpYS5hZGRFdmVudExpc3RlbmVy
KCJsb2FkZWRtZXRhZGF0YSIsICgpID0+IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXIt
c3BhY2UtYmFyLXRvZ2dsZS1wbGF5YmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVy
LXNwYWNlLWJhci10b2dnbGUtcGxheWJhY2stZXhwZWN0ZWQudHh0CmluZGV4IGNhMWEzZGNkN2Uy
NTI4YzVkOGU5NmM2Mzg0MWJhY2RiYTY1YTZkYWIuLjlmYTg2MzViYWFmZjAxMmNlYzMwNTU0YWY4
MWFhMzcwODBmZmYxYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItc3BhY2UtYmFyLXRv
Z2dsZS1wbGF5YmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1zcGFjZS1i
YXItdG9nZ2xlLXBsYXliYWNrLWV4cGVjdGVkLnR4dApAQCAtOSw3ICs5LDcgQEAgT2J0YWluZWQg
YSAncGxheScgZXZlbnQuCiBFbnRlcmluZyBmdWxsc2NyZWVuLgogCiBPYnRhaW5lZCBhICd3ZWJr
aXRmdWxsc2NyZWVuY2hhbmdlJyBldmVudC4KLW1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2Ny
ZWVuID0gdHJ1ZS4KK1BBU1MgbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gYmVjYW1l
IHRydWUKIFBBU1MgbWVkaWEucGF1c2VkIGlzIGZhbHNlCiAKIFByZXNzaW5nIHRoZSBzcGFjZSBi
YXIuCkBAIC0yMSw3ICsyMSw2IEBAIFByZXNzaW5nIHRoZSBzcGFjZSBiYXIuCiBPYnRhaW5lZCBh
ICdwbGF5JyBldmVudC4KIAogT2J0YWluZWQgYSAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScgZXZl
bnQuCi1tZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9IGZhbHNlLgogCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXIt
c3BhY2UtYmFyLXRvZ2dsZS1wbGF5YmFjay5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1zcGFjZS1i
YXItdG9nZ2xlLXBsYXliYWNrLmh0bWwKaW5kZXggZjMwNWYxZWZmOGNhOTgyYjNhNjhmODA2NTFj
ODhkOWQ0YTEwOWIyZi4uMDkzNDQwMzU2MTU4MDY1YmEzMjU1Y2VjNmZmMjI1MDgxMzdkODBjYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
LWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1zcGFjZS1iYXItdG9nZ2xlLXBsYXliYWNrLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNv
bnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1zcGFjZS1iYXItdG9nZ2xlLXBsYXliYWNrLmh0bWwK
QEAgLTE2LDExICsxNiwxMiBAQCBidXR0b24udGV4dENvbnRlbnQgPSAiRW50ZXIgRnVsbHNjcmVl
biI7CiBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIiwgKCkg
PT4gewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiT2J0YWluZWQgYSAnd2Via2l0ZnVsbHNj
cmVlbmNoYW5nZScgZXZlbnQuIik7Ci0gICAgZGVidWcoYG1lZGlhLndlYmtpdERpc3BsYXlpbmdG
dWxsc2NyZWVuID0gJHttZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbn0uYCk7CiAKLSAg
ICBpZiAobWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4pIHsKLSAgICAgICAgc2hvdWxk
QmVGYWxzZSgibWVkaWEucGF1c2VkIik7Ci0gICAgICAgIHByZXNzU3BhY2UoKTsKKyAgICBpZiAo
cGxheUNvdW50ID09IDEpIHsKKyAgICAgICAgc2hvdWxkQmVjb21lRXF1YWwoJ21lZGlhLndlYmtp
dERpc3BsYXlpbmdGdWxsc2NyZWVuJywgJ3RydWUnLCAoKSA9PiB7CisgICAgICAgICAgICBzaG91
bGRCZUZhbHNlKCJtZWRpYS5wYXVzZWQiKTsKKyAgICAgICAgICAgIHByZXNzU3BhY2UoKTsKKyAg
ICAgICAgfSk7CiAgICAgfSBlbHNlCiAgICAgICAgIGVuZFRlc3QoKTsKIH0pOwpAQCAtNDYsNyAr
NDcsNiBAQCBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJwYXVzZSIsICgpID0+IHsKICAgICBwcmVz
c1NwYWNlKCk7CiB9KTsKIAotCiBmdW5jdGlvbiBlbnRlckZ1bGxzY3JlZW4oKSB7CiAgICAgZGVi
dWcoIiIpOwogICAgIGRlYnVnKCJFbnRlcmluZyBmdWxsc2NyZWVuLiIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L3Ry
YWNrcy1zdXBwb3J0LXNob3ctcGFuZWwtZnVsbHNjcmVlbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1
cHBvcnQtc2hvdy1wYW5lbC1mdWxsc2NyZWVuLWV4cGVjdGVkLnR4dAppbmRleCBhMzMxMDkzMjg2
NTRiMjI1NDI5NjllZTY5Nzc1ZDdmYTI5NDdhMzkzLi43NTE1MjU1MDQyODA4ZGM2ZjNkMWQ5YWE3
MTNlNjE2ZTUyOTc1ZWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQtc2hvdy1wYW5lbC1mdWxs
c2NyZWVuLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQtc2hvdy1wYW5lbC1mdWxsc2Ny
ZWVuLWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUK
IAogUEFTUyBpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9u
LmZ1bGxzY3JlZW4iKSBiZWNhbWUgZGlmZmVyZW50IGZyb20gbnVsbAogUEFTUyBpbnRlcm5hbHMu
c2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9uLmZ1bGxzY3JlZW4iKS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCBiZWNhbWUgZGlmZmVyZW50IGZyb20gMAorUEFTUyBt
ZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiBiZWNhbWUgdHJ1ZQogUEFTUyBpbnRlcm5h
bHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9uLnRyYWNrcyIpIGJlY2Ft
ZSBkaWZmZXJlbnQgZnJvbSBudWxsCiBQQVNTIGludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5x
dWVyeVNlbGVjdG9yKCJidXR0b24udHJhY2tzIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lk
dGggYmVjYW1lIGRpZmZlcmVudCBmcm9tIDAKIFBBU1MgaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVk
aWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi50cmFja3MiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KS5yaWdodCBiZWNhbWUgNTgyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQtc2hvdy1wYW5lbC1m
dWxsc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
dHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQtc2hvdy1wYW5lbC1mdWxsc2NyZWVuLmh0bWwK
aW5kZXggM2UxMmQ0MjI4YWI2ZTY5NWUxOTExMDI4MGJmY2JlYTUwZjUwNWRjNC4uNDJmYWRhZjU1
Mjg3YWRmZjJmNzk1NjBkMWVjYWJhODgxZTk0NDI2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0
LXNob3ctcGFuZWwtZnVsbHNjcmVlbi5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVs
LWZ1bGxzY3JlZW4uaHRtbApAQCAtMTIsMTkgKzEyLDE4IEBAIGRlc2NyaXB0aW9uKCJTaG93aW5n
IHRoZSB0cmFja3MgcGFuZWwgaW4gZnVsbHNjcmVlbi4iKTsKIGNvbnN0IG1lZGlhID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcigidmlkZW8iKTsKIAogbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigid2Vi
a2l0ZnVsbHNjcmVlbmNoYW5nZSIsICgpID0+IHsKLSAgICBpZiAoIW1lZGlhLndlYmtpdERpc3Bs
YXlpbmdGdWxsc2NyZWVuKQotICAgICAgICByZXR1cm47Ci0KLSAgICBzaG91bGRCZWNvbWVEaWZm
ZXJlbnQoYGludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCJidXR0b24u
dHJhY2tzIilgLCAibnVsbCIsICgpID0+IHsKLSAgICAgICAgc2hvdWxkQmVjb21lRGlmZmVyZW50
KGBpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9uLnRyYWNr
cyIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoYCwgIjAiLCAoKSA9PiB7Ci0gICAgICAg
ICAgICBzaG91bGRCZWNvbWVFcXVhbChgaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5
U2VsZWN0b3IoImJ1dHRvbi50cmFja3MiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodGAs
ICI1ODIiLCAoKSA9PiB7Ci0gICAgICAgICAgICAgICAgcHJlc3NPbkVsZW1lbnQoaW50ZXJuYWxz
LnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi50cmFja3MiKSk7Ci0gICAg
ICAgICAgICAgICAgc2hvdWxkQmVjb21lRGlmZmVyZW50KGBpbnRlcm5hbHMuc2hhZG93Um9vdCht
ZWRpYSkucXVlcnlTZWxlY3RvcignLnRyYWNrcy1wYW5lbCcpYCwgIm51bGwiLCAoKSA9PiB7Ci0g
ICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiaW50ZXJuYWxzLnNoYWRv
d1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoJy50cmFja3MtcGFuZWwnKS5zdHlsZS5yaWdodCIs
ICIyMThweCIpOwotICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImlu
dGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCcudHJhY2tzLXBhbmVsJyku
c3R5bGUuYm90dG9tIiwgIjEwMXB4Iik7Ci0gICAgICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsK
LSAgICAgICAgICAgICAgICAgICAgbWVkaWEucmVtb3ZlKCk7Ci0gICAgICAgICAgICAgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIHNob3VsZEJlY29tZUVxdWFsKCJtZWRpYS53ZWJraXREaXNw
bGF5aW5nRnVsbHNjcmVlbiIsICJ0cnVlIiwgKCkgPT4geworICAgICAgICBzaG91bGRCZWNvbWVE
aWZmZXJlbnQoYGludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCJidXR0
b24udHJhY2tzIilgLCAibnVsbCIsICgpID0+IHsKKyAgICAgICAgICAgIHNob3VsZEJlY29tZURp
ZmZlcmVudChgaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRv
bi50cmFja3MiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aGAsICIwIiwgKCkgPT4gewor
ICAgICAgICAgICAgICAgIHNob3VsZEJlY29tZUVxdWFsKGBpbnRlcm5hbHMuc2hhZG93Um9vdCht
ZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9uLnRyYWNrcyIpLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpLnJpZ2h0YCwgIjU4MiIsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgcHJlc3NPbkVs
ZW1lbnQoaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi50
cmFja3MiKSk7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlY29tZURpZmZlcmVudChgaW50
ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoJy50cmFja3MtcGFuZWwnKWAs
ICJudWxsIiwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcignLnRyYWNr
cy1wYW5lbCcpLnN0eWxlLnJpZ2h0IiwgIjIxOHB4Iik7CisgICAgICAgICAgICAgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVy
eVNlbGVjdG9yKCcudHJhY2tzLXBhbmVsJykuc3R5bGUuYm90dG9tIiwgIjEwMXB4Iik7CisgICAg
ICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICAgICAgICAgICAgICBt
ZWRpYS5yZW1vdmUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAg
IH0pOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1
bGxzY3JlZW4tb25seS1wbGF5YmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS92
aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2stZXhwZWN0ZWQudHh0CmluZGV4IDMzNzI0ZjBi
NjIzYTE0YmY3NTJjNGFhYzQwNDVmY2FkMjc5YjQ3MmIuLmMxNzJiNTJlZjQ2NDQzM2QyOTg4ZTk2
MzY5OTM3MTFmMWM4MzMzMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1
bGxzY3JlZW4tb25seS1wbGF5YmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwxOCAr
MSwxOCBAQAogCi1UZXN0IHBsYXkoKSB3aGVuIDx2aWRlbz4gcGxheWJhY2sgcmVxdWlyZXMgZnVs
bHNjcmVlbi4KK1Rlc3QgdGhlIHBsYXkoKSBmdW5jdGlvbiBvZiA8dmlkZW8+IHdoZW4gZnVsbHNj
cmVlbiBpcyByZXF1aXJlZC4KIAotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrKGZhbHNlKSkKIAogRVZFTlQoY2FucGxheXRocm91Z2gpCiBFWFBFQ1RF
RCAodmlkZW8ud2Via2l0U3VwcG9ydHNGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKIEVYUEVDVEVE
ICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAnZmFsc2UnKSBPSwotCi0qKiBD
bGlja2luZyAncGxheScgYnV0dG9uLi4uCitSVU4odmlkZW8ucGxheSgpKQogRVZFTlQocGxheWlu
ZykKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1ZScp
IE9LCiAKICoqIEVudGVyZWQgZnVsbHNjcmVlbgotRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3Bs
YXlpbmdGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKIFJVTih2aWRlby53ZWJraXRFeGl0RnVsbFNj
cmVlbigpKQorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQpCitFWFBFQ1RFRCAo
dmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykgT0sKIAogKiogRXhp
dGVkIGZ1bGxzY3JlZW4KIEVORCBPRiBURVNUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRp
YS92aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2suaHRtbCBiL0xheW91dFRlc3RzL21lZGlh
L3ZpZGVvLWZ1bGxzY3JlZW4tb25seS1wbGF5YmFjay5odG1sCmluZGV4IGY2ZjlkNmI3NzliZDA2
Nzk5YmQ4OGM5YTE2NjdmNWYxZGE2OGE2YzYuLmU4ZTljYTE5MzdkMmI0ZTQwM2EwNjE4MmEwNmNj
MWZjMmJiMjc2OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1bGxzY3Jl
ZW4tb25seS1wbGF5YmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1bGxz
Y3JlZW4tb25seS1wbGF5YmFjay5odG1sCkBAIC0xLDI4ICsxLDI4IEBACi08IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIGVuYWJsZU1vZGVybk1lZGlhQ29udHJvbHM9ZmFsc2UgXSAtLT4KKzwhRE9D
VFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlTW9kZXJuTWVkaWFDb250
cm9scz1mYWxzZSBdIC0tPgogPGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxzY3JpcHQgc3Jj
PW1lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPXZpZGVvLXRlc3Qu
anM+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPW1lZGlhLWNvbnRyb2xzLmpzPjwvc2Ny
aXB0PgogICAgICAgICA8c2NyaXB0PgotCi0gICAgICAgICAgICBmdW5jdGlvbiBmdWxsc2NyZWVu
Y2hhbmdlKCkKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LndlYmtpdElzRnVsbFNjcmVlbikKLSAgICAgICAg
ICAgICAgICAgICAgZW5kZnVsbHNjcmVlbigpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIGlmICghd2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgICAgICAgICBmYWlsVGVz
dCgnVGhpcyB0ZXN0IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9u
IHBsYXlpbmcoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
PGJyPioqIEVudGVyZWQgZnVsbHNjcmVlbiIpOwotICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgidmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCB0cnVlKTsKLSAgICAgICAgICAg
ICAgICBydW4oInZpZGVvLndlYmtpdEV4aXRGdWxsU2NyZWVuKCkiKTsKLSAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2
aWRlbycpWzBdOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgiY2FucGxheXRocm91Z2gi
LCBjYW5wbGF5dGhyb3VnaCk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5n
JywgcGxheWluZyk7CisgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgi
dmlkZW8iLCAiY29udGVudC90ZXN0Iik7CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIGVuZGZ1bGxz
Y3JlZW4oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJy
PioqIEV4aXRlZCBmdWxsc2NyZWVuIik7Ci0gICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFjayhmYWxzZSk7CisgICAgICAgICAgICAgICAgLy8gRGlzYWJsZSB0aGUgRnVsbHNj
cmVlbiBBUEkgKGVsZW1lbnQgZnVsbHNjcmVlbikgc3VwcG9ydAorICAgICAgICAgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpOworICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0TW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9k
ZUVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwogICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpCkBAIC0z
MCw0MSArMzAsMzMgQEAKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLndlYmtp
dFN1cHBvcnRzRnVsbHNjcmVlbiIsIHRydWUpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgidmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCBmYWxzZSk7CiAKLSAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBDbGlja2luZyBcJ3BsYXlcJyBidXR0b24uLi4i
KTsKLQogICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgICAgIGNsaWNrUGxh
eUJ1dHRvbih2aWRlbyk7CisgICAgICAgICAgICAgICAgICAgIHJ1bldpdGhLZXlEb3duKCJ2aWRl
by5wbGF5KCkiKTsKICAgICAgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKICAgICAg
ICAgICAgICAgICAgICAgZmFpbFRlc3QoZXhjZXB0aW9uLmRlc2NyaXB0aW9uKTsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAot
Ci0gICAgICAgICAgICBmdW5jdGlvbiBzdGFydCgpCisgICAgICAgICAgICBhc3luYyBmdW5jdGlv
biBwbGF5aW5nKCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpZiAoIXdpbmRvdy5p
bnRlcm5hbHMpIHsKLSAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoJ1RoaXMgdGVzdCByZXF1
aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVswXTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoImNhbnBsYXl0aHJvdWdoIiwgY2FucGxheXRocm91Z2gpOwotICAgICAgICAgICAgICAgIHdh
aXRGb3JFdmVudCgncGxheWluZycsIHBsYXlpbmcpOwotCi0gICAgICAgICAgICAgICAgdmlkZW8u
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZW5kZnVsbHNjcmVlbicsIGVuZGZ1bGxzY3JlZW4sIHRy
dWUpOwotICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGZ1bGxz
Y3JlZW5jaGFuZ2UnLCBmdWxsc2NyZWVuY2hhbmdlLCB0cnVlKTsKLQotICAgICAgICAgICAgICAg
IHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpOworICAg
ICAgICAgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoInZpZGVvLndlYmtpdERp
c3BsYXlpbmdGdWxsc2NyZWVuIiwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCI8YnI+KiogRW50ZXJlZCBmdWxsc2NyZWVuIik7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50KCd3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGVuZGZ1bGxzY3JlZW4pOworICAg
ICAgICAgICAgICAgIHJ1bigidmlkZW8ud2Via2l0RXhpdEZ1bGxTY3JlZW4oKSIpOworICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICAgICAgcnVuKCJpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSkiKTsKLSAgICAgICAgICAgICAgICBjb25zb2xl
V3JpdGUoIiIpOworICAgICAgICAgICAgYXN5bmMgZnVuY3Rpb24gZW5kZnVsbHNjcmVlbigpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxs
eSgidmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCBmYWxzZSk7CisgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogRXhpdGVkIGZ1bGxzY3JlZW4iKTsKKyAgICAgICAg
ICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIDwvc2NyaXB0PgogICAg
IDwvaGVhZD4KIAogICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+CiAgICAgICAgIDx2aWRlbyBj
b250cm9scz48L3ZpZGVvPgotICAgICAgICA8cD5UZXN0IHBsYXkoKSB3aGVuICZsdDt2aWRlbyZn
dDsgcGxheWJhY2sgcmVxdWlyZXMgZnVsbHNjcmVlbi48L3A+CisgICAgICAgIDxwPlRlc3QgdGhl
IHBsYXkoKSBmdW5jdGlvbiBvZiAmbHQ7dmlkZW8mZ3Q7IHdoZW4gZnVsbHNjcmVlbiBpcyByZXF1
aXJlZC48L3A+CiAgICAgPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCAxMjU3NjRlMzI3YjQ3N2Q1YzhlOTI5YWU3N2JkMDNlODAy
YzQwMTIzLi43N2QyY2ExZjUzOWU4YTIyOWU4OTBjYzU1NjFhZmVkMmNlZjU0MTQ3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjQyNSwxMiArMjQyNSwx
MCBAQCB3ZWJraXQub3JnL2IvMTIyMDQyIG1lZGlhL21lZGlhLWNvbnRyb2xsZXItcGxheWJhY2su
aHRtbAogCiBtZWRpYS9tZWRpYS1jb250cm9scy1kcmFnLXRpbWVsaW5lLXNldC1jb250cm9scy1w
cm9wZXJ0eS5odG1sCiBtZWRpYS9tZWRpYS1ldmVudC1saXN0ZW5lcnMuaHRtbAotbWVkaWEvbWVk
aWEtZnVsbHNjcmVlbi1pbmxpbmUuaHRtbAogCiB3ZWJraXQub3JnL2IvMTM2NzA4IG1lZGlhL21l
ZGlhLWZ1bGxzY3JlZW4tbm90LWluLWRvY3VtZW50Lmh0bWwKIAogbWVkaWEvbWVkaWEtY29udHJv
bHMtYWNjZXNzaWJpbGl0eS5odG1sIFsgVGltZW91dCBdCi1tZWRpYS9tZWRpYS1mdWxsc2NyZWVu
LXJldHVybi10by1pbmxpbmUuaHRtbAogbWVkaWEvbm8tYXV0b3BsYXktd2l0aC11c2VyLWdlc3R1
cmUtcmVxdWlyZW1lbnQuaHRtbAogbWVkaWEvdmlkZW8tY29udHJvbHMtZHJhZy5odG1sCiBtZWRp
YS92aWRlby1jb250cm9scy1mdWxsc2NyZWVuLXZvbHVtZS5odG1sCkBAIC0yNTY3LDcgKzI1NjUs
NiBAQCB3ZWJraXQub3JnL2IvMTYyNjQ3IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25hYm9y
dC1yZXNwb25zZS1nZXR0ZXJzLmh0bWwgWyBQYQogd2Via2l0Lm9yZy9iLzE2MzI5MSBtZWRpYS9y
ZXF1aXJlLXVzZXItZ2VzdHVyZS10by1sb2FkLXZpZGVvLmh0bWwKIHdlYmtpdC5vcmcvYi8xNjMy
OTEgbWVkaWEvdmlkZW8tY29udHJvbHMtdHJhbnNmb3JtZWQuaHRtbCBbIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzE2MzI5MSBtZWRpYS92aWRlby1jb250cm9scy12aXNpYmxlLWF1ZGlvLW9ubHku
aHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE2MzI5MSBtZWRpYS92aWRlby1mdWxsc2Ny
ZWVuLW9ubHktcGxheWJhY2suaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2MzI5MSBt
ZWRpYS92aWRlby1wbGF5LWF1ZGlvLXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xNjMyOTEgbWVkaWEvdmlkZW8tcGxheS1yZXF1aXJlLXVzZXItZ2Vz
dHVyZS5odG1sCiAKQEAgLTMxNTYsMTEgKzMxNTMsNiBAQCBmYXN0L2dyYWRpZW50cy9jb25pYy10
d28taGludHMuaHRtbCBbIFBhc3MgXQogIyA8cmRhcjovL3Byb2JsZW0vMzY0NTUzMzk+IExheW91
dFRlc3QgY29tcG9zaXRpbmcvaW9zL292ZXJmbG93LXNjcm9sbC10b3VjaC10aWxlcy5odG1sIGlz
IGEgZmxha3kgZmFpbHVyZQogY29tcG9zaXRpbmcvaW9zL292ZXJmbG93LXNjcm9sbC10b3VjaC10
aWxlcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAotIyA8cmRhcjovL3Byb2JsZW0vNDE1NDY5NzA+
IFJFR1JFU1NJT046IExheW91dFRlc3QgbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGlu
ZS5odG1sIGlzIGEgZmxha3kgdGltZW91dAotbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlu
bGluZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KLQotd2Via2l0Lm9yZy9iLzE4NzYxOCBbIFJlbGVh
c2UgXSBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5odG1sIFsgUGFzcyBGYWls
dXJlIF0KLQogIyBEaXNhYmxlZCBnbG9iYWxseS4KIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
Z3ppcC1jb250ZW50LXR5cGUtbm8tY29udGVudC1lbmNvZGluZy5odG1sIFsgUGFzcyBdCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyMDZh
YjMzZjZiODQwMWU2ZTVkODUxZTk2YmRiZDVmOTU2ZTlmMjMwLi45MDFkNWVmYWQ0YWM5NTY4Yjlm
MmQ4ZmI3OWE4MDc0ZTgzMjAzYjkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zCkBAIC02MTYsNyArNjE2LDYgQEAgd2Via2l0Lm9yZy9iLzE3Mjgw
NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvZm9jdXMtZGlz
cGxheS0KIHdlYmtpdC5vcmcvYi8xNzI4MDcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3Mvc2VsZWN0b3JzL2ZvY3VzLXdpdGhpbi1kaXNwbGF5LW5vbmUtMDAxLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTY4NDA5IG1lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9haXJwbGF5LWJ1dHRvbi9haXJwbGF5LWJ1dHRvbi5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
LXdlYmtpdC5vcmcvYi8xNzUxOTUgbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJr
aXQtY3Vyc29yLXZpc2liaWxpdHktYXV0by1oaWRlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzE2ODI2NSBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvZm9yd2FyZC1idXR0
b24vZm9yd2FyZC1idXR0b24uaHRtbCBbIFBhc3MgVGltZW91dCBdCiAKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGIxM2MzYjZlNTEzMWFh
NDc1M2U3N2MzMWY0OTMyNzBmYTRmMDJhZDEuLjBkY2FiZmZhMjFkYjIyYWFiMmNmYzRkOWQ0YjZj
NTE2NzEyOWY0MjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTM0MSwxMCArMzQxLDYgQEAgd2Via2l0Lm9yZy9iLzE1MDU0MiBmYXN0L2Zv
cm1zL3N0YXRlLXJlc3RvcmUtcGVyLWZvcm0uaHRtbCBbIFBhc3MgVGltZW91dCBdCiAKIHdlYmtp
dC5vcmcvYi8xNTE3MDkgWyBSZWxlYXNlIF0gaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3Jr
ZXJzL21ldGhvZHMuaHRtbCBbIFBhc3MgVGltZW91dCBdCiAKLSMgVmlkZW8gZnVsbHNjcmVlbiBp
cyBub3QgaW1wbGVtZW50ZWQgZm9yIG1hYyB3azIgaW4gd2Via2l0dGVzdHJ1bm5lcgotbWVkaWEv
bWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS5odG1sIFsgU2tpcCBdCi1tZWRpYS9tZWRpYS1m
dWxsc2NyZWVuLXBhdXNlLWlubGluZS5odG1sIFsgU2tpcCBdCi0KICMjIyBFTkQgT0YgKDEpIENs
YXNzaWZpZWQgZmFpbHVyZXMgd2l0aCBidWcgcmVwb3J0cwogIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDJhMGUyMGUwZDRhNWNkMGRlOTdlOWQyMzI5YzJiOTMyY2U3NTYwOWEuLmJk
YjczOTE4MDFiODA3NjE0YzBlNDAyMGQ5NzlhYzU1ZjI5NmMwMTUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC03NTksNyArNzU5LDYgQEAgd2Via2l0Lm9y
Zy9iLzEzMzY4NiBtZWRpYS90cmFjay93M2MvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvYWxpZ24u
aHRtbCBbIFBhc3MgRmEKIHdlYmtpdC5vcmcvYi8xMzUwNzEgbWVkaWEvdmlkZW8tc2Vlay13aXRo
LW5lZ2F0aXZlLXBsYXliYWNrLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzEz
NTE2MCBtZWRpYS90cmFjay90cmFjay1pbi1iYW5kLXN1YnRpdGxlcy10b28tbGFyZ2UuaHRtbCBb
IEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEzNTE2MCBtZWRpYS90cmFjay90cmFjay1sb25nLXdv
cmQtY29udGFpbmVyLXNpemluZy5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTM3MzEx
IG1lZGlhL3ZpZGVvLWZ1bGxzY3JlZW4tb25seS1wbGF5YmFjay5odG1sIFsgUGFzcyBUaW1lb3V0
IENyYXNoIF0KIHdlYmtpdC5vcmcvYi8xMzk3ODkgbWVkaWEvbWVkaWEtY29udHJvbHMtdGltZWxp
bmUtdXBkYXRlcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMzk4MjUgbWVk
aWEvdmlkZW8tc2Vlay1wYXN0LWVuZC1wYXVzZWQuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJr
aXQub3JnL2IvMTQxMDg0IGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tcHJlbG9hZC5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KQEAgLTE2NDEsOCArMTY0MCw2IEBAIHdlYmtpdC5vcmcvYi8xODk2ODAgcGxh
dGZvcm0vbWFjL21lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnktdmlkZW8tcGF1c2VkLmh0bWwK
IHdlYmtpdC5vcmcvYi8xOTU0NjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5LXN0YXRlcy9h
dXRvcGxheS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xOTU0NjYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50
L21lZGlhLWVsZW1lbnRzL2Vycm9yLWNvZGVzL2Vycm9yLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQog
Ci13ZWJraXQub3JnL2IvMTkzMzk5IG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlu
bGluZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KLQogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9oYW5kc2hha2Utb2std2l0aC1sZWdhY3ktc2VjLXdlYnNvY2tldC1yZXNwb25zZS1oZWFk
ZXJzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTk1NDY2IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90
aGUtaW1nLWVsZW1lbnQvc2l6ZXMvcGFyc2UtYS1zaXplcy1hdHRyaWJ1dGUtd2lkdGgtMTAwMHB4
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpAQCAtMTk0OCw4ICsxOTQ1LDYgQEAgd2Via2l0Lm9yZy9i
LzIwOTkwOCBzdmcvY3VzdG9tL2FuaW1hdGUtaW5pdGlhbC1wYXVzZS11bnBhdXNlLmh0bWwgWyBQ
YXNzIFRpbWVvdXQKIAogd2Via2l0Lm9yZy9iLzIxMDA0NiBbIFJlbGVhc2UgXSBzdG9yYWdlL2lu
ZGV4ZWRkYi92YWx1ZS1jdXJzb3ItY3ljbGUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtp
dC5vcmcvYi8xODI1NzEgWyBEZWJ1ZyBdIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFj
a3Mtc3VwcG9ydC90cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4uaHRtbCBbIFBh
c3MgVGltZW91dCBdCi0KIHdlYmtpdC5vcmcvYi8yMDcxNjAgY3NzMi4xLzIwMTEwMzIzL3JlcGxh
Y2VkLWludHJpbnNpYy1yYXRpby0wMDEuaHRtIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9y
Zy9iLzIxMDM1MSBzY3JvbGxpbmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvaG9yaXpvbnRhbC1v
dmVyZmxvdy1iYWNrLXN3aXBlLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398985</attachid>
            <date>2020-05-10 15:36:28 -0700</date>
            <delta_ts>2020-05-11 11:34:19 -0700</delta_ts>
            <desc>WIP patch v4</desc>
            <filename>bug-211645-20200510153627.patch</filename>
            <type>text/plain</type>
            <size>63430</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UzYjJjNGVmYmU1YmZm
MTg1NzZlMmQ0MzQ2NzM3MjdkYjgzMjQ4NC4uNWU3NmZlOWI0YmVmY2JhMzhkMzBjMjY3NTMwMDNi
YTMyMTZlNmFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA1LTEwICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZp
ZGVvIHByZXNlbnRhdGlvbiBtb2RlIGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVz
dCBmYWlsdXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjExNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2xlYW4gdXAgdGhlIGludGVybmFsIHN0YXRlcyBvZiB2aWRlbyBlbGVtZW50IHJlZ2FyZGlu
ZyB2aWRlbyBwcmVzZW50YXRpb24gbW9kZQorICAgICAgICB0byBzaW1wbGlmeSB0aGUgdGFzayB0
byB3cml0ZSByZWxpYWJsZSBsYXlvdXQgdGVzdHMgZm9yIHZpZGVvIGZ1bGxzY3JlZW4gYW5kCisg
ICAgICAgIFBpY3R1cmUtaW4tUGljdHVyZS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxz
Y3JlZW4pOgorICAgICAgICBVcGRhdGUgdGhlIHN0YXRlcyBhZnRlciB3ZSBhcmUgc3VyZSB0aGUg
dmlkZW8gZWxlbWVudCB3aWxsIGVudGVyIGZ1bGxzY3JlZW4uCisKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OmV4aXRGdWxsc2NyZWVuKToKKyAgICAgICAgUmVtb3ZlIHRoZSB1
bm5lY2Vzc2FyeSAiZnVsbHNjcmVlbk1vZGVDaGFuZ2VkKFZpZGVvRnVsbHNjcmVlbk1vZGVOb25l
KSIuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OndhaXRpbmdUb0VudGVyRnVsbHNjcmVlbik6CisKKyAgICAg
ICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFZp
ZGVvRWxlbWVudDo6d2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4pOgorICAgICAgICBUaGUgZnVu
Y3Rpb24gd2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4oKSB3aWxsIHJldHVybiB0cnVlIGFmdGVy
IHRoZSBwcm9jZXNzCisgICAgICAgIHRvIGVudGVyIGZ1bGxzY3JlZW4gaXMgY29tcGxldGVkLgor
CisgICAgICAgICogaHRtbC9IVE1MVmlkZW9FbGVtZW50Lmg6CisgICAgICAgIEV4cG9zZSBkaWRC
ZWNvbWVGdWxsc2NyZWVuRWxlbWVudCgpIHdoZW4gVklERU9fUFJFU0VOVEFUSU9OX01PREUgaXMg
ZW5hYmxlZC4KKwogMjAyMC0wNS0wOCAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29u
eS5jb20+CiAKICAgICAgICAgRml4IGJ1aWxkIGVycm9yIG9uIFBsYXRTdGF0aW9uIHBvcnQgYWZ0
ZXIgcjI2MTEzMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCA5N2NmMGUxODk5Y2VmN2FiYWRlZjc2NzI1NWExMTI3ZGY1
OGUxZmY1Li40NzA0Mzc3NmJiNmM0MjRhNTc0OGFmMWE5MWJjMzcxM2UzMzMxZWYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA1LTEwICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBs
ZS5jb20+CisKKyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZpZGVvIHByZXNlbnRhdGlvbiBtb2Rl
IGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVzdCBmYWlsdXJlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNjQ1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IHRoZSBtaXN0YWtlIGlu
IFZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OnN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKCkgaW50cm9k
dWNlZCBpbiByMjAyMjc0LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyLm1tOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
OjpzdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbiBjb25zdCk6CisKIDIwMjAtMDUtMDggIERhdmlkIEtp
bHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZW1wdHkgZGlyZWN0
b3JpZXMgZnJvbSBmcm9tIHN2bi53ZWJraXQub3JnIHJlcG9zaXRvcnkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwppbmRleCBmNjA5ZDAzMzMzZWRjNjE3MjFiZWY1NjFlOGQ1OGJmMzhlZjFiOGQy
Li5hYmQ0NjA1MWNkY2M5MDNmNTMxMmNjOTc1ZDc0NDdiYjU2MDYyMTA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDUtMTAgIFBlbmcgTGl1ICA8
cGVuZy5saXU2QGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgdGhlIG1vY2sgdmlkZW8gcHJl
c2VudGF0aW9uIG1vZGUgaW4gcmVsYXRlZCBsYXlvdXQgdGVzdHMgYW5kIGZpeCB0ZXN0IGZhaWx1
cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE2
NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYWxs
IEhUTUxWaWRlb0VsZW1lbnQ6OmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCkgYWZ0ZXIgYSB2
aWRlbyBlbGVtZW50IGVudGVycworICAgICAgICBmdWxsc2NyZWVuICh0byBiZSBjb25zaXN0ZW50
IHdpdGggV0syKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJv
bGxlci5tbToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciB3aW5kb3dE
aWRFbnRlckZ1bGxTY3JlZW46XSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAg
ICAgICAoLVtXZWJWaWV3IF9lbnRlclZpZGVvRnVsbHNjcmVlbkZvclZpZGVvRWxlbWVudDptb2Rl
Ol0pOgorCiAyMDIwLTA1LTA3ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgVVNFKElOU0VSVElPTl9VTkRPX0dST1VQSU5HKSBjaGVja3MgaW4gbWFjT1Mg
cGxhdGZvcm0gY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5k
ZXggYTk1NTVjZDhkMWFiNGQxNzJmYzQwMzJjODc3NjA2MjZmZjk5MDRjMi4uZWY5ZmJkNzQwYjFj
MzU1ZDcyODkzN2I2NTI3YjY4OGZjNTkwNzQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCkBAIC01OTg5LDExICs1OTg5LDEwIEBAIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6ZW50ZXJGdWxsc2NyZWVuKFZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSkKICAgICBpZiAo
bV92aWRlb0Z1bGxzY3JlZW5Nb2RlID09IG1vZGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
dGVtcG9yYXJpbHlBbGxvd2luZ0lubGluZVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuID0gZmFsc2U7
Ci0gICAgbV93YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4gPSB0cnVlOwotCiAjaWYgRU5BQkxFKEZV
TExTQ1JFRU5fQVBJKSAmJiBFTkFCTEUoVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pCiAg
ICAgaWYgKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5mdWxsU2NyZWVuRW5hYmxlZCgpICYmIG1vZGUg
PT0gVmlkZW9GdWxsc2NyZWVuTW9kZVN0YW5kYXJkKSB7CisgICAgICAgIG1fdGVtcG9yYXJpbHlB
bGxvd2luZ0lubGluZVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuID0gZmFsc2U7CisgICAgICAgIG1f
d2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVuID0gdHJ1ZTsKICAgICAgICAgZG9jdW1lbnQoKS5mdWxs
c2NyZWVuTWFuYWdlcigpLnJlcXVlc3RGdWxsc2NyZWVuRm9yRWxlbWVudCh0aGlzLCBGdWxsc2Ny
ZWVuTWFuYWdlcjo6RXhlbXB0SUZyYW1lQWxsb3dGdWxsc2NyZWVuUmVxdWlyZW1lbnQpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtNjAwNSwxMiArNjAwNCwxNiBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbihWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUpCiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBmdWxsc2NyZWVuTW9kZUNoYW5n
ZWQobW9kZSk7Ci0gICAgICAgIGNvbmZpZ3VyZU1lZGlhQ29udHJvbHMoKTsKICAgICAgICAgaWYg
KGlzPEhUTUxWaWRlb0VsZW1lbnQ+KCp0aGlzKSkgewogICAgICAgICAgICAgSFRNTFZpZGVvRWxl
bWVudCYgYXNWaWRlbyA9IGRvd25jYXN0PEhUTUxWaWRlb0VsZW1lbnQ+KCp0aGlzKTsKLSAgICAg
ICAgICAgIGlmIChkb2N1bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkuc3VwcG9ydHNW
aWRlb0Z1bGxzY3JlZW4obV92aWRlb0Z1bGxzY3JlZW5Nb2RlKSkgewotICAgICAgICAgICAgICAg
IElORk9fTE9HKExPR0lERU5USUZJRVIsICJFbnRlcmluZyBmdWxsc2NyZWVuIG1vZGUgIiwgbV92
aWRlb0Z1bGxzY3JlZW5Nb2RlLCAiLCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkgPSAiLCBtX3Zp
ZGVvRnVsbHNjcmVlblN0YW5kYnkpOworICAgICAgICAgICAgaWYgKGRvY3VtZW50KCkucGFnZSgp
LT5jaHJvbWUoKS5jbGllbnQoKS5zdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbihtb2RlKSkgeworICAg
ICAgICAgICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICJFbnRlcmluZyBmdWxsc2NyZWVu
IG1vZGUgIiwgbW9kZSwgIiwgbV92aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5ID0gIiwgbV92aWRlb0Z1
bGxzY3JlZW5TdGFuZGJ5KTsKKworICAgICAgICAgICAgICAgIG1fdGVtcG9yYXJpbHlBbGxvd2lu
Z0lubGluZVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
bV93YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4gPSB0cnVlOworICAgICAgICAgICAgICAgIGZ1bGxz
Y3JlZW5Nb2RlQ2hhbmdlZChtb2RlKTsKKyAgICAgICAgICAgICAgICBjb25maWd1cmVNZWRpYUNv
bnRyb2xzKCk7CisKICAgICAgICAgICAgICAgICBkb2N1bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCku
Y2xpZW50KCkuZW50ZXJWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRlb0VsZW1lbnQoYXNWaWRlbywgbV92
aWRlb0Z1bGxzY3JlZW5Nb2RlLCBtX3ZpZGVvRnVsbHNjcmVlblN0YW5kYnkpOwogICAgICAgICAg
ICAgICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLndlYmtpdGJlZ2luZnVsbHNjcmVlbkV2
ZW50KTsKICAgICAgICAgICAgIH0KQEAgLTYwNDEsNyArNjA0NCw2IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6ZXhpdEZ1bGxzY3JlZW4oKQogCiAgICAgQVNTRVJUKG1fdmlkZW9GdWxsc2NyZWVu
TW9kZSAhPSBWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAgICAgVmlkZW9GdWxsc2NyZWVuTW9k
ZSBvbGRWaWRlb0Z1bGxzY3JlZW5Nb2RlID0gbV92aWRlb0Z1bGxzY3JlZW5Nb2RlOwotICAgIGZ1
bGxzY3JlZW5Nb2RlQ2hhbmdlZChWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAgICAgUmVmPEhU
TUxNZWRpYUVsZW1lbnQ+IHByb3RlY3RlZFRoaXMoKnRoaXMpOyAvLyB1cGRhdGVNZWRpYUNvbnRy
b2xzQWZ0ZXJQcmVzZW50YXRpb25Nb2RlQ2hhbmdlIGNhbGxzIG1ldGhvZHMgdGhhdCBjYW4gdHJp
Z2dlciBhcmJpdHJhcnkgRE9NIG11dGF0aW9ucy4KICAgICB1cGRhdGVNZWRpYUNvbnRyb2xzQWZ0
ZXJQcmVzZW50YXRpb25Nb2RlQ2hhbmdlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKaW5kZXggMjc2NGFhM2NlYjI1ODA5YTBmYTM4ZTkzNzk5NzMzYTRmY2VjMTkyOS4u
MmI2OGRlODhmYzgwY2JmNDFlODJjZmI1OWY0MmMwOTY4Mjk3NjUzNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTYxNCw2ICs2MTQsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdm9pZCB1cGRhdGVNZWRpYUNvbnRyb2xzQWZ0ZXJQcmVzZW50YXRpb25Nb2RlQ2hhbmdlKCk7
CiAKICAgICB2b2lkIHNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYpOworICAgIGJvb2wg
d2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVuKCkgeyByZXR1cm4gbV93YWl0aW5nVG9FbnRlckZ1bGxz
Y3JlZW47IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZU1lZGlhUGxheWVyKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCAxYjY0ZmIyOGJjZWMyMDE2
N2I0ZGU1NTVmY2JhY2I1ZmQ0M2MyNWEyLi4wYzkzNmM2M2ZkMjFiY2E3OWY1N2NkYjI5YzQ3OGQ5
M2QxMjM5ZTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKQEAg
LTM0Niw3ICszNDYsNyBAQCBib29sIEhUTUxWaWRlb0VsZW1lbnQ6OndlYmtpdFN1cHBvcnRzRnVs
bHNjcmVlbigpCiAKIGJvb2wgSFRNTFZpZGVvRWxlbWVudDo6d2Via2l0RGlzcGxheWluZ0Z1bGxz
Y3JlZW4oKQogewotICAgIHJldHVybiBpc0Z1bGxzY3JlZW4oKTsKKyAgICByZXR1cm4gaXNGdWxs
c2NyZWVuKCkgJiYgIXdhaXRpbmdUb0VudGVyRnVsbHNjcmVlbigpOwogfQogCiB2b2lkIEhUTUxW
aWRlb0VsZW1lbnQ6OmFuY2VzdG9yV2lsbEVudGVyRnVsbHNjcmVlbigpCkBAIC01MjMsNyArNTIz
LDYgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50OjpmdWxsc2NyZWVuTW9kZUNoYW5nZWQoVmlkZW9G
dWxsc2NyZWVuTW9kZSBtb2RlKQogICAgIEhUTUxNZWRpYUVsZW1lbnQ6OmZ1bGxzY3JlZW5Nb2Rl
Q2hhbmdlZChtb2RlKTsKIH0KIAotI2lmIEVOQUJMRShQSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKQog
dm9pZCBIVE1MVmlkZW9FbGVtZW50OjpkaWRCZWNvbWVGdWxsc2NyZWVuRWxlbWVudCgpCiB7CiAg
ICAgbV9pc0Z1bGxzY3JlZW4gPSB0cnVlOwpAQCAtNTMxLDYgKzUzMCw3IEBAIHZvaWQgSFRNTFZp
ZGVvRWxlbWVudDo6ZGlkQmVjb21lRnVsbHNjcmVlbkVsZW1lbnQoKQogICAgIEhUTUxNZWRpYUVs
ZW1lbnQ6OmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCk7CiB9CiAKKyNpZiBFTkFCTEUoUElD
VFVSRV9JTl9QSUNUVVJFX0FQSSkKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6c2V0UGljdHVyZUlu
UGljdHVyZU9ic2VydmVyKFBpY3R1cmVJblBpY3R1cmVPYnNlcnZlciogb2JzZXJ2ZXIpCiB7CiAg
ICAgbV9waWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIgPSBvYnNlcnZlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVmlkZW9FbGVtZW50LmgKaW5kZXggZWQ5MjE4M2Q0N2JiYzNlYjEyMTAwMzNmOWJmZWM3
YjI2YzA1NmViYi4uZjU0NDdjMDdiZDdlYjA1NDU5ODdlYjBlY2E2Y2U0OWQ1YzRiNzRjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmgKQEAgLTg4LDkgKzg4LDkgQEAgcHVi
bGljOgogICAgIFZpZGVvUHJlc2VudGF0aW9uTW9kZSB3ZWJraXRQcmVzZW50YXRpb25Nb2RlKCkg
Y29uc3Q7CiAgICAgdm9pZCBzZXRGdWxsc2NyZWVuTW9kZShWaWRlb0Z1bGxzY3JlZW5Nb2RlKTsK
ICAgICB2b2lkIGZ1bGxzY3JlZW5Nb2RlQ2hhbmdlZChWaWRlb0Z1bGxzY3JlZW5Nb2RlKSBmaW5h
bDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCkg
ZmluYWw7CiAKICNpZiBFTkFCTEUoUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkKLSAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCkgZmluYWw7CiAgICAgdm9p
ZCBzZXRQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIoUGljdHVyZUluUGljdHVyZU9ic2VydmVyKik7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQaWN0dXJlSW5QaWN0dXJlQVBJVGVzdEVuYWJs
ZWQoYm9vbCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KaW5kZXggZmJkZDRlOTgxMTYwNjE0Nzg0
ODJhOTdlNDMxYWYxZmIyNjJjOGZkYy4uNGEwZTYxOTEyYWUyYzg2YTYyOGRhNWNiZWViY2ViMWUz
YTJkMzJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVv
RnVsbHNjcmVlbk1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KQEAgLTIyMyw3ICsyMjMsNyBAQCBib29sIFZpZGVv
RnVsbHNjcmVlbk1hbmFnZXI6OnN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnRFbgogICAgIFVOVVNFRF9QQVJBTShtb2RlKTsKICAgICByZXR1cm4gRGVwcmVj
YXRlZEdsb2JhbFNldHRpbmdzOjphdktpdEVuYWJsZWQoKTsKICNlbHNlCi0gICAgcmV0dXJuIG1v
ZGUgPT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUlu
UGljdHVyZSAmJiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKKyAgICByZXR1cm4gKG1vZGUg
PT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlU3RhbmRhcmQpIHx8
IChtb2RlID09IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1
cmVJblBpY3R1cmUgJiYgc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlKCkpOwogI2VuZGlmCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQppbmRleCBlNzM1NjI3Y2RiZWI0MzEwZDZiNzc1
NGIxNzU3NWFhNjM2N2MwZTE5Li4yOTQ0YzAzYTYxYjY3ZmQ4NWVmZjMyYzcwMGVhMjkxMGMzMTUz
YTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCkBAIC0zMTIsNiArMzEyLDggQEAg
LSAodm9pZCl3aW5kb3dEaWRFbnRlckZ1bGxTY3JlZW46KE5TTm90aWZpY2F0aW9uICopbm90aWZp
Y2F0aW9uCiAgICAgW19wbGF5ZXJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAImlzRnVsbFNj
cmVlbiJdOwogICAgIF9pc0Z1bGxTY3JlZW4gPSBZRVM7CiAgICAgW19wbGF5ZXJWaWV3IGRpZENo
YW5nZVZhbHVlRm9yS2V5OkAiaXNGdWxsU2NyZWVuIl07CisgICAgaWYgKF92aWRlb0VsZW1lbnQp
CisgICAgICAgIF92aWRlb0VsZW1lbnQtPmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCk7CiB9
CiAKIC0gKHZvaWQpd2luZG93V2lsbEV4aXRGdWxsU2NyZWVuOihOU05vdGlmaWNhdGlvbiAqKW5v
dGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IDgzZDA1MjVlYzQzZWRiM2ZkYTkzNjE4YzgzMDFhM2IwZThiMmM2MTUuLmFkOWJmZGQ1MzIx
ZDE3YjEwOGU0MTRhYzk2ZTAyMjJmZGVhZTk3Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTkyNjksOCArOTI2OSwxMCBAQCAtICh2b2lkKV9zZXRN
b2NrVmlkZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxlZDooQk9PTCllbmFibGVkCiAKIC0gKHZvaWQp
X2VudGVyVmlkZW9GdWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50OihOYWtlZFB0cjxXZWJDb3JlOjpI
VE1MVmlkZW9FbGVtZW50Pil2aWRlb0VsZW1lbnQgbW9kZTooV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKW1vZGUKIHsKLSAgICBpZiAoX3ByaXZhdGUt
Pm1vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFibGVkKQorICAgIGlmIChfcHJpdmF0ZS0+bW9j
a1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQpIHsKKyAgICAgICAgdmlkZW9FbGVtZW50LT5k
aWRCZWNvbWVGdWxsc2NyZWVuRWxlbWVudCgpOwogICAgICAgICByZXR1cm47CisgICAgfQogCiAg
ICAgaWYgKF9wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlcikgewogICAgICAgICBpZiAoW19w
cml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciB2aWRlb0VsZW1lbnRdID09IHZpZGVvRWxlbWVu
dCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDc2NjkzNmYwMzRkOTYzOWU2NzYxNWJkYTM1MGRlNmYzNWUxMDY5ZTguLjgx
OTJjZjlkOTJmNjM4Y2Y1MTc4MmZkZjczY2QyODQwYzJjODkwNzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
NiBAQAorMjAyMC0wNS0xMCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAg
ICAgIEVuYWJsZSB0aGUgbW9jayB2aWRlbyBwcmVzZW50YXRpb24gbW9kZSBpbiByZWxhdGVkIGxh
eW91dCB0ZXN0cyBhbmQgZml4IHRlc3QgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTY0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVu
LW1lZGlhLWNvbnRyb2xzLWxpdmUtYnJvYWRjYXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1l
ZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtbGl2ZS1icm9hZGNh
c3QuaHRtbDoKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWlubGluZS5odG1sOgor
ICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUuaHRtbDoKKyAg
ICAgICAgKiBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbDoKKyAg
ICAgICAgKiBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS5o
dG1sOgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4uanM6CisgICAgICAgIChhc3lu
YyBiZWdpbmZ1bGxzY3JlZW4pOgorICAgICAgICAoYXN5bmMgZnVsbHNjcmVlbmVycm9yKToKKyAg
ICAgICAgKGFkZEV2ZW50TGlzdGVuZXJzKToKKyAgICAgICAgKGJlZ2luZnVsbHNjcmVlbik6IERl
bGV0ZWQuCisgICAgICAgIChmdWxsc2NyZWVuZXJyb3IpOiBEZWxldGVkLgorICAgICAgICAqIG1l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9jc3Mvd2Via2l0LWN1cnNvci12aXNpYmlsaXR5LWF1
dG8taGlkZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL2Nzcy93ZWJraXQtY3Vyc29yLXZpc2liaWxpdHktYXV0by1oaWRlLmh0bWw6CisgICAgICAg
ICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29u
dHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1t
ZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctaXMtcHJl
dmVudGVkLW92ZXItYnV0dG9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxs
c2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctaXMtcHJldmVudGVkLW92ZXItYnV0dG9uLmh0bWw6
CisgICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4t
bWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLmh0bWw6
CisgICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIv
bWVkaWEtY29udHJvbGxlci1jbGljay1vbi12aWRlby1iYWNrZ3JvdW5kLXNob3VsZC1wYXVzZS1m
dWxsc2NyZWVuLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9uLXZpZGVvLWJh
Y2tncm91bmQtc2hvdWxkLXBhdXNlLWZ1bGxzY3JlZW4uaHRtbDoKKyAgICAgICAgKiBtZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWZ1
bGxzY3JlZW4tbHRyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWZ1bGxzY3JlZW4tbHRy
Lmh0bWw6CisgICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRy
b2xsZXIvbWVkaWEtY29udHJvbGxlci1zcGFjZS1iYXItdG9nZ2xlLXBsYXliYWNrLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJv
bGxlci9tZWRpYS1jb250cm9sbGVyLXNwYWNlLWJhci10b2dnbGUtcGxheWJhY2suaHRtbDoKKyAg
ICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tz
LXN1cHBvcnQtc2hvdy1wYW5lbC1mdWxsc2NyZWVuLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBt
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQt
c2hvdy1wYW5lbC1mdWxsc2NyZWVuLmh0bWw6CisgICAgICAgICogbWVkaWEvdmlkZW8tZnVsbHNj
cmVlbi1vbmx5LXBsYXliYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS92aWRlby1m
dWxsc2NyZWVuLW9ubHktcGxheWJhY2suaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTA1LTA4ICBEYXZpZCBL
aWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGVtcHR5IGRpcmVj
dG9yaWVzIGZyb20gZnJvbSBzdm4ud2Via2l0Lm9yZyByZXBvc2l0b3J5CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1m
dWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMt
bGl2ZS1icm9hZGNhc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9t
YWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWxpdmUtYnJvYWRjYXN0LWV4cGVjdGVkLnR4
dAppbmRleCBmYWY5NGNkNzRlODEyNWJlOTY3MjYzZDY3YTU3MjBlOTFhZDkxMTMzLi5iMzJhN2Mx
NzQ5YWNiYzc2ZGQ2ZWMxYTA3ZmY5ZWZkN2RlNDI3YjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVu
LW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtbGl2ZS1icm9h
ZGNhc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3Mt
ZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1saXZlLWJyb2FkY2FzdC1leHBlY3RlZC50eHQKQEAg
LTMsNiArMyw3IEBAIFRlc3RpbmcgdGhhdCB3ZSBkbyBub3Qgc2hvdyB0aGUgc2Vla2luZyBjb250
cm9scyBpbiBmdWxsc2NyZWVuIHdpdGggYSBsaXZlIGJyb2FkCiBPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCiAKIAorUEFTUyBtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiBiZWNhbWUg
dHJ1ZQogUEFTUyBtZWRpYS5kdXJhdGlvbiBiZWNhbWUgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZ
CiBQQVNTIG1lZGlhQ29udHJvbGxlci5jb250cm9scy5yZXdpbmRCdXR0b24uZW5hYmxlZCBpcyBm
YWxzZQogUEFTUyBtZWRpYUNvbnRyb2xsZXIuY29udHJvbHMuZm9yd2FyZEJ1dHRvbi5lbmFibGVk
IGlzIGZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1
bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtbGl2ZS1icm9hZGNhc3QuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4t
bWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1saXZlLWJyb2Fk
Y2FzdC5odG1sCmluZGV4IGM2M2E2OGQ5NGI3NzJlNGIyZDRlMmRjODdlN2Q3MDc4MTc2NWI4Yjgu
LmFmYmU4ODE0ZTY4NTA4NGNmYWI2NTk5YmEyYmQ0NWI1ZTcwZGZkMGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1
bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1s
aXZlLWJyb2FkY2FzdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3Mt
ZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1saXZlLWJyb2FkY2FzdC5odG1sCkBAIC0xNSwxOSAr
MTUsMTggQEAgY29uc3QgbWVkaWEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpOwog
Y29uc3QgbWVkaWFDb250cm9sbGVyID0gY3JlYXRlQ29udHJvbHMoc2hhZG93Um9vdCwgbWVkaWEs
IG51bGwpOwogCiBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdl
IiwgKCkgPT4gewotICAgIGlmICghbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4pCi0g
ICAgICAgIHJldHVybjsKLQotICAgIHNob3VsZEJlY29tZUVxdWFsKCJtZWRpYS5kdXJhdGlvbiIs
ICJOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkiLCAoKSA9PiB7Ci0gICAgICAgIHNob3VsZEJlRmFs
c2UoIm1lZGlhQ29udHJvbGxlci5jb250cm9scy5yZXdpbmRCdXR0b24uZW5hYmxlZCIpOwotICAg
ICAgICBzaG91bGRCZUZhbHNlKCJtZWRpYUNvbnRyb2xsZXIuY29udHJvbHMuZm9yd2FyZEJ1dHRv
bi5lbmFibGVkIik7Ci0gICAgICAgIHNob3VsZEJlKCJtZWRpYUNvbnRyb2xsZXIuY29udHJvbHMu
dGltZUNvbnRyb2wucGFyZW50IiwgIm51bGwiKTsKLSAgICAgICAgc2hvdWxkQmUoIm1lZGlhQ29u
dHJvbGxlci5jb250cm9scy5zdGF0dXNMYWJlbC5wYXJlbnQiLCAibWVkaWFDb250cm9sbGVyLmNv
bnRyb2xzLmJvdHRvbUNvbnRyb2xzQmFyIik7Ci0KLSAgICAgICAgZGVidWcoIiIpOwotICAgICAg
ICBtZWRpYS5yZW1vdmUoKTsKLSAgICAgICAgc2hhZG93Um9vdC5ob3N0LnJlbW92ZSgpOwotICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICBzaG91bGRCZWNvbWVFcXVhbCgibWVkaWEud2Via2l0
RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCAidHJ1ZSIsICgpID0+IHsKKyAgICAgICAgc2hvdWxkQmVj
b21lRXF1YWwoIm1lZGlhLmR1cmF0aW9uIiwgIk51bWJlci5QT1NJVElWRV9JTkZJTklUWSIsICgp
ID0+IHsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoIm1lZGlhQ29udHJvbGxlci5jb250cm9s
cy5yZXdpbmRCdXR0b24uZW5hYmxlZCIpOworICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgibWVk
aWFDb250cm9sbGVyLmNvbnRyb2xzLmZvcndhcmRCdXR0b24uZW5hYmxlZCIpOworICAgICAgICAg
ICAgc2hvdWxkQmUoIm1lZGlhQ29udHJvbGxlci5jb250cm9scy50aW1lQ29udHJvbC5wYXJlbnQi
LCAibnVsbCIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm1lZGlhQ29udHJvbGxlci5jb250cm9s
cy5zdGF0dXNMYWJlbC5wYXJlbnQiLCAibWVkaWFDb250cm9sbGVyLmNvbnRyb2xzLmJvdHRvbUNv
bnRyb2xzQmFyIik7CisKKyAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgIG1lZGlh
LnJlbW92ZSgpOworICAgICAgICAgICAgc2hhZG93Um9vdC5ob3N0LnJlbW92ZSgpOworICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0pOwogICAgIH0pOwogfSk7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4taW5saW5lLmh0bWwgYi9M
YXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWlubGluZS5odG1sCmluZGV4IGU5NWU4
ZDQ0OTQ4NDk2NjQ1NDE0ODBmOWFmOGZhZmFiODg0NzNhZjguLmUxZWIwZGZlMWNmYmEzZDc5MTA0
ZTllYTNmMjA5Y2U5NTkyNDg5NTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWZ1bGxzY3JlZW4taW5saW5lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVs
bHNjcmVlbi1pbmxpbmUuaHRtbApAQCAtMSwzICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS1leHBlY3RlZC50eHQK
aW5kZXggMmMxZGUyYWZlNDE4OWYyMDgxNGNjYzI3MTE1OTZlMmEwZmI0YjM4Ni4uNWEzMzdhM2Uy
M2U2ZjEyNmU5MWM1MzA5OTVmZjE1ZDViZGQwMWMxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS1leHBlY3RlZC50eHQK
QEAgLTEsMTkgKzEsMjQgQEAKIAotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrKGZhbHNlKSkKLVJVTihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKSkKLVJVTihpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpKQotUlVOKGludGVybmFscy5zZXRN
ZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpKQorVGVzdCB0
aGF0IGEgPHZpZGVvPiBrZWVwcyBwbGF5aW5nIGFuZCBsb29waW5nIGFmdGVyIGV4aXRpbmcgZnVs
bHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9wZXJ0eSAiYWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgdHJ1ZS4KKwogUlVOKHZpZGVvLmxvb3AgPSB0cnVlKQog
UlVOKHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpKQor
RVZFTlQoY2FucGxheXRocm91Z2gpCiBSVU4odmlkZW8ucGxheSgpKQotRVZFTlQod2Via2l0YmVn
aW5mdWxsc2NyZWVuKQorV2FpdCB0byBlbnRlciBmdWxsc2NyZWVuCitFVkVOVCh3ZWJraXRwcmVz
ZW50YXRpb25tb2RlY2hhbmdlZCkKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVs
bHNjcmVlbiA9PSAndHJ1ZScpIE9LCitFbnRlcmVkIGZ1bGxzY3JlZW4KIFJVTih2aWRlby5jdXJy
ZW50VGltZSA9IDUpCiBSVU4odmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKSkKLUVWRU5UKHdl
YmtpdGVuZGZ1bGxzY3JlZW4pCitXYWl0IHRvIGV4aXQgZnVsbHNjcmVlbgorRVZFTlQod2Via2l0
cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQpCitFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWlu
Z0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykgT0sKK0V4aXRlZCBmdWxsc2NyZWVuCiBFWFBFQ1RFRCAo
dmlkZW8ucGF1c2VkID09ICdmYWxzZScpIE9LCiBSVU4odmlkZW8ub250aW1ldXBkYXRlID0gdGlt
ZXVwZGF0ZSkKLVJVTih2aWRlby5vbnRpbWV1cGRhdGUgPSBudWxsKQogTG9vcGVkCitSVU4odmlk
ZW8ub250aW1ldXBkYXRlID0gbnVsbCkKIEVYUEVDVEVEICh2aWRlby5wbGF5c0lubGluZSA9PSAn
ZmFsc2UnKSBPSwogRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAnZmFsc2UnKSBPSwogRU5EIE9G
IFRFU1QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbG9v
cC1pbmxpbmUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbG9vcC1p
bmxpbmUuaHRtbAppbmRleCBmYWQxY2ZiZTMxMjZhYmUzZDFiM2JmZjkwZGVmMjdkMmEzNjdiYWJl
Li4xNjU0ZWI4NjY2NDRhNDc2MjIxMzk4NWIzZjE0Zjg1NTYxNmM4YjMzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS5odG1sCkBAIC0x
LDQ0ICsxLDYyIEBACiA8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVu
YWJsZU1vZGVybk1lZGlhQ29udHJvbHM9ZmFsc2UgXSAtLT4KIDxodG1sPgogPGhlYWQ+Ci0gICAg
PHRpdGxlPm1lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZTwvdGl0bGU+Ci0KKyAgICA8
dGl0bGU+bWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZTwvdGl0bGU+CiAgICAgPHNjcmlwdCBz
cmM9InZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJtZWRpYS1maWxl
LmpzIj48L3NjcmlwdD4KLQogICAgIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gZ28oKQogICAgIHsK
KyAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICBmYWlsVGVzdCgn
VGhpcyB0ZXN0IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKwogICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7Ci0gICAgICAgIHJ1
bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2Up
Jyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlh
UGxheWJhY2tBZnRlckZ1bGxzY3JlZW4odHJ1ZSknKTsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpJyk7Ci0gICAgICAgIHJ1bignaW50
ZXJuYWxzLnNldE1lZGlhRWxlbWVudFJlc3RyaWN0aW9ucyh2aWRlbywgIk5vUmVzdHJpY3Rpb25z
IiknKTsKKworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2soZmFsc2UpOworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4odHJ1ZSk7CisgICAg
ICAgIC8vIERpc2FibGUgdGhlIEZ1bGxzY3JlZW4gQVBJIChlbGVtZW50IGZ1bGxzY3JlZW4pIHN1
cHBvcnQKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRGdWxsU2NyZWVuRW5h
YmxlZChmYWxzZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0TW9ja1ZpZGVvUHJlc2Vu
dGF0aW9uTW9kZUVuYWJsZWQodHJ1ZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0TWVk
aWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiTm9SZXN0cmljdGlvbnMiKTsKKworICAgICAg
ICB3YWl0Rm9yRXZlbnRPbmNlKCdjYW5wbGF5dGhyb3VnaCcsIGNhbnBsYXl0aHJvdWdoKTsKICAg
ICAgICAgcnVuKCd2aWRlby5sb29wID0gdHJ1ZScpOwogICAgICAgICBydW4oJ3ZpZGVvLnNyYyA9
IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpJyk7Ci0gICAgICAgIHdhaXRG
b3JFdmVudE9uY2UoJ3dlYmtpdGJlZ2luZnVsbHNjcmVlbicsIGJlZ2luZnVsbHNjcmVlbik7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKQorICAgIHsKKyAgICAgICAgd2Fp
dEZvckV2ZW50T25jZSgnd2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnLCBiZWdpbmZ1bGxz
Y3JlZW4pOwogICAgICAgICBydW4oJ3ZpZGVvLnBsYXkoKScpOworICAgICAgICBjb25zb2xlV3Jp
dGUoIldhaXQgdG8gZW50ZXIgZnVsbHNjcmVlbiIpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGJl
Z2luZnVsbHNjcmVlbigpCisgICAgYXN5bmMgZnVuY3Rpb24gYmVnaW5mdWxsc2NyZWVuKCkKICAg
ICB7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERp
c3BsYXlpbmdGdWxsc2NyZWVuJywgdHJ1ZSk7CisgICAgICAgIGNvbnNvbGVXcml0ZSgiRW50ZXJl
ZCBmdWxsc2NyZWVuIik7CiAgICAgICAgIHJ1bigndmlkZW8uY3VycmVudFRpbWUgPSA1Jyk7CiAg
ICAgICAgIHJ1bigndmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKScpOwotICAgICAgICB3YWl0
Rm9yRXZlbnRPbmNlKCd3ZWJraXRlbmRmdWxsc2NyZWVuJywgZW5kZnVsbHNjcmVlbik7CisgICAg
ICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkJywgZW5k
ZnVsbHNjcmVlbik7CisgICAgICAgIGNvbnNvbGVXcml0ZSgiV2FpdCB0byBleGl0IGZ1bGxzY3Jl
ZW4iKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKKyAgICBhc3luYyBm
dW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKICAgICB7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3Rl
ZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywgZmFsc2UpOwor
ICAgICAgICBjb25zb2xlV3JpdGUoIkV4aXRlZCBmdWxsc2NyZWVuIik7CiAgICAgICAgIHRlc3RF
eHBlY3RlZCgndmlkZW8ucGF1c2VkJywgZmFsc2UpOwogICAgICAgICBydW4oJ3ZpZGVvLm9udGlt
ZXVwZGF0ZSA9IHRpbWV1cGRhdGUnKTsKLSAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgnd2Vi
a2l0YmVnaW5mdWxsc2NyZWVuJyk7CisgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoJ3dlYmtp
dHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkJyk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gdGltZXVw
ZGF0ZSgpCiAgICAgewogICAgICAgICBpZiAodmlkZW8uY3VycmVudFRpbWUgPT0gMCkgewotICAg
ICAgICAgICAgcnVuKCd2aWRlby5vbnRpbWV1cGRhdGUgPSBudWxsJyk7CiAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIkxvb3BlZCIpOworICAgICAgICAgICAgcnVuKCd2aWRlby5vbnRpbWV1cGRh
dGUgPSBudWxsJyk7CiAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBsYXlzSW5saW5l
JywgZmFsc2UpOwogICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiBsb29wQ29tcGxldGVk
KCkgewogICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCd2aWRlby5wYXVzZWQnLCBmYWxzZSk7
CkBAIC00NiwxMiArNjQsMTAgQEAKICAgICAgICAgICAgIH0sIDApOwogICAgICAgICB9CiAgICAg
fQotCiAgICAgPC9zY3JpcHQ+Ci0KIDwvaGVhZD4KLQogPGJvZHkgb25sb2FkPSJnbygpIj4KICAg
ICA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KKyAgICA8cD5UZXN0IHRoYXQgYSAmbHQ7dmlkZW8m
Z3Q7IGtlZXBzIHBsYXlpbmcgYW5kIGxvb3BpbmcgYWZ0ZXIgZXhpdGluZyBmdWxsc2NyZWVuIHdo
ZW4gdGhlIGludGVybmFsIHByb3BlcnR5ICJhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJG
dWxsc2NyZWVuIiBpcyB0cnVlLjwvcD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLWV4cGVj
dGVkLnR4dAppbmRleCAzZTJjYTZkZWIxY2NmYjE2NWJjZDZjZTQ1NzI0OTFmMjY1OTdiOTIyLi4z
YWJjOWUyOTJhNjQ2YmMyMGNjZjM5ZTdlOTIyYzMyODlkYTQyZTU1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDEzICsxLDEzIEBACiAKLVJVTihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSkpCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdz
LnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4odHJ1ZSkpCi1SVU4o
aW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5FbmFibGVkKGZhbHNlKSkKLVJVTihpbnRl
cm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rpb25zKHZpZGVvLCAiTm9SZXN0cmljdGlvbnMi
KSkKK1Rlc3QgdGhhdCBhIDx2aWRlbz4ga2VlcHMgcGxheWluZyBhZnRlciBleGl0aW5nIGZ1bGxz
Y3JlZW4gd2hlbiB0aGUgaW50ZXJuYWwgcHJvcGVydHkgImFsbG93c0lubGluZU1lZGlhUGxheWJh
Y2tBZnRlckZ1bGxzY3JlZW4iIGlzIHRydWUuCisKIFJVTih2aWRlby5zcmMgPSBmaW5kTWVkaWFG
aWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKSkKK0VWRU5UKGNhbnBsYXl0aHJvdWdoKQogUlVO
KHZpZGVvLnBsYXkoKS50aGVuKHBsYXlpbmcpOykKIEVYUEVDVEVEICh2aWRlby53ZWJraXREaXNw
bGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9LCiBSVU4odmlkZW8ud2Via2l0RXhpdEZ1bGxz
Y3JlZW4oKSkKLUVWRU5UKHdlYmtpdGVuZGZ1bGxzY3JlZW4pCitFVkVOVCh3ZWJraXRwcmVzZW50
YXRpb25tb2RlY2hhbmdlZCkKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNj
cmVlbiA9PSAnZmFsc2UnKSBPSwogRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAnZmFsc2UnKSBP
SwogUlVOKHZpZGVvLnBhdXNlKCkpCiBFVkVOVChwYXVzZSkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5odG1sCmluZGV4IDg1OGU4ZjE3
ZTg4NGRkZTMxZTcyNzkxNGY5YTVmNGI3ZmE3YmEwMGQuLjg5OTNjNjMxMDM1Y2UyM2Q4NmUyOWJm
ZGEyOTQyMTY3MDU1MWFhNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1
bGxzY3JlZW4tcGF1c2UtaW5saW5lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEt
ZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbApAQCAtMSw1NSArMSw2NiBAQAogPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xz
PWZhbHNlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgotICAgIDx0aXRsZT5tZWRpYS1mdWxsc2NyZWVu
LXJldHVybi10by1pbmxpbmU8L3RpdGxlPgotCisgICAgPHRpdGxlPm1lZGlhLWZ1bGxzY3JlZW4t
cGF1c2UtaW5saW5lPC90aXRsZT4KICAgICA8c2NyaXB0IHNyYz0idmlkZW8tdGVzdC5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Im1lZGlhLWZpbGUuanMiPjwvc2NyaXB0PgogCiAgICAg
PHNjcmlwdD4KICAgICBmdW5jdGlvbiBnbygpCiAgICAgeworICAgICAgICBpZiAoIXdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICAgICAgICAgIGZhaWxUZXN0KCdUaGlzIHRlc3QgcmVxdWlyZXMgd2lu
ZG93LmludGVybmFscy4nKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCiAgICAg
ICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSknKTsKLSAgICAgICAgcnVuKCdpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVl
bih0cnVlKScpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5ncy5zZXRGdWxsU2NyZWVu
RW5hYmxlZChmYWxzZSknKTsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50
UmVzdHJpY3Rpb25zKHZpZGVvLCAiTm9SZXN0cmljdGlvbnMiKScpOworCisgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxzZSk7
CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKTsKKyAgICAgICAgLy8gRGlzYWJsZSB0aGUgRnVs
bHNjcmVlbiBBUEkgKGVsZW1lbnQgZnVsbHNjcmVlbikgc3VwcG9ydAorICAgICAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5FbmFibGVkKGZhbHNlKTsKKyAgICAgICAg
d2luZG93LmludGVybmFscy5zZXRNb2NrVmlkZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxlZCh0cnVl
KTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnMo
dmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpOworCisgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ2Nh
bnBsYXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gpOwogICAgICAgICBydW4oJ3ZpZGVvLnNyYyA9
IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpJyk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gY2FucGxheXRocm91Z2goKQorICAgIHsKICAgICAgICAgcnVuKCd2aWRlby5wbGF5
KCkudGhlbihwbGF5aW5nKTsnKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBwbGF5aW5nKCkKKyAg
ICBhc3luYyBmdW5jdGlvbiBwbGF5aW5nKCkKICAgICB7Ci0gICAgICAgIHRlc3RFeHBlY3RlZCgn
dmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCB0cnVlKTsKLSAgICAgICAgd2FpdEZv
ckV2ZW50T25jZSgnd2Via2l0ZW5kZnVsbHNjcmVlbicsIGVuZGZ1bGxzY3JlZW4pOworICAgICAg
ICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVudHVhbGx5KCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVs
bHNjcmVlbicsIHRydWUpOworICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRwcmVzZW50
YXRpb25tb2RlY2hhbmdlZCcsIGVuZGZ1bGxzY3JlZW4pOwogICAgICAgICBydW4oJ3ZpZGVvLndl
YmtpdEV4aXRGdWxsc2NyZWVuKCknKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBlbmRmdWxsc2Ny
ZWVuKCkKKyAgICBhc3luYyBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKICAgICB7CisgICAgICAg
IGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxs
c2NyZWVuJywgZmFsc2UpOwogICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcsIGZh
bHNlKTsKLSAgICAgICAgcnVuKCd2aWRlby5wYXVzZSgpJyk7CiAgICAgICAgIHdhaXRGb3JFdmVu
dE9uY2UoJ3BhdXNlJywgcGF1c2VkKTsKKyAgICAgICAgcnVuKCd2aWRlby5wYXVzZSgpJyk7CiAg
ICAgfQogCiAgICAgZnVuY3Rpb24gcGF1c2VkKCkKICAgICB7CiAgICAgICAgIHRlc3RFeHBlY3Rl
ZCgndmlkZW8ucGF1c2VkJywgdHJ1ZSk7Ci0gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsg
cnVuKCd2aWRlby5wbGF5KCkudGhlbihwbGF5aW5nQWdhaW4pJyk7fSwgMCkKKyAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpeyBydW4oJ3ZpZGVvLnBsYXkoKS50aGVuKHBsYXlpbmdBZ2Fpbikn
KTsgfSwgMCk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gcGxheWluZ0FnYWluKCkKKyAgICBhc3lu
YyBmdW5jdGlvbiBwbGF5aW5nQWdhaW4oKQogICAgIHsKLQotICAgICAgICB0ZXN0RXhwZWN0ZWQo
J3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywgdHJ1ZSk7CisgICAgICAgIGF3YWl0
IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVu
JywgdHJ1ZSk7CiAgICAgICAgIGVuZFRlc3QoKTsKICAgICB9Ci0KICAgICA8L3NjcmlwdD4KLQog
PC9oZWFkPgotCiA8Ym9keSBvbmxvYWQ9ImdvKCkiPgogICAgIDx2aWRlbyBjb250cm9scz48L3Zp
ZGVvPgorICAgIDxwPlRlc3QgdGhhdCBhICZsdDt2aWRlbyZndDsga2VlcHMgcGxheWluZyBhZnRl
ciBleGl0aW5nIGZ1bGxzY3JlZW4gd2hlbiB0aGUgaW50ZXJuYWwgcHJvcGVydHkgImFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4iIGlzIHRydWUuPC9wPgogPC9ib2R5Pgot
PC9odG1sPgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1p
bmxpbmUtZXhwZWN0ZWQudHh0CmluZGV4IDNmNTY3OTU3NmI3YmYyMmI4YTU2NTlkMmViM2IyZTVl
MGVkMDQxNTMuLmFlODcyOWNlYjg5MWYyMmUxZWMxMThkMjYwMThlMzhmMjgxN2YwYWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGlu
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1y
ZXR1cm4tdG8taW5saW5lLWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSwyMSBAQAogCi1SVU4oaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2UpKQotUlVO
KGludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxs
c2NyZWVuKGZhbHNlKSkKK1Rlc3QgdGhhdCBhIDx2aWRlbz4gcGF1c2VzIGFmdGVyIGV4aXRpbmcg
ZnVsbHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9wZXJ0eSAiYWxsb3dzSW5saW5lTWVkaWFQ
bGF5YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgZmFsc2UuCisKIFJVTih2aWRlby5zcmMgPSBmaW5k
TWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKSkKIEVWRU5UKGNhbnBsYXl0aHJvdWdo
KQogUlVOKHZpZGVvLnBsYXkoKSkKLUVWRU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpCitFVkVO
VCh3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCkKK0VYUEVDVEVEICh2aWRlby53ZWJraXRE
aXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9LCiBSVU4odmlkZW8ud2Via2l0RXhpdEZ1
bGxzY3JlZW4oKSkKIEVWRU5UKHBhdXNlKQotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRBbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKHRydWUpKQorRVhQRUNURUQgKHZp
ZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuID09ICdmYWxzZScpIE9LCitFWFBFQ1RFRCAo
dmlkZW8ucGF1c2VkID09ICd0cnVlJykgT0sKIFJVTih2aWRlby5wbGF5KCkpCi1FVkVOVCh3ZWJr
aXRmdWxsc2NyZWVuY2hhbmdlKQorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQp
CitFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ3RydWUnKSBP
SwogUlVOKHZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCkpCi1FVkVOVCh3ZWJraXRmdWxsc2Ny
ZWVuY2hhbmdlKQorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQpCitFWFBFQ1RF
RCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykgT0sKIEVYUEVD
VEVEICh2aWRlby5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sKIEVORCBPRiBURVNUCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS5o
dG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5l
Lmh0bWwKaW5kZXggYzViNjc2MmM1NTZiNmYxMmRjY2U4MWNlYzVjZGJiOTIzZWQwMjEwMi4uN2Zm
ODJlMWZjMWVlNWZlY2Q2MDA5MTA2NjlmOGZiMGU1ZGVjMjAzYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLmh0bWwK
QEAgLTksNDggKzksNjUgQEAKICAgICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdvKCkKICAgICB7
CisgICAgICAgIGlmICghd2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgZmFpbFRlc3Qo
J1RoaXMgdGVzdCByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisKICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAgICBy
dW4oJ2ludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNl
KScpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKGZhbHNlKScpOwotICAgICAgICBydW4oJ3ZpZGVvLnNy
YyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpJyk7CisKKyAgICAgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZh
bHNlKTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVN
ZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKGZhbHNlKTsKKyAgICAgICAgLy8gRGlzYWJsZSB0
aGUgRnVsbHNjcmVlbiBBUEkgKGVsZW1lbnQgZnVsbHNjcmVlbikgc3VwcG9ydAorICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5FbmFibGVkKGZhbHNlKTsKKyAg
ICAgICAgd2luZG93LmludGVybmFscy5zZXRNb2NrVmlkZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxl
ZCh0cnVlKTsKKwogICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCdjYW5wbGF5dGhyb3VnaCcsIGNh
bnBsYXl0aHJvdWdoKTsKKyAgICAgICAgcnVuKCd2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2
aWRlbyIsICJjb250ZW50L3Rlc3QiKScpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIGNhbnBsYXl0
aHJvdWdoKCkKICAgICB7CisgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdHByZXNlbnRh
dGlvbm1vZGVjaGFuZ2VkJywgYmVnaW5mdWxsc2NyZWVuMSk7CiAgICAgICAgIHJ1bldpdGhLZXlE
b3duKCd2aWRlby5wbGF5KCknKTsKLSAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0ZnVs
bHNjcmVlbmNoYW5nZScsIGJlZ2luZnVsbHNjcmVlbjEpOwogICAgIH0KIAotICAgIGZ1bmN0aW9u
IGJlZ2luZnVsbHNjcmVlbjEoKQorICAgIGFzeW5jIGZ1bmN0aW9uIGJlZ2luZnVsbHNjcmVlbjEo
KQogICAgIHsKLSAgICAgICAgcnVuKCd2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpJyk7Cisg
ICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlp
bmdGdWxsc2NyZWVuJywgdHJ1ZSk7CiAgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3BhdXNlJywg
cGF1c2UpOworICAgICAgICBydW4oJ3ZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCknKTsKICAg
ICB9CiAKLSAgICBmdW5jdGlvbiBwYXVzZSgpCisgICAgYXN5bmMgZnVuY3Rpb24gcGF1c2UoKQog
ICAgIHsKLSAgICAgICAgcnVuKCdpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKScpOworICAgICAgICBhd2FpdCB0ZXN0RXhw
ZWN0ZWRFdmVudHVhbGx5KCd2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIGZhbHNl
KTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCd2aWRlby5wYXVzZWQnLCB0cnVlKTsKKworICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tB
ZnRlckZ1bGxzY3JlZW4odHJ1ZSk7CisKKyAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0
cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnLCBiZWdpbmZ1bGxzY3JlZW4yKTsKICAgICAgICAgcnVu
V2l0aEtleURvd24oJ3ZpZGVvLnBsYXkoKScpOwotICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3
ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgYmVnaW5mdWxsc2NyZWVuMik7CiAgICAgfQogCi0gICAg
ZnVuY3Rpb24gYmVnaW5mdWxsc2NyZWVuMigpCisgICAgYXN5bmMgZnVuY3Rpb24gYmVnaW5mdWxs
c2NyZWVuMigpCiAgICAgeworICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVudHVhbGx5KCd2
aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIHRydWUpOworICAgICAgICB3YWl0Rm9y
RXZlbnRPbmNlKCd3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGVuZGZ1bGxzY3JlZW4p
OwogICAgICAgICBydW4oJ3ZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCknKTsKLSAgICAgICAg
d2FpdEZvckV2ZW50T25jZSgnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGVuZGZ1bGxzY3JlZW4p
OwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQorICAgIGFzeW5jIGZ1bmN0
aW9uIGVuZGZ1bGxzY3JlZW4oKQogICAgIHsKKyAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZl
bnR1YWxseSgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCBmYWxzZSk7CiAgICAg
ICAgIHRlc3RFeHBlY3RlZCgndmlkZW8ucGF1c2VkJywgZmFsc2UpOwogICAgICAgICBlbmRUZXN0
KCk7CiAgICAgfQogICAgIDwvc2NyaXB0PgotCiA8L2hlYWQ+CiAKIDxib2R5IG9ubG9hZD0iZ28o
KSI+Ci0gICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+CisgICAgPHZpZGVvIGNvbnRyb2xzIGxv
b3A+PC92aWRlbz4KKyAgICA8cD5UZXN0IHRoYXQgYSAmbHQ7dmlkZW8mZ3Q7IHBhdXNlcyBhZnRl
ciBleGl0aW5nIGZ1bGxzY3JlZW4gd2hlbiB0aGUgaW50ZXJuYWwgcHJvcGVydHkgImFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4iIGlzIGZhbHNlLjwvcD4KIDwvYm9keT4K
IDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4u
anMgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLmpzCmluZGV4IGQzMzljYTAy
YjZiYWRmMzJkYThjYzY0ODEwMzU5NjE0MTcxOGQ4OWMuLjY2NGViNjVlNjk1NDViN2Q5MmRiOWFi
YWQwZTYyMjEyNWY0NWI5YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1
bGxzY3JlZW4uanMKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi5qcwpA
QCAtMzgsOSArMzgsOSBAQCBmdW5jdGlvbiBmdWxsc2NyZWVuY2hhbmdlKCkKICAgICAgICAgZW5k
ZnVsbHNjcmVlbigpOwogfQogCi1mdW5jdGlvbiBiZWdpbmZ1bGxzY3JlZW4oKQorYXN5bmMgZnVu
Y3Rpb24gYmVnaW5mdWxsc2NyZWVuKCkKIHsKLSAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhRWxlbWVu
dC53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIsIHRydWUpOworICAgIGF3YWl0IHRlc3RFeHBl
Y3RlZEV2ZW50dWFsbHkoIm1lZGlhRWxlbWVudC53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIs
IHRydWUpOwogICAgIHJ1bigibWVkaWFFbGVtZW50LndlYmtpdEV4aXRGdWxsU2NyZWVuKCkiKTsK
IH0KIApAQCAtNDksMTMgKzQ5LDEzIEBAIGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQogICAgIHNl
dFRpbWVvdXQob3Blbk5leHRNb3ZpZSwgMTApOwogfQogCi1mdW5jdGlvbiBmdWxsc2NyZWVuZXJy
b3IoKQorYXN5bmMgZnVuY3Rpb24gZnVsbHNjcmVlbmVycm9yKCkKIHsKICAgICB2YXIgbW92aWUg
PSBtb3ZpZUluZm8ubW92aWVzW21vdmllSW5mby5jdXJyZW50XTsKICAgICBpZiAobW92aWUuaW5s
aW5lKSB7CiAgICAgICAgIGZhaWxUZXN0KCJVbmV4cGVjdGVkIGZ1bGxzY3JlZW5lcnJvciBldmVu
dCIpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIHRlc3RFeHBlY3RlZCgibWVkaWFFbGVtZW50Lndl
YmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgZmFsc2UpOworICAgICAgICBhd2FpdCB0ZXN0RXhw
ZWN0ZWRFdmVudHVhbGx5KCJtZWRpYUVsZW1lbnQud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4i
LCBmYWxzZSk7CiAgICAgICAgIG9wZW5OZXh0TW92aWUoKTsKICAgICB9CiB9CkBAIC0xMzgsNCAr
MTM4LDMgQEAgZnVuY3Rpb24gYWRkRXZlbnRMaXN0ZW5lcnMoZWxlbSkKICAgICB3YWl0Rm9yRXZl
bnQoJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBmdWxsc2NyZWVuY2hhbmdlKTsKICAgICB3YWl0
Rm9yRXZlbnQoJ3dlYmtpdGZ1bGxzY3JlZW5lcnJvcicsIGZ1bGxzY3JlZW5lcnJvcik7CiB9Ci0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9jc3Mv
d2Via2l0LWN1cnNvci12aXNpYmlsaXR5LWF1dG8taGlkZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY3NzL3dlYmtpdC1jdXJzb3ItdmlzaWJp
bGl0eS1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0CmluZGV4IGYyMTA5OGE4NjYxYjhmNDlhZTljODYz
NWRmMDhkMjc4MTIzZTU4NjQuLmM1ZjBhZWMyMzViNjBmMjNiNDAwZDQxNzI2MDRkM2RhYzk3YmFj
YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9j
c3Mvd2Via2l0LWN1cnNvci12aXNpYmlsaXR5LWF1dG8taGlkZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJraXQtY3Vyc29y
LXZpc2liaWxpdHktYXV0by1oaWRlLWV4cGVjdGVkLnR4dApAQCAtNiw3ICs2LDcgQEAgT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUKIFBBU1MgbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4g
aXMgZmFsc2UKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZSh3aW5kb3cuaW50ZXJuYWxzLnNoYWRvd1Jv
b3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoJy5tZWRpYS1jb250cm9scy1jb250YWluZXInKSkud2Vi
a2l0Q3Vyc29yVmlzaWJpbGl0eSBpcyAiYXV0byIKIAotUEFTUyBtZWRpYS53ZWJraXREaXNwbGF5
aW5nRnVsbHNjcmVlbiBpcyB0cnVlCitQQVNTIG1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2Ny
ZWVuIGJlY2FtZSB0cnVlCiBQQVNTIGdldENvbXB1dGVkU3R5bGUod2luZG93LmludGVybmFscy5z
aGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCcubWVkaWEtY29udHJvbHMtY29udGFpbmVy
JykpLndlYmtpdEN1cnNvclZpc2liaWxpdHkgaXMgImF1dG8taGlkZSIKIAogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJraXQtY3Vyc29yLXZpc2liaWxpdHktYXV0by1oaWRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY3NzL3dlYmtpdC1j
dXJzb3ItdmlzaWJpbGl0eS1hdXRvLWhpZGUuaHRtbAppbmRleCAwMmFhMmNlNTRkODIwMGE0MzY4
OWRmMjIwMDI3ZWJiNjU4MDE5YmIzLi4yNTcyZTg1OGZlMzQzZGI3YTlmYjIyMzQ4YzQxZWUzNmY3
ODE0NDZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvY3NzL3dlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eS1hdXRvLWhpZGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY3NzL3dlYmtpdC1jdXJzb3Itdmlz
aWJpbGl0eS1hdXRvLWhpZGUuaHRtbApAQCAtMTcsMTIgKzE3LDEzIEBAIG1lZGlhLmFkZEV2ZW50
TGlzdGVuZXIoInBsYXkiLCAoKSA9PiB7CiAgICAgZGVidWcoIiIpOwogCiAgICAgbWVkaWEuYWRk
RXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsICgpID0+IHsKLSAgICAgICAg
c2hvdWxkQmVUcnVlKCJtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIpOwotICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUod2luZG93LmludGVybmFs
cy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCcubWVkaWEtY29udHJvbHMtY29udGFp
bmVyJykpLndlYmtpdEN1cnNvclZpc2liaWxpdHkiLCAiYXV0by1oaWRlIik7Ci0gICAgICAgIGRl
YnVnKCIiKTsKLSAgICAgICAgYnV0dG9uLnJlbW92ZSgpOwotICAgICAgICBtZWRpYS5yZW1vdmUo
KTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHNob3VsZEJlY29tZUVxdWFsKCJt
ZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIsICJ0cnVlIiwgKCkgPT4geworICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHdpbmRvdy5pbnRl
cm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcignLm1lZGlhLWNvbnRyb2xzLWNv
bnRhaW5lcicpKS53ZWJraXRDdXJzb3JWaXNpYmlsaXR5IiwgImF1dG8taGlkZSIpOworICAgICAg
ICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgYnV0dG9uLnJlbW92ZSgpOworICAgICAgICAg
ICAgbWVkaWEucmVtb3ZlKCk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
fSk7CiAgICAgfSk7CiAKICAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNv
bnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVl
bi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctZXhw
ZWN0ZWQudHh0CmluZGV4IGZhMmE1MGUzZTBjNDExZGFkNzhiNjFiNjYxZWFkNzJmNWMwNmM2ZjAu
LmJiOTc3ODUyYWZlNzNkMGRmMWYxZTRmY2ZhOTgwNjU4YTA2MjBiOTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1l
ZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29z
LWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9s
cy1kcmFnLWV4cGVjdGVkLnR4dApAQCAtMyw2ICszLDcgQEAgVGhpcyB0ZXN0IHBhdXNlcyB0aGUg
dmlkZW8sIHByZXNzZXMgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uLCBhbmQgZHJhZ3MgdGhlIGNvbnRy
b2wKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCitQQVNTIG1lZGlhLndlYmtpdERpc3Bs
YXlpbmdGdWxsc2NyZWVuIGJlY2FtZSB0cnVlCiBQQVNTICEhbWVkaWFDb250cm9scy5xdWVyeVNl
bGVjdG9yKCcuYnV0dG9ucy1jb250YWluZXIubGVmdCcpIGJlY2FtZSB0cnVlCiBQQVNTIG1lZGlh
Q29udHJvbHMucXVlcnlTZWxlY3RvcignLmJ1dHRvbnMtY29udGFpbmVyLmxlZnQnKS5zdHlsZS53
aWR0aCBiZWNhbWUgIjExOHB4IgogUEFTUyBtZWRpYUNvbnRyb2xzLnF1ZXJ5U2VsZWN0b3IoJy5j
b250cm9scy1iYXInKS5zdHlsZS50cmFuc2Zvcm0gaXMgInRyYW5zbGF0ZSgtNTBweCwgLTEwMHB4
KSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9t
YWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29u
dHJvbHMtZHJhZy1pcy1wcmV2ZW50ZWQtb3Zlci1idXR0b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEt
Y29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLWlzLXByZXZlbnRl
ZC1vdmVyLWJ1dHRvbi1leHBlY3RlZC50eHQKaW5kZXggZDZmYzdlMmQxMGY0M2E5NTRlYmMwN2Rh
ZmE0ZmQwNjllOWMyMGRjZC4uYjA4ZWFhMmE3N2NkMjJjOWI3OTRlNDZlYjM5Y2Q5NmJhODYxZTNl
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21h
Y29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250
cm9scy1kcmFnLWlzLXByZXZlbnRlZC1vdmVyLWJ1dHRvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVk
aWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLWlzLXByZXZl
bnRlZC1vdmVyLWJ1dHRvbi1leHBlY3RlZC50eHQKQEAgLTMsNiArMyw3IEBAIFRoaXMgdGVzdCBw
YXVzZXMgdGhlIHZpZGVvLCBwcmVzc2VzIHRoZSBmdWxsc2NyZWVuIGJ1dHRvbiwgYW5kIGRyYWdz
IHRoZSBjb250cm9sCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAorUEFTUyBtZWRpYS53
ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiBiZWNhbWUgdHJ1ZQogUEFTUyAhIW1lZGlhQ29udHJv
bHMucXVlcnlTZWxlY3RvcignLmJ1dHRvbnMtY29udGFpbmVyLmxlZnQnKSBiZWNhbWUgdHJ1ZQog
UEFTUyBtZWRpYUNvbnRyb2xzLnF1ZXJ5U2VsZWN0b3IoJy5idXR0b25zLWNvbnRhaW5lci5sZWZ0
Jykuc3R5bGUud2lkdGggYmVjYW1lICIxMThweCIKIFBBU1MgbWVkaWFDb250cm9scy5xdWVyeVNl
bGVjdG9yKCcuY29udHJvbHMtYmFyJykuc3R5bGUudHJhbnNmb3JtIGlzICIiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVl
bi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctaXMt
cHJldmVudGVkLW92ZXItYnV0dG9uLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2Ny
ZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctaXMtcHJldmVudGVkLW92ZXItYnV0dG9uLmh0bWwKaW5k
ZXggY2E3YWZkYmJiNjU2ODA5OWE4NDJiZTNlOTMwZDgzNjI0ZTE3YzY0NS4uNTZhZTdhZjI2OWZk
NWIyNTU1NTNiZmQ1NmYzMjI2ZWM3ZjI5MDVmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMv
bWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLWlzLXByZXZlbnRlZC1vdmVyLWJ1
dHRvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9t
YWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29u
dHJvbHMtZHJhZy1pcy1wcmV2ZW50ZWQtb3Zlci1idXR0b24uaHRtbApAQCAtMTcsNyArMTcsNyBA
QCBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCAoKSA9PiB7
CiB9KTsKIAogbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIs
ICgpID0+IHsKLSAgICBpZiAobWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4pIHsKKyAg
ICBzaG91bGRCZWNvbWVFcXVhbCgibWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCAi
dHJ1ZSIsICgpID0+IHsKICAgICAgICAgbWVkaWFDb250cm9scyA9IHNoYWRvd1Jvb3QubGFzdENo
aWxkOwogICAgICAgICBzaG91bGRCZWNvbWVFcXVhbCgiISFtZWRpYUNvbnRyb2xzLnF1ZXJ5U2Vs
ZWN0b3IoJy5idXR0b25zLWNvbnRhaW5lci5sZWZ0JykiLCAidHJ1ZSIsICgpID0+IHsKICAgICAg
ICAgICAgIHNob3VsZEJlY29tZUVxdWFsVG9TdHJpbmcoIm1lZGlhQ29udHJvbHMucXVlcnlTZWxl
Y3RvcignLmJ1dHRvbnMtY29udGFpbmVyLmxlZnQnKS5zdHlsZS53aWR0aCIsICIxMThweCIsICgp
ID0+IHsKQEAgLTMzLDcgKzMzLDcgQEAgbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVs
bHNjcmVlbmNoYW5nZSIsICgpID0+IHsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAg
IH0pOwogICAgICAgICB9KTsKLSAgICB9CisgICAgfSk7CiB9KTsKIAogbWVkaWEuYWRkRXZlbnRM
aXN0ZW5lcigicGxheSIsICgpID0+IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29z
LWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFj
b3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLmh0bWwKaW5kZXggNThkMWVkOGQ4ZTNl
YjZmMzQ4ZDBiMzg5YzcyNWU5YjVjNWE4NzU5MC4uZTY0M2QwYjMzZGY4YWM3ZTY0MTIxYjMwZDM3
MGM2OTEwMDk1YjI2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVl
bi1tZWRpYS1jb250cm9scy1kcmFnLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVs
bHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAgbWVkaWEu
YWRkRXZlbnRMaXN0ZW5lcigid2Via2l0YmVnaW5mdWxsc2NyZWVuIiwgKCkgPT4gewogfSk7CiAK
IG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCAoKSA9PiB7
Ci0gICAgaWYgKG1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuKSB7CisgICAgc2hvdWxk
QmVjb21lRXF1YWwoIm1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgInRydWUiLCAo
KSA9PiB7CiAgICAgICAgIG1lZGlhQ29udHJvbHMgPSBzaGFkb3dSb290Lmxhc3RDaGlsZDsKICAg
ICAgICAgc2hvdWxkQmVjb21lRXF1YWwoIiEhbWVkaWFDb250cm9scy5xdWVyeVNlbGVjdG9yKCcu
YnV0dG9ucy1jb250YWluZXIubGVmdCcpIiwgInRydWUiLCAoKSA9PiB7CiAgICAgICAgICAgICBz
aG91bGRCZWNvbWVFcXVhbFRvU3RyaW5nKCJtZWRpYUNvbnRyb2xzLnF1ZXJ5U2VsZWN0b3IoJy5i
dXR0b25zLWNvbnRhaW5lci5sZWZ0Jykuc3R5bGUud2lkdGgiLCAiMTE4cHgiLCAoKSA9PiB7CkBA
IC0zMyw3ICszMyw3IEBAIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5j
aGFuZ2UiLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAg
ICAgICAgfSk7Ci0gICAgfQorICAgIH0pOwogfSk7CiAKIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIo
InBsYXkiLCAoKSA9PiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9uLXZp
ZGVvLWJhY2tncm91bmQtc2hvdWxkLXBhdXNlLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVk
aWEtY29udHJvbGxlci1jbGljay1vbi12aWRlby1iYWNrZ3JvdW5kLXNob3VsZC1wYXVzZS1mdWxs
c2NyZWVuLWV4cGVjdGVkLnR4dAppbmRleCBjY2Q2NzdmMTE0Zjg3ZDliMjU2ZDIxYTYyYjc2MTBj
ZTBjZTZiZTdjLi4yMDY0ZDdkM2MxYjRlZDc2NTg5ZjM0OWM4M2Q4MzQxODgyZjFiYTc5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29u
dHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9uLXZpZGVvLWJhY2tncm91bmQtc2hvdWxk
LXBhdXNlLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY2xp
Y2stb24tdmlkZW8tYmFja2dyb3VuZC1zaG91bGQtcGF1c2UtZnVsbHNjcmVlbi1leHBlY3RlZC50
eHQKQEAgLTYsNyArNiw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBQQVNTIG1lZGlhQ29u
dHJvbHMucXVlcnlTZWxlY3RvcignYnV0dG9uLmZ1bGxzY3JlZW4nKSBpbnN0YW5jZW9mIEhUTUxC
dXR0b25FbGVtZW50IGJlY2FtZSB0cnVlCiAKIEVudGVyaW5nIGZ1bGxzY3JlZW4KLVBBU1MgbWVk
aWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gaXMgdHJ1ZQorUEFTUyBtZWRpYS53ZWJraXRE
aXNwbGF5aW5nRnVsbHNjcmVlbiBiZWNhbWUgdHJ1ZQogUEFTUyBtZWRpYS5wYXVzZWQgaXMgZmFs
c2UKIAogQ2xpY2tpbmcgb24gdmlkZW8gYmFja2dyb3VuZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29u
dHJvbGxlci1jbGljay1vbi12aWRlby1iYWNrZ3JvdW5kLXNob3VsZC1wYXVzZS1mdWxsc2NyZWVu
Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29u
dHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9uLXZpZGVvLWJhY2tncm91bmQtc2hvdWxk
LXBhdXNlLWZ1bGxzY3JlZW4uaHRtbAppbmRleCA4Y2Y1ZWU3YTlmMmE1YjkwODZhNmMxYzA0Yjll
OWYyNTZmMGZhOTZiLi5iNWM0ODMyYjNhMmFiNjYwY2JmMTVjN2ExMDVkMDlmZjNjMThiZmJmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEt
Y29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9uLXZpZGVvLWJhY2tncm91bmQtc2hv
dWxkLXBhdXNlLWZ1bGxzY3JlZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9u
LXZpZGVvLWJhY2tncm91bmQtc2hvdWxkLXBhdXNlLWZ1bGxzY3JlZW4uaHRtbApAQCAtMjIsMjEg
KzIyLDIyIEBAIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCAoKSA9PiB7CiAKIAogbWVk
aWEuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsICgpID0+IHsKLSAg
ICBzaG91bGRCZVRydWUoIm1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIik7Ci0gICAg
c2hvdWxkQmVGYWxzZSgibWVkaWEucGF1c2VkIik7CisgICAgc2hvdWxkQmVjb21lRXF1YWwoIm1l
ZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgInRydWUiLCAoKSA9PiB7CisgICAgICAg
IHNob3VsZEJlRmFsc2UoIm1lZGlhLnBhdXNlZCIpOwogCi0gICAgY29uc3QgYm91bmRzID0gbWVk
aWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVnKCJD
bGlja2luZyBvbiB2aWRlbyBiYWNrZ3JvdW5kIik7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VNb3Zl
VG8oYm91bmRzLmxlZnQgKyA1LCBib3VuZHMudG9wICsgNSk7Ci0gICAgZXZlbnRTZW5kZXIubW91
c2VEb3duKCk7Ci0gICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgICAgICBjb25zdCBib3Vu
ZHMgPSBtZWRpYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgZGVidWcoIiIpOwor
ICAgICAgICBkZWJ1ZygiQ2xpY2tpbmcgb24gdmlkZW8gYmFja2dyb3VuZCIpOworICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhib3VuZHMubGVmdCArIDUsIGJvdW5kcy50b3AgKyA1KTsK
KyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlVXAoKTsKIAotICAgIHNob3VsZEJlVHJ1ZSgibWVkaWEucGF1c2VkIik7CisgICAgICAgIHNo
b3VsZEJlVHJ1ZSgibWVkaWEucGF1c2VkIik7CiAKLSAgICBkZWJ1ZygiIik7Ci0gICAgbWVkaWEu
cmVtb3ZlKCk7Ci0gICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAg
ICAgbWVkaWEucmVtb3ZlKCk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0pOwogfSk7
CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1mdWxsc2NyZWVuLWx0
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWZ1bGxzY3JlZW4tbHRyLWV4cGVjdGVk
LnR4dAppbmRleCBjNzExZjUxMTRmZWI2MzNmYzNmOWEwNmQ0ZmEyYmE2MWYyZjJmZWQxLi5hNThm
OGZiZmUyZTg4ZjNhMmFmOTI5MTU2ODMwYTcyYTMzNjEzNjk4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1j
b250cm9sbGVyLWZ1bGxzY3JlZW4tbHRyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9s
bGVyLWZ1bGxzY3JlZW4tbHRyLWV4cGVjdGVkLnR4dApAQCAtMyw2ICszLDcgQEAgVGVzdGluZyBs
dHIgaXMgc2V0IGNvcnJlY3RseSB3aGVuIGVudGVyaW5nIGZ1bGxzY3JlZW4uCiBPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCiAKIAorUEFTUyBtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVl
biBiZWNhbWUgdHJ1ZQogTWVkaWEgZW50ZXJlZCBmdWxsc2NyZWVuCiBQQVNTIG1lZGlhQ29udHJv
bHNFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygndXNlcy1sdHItdXNlci1pbnRlcmZhY2UtbGF5
b3V0LWRpcmVjdGlvbicpIGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29t
cHV0ZWRTdHlsZSh2b2x1bWVTbGlkZXJFbGVtZW50KS50cmFuc2Zvcm0gaXMgIm5vbmUiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29u
dHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWZ1bGxzY3JlZW4tbHRyLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250
cm9sbGVyLWZ1bGxzY3JlZW4tbHRyLmh0bWwKaW5kZXggNjg3OWYwZTNhYjNjZjU5MDEwMDdlZTkz
NzJlNmNhM2M1MDhjYTU5YS4uMjY0NDlkYTA2YTk0NGY5NmNlNTY1OTU2OGFkMTIyN2IwNTk2MjUy
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21l
ZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1mdWxsc2NyZWVuLWx0ci5odG1sCisrKyBi
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVy
L21lZGlhLWNvbnRyb2xsZXItZnVsbHNjcmVlbi1sdHIuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBs
ZXQgc2hhZG93Um9vdCA9IHdpbmRvdy5pbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSk7CiBsZXQg
bWVkaWFDb250cm9sc0VsZW1lbnQsIHZvbHVtZVNsaWRlckVsZW1lbnQ7CiAKIG1lZGlhLmFkZEV2
ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCBmdW5jdGlvbigpIHsKLSAgICBp
ZiAobWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4pIHsKKyAgICBzaG91bGRCZWNvbWVF
cXVhbCgibWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCAidHJ1ZSIsICgpID0+IHsK
ICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CiAgICAgICAgICAg
ICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKICAgICAgICAgICAgICAgICBk
ZWJ1ZygiTWVkaWEgZW50ZXJlZCBmdWxsc2NyZWVuIik7CkBAIC00NCw3ICs0NCw3IEBAIG1lZGlh
LmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCBmdW5jdGlvbigpIHsK
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAgICAgICAgICAgIH0pOwogICAgICAg
ICB9KTsKLSAgICB9CisgICAgfSk7CiB9KTsKIAogbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZGVkbWV0YWRhdGEiLCAoKSA9PiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLXNwYWNl
LWJhci10b2dnbGUtcGxheWJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1zcGFj
ZS1iYXItdG9nZ2xlLXBsYXliYWNrLWV4cGVjdGVkLnR4dAppbmRleCBjYTFhM2RjZDdlMjUyOGM1
ZDhlOTZjNjM4NDFiYWNkYmE2NWE2ZGFiLi45ZmE4NjM1YmFhZmYwMTJjZWMzMDU1NGFmODFhYTM3
MDgwZmZmMWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLXNwYWNlLWJhci10b2dnbGUt
cGxheWJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItc3BhY2UtYmFyLXRv
Z2dsZS1wbGF5YmFjay1leHBlY3RlZC50eHQKQEAgLTksNyArOSw3IEBAIE9idGFpbmVkIGEgJ3Bs
YXknIGV2ZW50LgogRW50ZXJpbmcgZnVsbHNjcmVlbi4KIAogT2J0YWluZWQgYSAnd2Via2l0ZnVs
bHNjcmVlbmNoYW5nZScgZXZlbnQuCi1tZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9
IHRydWUuCitQQVNTIG1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIGJlY2FtZSB0cnVl
CiBQQVNTIG1lZGlhLnBhdXNlZCBpcyBmYWxzZQogCiBQcmVzc2luZyB0aGUgc3BhY2UgYmFyLgpA
QCAtMjEsNyArMjEsNiBAQCBQcmVzc2luZyB0aGUgc3BhY2UgYmFyLgogT2J0YWluZWQgYSAncGxh
eScgZXZlbnQuCiAKIE9idGFpbmVkIGEgJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnIGV2ZW50Lgot
bWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPSBmYWxzZS4KIAogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLXNwYWNl
LWJhci10b2dnbGUtcGxheWJhY2suaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItc3BhY2UtYmFyLXRv
Z2dsZS1wbGF5YmFjay5odG1sCmluZGV4IGYzMDVmMWVmZjhjYTk4MmIzYTY4ZjgwNjUxYzg4ZDlk
NGExMDliMmYuLjA5MzQ0MDM1NjE1ODA2NWJhMzI1NWNlYzZmZjIyNTA4MTM3ZDgwY2EgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250
cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItc3BhY2UtYmFyLXRvZ2dsZS1wbGF5YmFjay5odG1sCisr
KyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9s
bGVyL21lZGlhLWNvbnRyb2xsZXItc3BhY2UtYmFyLXRvZ2dsZS1wbGF5YmFjay5odG1sCkBAIC0x
NiwxMSArMTYsMTIgQEAgYnV0dG9uLnRleHRDb250ZW50ID0gIkVudGVyIEZ1bGxzY3JlZW4iOwog
bWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsICgpID0+IHsK
ICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIk9idGFpbmVkIGEgJ3dlYmtpdGZ1bGxzY3JlZW5j
aGFuZ2UnIGV2ZW50LiIpOwotICAgIGRlYnVnKGBtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNj
cmVlbiA9ICR7bWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW59LmApOwogCi0gICAgaWYg
KG1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuKSB7Ci0gICAgICAgIHNob3VsZEJlRmFs
c2UoIm1lZGlhLnBhdXNlZCIpOwotICAgICAgICBwcmVzc1NwYWNlKCk7CisgICAgaWYgKHBsYXlD
b3VudCA9PSAxKSB7CisgICAgICAgIHNob3VsZEJlY29tZUVxdWFsKCdtZWRpYS53ZWJraXREaXNw
bGF5aW5nRnVsbHNjcmVlbicsICd0cnVlJywgKCkgPT4geworICAgICAgICAgICAgc2hvdWxkQmVG
YWxzZSgibWVkaWEucGF1c2VkIik7CisgICAgICAgICAgICBwcmVzc1NwYWNlKCk7CisgICAgICAg
IH0pOwogICAgIH0gZWxzZQogICAgICAgICBlbmRUZXN0KCk7CiB9KTsKQEAgLTQ2LDcgKzQ3LDYg
QEAgbWVkaWEuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLCAoKSA9PiB7CiAgICAgcHJlc3NTcGFj
ZSgpOwogfSk7CiAKLQogZnVuY3Rpb24gZW50ZXJGdWxsc2NyZWVuKCkgewogICAgIGRlYnVnKCIi
KTsKICAgICBkZWJ1ZygiRW50ZXJpbmcgZnVsbHNjcmVlbi4iKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90cmFja3Mt
c3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0
LXNob3ctcGFuZWwtZnVsbHNjcmVlbi1leHBlY3RlZC50eHQKaW5kZXggYTMzMTA5MzI4NjU0YjIy
NTQyOTY5ZWU2OTc3NWQ3ZmEyOTQ3YTM5My4uNzUxNTI1NTA0MjgwOGRjNmYzZDFkOWFhNzEzZTYx
NmU1Mjk3NWVhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL3RyYWNrcy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0LXNob3ctcGFuZWwtZnVsbHNjcmVl
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL3RyYWNrcy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0LXNob3ctcGFuZWwtZnVsbHNjcmVlbi1l
eHBlY3RlZC50eHQKQEAgLTUsNiArNSw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBB
U1MgaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi5mdWxs
c2NyZWVuIikgYmVjYW1lIGRpZmZlcmVudCBmcm9tIG51bGwKIFBBU1MgaW50ZXJuYWxzLnNoYWRv
d1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi5mdWxsc2NyZWVuIikuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCkud2lkdGggYmVjYW1lIGRpZmZlcmVudCBmcm9tIDAKK1BBU1MgbWVkaWEu
d2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gYmVjYW1lIHRydWUKIFBBU1MgaW50ZXJuYWxzLnNo
YWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi50cmFja3MiKSBiZWNhbWUgZGlm
ZmVyZW50IGZyb20gbnVsbAogUEFTUyBpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlT
ZWxlY3RvcigiYnV0dG9uLnRyYWNrcyIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGJl
Y2FtZSBkaWZmZXJlbnQgZnJvbSAwCiBQQVNTIGludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5x
dWVyeVNlbGVjdG9yKCJidXR0b24udHJhY2tzIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmln
aHQgYmVjYW1lIDU4MgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0LXNob3ctcGFuZWwtZnVsbHNj
cmVlbi5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNr
cy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0LXNob3ctcGFuZWwtZnVsbHNjcmVlbi5odG1sCmluZGV4
IDNlMTJkNDIyOGFiNmU2OTVlMTkxMTAyODBiZmNiZWE1MGY1MDVkYzQuLjQyZmFkYWY1NTI4N2Fk
ZmYyZjc5NTYwZDFlY2FiYTg4MWU5NDQyNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90cmFja3Mtc3VwcG9ydC1zaG93
LXBhbmVsLWZ1bGxzY3JlZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQtc2hvdy1wYW5lbC1mdWxs
c2NyZWVuLmh0bWwKQEAgLTEyLDE5ICsxMiwxOCBAQCBkZXNjcmlwdGlvbigiU2hvd2luZyB0aGUg
dHJhY2tzIHBhbmVsIGluIGZ1bGxzY3JlZW4uIik7CiBjb25zdCBtZWRpYSA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoInZpZGVvIik7CiAKIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1
bGxzY3JlZW5jaGFuZ2UiLCAoKSA9PiB7Ci0gICAgaWYgKCFtZWRpYS53ZWJraXREaXNwbGF5aW5n
RnVsbHNjcmVlbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgc2hvdWxkQmVjb21lRGlmZmVyZW50
KGBpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9uLnRyYWNr
cyIpYCwgIm51bGwiLCAoKSA9PiB7Ci0gICAgICAgIHNob3VsZEJlY29tZURpZmZlcmVudChgaW50
ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi50cmFja3MiKS5n
ZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aGAsICIwIiwgKCkgPT4gewotICAgICAgICAgICAg
c2hvdWxkQmVjb21lRXF1YWwoYGludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVj
dG9yKCJidXR0b24udHJhY2tzIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHRgLCAiNTgy
IiwgKCkgPT4gewotICAgICAgICAgICAgICAgIHByZXNzT25FbGVtZW50KGludGVybmFscy5zaGFk
b3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCJidXR0b24udHJhY2tzIikpOwotICAgICAgICAg
ICAgICAgIHNob3VsZEJlY29tZURpZmZlcmVudChgaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEp
LnF1ZXJ5U2VsZWN0b3IoJy50cmFja3MtcGFuZWwnKWAsICJudWxsIiwgKCkgPT4gewotICAgICAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImludGVybmFscy5zaGFkb3dSb290
KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCcudHJhY2tzLXBhbmVsJykuc3R5bGUucmlnaHQiLCAiMjE4
cHgiKTsKLSAgICAgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJpbnRlcm5h
bHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcignLnRyYWNrcy1wYW5lbCcpLnN0eWxl
LmJvdHRvbSIsICIxMDFweCIpOwotICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiIik7Ci0gICAg
ICAgICAgICAgICAgICAgIG1lZGlhLnJlbW92ZSgpOwotICAgICAgICAgICAgICAgICAgICBmaW5p
c2hKU1Rlc3QoKTsKKyAgICBzaG91bGRCZWNvbWVFcXVhbCgibWVkaWEud2Via2l0RGlzcGxheWlu
Z0Z1bGxzY3JlZW4iLCAidHJ1ZSIsICgpID0+IHsKKyAgICAgICAgc2hvdWxkQmVjb21lRGlmZmVy
ZW50KGBpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9uLnRy
YWNrcyIpYCwgIm51bGwiLCAoKSA9PiB7CisgICAgICAgICAgICBzaG91bGRCZWNvbWVEaWZmZXJl
bnQoYGludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCJidXR0b24udHJh
Y2tzIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGhgLCAiMCIsICgpID0+IHsKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZWNvbWVFcXVhbChgaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEp
LnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi50cmFja3MiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5y
aWdodGAsICI1ODIiLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHByZXNzT25FbGVtZW50
KGludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCJidXR0b24udHJhY2tz
IikpOworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZWNvbWVEaWZmZXJlbnQoYGludGVybmFs
cy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCcudHJhY2tzLXBhbmVsJylgLCAibnVs
bCIsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoJy50cmFja3MtcGFu
ZWwnKS5zdHlsZS5yaWdodCIsICIyMThweCIpOworICAgICAgICAgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxl
Y3RvcignLnRyYWNrcy1wYW5lbCcpLnN0eWxlLmJvdHRvbSIsICIxMDFweCIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWEu
cmVtb3ZlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsK
ICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1mdWxsc2Ny
ZWVuLW9ubHktcGxheWJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
ZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNrLWV4cGVjdGVkLnR4dAppbmRleCAzMzcyNGYwYjYyM2Ex
NGJmNzUyYzRhYWM0MDQ1ZmNhZDI3OWI0NzJiLi5jMTcyYjUyZWY0NjQ0MzNkMjk4OGU5NjM2OTkz
NzExZjFjODMzMzBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1mdWxsc2Ny
ZWVuLW9ubHktcGxheWJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL3Zp
ZGVvLWZ1bGxzY3JlZW4tb25seS1wbGF5YmFjay1leHBlY3RlZC50eHQKQEAgLTEsMTggKzEsMTgg
QEAKIAotVGVzdCBwbGF5KCkgd2hlbiA8dmlkZW8+IHBsYXliYWNrIHJlcXVpcmVzIGZ1bGxzY3Jl
ZW4uCitUZXN0IHRoZSBwbGF5KCkgZnVuY3Rpb24gb2YgPHZpZGVvPiB3aGVuIGZ1bGxzY3JlZW4g
aXMgcmVxdWlyZWQuCiAKLVJVTihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFjayhmYWxzZSkpCiAKIEVWRU5UKGNhbnBsYXl0aHJvdWdoKQogRVhQRUNURUQgKHZp
ZGVvLndlYmtpdFN1cHBvcnRzRnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9LCiBFWFBFQ1RFRCAodmlk
ZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ2ZhbHNlJykgT0sKLQotKiogQ2xpY2tp
bmcgJ3BsYXknIGJ1dHRvbi4uLgorUlVOKHZpZGVvLnBsYXkoKSkKIEVWRU5UKHBsYXlpbmcpCitF
WFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ3RydWUnKSBPSwog
CiAqKiBFbnRlcmVkIGZ1bGxzY3JlZW4KLUVYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5n
RnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9LCiBSVU4odmlkZW8ud2Via2l0RXhpdEZ1bGxTY3JlZW4o
KSkKK0VWRU5UKHdlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkKQorRVhQRUNURUQgKHZpZGVv
LndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuID09ICdmYWxzZScpIE9LCiAKICoqIEV4aXRlZCBm
dWxsc2NyZWVuCiBFTkQgT0YgVEVTVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlk
ZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRl
by1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2suaHRtbAppbmRleCBmNmY5ZDZiNzc5YmQwNjc5OWJk
ODhjOWExNjY3ZjVmMWRhNjhhNmM2Li5lOGU5Y2ExOTM3ZDJiNGU0MDNhMDYxODJhMDZjYzFmYzJi
YjI3NjhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1mdWxsc2NyZWVuLW9u
bHktcGxheWJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1mdWxsc2NyZWVu
LW9ubHktcGxheWJhY2suaHRtbApAQCAtMSwyOCArMSwyOCBAQAotPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBlbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzPWZhbHNlIF0gLS0+Cis8IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZU1vZGVybk1lZGlhQ29udHJvbHM9
ZmFsc2UgXSAtLT4KIDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c2NyaXB0IHNyYz1tZWRp
YS1maWxlLmpzPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwv
c2NyaXB0PgogICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1jb250cm9scy5qcz48L3NjcmlwdD4K
ICAgICAgICAgPHNjcmlwdD4KLQotICAgICAgICAgICAgZnVuY3Rpb24gZnVsbHNjcmVlbmNoYW5n
ZSgpCisgICAgICAgICAgICBmdW5jdGlvbiBzdGFydCgpCiAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgaWYgKCFkb2N1bWVudC53ZWJraXRJc0Z1bGxTY3JlZW4pCi0gICAgICAgICAgICAg
ICAgICAgIGVuZGZ1bGxzY3JlZW4oKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBp
ZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAgICAgICAgZmFpbFRlc3QoJ1Ro
aXMgdGVzdCByZXF1aXJlcyB3aW5kb3cuaW50ZXJuYWxzLicpOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBwbGF5
aW5nKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4q
KiBFbnRlcmVkIGZ1bGxzY3JlZW4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZp
ZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAg
cnVuKCJ2aWRlby53ZWJraXRFeGl0RnVsbFNjcmVlbigpIik7Ci0gICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8n
KVswXTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoImNhbnBsYXl0aHJvdWdoIiwgY2Fu
cGxheXRocm91Z2gpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgncGxheWluZycsIHBs
YXlpbmcpOworICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVv
IiwgImNvbnRlbnQvdGVzdCIpOwogCi0gICAgICAgICAgICBmdW5jdGlvbiBlbmRmdWxsc2NyZWVu
KCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBF
eGl0ZWQgZnVsbHNjcmVlbiIpOwotICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAg
ICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxh
eWJhY2soZmFsc2UpOworICAgICAgICAgICAgICAgIC8vIERpc2FibGUgdGhlIEZ1bGxzY3JlZW4g
QVBJIChlbGVtZW50IGZ1bGxzY3JlZW4pIHN1cHBvcnQKKyAgICAgICAgICAgICAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5FbmFibGVkKGZhbHNlKTsKKyAgICAgICAg
ICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldE1vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFi
bGVkKHRydWUpOworCisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKICAgICAgICAg
ICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKQpAQCAtMzAsNDEg
KzMwLDMzIEBACiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby53ZWJraXRTdXBw
b3J0c0Z1bGxzY3JlZW4iLCB0cnVlKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZp
ZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgZmFsc2UpOwogCi0gICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCI8YnI+KiogQ2xpY2tpbmcgXCdwbGF5XCcgYnV0dG9uLi4uIik7Ci0K
ICAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICBjbGlja1BsYXlCdXR0
b24odmlkZW8pOworICAgICAgICAgICAgICAgICAgICBydW5XaXRoS2V5RG93bigidmlkZW8ucGxh
eSgpIik7CiAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGZhaWxUZXN0KGV4Y2VwdGlvbi5kZXNjcmlwdGlvbik7CiAgICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKLQotICAg
ICAgICAgICAgZnVuY3Rpb24gc3RhcnQoKQorICAgICAgICAgICAgYXN5bmMgZnVuY3Rpb24gcGxh
eWluZygpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJu
YWxzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCdUaGlzIHRlc3QgcmVxdWlyZXMg
d2luZG93LmludGVybmFscy4nKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCJj
YW5wbGF5dGhyb3VnaCIsIGNhbnBsYXl0aHJvdWdoKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9y
RXZlbnQoJ3BsYXlpbmcnLCBwbGF5aW5nKTsKLQotICAgICAgICAgICAgICAgIHZpZGVvLmFkZEV2
ZW50TGlzdGVuZXIoJ3dlYmtpdGVuZGZ1bGxzY3JlZW4nLCBlbmRmdWxsc2NyZWVuLCB0cnVlKTsK
LSAgICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRmdWxsc2NyZWVu
Y2hhbmdlJywgZnVsbHNjcmVlbmNoYW5nZSwgdHJ1ZSk7Ci0KLSAgICAgICAgICAgICAgICB2aWRl
by5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKTsKKyAgICAgICAg
ICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVudHVhbGx5KCJ2aWRlby53ZWJraXREaXNwbGF5
aW5nRnVsbHNjcmVlbiIsIHRydWUpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJy
PioqIEVudGVyZWQgZnVsbHNjcmVlbiIpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgn
d2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnLCBlbmRmdWxsc2NyZWVuKTsKKyAgICAgICAg
ICAgICAgICBydW4oInZpZGVvLndlYmtpdEV4aXRGdWxsU2NyZWVuKCkiKTsKKyAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgICAgIHJ1bigiaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lu
bGluZU1lZGlhUGxheWJhY2soZmFsc2UpIik7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCIiKTsKKyAgICAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoInZp
ZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgZmFsc2UpOworICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiPGJyPioqIEV4aXRlZCBmdWxsc2NyZWVuIik7CisgICAgICAgICAgICAg
ICAgZW5kVGVzdCgpOwogICAgICAgICAgICAgfQogICAgICAgICA8L3NjcmlwdD4KICAgICA8L2hl
YWQ+CiAKICAgICA8Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgogICAgICAgICA8dmlkZW8gY29udHJv
bHM+PC92aWRlbz4KLSAgICAgICAgPHA+VGVzdCBwbGF5KCkgd2hlbiAmbHQ7dmlkZW8mZ3Q7IHBs
YXliYWNrIHJlcXVpcmVzIGZ1bGxzY3JlZW4uPC9wPgorICAgICAgICA8cD5UZXN0IHRoZSBwbGF5
KCkgZnVuY3Rpb24gb2YgJmx0O3ZpZGVvJmd0OyB3aGVuIGZ1bGxzY3JlZW4gaXMgcmVxdWlyZWQu
PC9wPgogICAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggMTI1NzY0ZTMyN2I0NzdkNWM4ZTkyOWFlNzdiZDAzZTgwMmM0MDEy
My4uNTAwZTQ5ZTJiYjVhYmU5MGQ5MTJlYTA2MTNmMWYxOThkMGM1NDBkYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0MzAsNyArMjQzMCw2IEBAIG1l
ZGlhL21lZGlhLWZ1bGxzY3JlZW4taW5saW5lLmh0bWwKIHdlYmtpdC5vcmcvYi8xMzY3MDggbWVk
aWEvbWVkaWEtZnVsbHNjcmVlbi1ub3QtaW4tZG9jdW1lbnQuaHRtbAogCiBtZWRpYS9tZWRpYS1j
b250cm9scy1hY2Nlc3NpYmlsaXR5Lmh0bWwgWyBUaW1lb3V0IF0KLW1lZGlhL21lZGlhLWZ1bGxz
Y3JlZW4tcmV0dXJuLXRvLWlubGluZS5odG1sCiBtZWRpYS9uby1hdXRvcGxheS13aXRoLXVzZXIt
Z2VzdHVyZS1yZXF1aXJlbWVudC5odG1sCiBtZWRpYS92aWRlby1jb250cm9scy1kcmFnLmh0bWwK
IG1lZGlhL3ZpZGVvLWNvbnRyb2xzLWZ1bGxzY3JlZW4tdm9sdW1lLmh0bWwKQEAgLTI1NjcsNyAr
MjU2Niw2IEBAIHdlYmtpdC5vcmcvYi8xNjI2NDcgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9v
bmFib3J0LXJlc3BvbnNlLWdldHRlcnMuaHRtbCBbIFBhCiB3ZWJraXQub3JnL2IvMTYzMjkxIG1l
ZGlhL3JlcXVpcmUtdXNlci1nZXN0dXJlLXRvLWxvYWQtdmlkZW8uaHRtbAogd2Via2l0Lm9yZy9i
LzE2MzI5MSBtZWRpYS92aWRlby1jb250cm9scy10cmFuc2Zvcm1lZC5odG1sIFsgRmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMTYzMjkxIG1lZGlhL3ZpZGVvLWNvbnRyb2xzLXZpc2libGUtYXVkaW8t
b25seS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTYzMjkxIG1lZGlhL3ZpZGVvLWZ1
bGxzY3JlZW4tb25seS1wbGF5YmFjay5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTYz
MjkxIG1lZGlhL3ZpZGVvLXBsYXktYXVkaW8tcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbCBbIEZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2MzI5MSBtZWRpYS92aWRlby1wbGF5LXJlcXVpcmUtdXNl
ci1nZXN0dXJlLmh0bWwKIApAQCAtMzE1NiwxMSArMzE1NCw2IEBAIGZhc3QvZ3JhZGllbnRzL2Nv
bmljLXR3by1oaW50cy5odG1sIFsgUGFzcyBdCiAjIDxyZGFyOi8vcHJvYmxlbS8zNjQ1NTMzOT4g
TGF5b3V0VGVzdCBjb21wb3NpdGluZy9pb3Mvb3ZlcmZsb3ctc2Nyb2xsLXRvdWNoLXRpbGVzLmh0
bWwgaXMgYSBmbGFreSBmYWlsdXJlCiBjb21wb3NpdGluZy9pb3Mvb3ZlcmZsb3ctc2Nyb2xsLXRv
dWNoLXRpbGVzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCi0jIDxyZGFyOi8vcHJvYmxlbS80MTU0
Njk3MD4gUkVHUkVTU0lPTjogTGF5b3V0VGVzdCBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3At
aW5saW5lLmh0bWwgaXMgYSBmbGFreSB0aW1lb3V0Ci1tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxv
b3AtaW5saW5lLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotCi13ZWJraXQub3JnL2IvMTg3NjE4IFsg
UmVsZWFzZSBdIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQotCiAjIERpc2FibGVkIGdsb2JhbGx5LgogaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9nemlwLWNvbnRlbnQtdHlwZS1uby1jb250ZW50LWVuY29kaW5nLmh0bWwgWyBQYXNzIF0K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDIwNmFiMzNmNmI4NDAxZTZlNWQ4NTFlOTZiZGJkNWY5NTZlOWYyMzAuLjkwMWQ1ZWZhZDRhYzk1
NjhiOWYyZDhmYjc5YTgwNzRlODMyMDNiOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTYxNiw3ICs2MTYsNiBAQCB3ZWJraXQub3JnL2Iv
MTcyODA3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9mb2N1
cy1kaXNwbGF5LQogd2Via2l0Lm9yZy9iLzE3MjgwNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9zZWxlY3RvcnMvZm9jdXMtd2l0aGluLWRpc3BsYXktbm9uZS0wMDEuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNjg0MDkgbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2FpcnBsYXktYnV0dG9uL2FpcnBsYXktYnV0dG9uLmh0bWwgWyBQYXNzIFRpbWVv
dXQgXQotd2Via2l0Lm9yZy9iLzE3NTE5NSBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY3Nz
L3dlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eS1hdXRvLWhpZGUuaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMTY4MjY1IG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9mb3J3YXJk
LWJ1dHRvbi9mb3J3YXJkLWJ1dHRvbi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjEzYzNiNmU1
MTMxYWE0NzUzZTc3YzMxZjQ5MzI3MGZhNGYwMmFkMS4uMGRjYWJmZmEyMWRiMjJhYWIyY2ZjNGQ5
ZDRiNmM1MTY3MTI5ZjQyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMzQxLDEwICszNDEsNiBAQCB3ZWJraXQub3JnL2IvMTUwNTQyIGZh
c3QvZm9ybXMvc3RhdGUtcmVzdG9yZS1wZXItZm9ybS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIAog
d2Via2l0Lm9yZy9iLzE1MTcwOSBbIFJlbGVhc2UgXSBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3dvcmtlcnMvbWV0aG9kcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIAotIyBWaWRlbyBmdWxsc2Ny
ZWVuIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgbWFjIHdrMiBpbiB3ZWJraXR0ZXN0cnVubmVyCi1t
ZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwgWyBTa2lwIF0KLW1lZGlhL21l
ZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLmh0bWwgWyBTa2lwIF0KLQogIyMjIEVORCBPRiAo
MSkgQ2xhc3NpZmllZCBmYWlsdXJlcyB3aXRoIGJ1ZyByZXBvcnRzCiAjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggMmEwZTIwZTBkNGE1Y2QwZGU5N2U5ZDIzMjljMmI5MzJjZTc1NjA5
YS4uYmRiNzM5MTgwMWI4MDc2MTRjMGU0MDIwZDk3OWFjNTVmMjk2YzAxNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTc1OSw3ICs3NTksNiBAQCB3ZWJr
aXQub3JnL2IvMTMzNjg2IG1lZGlhL3RyYWNrL3czYy9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9h
bGlnbi5odG1sIFsgUGFzcyBGYQogd2Via2l0Lm9yZy9iLzEzNTA3MSBtZWRpYS92aWRlby1zZWVr
LXdpdGgtbmVnYXRpdmUtcGxheWJhY2suaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3Jn
L2IvMTM1MTYwIG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3VidGl0bGVzLXRvby1sYXJnZS5o
dG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTM1MTYwIG1lZGlhL3RyYWNrL3RyYWNrLWxv
bmctd29yZC1jb250YWluZXItc2l6aW5nLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8x
MzczMTEgbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNrLmh0bWwgWyBQYXNzIFRp
bWVvdXQgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzEzOTc4OSBtZWRpYS9tZWRpYS1jb250cm9scy10
aW1lbGluZS11cGRhdGVzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEzOTgy
NSBtZWRpYS92aWRlby1zZWVrLXBhc3QtZW5kLXBhdXNlZC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
IHdlYmtpdC5vcmcvYi8xNDEwODQgaHR0cC90ZXN0cy9tZWRpYS92aWRlby1wcmVsb2FkLmh0bWwg
WyBQYXNzIFRpbWVvdXQgXQpAQCAtMTY0MSw4ICsxNjQwLDYgQEAgd2Via2l0Lm9yZy9iLzE4OTY4
MCBwbGF0Zm9ybS9tYWMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS12aWRlby1wYXVzZWQu
aHRtbAogd2Via2l0Lm9yZy9iLzE5NTQ2NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHktc3Rh
dGVzL2F1dG9wbGF5Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE5NTQ2NiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvbWVkaWEtZWxlbWVudHMvZXJyb3ItY29kZXMvZXJyb3IuaHRtbCBbIFBhc3MgRmFpbHVy
ZSBdCiAKLXdlYmtpdC5vcmcvYi8xOTMzOTkgbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4t
dG8taW5saW5lLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotCiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2hhbmRzaGFrZS1vay13aXRoLWxlZ2FjeS1zZWMtd2Vic29ja2V0LXJlc3BvbnNl
LWhlYWRlcnMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xOTU0NjYgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250
ZW50L3RoZS1pbWctZWxlbWVudC9zaXplcy9wYXJzZS1hLXNpemVzLWF0dHJpYnV0ZS13aWR0aC0x
MDAwcHguaHRtbCBbIFBhc3MgRmFpbHVyZSBdCkBAIC0xOTQ4LDggKzE5NDUsNiBAQCB3ZWJraXQu
b3JnL2IvMjA5OTA4IHN2Zy9jdXN0b20vYW5pbWF0ZS1pbml0aWFsLXBhdXNlLXVucGF1c2UuaHRt
bCBbIFBhc3MgVGltZW91dAogCiB3ZWJraXQub3JnL2IvMjEwMDQ2IFsgUmVsZWFzZSBdIHN0b3Jh
Z2UvaW5kZXhlZGRiL3ZhbHVlLWN1cnNvci1jeWNsZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAot
d2Via2l0Lm9yZy9iLzE4MjU3MSBbIERlYnVnIF0gbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L3RyYWNrcy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0LXNob3ctcGFuZWwtZnVsbHNjcmVlbi5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KLQogd2Via2l0Lm9yZy9iLzIwNzE2MCBjc3MyLjEvMjAxMTAzMjMv
cmVwbGFjZWQtaW50cmluc2ljLXJhdGlvLTAwMS5odG0gWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJr
aXQub3JnL2IvMjEwMzUxIHNjcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9ob3Jpem9u
dGFsLW92ZXJmbG93LWJhY2stc3dpcGUuaHRtbCBbIFBhc3MgVGltZW91dCBdCg==
</data>
<flag name="review"
          id="414398"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399044</attachid>
            <date>2020-05-11 12:29:51 -0700</date>
            <delta_ts>2020-05-11 14:03:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-211645-20200511122950.patch</filename>
            <type>text/plain</type>
            <size>63398</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ1ZGIyNjgwNzBiMzQ0
MWM3NmZlNmRkNzUyOThiZmE0YzNlMDg5Mi4uMDdjM2ZlOTliNWYzMDE2MDg4ZDFjZjZjYWMzNjY2
ZDMzMDIzYThhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA1LTExICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZp
ZGVvIHByZXNlbnRhdGlvbiBtb2RlIGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVz
dCBmYWlsdXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjExNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
Q2xlYW4gdXAgdGhlIGludGVybmFsIHN0YXRlcyBvZiB2aWRlbyBlbGVtZW50IHJlZ2FyZGluZyB2
aWRlbyBwcmVzZW50YXRpb24gbW9kZQorICAgICAgICB0byBzaW1wbGlmeSB0aGUgdGFzayB0byB3
cml0ZSByZWxpYWJsZSBsYXlvdXQgdGVzdHMgZm9yIHZpZGVvIGZ1bGxzY3JlZW4gYW5kCisgICAg
ICAgIFBpY3R1cmUtaW4tUGljdHVyZS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3Jl
ZW4pOgorICAgICAgICBVcGRhdGUgdGhlIHN0YXRlcyBhZnRlciB3ZSBhcmUgc3VyZSB0aGUgdmlk
ZW8gZWxlbWVudCB3aWxsIGVudGVyIGZ1bGxzY3JlZW4uCisKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OmV4aXRGdWxsc2NyZWVuKToKKyAgICAgICAgUmVtb3ZlIHRoZSB1bm5l
Y2Vzc2FyeSAiZnVsbHNjcmVlbk1vZGVDaGFuZ2VkKFZpZGVvRnVsbHNjcmVlbk1vZGVOb25lKSIu
CisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OndhaXRpbmdUb0VudGVyRnVsbHNjcmVlbik6CisKKyAgICAgICAg
KiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFZpZGVv
RWxlbWVudDo6d2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4pOgorICAgICAgICBUaGUgZnVuY3Rp
b24gd2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4oKSB3aWxsIHJldHVybiB0cnVlIGFmdGVyIHRo
ZSBwcm9jZXNzCisgICAgICAgIHRvIGVudGVyIGZ1bGxzY3JlZW4gaXMgY29tcGxldGVkLgorCisg
ICAgICAgICogaHRtbC9IVE1MVmlkZW9FbGVtZW50Lmg6CisgICAgICAgIEV4cG9zZSBkaWRCZWNv
bWVGdWxsc2NyZWVuRWxlbWVudCgpIHdoZW4gVklERU9fUFJFU0VOVEFUSU9OX01PREUgaXMgZW5h
YmxlZC4KKwogMjAyMC0wNS0xMSAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5j
b20+CiAKICAgICAgICAgQ2hlY2sgdGhlIHZhbGlkaXR5IG9mIHRoZSB1bmRlcmx5aW5nIERvY3Vt
ZW50IGJlZm9yZSB1cGRhdGluZyB0aGUgaXNvbGF0ZWQgdHJlZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDU3ZWJk
OWM3YjlhZTBiY2FlOWY5ZjhiYzVlNzNmODZmMDFhYTVlNi4uYjJjMDA2NDcwYzhlODVhYmMyMWM5
NTczNDJiOGU3MjI0MjYyYzNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wNS0x
MSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIEVuYWJsZSB0aGUg
bW9jayB2aWRlbyBwcmVzZW50YXRpb24gbW9kZSBpbiByZWxhdGVkIGxheW91dCB0ZXN0cyBhbmQg
Zml4IHRlc3QgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMTY0NQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgIEZpeCB0aGUgbWlzdGFrZSBpbiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpzdXBwb3J0
c1ZpZGVvRnVsbHNjcmVlbigpIGludHJvZHVjZWQgaW4gcjIwMjI3NC4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvY29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktp
dDo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6c3VwcG9ydHNWaWRlb0Z1bGxzY3JlZW4gY29uc3Qp
OgorCiAyMDIwLTA1LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTMyNjcpOiBpc3N1ZXMgb24gdG91Y2hzdGFydC90b3Vj
aGVuZC90b3VjaG1vdmUgKHBvaW50ZXJkb3duL3BvaW50ZXJ1cC9wb2ludGVybW92ZSkgZXZlbnRz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjYwOWQwMzMzM2VkYzYxNzIxYmVmNTYx
ZThkNThiZjM4ZWYxYjhkMi4uNWRhNTMxMGFjMTgzNjZkNGQzZDQ0ZDk5ZWU4YTFhMWY3YTIyOTQy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA1
LTExICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIHRo
ZSBtb2NrIHZpZGVvIHByZXNlbnRhdGlvbiBtb2RlIGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFu
ZCBmaXggdGVzdCBmYWlsdXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjExNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgQ2FsbCBIVE1MVmlkZW9FbGVtZW50OjpkaWRCZWNvbWVGdWxsc2NyZWVuRWxlbWVu
dCgpIGFmdGVyIGEgdmlkZW8gZWxlbWVudCBlbnRlcnMKKyAgICAgICAgZnVsbHNjcmVlbiAodG8g
YmUgY29uc2lzdGVudCB3aXRoIFdLMikuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXIgd2luZG93RGlkRW50ZXJGdWxsU2NyZWVuOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
Vmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfZW50ZXJWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRl
b0VsZW1lbnQ6bW9kZTpdKToKKwogMjAyMC0wNS0wNyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFVTRShJTlNFUlRJT05fVU5ET19HUk9VUElORykgY2hl
Y2tzIGluIG1hY09TIHBsYXRmb3JtIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCmluZGV4IGE5NTU1Y2Q4ZDFhYjRkMTcyZmM0MDMyYzg3NzYwNjI2ZmY5OTA0YzIu
LmVmOWZiZDc0MGIxYzM1NWQ3Mjg5MzdiNjUyN2I2ODhmYzU5MDc0MGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNTk4OSwxMSArNTk4OSwxMCBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbihWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1v
ZGUpCiAgICAgaWYgKG1fdmlkZW9GdWxsc2NyZWVuTW9kZSA9PSBtb2RlKQogICAgICAgICByZXR1
cm47CiAKLSAgICBtX3RlbXBvcmFyaWx5QWxsb3dpbmdJbmxpbmVQbGF5YmFja0FmdGVyRnVsbHNj
cmVlbiA9IGZhbHNlOwotICAgIG1fd2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVuID0gdHJ1ZTsKLQog
I2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkgJiYgRU5BQkxFKFZJREVPX1VTRVNfRUxFTUVOVF9G
VUxMU0NSRUVOKQogICAgIGlmIChkb2N1bWVudCgpLnNldHRpbmdzKCkuZnVsbFNjcmVlbkVuYWJs
ZWQoKSAmJiBtb2RlID09IFZpZGVvRnVsbHNjcmVlbk1vZGVTdGFuZGFyZCkgeworICAgICAgICBt
X3RlbXBvcmFyaWx5QWxsb3dpbmdJbmxpbmVQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiA9IGZhbHNl
OworICAgICAgICBtX3dhaXRpbmdUb0VudGVyRnVsbHNjcmVlbiA9IHRydWU7CiAgICAgICAgIGRv
Y3VtZW50KCkuZnVsbHNjcmVlbk1hbmFnZXIoKS5yZXF1ZXN0RnVsbHNjcmVlbkZvckVsZW1lbnQo
dGhpcywgRnVsbHNjcmVlbk1hbmFnZXI6OkV4ZW1wdElGcmFtZUFsbG93RnVsbHNjcmVlblJlcXVp
cmVtZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTYwMDUsMTIgKzYwMDQsMTYgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4oVmlkZW9GdWxsc2NyZWVuTW9k
ZSBtb2RlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgZnVsbHNj
cmVlbk1vZGVDaGFuZ2VkKG1vZGUpOwotICAgICAgICBjb25maWd1cmVNZWRpYUNvbnRyb2xzKCk7
CiAgICAgICAgIGlmIChpczxIVE1MVmlkZW9FbGVtZW50PigqdGhpcykpIHsKICAgICAgICAgICAg
IEhUTUxWaWRlb0VsZW1lbnQmIGFzVmlkZW8gPSBkb3duY2FzdDxIVE1MVmlkZW9FbGVtZW50Pigq
dGhpcyk7Ci0gICAgICAgICAgICBpZiAoZG9jdW1lbnQoKS5wYWdlKCktPmNocm9tZSgpLmNsaWVu
dCgpLnN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKG1fdmlkZW9GdWxsc2NyZWVuTW9kZSkpIHsKLSAg
ICAgICAgICAgICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAiRW50ZXJpbmcgZnVsbHNjcmVl
biBtb2RlICIsIG1fdmlkZW9GdWxsc2NyZWVuTW9kZSwgIiwgbV92aWRlb0Z1bGxzY3JlZW5TdGFu
ZGJ5ID0gIiwgbV92aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5KTsKKyAgICAgICAgICAgIGlmIChkb2N1
bWVudCgpLnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkuc3VwcG9ydHNWaWRlb0Z1bGxzY3JlZW4o
bW9kZSkpIHsKKyAgICAgICAgICAgICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAiRW50ZXJp
bmcgZnVsbHNjcmVlbiBtb2RlICIsIG1vZGUsICIsIG1fdmlkZW9GdWxsc2NyZWVuU3RhbmRieSA9
ICIsIG1fdmlkZW9GdWxsc2NyZWVuU3RhbmRieSk7CisKKyAgICAgICAgICAgICAgICBtX3RlbXBv
cmFyaWx5QWxsb3dpbmdJbmxpbmVQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiA9IGZhbHNlOworICAg
ICAgICAgICAgICAgIG1fd2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVuID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICBmdWxsc2NyZWVuTW9kZUNoYW5nZWQobW9kZSk7CisgICAgICAgICAgICAgICAgY29u
ZmlndXJlTWVkaWFDb250cm9scygpOworCiAgICAgICAgICAgICAgICAgZG9jdW1lbnQoKS5wYWdl
KCktPmNocm9tZSgpLmNsaWVudCgpLmVudGVyVmlkZW9GdWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50
KGFzVmlkZW8sIG1fdmlkZW9GdWxsc2NyZWVuTW9kZSwgbV92aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5
KTsKICAgICAgICAgICAgICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS53ZWJraXRiZWdp
bmZ1bGxzY3JlZW5FdmVudCk7CiAgICAgICAgICAgICB9CkBAIC02MDQxLDcgKzYwNDQsNiBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmV4aXRGdWxsc2NyZWVuKCkKIAogICAgIEFTU0VSVChtX3Zp
ZGVvRnVsbHNjcmVlbk1vZGUgIT0gVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwogICAgIFZpZGVv
RnVsbHNjcmVlbk1vZGUgb2xkVmlkZW9GdWxsc2NyZWVuTW9kZSA9IG1fdmlkZW9GdWxsc2NyZWVu
TW9kZTsKLSAgICBmdWxsc2NyZWVuTW9kZUNoYW5nZWQoVmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUp
OwogICAgIFJlZjxIVE1MTWVkaWFFbGVtZW50PiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsgLy8gdXBk
YXRlTWVkaWFDb250cm9sc0FmdGVyUHJlc2VudGF0aW9uTW9kZUNoYW5nZSBjYWxscyBtZXRob2Rz
IHRoYXQgY2FuIHRyaWdnZXIgYXJiaXRyYXJ5IERPTSBtdXRhdGlvbnMuCiAgICAgdXBkYXRlTWVk
aWFDb250cm9sc0FmdGVyUHJlc2VudGF0aW9uTW9kZUNoYW5nZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDI3NjRhYTNjZWIyNTgwOWEwZmEzOGU5Mzc5OTcz
M2E0ZmNlYzE5MjkuLjJiNjhkZTg4ZmM4MGNiZjQxZTgyY2ZiNTlmNDJjMDk2ODI5NzY1MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC02MTQsNiArNjE0LDcgQEAg
cHJvdGVjdGVkOgogICAgIHZvaWQgdXBkYXRlTWVkaWFDb250cm9sc0FmdGVyUHJlc2VudGF0aW9u
TW9kZUNoYW5nZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21TdHJpbmcm
KTsKKyAgICBib29sIHdhaXRpbmdUb0VudGVyRnVsbHNjcmVlbigpIHsgcmV0dXJuIG1fd2FpdGlu
Z1RvRW50ZXJGdWxsc2NyZWVuOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjcmVhdGVNZWRpYVBs
YXllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKaW5kZXggMWI2
NGZiMjhiY2VjMjAxNjdiNGRlNTU1ZmNiYWNiNWZkNDNjMjVhMi4uMGM5MzZjNjNmZDIxYmNhNzlm
NTdjZGIyOWM0NzhkOTNkMTIzOWU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0Vs
ZW1lbnQuY3BwCkBAIC0zNDYsNyArMzQ2LDcgQEAgYm9vbCBIVE1MVmlkZW9FbGVtZW50Ojp3ZWJr
aXRTdXBwb3J0c0Z1bGxzY3JlZW4oKQogCiBib29sIEhUTUxWaWRlb0VsZW1lbnQ6OndlYmtpdERp
c3BsYXlpbmdGdWxsc2NyZWVuKCkKIHsKLSAgICByZXR1cm4gaXNGdWxsc2NyZWVuKCk7CisgICAg
cmV0dXJuIGlzRnVsbHNjcmVlbigpICYmICF3YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4oKTsKIH0K
IAogdm9pZCBIVE1MVmlkZW9FbGVtZW50OjphbmNlc3RvcldpbGxFbnRlckZ1bGxzY3JlZW4oKQpA
QCAtNTIzLDcgKzUyMyw2IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6ZnVsbHNjcmVlbk1vZGVD
aGFuZ2VkKFZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSkKICAgICBIVE1MTWVkaWFFbGVtZW50Ojpm
dWxsc2NyZWVuTW9kZUNoYW5nZWQobW9kZSk7CiB9CiAKLSNpZiBFTkFCTEUoUElDVFVSRV9JTl9Q
SUNUVVJFX0FQSSkKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6ZGlkQmVjb21lRnVsbHNjcmVlbkVs
ZW1lbnQoKQogewogICAgIG1faXNGdWxsc2NyZWVuID0gdHJ1ZTsKQEAgLTUzMSw2ICs1MzAsNyBA
QCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCkKICAg
ICBIVE1MTWVkaWFFbGVtZW50OjpkaWRCZWNvbWVGdWxsc2NyZWVuRWxlbWVudCgpOwogfQogCisj
aWYgRU5BQkxFKFBJQ1RVUkVfSU5fUElDVFVSRV9BUEkpCiB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6
OnNldFBpY3R1cmVJblBpY3R1cmVPYnNlcnZlcihQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIqIG9i
c2VydmVyKQogewogICAgIG1fcGljdHVyZUluUGljdHVyZU9ic2VydmVyID0gb2JzZXJ2ZXI7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IGVkOTIxODNkNDdiYmMzZWIx
MjEwMDMzZjliZmVjN2IyNmMwNTZlYmIuLmY1NDQ3YzA3YmQ3ZWIwNTQ1OTg3ZWIwZWNhNmNlNDlk
NWM0Yjc0Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBAIC04OCw5
ICs4OCw5IEBAIHB1YmxpYzoKICAgICBWaWRlb1ByZXNlbnRhdGlvbk1vZGUgd2Via2l0UHJlc2Vu
dGF0aW9uTW9kZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0RnVsbHNjcmVlbk1vZGUoVmlkZW9GdWxs
c2NyZWVuTW9kZSk7CiAgICAgdm9pZCBmdWxsc2NyZWVuTW9kZUNoYW5nZWQoVmlkZW9GdWxsc2Ny
ZWVuTW9kZSkgZmluYWw7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRCZWNvbWVGdWxsc2Ny
ZWVuRWxlbWVudCgpIGZpbmFsOwogCiAjaWYgRU5BQkxFKFBJQ1RVUkVfSU5fUElDVFVSRV9BUEkp
Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRCZWNvbWVGdWxsc2NyZWVuRWxlbWVudCgpIGZp
bmFsOwogICAgIHZvaWQgc2V0UGljdHVyZUluUGljdHVyZU9ic2VydmVyKFBpY3R1cmVJblBpY3R1
cmVPYnNlcnZlciopOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0UGljdHVyZUluUGljdHVy
ZUFQSVRlc3RFbmFibGVkKGJvb2wpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCmluZGV4IGZiZGQ0
ZTk4MTE2MDYxNDc4NDgyYTk3ZTQzMWFmMWZiMjYyYzhmZGMuLmUwMjZmNWU2NDk2YzFiZjcxMzg0
NGMwNzRhNDZjOWU0ZDkyM2I4MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCkBAIC0yMjMsNyArMjIzLDcg
QEAgYm9vbCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpzdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbihX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW4KICAgICBVTlVTRURfUEFSQU0obW9kZSk7CiAgICAg
cmV0dXJuIERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6YXZLaXRFbmFibGVkKCk7CiAjZWxzZQot
ICAgIHJldHVybiBtb2RlID09IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZVBpY3R1cmVJblBpY3R1cmUgJiYgc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlKCk7CisgICAg
cmV0dXJuIG1vZGUgPT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2Rl
U3RhbmRhcmQgfHwgKG1vZGUgPT0gSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3Jl
ZW5Nb2RlUGljdHVyZUluUGljdHVyZSAmJiBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKSk7CiAj
ZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tCmluZGV4IGU3MzU2MjdjZGJl
YjQzMTBkNmI3NzU0YjE3NTc1YWE2MzY3YzBlMTkuLjI5NDRjMDNhNjFiNjdmZDg1ZWZmMzJjNzAw
ZWEyOTEwYzMxNTNhNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0KQEAgLTMxMiw2
ICszMTIsOCBAQCAtICh2b2lkKXdpbmRvd0RpZEVudGVyRnVsbFNjcmVlbjooTlNOb3RpZmljYXRp
b24gKilub3RpZmljYXRpb24KICAgICBbX3BsYXllclZpZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5
OkAiaXNGdWxsU2NyZWVuIl07CiAgICAgX2lzRnVsbFNjcmVlbiA9IFlFUzsKICAgICBbX3BsYXll
clZpZXcgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJpc0Z1bGxTY3JlZW4iXTsKKyAgICBpZiAoX3Zp
ZGVvRWxlbWVudCkKKyAgICAgICAgX3ZpZGVvRWxlbWVudC0+ZGlkQmVjb21lRnVsbHNjcmVlbkVs
ZW1lbnQoKTsKIH0KIAogLSAodm9pZCl3aW5kb3dXaWxsRXhpdEZ1bGxTY3JlZW46KE5TTm90aWZp
Y2F0aW9uICopbm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggODNkMDUyNWVjNDNlZGIzZmRhOTM2MThjODMwMWEzYjBlOGIyYzYxNS4u
YWQ5YmZkZDUzMjFkMTdiMTA4ZTQxNGFjOTZlMDIyMmZkZWFlOTdjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtOTI2OSw4ICs5MjY5LDEwIEBAIC0g
KHZvaWQpX3NldE1vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFibGVkOihCT09MKWVuYWJsZWQK
IAogLSAodm9pZClfZW50ZXJWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRlb0VsZW1lbnQ6KE5ha2VkUHRy
PFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQ+KXZpZGVvRWxlbWVudCBtb2RlOihXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUpbW9kZQogewotICAgIGlm
IChfcHJpdmF0ZS0+bW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQpCisgICAgaWYgKF9w
cml2YXRlLT5tb2NrVmlkZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxlZCkgeworICAgICAgICB2aWRl
b0VsZW1lbnQtPmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCk7CiAgICAgICAgIHJldHVybjsK
KyAgICB9CiAKICAgICBpZiAoX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyKSB7CiAgICAg
ICAgIGlmIChbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIHZpZGVvRWxlbWVudF0gPT0g
dmlkZW9FbGVtZW50KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTNkNTI0ZDIyMDM4MGFmNjFmZWYwNzFlZGUwZWMwOTVk
N2EyNjI2OS4uYmVjOGZmNjE3NWFmNWVhOWRiOWRkZGFhZTZhYzY2ZGVhNjBhOTYyYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQ2IEBACisyMDIwLTA1LTExICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5j
b20+CisKKyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZpZGVvIHByZXNlbnRhdGlvbiBtb2RlIGlu
IHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVzdCBmYWlsdXJlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNjQ1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1
bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtbGl2ZS1icm9hZGNhc3QtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGh0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxz
Y3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1saXZl
LWJyb2FkY2FzdC5odG1sOgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4taW5saW5l
Lmh0bWw6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS5o
dG1sOgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5o
dG1sOgorICAgICAgICAqIG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8t
aW5saW5lLmh0bWw6CisgICAgICAgICogbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi5qczoKKyAgICAg
ICAgKGFzeW5jIGJlZ2luZnVsbHNjcmVlbik6CisgICAgICAgIChhc3luYyBmdWxsc2NyZWVuZXJy
b3IpOgorICAgICAgICAoYWRkRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAoYmVnaW5mdWxsc2Ny
ZWVuKTogRGVsZXRlZC4KKyAgICAgICAgKGZ1bGxzY3JlZW5lcnJvcik6IERlbGV0ZWQuCisgICAg
ICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJraXQtY3Vyc29yLXZpc2li
aWxpdHktYXV0by1oaWRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY3NzL3dlYmtpdC1jdXJzb3ItdmlzaWJpbGl0eS1hdXRvLWhpZGUuaHRtbDoK
KyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1t
ZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxs
c2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJh
Zy1pcy1wcmV2ZW50ZWQtb3Zlci1idXR0b24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21h
Y29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1pcy1wcmV2ZW50ZWQtb3Zlci1idXR0
b24uaHRtbDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVs
bHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRy
YWcuaHRtbDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29u
dHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9uLXZpZGVvLWJhY2tncm91bmQtc2hvdWxk
LXBhdXNlLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY2xpY2stb24t
dmlkZW8tYmFja2dyb3VuZC1zaG91bGQtcGF1c2UtZnVsbHNjcmVlbi5odG1sOgorICAgICAgICAq
IG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRy
b2xsZXItZnVsbHNjcmVlbi1sdHItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItZnVsbHNj
cmVlbi1sdHIuaHRtbDoKKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVk
aWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLXNwYWNlLWJhci10b2dnbGUtcGxheWJhY2st
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRp
YS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItc3BhY2UtYmFyLXRvZ2dsZS1wbGF5YmFjay5o
dG1sOgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9y
dC90cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90cmFja3Mt
c3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4uaHRtbDoKKyAgICAgICAgKiBtZWRpYS92aWRl
by1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlh
L3ZpZGVvLWZ1bGxzY3JlZW4tb25seS1wbGF5YmFjay5odG1sOgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDUtMTEg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFsgaU9TIHdrMiBd
IGh0dHAvd3B0L2JlYWNvbi9jb3JzL2Nyb3Nzb3JpZ2luLWFycmF5YnVmZmVydmlldy1uby1wcmVm
bGlnaHQuaHRtbCBpcyBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250
cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWxpdmUtYnJvYWRjYXN0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRp
YS1jb250cm9scy1saXZlLWJyb2FkY2FzdC1leHBlY3RlZC50eHQKaW5kZXggZmFmOTRjZDc0ZTgx
MjViZTk2NzI2M2Q2N2E1NzIwZTkxYWQ5MTEzMy4uYjMyYTdjMTc0OWFjYmM3NmRkNmVjMWEwN2Zm
OWVmZDdkZTQyN2IzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNv
cy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWxpdmUtYnJvYWRjYXN0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9t
YWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29u
dHJvbHMtbGl2ZS1icm9hZGNhc3QtZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBUZXN0aW5n
IHRoYXQgd2UgZG8gbm90IHNob3cgdGhlIHNlZWtpbmcgY29udHJvbHMgaW4gZnVsbHNjcmVlbiB3
aXRoIGEgbGl2ZSBicm9hZAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKK1BBU1MgbWVk
aWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gYmVjYW1lIHRydWUKIFBBU1MgbWVkaWEuZHVy
YXRpb24gYmVjYW1lIE51bWJlci5QT1NJVElWRV9JTkZJTklUWQogUEFTUyBtZWRpYUNvbnRyb2xs
ZXIuY29udHJvbHMucmV3aW5kQnV0dG9uLmVuYWJsZWQgaXMgZmFsc2UKIFBBU1MgbWVkaWFDb250
cm9sbGVyLmNvbnRyb2xzLmZvcndhcmRCdXR0b24uZW5hYmxlZCBpcyBmYWxzZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFj
b3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRy
b2xzLWxpdmUtYnJvYWRjYXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29z
LWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtbGl2ZS1icm9hZGNhc3QuaHRtbAppbmRleCBjNjNh
NjhkOTRiNzcyZTRiMmQ0ZTJkYzg3ZTdkNzA3ODE3NjViOGI4Li5hZmJlODgxNGU2ODUwODRjZmFi
NjU5OWJhMmJkNDViNWU3MGRmZDBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRy
b2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtbGl2ZS1icm9hZGNhc3QuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9t
YWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29u
dHJvbHMtbGl2ZS1icm9hZGNhc3QuaHRtbApAQCAtMTUsMTkgKzE1LDE4IEBAIGNvbnN0IG1lZGlh
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW8iKTsKIGNvbnN0IG1lZGlhQ29udHJvbGxl
ciA9IGNyZWF0ZUNvbnRyb2xzKHNoYWRvd1Jvb3QsIG1lZGlhLCBudWxsKTsKIAogbWVkaWEuYWRk
RXZlbnRMaXN0ZW5lcigid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsICgpID0+IHsKLSAgICBpZiAo
IW1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBzaG91bGRCZWNvbWVFcXVhbCgibWVkaWEuZHVyYXRpb24iLCAiTnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZIiwgKCkgPT4gewotICAgICAgICBzaG91bGRCZUZhbHNlKCJtZWRpYUNvbnRyb2xsZXIu
Y29udHJvbHMucmV3aW5kQnV0dG9uLmVuYWJsZWQiKTsKLSAgICAgICAgc2hvdWxkQmVGYWxzZSgi
bWVkaWFDb250cm9sbGVyLmNvbnRyb2xzLmZvcndhcmRCdXR0b24uZW5hYmxlZCIpOwotICAgICAg
ICBzaG91bGRCZSgibWVkaWFDb250cm9sbGVyLmNvbnRyb2xzLnRpbWVDb250cm9sLnBhcmVudCIs
ICJudWxsIik7Ci0gICAgICAgIHNob3VsZEJlKCJtZWRpYUNvbnRyb2xsZXIuY29udHJvbHMuc3Rh
dHVzTGFiZWwucGFyZW50IiwgIm1lZGlhQ29udHJvbGxlci5jb250cm9scy5ib3R0b21Db250cm9s
c0JhciIpOwotCi0gICAgICAgIGRlYnVnKCIiKTsKLSAgICAgICAgbWVkaWEucmVtb3ZlKCk7Ci0g
ICAgICAgIHNoYWRvd1Jvb3QuaG9zdC5yZW1vdmUoKTsKLSAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgc2hvdWxkQmVjb21lRXF1YWwoIm1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVu
IiwgInRydWUiLCAoKSA9PiB7CisgICAgICAgIHNob3VsZEJlY29tZUVxdWFsKCJtZWRpYS5kdXJh
dGlvbiIsICJOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkiLCAoKSA9PiB7CisgICAgICAgICAgICBz
aG91bGRCZUZhbHNlKCJtZWRpYUNvbnRyb2xsZXIuY29udHJvbHMucmV3aW5kQnV0dG9uLmVuYWJs
ZWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoIm1lZGlhQ29udHJvbGxlci5jb250cm9s
cy5mb3J3YXJkQnV0dG9uLmVuYWJsZWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJtZWRpYUNv
bnRyb2xsZXIuY29udHJvbHMudGltZUNvbnRyb2wucGFyZW50IiwgIm51bGwiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlKCJtZWRpYUNvbnRyb2xsZXIuY29udHJvbHMuc3RhdHVzTGFiZWwucGFyZW50
IiwgIm1lZGlhQ29udHJvbGxlci5jb250cm9scy5ib3R0b21Db250cm9sc0JhciIpOworCisgICAg
ICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICBtZWRpYS5yZW1vdmUoKTsKKyAgICAgICAg
ICAgIHNoYWRvd1Jvb3QuaG9zdC5yZW1vdmUoKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgp
OworICAgICAgICB9KTsKICAgICB9KTsKIH0pOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
ZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWlubGluZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtZnVsbHNjcmVlbi1pbmxpbmUuaHRtbAppbmRleCBlOTVlOGQ0NDk0ODQ5NjY0NTQxNDgwZjlh
ZjhmYWZhYjg4NDczYWY4Li5lMWViMGRmZTFjZmJhM2Q3OTEwNGU5ZWEzZjIwOWNlOTU5MjQ4OTUy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWlubGluZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4taW5saW5lLmh0bWwK
QEAgLTEsMyArMSw0IEBACis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogICAgIDxoZWFkPgogICAg
ICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD11dGYtOCI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxs
c2NyZWVuLWxvb3AtaW5saW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUtZXhwZWN0ZWQudHh0CmluZGV4IDJjMWRlMmFmZTQxODlm
MjA4MTRjY2MyNzExNTk2ZTJhMGZiNGIzODYuLjVhMzM3YTNlMjNlNmYxMjZlOTFjNTMwOTk1ZmYx
NWQ1YmRkMDFjMTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3Jl
ZW4tbG9vcC1pbmxpbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUtZXhwZWN0ZWQudHh0CkBAIC0xLDE5ICsxLDI0IEBACiAK
LVJVTihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhmYWxz
ZSkpCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2tB
ZnRlckZ1bGxzY3JlZW4odHJ1ZSkpCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3Jl
ZW5FbmFibGVkKGZhbHNlKSkKLVJVTihpbnRlcm5hbHMuc2V0TWVkaWFFbGVtZW50UmVzdHJpY3Rp
b25zKHZpZGVvLCAiTm9SZXN0cmljdGlvbnMiKSkKK1Rlc3QgdGhhdCBhIDx2aWRlbz4ga2VlcHMg
cGxheWluZyBhbmQgbG9vcGluZyBhZnRlciBleGl0aW5nIGZ1bGxzY3JlZW4gd2hlbiB0aGUgaW50
ZXJuYWwgcHJvcGVydHkgImFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4i
IGlzIHRydWUuCisKIFJVTih2aWRlby5sb29wID0gdHJ1ZSkKIFJVTih2aWRlby5zcmMgPSBmaW5k
TWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKSkKK0VWRU5UKGNhbnBsYXl0aHJvdWdo
KQogUlVOKHZpZGVvLnBsYXkoKSkKLUVWRU5UKHdlYmtpdGJlZ2luZnVsbHNjcmVlbikKK1dhaXQg
dG8gZW50ZXIgZnVsbHNjcmVlbgorRVZFTlQod2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQp
CitFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPT0gJ3RydWUnKSBP
SworRW50ZXJlZCBmdWxsc2NyZWVuCiBSVU4odmlkZW8uY3VycmVudFRpbWUgPSA1KQogUlVOKHZp
ZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCkpCi1FVkVOVCh3ZWJraXRlbmRmdWxsc2NyZWVuKQor
V2FpdCB0byBleGl0IGZ1bGxzY3JlZW4KK0VWRU5UKHdlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFu
Z2VkKQorRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuID09ICdmYWxz
ZScpIE9LCitFeGl0ZWQgZnVsbHNjcmVlbgogRVhQRUNURUQgKHZpZGVvLnBhdXNlZCA9PSAnZmFs
c2UnKSBPSwogUlVOKHZpZGVvLm9udGltZXVwZGF0ZSA9IHRpbWV1cGRhdGUpCi1SVU4odmlkZW8u
b250aW1ldXBkYXRlID0gbnVsbCkKIExvb3BlZAorUlVOKHZpZGVvLm9udGltZXVwZGF0ZSA9IG51
bGwpCiBFWFBFQ1RFRCAodmlkZW8ucGxheXNJbmxpbmUgPT0gJ2ZhbHNlJykgT0sKIEVYUEVDVEVE
ICh2aWRlby5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sKIEVORCBPRiBURVNUCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWxvb3AtaW5saW5lLmh0bWwKaW5kZXggZmFk
MWNmYmUzMTI2YWJlM2QxYjNiZmY5MGRlZjI3ZDJhMzY3YmFiZS4uNGI4YjE5OTI0OWQxOTUwYWQ3
ZWUwMzVmMmU4ZjY3NDVjMmYxOTVkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21l
ZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUuaHRtbApAQCAtMSw0NCArMSw2MiBAQAogPCFET0NU
WVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVNb2Rlcm5NZWRpYUNvbnRy
b2xzPWZhbHNlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgotICAgIDx0aXRsZT5tZWRpYS1mdWxsc2Ny
ZWVuLXJldHVybi10by1pbmxpbmU8L3RpdGxlPgotCisgICAgPHRpdGxlPm1lZGlhLWZ1bGxzY3Jl
ZW4tbG9vcC1pbmxpbmU8L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSJ2aWRlby10ZXN0LmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtZmlsZS5qcyI+PC9zY3JpcHQ+Ci0KICAg
ICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdvKCkKICAgICB7CisgICAgICAgIGlmICghd2luZG93
LmludGVybmFscykgeworICAgICAgICAgICAgZmFpbFRlc3QoJ1RoaXMgdGVzdCByZXF1aXJlcyB3
aW5kb3cuaW50ZXJuYWxzLicpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAg
ICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5n
cy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKScpOwotICAgICAgICBydW4oJ2lu
dGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2Ny
ZWVuKHRydWUpJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3Jl
ZW5FbmFibGVkKGZhbHNlKScpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1l
bnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpJyk7CisKKyAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2UpOworICAg
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVy
RnVsbHNjcmVlbih0cnVlKTsKKyAgICAgICAgLy8gRGlzYWJsZSB0aGUgRnVsbHNjcmVlbiBBUEkg
KGVsZW1lbnQgZnVsbHNjcmVlbikgc3VwcG9ydAorICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpOworICAgICAgICBpbnRlcm5hbHMuc2V0TW9ja1Zp
ZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQodHJ1ZSk7CisgICAgICAgIGludGVybmFscy5zZXRN
ZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpOworCisgICAg
ICAgIHdhaXRGb3JFdmVudE9uY2UoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gpOwog
ICAgICAgICBydW4oJ3ZpZGVvLmxvb3AgPSB0cnVlJyk7CiAgICAgICAgIHJ1bigndmlkZW8uc3Jj
ID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0IiknKTsKLSAgICAgICAgd2Fp
dEZvckV2ZW50T25jZSgnd2Via2l0YmVnaW5mdWxsc2NyZWVuJywgYmVnaW5mdWxsc2NyZWVuKTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpCisgICAgeworICAgICAgICB3
YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGJlZ2luZnVs
bHNjcmVlbik7CiAgICAgICAgIHJ1bigndmlkZW8ucGxheSgpJyk7CisgICAgICAgIGNvbnNvbGVX
cml0ZSgiV2FpdCB0byBlbnRlciBmdWxsc2NyZWVuIik7CiAgICAgfQogCi0gICAgZnVuY3Rpb24g
YmVnaW5mdWxsc2NyZWVuKCkKKyAgICBhc3luYyBmdW5jdGlvbiBiZWdpbmZ1bGxzY3JlZW4oKQog
ICAgIHsKKyAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0
RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCB0cnVlKTsKKyAgICAgICAgY29uc29sZVdyaXRlKCJFbnRl
cmVkIGZ1bGxzY3JlZW4iKTsKICAgICAgICAgcnVuKCd2aWRlby5jdXJyZW50VGltZSA9IDUnKTsK
ICAgICAgICAgcnVuKCd2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpJyk7Ci0gICAgICAgIHdh
aXRGb3JFdmVudE9uY2UoJ3dlYmtpdGVuZGZ1bGxzY3JlZW4nLCBlbmRmdWxsc2NyZWVuKTsKKyAg
ICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnLCBl
bmRmdWxsc2NyZWVuKTsKKyAgICAgICAgY29uc29sZVdyaXRlKCJXYWl0IHRvIGV4aXQgZnVsbHNj
cmVlbiIpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQorICAgIGFzeW5j
IGZ1bmN0aW9uIGVuZGZ1bGxzY3JlZW4oKQogICAgIHsKKyAgICAgICAgYXdhaXQgdGVzdEV4cGVj
dGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCBmYWxzZSk7
CisgICAgICAgIGNvbnNvbGVXcml0ZSgiRXhpdGVkIGZ1bGxzY3JlZW4iKTsKICAgICAgICAgdGVz
dEV4cGVjdGVkKCd2aWRlby5wYXVzZWQnLCBmYWxzZSk7CiAgICAgICAgIHJ1bigndmlkZW8ub250
aW1ldXBkYXRlID0gdGltZXVwZGF0ZScpOwotICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWlsKCd3
ZWJraXRiZWdpbmZ1bGxzY3JlZW4nKTsKKyAgICAgICAgd2FpdEZvckV2ZW50QW5kRmFpbCgnd2Vi
a2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiB0aW1l
dXBkYXRlKCkKICAgICB7CiAgICAgICAgIGlmICh2aWRlby5jdXJyZW50VGltZSA9PSAwKSB7Ci0g
ICAgICAgICAgICBydW4oJ3ZpZGVvLm9udGltZXVwZGF0ZSA9IG51bGwnKTsKICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiTG9vcGVkIik7CisgICAgICAgICAgICBydW4oJ3ZpZGVvLm9udGltZXVw
ZGF0ZSA9IG51bGwnKTsKICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgndmlkZW8ucGxheXNJbmxp
bmUnLCBmYWxzZSk7CiAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGxvb3BDb21wbGV0
ZWQoKSB7CiAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcsIGZhbHNl
KTsKQEAgLTQ2LDEyICs2NCwxMCBAQAogICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgIH0KICAg
ICB9Ci0KICAgICA8L3NjcmlwdD4KLQogPC9oZWFkPgotCiA8Ym9keSBvbmxvYWQ9ImdvKCkiPgog
ICAgIDx2aWRlbyBjb250cm9scz48L3ZpZGVvPgorICAgIDxwPlRlc3QgdGhhdCBhICZsdDt2aWRl
byZndDsga2VlcHMgcGxheWluZyBhbmQgbG9vcGluZyBhZnRlciBleGl0aW5nIGZ1bGxzY3JlZW4g
d2hlbiB0aGUgaW50ZXJuYWwgcHJvcGVydHkgImFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRl
ckZ1bGxzY3JlZW4iIGlzIHRydWUuPC9wPgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUtZXhw
ZWN0ZWQudHh0CmluZGV4IDNlMmNhNmRlYjFjY2ZiMTY1YmNkNmNlNDU3MjQ5MWYyNjU5N2I5MjIu
LjNhYmM5ZTI5MmE2NDZiYzIwY2NmMzllN2U5MjJjMzI4OWRhNDJlNTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS1l
eHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAotUlVOKGludGVybmFscy5zZXR0aW5ncy5z
ZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKSkKLVJVTihpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbih0cnVlKSkKLVJV
TihpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpKQotUlVOKGlu
dGVybmFscy5zZXRNZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9u
cyIpKQorVGVzdCB0aGF0IGEgPHZpZGVvPiBrZWVwcyBwbGF5aW5nIGFmdGVyIGV4aXRpbmcgZnVs
bHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9wZXJ0eSAiYWxsb3dzSW5saW5lTWVkaWFQbGF5
YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgdHJ1ZS4KKwogUlVOKHZpZGVvLnNyYyA9IGZpbmRNZWRp
YUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpKQorRVZFTlQoY2FucGxheXRocm91Z2gpCiBS
VU4odmlkZW8ucGxheSgpLnRoZW4ocGxheWluZyk7KQogRVhQRUNURUQgKHZpZGVvLndlYmtpdERp
c3BsYXlpbmdGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKIFJVTih2aWRlby53ZWJraXRFeGl0RnVs
bHNjcmVlbigpKQotRVZFTlQod2Via2l0ZW5kZnVsbHNjcmVlbikKK0VWRU5UKHdlYmtpdHByZXNl
bnRhdGlvbm1vZGVjaGFuZ2VkKQorRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxs
c2NyZWVuID09ICdmYWxzZScpIE9LCiBFWFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICdmYWxzZScp
IE9LCiBSVU4odmlkZW8ucGF1c2UoKSkKIEVWRU5UKHBhdXNlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbCBiL0xheW91dFRl
c3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2UtaW5saW5lLmh0bWwKaW5kZXggODU4ZThm
MTdlODg0ZGRlMzFlNzI3OTE0ZjlhNWY0YjdmYTdiYTAwZC4uNmVhMTAzZTg2NjBmNDQ4YjFiYmY1
OTdkYzM5YmM3M2RkNzYxMTcxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEt
ZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5odG1sCkBAIC0xLDU1ICsxLDY2IEBACiA8IURPQ1RZ
UEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZU1vZGVybk1lZGlhQ29udHJv
bHM9ZmFsc2UgXSAtLT4KIDxodG1sPgogPGhlYWQ+Ci0gICAgPHRpdGxlPm1lZGlhLWZ1bGxzY3Jl
ZW4tcmV0dXJuLXRvLWlubGluZTwvdGl0bGU+Ci0KKyAgICA8dGl0bGU+bWVkaWEtZnVsbHNjcmVl
bi1wYXVzZS1pbmxpbmU8L3RpdGxlPgogICAgIDxzY3JpcHQgc3JjPSJ2aWRlby10ZXN0LmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0ibWVkaWEtZmlsZS5qcyI+PC9zY3JpcHQ+CiAKICAg
ICA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIGdvKCkKICAgICB7CisgICAgICAgIGlmICghd2luZG93
LmludGVybmFscykgeworICAgICAgICAgICAgZmFpbFRlc3QoJ1RoaXMgdGVzdCByZXF1aXJlcyB3
aW5kb3cuaW50ZXJuYWxzLicpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAg
ICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5n
cy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKScpOwotICAgICAgICBydW4oJ2lu
dGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2Ny
ZWVuKHRydWUpJyk7Ci0gICAgICAgIHJ1bignaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3Jl
ZW5FbmFibGVkKGZhbHNlKScpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXRNZWRpYUVsZW1l
bnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpJyk7CisKKyAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2UpOworICAg
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVy
RnVsbHNjcmVlbih0cnVlKTsKKyAgICAgICAgLy8gRGlzYWJsZSB0aGUgRnVsbHNjcmVlbiBBUEkg
KGVsZW1lbnQgZnVsbHNjcmVlbikgc3VwcG9ydAorICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RnVsbFNjcmVlbkVuYWJsZWQoZmFsc2UpOworICAgICAgICBpbnRlcm5hbHMuc2V0TW9ja1Zp
ZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQodHJ1ZSk7CisgICAgICAgIGludGVybmFscy5zZXRN
ZWRpYUVsZW1lbnRSZXN0cmljdGlvbnModmlkZW8sICJOb1Jlc3RyaWN0aW9ucyIpOworCisgICAg
ICAgIHdhaXRGb3JFdmVudE9uY2UoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxheXRocm91Z2gpOwog
ICAgICAgICBydW4oJ3ZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQv
dGVzdCIpJyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKQorICAgIHsK
ICAgICAgICAgcnVuKCd2aWRlby5wbGF5KCkudGhlbihwbGF5aW5nKTsnKTsKICAgICB9CiAKLSAg
ICBmdW5jdGlvbiBwbGF5aW5nKCkKKyAgICBhc3luYyBmdW5jdGlvbiBwbGF5aW5nKCkKICAgICB7
Ci0gICAgICAgIHRlc3RFeHBlY3RlZCgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4n
LCB0cnVlKTsKLSAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0ZW5kZnVsbHNjcmVlbics
IGVuZGZ1bGxzY3JlZW4pOworICAgICAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVudHVhbGx5KCd2
aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbicsIHRydWUpOworICAgICAgICB3YWl0Rm9y
RXZlbnRPbmNlKCd3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCcsIGVuZGZ1bGxzY3JlZW4p
OwogICAgICAgICBydW4oJ3ZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCknKTsKICAgICB9CiAK
LSAgICBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKKyAgICBhc3luYyBmdW5jdGlvbiBlbmRmdWxs
c2NyZWVuKCkKICAgICB7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3Zp
ZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywgZmFsc2UpOwogICAgICAgICB0ZXN0RXhw
ZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcsIGZhbHNlKTsKLSAgICAgICAgcnVuKCd2aWRlby5wYXVzZSgp
Jyk7CiAgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3BhdXNlJywgcGF1c2VkKTsKKyAgICAgICAg
cnVuKCd2aWRlby5wYXVzZSgpJyk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gcGF1c2VkKCkKICAg
ICB7CiAgICAgICAgIHRlc3RFeHBlY3RlZCgndmlkZW8ucGF1c2VkJywgdHJ1ZSk7Ci0gICAgICAg
IHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgcnVuKCd2aWRlby5wbGF5KCkudGhlbihwbGF5aW5nQWdh
aW4pJyk7fSwgMCkKKyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpeyBydW4oJ3ZpZGVvLnBs
YXkoKS50aGVuKHBsYXlpbmdBZ2FpbiknKTsgfSwgMCk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24g
cGxheWluZ0FnYWluKCkKKyAgICBhc3luYyBmdW5jdGlvbiBwbGF5aW5nQWdhaW4oKQogICAgIHsK
LQotICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVu
JywgdHJ1ZSk7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3ZpZGVvLndl
YmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywgdHJ1ZSk7CiAgICAgICAgIGVuZFRlc3QoKTsKICAg
ICB9Ci0KICAgICA8L3NjcmlwdD4KLQogPC9oZWFkPgotCiA8Ym9keSBvbmxvYWQ9ImdvKCkiPgog
ICAgIDx2aWRlbyBjb250cm9scz48L3ZpZGVvPgorICAgIDxwPlRlc3QgdGhhdCBhICZsdDt2aWRl
byZndDsga2VlcHMgcGxheWluZyBhZnRlciBleGl0aW5nIGZ1bGxzY3JlZW4gd2hlbiB0aGUgaW50
ZXJuYWwgcHJvcGVydHkgImFsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4i
IGlzIHRydWUuPC9wPgogPC9ib2R5PgotPC9odG1sPgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3Jl
ZW4tcmV0dXJuLXRvLWlubGluZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUtZXhwZWN0ZWQudHh0CmluZGV4IDNmNTY3OTU3
NmI3YmYyMmI4YTU2NTlkMmViM2IyZTVlMGVkMDQxNTMuLmFlODcyOWNlYjg5MWYyMmUxZWMxMThk
MjYwMThlMzhmMjgxN2YwYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1
bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLWV4cGVjdGVkLnR4dApAQCAt
MSwxNyArMSwyMSBAQAogCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1l
ZGlhUGxheWJhY2soZmFsc2UpKQotUlVOKGludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxp
bmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKGZhbHNlKSkKK1Rlc3QgdGhhdCBhIDx2aWRl
bz4gcGF1c2VzIGFmdGVyIGV4aXRpbmcgZnVsbHNjcmVlbiB3aGVuIHRoZSBpbnRlcm5hbCBwcm9w
ZXJ0eSAiYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbiIgaXMgZmFsc2Uu
CisKIFJVTih2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3Qi
KSkKIEVWRU5UKGNhbnBsYXl0aHJvdWdoKQogUlVOKHZpZGVvLnBsYXkoKSkKLUVWRU5UKHdlYmtp
dGZ1bGxzY3JlZW5jaGFuZ2UpCitFVkVOVCh3ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCkK
K0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiA9PSAndHJ1ZScpIE9L
CiBSVU4odmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKSkKIEVWRU5UKHBhdXNlKQotUlVOKGlu
dGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2Ny
ZWVuKHRydWUpKQorRVhQRUNURUQgKHZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuID09
ICdmYWxzZScpIE9LCitFWFBFQ1RFRCAodmlkZW8ucGF1c2VkID09ICd0cnVlJykgT0sKIFJVTih2
aWRlby5wbGF5KCkpCi1FVkVOVCh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKQorRVZFTlQod2Via2l0
cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQpCitFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWlu
Z0Z1bGxzY3JlZW4gPT0gJ3RydWUnKSBPSwogUlVOKHZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVu
KCkpCi1FVkVOVCh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKQorRVZFTlQod2Via2l0cHJlc2VudGF0
aW9ubW9kZWNoYW5nZWQpCitFWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3Jl
ZW4gPT0gJ2ZhbHNlJykgT0sKIEVYUEVDVEVEICh2aWRlby5wYXVzZWQgPT0gJ2ZhbHNlJykgT0sK
IEVORCBPRiBURVNUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxz
Y3JlZW4tcmV0dXJuLXRvLWlubGluZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVs
bHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLmh0bWwKaW5kZXggYzViNjc2MmM1NTZiNmYxMmRjY2U4
MWNlYzVjZGJiOTIzZWQwMjEwMi4uOTMyMjBlZGVkM2VkNDYxMTYyMDllODc0OGZmNDIxMTY3OTU0
N2I1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1
cm4tdG8taW5saW5lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVl
bi1yZXR1cm4tdG8taW5saW5lLmh0bWwKQEAgLTksNDggKzksNjUgQEAKICAgICA8c2NyaXB0Pgog
ICAgIGZ1bmN0aW9uIGdvKCkKICAgICB7CisgICAgICAgIGlmICghd2luZG93LmludGVybmFscykg
eworICAgICAgICAgICAgZmFpbFRlc3QoJ1RoaXMgdGVzdCByZXF1aXJlcyB3aW5kb3cuaW50ZXJu
YWxzLicpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgZmluZE1l
ZGlhRWxlbWVudCgpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKScpOwotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0
aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2NyZWVuKGZhbHNlKScp
OwotICAgICAgICBydW4oJ3ZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRl
bnQvdGVzdCIpJyk7CisKKyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGlu
ZU1lZGlhUGxheWJhY2soZmFsc2UpOworICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNjcmVlbihmYWxzZSk7CisgICAgICAgIC8v
IERpc2FibGUgdGhlIEZ1bGxzY3JlZW4gQVBJIChlbGVtZW50IGZ1bGxzY3JlZW4pIHN1cHBvcnQK
KyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZ1bGxTY3JlZW5FbmFibGVkKGZhbHNlKTsK
KyAgICAgICAgaW50ZXJuYWxzLnNldE1vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFibGVkKHRy
dWUpOworCiAgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ2NhbnBsYXl0aHJvdWdoJywgY2FucGxh
eXRocm91Z2gpOworICAgICAgICBydW4oJ3ZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVv
IiwgImNvbnRlbnQvdGVzdCIpJyk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gY2FucGxheXRocm91
Z2goKQogICAgIHsKKyAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0cHJlc2VudGF0aW9u
bW9kZWNoYW5nZWQnLCBiZWdpbmZ1bGxzY3JlZW4xKTsKICAgICAgICAgcnVuV2l0aEtleURvd24o
J3ZpZGVvLnBsYXkoKScpOwotICAgICAgICB3YWl0Rm9yRXZlbnRPbmNlKCd3ZWJraXRmdWxsc2Ny
ZWVuY2hhbmdlJywgYmVnaW5mdWxsc2NyZWVuMSk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gYmVn
aW5mdWxsc2NyZWVuMSgpCisgICAgYXN5bmMgZnVuY3Rpb24gYmVnaW5mdWxsc2NyZWVuMSgpCiAg
ICAgewotICAgICAgICBydW4oJ3ZpZGVvLndlYmtpdEV4aXRGdWxsc2NyZWVuKCknKTsKKyAgICAg
ICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1
bGxzY3JlZW4nLCB0cnVlKTsKICAgICAgICAgd2FpdEZvckV2ZW50T25jZSgncGF1c2UnLCBwYXVz
ZSk7CisgICAgICAgIHJ1bigndmlkZW8ud2Via2l0RXhpdEZ1bGxzY3JlZW4oKScpOwogICAgIH0K
IAotICAgIGZ1bmN0aW9uIHBhdXNlKCkKKyAgICBhc3luYyBmdW5jdGlvbiBwYXVzZSgpCiAgICAg
ewotICAgICAgICBydW4oJ2ludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrQWZ0ZXJGdWxsc2NyZWVuKHRydWUpJyk7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3Rl
ZEV2ZW50dWFsbHkoJ3ZpZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywgZmFsc2UpOwor
ICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcsIHRydWUpOworCisgICAgICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrQWZ0ZXJGdWxsc2Ny
ZWVuKHRydWUpOworCisgICAgICAgIHdhaXRGb3JFdmVudE9uY2UoJ3dlYmtpdHByZXNlbnRhdGlv
bm1vZGVjaGFuZ2VkJywgYmVnaW5mdWxsc2NyZWVuMik7CiAgICAgICAgIHJ1bldpdGhLZXlEb3du
KCd2aWRlby5wbGF5KCknKTsKLSAgICAgICAgd2FpdEZvckV2ZW50T25jZSgnd2Via2l0ZnVsbHNj
cmVlbmNoYW5nZScsIGJlZ2luZnVsbHNjcmVlbjIpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGJl
Z2luZnVsbHNjcmVlbjIoKQorICAgIGFzeW5jIGZ1bmN0aW9uIGJlZ2luZnVsbHNjcmVlbjIoKQog
ICAgIHsKKyAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1YWxseSgndmlkZW8ud2Via2l0
RGlzcGxheWluZ0Z1bGxzY3JlZW4nLCB0cnVlKTsKKyAgICAgICAgd2FpdEZvckV2ZW50T25jZSgn
d2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQnLCBlbmRmdWxsc2NyZWVuKTsKICAgICAgICAg
cnVuKCd2aWRlby53ZWJraXRFeGl0RnVsbHNjcmVlbigpJyk7Ci0gICAgICAgIHdhaXRGb3JFdmVu
dE9uY2UoJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBlbmRmdWxsc2NyZWVuKTsKICAgICB9CiAK
LSAgICBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKKyAgICBhc3luYyBmdW5jdGlvbiBlbmRmdWxs
c2NyZWVuKCkKICAgICB7CisgICAgICAgIGF3YWl0IHRlc3RFeHBlY3RlZEV2ZW50dWFsbHkoJ3Zp
ZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuJywgZmFsc2UpOwogICAgICAgICB0ZXN0RXhw
ZWN0ZWQoJ3ZpZGVvLnBhdXNlZCcsIGZhbHNlKTsKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0K
ICAgICA8L3NjcmlwdD4KLQogPC9oZWFkPgogCiA8Ym9keSBvbmxvYWQ9ImdvKCkiPgotICAgIDx2
aWRlbyBjb250cm9scz48L3ZpZGVvPgorICAgIDx2aWRlbyBjb250cm9scyBsb29wPjwvdmlkZW8+
CisgICAgPHA+VGVzdCB0aGF0IGEgJmx0O3ZpZGVvJmd0OyBwYXVzZXMgYWZ0ZXIgZXhpdGluZyBm
dWxsc2NyZWVuIHdoZW4gdGhlIGludGVybmFsIHByb3BlcnR5ICJhbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrQWZ0ZXJGdWxsc2NyZWVuIiBpcyBmYWxzZS48L3A+CiA8L2JvZHk+CiA8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLmpzIGIvTGF5b3V0
VGVzdHMvbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi5qcwppbmRleCBkMzM5Y2EwMmI2YmFkZjMyZGE4
Y2M2NDgxMDM1OTYxNDE3MThkODljLi42NjRlYjY1ZTY5NTQ1YjdkOTJkYjlhYmFkMGU2MjIxMjVm
NDViOWEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLmpz
CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWZ1bGxzY3JlZW4uanMKQEAgLTM4LDkgKzM4
LDkgQEAgZnVuY3Rpb24gZnVsbHNjcmVlbmNoYW5nZSgpCiAgICAgICAgIGVuZGZ1bGxzY3JlZW4o
KTsKIH0KIAotZnVuY3Rpb24gYmVnaW5mdWxsc2NyZWVuKCkKK2FzeW5jIGZ1bmN0aW9uIGJlZ2lu
ZnVsbHNjcmVlbigpCiB7Ci0gICAgdGVzdEV4cGVjdGVkKCJtZWRpYUVsZW1lbnQud2Via2l0RGlz
cGxheWluZ0Z1bGxzY3JlZW4iLCB0cnVlKTsKKyAgICBhd2FpdCB0ZXN0RXhwZWN0ZWRFdmVudHVh
bGx5KCJtZWRpYUVsZW1lbnQud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCB0cnVlKTsKICAg
ICBydW4oIm1lZGlhRWxlbWVudC53ZWJraXRFeGl0RnVsbFNjcmVlbigpIik7CiB9CiAKQEAgLTQ5
LDEzICs0OSwxMyBAQCBmdW5jdGlvbiBlbmRmdWxsc2NyZWVuKCkKICAgICBzZXRUaW1lb3V0KG9w
ZW5OZXh0TW92aWUsIDEwKTsKIH0KIAotZnVuY3Rpb24gZnVsbHNjcmVlbmVycm9yKCkKK2FzeW5j
IGZ1bmN0aW9uIGZ1bGxzY3JlZW5lcnJvcigpCiB7CiAgICAgdmFyIG1vdmllID0gbW92aWVJbmZv
Lm1vdmllc1ttb3ZpZUluZm8uY3VycmVudF07CiAgICAgaWYgKG1vdmllLmlubGluZSkgewogICAg
ICAgICBmYWlsVGVzdCgiVW5leHBlY3RlZCBmdWxsc2NyZWVuZXJyb3IgZXZlbnQiKTsKICAgICB9
IGVsc2UgewotICAgICAgICB0ZXN0RXhwZWN0ZWQoIm1lZGlhRWxlbWVudC53ZWJraXREaXNwbGF5
aW5nRnVsbHNjcmVlbiIsIGZhbHNlKTsKKyAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1
YWxseSgibWVkaWFFbGVtZW50LndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgZmFsc2UpOwog
ICAgICAgICBvcGVuTmV4dE1vdmllKCk7CiAgICAgfQogfQpAQCAtMTM4LDQgKzEzOCwzIEBAIGZ1
bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXJzKGVsZW0pCiAgICAgd2FpdEZvckV2ZW50KCd3ZWJraXRm
dWxsc2NyZWVuY2hhbmdlJywgZnVsbHNjcmVlbmNoYW5nZSk7CiAgICAgd2FpdEZvckV2ZW50KCd3
ZWJraXRmdWxsc2NyZWVuZXJyb3InLCBmdWxsc2NyZWVuZXJyb3IpOwogfQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY3NzL3dlYmtpdC1jdXJz
b3ItdmlzaWJpbGl0eS1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJraXQtY3Vyc29yLXZpc2liaWxpdHktYXV0by1o
aWRlLWV4cGVjdGVkLnR4dAppbmRleCBmMjEwOThhODY2MWI4ZjQ5YWU5Yzg2MzVkZjA4ZDI3ODEy
M2U1ODY0Li5jNWYwYWVjMjM1YjYwZjIzYjQwMGQ0MTcyNjA0ZDNkYWM5N2JhY2FjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY3NzL3dlYmtpdC1j
dXJzb3ItdmlzaWJpbGl0eS1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9jc3Mvd2Via2l0LWN1cnNvci12aXNpYmlsaXR5
LWF1dG8taGlkZS1leHBlY3RlZC50eHQKQEAgLTYsNyArNiw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFCiBQQVNTIG1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIGlzIGZhbHNlCiBQ
QVNTIGdldENvbXB1dGVkU3R5bGUod2luZG93LmludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5x
dWVyeVNlbGVjdG9yKCcubWVkaWEtY29udHJvbHMtY29udGFpbmVyJykpLndlYmtpdEN1cnNvclZp
c2liaWxpdHkgaXMgImF1dG8iCiAKLVBBU1MgbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3Jl
ZW4gaXMgdHJ1ZQorUEFTUyBtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiBiZWNhbWUg
dHJ1ZQogUEFTUyBnZXRDb21wdXRlZFN0eWxlKHdpbmRvdy5pbnRlcm5hbHMuc2hhZG93Um9vdCht
ZWRpYSkucXVlcnlTZWxlY3RvcignLm1lZGlhLWNvbnRyb2xzLWNvbnRhaW5lcicpKS53ZWJraXRD
dXJzb3JWaXNpYmlsaXR5IGlzICJhdXRvLWhpZGUiCiAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9jc3Mvd2Via2l0LWN1cnNvci12aXNpYmlsaXR5LWF1dG8taGlkZS5odG1sIGIvTGF5b3V0
VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJraXQtY3Vyc29yLXZpc2li
aWxpdHktYXV0by1oaWRlLmh0bWwKaW5kZXggMDJhYTJjZTU0ZDgyMDBhNDM2ODlkZjIyMDAyN2Vi
YjY1ODAxOWJiMy4uMjU3MmU4NThmZTM0M2RiN2E5ZmIyMjM0OGM0MWVlMzZmNzgxNDQ2ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJr
aXQtY3Vyc29yLXZpc2liaWxpdHktYXV0by1oaWRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJraXQtY3Vyc29yLXZpc2liaWxpdHktYXV0
by1oaWRlLmh0bWwKQEAgLTE3LDEyICsxNywxMyBAQCBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJw
bGF5IiwgKCkgPT4gewogICAgIGRlYnVnKCIiKTsKIAogICAgIG1lZGlhLmFkZEV2ZW50TGlzdGVu
ZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCAoKSA9PiB7Ci0gICAgICAgIHNob3VsZEJlVHJ1
ZSgibWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iKTsKLSAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0eWxlKHdpbmRvdy5pbnRlcm5hbHMuc2hhZG93Um9v
dChtZWRpYSkucXVlcnlTZWxlY3RvcignLm1lZGlhLWNvbnRyb2xzLWNvbnRhaW5lcicpKS53ZWJr
aXRDdXJzb3JWaXNpYmlsaXR5IiwgImF1dG8taGlkZSIpOwotICAgICAgICBkZWJ1ZygiIik7Ci0g
ICAgICAgIGJ1dHRvbi5yZW1vdmUoKTsKLSAgICAgICAgbWVkaWEucmVtb3ZlKCk7Ci0gICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgICAgICBzaG91bGRCZWNvbWVFcXVhbCgibWVkaWEud2Via2l0
RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCAidHJ1ZSIsICgpID0+IHsKKyAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZSh3aW5kb3cuaW50ZXJuYWxzLnNoYWRv
d1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoJy5tZWRpYS1jb250cm9scy1jb250YWluZXInKSku
d2Via2l0Q3Vyc29yVmlzaWJpbGl0eSIsICJhdXRvLWhpZGUiKTsKKyAgICAgICAgICAgIGRlYnVn
KCIiKTsKKyAgICAgICAgICAgIGJ1dHRvbi5yZW1vdmUoKTsKKyAgICAgICAgICAgIG1lZGlhLnJl
bW92ZSgpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0pOwogICAgIH0p
OwogCiAgICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNv
cy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29u
dHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLWV4cGVjdGVkLnR4dApp
bmRleCBmYTJhNTBlM2UwYzQxMWRhZDc4YjYxYjY2MWVhZDcyZjVjMDZjNmYwLi5iYjk3Nzg1MmFm
ZTczZDBkZjFmMWU0ZmNmYTk4MDY1OGEwNjIwYjkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9t
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9s
cy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWctZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVu
LW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1leHBl
Y3RlZC50eHQKQEAgLTMsNiArMyw3IEBAIFRoaXMgdGVzdCBwYXVzZXMgdGhlIHZpZGVvLCBwcmVz
c2VzIHRoZSBmdWxsc2NyZWVuIGJ1dHRvbiwgYW5kIGRyYWdzIHRoZSBjb250cm9sCiBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCiAKIAorUEFTUyBtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNj
cmVlbiBiZWNhbWUgdHJ1ZQogUEFTUyAhIW1lZGlhQ29udHJvbHMucXVlcnlTZWxlY3RvcignLmJ1
dHRvbnMtY29udGFpbmVyLmxlZnQnKSBiZWNhbWUgdHJ1ZQogUEFTUyBtZWRpYUNvbnRyb2xzLnF1
ZXJ5U2VsZWN0b3IoJy5idXR0b25zLWNvbnRhaW5lci5sZWZ0Jykuc3R5bGUud2lkdGggYmVjYW1l
ICIxMThweCIKIFBBU1MgbWVkaWFDb250cm9scy5xdWVyeVNlbGVjdG9yKCcuY29udHJvbHMtYmFy
Jykuc3R5bGUudHJhbnNmb3JtIGlzICJ0cmFuc2xhdGUoLTUwcHgsIC0xMDBweCkiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNj
cmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWct
aXMtcHJldmVudGVkLW92ZXItYnV0dG9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21h
Y29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1pcy1wcmV2ZW50ZWQtb3Zlci1idXR0
b24tZXhwZWN0ZWQudHh0CmluZGV4IGQ2ZmM3ZTJkMTBmNDNhOTU0ZWJjMDdkYWZhNGZkMDY5ZTlj
MjBkY2QuLmIwOGVhYTJhNzdjZDIyYzliNzk0ZTQ2ZWIzOWNkOTZiYTg2MWUzZWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2Ny
ZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1p
cy1wcmV2ZW50ZWQtb3Zlci1idXR0b24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xz
L21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1pcy1wcmV2ZW50ZWQtb3Zlci1i
dXR0b24tZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBUaGlzIHRlc3QgcGF1c2VzIHRoZSB2
aWRlbywgcHJlc3NlcyB0aGUgZnVsbHNjcmVlbiBidXR0b24sIGFuZCBkcmFncyB0aGUgY29udHJv
bAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKK1BBU1MgbWVkaWEud2Via2l0RGlzcGxh
eWluZ0Z1bGxzY3JlZW4gYmVjYW1lIHRydWUKIFBBU1MgISFtZWRpYUNvbnRyb2xzLnF1ZXJ5U2Vs
ZWN0b3IoJy5idXR0b25zLWNvbnRhaW5lci5sZWZ0JykgYmVjYW1lIHRydWUKIFBBU1MgbWVkaWFD
b250cm9scy5xdWVyeVNlbGVjdG9yKCcuYnV0dG9ucy1jb250YWluZXIubGVmdCcpLnN0eWxlLndp
ZHRoIGJlY2FtZSAiMTE4cHgiCiBQQVNTIG1lZGlhQ29udHJvbHMucXVlcnlTZWxlY3RvcignLmNv
bnRyb2xzLWJhcicpLnN0eWxlLnRyYW5zZm9ybSBpcyAiIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29u
dHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy1kcmFnLWlzLXByZXZlbnRlZC1v
dmVyLWJ1dHRvbi5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1j
b250cm9scy1kcmFnLWlzLXByZXZlbnRlZC1vdmVyLWJ1dHRvbi5odG1sCmluZGV4IGNhN2FmZGJi
YjY1NjgwOTlhODQyYmUzZTkzMGQ4MzYyNGUxN2M2NDUuLjU2YWU3YWYyNjlmZDViMjU1NTUzYmZk
NTZmMzIyNmVjN2YyOTA1ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxz
Y3JlZW4tbWVkaWEtY29udHJvbHMtZHJhZy1pcy1wcmV2ZW50ZWQtb3Zlci1idXR0b24uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtZnVsbHNj
cmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLWRyYWct
aXMtcHJldmVudGVkLW92ZXItYnV0dG9uLmh0bWwKQEAgLTE3LDcgKzE3LDcgQEAgbWVkaWEuYWRk
RXZlbnRMaXN0ZW5lcigid2Via2l0YmVnaW5mdWxsc2NyZWVuIiwgKCkgPT4gewogfSk7CiAKIG1l
ZGlhLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCAoKSA9PiB7Ci0g
ICAgaWYgKG1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuKSB7CisgICAgc2hvdWxkQmVj
b21lRXF1YWwoIm1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgInRydWUiLCAoKSA9
PiB7CiAgICAgICAgIG1lZGlhQ29udHJvbHMgPSBzaGFkb3dSb290Lmxhc3RDaGlsZDsKICAgICAg
ICAgc2hvdWxkQmVjb21lRXF1YWwoIiEhbWVkaWFDb250cm9scy5xdWVyeVNlbGVjdG9yKCcuYnV0
dG9ucy1jb250YWluZXIubGVmdCcpIiwgInRydWUiLCAoKSA9PiB7CiAgICAgICAgICAgICBzaG91
bGRCZWNvbWVFcXVhbFRvU3RyaW5nKCJtZWRpYUNvbnRyb2xzLnF1ZXJ5U2VsZWN0b3IoJy5idXR0
b25zLWNvbnRhaW5lci5sZWZ0Jykuc3R5bGUud2lkdGgiLCAiMTE4cHgiLCAoKSA9PiB7CkBAIC0z
Myw3ICszMyw3IEBAIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFu
Z2UiLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKICAgICAg
ICAgfSk7Ci0gICAgfQorICAgIH0pOwogfSk7CiAKIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoInBs
YXkiLCAoKSA9PiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVu
LW1lZGlhLWNvbnRyb2xzLWRyYWcuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3Jl
ZW4tbWVkaWEtY29udHJvbHMtZHJhZy5odG1sCmluZGV4IDU4ZDFlZDhkOGUzZWI2ZjM0OGQwYjM4
OWM3MjVlOWI1YzVhODc1OTAuLmU2NDNkMGIzM2RmOGFjN2U2NDEyMWIzMGQzNzBjNjkxMDA5NWIy
NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9t
YWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29u
dHJvbHMtZHJhZy5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9tYWNvcy1mdWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVk
aWEtY29udHJvbHMtZHJhZy5odG1sCkBAIC0xNyw3ICsxNyw3IEBAIG1lZGlhLmFkZEV2ZW50TGlz
dGVuZXIoIndlYmtpdGJlZ2luZnVsbHNjcmVlbiIsICgpID0+IHsKIH0pOwogCiBtZWRpYS5hZGRF
dmVudExpc3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIiwgKCkgPT4gewotICAgIGlmICht
ZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbikgeworICAgIHNob3VsZEJlY29tZUVxdWFs
KCJtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIsICJ0cnVlIiwgKCkgPT4gewogICAg
ICAgICBtZWRpYUNvbnRyb2xzID0gc2hhZG93Um9vdC5sYXN0Q2hpbGQ7CiAgICAgICAgIHNob3Vs
ZEJlY29tZUVxdWFsKCIhIW1lZGlhQ29udHJvbHMucXVlcnlTZWxlY3RvcignLmJ1dHRvbnMtY29u
dGFpbmVyLmxlZnQnKSIsICJ0cnVlIiwgKCkgPT4gewogICAgICAgICAgICAgc2hvdWxkQmVjb21l
RXF1YWxUb1N0cmluZygibWVkaWFDb250cm9scy5xdWVyeVNlbGVjdG9yKCcuYnV0dG9ucy1jb250
YWluZXIubGVmdCcpLnN0eWxlLndpZHRoIiwgIjExOHB4IiwgKCkgPT4gewpAQCAtMzMsNyArMzMs
NyBAQCBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIiwgKCkg
PT4gewogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwot
ICAgIH0KKyAgICB9KTsKIH0pOwogCiBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IiwgKCkg
PT4gewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1jbGljay1vbi12aWRlby1iYWNrZ3Jv
dW5kLXNob3VsZC1wYXVzZS1mdWxsc2NyZWVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xs
ZXItY2xpY2stb24tdmlkZW8tYmFja2dyb3VuZC1zaG91bGQtcGF1c2UtZnVsbHNjcmVlbi1leHBl
Y3RlZC50eHQKaW5kZXggY2NkNjc3ZjExNGY4N2Q5YjI1NmQyMWE2MmI3NjEwY2UwY2U2YmU3Yy4u
MjA2NGQ3ZDNjMWI0ZWQ3NjU4OWYzNDljODNkODM0MTg4MmYxYmE3OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVk
aWEtY29udHJvbGxlci1jbGljay1vbi12aWRlby1iYWNrZ3JvdW5kLXNob3VsZC1wYXVzZS1mdWxs
c2NyZWVuLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWNsaWNrLW9uLXZpZGVv
LWJhY2tncm91bmQtc2hvdWxkLXBhdXNlLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0CkBAIC02LDcg
KzYsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUyBtZWRpYUNvbnRyb2xzLnF1ZXJ5
U2VsZWN0b3IoJ2J1dHRvbi5mdWxsc2NyZWVuJykgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVu
dCBiZWNhbWUgdHJ1ZQogCiBFbnRlcmluZyBmdWxsc2NyZWVuCi1QQVNTIG1lZGlhLndlYmtpdERp
c3BsYXlpbmdGdWxsc2NyZWVuIGlzIHRydWUKK1BBU1MgbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1
bGxzY3JlZW4gYmVjYW1lIHRydWUKIFBBU1MgbWVkaWEucGF1c2VkIGlzIGZhbHNlCiAKIENsaWNr
aW5nIG9uIHZpZGVvIGJhY2tncm91bmQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItY2xp
Y2stb24tdmlkZW8tYmFja2dyb3VuZC1zaG91bGQtcGF1c2UtZnVsbHNjcmVlbi5odG1sIGIvTGF5
b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVk
aWEtY29udHJvbGxlci1jbGljay1vbi12aWRlby1iYWNrZ3JvdW5kLXNob3VsZC1wYXVzZS1mdWxs
c2NyZWVuLmh0bWwKaW5kZXggOGNmNWVlN2E5ZjJhNWI5MDg2YTZjMWMwNGI5ZTlmMjU2ZjBmYTk2
Yi4uYjVjNDgzMmIzYTJhYjY2MGNiZjE1YzdhMTA1ZDA5ZmYzYzE4YmZiZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIv
bWVkaWEtY29udHJvbGxlci1jbGljay1vbi12aWRlby1iYWNrZ3JvdW5kLXNob3VsZC1wYXVzZS1m
dWxsc2NyZWVuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1jbGljay1vbi12aWRlby1iYWNr
Z3JvdW5kLXNob3VsZC1wYXVzZS1mdWxsc2NyZWVuLmh0bWwKQEAgLTIyLDIxICsyMiwyMiBAQCBt
ZWRpYS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IiwgKCkgPT4gewogCiAKIG1lZGlhLmFkZEV2ZW50
TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCAoKSA9PiB7Ci0gICAgc2hvdWxkQmVU
cnVlKCJtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIpOwotICAgIHNob3VsZEJlRmFs
c2UoIm1lZGlhLnBhdXNlZCIpOworICAgIHNob3VsZEJlY29tZUVxdWFsKCJtZWRpYS53ZWJraXRE
aXNwbGF5aW5nRnVsbHNjcmVlbiIsICJ0cnVlIiwgKCkgPT4geworICAgICAgICBzaG91bGRCZUZh
bHNlKCJtZWRpYS5wYXVzZWQiKTsKIAotICAgIGNvbnN0IGJvdW5kcyA9IG1lZGlhLmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpOwotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiQ2xpY2tpbmcgb24g
dmlkZW8gYmFja2dyb3VuZCIpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGJvdW5kcy5s
ZWZ0ICsgNSwgYm91bmRzLnRvcCArIDUpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwot
ICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgY29uc3QgYm91bmRzID0gbWVkaWEu
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZGVi
dWcoIkNsaWNraW5nIG9uIHZpZGVvIGJhY2tncm91bmQiKTsKKyAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oYm91bmRzLmxlZnQgKyA1LCBib3VuZHMudG9wICsgNSk7CisgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CiAK
LSAgICBzaG91bGRCZVRydWUoIm1lZGlhLnBhdXNlZCIpOworICAgICAgICBzaG91bGRCZVRydWUo
Im1lZGlhLnBhdXNlZCIpOwogCi0gICAgZGVidWcoIiIpOwotICAgIG1lZGlhLnJlbW92ZSgpOwot
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgIG1lZGlhLnJl
bW92ZSgpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKIH0pOwogCiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9t
ZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItZnVsbHNjcmVlbi1sdHItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRy
b2xsZXIvbWVkaWEtY29udHJvbGxlci1mdWxsc2NyZWVuLWx0ci1leHBlY3RlZC50eHQKaW5kZXgg
YzcxMWY1MTE0ZmViNjMzZmMzZjlhMDZkNGZhMmJhNjFmMmYyZmVkMS4uYTU4ZjhmYmZlMmU4OGYz
YTJhZjkyOTE1NjgzMGE3MmEzMzYxMzY5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1m
dWxsc2NyZWVuLWx0ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1mdWxsc2Ny
ZWVuLWx0ci1leHBlY3RlZC50eHQKQEAgLTMsNiArMyw3IEBAIFRlc3RpbmcgbHRyIGlzIHNldCBj
b3JyZWN0bHkgd2hlbiBlbnRlcmluZyBmdWxsc2NyZWVuLgogT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgogCiAKK1BBU1MgbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gYmVjYW1lIHRy
dWUKIE1lZGlhIGVudGVyZWQgZnVsbHNjcmVlbgogUEFTUyBtZWRpYUNvbnRyb2xzRWxlbWVudC5j
bGFzc0xpc3QuY29udGFpbnMoJ3VzZXMtbHRyLXVzZXItaW50ZXJmYWNlLWxheW91dC1kaXJlY3Rp
b24nKSBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUo
dm9sdW1lU2xpZGVyRWxlbWVudCkudHJhbnNmb3JtIGlzICJub25lIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVk
aWEtY29udHJvbGxlci1mdWxsc2NyZWVuLWx0ci5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1mdWxs
c2NyZWVuLWx0ci5odG1sCmluZGV4IDY4NzlmMGUzYWIzY2Y1OTAxMDA3ZWU5MzcyZTZjYTNjNTA4
Y2E1OWEuLjI2NDQ5ZGEwNmE5NDRmOTZjZTU2NTk1NjhhZDEyMjdiMDU5NjI1MjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9s
bGVyL21lZGlhLWNvbnRyb2xsZXItZnVsbHNjcmVlbi1sdHIuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250
cm9sbGVyLWZ1bGxzY3JlZW4tbHRyLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgbGV0IHNoYWRvd1Jv
b3QgPSB3aW5kb3cuaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpOwogbGV0IG1lZGlhQ29udHJv
bHNFbGVtZW50LCB2b2x1bWVTbGlkZXJFbGVtZW50OwogCiBtZWRpYS5hZGRFdmVudExpc3RlbmVy
KCJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIiwgZnVuY3Rpb24oKSB7Ci0gICAgaWYgKG1lZGlhLndl
YmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuKSB7CisgICAgc2hvdWxkQmVjb21lRXF1YWwoIm1lZGlh
LndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuIiwgInRydWUiLCAoKSA9PiB7CiAgICAgICAgIHdp
bmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gewogICAgICAgICAgICAgd2luZG93LnJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CiAgICAgICAgICAgICAgICAgZGVidWcoIk1lZGlh
IGVudGVyZWQgZnVsbHNjcmVlbiIpOwpAQCAtNDQsNyArNDQsNyBAQCBtZWRpYS5hZGRFdmVudExp
c3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSk7Ci0gICAg
fQorICAgIH0pOwogfSk7CiAKIG1lZGlhLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRh
IiwgKCkgPT4gewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1zcGFjZS1iYXItdG9nZ2xl
LXBsYXliYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItc3BhY2UtYmFyLXRvZ2ds
ZS1wbGF5YmFjay1leHBlY3RlZC50eHQKaW5kZXggY2ExYTNkY2Q3ZTI1MjhjNWQ4ZTk2YzYzODQx
YmFjZGJhNjVhNmRhYi4uOWZhODYzNWJhYWZmMDEyY2VjMzA1NTRhZjgxYWEzNzA4MGZmZjFhOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
LWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1zcGFjZS1iYXItdG9nZ2xlLXBsYXliYWNrLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLXNwYWNlLWJhci10b2dnbGUtcGxheWJh
Y2stZXhwZWN0ZWQudHh0CkBAIC05LDcgKzksNyBAQCBPYnRhaW5lZCBhICdwbGF5JyBldmVudC4K
IEVudGVyaW5nIGZ1bGxzY3JlZW4uCiAKIE9idGFpbmVkIGEgJ3dlYmtpdGZ1bGxzY3JlZW5jaGFu
Z2UnIGV2ZW50LgotbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPSB0cnVlLgorUEFT
UyBtZWRpYS53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiBiZWNhbWUgdHJ1ZQogUEFTUyBtZWRp
YS5wYXVzZWQgaXMgZmFsc2UKIAogUHJlc3NpbmcgdGhlIHNwYWNlIGJhci4KQEAgLTIxLDcgKzIx
LDYgQEAgUHJlc3NpbmcgdGhlIHNwYWNlIGJhci4KIE9idGFpbmVkIGEgJ3BsYXknIGV2ZW50Lgog
CiBPYnRhaW5lZCBhICd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJyBldmVudC4KLW1lZGlhLndlYmtp
dERpc3BsYXlpbmdGdWxsc2NyZWVuID0gZmFsc2UuCiAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1zcGFjZS1iYXItdG9nZ2xl
LXBsYXliYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLXNwYWNlLWJhci10b2dnbGUtcGxheWJh
Y2suaHRtbAppbmRleCBmMzA1ZjFlZmY4Y2E5ODJiM2E2OGY4MDY1MWM4OGQ5ZDRhMTA5YjJmLi4w
OTM0NDAzNTYxNTgwNjViYTMyNTVjZWM2ZmYyMjUwODEzN2Q4MGNhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRp
YS1jb250cm9sbGVyLXNwYWNlLWJhci10b2dnbGUtcGxheWJhY2suaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1j
b250cm9sbGVyLXNwYWNlLWJhci10b2dnbGUtcGxheWJhY2suaHRtbApAQCAtMTYsMTEgKzE2LDEy
IEBAIGJ1dHRvbi50ZXh0Q29udGVudCA9ICJFbnRlciBGdWxsc2NyZWVuIjsKIG1lZGlhLmFkZEV2
ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCAoKSA9PiB7CiAgICAgZGVidWco
IiIpOwogICAgIGRlYnVnKCJPYnRhaW5lZCBhICd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJyBldmVu
dC4iKTsKLSAgICBkZWJ1ZyhgbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4gPSAke21l
ZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVufS5gKTsKIAotICAgIGlmIChtZWRpYS53ZWJr
aXREaXNwbGF5aW5nRnVsbHNjcmVlbikgewotICAgICAgICBzaG91bGRCZUZhbHNlKCJtZWRpYS5w
YXVzZWQiKTsKLSAgICAgICAgcHJlc3NTcGFjZSgpOworICAgIGlmIChwbGF5Q291bnQgPT0gMSkg
eworICAgICAgICBzaG91bGRCZWNvbWVFcXVhbCgnbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxz
Y3JlZW4nLCAndHJ1ZScsICgpID0+IHsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoIm1lZGlh
LnBhdXNlZCIpOworICAgICAgICAgICAgcHJlc3NTcGFjZSgpOworICAgICAgICB9KTsKICAgICB9
IGVsc2UKICAgICAgICAgZW5kVGVzdCgpOwogfSk7CkBAIC00Niw3ICs0Nyw2IEBAIG1lZGlhLmFk
ZEV2ZW50TGlzdGVuZXIoInBhdXNlIiwgKCkgPT4gewogICAgIHByZXNzU3BhY2UoKTsKIH0pOwog
Ci0KIGZ1bmN0aW9uIGVudGVyRnVsbHNjcmVlbigpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVi
dWcoIkVudGVyaW5nIGZ1bGxzY3JlZW4uIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQtc2hv
dy1wYW5lbC1mdWxsc2NyZWVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVs
LWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0CmluZGV4IGEzMzEwOTMyODY1NGIyMjU0Mjk2OWVlNjk3
NzVkN2ZhMjk0N2EzOTMuLjc1MTUyNTUwNDI4MDhkYzZmM2QxZDlhYTcxM2U2MTZlNTI5NzVlYTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFj
a3Mtc3VwcG9ydC90cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mt
c3VwcG9ydC90cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0
CkBAIC01LDYgKzUsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIGludGVybmFs
cy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCJidXR0b24uZnVsbHNjcmVlbiIpIGJl
Y2FtZSBkaWZmZXJlbnQgZnJvbSBudWxsCiBQQVNTIGludGVybmFscy5zaGFkb3dSb290KG1lZGlh
KS5xdWVyeVNlbGVjdG9yKCJidXR0b24uZnVsbHNjcmVlbiIpLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpLndpZHRoIGJlY2FtZSBkaWZmZXJlbnQgZnJvbSAwCitQQVNTIG1lZGlhLndlYmtpdERpc3Bs
YXlpbmdGdWxsc2NyZWVuIGJlY2FtZSB0cnVlCiBQQVNTIGludGVybmFscy5zaGFkb3dSb290KG1l
ZGlhKS5xdWVyeVNlbGVjdG9yKCJidXR0b24udHJhY2tzIikgYmVjYW1lIGRpZmZlcmVudCBmcm9t
IG51bGwKIFBBU1MgaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1
dHRvbi50cmFja3MiKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCBiZWNhbWUgZGlmZmVy
ZW50IGZyb20gMAogUEFTUyBpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3Rv
cigiYnV0dG9uLnRyYWNrcyIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0IGJlY2FtZSA1
ODIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90
cmFja3Mtc3VwcG9ydC90cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4uaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90
cmFja3Mtc3VwcG9ydC1zaG93LXBhbmVsLWZ1bGxzY3JlZW4uaHRtbAppbmRleCAzZTEyZDQyMjhh
YjZlNjk1ZTE5MTEwMjgwYmZjYmVhNTBmNTA1ZGM0Li40MmZhZGFmNTUyODdhZGZmMmY3OTU2MGQx
ZWNhYmE4ODFlOTQ0MjY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBvcnQtc2hvdy1wYW5lbC1mdWxs
c2NyZWVuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L3RyYWNrcy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0LXNob3ctcGFuZWwtZnVsbHNjcmVlbi5odG1s
CkBAIC0xMiwxOSArMTIsMTggQEAgZGVzY3JpcHRpb24oIlNob3dpbmcgdGhlIHRyYWNrcyBwYW5l
bCBpbiBmdWxsc2NyZWVuLiIpOwogY29uc3QgbWVkaWEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCJ2aWRlbyIpOwogCiBtZWRpYS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRmdWxsc2NyZWVuY2hh
bmdlIiwgKCkgPT4gewotICAgIGlmICghbWVkaWEud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4p
Ci0gICAgICAgIHJldHVybjsKLQotICAgIHNob3VsZEJlY29tZURpZmZlcmVudChgaW50ZXJuYWxz
LnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi50cmFja3MiKWAsICJudWxs
IiwgKCkgPT4gewotICAgICAgICBzaG91bGRCZWNvbWVEaWZmZXJlbnQoYGludGVybmFscy5zaGFk
b3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCJidXR0b24udHJhY2tzIikuZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCkud2lkdGhgLCAiMCIsICgpID0+IHsKLSAgICAgICAgICAgIHNob3VsZEJlY29t
ZUVxdWFsKGBpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9u
LnRyYWNrcyIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0YCwgIjU4MiIsICgpID0+IHsK
LSAgICAgICAgICAgICAgICBwcmVzc09uRWxlbWVudChpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRp
YSkucXVlcnlTZWxlY3RvcigiYnV0dG9uLnRyYWNrcyIpKTsKLSAgICAgICAgICAgICAgICBzaG91
bGRCZWNvbWVEaWZmZXJlbnQoYGludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVj
dG9yKCcudHJhY2tzLXBhbmVsJylgLCAibnVsbCIsICgpID0+IHsKLSAgICAgICAgICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJpbnRlcm5hbHMuc2hhZG93Um9vdChtZWRpYSkucXVl
cnlTZWxlY3RvcignLnRyYWNrcy1wYW5lbCcpLnN0eWxlLnJpZ2h0IiwgIjIxOHB4Iik7Ci0gICAg
ICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiaW50ZXJuYWxzLnNoYWRvd1Jv
b3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoJy50cmFja3MtcGFuZWwnKS5zdHlsZS5ib3R0b20iLCAi
MTAxcHgiKTsKLSAgICAgICAgICAgICAgICAgICAgZGVidWcoIiIpOwotICAgICAgICAgICAgICAg
ICAgICBtZWRpYS5yZW1vdmUoKTsKLSAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgc2hvdWxkQmVjb21lRXF1YWwoIm1lZGlhLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVu
IiwgInRydWUiLCAoKSA9PiB7CisgICAgICAgIHNob3VsZEJlY29tZURpZmZlcmVudChgaW50ZXJu
YWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi50cmFja3MiKWAsICJu
dWxsIiwgKCkgPT4geworICAgICAgICAgICAgc2hvdWxkQmVjb21lRGlmZmVyZW50KGBpbnRlcm5h
bHMuc2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9uLnRyYWNrcyIpLmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoYCwgIjAiLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
c2hvdWxkQmVjb21lRXF1YWwoYGludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVj
dG9yKCJidXR0b24udHJhY2tzIikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHRgLCAiNTgy
IiwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICBwcmVzc09uRWxlbWVudChpbnRlcm5hbHMu
c2hhZG93Um9vdChtZWRpYSkucXVlcnlTZWxlY3RvcigiYnV0dG9uLnRyYWNrcyIpKTsKKyAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQmVjb21lRGlmZmVyZW50KGBpbnRlcm5hbHMuc2hhZG93Um9v
dChtZWRpYSkucXVlcnlTZWxlY3RvcignLnRyYWNrcy1wYW5lbCcpYCwgIm51bGwiLCAoKSA9PiB7
CisgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImludGVybmFs
cy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCcudHJhY2tzLXBhbmVsJykuc3R5bGUu
cmlnaHQiLCAiMjE4cHgiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoJy50cmFj
a3MtcGFuZWwnKS5zdHlsZS5ib3R0b20iLCAiMTAxcHgiKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhLnJlbW92ZSgpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAg
ICAgIH0pOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBs
YXliYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1bGxzY3JlZW4t
b25seS1wbGF5YmFjay1leHBlY3RlZC50eHQKaW5kZXggMzM3MjRmMGI2MjNhMTRiZjc1MmM0YWFj
NDA0NWZjYWQyNzliNDcyYi4uYzE3MmI1MmVmNDY0NDMzZDI5ODhlOTYzNjk5MzcxMWYxYzgzMzMw
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBs
YXliYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1mdWxsc2Ny
ZWVuLW9ubHktcGxheWJhY2stZXhwZWN0ZWQudHh0CkBAIC0xLDE4ICsxLDE4IEBACiAKLVRlc3Qg
cGxheSgpIHdoZW4gPHZpZGVvPiBwbGF5YmFjayByZXF1aXJlcyBmdWxsc2NyZWVuLgorVGVzdCB0
aGUgcGxheSgpIGZ1bmN0aW9uIG9mIDx2aWRlbz4gd2hlbiBmdWxsc2NyZWVuIGlzIHJlcXVpcmVk
LgogCi1SVU4oaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2so
ZmFsc2UpKQogCiBFVkVOVChjYW5wbGF5dGhyb3VnaCkKIEVYUEVDVEVEICh2aWRlby53ZWJraXRT
dXBwb3J0c0Z1bGxzY3JlZW4gPT0gJ3RydWUnKSBPSwogRVhQRUNURUQgKHZpZGVvLndlYmtpdERp
c3BsYXlpbmdGdWxsc2NyZWVuID09ICdmYWxzZScpIE9LCi0KLSoqIENsaWNraW5nICdwbGF5JyBi
dXR0b24uLi4KK1JVTih2aWRlby5wbGF5KCkpCiBFVkVOVChwbGF5aW5nKQorRVhQRUNURUQgKHZp
ZGVvLndlYmtpdERpc3BsYXlpbmdGdWxsc2NyZWVuID09ICd0cnVlJykgT0sKIAogKiogRW50ZXJl
ZCBmdWxsc2NyZWVuCi1FWFBFQ1RFRCAodmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4g
PT0gJ3RydWUnKSBPSwogUlVOKHZpZGVvLndlYmtpdEV4aXRGdWxsU2NyZWVuKCkpCitFVkVOVCh3
ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZCkKK0VYUEVDVEVEICh2aWRlby53ZWJraXREaXNw
bGF5aW5nRnVsbHNjcmVlbiA9PSAnZmFsc2UnKSBPSwogCiAqKiBFeGl0ZWQgZnVsbHNjcmVlbgog
RU5EIE9GIFRFU1QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLWZ1bGxzY3Jl
ZW4tb25seS1wbGF5YmFjay5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZnVsbHNjcmVl
bi1vbmx5LXBsYXliYWNrLmh0bWwKaW5kZXggZjZmOWQ2Yjc3OWJkMDY3OTliZDg4YzlhMTY2N2Y1
ZjFkYTY4YTZjNi4uZjMyNDU5OWEyMjJjNTA5YWVmNDAyZjY4MzFjZjEwYTM5YTVmMWRkYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNr
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXli
YWNrLmh0bWwKQEAgLTEsMjggKzEsMjggQEAKLTwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlTW9kZXJuTWVkaWFDb250cm9scz1mYWxzZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzPWZhbHNlIF0gLS0+
CiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdCBzcmM9bWVkaWEtZmlsZS5qcz48
L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdCBzcmM9dmlkZW8tdGVzdC5qcz48L3NjcmlwdD4KICAg
ICAgICAgPHNjcmlwdCBzcmM9bWVkaWEtY29udHJvbHMuanM+PC9zY3JpcHQ+CiAgICAgICAgIDxz
Y3JpcHQ+Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGxzY3JlZW5jaGFuZ2UoKQorICAgICAg
ICAgICAgZnVuY3Rpb24gc3RhcnQoKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGlm
ICghZG9jdW1lbnQud2Via2l0SXNGdWxsU2NyZWVuKQotICAgICAgICAgICAgICAgICAgICBlbmRm
dWxsc2NyZWVuKCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgICAgIGZhaWxUZXN0KCdUaGlzIHRlc3QgcmVx
dWlyZXMgd2luZG93LmludGVybmFscy4nKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgZnVuY3Rpb24gcGxheWluZygpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogRW50ZXJlZCBm
dWxsc2NyZWVuIik7Ci0gICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby53ZWJraXRE
aXNwbGF5aW5nRnVsbHNjcmVlbiIsIHRydWUpOwotICAgICAgICAgICAgICAgIHJ1bigidmlkZW8u
d2Via2l0RXhpdEZ1bGxTY3JlZW4oKSIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07CisgICAg
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCJjYW5wbGF5dGhyb3VnaCIsIGNhbnBsYXl0aHJvdWdo
KTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3BsYXlpbmcnLCBwbGF5aW5nKTsKKyAg
ICAgICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50
L3Rlc3QiKTsKIAotICAgICAgICAgICAgZnVuY3Rpb24gZW5kZnVsbHNjcmVlbigpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogRXhpdGVkIGZ1bGxz
Y3JlZW4iKTsKLSAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soZmFsc2UpOworICAg
ICAgICAgICAgICAgIC8vIERpc2FibGUgdGhlIEZ1bGxzY3JlZW4gQVBJIChlbGVtZW50IGZ1bGxz
Y3JlZW4pIHN1cHBvcnQKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnVs
bFNjcmVlbkVuYWJsZWQoZmFsc2UpOworICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRNb2Nr
VmlkZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxlZCh0cnVlKTsKKworICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGZ1bmN0aW9uIGNh
bnBsYXl0aHJvdWdoKCkKQEAgLTMwLDQxICszMCwzMyBAQAogICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidmlkZW8ud2Via2l0U3VwcG9ydHNGdWxsc2NyZWVuIiwgdHJ1ZSk7CiAgICAgICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIs
IGZhbHNlKTsKIAotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIENsaWNraW5n
IFwncGxheVwnIGJ1dHRvbi4uLiIpOwotCiAgICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAg
ICAgICAgICAgICAgY2xpY2tQbGF5QnV0dG9uKHZpZGVvKTsKKyAgICAgICAgICAgICAgICAgICAg
cnVuV2l0aEtleURvd24oInZpZGVvLnBsYXkoKSIpOwogICAgICAgICAgICAgICAgIH0gY2F0Y2gg
KGV4Y2VwdGlvbikgewogICAgICAgICAgICAgICAgICAgICBmYWlsVGVzdChleGNlcHRpb24uZGVz
Y3JpcHRpb24pOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQogCi0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkKKyAgICAg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHBsYXlpbmcoKQogICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIGlmICghd2luZG93LmludGVybmFscykgewotICAgICAgICAgICAgICAgICAgICBmYWls
VGVzdCgnVGhpcyB0ZXN0IHJlcXVpcmVzIHdpbmRvdy5pbnRlcm5hbHMuJyk7Ci0gICAgICAgICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICB2
aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCd2aWRlbycpWzBdOwotICAgICAg
ICAgICAgICAgIHdhaXRGb3JFdmVudCgiY2FucGxheXRocm91Z2giLCBjYW5wbGF5dGhyb3VnaCk7
Ci0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdwbGF5aW5nJywgcGxheWluZyk7Ci0KLSAg
ICAgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRlbmRmdWxsc2NyZWVu
JywgZW5kZnVsbHNjcmVlbiwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bGxzY3JlZW5jaGFuZ2UsIHRydWUp
OwotCi0gICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAi
Y29udGVudC90ZXN0Iik7CisgICAgICAgICAgICAgICAgYXdhaXQgdGVzdEV4cGVjdGVkRXZlbnR1
YWxseSgidmlkZW8ud2Via2l0RGlzcGxheWluZ0Z1bGxzY3JlZW4iLCB0cnVlKTsKKyAgICAgICAg
ICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBFbnRlcmVkIGZ1bGxzY3JlZW4iKTsKKyAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoJ3dlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkJywg
ZW5kZnVsbHNjcmVlbik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby53ZWJraXRFeGl0RnVs
bFNjcmVlbigpIik7CisgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBydW4oImludGVy
bmFscy5zZXR0aW5ncy5zZXRBbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrKGZhbHNlKSIpOwotICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CisgICAgICAgICAgICBhc3luYyBmdW5jdGlv
biBlbmRmdWxsc2NyZWVuKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBhd2FpdCB0
ZXN0RXhwZWN0ZWRFdmVudHVhbGx5KCJ2aWRlby53ZWJraXREaXNwbGF5aW5nRnVsbHNjcmVlbiIs
IGZhbHNlKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBFeGl0ZWQgZnVs
bHNjcmVlbiIpOworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgPC9zY3JpcHQ+CiAgICAgPC9oZWFkPgogCiAgICAgPGJvZHkgb25sb2FkPSJzdGFydCgp
Ij4KICAgICAgICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+Ci0gICAgICAgIDxwPlRlc3QgcGxh
eSgpIHdoZW4gJmx0O3ZpZGVvJmd0OyBwbGF5YmFjayByZXF1aXJlcyBmdWxsc2NyZWVuLjwvcD4K
KyAgICAgICAgPHA+VGVzdCB0aGUgcGxheSgpIGZ1bmN0aW9uIG9mICZsdDt2aWRlbyZndDsgd2hl
biBmdWxsc2NyZWVuIGlzIHJlcXVpcmVkLjwvcD4KICAgICA8L2JvZHk+CiA8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDEyNTc2NGUzMjdiNDc3
ZDVjOGU5MjlhZTc3YmQwM2U4MDJjNDAxMjMuLjUwMGU0OWUyYmI1YWJlOTBkOTEyZWEwNjEzZjFm
MTk4ZDBjNTQwZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25z
CkBAIC0yNDMwLDcgKzI0MzAsNiBAQCBtZWRpYS9tZWRpYS1mdWxsc2NyZWVuLWlubGluZS5odG1s
CiB3ZWJraXQub3JnL2IvMTM2NzA4IG1lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbm90LWluLWRvY3Vt
ZW50Lmh0bWwKIAogbWVkaWEvbWVkaWEtY29udHJvbHMtYWNjZXNzaWJpbGl0eS5odG1sIFsgVGlt
ZW91dCBdCi1tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUuaHRtbAogbWVk
aWEvbm8tYXV0b3BsYXktd2l0aC11c2VyLWdlc3R1cmUtcmVxdWlyZW1lbnQuaHRtbAogbWVkaWEv
dmlkZW8tY29udHJvbHMtZHJhZy5odG1sCiBtZWRpYS92aWRlby1jb250cm9scy1mdWxsc2NyZWVu
LXZvbHVtZS5odG1sCkBAIC0yNTY3LDcgKzI1NjYsNiBAQCB3ZWJraXQub3JnL2IvMTYyNjQ3IGh0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvb25hYm9ydC1yZXNwb25zZS1nZXR0ZXJzLmh0bWwgWyBQ
YQogd2Via2l0Lm9yZy9iLzE2MzI5MSBtZWRpYS9yZXF1aXJlLXVzZXItZ2VzdHVyZS10by1sb2Fk
LXZpZGVvLmh0bWwKIHdlYmtpdC5vcmcvYi8xNjMyOTEgbWVkaWEvdmlkZW8tY29udHJvbHMtdHJh
bnNmb3JtZWQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2MzI5MSBtZWRpYS92aWRl
by1jb250cm9scy12aXNpYmxlLWF1ZGlvLW9ubHkuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzE2MzI5MSBtZWRpYS92aWRlby1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2suaHRtbCBbIEZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2MzI5MSBtZWRpYS92aWRlby1wbGF5LWF1ZGlvLXJlcXVp
cmUtdXNlci1nZXN0dXJlLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNjMyOTEgbWVk
aWEvdmlkZW8tcGxheS1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sCiAKQEAgLTMxNTYsMTEgKzMx
NTQsNiBAQCBmYXN0L2dyYWRpZW50cy9jb25pYy10d28taGludHMuaHRtbCBbIFBhc3MgXQogIyA8
cmRhcjovL3Byb2JsZW0vMzY0NTUzMzk+IExheW91dFRlc3QgY29tcG9zaXRpbmcvaW9zL292ZXJm
bG93LXNjcm9sbC10b3VjaC10aWxlcy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQogY29tcG9zaXRp
bmcvaW9zL292ZXJmbG93LXNjcm9sbC10b3VjaC10aWxlcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
IAotIyA8cmRhcjovL3Byb2JsZW0vNDE1NDY5NzA+IFJFR1JFU1NJT046IExheW91dFRlc3QgbWVk
aWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS5odG1sIGlzIGEgZmxha3kgdGltZW91dAot
bWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGluZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
LQotd2Via2l0Lm9yZy9iLzE4NzYxOCBbIFJlbGVhc2UgXSBtZWRpYS9tZWRpYS1mdWxsc2NyZWVu
LXBhdXNlLWlubGluZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogIyBEaXNhYmxlZCBnbG9iYWxs
eS4KIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvZ3ppcC1jb250ZW50LXR5cGUtbm8tY29udGVu
dC1lbmNvZGluZy5odG1sIFsgUGFzcyBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwODA2MjRmMDQxMDRiOTdmMjdiNWMyMjcyZWIzYjc2
ZGIxOWY0MTkxLi45ODlhZTU5N2JkNDhlYzVjOTVmNGEwYTk2MjY0OGY0N2MxZTlkYzE1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC02MTYs
NyArNjE2LDYgQEAgd2Via2l0Lm9yZy9iLzE3MjgwNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9zZWxlY3RvcnMvZm9jdXMtZGlzcGxheS0KIHdlYmtpdC5vcmcvYi8xNzI4MDcg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mvc2VsZWN0b3JzL2ZvY3VzLXdpdGhp
bi1kaXNwbGF5LW5vbmUtMDAxLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2Iv
MTY4NDA5IG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9haXJwbGF5LWJ1dHRvbi9haXJwbGF5
LWJ1dHRvbi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNzUxOTUgbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nzcy93ZWJraXQtY3Vyc29yLXZpc2liaWxpdHktYXV0by1o
aWRlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2ODI2NSBtZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvZm9yd2FyZC1idXR0b24vZm9yd2FyZC1idXR0b24uaHRtbCBbIFBh
c3MgVGltZW91dCBdCiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGIxM2MzYjZlNTEzMWFhNDc1M2U3N2MzMWY0OTMyNzBmYTRmMDJhZDEu
LjBkY2FiZmZhMjFkYjIyYWFiMmNmYzRkOWQ0YjZjNTE2NzEyOWY0MjAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0MSwxMCArMzQxLDYg
QEAgd2Via2l0Lm9yZy9iLzE1MDU0MiBmYXN0L2Zvcm1zL3N0YXRlLXJlc3RvcmUtcGVyLWZvcm0u
aHRtbCBbIFBhc3MgVGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8xNTE3MDkgWyBSZWxlYXNlIF0g
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC93b3JrZXJzL21ldGhvZHMuaHRtbCBbIFBhc3MgVGlt
ZW91dCBdCiAKLSMgVmlkZW8gZnVsbHNjcmVlbiBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIG1hYyB3
azIgaW4gd2Via2l0dGVzdHJ1bm5lcgotbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlubGlu
ZS5odG1sIFsgU2tpcCBdCi1tZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5odG1s
IFsgU2tpcCBdCi0KICMjIyBFTkQgT0YgKDEpIENsYXNzaWZpZWQgZmFpbHVyZXMgd2l0aCBidWcg
cmVwb3J0cwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGI1NzllZWM3NWY5ZGNj
NDAyMDc0MmM3MDlkM2Q2MTc5N2ViODM2MjAuLjEzN2MzYWI3MjNmZTc0Nzc4NzZlYWRiMmZlNzJm
MWExMTk1ZjA0ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
CkBAIC03NTksNyArNzU5LDYgQEAgd2Via2l0Lm9yZy9iLzEzMzY4NiBtZWRpYS90cmFjay93M2Mv
aW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvYWxpZ24uaHRtbCBbIFBhc3MgRmEKIHdlYmtpdC5vcmcv
Yi8xMzUwNzEgbWVkaWEvdmlkZW8tc2Vlay13aXRoLW5lZ2F0aXZlLXBsYXliYWNrLmh0bWwgWyBQ
YXNzIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzEzNTE2MCBtZWRpYS90cmFjay90cmFjay1pbi1i
YW5kLXN1YnRpdGxlcy10b28tbGFyZ2UuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEz
NTE2MCBtZWRpYS90cmFjay90cmFjay1sb25nLXdvcmQtY29udGFpbmVyLXNpemluZy5odG1sIFsg
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTM3MzExIG1lZGlhL3ZpZGVvLWZ1bGxzY3JlZW4tb25s
eS1wbGF5YmFjay5odG1sIFsgUGFzcyBUaW1lb3V0IENyYXNoIF0KIHdlYmtpdC5vcmcvYi8xMzk3
ODkgbWVkaWEvbWVkaWEtY29udHJvbHMtdGltZWxpbmUtdXBkYXRlcy5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8xMzk4MjUgbWVkaWEvdmlkZW8tc2Vlay1wYXN0LWVuZC1wYXVz
ZWQuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTQxMDg0IGh0dHAvdGVzdHMv
bWVkaWEvdmlkZW8tcHJlbG9hZC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KQEAgLTE2NDEsOCArMTY0
MCw2IEBAIHdlYmtpdC5vcmcvYi8xODk2ODAgcGxhdGZvcm0vbWFjL21lZGlhL2F1ZGlvLXNlc3Np
b24tY2F0ZWdvcnktdmlkZW8tcGF1c2VkLmh0bWwKIHdlYmtpdC5vcmcvYi8xOTU0NjYgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50
L21lZGlhLWVsZW1lbnRzL3JlYWR5LXN0YXRlcy9hdXRvcGxheS5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xOTU0NjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2Vycm9yLWNvZGVz
L2Vycm9yLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMTkzMzk5IG1lZGlh
L21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlubGluZS5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
LQogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2Utb2std2l0aC1sZWdh
Y3ktc2VjLXdlYnNvY2tldC1yZXNwb25zZS1oZWFkZXJzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQog
CiB3ZWJraXQub3JnL2IvMTk1NDY2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaW1nLWVsZW1lbnQvc2l6ZXMvcGFyc2Ut
YS1zaXplcy1hdHRyaWJ1dGUtd2lkdGgtMTAwMHB4Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQpAQCAt
MTk0Niw4ICsxOTQzLDYgQEAgd2Via2l0Lm9yZy9iLzIwOTkwOCBzdmcvY3VzdG9tL2FuaW1hdGUt
aW5pdGlhbC1wYXVzZS11bnBhdXNlLmh0bWwgWyBQYXNzIFRpbWVvdXQKIAogd2Via2l0Lm9yZy9i
LzIxMDA0NiBbIFJlbGVhc2UgXSBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZS1jdXJzb3ItY3ljbGUu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8xODI1NzEgWyBEZWJ1ZyBdIG1l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90cmFja3Mtc3VwcG9ydC1z
aG93LXBhbmVsLWZ1bGxzY3JlZW4uaHRtbCBbIFBhc3MgVGltZW91dCBdCi0KIHdlYmtpdC5vcmcv
Yi8yMDcxNjAgY3NzMi4xLzIwMTEwMzIzL3JlcGxhY2VkLWludHJpbnNpYy1yYXRpby0wMDEuaHRt
IFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIxMDM1MSBzY3JvbGxpbmdjb29yZGlu
YXRvci9tYWMvbGF0Y2hpbmcvaG9yaXpvbnRhbC1vdmVyZmxvdy1iYWNrLXN3aXBlLmh0bWwgWyBQ
YXNzIFRpbWVvdXQgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399060</attachid>
            <date>2020-05-11 15:34:28 -0700</date>
            <delta_ts>2020-05-11 16:13:08 -0700</delta_ts>
            <desc>A follow-up patch to fix build failures</desc>
            <filename>bug-211645-20200511153427.patch</filename>
            <type>text/plain</type>
            <size>2487</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTYxNDlhMWY2YWMxNjBj
ZTE2NzA0MjMzZGI1OWJlOGM3MjQwM2FhOS4uMWExZjE2ODY1ODk0NmQ5OTRkZDUwMTQ2ZDJjOTZm
NWM3Nzk5MTFiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1LTExICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZp
ZGVvIHByZXNlbnRhdGlvbiBtb2RlIGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVz
dCBmYWlsdXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjExNjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmV2ZXJ0IHRoZSB1bm5lY2Vzc2FyeSBjaGFuZ2UgaW4gcjI2MTQ5MyB0byBmaXggdGhlIGJ1
aWxkIGZhaWx1cmVzIHdoZW4KKyAgICAgICAgdGhlIFBpY3R1cmUtaW4tUGljdHVyZSBBUEkgaXMg
ZGlzYWJsZWQuCisKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAg
ICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5oOgorCiAyMDIwLTA1LTExICBQZW5nIExpdSAgPHBl
bmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIHRoZSBtb2NrIHZpZGVvIHByZXNl
bnRhdGlvbiBtb2RlIGluIHJlbGF0ZWQgbGF5b3V0IHRlc3RzIGFuZCBmaXggdGVzdCBmYWlsdXJl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKaW5kZXggMGM5MzZjNjNm
ZDIxYmNhNzlmNTdjZGIyOWM0NzhkOTNkMTIzOWU1NS4uM2YyNzNmYzVmOGE3MzEwNDFlOGRkNGY1
MGFiNDZiNmRiNzgxYjVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlk
ZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQu
Y3BwCkBAIC01MjMsNiArNTIzLDcgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50OjpmdWxsc2NyZWVu
TW9kZUNoYW5nZWQoVmlkZW9GdWxsc2NyZWVuTW9kZSBtb2RlKQogICAgIEhUTUxNZWRpYUVsZW1l
bnQ6OmZ1bGxzY3JlZW5Nb2RlQ2hhbmdlZChtb2RlKTsKIH0KIAorI2lmIEVOQUJMRShQSUNUVVJF
X0lOX1BJQ1RVUkVfQVBJKQogdm9pZCBIVE1MVmlkZW9FbGVtZW50OjpkaWRCZWNvbWVGdWxsc2Ny
ZWVuRWxlbWVudCgpCiB7CiAgICAgbV9pc0Z1bGxzY3JlZW4gPSB0cnVlOwpAQCAtNTMwLDcgKzUz
MSw2IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6ZGlkQmVjb21lRnVsbHNjcmVlbkVsZW1lbnQo
KQogICAgIEhUTUxNZWRpYUVsZW1lbnQ6OmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCk7CiB9
CiAKLSNpZiBFTkFCTEUoUElDVFVSRV9JTl9QSUNUVVJFX0FQSSkKIHZvaWQgSFRNTFZpZGVvRWxl
bWVudDo6c2V0UGljdHVyZUluUGljdHVyZU9ic2VydmVyKFBpY3R1cmVJblBpY3R1cmVPYnNlcnZl
ciogb2JzZXJ2ZXIpCiB7CiAgICAgbV9waWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIgPSBvYnNlcnZl
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmgKaW5kZXggZjU0NDdjMDdiZDdl
YjA1NDU5ODdlYjBlY2E2Y2U0OWQ1YzRiNzRjYi4uZWQ5MjE4M2Q0N2JiYzNlYjEyMTAwMzNmOWJm
ZWM3YjI2YzA1NmViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9F
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmgKQEAg
LTg4LDkgKzg4LDkgQEAgcHVibGljOgogICAgIFZpZGVvUHJlc2VudGF0aW9uTW9kZSB3ZWJraXRQ
cmVzZW50YXRpb25Nb2RlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRGdWxsc2NyZWVuTW9kZShWaWRl
b0Z1bGxzY3JlZW5Nb2RlKTsKICAgICB2b2lkIGZ1bGxzY3JlZW5Nb2RlQ2hhbmdlZChWaWRlb0Z1
bGxzY3JlZW5Nb2RlKSBmaW5hbDsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZEJlY29tZUZ1
bGxzY3JlZW5FbGVtZW50KCkgZmluYWw7CiAKICNpZiBFTkFCTEUoUElDVFVSRV9JTl9QSUNUVVJF
X0FQSSkKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50
KCkgZmluYWw7CiAgICAgdm9pZCBzZXRQaWN0dXJlSW5QaWN0dXJlT2JzZXJ2ZXIoUGljdHVyZUlu
UGljdHVyZU9ic2VydmVyKik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQaWN0dXJlSW5Q
aWN0dXJlQVBJVGVzdEVuYWJsZWQoYm9vbCk7CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>