<?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>231945</bug_id>
          
          <creation_ts>2021-10-19 04:26:20 -0700</creation_ts>
          <short_desc>MediaPlayerAVFoundation should support rvfc</short_desc>
          <delta_ts>2021-11-21 02:19:24 -0800</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>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/31343</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>231803</dependson>
          <blocked>211945</blocked>
    
    <blocked>233186</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1805947</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-19 04:26:20 -0700</bug_when>
    <thetext>MediaPlayerAVFoundation should support rvfc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805948</commentid>
    <comment_count>1</comment_count>
      <attachid>441711</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-19 04:28:11 -0700</bug_when>
    <thetext>Created attachment 441711
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807093</commentid>
    <comment_count>2</comment_count>
      <attachid>442011</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-21 05:10:36 -0700</bug_when>
    <thetext>Created attachment 442011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807094</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-10-21 05:11:32 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807096</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-21 05:17:03 -0700</bug_when>
    <thetext>Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/31343</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807147</commentid>
    <comment_count>5</comment_count>
      <attachid>442011</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-10-21 08:11:12 -0700</bug_when>
    <thetext>Comment on attachment 442011
Patch

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

&gt; Source/WebCore/html/HTMLMediaElement.cpp:6911
&gt;      m_player = MediaPlayer::create(*this);
&gt; +    createdNewPlayer();
&gt; +
&gt;      m_player-&gt;setBufferingPolicy(m_bufferingPolicy);
&gt;      m_player-&gt;setPreferredDynamicRangeMode(m_overrideDynamicRangeMode.value_or(preferredDynamicRangeMode(document().view())));
&gt;      m_player-&gt;setMuted(effectiveMuted());

Maybe put the player creation and initialization into the base createdNewPlayer() and HTMLVideoElement can override and call it?

&gt; Source/WebCore/platform/graphics/MediaPlayer.h:289
&gt; +    virtual void onNewVideoFrameMetadata(VideoFrameMetadata&amp;&amp;) { ASSERT_NOT_REACHED(); }

This will assert when media in the GPUP is not enabled because HTMLMediaElement doesn&apos;t implement it.

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1442
&gt; +    m_videoFrameMetadataGatheringObserver = [m_avPlayer addPeriodicTimeObserverForInterval:PAL::CMTimeMake(1, 60) queue:dispatch_get_main_queue() usingBlock:[weakThis = WeakPtr { *this }](CMTime) {

Is 60fps always necessary?

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1452
&gt; +    CMTime currentTime = [m_avPlayerItem currentTime];

This is unnecessary (and potentially expensive), `addPeriodicTimeObserverForInterval` passes the current time to the callback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807179</commentid>
    <comment_count>6</comment_count>
      <attachid>442034</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-21 09:00:42 -0700</bug_when>
    <thetext>Created attachment 442034
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807355</commentid>
    <comment_count>7</comment_count>
      <attachid>442034</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-10-21 14:18:29 -0700</bug_when>
    <thetext>Comment on attachment 442034
Patch

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

&gt; Source/WebCore/html/HTMLAudioElement.h:36
&gt; +struct VideoFrameMetadata;

Why is this needed?

&gt; Source/WebCore/html/HTMLVideoElement.cpp:651
&gt; +void HTMLVideoElement::createdNewPlayer()
&gt; +{
&gt; +    if (!m_videoFrameRequests.isEmpty())
&gt; +        player()-&gt;startVideoFrameMetadataGathering();

This doesn&apos;t seem correct. Just because we have a MediaPlayer doesn&apos;t mean we have a MediaPlayerPrivate. In fact, this `createdNewPlayer()` method seems to be totally unnecessary, and this could go into `mediaPlayerEngineUpdated()`.

&gt; Source/WebCore/platform/graphics/MediaPlayer.h:289
&gt; +    virtual void onNewVideoFrameMetadata(VideoFrameMetadata&amp;&amp;) { ASSERT_NOT_REACHED(); }

MediaPlayerClient methods should be prepended with `mediaPlayer...`.

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1459
&gt; +    if (![m_videoOutput hasNewPixelBufferForItemTime:currentTime])
&gt; +        return;
&gt; +
&gt; +    VideoFrameMetadata metadata;
&gt; +    metadata.width = m_cachedPresentationSize.width();
&gt; +    metadata.height = m_cachedPresentationSize.height();
&gt; +    metadata.presentedFrames = ++m_sampleCount;

This will give incorrect answers.  If this is being called 60 times a second, it&apos;ll imply a 60fps video. -hasNewPixelBufferForItemTime: will continuously return YES for the same or similar media time until that pixelBuffer is dequeued.  So as written, this will just increment m_sampleCount every time `checkNewVideoFrameMetadata()` is called.  And if this is called less often than the native frame rate of the video, it will also miss frames.  If a client is painting at the same time as calling rvaf, this call will also miss frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808820</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-26 04:27:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/84657372&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815016</commentid>
    <comment_count>9</comment_count>
      <attachid>444237</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-15 04:12:12 -0800</bug_when>
    <thetext>Created attachment 444237
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815020</commentid>
    <comment_count>10</comment_count>
      <attachid>444238</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-15 04:29:06 -0800</bug_when>
    <thetext>Created attachment 444238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815022</commentid>
    <comment_count>11</comment_count>
      <attachid>444239</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-15 04:56:08 -0800</bug_when>
    <thetext>Created attachment 444239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815026</commentid>
    <comment_count>12</comment_count>
      <attachid>444240</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-15 05:29:37 -0800</bug_when>
    <thetext>Created attachment 444240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815034</commentid>
    <comment_count>13</comment_count>
      <attachid>444243</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-15 06:10:51 -0800</bug_when>
    <thetext>Created attachment 444243
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815047</commentid>
    <comment_count>14</comment_count>
      <attachid>444251</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-15 06:38:36 -0800</bug_when>
    <thetext>Created attachment 444251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815072</commentid>
    <comment_count>15</comment_count>
      <attachid>444258</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-15 08:27:49 -0800</bug_when>
    <thetext>Created attachment 444258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815375</commentid>
    <comment_count>16</comment_count>
      <attachid>444350</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-16 00:16:53 -0800</bug_when>
    <thetext>Created attachment 444350
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815450</commentid>
    <comment_count>17</comment_count>
      <attachid>444350</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-16 06:31:59 -0800</bug_when>
    <thetext>Comment on attachment 444350
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1474
&gt; +        [m_avPlayer removeTimeObserver:m_videoFrameMetadataGatheringObserver.get()];

I should probably call stopVideoFrameMetadataGathering() in destructor or when player is destroyed in cancelLoad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815538</commentid>
    <comment_count>18</comment_count>
      <attachid>444350</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-11-16 09:49:42 -0800</bug_when>
    <thetext>Comment on attachment 444350
Patch

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

&gt; Source/WebCore/platform/graphics/MediaPlayerPrivate.h:327
&gt; +    virtual void startVideoFrameMetadataGathering() { }
&gt; +    virtual void stopVideoFrameMetadataGathering() { }

I don&apos;t think I&apos;ll make use of these in the GStreamer player. I will likely use pad probes for the measurement, those are dynamically added when the pipeline is being built, but IIUC startVideoFrameMetadataGathering() can in theory be called after the pipeline has been built, so not very convenient for us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815541</commentid>
    <comment_count>19</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-16 10:01:01 -0800</bug_when>
    <thetext>&gt; I don&apos;t think I&apos;ll make use of these in the GStreamer player. I will likely
&gt; use pad probes for the measurement, those are dynamically added when the
&gt; pipeline is being built, but IIUC startVideoFrameMetadataGathering() can in
&gt; theory be called after the pipeline has been built, so not very convenient
&gt; for us.

requestVideoFrameCallback can be called after the pipeline is set so you might need to add probes in advance.

Also, please look at the changes in DumpRenderTree/TestController, which might affect GTK/WPE results for those tests that are feature detecting RVFC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815555</commentid>
    <comment_count>20</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-11-16 10:30:48 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #19)
&gt; &gt; I don&apos;t think I&apos;ll make use of these in the GStreamer player. I will likely
&gt; &gt; use pad probes for the measurement, those are dynamically added when the
&gt; &gt; pipeline is being built, but IIUC startVideoFrameMetadataGathering() can in
&gt; &gt; theory be called after the pipeline has been built, so not very convenient
&gt; &gt; for us.
&gt; 
&gt; requestVideoFrameCallback can be called after the pipeline is set so you
&gt; might need to add probes in advance.
&gt; 

Yeah that&apos;s what I implied, I need the probes in any case.

&gt; Also, please look at the changes in DumpRenderTree/TestController, which
&gt; might affect GTK/WPE results for those tests that are feature detecting RVFC.

Right this will likely need some gardening. Maybe you can skip the rvfc tests in glib ports for now? I started a branch for this but I&apos;ll likely rework it a bit after this patch lands. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815847</commentid>
    <comment_count>21</comment_count>
      <attachid>444489</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-17 00:09:23 -0800</bug_when>
    <thetext>Created attachment 444489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815856</commentid>
    <comment_count>22</comment_count>
      <attachid>444492</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-17 00:56:21 -0800</bug_when>
    <thetext>Created attachment 444492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815996</commentid>
    <comment_count>23</comment_count>
      <attachid>444492</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-11-17 10:20:14 -0800</bug_when>
    <thetext>Comment on attachment 444492
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:1468
&gt; +    metadata.presentationTime = MonotonicTime::now().secondsSinceEpoch().seconds();
&gt; +    metadata.expectedDisplayTime = metadata.presentationTime;

Maybe add a FIXME here as these probably aren&apos;t always equivalent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816327</commentid>
    <comment_count>24</comment_count>
      <attachid>444642</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-17 23:36:27 -0800</bug_when>
    <thetext>Created attachment 444642
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816350</commentid>
    <comment_count>25</comment_count>
      <attachid>444649</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-18 01:47:38 -0800</bug_when>
    <thetext>Created attachment 444649
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816356</commentid>
    <comment_count>26</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-18 02:06:08 -0800</bug_when>
    <thetext>Found 1 new test failure: imported/w3c/web-platform-tests/video-rvfc/request-video-frame-callback-repeating.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816366</commentid>
    <comment_count>27</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-18 02:34:29 -0800</bug_when>
    <thetext>Committed r285993 (244390@main): &lt;https://commits.webkit.org/244390@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444649.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816456</commentid>
    <comment_count>28</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-18 08:43:22 -0800</bug_when>
    <thetext>I think you may need to `python Source/WebKit/Scripts/webkit/messages_unittest.py --reset-results`:
```
diff --git a/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp b/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp
index 630a865b13a6..52e3c7638390 100644
--- a/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp
+++ b/Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp
@@ -127,6 +127,9 @@
 #endif
 #include &quot;TestWithCVPixelBufferMessages.h&quot;
 #if USE(AVFOUNDATION)
+#include &lt;WebCore/CVUtilities.h&gt;
+#endif
+#if USE(AVFOUNDATION)
 #include &lt;wtf/RetainPtr.h&gt;
 #endif
 
diff --git a/Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessageReceiver.cpp b/Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessageReceiver.cpp
index ee7defb81297..56496ddba5ea 100644
--- a/Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessageReceiver.cpp
+++ b/Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessageReceiver.cpp
@@ -32,6 +32,9 @@
 #include &quot;HandleMessage.h&quot;
 #include &quot;TestWithCVPixelBufferMessages.h&quot;
 #if USE(AVFOUNDATION)
+#include &lt;WebCore/CVUtilities.h&gt;
+#endif
+#if USE(AVFOUNDATION)
 #include &lt;wtf/RetainPtr.h&gt;
 #endif
 
diff --git a/Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h b/Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h
index 1675bea59439..326500eb0a0e 100644
--- a/Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h
+++ b/Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h
@@ -28,6 +28,9 @@
 #include &quot;Connection.h&quot;
 #include &quot;MessageNames.h&quot;
 #include &quot;TestWithCVPixelBufferMessagesReplies.h&quot;
+#if PLATFORM(COCOA)
+#include &lt;WebCore/CVUtilities.h&gt;
+#endif
 #include &lt;wtf/Forward.h&gt;
 #include &lt;wtf/RetainPtr.h&gt;
 #include &lt;wtf/ThreadSafeRefCounted.h&gt;
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816460</commentid>
    <comment_count>29</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-18 08:51:03 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816461</commentid>
    <comment_count>30</comment_count>
      <attachid>444684</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-18 08:51:07 -0800</bug_when>
    <thetext>Created attachment 444684
Fixing generator tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816465</commentid>
    <comment_count>31</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-18 08:54:00 -0800</bug_when>
    <thetext>ChangeLog entry in Source/WebKit/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816484</commentid>
    <comment_count>32</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-18 09:21:31 -0800</bug_when>
    <thetext>Committed r286005 (244402@main): &lt;https://commits.webkit.org/244402@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444684.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817178</commentid>
    <comment_count>33</comment_count>
      <attachid>444649</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-11-21 02:19:24 -0800</bug_when>
    <thetext>Comment on attachment 444649
Patch for landing

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

&gt; Source/WebCore/platform/graphics/MediaPlayer.h:291
&gt; +#if PLATFORM(COCOA)
&gt; +    virtual void mediaPlayerOnNewVideoFrameMetadata(VideoFrameMetadata&amp;&amp;, RetainPtr&lt;CVPixelBufferRef&gt;&amp;&amp;) { }
&gt; +#endif

Would it be possible to use a MediaSample here?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441711</attachid>
            <date>2021-10-19 04:28:11 -0700</date>
            <delta_ts>2021-10-21 05:10:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211019132809.patch</filename>
            <type>text/plain</type>
            <size>16534</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAppbmRleCBiMWJiYmYzOGIxNmFlZGZmNjlhOGU3YTU0Nzk3M2RjZTc0MDYwNjNk
Li40ZjA2ZTRkYTlhYTQxMTU1ODYxMTI0NzYzOTkxMzhhNzI3ZDA1MWFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTY5MDUsNiArNjkwNSw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIoKSBXVEZfSUdOT1JFU19USFJFQURf
U0FGRVRZX0FOQUxZU0lTCiAKICAgICBtX3BsYXllciA9IE1lZGlhUGxheWVyOjpjcmVhdGUoKnRo
aXMpOwogICAgIGNyZWF0ZWROZXdQbGF5ZXIoKTsKKwogICAgIG1fcGxheWVyLT5zZXRCdWZmZXJp
bmdQb2xpY3kobV9idWZmZXJpbmdQb2xpY3kpOwogICAgIG1fcGxheWVyLT5zZXRQcmVmZXJyZWRE
eW5hbWljUmFuZ2VNb2RlKG1fb3ZlcnJpZGVEeW5hbWljUmFuZ2VNb2RlLnZhbHVlX29yKHByZWZl
cnJlZER5bmFtaWNSYW5nZU1vZGUoZG9jdW1lbnQoKS52aWV3KCkpKSk7CiAgICAgbV9wbGF5ZXIt
PnNldE11dGVkKGVmZmVjdGl2ZU11dGVkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5jcHAKaW5kZXggZGEyYzgxZjE4NmRmOTQ3MGM1MGZiNmEzODBlMjc4MGY3N2EwYWZh
Yi4uNjkwY2E3NjI3ZWQ4NmI2Yzk3YzFlYThmN2U3NWE2ZGQyNjJmYzA4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC02MjcsMTQgKzYyNywxMyBAQCB2b2lk
IEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VSZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1
Y2VkUmVzb2x1dGlvblNlY29uZAogICAgIG1faXNSdW5uaW5nVmlkZW9GcmFtZVJlcXVlc3RzID0g
dHJ1ZTsKICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgY2FsbGJhY2tDb3VudDsg
KytpbmRleCkgewogICAgICAgICBhdXRvJiByZXF1ZXN0ID0gbV92aWRlb0ZyYW1lUmVxdWVzdHNb
aW5kZXhdOwotICAgICAgICBpZiAoIXJlcXVlc3QtPmNhbmNlbGxlZCkKLSAgICAgICAgICAgIG1f
dmlkZW9GcmFtZVJlcXVlc3RzW2luZGV4XS0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KG5vdy52YWx1
ZSgpLCAqdmlkZW9GcmFtZU1ldGFkYXRhKTsKKyAgICAgICAgaWYgKCFyZXF1ZXN0LT5jYW5jZWxs
ZWQpIHsKKyAgICAgICAgICAgIHJlcXVlc3QtPmNhbGxiYWNrLT5oYW5kbGVFdmVudChub3cubWls
bGlzZWNvbmRzKCksICp2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAgICAgICAgICAgcmVxdWVzdC0+
Y2FuY2VsbGVkID0gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KICAgICBtX2lzUnVubmluZ1ZpZGVv
RnJhbWVSZXF1ZXN0cyA9IGZhbHNlOwogCi0gICAgaWYgKCFtX3Nob3VsZENsZWFuVmlkZW9GcmFt
ZVJlcXVlc3RzKQotICAgICAgICByZXR1cm47Ci0KICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5y
ZW1vdmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2FsbGJhY2stPmNh
bmNlbGxlZDsgfSk7CiAgICAgaWYgKG1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1wdHkoKSAmJiBw
bGF5ZXIoKSkKICAgICAgICAgcGxheWVyKCktPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJp
bmcoKTsKQEAgLTY0Miw2ICs2NDEsOCBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZAogCiB2b2lk
IEhUTUxWaWRlb0VsZW1lbnQ6OmNyZWF0ZWROZXdQbGF5ZXIoKQogeworICAgIGZwcmludGYoc3Rk
ZXJyLCAiSFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlZE5ld1BsYXllclxuIik7CisKICAgICBpZiAo
IW1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1wdHkoKSkKICAgICAgICAgcGxheWVyKCktPnN0YXJ0
VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMzQxNDdhYzM3NmQ0NTAyMTdm
NTlhZjQxMjgzMWFlMjY5MjYyZGE3My4uNTQ4NTgyZDU0MTI5NTI4NTgwNmEyZTEzYTIzNmIwNGQy
YmE2YWQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcApAQCAtNTg5LDYgKzU4OSw4IEBAIHZvaWQgTWVkaWFQbGF5ZXI6OmxvYWRXaXRo
TmV4dE1lZGlhRW5naW5lKGNvbnN0IE1lZGlhUGxheWVyRmFjdG9yeSogY3VycmVudCkKICAgICAg
ICAgICAgICAgICBtX3ByaXZhdGUtPnNldFBhZ2VJc1Zpc2libGUobV9wYWdlSXNWaXNpYmxlKTsK
ICAgICAgICAgICAgIGlmIChtX3Zpc2libGVJblZpZXdwb3J0KQogICAgICAgICAgICAgICAgIG1f
cHJpdmF0ZS0+c2V0VmlzaWJsZUluVmlld3BvcnQobV92aXNpYmxlSW5WaWV3cG9ydCk7CisgICAg
ICAgICAgICBpZiAobV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgICAg
ICAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiAgICAg
ICAgICAgICBtX3ByaXZhdGUtPnByZXBhcmVGb3JQbGF5YmFjayhtX3ByaXZhdGVCcm93c2luZywg
bV9wcmVsb2FkLCBtX3ByZXNlcnZlc1BpdGNoLCBtX3Nob3VsZFByZXBhcmVUb1JlbmRlcik7CiAg
ICAgICAgIH0KICAgICB9CkBAIC0xNzE3LDExICsxNzE5LDEzIEBAIHN0ZDo6b3B0aW9uYWw8Vmlk
ZW9GcmFtZU1ldGFkYXRhPiBNZWRpYVBsYXllcjo6dmlkZW9GcmFtZU1ldGFkYXRhKCkKIAogdm9p
ZCBNZWRpYVBsYXllcjo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQogeworICAg
IG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSB0cnVlOwogICAgIG1fcHJpdmF0ZS0+
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIH0KIAogdm9pZCBNZWRpYVBsYXll
cjo6c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCiB7CisgICAgbV9pc0dhdGhlcmlu
Z1ZpZGVvRnJhbWVNZXRhZGF0YSA9IGZhbHNlOwogICAgIG1fcHJpdmF0ZS0+c3RvcFZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBlZjMzMTZmZmEzMmY2ZDdkYjE2OTU0YzA0MDIy
NWI5ODMxNmFlYWExLi4xMTIxYTUxYjU0MmU0MWUzOWY2OTZjZjhmM2FhN2VmYTNlMDkzMGRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAg
LTczMCw2ICs3MzAsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIGJvb2wgbV9zaG91bGRDb250aW51
ZUFmdGVyS2V5TmVlZGVkIHsgZmFsc2UgfTsKICNlbmRpZgorICAgIGJvb2wgbV9pc0dhdGhlcmlu
Z1ZpZGVvRnJhbWVNZXRhZGF0YSB7IGZhbHNlIH07CiB9OwogCiBjbGFzcyBNZWRpYVBsYXllckZh
Y3RvcnkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDRlNDM3YTJiNGQxNDI3YjcwNjY5MmJj
MTk0YTc4ZmU2ZWM5YWJhZGEuLjMzODAwZjA1NzRiZTliOWZmNDE4M2E1ZmVhZjhjOTY1OTVlMmEy
NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTM0MCw5ICszNDAsOSBAQCBwcml2YXRlOgog
ICAgIGJvb2wgcGxheUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYpIGZpbmFsOwogICAg
IGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmKSBmaW5hbDsKIAotICAg
IHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKLSAgICB2b2lkIHN0b3BW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKLQorICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIGNoZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRh
KCk7CiAKICAgICBSZXRhaW5QdHI8QVZVUkxBc3NldD4gbV9hdkFzc2V0OwogICAgIFJldGFpblB0
cjxBVlBsYXllcj4gbV9hdlBsYXllcjsKQEAgLTQ1Miw2ICs0NTIsOSBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV9ydW5uaW5nTW9kYWxQYWludCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhdmVQcm9j
ZXNzZWRDaGFwdGVyVHJhY2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1fd2FpdEZvclZpZGVvT3V0
cHV0TWVkaWFEYXRhV2lsbENoYW5nZVRpbWVkT3V0IHsgZmFsc2UgfTsKKyAgICB1aW50NjRfdCBt
X3NhbXBsZUNvdW50IHsgMCB9OworICAgIFJldGFpblB0cjxpZD4gbV92aWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmdPYnNlcnZlcjsKKyAgICBib29sIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0
YWRhdGEgeyBmYWxzZSB9OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggNzdi
MjM3M2IwMmRkODJlMWJmZGM2YjQ0ODAxZmJiZGY5YmU2YWFkYi4uYjdjNDU3OGJjMzNjY2VkOGU1
Mjc3NGNlZDYyYTAxYzAyMzYyNWI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC0xMTA1
LDYgKzExMDUsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNy
ZWF0ZUFWUGxheWVyKCkKICAgICAgICAgfSk7CiAgICAgfV07CiAKKyAgICBpZiAobV9pc0dhdGhl
cmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKTsKICAgICBzZXREZWxheUNhbGxiYWNrcyhmYWxzZSk7CiB9CiAKQEAgLTE0MzIs
MTMgKzE0MzQsNDAgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpw
bGF0Zm9ybVBhdXNlZCgpIGNvbnN0CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQogewotICAgIC8vIEZJ
WE1FOiBVc2UgYSBDQURpc3BsYXlMaW5rIHRvIGdldCB1cGRhdGVzIG9uIHJlbmRlcmluZwotICAg
IC8vIENoZWNrIFttX3ZpZGVvT3V0cHV0IGhhc05ld1BpeGVsQnVmZmVyRm9ySXRlbVRpbWU6Y3Vy
cmVudFRpbWVdIGFuZCBpZiBZRVMsIGNhbGwgcGxheWVyKCkub25OZXdWaWRlb0ZyYW1lTWV0YWRh
dGEoKQorICAgIEFTU0VSVCghbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciB8
fCBtX2F2UGxheWVyKTsKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1
ZTsKKworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIGEgQ0FEaXNwbGF5TGluayB0byBnZXQg
dXBkYXRlcyBvbiByZW5kZXJpbmcsIGZvciBub3cgd2UgZW11bGF0ZSB3aXRoIGFkZFBlcmlvZGlj
VGltZU9ic2VydmVyRm9ySW50ZXJ2YWwuCisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJp
bmdPYnNlcnZlciA9IFttX2F2UGxheWVyIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2
YWw6UEFMOjpDTVRpbWVNYWtlKDEsIDYwKSBxdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgp
IHVzaW5nQmxvY2s6W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dKENNVGltZSkgeworICAg
ICAgICBlbnN1cmVPbk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CisgICAgICAgICAgICBpZiAod2Vh
a1RoaXMpCisgICAgICAgICAgICAgICAgd2Vha1RoaXMtPmNoZWNrTmV3VmlkZW9GcmFtZU1ldGFk
YXRhKCk7CisgICAgICAgIH0pOworICAgIH1dOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OmNoZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCkKK3sKKyAgICBD
TVRpbWUgY3VycmVudFRpbWUgPSBbbV9hdlBsYXllckl0ZW0gY3VycmVudFRpbWVdOworICAgIGlm
ICghW21fdmlkZW9PdXRwdXQgaGFzTmV3UGl4ZWxCdWZmZXJGb3JJdGVtVGltZTpjdXJyZW50VGlt
ZV0pCisgICAgICAgIHJldHVybjsKKworICAgIFZpZGVvRnJhbWVNZXRhZGF0YSBtZXRhZGF0YTsK
KyAgICBtZXRhZGF0YS53aWR0aCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS53aWR0aCgpOwor
ICAgIG1ldGFkYXRhLmhlaWdodCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS5oZWlnaHQoKTsK
KyAgICBtZXRhZGF0YS5wcmVzZW50ZWRGcmFtZXMgPSArK21fc2FtcGxlQ291bnQ7CisKKyAgICBw
bGF5ZXIoKS0+b25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEoV1RGTW92ZShtZXRhZGF0YSkpOwogfQog
CiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnN0b3BWaWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmcoKQogewotICAgIC8vIEZJWE1FOiB0ZWFyIGRvd24gQ0FEaXNwbGF5
TGluaworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKworICAg
IEFTU0VSVChtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyKTsKKyAgICBpZiAo
bV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcikKKyAgICAgICAgW21fYXZQbGF5
ZXIgcmVtb3ZlVGltZU9ic2VydmVyOm1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2
ZXIuZ2V0KCldOworICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIgPSBu
aWw7CiB9CiAKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpw
bGF0Zm9ybUR1cmF0aW9uKCkgY29uc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNh
bGxiYWNrLWRvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20t
ZXhwZWN0ZWQudHh0CmluZGV4IDY2MzlkNGYyODg1ZTFmOTc2NDhkNTA1NDc3MGVhZmViNDMyZGM1
MGQuLjdlNWM0ODYyMDQ1MzQ3OTQzOTQxYmNjYzVkNGJlZTc2NjIxYTYyMWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKIAot
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCBh
IHZpZGVvIG91dHNpZGUgb2YgdGhlIERPTSBjYW4gc3RpbGwgdXNlIHZpZGVvLnJWRkMuIFRlc3Qg
dGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJkaXNwbGF5Om5v
bmUiLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAi
dmlzaWJpbGl0eTpoaWRkZW4iLiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IGEgdmlkZW8gb3V0
c2lkZSBvZiB0aGUgRE9NIGNhbiBzdGlsbCB1c2UgdmlkZW8uclZGQy4KK1BBU1MgVGVzdCB2aWRl
by5yVkZDIHdvcmtzIHdpdGggImRpc3BsYXk6bm9uZSIuCitQQVNTIFRlc3QgdmlkZW8uclZGQyB3
b3JrcyB3aXRoICJ2aXNpYmlsaXR5OmhpZGRlbiIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dAppbmRleCBjYTdjYjNlOTRjZGZiMjUyNThiOWQ5OWI0ZjRkNDdlZGEwZTc3
MjE2Li5jZDc5NjEyMDU1MTcxNjhiNTQzYmY1OWJiZTBmYWUyNjlmZTBiZDE3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDggQEAKIAogCi1IYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBUZXN0IHdlIGNh
biByZWdpc3RlciBhIHZpZGVvLnJWRkMgY2FsbGJhY2suIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VU
IFRlc3QgdmlkZW8uclZGQyBjYWxsYmFja3MgcnVuIGJlZm9yZSB3aW5kb3cuckFGIGNhbGxiYWNr
cy4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB3ZSBjYW4gY2FuY2VsIGEgdmlkZW8uclZG
QyByZXF1ZXN0LiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IHdlIGNhbiByZWdpc3RlciBhIHZp
ZGVvLnJWRkMgY2FsbGJhY2suCitQQVNTIFRlc3QgdmlkZW8uclZGQyBjYWxsYmFja3MgcnVuIGJl
Zm9yZSB3aW5kb3cuckFGIGNhbGxiYWNrcy4KK1BBU1MgVGVzdCB3ZSBjYW4gY2FuY2VsIGEgdmlk
ZW8uclZGQyByZXF1ZXN0LgogUEFTUyBUZXN0IGludmFsaWQgY2FsbHMgdG8gdGhlIHZpZGVvLnJW
RkMgQVBJLgotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMgZG9lcyBub3Qgc3RvcCB3aGVuIHN3aXRj
aGluZyBzb3VyY2VzLiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IHZpZGVvLnJWRkMgZG9lcyBu
b3Qgc3RvcCB3aGVuIHN3aXRjaGluZyBzb3VyY2VzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQKaW5kZXggNmZlNjg0YWU4ZTY2ZGFiOGNj
ZTY4ZDIyNzUzNTk1YTg0NDhjNmI5MC4uMzJiOTlhZWQ1NDU3ZGZhMWJmMmE5MTYzMzFkMjZmMWVk
OWQ5YjVkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4
cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKIAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwg
bWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBUZXN0IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5m
b3JtYXRpb24uIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3Qgd2UgY2FuIGNhbmNlbCBjYWxs
YmFja3MgZnJvbSBjYWxsYmFja3MuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgY2FsbGJhY2tz
IGdldCB0aGUgc2FtZSBpbmZvcm1hdGlvbi4KK1BBU1MgVGVzdCB3ZSBjYW4gY2FuY2VsIGNhbGxi
YWNrcyBmcm9tIGNhbGxiYWNrcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LXJlcGVhdGluZy1leHBlY3RlZC50eHQKaW5kZXggYjRhNWJlM2RkMjUxMmI4NWMzODU1NWI4ZjNj
ZTcwMzY3OGVkNGRmZC4uMjBmY2ZiYmRkNmI2Mzc2MGUyOTRhMmYwZDllN2VlYWMxZWMxYTMxMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92
aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQu
dHh0CkBAIC0xLDcgKzEsNSBAQAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAotCi1USU1FT1VUIFRlc3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24g
dGhlIG5leHQgZnJhbWUuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgY2hhaW5pbmcgY2Fs
bHMgdG8gdmlkZW8uclZGQywgYW5kIHZlcmlmeSB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy4gVGVz
dCB0aW1lZCBvdXQKK0ZBSUwgVGVzdCBuZXcgY2FsbGJhY2tzIGFyZSBvbmx5IGNhbGxlZCBvbiB0
aGUgbmV4dCBmcmFtZS4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogQ2FsbGJhY2tzIHNob3VsZCBiZSBl
eGVjdXRlZCBvbiB0aGUgbmV4dCBmcmFtZSBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4g
NTk1IGJ1dCBnb3QgNTk1CitGQUlMIFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywg
YW5kIHZlcmlmeSB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjog
cHJlc2VudGF0aW9uVGltZSBzaG91bGQgYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGV4cGVj
dGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAidW5kZWZpbmVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12
aWRlby1mcmFtZS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRt
bAppbmRleCBhNDQwNDE0M2ZhNDA4ZWJiYjhmNDljYzMxODBlMDY1ZDIwMGZmYTRhLi5kZDMxMzM0
M2ZiYzBlYzk4MzE0MGIzYTM3MDg5OGJjY2UwZTliMjU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0
bWwKQEAgLTEwNiw3ICsxMDYsNyBAQCB0ZXN0KGZ1bmN0aW9uKHQpIHsKIHByb21pc2VfdGVzdChh
c3luYyBmdW5jdGlvbih0KSB7CiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgndmlkZW8nKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKLQordmlk
ZW8uY29udHJvbHM9dHJ1ZTsKICAgICBsZXQgZmlyc3Rfd2lkdGggPSAwOwogICAgIGxldCBmaXJz
dF9oZWlnaHQgPSAwOwogCkBAIC0xMjQsNyArMTI0LDcgQEAgcHJvbWlzZV90ZXN0KGFzeW5jIGZ1
bmN0aW9uKHQpIHsKICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgfSk7CiAKLSAgICAgIGxldCBv
bkFsdFZpZGVvRmlyc3RGcmFtZSA9IHQuc3RlcF9mdW5jKChub3csIG1ldGFkYXRhKSA9PiB7Cisg
ICAgICBsZXQgb25BbHRWaWRlb0ZpcnN0RnJhbWUgPSB0LnN0ZXBfZnVuYyhhc3luYyAobm93LCBt
ZXRhZGF0YSkgPT4gewogICAgICAgICAvLyBUaGUgdmlkZW9zIGhhdmUgZGlmZmVyZW50IHNpemVz
LCBhbmQgc2hvdWxkbid0IG1hdGNoLgogICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhmaXJzdF93
aWR0aCwgbWV0YWRhdGEud2lkdGgpOwogICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhmaXJzdF9o
ZWlnaHQsIG1ldGFkYXRhLmhlaWdodCk7CkBAIC0xMzIsMTUgKzEzMiwxNyBAQCBwcm9taXNlX3Rl
c3QoYXN5bmMgZnVuY3Rpb24odCkgewogICAgICAgICAvLyBTd2l0aCBiYWNrIHRvIHRoZSBvcmln
aW5hbCB2aWRlby4KICAgICAgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhvblJl
dHVyblRvT3JpZ2luYWxWaWRlbyk7CiAgICAgICAgIHZpZGVvLnNyYyA9IHRlc3RWaWRlby51cmw7
CisgICAgICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsKICAgICAgIH0pOwogCi0gICAgICBsZXQgb25G
aXJzdEZyYW1lID0gdC5zdGVwX2Z1bmMoKG5vdywgbWV0YWRhdGEpID0+IHsKKyAgICAgIGxldCBv
bkZpcnN0RnJhbWUgPSB0LnN0ZXBfZnVuYyhhc3luYyAobm93LCBtZXRhZGF0YSkgPT4gewogICAg
ICAgICBmaXJzdF93aWR0aCA9IG1ldGFkYXRhLndpZHRoOwogICAgICAgICBmaXJzdF9oZWlnaHQg
PSBtZXRhZGF0YS5oZWlnaHQ7CiAKICAgICAgICAgLy8gQ2FsbGJhY2tzIHNob3VsZCBwZXJzaXN0
IGFmdGVyIGNoYW5naW5nIHRoZSBzb3VyY2UgdG8gdGhlIGFsdCB2aWRlby4KICAgICAgICAgdmlk
ZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhvbkFsdFZpZGVvRmlyc3RGcmFtZSk7CiAgICAg
ICAgIHZpZGVvLnNyYyA9IGFsdFRlc3RWaWRlby51cmw7CisgICAgICAgIGF3YWl0IHZpZGVvLnBs
YXkoKTsKICAgICAgIH0pCiAKICAgICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2so
b25GaXJzdEZyYW1lKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBlMTA2OWVkZWNmOTdlMmVkNzc2Yjg3N2Q0Njg2MzU1MDk2MTdjZmVkLi42
MjU3MWMzNjY4ZWI1NThhOTAyNzhhNjM2ODVkNzY4NzgyZWRkZmRlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzksMTMgKzEzOSw4IEBA
IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbmFtZS1jbG9ha2luZy10b3Atbm8t
Y25hbWUtc3ViLTNwLWNuYW1lLmh0bWwKIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbmFtZS1jbG9ha2luZy10b3Atbm8tY25hbWUtc3ViLW5vLWNuYW1lLmh0bWwgWyBQYXNzIF0K
IAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsgUGFzcyBdCi0j
IFRpbWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIHJlZ3VsYXIgdmlkZW8gc3RyZWFtaW5nIGJh
Y2tlbmQgc3VwcG9ydC4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZm
Yy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14ci1zZXNzaW9uLmh0dHBzLmh0
bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1kdXJpbmcteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1wYXJhbGxlbC5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBbIFNraXAgXQogCiAjLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBwbGF0Zm9ybS1zcGVjaWZpYyBkaXJlY3Rvcmllcy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1
ZTM1ZTgxYTU2MjNjYWRlOWMwMmU5YTMxMjYwNDZkNWQwN2UwOTU2Li42MGJkNGVlMTlmMWNhYzIz
NmJmZDc2ZWNlOWQxNWEwMGYzM2U2YzU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMTgsMTMgKzExOCw4IEBAIGZhc3QvZm9ybXMvZmls
ZS9lbnRyaWVzLWFwaS9pbWFnZS1uby10cmFuc2NvZGUtb3Blbi1wYW5lbC5odG1sIFsgUGFzcyBd
CiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS10cmFuc2FjdGlvbi1jeWNsZS5odG1sIFsgUGFz
cyBdCiAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYyBbIFBhc3Mg
XQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVhbWlu
ZyBiYWNrZW5kIHN1cHBvcnQuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZvcmUteHItc2Vzc2lvbi5odHRw
cy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2
ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbCBbIFNraXAgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0
bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KIAogIy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3Jp
ZXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442011</attachid>
            <date>2021-10-21 05:10:36 -0700</date>
            <delta_ts>2021-10-21 09:00:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211021141033.patch</filename>
            <type>text/plain</type>
            <size>34587</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZhZmIwY2JiZjViNjYz
OTBlM2YxZDIwMzQ1ZjUyYmY0NzM3YTExMi4uNzg3N2NlMDk1NjU0ZDNkMTE0M2MxZTcwMzdlNWIy
ZDIzMjlmZTVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTEwLTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRvIHN0YXJ0L3N0b3AgZ2F0aGVyaW5nIG1ldGFk
YXRhLgorICAgICAgICBUaGlzIGdvZXMgZnJvbSB2aWRlbyBlbGVtZW50IGRvd24gdG8gbWVkaWEg
cGxheWVyIHByaXZhdGUuCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGluIE1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMgYnkgYWRkaW5nIGEgc3BlY2lmaWMgdGltZWxpbmUgb2Jz
ZXJ2ZXIuCisKKyAgICAgICAgQ292ZXJlZCBieSBlbmFibGVkIHRlc3RzLgorCisgICAgICAgICog
aHRtbC9IVE1MQXVkaW9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5o
OgorICAgICAgICAqIHBsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tOgorCiAyMDIxLTEwLTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBBdWRpbyBvdmVyIHBlZXIgY29ubmVjdGlvbiBiZWNvbWVzIGxhdGVu
dCB3aGVuIGNoYW5naW5nIHRoZSBvdXRwdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYmQ5MjA5OTg2YWQ3ZjM5NWRm
NmJiZWMyZjJkMDY0M2YyN2Q5NTU3Ni4uYTJjYWIwOWQ4ZGViOGYxZWI5ZGVhYzcxNjZlZTFkYmM3
N2FkZmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMC0yMSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRp
b24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIElQQyBtZXNzYWdpbmcgdG8gc3RhcnQvc3RvcCBtZXRhZGF0YSBn
YXRoZXJpbmcgZnJvbSBXZWJQcm9jZXNzIHRvIEdQVVByb2Nlc3MuCisgICAgICAgIEFkZCBJUEMg
bWVzc2FnaW5nIHRvIHB1c2ggbWV0YWRhdGEgdG8gV2ViUHJvY2Vzcy4KKworICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lmg6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHA6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1l
c3NhZ2VzLmluOgorCiAyMDIxLTEwLTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBBdWRpbyBvdmVyIHBlZXIgY29ubmVjdGlvbiBiZWNvbWVzIGxhdGVudCB3
aGVuIGNoYW5naW5nIHRoZSBvdXRwdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF1ZGlvRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50
LmgKaW5kZXggZWQ4N2RlNjU3NjZjZDEwNTFmZGI2MThiYWU3ZTkzN2U0YzAxNzc1Ny4uYmE4MWNl
MmQ5ZTdjN2E2ZDJjNWZiODNmOTI1MjkxYTk0NzU2OWUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQXVkaW9FbGVtZW50LmgKQEAgLTMzLDYgKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRG9jdW1lbnQ7CitzdHJ1Y3QgVmlkZW9GcmFtZU1ldGFkYXRhOwogCiBjbGFzcyBI
VE1MQXVkaW9FbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxNZWRpYUVsZW1lbnQgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoSFRNTEF1ZGlvRWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0ZTllMTI2NTAzNDllNTNjYWI3OWJkOTgwOGQ2
YWRjMGFiM2RhMTJkLi40ZjA2ZTRkYTlhYTQxMTU1ODYxMTI0NzYzOTkxMzhhNzI3ZDA1MWFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTY5MDQsNiArNjkw
NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIoKSBXVEZfSUdO
T1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiAjZW5kaWYKIAogICAgIG1fcGxheWVyID0gTWVk
aWFQbGF5ZXI6OmNyZWF0ZSgqdGhpcyk7CisgICAgY3JlYXRlZE5ld1BsYXllcigpOworCiAgICAg
bV9wbGF5ZXItPnNldEJ1ZmZlcmluZ1BvbGljeShtX2J1ZmZlcmluZ1BvbGljeSk7CiAgICAgbV9w
bGF5ZXItPnNldFByZWZlcnJlZER5bmFtaWNSYW5nZU1vZGUobV9vdmVycmlkZUR5bmFtaWNSYW5n
ZU1vZGUudmFsdWVfb3IocHJlZmVycmVkRHluYW1pY1JhbmdlTW9kZShkb2N1bWVudCgpLnZpZXco
KSkpKTsKICAgICBtX3BsYXllci0+c2V0TXV0ZWQoZWZmZWN0aXZlTXV0ZWQoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDFjMWIyZGMxNWFhMGI2OTMyMTc4YTI5
MzBjYThmMmI4OTQwZjUzNDQuLjMzOGQ0MDA4YjdiNjkxZDQ4NTdiYzFkYWQ0NmUwYjU1YzA4MmUx
MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC05NjMsNiArOTYz
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXlQbGF5ZXIoKTsKICAgICB2b2lkIHBhdXNlUGxh
eWVyKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlZE5ld1BsYXllcigpIHsgfQorCiAjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgY29uc3Qgdm9pZCogbWVkaWFQbGF5ZXJMb2dJZGVu
dGlmaWVyKCkgZmluYWwgeyByZXR1cm4gbG9nSWRlbnRpZmllcigpOyB9CiAgICAgY29uc3QgTG9n
Z2VyJiBtZWRpYVBsYXllckxvZ2dlcigpIGZpbmFsIHsgcmV0dXJuIGxvZ2dlcigpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCBiYjA1ZTI3NjFmODJkYzlk
ZTMxMWQ0Y2JhMjM0Nzk1MTY5MDljMzI5Li5jNjI4MzUwZDQxOTQyYjY1NDJhMzBkMDMyMTk1Njdm
MDBjYmNkODdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKQEAg
LTU4OCw2ICs1ODgsOSBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmV4aXRUb0Z1bGxzY3JlZW5N
b2RlV2l0aG91dEFuaW1hdGlvbklmUG9zc2libGUoSFRNTE1lZGlhRQogCiB1bnNpZ25lZCBIVE1M
VmlkZW9FbGVtZW50OjpyZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKFJlZjxWaWRlb0ZyYW1lUmVx
dWVzdENhbGxiYWNrPiYmIGNhbGxiYWNrKQogeworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1ZXN0
cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZygpOworCiAgICAgYXV0byBpZGVudGlmaWVyID0gKyttX25leHRW
aWRlb0ZyYW1lUmVxdWVzdEluZGV4OwogICAgIG1fdmlkZW9GcmFtZVJlcXVlc3RzLmFwcGVuZCht
YWtlVW5pcXVlUmVmPFZpZGVvRnJhbWVSZXF1ZXN0PihpZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxi
YWNrKSkpOwogCkBAIC02MDcsNiArNjEwLDkgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50OjpjYW5j
ZWxWaWRlb0ZyYW1lQ2FsbGJhY2sodW5zaWduZWQgaWRlbnRpZmllcikKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1vdmUoaW5kZXgpOworCisgICAg
aWYgKG1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1wdHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAg
cGxheWVyKCktPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIH0KIAogdm9pZCBI
VE1MVmlkZW9FbGVtZW50OjpzZXJ2aWNlUmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFja3MoUmVkdWNl
ZFJlc29sdXRpb25TZWNvbmRzIG5vdykKQEAgLTYyNywxMyArNjMzLDIyIEBAIHZvaWQgSFRNTFZp
ZGVvRWxlbWVudDo6c2VydmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNv
bHV0aW9uU2Vjb25kCiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNhbGxiYWNr
Q291bnQ7ICsraW5kZXgpIHsKICAgICAgICAgYXV0byYgcmVxdWVzdCA9IG1fdmlkZW9GcmFtZVJl
cXVlc3RzW2luZGV4XTsKICAgICAgICAgaWYgKCFyZXF1ZXN0LT5jYW5jZWxsZWQpIHsKLSAgICAg
ICAgICAgIHJlcXVlc3QtPmNhbGxiYWNrLT5oYW5kbGVFdmVudChub3cudmFsdWUoKSwgKnZpZGVv
RnJhbWVNZXRhZGF0YSk7CisgICAgICAgICAgICByZXF1ZXN0LT5jYWxsYmFjay0+aGFuZGxlRXZl
bnQobm93Lm1pbGxpc2Vjb25kcygpLCAqdmlkZW9GcmFtZU1ldGFkYXRhKTsKICAgICAgICAgICAg
IHJlcXVlc3QtPmNhbmNlbGxlZCA9IHRydWU7CiAgICAgICAgIH0KICAgICB9CiAgICAgbV9pc1J1
bm5pbmdWaWRlb0ZyYW1lUmVxdWVzdHMgPSBmYWxzZTsKIAogICAgIG1fdmlkZW9GcmFtZVJlcXVl
c3RzLnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGNhbGxiYWNrKSB7IHJldHVybiBjYWxsYmFj
ay0+Y2FuY2VsbGVkOyB9KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5
KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9GcmFtZU1ldGFkYXRh
R2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y3JlYXRlZE5ld1BsYXll
cigpCit7CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkpCisgICAgICAg
IHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1YjhjN2FlMDBj
NGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLmZhYzI2ZTM2NjViZmYxYThlZmU3NGJiYzE2MzI5MmEx
MjUzZTU5ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBAIC0xNDEs
NiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5
cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIGNyZWF0ZWROZXdQbGF5ZXIo
KSBmaW5hbDsKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxIVE1MSW1hZ2VMb2FkZXI+IG1faW1hZ2VM
b2FkZXI7CiAKICAgICBBdG9tU3RyaW5nIG1fZGVmYXVsdFBvc3RlclVSTDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRhLmgKaW5kZXggOGZkOWE0NzAwMjQ4ZDRk
Mjc4ZGNlMjc0OTc4MzYwYTU3YmFmNTllYS4uOTRkZGYwZWYwZjYxMTM1YmQ5YjY4OTA4YjgxMTU2
ZmJiYmRmMjNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFt
ZU1ldGFkYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFk
YXRhLmgKQEAgLTQzLDggKzQzLDczIEBAIHN0cnVjdCBWaWRlb0ZyYW1lTWV0YWRhdGEgewogICAg
IHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBjYXB0dXJlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gcmVjZWl2ZVRpbWU7CiAgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gcnRwVGltZXN0
YW1wOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYp
IGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFs
PFZpZGVvRnJhbWVNZXRhZGF0YT4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNs
YXNzIEVuY29kZXI+CitpbmxpbmUgdm9pZCBWaWRlb0ZyYW1lTWV0YWRhdGE6OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgcHJlc2VudGF0aW9uVGltZSA8
PCBleHBlY3RlZERpc3BsYXlUaW1lIDw8IHdpZHRoIDw8IGhlaWdodCA8PCBtZWRpYVRpbWUgPDwg
cHJlc2VudGVkRnJhbWVzIDw8IHByb2Nlc3NpbmdEdXJhdGlvbiA8PCBjYXB0dXJlVGltZSA8PCBy
ZWNlaXZlVGltZSA8PCBydHBUaW1lc3RhbXA7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+
CitpbmxpbmUgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IFZpZGVvRnJhbWVNZXRh
ZGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgc3RkOjpvcHRpb25hbDxkb3Vi
bGU+IHByZXNlbnRhdGlvblRpbWU7CisgICAgZGVjb2RlciA+PiBwcmVzZW50YXRpb25UaW1lOwor
ICAgIGlmICghcHJlc2VudGF0aW9uVGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGRl
Y29kZXIgPj4gZXhwZWN0ZWREaXNwbGF5VGltZTsKKyAgICBpZiAoIWV4cGVjdGVkRGlzcGxheVRp
bWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHVu
c2lnbmVkPiB3aWR0aDsKKyAgICBkZWNvZGVyID4+IHdpZHRoOworICAgIGlmICghd2lkdGgpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVk
PiBoZWlnaHQ7CisgICAgZGVjb2RlciA+PiBoZWlnaHQ7CisgICAgaWYgKCFoZWlnaHQpCisgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gbWVk
aWFUaW1lOworICAgIGRlY29kZXIgPj4gbWVkaWFUaW1lOworICAgIGlmICghbWVkaWFUaW1lKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25l
ZD4gcHJlc2VudGVkRnJhbWVzOworICAgIGRlY29kZXIgPj4gcHJlc2VudGVkRnJhbWVzOworICAg
IGlmICghcHJlc2VudGVkRnJhbWVzKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisg
ICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IHByb2Nlc3NpbmdEdXJhdGlv
bjsKKyAgICBkZWNvZGVyID4+IHByb2Nlc3NpbmdEdXJhdGlvbjsKKyAgICBpZiAoIXByb2Nlc3Np
bmdEdXJhdGlvbikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8c3RkOjpvcHRpb25hbDxkb3VibGU+PiBjYXB0dXJlVGltZTsKKyAgICBkZWNvZGVyID4+
IGNhcHR1cmVUaW1lOworICAgIGlmICghY2FwdHVyZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcmVj
ZWl2ZVRpbWU7CisgICAgZGVjb2RlciA+PiByZWNlaXZlVGltZTsKKyAgICBpZiAoIXJlY2VpdmVU
aW1lKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxz
dGQ6Om9wdGlvbmFsPHVuc2lnbmVkPj4gcnRwVGltZXN0YW1wOworICAgIGRlY29kZXIgPj4gcnRw
VGltZXN0YW1wOworICAgIGlmICghcnRwVGltZXN0YW1wKQorICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OworCisgICAgcmV0dXJuIFZpZGVvRnJhbWVNZXRhZGF0YSB7ICpwcmVzZW50YXRpb25U
aW1lLCAqZXhwZWN0ZWREaXNwbGF5VGltZSwgKndpZHRoLCAqaGVpZ2h0LCAqbWVkaWFUaW1lLCAq
cHJlc2VudGVkRnJhbWVzLCAqcHJvY2Vzc2luZ0R1cmF0aW9uLCAqY2FwdHVyZVRpbWUsICpyZWNl
aXZlVGltZSwgKnJ0cFRpbWVzdGFtcCB9OworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoVklE
RU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAKaW5kZXggNTY1ZjFjZWJkZjExNjljMzc5MTNmOTJiMGZiMzNjODY3M2QwMWU1Ny4uMjA1NGFl
MDkzNGU3ZWViYzlhNDliN2VhOTdkMjk4MDZlOGEwYWE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtNTkwLDYgKzU5MCw4IEBA
IHZvaWQgTWVkaWFQbGF5ZXI6OmxvYWRXaXRoTmV4dE1lZGlhRW5naW5lKGNvbnN0IE1lZGlhUGxh
eWVyRmFjdG9yeSogY3VycmVudCkKICAgICAgICAgICAgICAgICBtX3ByaXZhdGUtPnNldFBhZ2VJ
c1Zpc2libGUobV9wYWdlSXNWaXNpYmxlKTsKICAgICAgICAgICAgIGlmIChtX3Zpc2libGVJblZp
ZXdwb3J0KQogICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+c2V0VmlzaWJsZUluVmlld3BvcnQo
bV92aXNpYmxlSW5WaWV3cG9ydCk7CisgICAgICAgICAgICBpZiAobV9pc0dhdGhlcmluZ1ZpZGVv
RnJhbWVNZXRhZGF0YSkKKyAgICAgICAgICAgICAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFt
ZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiAgICAgICAgICAgICBtX3ByaXZhdGUtPnByZXBhcmVGb3JQ
bGF5YmFjayhtX3ByaXZhdGVCcm93c2luZywgbV9wcmVsb2FkLCBtX3ByZXNlcnZlc1BpdGNoLCBt
X3Nob3VsZFByZXBhcmVUb1JlbmRlcik7CiAgICAgICAgIH0KICAgICB9CkBAIC0xNzIxLDYgKzE3
MjMsMjMgQEAgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1lZGlhUGxheWVyOjp2
aWRlb0ZyYW1lTWV0YWRhdGEoKQogICAgIHJldHVybiBtX3ByaXZhdGUtPnZpZGVvRnJhbWVNZXRh
ZGF0YSgpOwogfQogCit2b2lkIE1lZGlhUGxheWVyOjpzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdh
dGhlcmluZygpCit7CisgICAgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSA9IHRydWU7
CisgICAgbV9wcml2YXRlLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworfQor
Cit2b2lkIE1lZGlhUGxheWVyOjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sK
KyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gZmFsc2U7CisgICAgbV9wcml2
YXRlLT5zdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQ
bGF5ZXI6Om9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmIG1ldGFk
YXRhKQoreworICAgIGNsaWVudCgpLm9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0
YWRhdGEpKTsKK30KKwogU3RyaW5nIE1lZGlhUGxheWVyOjplbGVtZW50SWQoKSBjb25zdAogewog
ICAgIHJldHVybiBjbGllbnQoKS5tZWRpYVBsYXllckVsZW1lbnRJZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZGI4NWEzM2Q4N2M1
MmEzNzc5YzUyYTUwMjE5YWE4YTI0MTI0Mzg4NS4uY2I0MjMzOWMwZGZhMDk2N2ExZjAyY2RlZjM1
OTgxZDU2NTU1ZWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCkBAIC0yODYsNiArMjg2LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIG1lZGlhUGxheWVyUXVldWVUYXNrT25FdmVudExvb3AoRnVuY3Rpb248dm9pZCgpPiYmIHRh
c2spIHsgY2FsbE9uTWFpblRocmVhZChXVEZNb3ZlKHRhc2spKTsgfQogCisgICAgdmlydHVhbCB2
b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmKSB7IEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOyB9CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB2aXJ0
dWFsIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIG51bGxw
dHI7IH0KICAgICB2aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSA9IDA7
CkBAIC01ODQsNiArNTg2LDggQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlVGV4dFRyYWNrKElu
YmFuZFRleHRUcmFja1ByaXZhdGUmKTsKICAgICB2b2lkIHJlbW92ZVZpZGVvVHJhY2soVmlkZW9U
cmFja1ByaXZhdGUmKTsKIAorICAgIHZvaWQgb25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9G
cmFtZU1ldGFkYXRhJiYpOworCiAgICAgYm9vbCByZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0
aW9uKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbiopOwogICAgIHZvaWQgc3luY1RleHRUcmFja0JvdW5kcygpOwpAQCAt
NjgxLDYgKzY4NSw4IEBAIHB1YmxpYzoKICAgICBib29sIGhhc01lZGlhRW5naW5lKCkgY29uc3Q7
CiAKICAgICBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFk
YXRhKCk7CisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworICAg
IHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogCiBwcml2YXRlOgogICAg
IE1lZGlhUGxheWVyKE1lZGlhUGxheWVyQ2xpZW50Jik7CkBAIC03MjUsNiArNzMxLDcgQEAgcHJp
dmF0ZToKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKICAgICBib29sIG1fc2hvdWxkQ29udGludWVBZnRlcktleU5lZWRlZCB7IGZh
bHNlIH07CiAjZW5kaWYKKyAgICBib29sIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEg
eyBmYWxzZSB9OwogfTsKIAogY2xhc3MgTWVkaWFQbGF5ZXJGYWN0b3J5IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5k
ZXggYzUwM2M2NGM3ZDQ5NDhhOGZkZTRlOTRjNjE3OTNlODExZjliMTIwMi4uMjQ3ZTY1ZDFmMzA1
ZGJiOTBjNjAwMjRhYzg4ZDIwOTdlMmJhODAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTMyMyw2ICszMjMs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25v
dG9uaWNUaW1lJikgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25h
bDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpIHsgcmV0dXJuIHsgfTsg
fQorICAgIHZpcnR1YWwgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgeyB9
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKaW5kZXggMmRmYjQ3NGNjZjVkMGRiNmIxOGNl
YTY3MjgyOGU3MWYxOTk1M2M3YS4uMTA1NzY2ZDRlNGRjZjQ0OGU5ZTg2NDA0MWJjNWJiNjM5ZDBl
ZDY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaApAQCAtMzQxLDYgKzM0MSwxMCBAQCBwcml2YXRl
OgogICAgIGJvb2wgcGxheUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYpIGZpbmFsOwog
ICAgIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmKSBmaW5hbDsKIAor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2
b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIGNo
ZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCk7CisKICAgICBSZXRhaW5QdHI8QVZVUkxBc3NldD4g
bV9hdkFzc2V0OwogICAgIFJldGFpblB0cjxBVlBsYXllcj4gbV9hdlBsYXllcjsKICAgICBSZXRh
aW5QdHI8QVZQbGF5ZXJJdGVtPiBtX2F2UGxheWVySXRlbTsKQEAgLTQ0OSw2ICs0NTMsOSBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9ydW5uaW5nTW9kYWxQYWludCB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2hhdmVQcm9jZXNzZWRDaGFwdGVyVHJhY2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1fd2Fp
dEZvclZpZGVvT3V0cHV0TWVkaWFEYXRhV2lsbENoYW5nZVRpbWVkT3V0IHsgZmFsc2UgfTsKKyAg
ICB1aW50NjRfdCBtX3NhbXBsZUNvdW50IHsgMCB9OworICAgIFJldGFpblB0cjxpZD4gbV92aWRl
b0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcjsKKyAgICBib29sIG1faXNHYXRoZXJpbmdW
aWRlb0ZyYW1lTWV0YWRhdGEgeyBmYWxzZSB9OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
bW0KaW5kZXggMmEwNzk5ZTNhYWE4OGJmYjgwMjRiZTEyODIzZmI5YmI5NmE4MzAxZi4uM2Q3Yzhi
NzYxNGMzYjhiNWM4NjZhYjk3NGFiNWQ5NjMzNmNiYTdiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
Lm1tCkBAIC0xMTA2LDYgKzExMDYsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmNyZWF0ZUFWUGxheWVyKCkKICAgICAgICAgfSk7CiAgICAgfV07CiAKKyAgICBp
ZiAobV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgc3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICBzZXREZWxheUNhbGxiYWNrcyhmYWxzZSk7CiB9
CiAKQEAgLTE0MzEsNiArMTQzMyw0NCBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OnBsYXRmb3JtUGF1c2VkKCkgY29uc3QKICAgICByZXR1cm4gbV9jYWNoZWRUaW1l
Q29udHJvbFN0YXR1cyA9PSBBVlBsYXllclRpbWVDb250cm9sU3RhdHVzUGF1c2VkOwogfQogCit2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnN0YXJ0VmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBBU1NFUlQoIW1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nT2JzZXJ2ZXIgfHwgbV9hdlBsYXllcik7CisgICAgbV9pc0dhdGhlcmluZ1ZpZGVvRnJh
bWVNZXRhZGF0YSA9IHRydWU7CisKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBhIENBRGlz
cGxheUxpbmsgdG8gZ2V0IHVwZGF0ZXMgb24gcmVuZGVyaW5nLCBmb3Igbm93IHdlIGVtdWxhdGUg
d2l0aCBhZGRQZXJpb2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsLgorICAgIG1fdmlkZW9GcmFt
ZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIgPSBbbV9hdlBsYXllciBhZGRQZXJpb2RpY1RpbWVP
YnNlcnZlckZvckludGVydmFsOlBBTDo6Q01UaW1lTWFrZSgxLCA2MCkgcXVldWU6ZGlzcGF0Y2hf
Z2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOlt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9
XShDTVRpbWUpIHsKKyAgICAgICAgZW5zdXJlT25NYWluVGhyZWFkKFt3ZWFrVGhpc10geworICAg
ICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5jaGVja05l
d1ZpZGVvRnJhbWVNZXRhZGF0YSgpOworICAgICAgICB9KTsKKyAgICB9XTsKK30KKwordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjaGVja05ld1ZpZGVvRnJhbWVNZXRh
ZGF0YSgpCit7CisgICAgQ01UaW1lIGN1cnJlbnRUaW1lID0gW21fYXZQbGF5ZXJJdGVtIGN1cnJl
bnRUaW1lXTsKKyAgICBpZiAoIVttX3ZpZGVvT3V0cHV0IGhhc05ld1BpeGVsQnVmZmVyRm9ySXRl
bVRpbWU6Y3VycmVudFRpbWVdKQorICAgICAgICByZXR1cm47CisKKyAgICBWaWRlb0ZyYW1lTWV0
YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEud2lkdGggPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUud2lkdGgoKTsKKyAgICBtZXRhZGF0YS5oZWlnaHQgPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUuaGVpZ2h0KCk7CisgICAgbWV0YWRhdGEucHJlc2VudGVkRnJhbWVzID0gKyttX3NhbXBs
ZUNvdW50OworCisgICAgcGxheWVyKCktPm9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUo
bWV0YWRhdGEpKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
OjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5n
VmlkZW9GcmFtZU1ldGFkYXRhID0gZmFsc2U7CisKKyAgICBBU1NFUlQobV92aWRlb0ZyYW1lTWV0
YWRhdGFHYXRoZXJpbmdPYnNlcnZlcik7CisgICAgaWYgKG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nT2JzZXJ2ZXIpCisgICAgICAgIFttX2F2UGxheWVyIHJlbW92ZVRpbWVPYnNlcnZlcjpt
X3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyLmdldCgpXTsKKyAgICBtX3ZpZGVv
RnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gbmlsOworfQorCiBNZWRpYVRpbWUgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1EdXJhdGlvbigpIGNvbnN0
CiB7CiAgICAgLy8gRG8gbm90IGFzayB0aGUgYXNzZXQgZm9yIGR1cmF0aW9uIGJlZm9yZSBpdCBo
YXMgYmVlbiBsb2FkZWQgb3IgaXQgd2lsbCBmZXRjaCB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRl
eCA1NjViOGIyOTNhZWNkZjVlNTFmZTVlMTAxNmM1YjdhN2U3MzNkOGE5Li5hMzg4YmEyOGNiY2M5
ZmM3MDNhNzUxNTJmMjM1MzAyZDA0NzE2ZDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC0xMDk4
LDYgKzEwOTgsMjMgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpwYXVzZUF0SG9zdFRp
bWUoTW9ub3RvbmljVGltZSB0aW1lKQogICAgICAgICBtX3BsYXllci0+cGF1c2VBdEhvc3RUaW1l
KHRpbWUpOwogfQogCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN0YXJ0VmlkZW9GcmFt
ZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxh
eWVyLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworfQorCit2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorewor
ICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6b25OZXdW
aWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEpCit7CisgICAg
bV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpQdXNoVmlkZW9GcmFtZU1ldGFkYXRhKG1ldGFkYXRhKSwgbV9pZCk7Cit9CisKICNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIFdURkxvZ0NoYW5uZWwmIFJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmxvZ0NoYW5uZWwoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggMGU5ZjNkN2Ey
MTQ1ZDc1Yjk0M2UyYjU2YTJkODBiYjgwNzNkZjllMS4uYjYxYjg3NDBiOTQ1YjIyOGQ0ZDZjMTI2
YTU5NzJkY2VhZDE0YjI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0zMDcsNiArMzA3LDEwIEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBwbGF5QXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKICAgICB2b2lk
IHBhdXNlQXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKIAorICAgIHZvaWQgc3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKTsKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdlYkNvcmU6OlZp
ZGVvRnJhbWVNZXRhZGF0YSYmKTsKKwogICAgIGJvb2wgbWVkaWFQbGF5ZXJQYXVzZWRPclN0YWxs
ZWQoKSBjb25zdDsKICAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChjb25zdCBNZWRpYVRpbWUm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4ZWM2MDNmZWNjMWYx
OGQ4NGMxNGQ0NzNlYTUxYTgxNTE0MDdkMTIzLi4zOWM4NzI5YjI3MzllMTM2NDRiMzFhYTgwZGJh
ODBkNGEzMzBjOGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTMy
LDYgKzEzMiw5IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291
bnRlZCB7CiAKICAgICBQbGF5QXRIb3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgUGF1
c2VBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUgdGltZSkKKworICAgIFN0YXJ0VmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCkKKyAgICBTdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkK
IH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggNWYwMGNkYTQy
NDMyZWUwNTEyYTc4ZGQyYThlYmQxMmMyZTRjZDgxZS4uNWNmOTYwYmMwOGZjZjNhZTdlYTRmNzAy
ZTY4NDA2ZDBmM2M1YmFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMTM2
MSw2ICsxMzYxLDI3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwYXVzZUF0SG9z
dFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAor
c3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6dmlkZW9GcmFtZU1ldGFkYXRhKCkKK3sKKyAgICBhdXRvIHZpZGVvRnJhbWVNZXRhZGF0YSA9
IHN0ZDo6ZXhjaGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEsIHsgfSk7CisgICAgcmV0dXJuIHZp
ZGVvRnJhbWVNZXRhZGF0YTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN0
YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBjb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RhcnRWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKSwgbV9pZCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RvcFZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OnB1c2hWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYg
dmlkZW9GcmFtZU1ldGFkYXRhKQoreworICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhID0gV1RGTW92
ZSh2aWRlb0ZyYW1lTWV0YWRhdGEpOworfQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6cmVxdWVzdFJlc291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIHJlbW90ZU1l
ZGlhUmVzb3VyY2VJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0
LCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI6OkxvYWRPcHRpb25zIG9wdGlv
bnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAg
ICBBU1NFUlQoIW1fbWVkaWFSZXNvdXJjZXMuY29udGFpbnMocmVtb3RlTWVkaWFSZXNvdXJjZUlk
ZW50aWZpZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGZmMzVjZTA3YWU2MmQ1
MWY5OGQyOWQ1MWI1NmYxZjAzY2FmZDhjMjYuLmZmYjRjMmEwNTk2ZTU4OTc5NmNiY2FjMjdiZmRh
ODliMjQzZjgxMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApAQCAtMzgsNiArMzgsNyBA
QAogI2luY2x1ZGUgIlRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJW
aWRlb1RyYWNrUHJpdmF0ZVJlbW90ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQbGF5ZXJQ
cml2YXRlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9WaWRlb0ZyYW1lTWV0YWRhdGEuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luRGF0YS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXJI
ZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CkBAIC0zOTgsNiArMzk5LDExIEBA
IHByaXZhdGU6CiAgICAgYm9vbCBwbGF5QXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJikg
ZmluYWw7CiAgICAgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYpIGZp
bmFsOwogCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGE+IHZp
ZGVvRnJhbWVNZXRhZGF0YSgpIGZpbmFsOworICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRo
ZXJpbmcoKSBmaW5hbDsKKworICAgIHZvaWQgcHVzaFZpZGVvRnJhbWVNZXRhZGF0YShXZWJDb3Jl
OjpWaWRlb0ZyYW1lTWV0YWRhdGEmJik7CiAKICAgICBXZWFrUHRyPFdlYkNvcmU6Ok1lZGlhUGxh
eWVyPiBtX3BsYXllcjsKICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9h
ZGVyPiBtX21lZGlhUmVzb3VyY2VMb2FkZXI7CkBAIC00NDksNiArNDU1LDcgQEAgcHJpdmF0ZToK
ICNpZiBVU0UoQVZGT1VOREFUSU9OKQogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBt
X3BpeGVsQnVmZmVyRm9yQ3VycmVudFRpbWU7CiAjZW5kaWYKKyAgICBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YT4gbV92aWRlb0ZyYW1lTWV0YWRhdGE7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVz
c2FnZXMuaW4KaW5kZXggMTE4ZTAyNWE2OWIzZmE0MWY1NTllNWFhMGJmOThkMzc5MWJlNWRlNC4u
YzgyZjZmMThmZDI3ODViYzc2MGRiMGVlYjhjNTcyYTlhYmYxYWU4YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTkxLDYgKzkxLDggQEAgbWVzc2Fn
ZXMgLT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgewogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgR2V0UmF3Q29va2llcyhVUkwgdXJsKSAtPiAoVmVjdG9yPFdl
YkNvcmU6OkNvb2tpZT4gcmVzdWx0KSBBc3luYwogI2VuZGlmCisKKyAgICBQdXNoVmlkZW9GcmFt
ZU1ldGFkYXRhKHN0cnVjdCBXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEgbWV0YWRhdGEpOwog
fQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBmNTRkZGUxYTg3YzkxNGE3ZDQxYjlhYzczMzY1YWE1YTZlY2Y5M2U4Li4wYjUyZTNm
NTgzMDQ2OWEyZTEzZmVkNjljODRkZWQ2OTkxNDg5NDdhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMjEg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUGxheWVy
QVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBydmZjIGJ5IGRlZmF1bHQgaW4gdGVzdCBy
dW5uZXIuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisKIDIwMjEt
MTAtMjEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQuIEZpeCBHVEsgYnVpbGQgd2l0aCBvbGQgdmVyc2lvbiBvZiBBVFNQSSBh
ZnRlciByMjg0MzY3LgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
CmluZGV4IDVkMjAxMDU0MWUxYjQ0YjE3NGMyZTFjZGU1MjQ0MTI2OTI0NTViMGYuLmJjYTg2YjMz
YTA4OTI2NThmMjdmODA3M2I3YmNlZDIxYjk4NGQxZTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTg2MywxMSArODYzLDggQEAgc3RhdGljIHZvaWQg
c2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyhXZWJQcmVmZXJlbmNlcyAqcHJlZmVyZW5j
ZXMsIGNvbnN0IFcKICAgICAgICAgW3ByZWZlcmVuY2VzIF9yZXNldEZvclRlc3RpbmddOwogCiAg
ICAgICAgIGlmIChlbmFibGVBbGxFeHBlcmltZW50YWxGZWF0dXJlcykgewotICAgICAgICAgICAg
Zm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJlbmNlcyBfZXhwZXJpbWVudGFs
RmVhdHVyZXNdKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IFdlIGRpc2FibGUgcnZmYyBi
eSBkZWZhdWx0LiBFbmFibGUgaXQgd2hlbiB0aGUgdmlkZW8gYmFja2VuZCBzdXBwb3J0IGlzIGdv
b2QgZW5vdWdoLgotICAgICAgICAgICAgICAgIGF1dG8gZW5hYmxlZCA9IFtmZWF0dXJlLm5hbWUg
aXNFcXVhbDpAIlJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2siXSA/IE5PIDogWUVTOwotICAgICAg
ICAgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDplbmFibGVkIGZvckZlYXR1cmU6ZmVh
dHVyZV07Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKFdlYkZlYXR1cmUgKmZlYXR1
cmUgaW4gW1dlYlByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJlc10pCisgICAgICAgICAg
ICAgICAgW3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOmVuYWJsZWQgZm9yRmVhdHVyZTpZRVNdOwog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9u
KCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMDRm
MWRkMjAyOGZlODVkZGFhNWU2NTQ4YmJkMzg1N2ZhNDA2NDhkYS4uN2Q5MDBhZWY3YmQxZGE0MTc1
ZWU4ZGVhZjQ1YjM4OWM2MGM5YjllYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKQEAgLTg5Nyw5ICs4OTcsNiBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZXNl
dFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpbwog
ICAgICAgICBpZiAoZW5hYmxlQWxsRXhwZXJpbWVudGFsRmVhdHVyZXMpCiAgICAgICAgICAgICBX
S1ByZWZlcmVuY2VzRW5hYmxlQWxsRXhwZXJpbWVudGFsRmVhdHVyZXMocHJlZmVyZW5jZXMpOwog
Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4gRW5hYmxlIGl0
IHdoZW4gdGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4KLSAgICAgICAg
V0tQcmVmZXJlbmNlc1NldFJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tFbmFibGVkKHByZWZlcmVu
Y2VzLCBmYWxzZSk7Ci0KICAgICAgICAgV0tQcmVmZXJlbmNlc1Jlc2V0QWxsSW50ZXJuYWxEZWJ1
Z0ZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAogICAgICAgICBXS1ByZWZlcmVuY2VzU2V0UHJvY2Vz
c1N3YXBPbk5hdmlnYXRpb25FbmFibGVkKHByZWZlcmVuY2VzLCBvcHRpb25zLnNob3VsZEVuYWJs
ZVByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uKCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhlMzNmMWI1MjZiNDJiZTYwMDY4
MmQyODM0MzE1MzNhNWU0ZjY1ZmMuLjY2ZWEwMjkzMDZiM2NjZTcwYzVjN2RjNjA2ODUwMjViZWNh
NDE1MTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMC0yMSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hv
dWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTEwLTIwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbIGlPUyBdIGZhc3QvaW5saW5l
L2lubGluZS1iYWNrZ3JvdW5kLWNsaXAtdGV4dC1tdWx0aWxpbmUuaHRtbCBpcyBpbWFnZSBmYWls
aW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzOGE1NjBhM2RjYWMzMjk0ODlj
ZGQzZjEyMjVlMWM2N2RlMmNiNDg0Li40N2Y1NWM4YjQwZmFmNGMzMzM2Y2IxMTZiYTY3MjFjYTBh
ODY1MTQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAyMS0xMC0yMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
TWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1m
cmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12
aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2su
aHRtbDoKKwogMjAyMS0xMC0yMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVSTFBhcnNlciBzaG91bGQgcmVqZWN0IGhvc3RzIHdpdGggQzAg
Y29udHJvbCBjaGFyYWN0ZXJzIG9yIFUrMDA3RgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LWRvbS1leHBlY3RlZC50eHQKaW5kZXggNjYzOWQ0ZjI4ODVlMWY5NzY0OGQ1MDU0NzcwZWFmZWI0
MzJkYzUwZC4uN2U1YzQ4NjIwNDUzNDc5NDM5NDFiY2NjNWQ0YmVlNzY2MjFhNjIxZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBA
QAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBU
ZXN0IGEgdmlkZW8gb3V0c2lkZSBvZiB0aGUgRE9NIGNhbiBzdGlsbCB1c2UgdmlkZW8uclZGQy4g
VGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggImRpc3Bs
YXk6bm9uZSIuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3
aXRoICJ2aXNpYmlsaXR5OmhpZGRlbiIuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgYSB2aWRl
byBvdXRzaWRlIG9mIHRoZSBET00gY2FuIHN0aWxsIHVzZSB2aWRlby5yVkZDLgorUEFTUyBUZXN0
IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25lIi4KK1BBU1MgVGVzdCB2aWRlby5y
VkZDIHdvcmtzIHdpdGggInZpc2liaWxpdHk6aGlkZGVuIi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stZXhwZWN0ZWQudHh0CmluZGV4IGNhN2NiM2U5NGNkZmIyNTI1OGI5ZDk5YjRmNGQ0N2Vk
YTBlNzcyMTYuLmNkNzk2MTIwNTUxNzE2OGI1NDNiZjU5YmJlMGZhZTI2OWZlMGJkMTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVz
dC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsOCBAQAogCiAK
LUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3Qg
d2UgY2FuIHJlZ2lzdGVyIGEgdmlkZW8uclZGQyBjYWxsYmFjay4gVGVzdCB0aW1lZCBvdXQKLVRJ
TUVPVVQgVGVzdCB2aWRlby5yVkZDIGNhbGxiYWNrcyBydW4gYmVmb3JlIHdpbmRvdy5yQUYgY2Fs
bGJhY2tzLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwgYSB2aWRl
by5yVkZDIHJlcXVlc3QuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3Qgd2UgY2FuIHJlZ2lzdGVy
IGEgdmlkZW8uclZGQyBjYWxsYmFjay4KK1BBU1MgVGVzdCB2aWRlby5yVkZDIGNhbGxiYWNrcyBy
dW4gYmVmb3JlIHdpbmRvdy5yQUYgY2FsbGJhY2tzLgorUEFTUyBUZXN0IHdlIGNhbiBjYW5jZWwg
YSB2aWRlby5yVkZDIHJlcXVlc3QuCiBQQVNTIFRlc3QgaW52YWxpZCBjYWxscyB0byB0aGUgdmlk
ZW8uclZGQyBBUEkuCi1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyBkb2VzIG5vdCBzdG9wIHdoZW4g
c3dpdGNoaW5nIHNvdXJjZXMuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgdmlkZW8uclZGQyBk
b2VzIG5vdCBzdG9wIHdoZW4gc3dpdGNoaW5nIHNvdXJjZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0
LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dAppbmRleCA2ZmU2ODRhZThlNjZk
YWI4Y2NlNjhkMjI3NTM1OTVhODQ0OGM2YjkwLi4zMmI5OWFlZDU0NTdkZmExYmYyYTkxNjMzMWQy
NmYxZWQ5ZDliNWQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJh
bGxlbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxs
ZWwtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgY2FsbGJhY2tzIGdldCB0aGUgc2Ft
ZSBpbmZvcm1hdGlvbi4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB3ZSBjYW4gY2FuY2Vs
IGNhbGxiYWNrcyBmcm9tIGNhbGxiYWNrcy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBjYWxs
YmFja3MgZ2V0IHRoZSBzYW1lIGluZm9ybWF0aW9uLgorUEFTUyBUZXN0IHdlIGNhbiBjYW5jZWwg
Y2FsbGJhY2tzIGZyb20gY2FsbGJhY2tzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dAppbmRleCBiNGE1YmUzZGQyNTEyYjg1YzM4NTU1
YjhmM2NlNzAzNjc4ZWQ0ZGZkLi5hNjMxYTE3NmJkNTliNmRmMWM0NTU2ZDNjZGIxMTQ1ZDNjNjk1
ODYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBl
Y3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCBuZXcgY2FsbGJhY2tzIGFyZSBvbmx5IGNhbGxl
ZCBvbiB0aGUgbmV4dCBmcmFtZS4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCBjaGFpbmlu
ZyBjYWxscyB0byB2aWRlby5yVkZDLCBhbmQgdmVyaWZ5IHRoZSByZXF1aXJlZCBwYXJhbWV0ZXJz
LiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVk
IG9uIHRoZSBuZXh0IGZyYW1lLgorRkFJTCBUZXN0IGNoYWluaW5nIGNhbGxzIHRvIHZpZGVvLnJW
RkMsIGFuZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMuIGFzc2VydF9ncmVhdGVyX3Ro
YW46IHByZXNlbnRhdGlvblRpbWUgc2hvdWxkIGJlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyBl
eHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgInVuZGVmaW5lZCIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
Lmh0bWwKaW5kZXggYTQ0MDQxNDNmYTQwOGViYmI4ZjQ5Y2MzMTgwZTA2NWQyMDBmZmE0YS4uNDdh
MTA5ZTgyMmFiZDRlZWViMzVjYjQxMmI0NDA5ZWRkYTBiMzM0NCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay5odG1sCkBAIC0xMDUsNiArMTA1LDcgQEAgdGVzdChmdW5jdGlvbih0KSB7CiAKIHByb21pc2Vf
dGVzdChhc3luYyBmdW5jdGlvbih0KSB7CiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgndmlkZW8nKTsKKyAgICB2aWRlby5hdXRvcGxheSA9IHRydWU7CiAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAKICAgICBsZXQgZmlyc3Rfd2lkdGggPSAwOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGIw
NDM1NzliOGFjODFiM2FhMjBiOWRkODM4MDI5M2E0ZGQyNzMyNDUuLmZjOTcxNGYyNmFjM2M2MGI5
ZWQ4MjZlZGE0NmVjODc2ODcxNDdlOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
d2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzOSwxMyArMTM5LDggQEAgaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NuYW1lLWNsb2FraW5nLXRvcC1uby1jbmFtZS1zdWItM3AtY25h
bWUuaHRtbAogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NuYW1lLWNsb2FraW5n
LXRvcC1uby1jbmFtZS1zdWItbm8tY25hbWUuaHRtbCBbIFBhc3MgXQogCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KLSMgVGltaW5nIG91dCB0ZXN0
cyB1bnRpbCB3ZSBhZGQgcmVndWxhciB2aWRlbyBzdHJlYW1pbmcgYmFja2VuZCBzdXBwb3J0Lgog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2stYmVmb3JlLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stZG9tLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1z
ZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwg
WyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1sIFsgU2tpcCBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay5odG1sIFsgU2tpcCBdCiAKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8KICMgRW5kIHBsYXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGUzMTJmZTZkZGFhMzY0ZmIy
OTcxNzQwM2ZiNjY5Y2ExN2ZjMzVmNjkuLjg3OTliYzM2NTVlZmExYTUwYTQxMDVhNGYzODE5YjIw
YzE1NDBhMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTEyMCwxMyArMTIwLDggQEAgZmFzdC9mb3Jtcy9maWxlL2VudHJpZXMtYXBpL2lt
YWdlLW5vLXRyYW5zY29kZS1vcGVuLXBhbmVsLmh0bWwgWyBQYXNzIF0KIHN0b3JhZ2UvaW5kZXhl
ZGRiL2RhdGFiYXNlLXRyYW5zYWN0aW9uLWN5Y2xlLmh0bWwgWyBQYXNzIF0KIAogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsgUGFzcyBdCi0jIFRpbWluZyBvdXQg
dGVzdHMgdW50aWwgd2UgYWRkIHJlZ3VsYXIgdmlkZW8gc3RyZWFtaW5nIGJhY2tlbmQgc3VwcG9y
dC4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLWRvbS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kdXJpbmct
eHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC5o
dG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRtbCBbIFNraXAgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2suaHRtbCBbIFNraXAgXQogCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vCiAjIEVuZCBwbGF0Zm9ybS1zcGVjaWZpYyBkaXJlY3Rvcmllcy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442034</attachid>
            <date>2021-10-21 09:00:42 -0700</date>
            <delta_ts>2021-11-15 04:12:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211021180039.patch</filename>
            <type>text/plain</type>
            <size>34570</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZhZmIwY2JiZjViNjYz
OTBlM2YxZDIwMzQ1ZjUyYmY0NzM3YTExMi4uNzg3N2NlMDk1NjU0ZDNkMTE0M2MxZTcwMzdlNWIy
ZDIzMjlmZTVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTEwLTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRvIHN0YXJ0L3N0b3AgZ2F0aGVyaW5nIG1ldGFk
YXRhLgorICAgICAgICBUaGlzIGdvZXMgZnJvbSB2aWRlbyBlbGVtZW50IGRvd24gdG8gbWVkaWEg
cGxheWVyIHByaXZhdGUuCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGluIE1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMgYnkgYWRkaW5nIGEgc3BlY2lmaWMgdGltZWxpbmUgb2Jz
ZXJ2ZXIuCisKKyAgICAgICAgQ292ZXJlZCBieSBlbmFibGVkIHRlc3RzLgorCisgICAgICAgICog
aHRtbC9IVE1MQXVkaW9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1s
L0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5o
OgorICAgICAgICAqIHBsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLm1tOgorCiAyMDIxLTEwLTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBBdWRpbyBvdmVyIHBlZXIgY29ubmVjdGlvbiBiZWNvbWVzIGxhdGVu
dCB3aGVuIGNoYW5naW5nIHRoZSBvdXRwdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYmQ5MjA5OTg2YWQ3ZjM5NWRm
NmJiZWMyZjJkMDY0M2YyN2Q5NTU3Ni4uYTJjYWIwOWQ4ZGViOGYxZWI5ZGVhYzcxNjZlZTFkYmM3
N2FkZmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMC0yMSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRp
b24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIElQQyBtZXNzYWdpbmcgdG8gc3RhcnQvc3RvcCBtZXRhZGF0YSBn
YXRoZXJpbmcgZnJvbSBXZWJQcm9jZXNzIHRvIEdQVVByb2Nlc3MuCisgICAgICAgIEFkZCBJUEMg
bWVzc2FnaW5nIHRvIHB1c2ggbWV0YWRhdGEgdG8gV2ViUHJvY2Vzcy4KKworICAgICAgICAqIEdQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lmg6CisgICAgICAgICogR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHA6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1l
c3NhZ2VzLmluOgorCiAyMDIxLTEwLTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBBdWRpbyBvdmVyIHBlZXIgY29ubmVjdGlvbiBiZWNvbWVzIGxhdGVudCB3
aGVuIGNoYW5naW5nIHRoZSBvdXRwdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF1ZGlvRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50
LmgKaW5kZXggZWQ4N2RlNjU3NjZjZDEwNTFmZGI2MThiYWU3ZTkzN2U0YzAxNzc1Ny4uYmE4MWNl
MmQ5ZTdjN2E2ZDJjNWZiODNmOTI1MjkxYTk0NzU2OWUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQXVkaW9FbGVtZW50LmgKQEAgLTMzLDYgKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRG9jdW1lbnQ7CitzdHJ1Y3QgVmlkZW9GcmFtZU1ldGFkYXRhOwogCiBjbGFzcyBI
VE1MQXVkaW9FbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxNZWRpYUVsZW1lbnQgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoSFRNTEF1ZGlvRWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA0ZTllMTI2NTAzNDllNTNjYWI3OWJkOTgwOGQ2
YWRjMGFiM2RhMTJkLi40ZjA2ZTRkYTlhYTQxMTU1ODYxMTI0NzYzOTkxMzhhNzI3ZDA1MWFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTY5MDQsNiArNjkw
NCw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIoKSBXVEZfSUdO
T1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiAjZW5kaWYKIAogICAgIG1fcGxheWVyID0gTWVk
aWFQbGF5ZXI6OmNyZWF0ZSgqdGhpcyk7CisgICAgY3JlYXRlZE5ld1BsYXllcigpOworCiAgICAg
bV9wbGF5ZXItPnNldEJ1ZmZlcmluZ1BvbGljeShtX2J1ZmZlcmluZ1BvbGljeSk7CiAgICAgbV9w
bGF5ZXItPnNldFByZWZlcnJlZER5bmFtaWNSYW5nZU1vZGUobV9vdmVycmlkZUR5bmFtaWNSYW5n
ZU1vZGUudmFsdWVfb3IocHJlZmVycmVkRHluYW1pY1JhbmdlTW9kZShkb2N1bWVudCgpLnZpZXco
KSkpKTsKICAgICBtX3BsYXllci0+c2V0TXV0ZWQoZWZmZWN0aXZlTXV0ZWQoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDFjMWIyZGMxNWFhMGI2OTMyMTc4YTI5
MzBjYThmMmI4OTQwZjUzNDQuLjMzOGQ0MDA4YjdiNjkxZDQ4NTdiYzFkYWQ0NmUwYjU1YzA4MmUx
MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC05NjMsNiArOTYz
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXlQbGF5ZXIoKTsKICAgICB2b2lkIHBhdXNlUGxh
eWVyKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlZE5ld1BsYXllcigpIHsgfQorCiAjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgY29uc3Qgdm9pZCogbWVkaWFQbGF5ZXJMb2dJZGVu
dGlmaWVyKCkgZmluYWwgeyByZXR1cm4gbG9nSWRlbnRpZmllcigpOyB9CiAgICAgY29uc3QgTG9n
Z2VyJiBtZWRpYVBsYXllckxvZ2dlcigpIGZpbmFsIHsgcmV0dXJuIGxvZ2dlcigpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCBiYjA1ZTI3NjFmODJkYzlk
ZTMxMWQ0Y2JhMjM0Nzk1MTY5MDljMzI5Li5jNjI4MzUwZDQxOTQyYjY1NDJhMzBkMDMyMTk1Njdm
MDBjYmNkODdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKQEAg
LTU4OCw2ICs1ODgsOSBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmV4aXRUb0Z1bGxzY3JlZW5N
b2RlV2l0aG91dEFuaW1hdGlvbklmUG9zc2libGUoSFRNTE1lZGlhRQogCiB1bnNpZ25lZCBIVE1M
VmlkZW9FbGVtZW50OjpyZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKFJlZjxWaWRlb0ZyYW1lUmVx
dWVzdENhbGxiYWNrPiYmIGNhbGxiYWNrKQogeworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1ZXN0
cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZygpOworCiAgICAgYXV0byBpZGVudGlmaWVyID0gKyttX25leHRW
aWRlb0ZyYW1lUmVxdWVzdEluZGV4OwogICAgIG1fdmlkZW9GcmFtZVJlcXVlc3RzLmFwcGVuZCht
YWtlVW5pcXVlUmVmPFZpZGVvRnJhbWVSZXF1ZXN0PihpZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxi
YWNrKSkpOwogCkBAIC02MDcsNiArNjEwLDkgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50OjpjYW5j
ZWxWaWRlb0ZyYW1lQ2FsbGJhY2sodW5zaWduZWQgaWRlbnRpZmllcikKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1vdmUoaW5kZXgpOworCisgICAg
aWYgKG1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1wdHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAg
cGxheWVyKCktPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIH0KIAogdm9pZCBI
VE1MVmlkZW9FbGVtZW50OjpzZXJ2aWNlUmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFja3MoUmVkdWNl
ZFJlc29sdXRpb25TZWNvbmRzIG5vdykKQEAgLTYyNywxMyArNjMzLDIyIEBAIHZvaWQgSFRNTFZp
ZGVvRWxlbWVudDo6c2VydmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNv
bHV0aW9uU2Vjb25kCiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNhbGxiYWNr
Q291bnQ7ICsraW5kZXgpIHsKICAgICAgICAgYXV0byYgcmVxdWVzdCA9IG1fdmlkZW9GcmFtZVJl
cXVlc3RzW2luZGV4XTsKICAgICAgICAgaWYgKCFyZXF1ZXN0LT5jYW5jZWxsZWQpIHsKLSAgICAg
ICAgICAgIHJlcXVlc3QtPmNhbGxiYWNrLT5oYW5kbGVFdmVudChub3cudmFsdWUoKSwgKnZpZGVv
RnJhbWVNZXRhZGF0YSk7CisgICAgICAgICAgICByZXF1ZXN0LT5jYWxsYmFjay0+aGFuZGxlRXZl
bnQobm93Lm1pbGxpc2Vjb25kcygpLCAqdmlkZW9GcmFtZU1ldGFkYXRhKTsKICAgICAgICAgICAg
IHJlcXVlc3QtPmNhbmNlbGxlZCA9IHRydWU7CiAgICAgICAgIH0KICAgICB9CiAgICAgbV9pc1J1
bm5pbmdWaWRlb0ZyYW1lUmVxdWVzdHMgPSBmYWxzZTsKIAogICAgIG1fdmlkZW9GcmFtZVJlcXVl
c3RzLnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGNhbGxiYWNrKSB7IHJldHVybiBjYWxsYmFj
ay0+Y2FuY2VsbGVkOyB9KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5
KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9GcmFtZU1ldGFkYXRh
R2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y3JlYXRlZE5ld1BsYXll
cigpCit7CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkpCisgICAgICAg
IHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1YjhjN2FlMDBj
NGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLmZhYzI2ZTM2NjViZmYxYThlZmU3NGJiYzE2MzI5MmEx
MjUzZTU5ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBAIC0xNDEs
NiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5
cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIGNyZWF0ZWROZXdQbGF5ZXIo
KSBmaW5hbDsKKwogICAgIHN0ZDo6dW5pcXVlX3B0cjxIVE1MSW1hZ2VMb2FkZXI+IG1faW1hZ2VM
b2FkZXI7CiAKICAgICBBdG9tU3RyaW5nIG1fZGVmYXVsdFBvc3RlclVSTDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRhLmgKaW5kZXggOGZkOWE0NzAwMjQ4ZDRk
Mjc4ZGNlMjc0OTc4MzYwYTU3YmFmNTllYS4uOTRkZGYwZWYwZjYxMTM1YmQ5YjY4OTA4YjgxMTU2
ZmJiYmRmMjNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFt
ZU1ldGFkYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFk
YXRhLmgKQEAgLTQzLDggKzQzLDczIEBAIHN0cnVjdCBWaWRlb0ZyYW1lTWV0YWRhdGEgewogICAg
IHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBjYXB0dXJlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gcmVjZWl2ZVRpbWU7CiAgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gcnRwVGltZXN0
YW1wOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYp
IGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFs
PFZpZGVvRnJhbWVNZXRhZGF0YT4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK3RlbXBsYXRlPGNs
YXNzIEVuY29kZXI+CitpbmxpbmUgdm9pZCBWaWRlb0ZyYW1lTWV0YWRhdGE6OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgcHJlc2VudGF0aW9uVGltZSA8
PCBleHBlY3RlZERpc3BsYXlUaW1lIDw8IHdpZHRoIDw8IGhlaWdodCA8PCBtZWRpYVRpbWUgPDwg
cHJlc2VudGVkRnJhbWVzIDw8IHByb2Nlc3NpbmdEdXJhdGlvbiA8PCBjYXB0dXJlVGltZSA8PCBy
ZWNlaXZlVGltZSA8PCBydHBUaW1lc3RhbXA7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+
CitpbmxpbmUgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IFZpZGVvRnJhbWVNZXRh
ZGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgc3RkOjpvcHRpb25hbDxkb3Vi
bGU+IHByZXNlbnRhdGlvblRpbWU7CisgICAgZGVjb2RlciA+PiBwcmVzZW50YXRpb25UaW1lOwor
ICAgIGlmICghcHJlc2VudGF0aW9uVGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGRl
Y29kZXIgPj4gZXhwZWN0ZWREaXNwbGF5VGltZTsKKyAgICBpZiAoIWV4cGVjdGVkRGlzcGxheVRp
bWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHVu
c2lnbmVkPiB3aWR0aDsKKyAgICBkZWNvZGVyID4+IHdpZHRoOworICAgIGlmICghd2lkdGgpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVk
PiBoZWlnaHQ7CisgICAgZGVjb2RlciA+PiBoZWlnaHQ7CisgICAgaWYgKCFoZWlnaHQpCisgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gbWVk
aWFUaW1lOworICAgIGRlY29kZXIgPj4gbWVkaWFUaW1lOworICAgIGlmICghbWVkaWFUaW1lKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25l
ZD4gcHJlc2VudGVkRnJhbWVzOworICAgIGRlY29kZXIgPj4gcHJlc2VudGVkRnJhbWVzOworICAg
IGlmICghcHJlc2VudGVkRnJhbWVzKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisg
ICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IHByb2Nlc3NpbmdEdXJhdGlv
bjsKKyAgICBkZWNvZGVyID4+IHByb2Nlc3NpbmdEdXJhdGlvbjsKKyAgICBpZiAoIXByb2Nlc3Np
bmdEdXJhdGlvbikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8c3RkOjpvcHRpb25hbDxkb3VibGU+PiBjYXB0dXJlVGltZTsKKyAgICBkZWNvZGVyID4+
IGNhcHR1cmVUaW1lOworICAgIGlmICghY2FwdHVyZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcmVj
ZWl2ZVRpbWU7CisgICAgZGVjb2RlciA+PiByZWNlaXZlVGltZTsKKyAgICBpZiAoIXJlY2VpdmVU
aW1lKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxz
dGQ6Om9wdGlvbmFsPHVuc2lnbmVkPj4gcnRwVGltZXN0YW1wOworICAgIGRlY29kZXIgPj4gcnRw
VGltZXN0YW1wOworICAgIGlmICghcnRwVGltZXN0YW1wKQorICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OworCisgICAgcmV0dXJuIFZpZGVvRnJhbWVNZXRhZGF0YSB7ICpwcmVzZW50YXRpb25U
aW1lLCAqZXhwZWN0ZWREaXNwbGF5VGltZSwgKndpZHRoLCAqaGVpZ2h0LCAqbWVkaWFUaW1lLCAq
cHJlc2VudGVkRnJhbWVzLCAqcHJvY2Vzc2luZ0R1cmF0aW9uLCAqY2FwdHVyZVRpbWUsICpyZWNl
aXZlVGltZSwgKnJ0cFRpbWVzdGFtcCB9OworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoVklE
RU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAKaW5kZXggNTY1ZjFjZWJkZjExNjljMzc5MTNmOTJiMGZiMzNjODY3M2QwMWU1Ny4uMjA1NGFl
MDkzNGU3ZWViYzlhNDliN2VhOTdkMjk4MDZlOGEwYWE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtNTkwLDYgKzU5MCw4IEBA
IHZvaWQgTWVkaWFQbGF5ZXI6OmxvYWRXaXRoTmV4dE1lZGlhRW5naW5lKGNvbnN0IE1lZGlhUGxh
eWVyRmFjdG9yeSogY3VycmVudCkKICAgICAgICAgICAgICAgICBtX3ByaXZhdGUtPnNldFBhZ2VJ
c1Zpc2libGUobV9wYWdlSXNWaXNpYmxlKTsKICAgICAgICAgICAgIGlmIChtX3Zpc2libGVJblZp
ZXdwb3J0KQogICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+c2V0VmlzaWJsZUluVmlld3BvcnQo
bV92aXNpYmxlSW5WaWV3cG9ydCk7CisgICAgICAgICAgICBpZiAobV9pc0dhdGhlcmluZ1ZpZGVv
RnJhbWVNZXRhZGF0YSkKKyAgICAgICAgICAgICAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFt
ZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiAgICAgICAgICAgICBtX3ByaXZhdGUtPnByZXBhcmVGb3JQ
bGF5YmFjayhtX3ByaXZhdGVCcm93c2luZywgbV9wcmVsb2FkLCBtX3ByZXNlcnZlc1BpdGNoLCBt
X3Nob3VsZFByZXBhcmVUb1JlbmRlcik7CiAgICAgICAgIH0KICAgICB9CkBAIC0xNzIxLDYgKzE3
MjMsMjMgQEAgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1lZGlhUGxheWVyOjp2
aWRlb0ZyYW1lTWV0YWRhdGEoKQogICAgIHJldHVybiBtX3ByaXZhdGUtPnZpZGVvRnJhbWVNZXRh
ZGF0YSgpOwogfQogCit2b2lkIE1lZGlhUGxheWVyOjpzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdh
dGhlcmluZygpCit7CisgICAgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSA9IHRydWU7
CisgICAgbV9wcml2YXRlLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworfQor
Cit2b2lkIE1lZGlhUGxheWVyOjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sK
KyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gZmFsc2U7CisgICAgbV9wcml2
YXRlLT5zdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQ
bGF5ZXI6Om9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmIG1ldGFk
YXRhKQoreworICAgIGNsaWVudCgpLm9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0
YWRhdGEpKTsKK30KKwogU3RyaW5nIE1lZGlhUGxheWVyOjplbGVtZW50SWQoKSBjb25zdAogewog
ICAgIHJldHVybiBjbGllbnQoKS5tZWRpYVBsYXllckVsZW1lbnRJZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZGI4NWEzM2Q4N2M1
MmEzNzc5YzUyYTUwMjE5YWE4YTI0MTI0Mzg4NS4uY2I0MjMzOWMwZGZhMDk2N2ExZjAyY2RlZjM1
OTgxZDU2NTU1ZWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCkBAIC0yODYsNiArMjg2LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIG1lZGlhUGxheWVyUXVldWVUYXNrT25FdmVudExvb3AoRnVuY3Rpb248dm9pZCgpPiYmIHRh
c2spIHsgY2FsbE9uTWFpblRocmVhZChXVEZNb3ZlKHRhc2spKTsgfQogCisgICAgdmlydHVhbCB2
b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmKSB7IEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOyB9CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB2aXJ0
dWFsIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIG51bGxw
dHI7IH0KICAgICB2aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSA9IDA7
CkBAIC01ODQsNiArNTg2LDggQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlVGV4dFRyYWNrKElu
YmFuZFRleHRUcmFja1ByaXZhdGUmKTsKICAgICB2b2lkIHJlbW92ZVZpZGVvVHJhY2soVmlkZW9U
cmFja1ByaXZhdGUmKTsKIAorICAgIHZvaWQgb25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9G
cmFtZU1ldGFkYXRhJiYpOworCiAgICAgYm9vbCByZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0
aW9uKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlvbihUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbiopOwogICAgIHZvaWQgc3luY1RleHRUcmFja0JvdW5kcygpOwpAQCAt
NjgxLDYgKzY4NSw4IEBAIHB1YmxpYzoKICAgICBib29sIGhhc01lZGlhRW5naW5lKCkgY29uc3Q7
CiAKICAgICBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFk
YXRhKCk7CisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworICAg
IHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogCiBwcml2YXRlOgogICAg
IE1lZGlhUGxheWVyKE1lZGlhUGxheWVyQ2xpZW50Jik7CkBAIC03MjUsNiArNzMxLDcgQEAgcHJp
dmF0ZToKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKICAgICBib29sIG1fc2hvdWxkQ29udGludWVBZnRlcktleU5lZWRlZCB7IGZh
bHNlIH07CiAjZW5kaWYKKyAgICBib29sIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEg
eyBmYWxzZSB9OwogfTsKIAogY2xhc3MgTWVkaWFQbGF5ZXJGYWN0b3J5IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5k
ZXggYzUwM2M2NGM3ZDQ5NDhhOGZkZTRlOTRjNjE3OTNlODExZjliMTIwMi4uMjQ3ZTY1ZDFmMzA1
ZGJiOTBjNjAwMjRhYzg4ZDIwOTdlMmJhODAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTMyMyw2ICszMjMs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25v
dG9uaWNUaW1lJikgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgc3RkOjpvcHRpb25h
bDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpIHsgcmV0dXJuIHsgfTsg
fQorICAgIHZpcnR1YWwgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgeyB9
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKaW5kZXggMmRmYjQ3NGNjZjVkMGRiNmIxOGNl
YTY3MjgyOGU3MWYxOTk1M2M3YS4uMTA1NzY2ZDRlNGRjZjQ0OGU5ZTg2NDA0MWJjNWJiNjM5ZDBl
ZDY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaApAQCAtMzQxLDYgKzM0MSwxMCBAQCBwcml2YXRl
OgogICAgIGJvb2wgcGxheUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYpIGZpbmFsOwog
ICAgIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmKSBmaW5hbDsKIAor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2
b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIGNo
ZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCk7CisKICAgICBSZXRhaW5QdHI8QVZVUkxBc3NldD4g
bV9hdkFzc2V0OwogICAgIFJldGFpblB0cjxBVlBsYXllcj4gbV9hdlBsYXllcjsKICAgICBSZXRh
aW5QdHI8QVZQbGF5ZXJJdGVtPiBtX2F2UGxheWVySXRlbTsKQEAgLTQ0OSw2ICs0NTMsOSBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9ydW5uaW5nTW9kYWxQYWludCB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2hhdmVQcm9jZXNzZWRDaGFwdGVyVHJhY2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1fd2Fp
dEZvclZpZGVvT3V0cHV0TWVkaWFEYXRhV2lsbENoYW5nZVRpbWVkT3V0IHsgZmFsc2UgfTsKKyAg
ICB1aW50NjRfdCBtX3NhbXBsZUNvdW50IHsgMCB9OworICAgIFJldGFpblB0cjxpZD4gbV92aWRl
b0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcjsKKyAgICBib29sIG1faXNHYXRoZXJpbmdW
aWRlb0ZyYW1lTWV0YWRhdGEgeyBmYWxzZSB9OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
bW0KaW5kZXggMmEwNzk5ZTNhYWE4OGJmYjgwMjRiZTEyODIzZmI5YmI5NmE4MzAxZi4uM2Q3Yzhi
NzYxNGMzYjhiNWM4NjZhYjk3NGFiNWQ5NjMzNmNiYTdiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
Lm1tCkBAIC0xMTA2LDYgKzExMDYsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmNyZWF0ZUFWUGxheWVyKCkKICAgICAgICAgfSk7CiAgICAgfV07CiAKKyAgICBp
ZiAobV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgc3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICBzZXREZWxheUNhbGxiYWNrcyhmYWxzZSk7CiB9
CiAKQEAgLTE0MzEsNiArMTQzMyw0NCBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OnBsYXRmb3JtUGF1c2VkKCkgY29uc3QKICAgICByZXR1cm4gbV9jYWNoZWRUaW1l
Q29udHJvbFN0YXR1cyA9PSBBVlBsYXllclRpbWVDb250cm9sU3RhdHVzUGF1c2VkOwogfQogCit2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnN0YXJ0VmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBBU1NFUlQoIW1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nT2JzZXJ2ZXIgfHwgbV9hdlBsYXllcik7CisgICAgbV9pc0dhdGhlcmluZ1ZpZGVvRnJh
bWVNZXRhZGF0YSA9IHRydWU7CisKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBhIENBRGlz
cGxheUxpbmsgdG8gZ2V0IHVwZGF0ZXMgb24gcmVuZGVyaW5nLCBmb3Igbm93IHdlIGVtdWxhdGUg
d2l0aCBhZGRQZXJpb2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsLgorICAgIG1fdmlkZW9GcmFt
ZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIgPSBbbV9hdlBsYXllciBhZGRQZXJpb2RpY1RpbWVP
YnNlcnZlckZvckludGVydmFsOlBBTDo6Q01UaW1lTWFrZSgxLCA2MCkgcXVldWU6ZGlzcGF0Y2hf
Z2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOlt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9
XShDTVRpbWUpIHsKKyAgICAgICAgZW5zdXJlT25NYWluVGhyZWFkKFt3ZWFrVGhpc10geworICAg
ICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5jaGVja05l
d1ZpZGVvRnJhbWVNZXRhZGF0YSgpOworICAgICAgICB9KTsKKyAgICB9XTsKK30KKwordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjaGVja05ld1ZpZGVvRnJhbWVNZXRh
ZGF0YSgpCit7CisgICAgQ01UaW1lIGN1cnJlbnRUaW1lID0gW21fYXZQbGF5ZXJJdGVtIGN1cnJl
bnRUaW1lXTsKKyAgICBpZiAoIVttX3ZpZGVvT3V0cHV0IGhhc05ld1BpeGVsQnVmZmVyRm9ySXRl
bVRpbWU6Y3VycmVudFRpbWVdKQorICAgICAgICByZXR1cm47CisKKyAgICBWaWRlb0ZyYW1lTWV0
YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEud2lkdGggPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUud2lkdGgoKTsKKyAgICBtZXRhZGF0YS5oZWlnaHQgPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUuaGVpZ2h0KCk7CisgICAgbWV0YWRhdGEucHJlc2VudGVkRnJhbWVzID0gKyttX3NhbXBs
ZUNvdW50OworCisgICAgcGxheWVyKCktPm9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUo
bWV0YWRhdGEpKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
OjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5n
VmlkZW9GcmFtZU1ldGFkYXRhID0gZmFsc2U7CisKKyAgICBBU1NFUlQobV92aWRlb0ZyYW1lTWV0
YWRhdGFHYXRoZXJpbmdPYnNlcnZlcik7CisgICAgaWYgKG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nT2JzZXJ2ZXIpCisgICAgICAgIFttX2F2UGxheWVyIHJlbW92ZVRpbWVPYnNlcnZlcjpt
X3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyLmdldCgpXTsKKyAgICBtX3ZpZGVv
RnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gbmlsOworfQorCiBNZWRpYVRpbWUgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1EdXJhdGlvbigpIGNvbnN0
CiB7CiAgICAgLy8gRG8gbm90IGFzayB0aGUgYXNzZXQgZm9yIGR1cmF0aW9uIGJlZm9yZSBpdCBo
YXMgYmVlbiBsb2FkZWQgb3IgaXQgd2lsbCBmZXRjaCB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRl
eCA1NjViOGIyOTNhZWNkZjVlNTFmZTVlMTAxNmM1YjdhN2U3MzNkOGE5Li5hMzg4YmEyOGNiY2M5
ZmM3MDNhNzUxNTJmMjM1MzAyZDA0NzE2ZDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC0xMDk4
LDYgKzEwOTgsMjMgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpwYXVzZUF0SG9zdFRp
bWUoTW9ub3RvbmljVGltZSB0aW1lKQogICAgICAgICBtX3BsYXllci0+cGF1c2VBdEhvc3RUaW1l
KHRpbWUpOwogfQogCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN0YXJ0VmlkZW9GcmFt
ZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxh
eWVyLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworfQorCit2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorewor
ICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6b25OZXdW
aWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEpCit7CisgICAg
bV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpQdXNoVmlkZW9GcmFtZU1ldGFkYXRhKG1ldGFkYXRhKSwgbV9pZCk7Cit9CisKICNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIFdURkxvZ0NoYW5uZWwmIFJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmxvZ0NoYW5uZWwoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggMGU5ZjNkN2Ey
MTQ1ZDc1Yjk0M2UyYjU2YTJkODBiYjgwNzNkZjllMS4uYjYxYjg3NDBiOTQ1YjIyOGQ0ZDZjMTI2
YTU5NzJkY2VhZDE0YjI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0zMDcsNiArMzA3LDEwIEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBwbGF5QXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKICAgICB2b2lk
IHBhdXNlQXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKIAorICAgIHZvaWQgc3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKTsKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdlYkNvcmU6OlZp
ZGVvRnJhbWVNZXRhZGF0YSYmKTsKKwogICAgIGJvb2wgbWVkaWFQbGF5ZXJQYXVzZWRPclN0YWxs
ZWQoKSBjb25zdDsKICAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChjb25zdCBNZWRpYVRpbWUm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4ZWM2MDNmZWNjMWYx
OGQ4NGMxNGQ0NzNlYTUxYTgxNTE0MDdkMTIzLi4zOWM4NzI5YjI3MzllMTM2NDRiMzFhYTgwZGJh
ODBkNGEzMzBjOGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTMy
LDYgKzEzMiw5IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291
bnRlZCB7CiAKICAgICBQbGF5QXRIb3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgUGF1
c2VBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUgdGltZSkKKworICAgIFN0YXJ0VmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCkKKyAgICBTdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkK
IH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggNWYwMGNkYTQy
NDMyZWUwNTEyYTc4ZGQyYThlYmQxMmMyZTRjZDgxZS4uNWNmOTYwYmMwOGZjZjNhZTdlYTRmNzAy
ZTY4NDA2ZDBmM2M1YmFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtMTM2
MSw2ICsxMzYxLDI3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwYXVzZUF0SG9z
dFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAor
c3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6dmlkZW9GcmFtZU1ldGFkYXRhKCkKK3sKKyAgICBhdXRvIHZpZGVvRnJhbWVNZXRhZGF0YSA9
IHN0ZDo6ZXhjaGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEsIHsgfSk7CisgICAgcmV0dXJuIHZp
ZGVvRnJhbWVNZXRhZGF0YTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN0
YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBjb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RhcnRWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKSwgbV9pZCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RvcFZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OnB1c2hWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYg
dmlkZW9GcmFtZU1ldGFkYXRhKQoreworICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhID0gV1RGTW92
ZSh2aWRlb0ZyYW1lTWV0YWRhdGEpOworfQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6cmVxdWVzdFJlc291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIHJlbW90ZU1l
ZGlhUmVzb3VyY2VJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0
LCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI6OkxvYWRPcHRpb25zIG9wdGlv
bnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAg
ICBBU1NFUlQoIW1fbWVkaWFSZXNvdXJjZXMuY29udGFpbnMocmVtb3RlTWVkaWFSZXNvdXJjZUlk
ZW50aWZpZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGZmMzVjZTA3YWU2MmQ1
MWY5OGQyOWQ1MWI1NmYxZjAzY2FmZDhjMjYuLmQ1MTk5ZWY3YmMzMTg4YWY1MmQ0MWQ1M2RjN2E2
MTIwZjM3ODVhYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApAQCAtMzksNiArMzksNyBA
QAogI2luY2x1ZGUgIlZpZGVvVHJhY2tQcml2YXRlUmVtb3RlLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9NZWRpYVBsYXllclByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2lu
RGF0YS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9GcmFtZU1ldGFkYXRhLmg+CiAjaW5jbHVk
ZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtMzk4LDYgKzM5OSwxMSBAQCBwcml2YXRlOgogICAgIGJv
b2wgcGxheUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYpIGZpbmFsOwogICAgIGJvb2wg
cGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmKSBmaW5hbDsKIAorICAgIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEo
KSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgZmlu
YWw7CisgICAgdm9pZCBzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgZmluYWw7CisK
KyAgICB2b2lkIHB1c2hWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFk
YXRhJiYpOwogCiAgICAgV2Vha1B0cjxXZWJDb3JlOjpNZWRpYVBsYXllcj4gbV9wbGF5ZXI7CiAg
ICAgUmVmPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcj4gbV9tZWRpYVJlc291
cmNlTG9hZGVyOwpAQCAtNDQ5LDYgKzQ1NSw3IEBAIHByaXZhdGU6CiAjaWYgVVNFKEFWRk9VTkRB
VElPTikKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9waXhlbEJ1ZmZlckZvckN1
cnJlbnRUaW1lOwogI2VuZGlmCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1l
TWV0YWRhdGE+IG1fdmlkZW9GcmFtZU1ldGFkYXRhOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCmluZGV4IDEx
OGUwMjVhNjliM2ZhNDFmNTU5ZTVhYTBiZjk4ZDM3OTFiZTVkZTQuLmM4MmY2ZjE4ZmQyNzg1YmM3
NjBkYjBlZWI4YzU3MmE5YWJmMWFlOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlLm1lc3NhZ2VzLmluCkBAIC05MSw2ICs5MSw4IEBAIG1lc3NhZ2VzIC0+IE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIEdldFJhd0Nvb2tpZXMoVVJMIHVybCkgLT4gKFZlY3RvcjxXZWJDb3JlOjpDb29raWU+IHJl
c3VsdCkgQXN5bmMKICNlbmRpZgorCisgICAgUHVzaFZpZGVvRnJhbWVNZXRhZGF0YShzdHJ1Y3Qg
V2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhIG1ldGFkYXRhKTsKIH0KIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjU0ZGRlMWE4
N2M5MTRhN2Q0MWI5YWM3MzM2NWFhNWE2ZWNmOTNlOC4uMGI1MmUzZjU4MzA0NjlhMmUxM2ZlZDY5
Yzg0ZGVkNjk5MTQ4OTQ3YSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEwLTIxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFbmFibGUgcnZmYyBieSBkZWZhdWx0IGluIHRlc3QgcnVubmVyLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorCiAyMDIxLTEwLTIxICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBG
aXggR1RLIGJ1aWxkIHdpdGggb2xkIHZlcnNpb24gb2YgQVRTUEkgYWZ0ZXIgcjI4NDM2Ny4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZDIwMTA1NDFl
MWI0NGIxNzRjMmUxY2RlNTI0NDEyNjkyNDU1YjBmLi5mMzM5YTQzMzNjMGE5MGY1YTRkZTNlZTZm
N2M3MDg2ZTc2MDE4ZmM1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCkBAIC04NjMsMTEgKzg2Myw4IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2Vz
Rm9yVGVzdE9wdGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBXCiAgICAg
ICAgIFtwcmVmZXJlbmNlcyBfcmVzZXRGb3JUZXN0aW5nXTsKIAogICAgICAgICBpZiAoZW5hYmxl
QWxsRXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKLSAgICAgICAgICAgIGZvciAoV2ViRmVhdHVyZSAq
ZmVhdHVyZSBpbiBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkgewotICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4gRW5hYmxl
IGl0IHdoZW4gdGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4KLSAgICAg
ICAgICAgICAgICBhdXRvIGVuYWJsZWQgPSBbZmVhdHVyZS5uYW1lIGlzRXF1YWw6QCJSZXF1ZXN0
VmlkZW9GcmFtZUNhbGxiYWNrIl0gPyBOTyA6IFlFUzsKLSAgICAgICAgICAgICAgICBbcHJlZmVy
ZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJl
bmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdKQorICAgICAgICAgICAgICAgIFtwcmVmZXJlbmNl
cyBfc2V0RW5hYmxlZDpZRVMgZm9yRmVhdHVyZTpmZWF0dXJlXTsKICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpKSB7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDA0ZjFkZDIwMjhmZTg1ZGRhYTVl
NjU0OGJiZDM4NTdmYTQwNjQ4ZGEuLjdkOTAwYWVmN2JkMWRhNDE3NWVlOGRlYWY0NWIzODljNjBj
OWI5ZWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC04
OTcsOSArODk3LDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29u
c2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW8KICAgICAgICAgaWYgKGVuYWJs
ZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKQogICAgICAgICAgICAgV0tQcmVmZXJlbmNlc0VuYWJs
ZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAotICAgICAgICAvLyBGSVhN
RTogV2UgZGlzYWJsZSBydmZjIGJ5IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2aWRlbyBi
YWNrZW5kIHN1cHBvcnQgaXMgZ29vZCBlbm91Z2guCi0gICAgICAgIFdLUHJlZmVyZW5jZXNTZXRS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwotCiAg
ICAgICAgIFdLUHJlZmVyZW5jZXNSZXNldEFsbEludGVybmFsRGVidWdGZWF0dXJlcyhwcmVmZXJl
bmNlcyk7CiAKICAgICAgICAgV0tQcmVmZXJlbmNlc1NldFByb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
RW5hYmxlZChwcmVmZXJlbmNlcywgb3B0aW9ucy5zaG91bGRFbmFibGVQcm9jZXNzU3dhcE9uTmF2
aWdhdGlvbigpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA4ZTMzZjFiNTI2YjQyYmU2MDA2ODJkMjgzNDMxNTMzYTVlNGY2
NWZjLi42NmVhMDI5MzA2YjNjY2U3MGM1YzdkYzYwNjg1MDI1YmVjYTQxNTEzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMjEtMTAtMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0xMC0yMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgWyBpT1MgXSBmYXN0L2lubGluZS9pbmxpbmUtYmFja2dyb3Vu
ZC1jbGlwLXRleHQtbXVsdGlsaW5lLmh0bWwgaXMgaW1hZ2UgZmFpbGluZwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggMzhhNTYwYTNkY2FjMzI5NDg5Y2RkM2YxMjI1ZTFjNjdkZTJj
YjQ4NC4uNDdmNTVjOGI0MGZhZjRjMzMzNmNiMTE2YmE2NzIxY2EwYTg2NTE0MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAtMjEgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3Vu
ZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVz
dC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJh
Y2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWw6CisKIDIwMjEtMTAt
MjAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBVUkxQYXJzZXIgc2hvdWxkIHJlamVjdCBob3N0cyB3aXRoIEMwIGNvbnRyb2wgY2hhcmFjdGVy
cyBvciBVKzAwN0YKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0
CmluZGV4IDY2MzlkNGYyODg1ZTFmOTc2NDhkNTA1NDc3MGVhZmViNDMyZGM1MGQuLjdlNWM0ODYy
MDQ1MzQ3OTQzOTQxYmNjYzVkNGJlZTc2NjIxYTYyMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKIAotSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCBhIHZpZGVvIG91dHNp
ZGUgb2YgdGhlIERPTSBjYW4gc3RpbGwgdXNlIHZpZGVvLnJWRkMuIFRlc3QgdGltZWQgb3V0Ci1U
SU1FT1VUIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJkaXNwbGF5Om5vbmUiLiBUZXN0IHRp
bWVkIG91dAotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAidmlzaWJpbGl0eTpo
aWRkZW4iLiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IGEgdmlkZW8gb3V0c2lkZSBvZiB0aGUg
RE9NIGNhbiBzdGlsbCB1c2UgdmlkZW8uclZGQy4KK1BBU1MgVGVzdCB2aWRlby5yVkZDIHdvcmtz
IHdpdGggImRpc3BsYXk6bm9uZSIuCitQQVNTIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJ2
aXNpYmlsaXR5OmhpZGRlbiIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dAppbmRleCBjYTdjYjNlOTRjZGZiMjUyNThiOWQ5OWI0ZjRkNDdlZGEwZTc3MjE2Li5jZDc5NjEy
MDU1MTcxNjhiNTQzYmY1OWJiZTBmYWUyNjlmZTBiZDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDggQEAKIAogCi1IYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBUZXN0IHdlIGNhbiByZWdpc3RlciBh
IHZpZGVvLnJWRkMgY2FsbGJhY2suIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8u
clZGQyBjYWxsYmFja3MgcnVuIGJlZm9yZSB3aW5kb3cuckFGIGNhbGxiYWNrcy4gVGVzdCB0aW1l
ZCBvdXQKLVRJTUVPVVQgVGVzdCB3ZSBjYW4gY2FuY2VsIGEgdmlkZW8uclZGQyByZXF1ZXN0LiBU
ZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IHdlIGNhbiByZWdpc3RlciBhIHZpZGVvLnJWRkMgY2Fs
bGJhY2suCitQQVNTIFRlc3QgdmlkZW8uclZGQyBjYWxsYmFja3MgcnVuIGJlZm9yZSB3aW5kb3cu
ckFGIGNhbGxiYWNrcy4KK1BBU1MgVGVzdCB3ZSBjYW4gY2FuY2VsIGEgdmlkZW8uclZGQyByZXF1
ZXN0LgogUEFTUyBUZXN0IGludmFsaWQgY2FsbHMgdG8gdGhlIHZpZGVvLnJWRkMgQVBJLgotVElN
RU9VVCBUZXN0IHZpZGVvLnJWRkMgZG9lcyBub3Qgc3RvcCB3aGVuIHN3aXRjaGluZyBzb3VyY2Vz
LiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IHZpZGVvLnJWRkMgZG9lcyBub3Qgc3RvcCB3aGVu
IHN3aXRjaGluZyBzb3VyY2VzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1w
YXJhbGxlbC1leHBlY3RlZC50eHQKaW5kZXggNmZlNjg0YWU4ZTY2ZGFiOGNjZTY4ZDIyNzUzNTk1
YTg0NDhjNmI5MC4uMzJiOTlhZWQ1NDU3ZGZhMWJmMmE5MTYzMzFkMjZmMWVkOWQ5YjVkMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dApA
QCAtMSw3ICsxLDUgQEAKIAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51
bGwKLQotVElNRU9VVCBUZXN0IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5mb3JtYXRpb24uIFRl
c3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3Qgd2UgY2FuIGNhbmNlbCBjYWxsYmFja3MgZnJvbSBj
YWxsYmFja3MuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgY2FsbGJhY2tzIGdldCB0aGUgc2Ft
ZSBpbmZvcm1hdGlvbi4KK1BBU1MgVGVzdCB3ZSBjYW4gY2FuY2VsIGNhbGxiYWNrcyBmcm9tIGNh
bGxiYWNrcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1l
eHBlY3RlZC50eHQKaW5kZXggYjRhNWJlM2RkMjUxMmI4NWMzODU1NWI4ZjNjZTcwMzY3OGVkNGRm
ZC4uYTYzMWExNzZiZDU5YjZkZjFjNDU1NmQzY2RiMTE0NWQzYzY5NTg2MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDcg
KzEsNSBAQAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1U
SU1FT1VUIFRlc3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24gdGhlIG5leHQgZnJh
bWUuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8u
clZGQywgYW5kIHZlcmlmeSB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy4gVGVzdCB0aW1lZCBvdXQK
K1BBU1MgVGVzdCBuZXcgY2FsbGJhY2tzIGFyZSBvbmx5IGNhbGxlZCBvbiB0aGUgbmV4dCBmcmFt
ZS4KK0ZBSUwgVGVzdCBjaGFpbmluZyBjYWxscyB0byB2aWRlby5yVkZDLCBhbmQgdmVyaWZ5IHRo
ZSByZXF1aXJlZCBwYXJhbWV0ZXJzLiBhc3NlcnRfZ3JlYXRlcl90aGFuOiBwcmVzZW50YXRpb25U
aW1lIHNob3VsZCBiZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgZXhwZWN0ZWQgYSBudW1iZXIg
YnV0IGdvdCBhICJ1bmRlZmluZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNh
bGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sCmluZGV4IGE0NDA0
MTQzZmE0MDhlYmJiOGY0OWNjMzE4MGUwNjVkMjAwZmZhNGEuLjQ3YTEwOWU4MjJhYmQ0ZWVlYjM1
Y2I0MTJiNDQwOWVkZGEwYjMzNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbApAQCAtMTA1LDYg
KzEwNSw3IEBAIHRlc3QoZnVuY3Rpb24odCkgewogCiBwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rp
b24odCkgewogICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7
CisgICAgdmlkZW8uYXV0b3BsYXkgPSB0cnVlOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQodmlkZW8pOwogCiAgICAgbGV0IGZpcnN0X3dpZHRoID0gMDsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiMDQzNTc5YjhhYzgxYjNhYTIw
YjlkZDgzODAyOTNhNGRkMjczMjQ1Li5mYzk3MTRmMjZhYzNjNjBiOWVkODI2ZWRhNDZlYzg3Njg3
MTQ3ZTk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xMzksMTMgKzEzOSw4IEBAIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jbmFtZS1jbG9ha2luZy10b3Atbm8tY25hbWUtc3ViLTNwLWNuYW1lLmh0bWwKIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbmFtZS1jbG9ha2luZy10b3Atbm8tY25hbWUtc3Vi
LW5vLWNuYW1lLmh0bWwgWyBQYXNzIF0KIAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjIFsgUGFzcyBdCi0jIFRpbWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIHJl
Z3VsYXIgdmlkZW8gc3RyZWFtaW5nIGJhY2tlbmQgc3VwcG9ydC4KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJl
Zm9yZS14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS5o
dG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kdXJpbmcteHItc2Vzc2lvbi5odHRwcy5odG1s
IFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC5odG1sIFsgU2tpcCBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1yZXBlYXRpbmcuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBbIFNr
aXAgXQogCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBwbGF0Zm9y
bS1zcGVjaWZpYyBkaXJlY3Rvcmllcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCBlMzEyZmU2ZGRhYTM2NGZiMjk3MTc0MDNmYjY2OWNhMTdm
YzM1ZjY5Li44Nzk5YmMzNjU1ZWZhMWE1MGE0MTA1YTRmMzgxOWIyMGMxNTQwYTI4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjAsMTMg
KzEyMCw4IEBAIGZhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS9pbWFnZS1uby10cmFuc2NvZGUt
b3Blbi1wYW5lbC5odG1sIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS10cmFu
c2FjdGlvbi1jeWNsZS5odG1sIFsgUGFzcyBdCiAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYyBbIFBhc3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFk
ZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBvcnQuCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1iZWZvcmUteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1k
b20uaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMu
aHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZj
L3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwg
WyBTa2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxh
dGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444237</attachid>
            <date>2021-11-15 04:12:12 -0800</date>
            <delta_ts>2021-11-15 04:33:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211115131204.patch</filename>
            <type>text/plain</type>
            <size>47494</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uM2I1YTYzZWYyZWVmMGIzZTdhYmY0NDdhYjRjYzc5
YTI3MGM4YmRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
clByaXZhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNv
bmZvcm1lckNWLmg6CisKIDIwMjEtMTEtMTQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgRmluZ2VycyBkb3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQg
c3RvcCBhbiBhbmltYXRlZCBzY3JvbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNDU4ZGYzOWY1YTNhZTBmZjBhZTIy
Mjc3ZjFhYTI0ZWJkZGEzY2VkZC4uNzNlNDUxZWMxZTI2ZDZjM2I2MmVmNTQyYzY2YTk4MDVhYjFj
MzgyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMS0xMS0xNSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24g
c2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NDY1NzM3Mj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgSVBDIG1l
c3NhZ2luZyB0byBzdGFydC9zdG9wIG1ldGFkYXRhIGdhdGhlcmluZyBmcm9tIFdlYlByb2Nlc3Mg
dG8gR1BVUHJvY2Vzcy4KKyAgICAgICAgQWRkIElQQyBtZXNzYWdpbmcgdG8gcHVzaCBtZXRhZGF0
YSB0byBXZWJQcm9jZXNzLCBpbmNsdWRpbmcgc2VuZGluZyB0aGUgY29ycmVzcG9uZGluZyBDVlBp
eGVsQnVmZmVyIGZvciB0aGUgY3VycmVudCBtZXRhZGF0YS4KKyAgICAgICAgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlIHdpbGwgdGhlbiBzZXJ2ZSB0aGF0IGJ1ZmZlciB3aGVuIGJlaW5nIHJlcXVl
c3RlZCB0aGUgY3VycmVudCBpbWFnZS4KKyAgICAgICAgVGhpcyBlbnN1cmVzIHRoYXQgcGFpbnRp
bmcgb24gYSBjYW52YXMgZG9lcyBub3QgbWFyayB0aGUgY3VycmVudCBidWZmZXIgYXMgYWNxdWly
ZWQsIHdoaWNoIHdvdWxkIHRoZW4gc2tpcCB0aGUgdmlkZW8gZnJhbWUgbWV0YWRhdGEgZ2F0aGVy
aW5nLgorICAgICAgICBUaGlzIGFsc28gZW5zdXJlcyB0aGUgc2FtZSBidWZmZXIgaXMgdXNlZCBp
ZiBhIHZpZGVvIGVsZW1lbnQgaXMgcGFpbnRlZCBzZXZlcmFsIHRpbWVzIGR1cmluZyB0aGUgc2Ft
ZSBydmZjIGNhbGxiYWNrLgorICAgICAgICBUaGlzIGhhcyB0aGUgc2lkZSBiZW5lZml0IG9mIHJl
bW92aW5nIHRoZSBzeW5jaHJvbm91cyBJUEMgdG8gcGFpbnQgdGhlIHZpZGVvIGVsZW1lbnQgaW4g
YSBjYW52YXMuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuY3BwOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHlDb2NvYS5tbToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbToKKwogMjAyMS0xMS0xNCAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IGRhZW1vbiBB
UEkgcmVhZHkgdG8gd29yayBpbiB0aGUgaU9TIHNpbXVsYXRvciAoc3RhcnRpbmcgd2l0aCBXZWJQ
dXNoRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA5OTgxMGViODIwM2NjZGE2YjVjOWUzODE2MTRiNjJiZTZlZjJhMWNjLi5lYWM0
MWNiZDg5ZDY5MmZiNzY4NjVhY2I3NTVhYTYwYzg4MDM2NjUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjIyLDYgKzEyMjIs
NyBAQAogCQk0MUU2RDcxQjI2RUExQTQ2MDBCNzY1RDYgLyogUlRDRXJyb3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQjdDMDRCMjZFNjkxNzEwMEQz
NkMwNyAvKiBSVENFcnJvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQxRTlEQ0U3MjMxOTc0QkYwMEYzNTk0OSAvKiBCbG9iTG9hZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUU5RENFNDIzMTk3
M0ZFMDBGMzU5NDkgLyogQmxvYkxvYWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTQxRTlEQ0U5MjMxOUNBNzYwMEYzNTk0OSAvKiBOZXR3b3Jr
U2VuZFF1ZXVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MUU5RENFODIzMTlDQTc1MDBGMzU5NDkgLyogTmV0d29ya1NlbmRRdWV1ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxRUUyQUNCMjc0MjY0
QzcwMDhBQzA1NyAvKiBDVlBpeGVsQnVmZmVyUmVmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUVFMkFDOTI3NDI2NEM0MDA4QUMwNTcgLyogQ1ZQaXhl
bEJ1ZmZlclJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQxRjA2MjE0MEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYw
NjIxMjBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oICovOyB9
OwogCQk0MUYxRDIxRjBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUYxRDIxRDBF
RjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFGQUJEMkQxRjRERkU0QTAwNkE2
Qzk3IC8qIERPTUNhY2hlRW5naW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUZBQkQyQjFGNERGRTQyMDA2QTZDOTcgLyogRE9NQ2FjaGVFbmdpbmUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODU5
Niw2ICs4NTk3LDcgQEAKIAkJNDFFOURDRTYyMzE5NzQyMzAwRjM1OTQ5IC8qIEVuZGluZ1R5cGUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVuZGluZ1R5cGUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MUU5RENFODIzMTlDQTc1MDBGMzU5NDkgLyogTmV0d29ya1NlbmRR
dWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3JrU2VuZFF1ZXVl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRTlEQ0VBMjMxOUNBRTgwMEYzNTk0
OSAvKiBOZXR3b3JrU2VuZFF1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE5ldHdvcmtTZW5kUXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MUVFMkFDOTI3NDI2NEM0MDA4QUMwNTcgLyogQ1ZQaXhlbEJ1ZmZlclJlZi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDVlBpeGVsQnVmZmVyUmVmLmg7IHBhdGggPSBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsg
fTsKIAkJNDFGMDYyMTIwRjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3Vy
Y2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yRGF0YWJhc2VS
ZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUYwNjIxMzBGNUYxOTI2
MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFGMDk2MzQyNEY5MERFQTAwMDlGQjkzIC8qIFRl
eHREZWNvZGVyU3RyZWFtRGVjb2Rlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVGV4dERlY29kZXJTdHJlYW1EZWNvZGVy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MTMwLDYgKzE4MTMyLDcgQEAK
IAkJCQk0MTZGODA3QzI0NTA5RjMzMDBCNjhGMDIgLyogQ0dEaXNwbGF5U3RyZWFtQ2FwdHVyZVNv
dXJjZS5oICovLAogCQkJCTA3MTc3NjVFMjZDMzAzQjcwMEE2MzI5OSAvKiBDR0Rpc3BsYXlTdHJl
YW1TY3JlZW5DYXB0dXJlU291cmNlLmggKi8sCiAJCQkJMDcxNzc2NUYyNkMzMDNCNzAwQTYzMjk5
IC8qIENHRGlzcGxheVN0cmVhbVNjcmVlbkNhcHR1cmVTb3VyY2UubW0gKi8sCisJCQkJNDFFRTJB
QzkyNzQyNjRDNDAwOEFDMDU3IC8qIENWUGl4ZWxCdWZmZXJSZWYuaCAqLywKIAkJCQkzRjgwMjAz
MTFFOUUzODFEMDBERUM2MUQgLyogQ29yZUF1ZGlvQ2FwdHVyZURldmljZS5jcHAgKi8sCiAJCQkJ
M0Y4MDIwMzIxRTlFMzgxRDAwREVDNjFEIC8qIENvcmVBdWRpb0NhcHR1cmVEZXZpY2UuaCAqLywK
IAkJCQkzRjgwMjAzMzFFOUUzODFEMDBERUM2MUQgLyogQ29yZUF1ZGlvQ2FwdHVyZURldmljZU1h
bmFnZXIuY3BwICovLApAQCAtMzYxMDgsNiArMzYxMTEsNyBAQAogCQkJCUNENjQxRUI0MTgxOEY1
RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
REM4QjVBQjE4MDQ3RkYxMDAxNkU2ODUgLyogU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEQzhCNUFEMTgwNEFFNUQwMDE2RTY4NSAvKiBTb3VyY2VCdWZm
ZXJQcml2YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUVFMkFDQjI3NDI2NEM3MDA4
QUMwNTcgLyogQ1ZQaXhlbEJ1ZmZlclJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODRBODFGNDIw
RkM3RTAyNzAwOTU1MzAwIC8qIFNvdXJjZUdyYXBoaWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUQw
MUEyN0FFMTBDOUJGRDgwMDAyNkE0MiAvKiBTcGFjZVNwbGl0U3RyaW5nLmggaW4gSGVhZGVycyAq
LywKIAkJCQk2MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAy
ZWNiZjVkYmFhZGVkNDJlNzc5MDQ0MDVhYzAxMzFlMzhmYzI5YmU3Li42OTU2Njk0OTYzMTBlZjkx
MDhiOTU2ZmRhNDgyMTQzMDE0OTcwZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaApAQCAtNjQxLDYgKzY0MSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldENoYW5n
aW5nVmlkZW9GdWxsc2NyZWVuTW9kZShib29sIHZhbHVlKSB7IG1fY2hhbmdpbmdWaWRlb0Z1bGxz
Y3JlZW5Nb2RlID0gdmFsdWU7IH0KICAgICBib29sIGlzQ2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5N
b2RlKCkgY29uc3QgeyByZXR1cm4gbV9jaGFuZ2luZ1ZpZGVvRnVsbHNjcmVlbk1vZGU7IH0KIAor
cHJvdGVjdGVkOgorICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgb3ZlcnJpZGU7
CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIApAQCAtNjkyLDcgKzY5
NSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBtZWRpYVBsYXllclNpemVDaGFuZ2VkKCkgZmluYWw7
CiAgICAgdm9pZCBtZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKCkgZmluYWw7CiAgICAg
Ym9vbCBtZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkgZmluYWw7Ci0g
ICAgdm9pZCBtZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlh
UGxheWVyV2lsbEluaXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQgbWVkaWFQ
bGF5ZXJEaWRJbml0aWFsaXplTWVkaWFFbmdpbmUoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxh
eWVyUmVsb2FkQW5kUmVzdW1lUGxheWJhY2tJZk5lZWRlZCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKaW5kZXggYmIwNWUyNzYxZjgyZGM5ZGUzMTFkNGNi
YTIzNDc5NTE2OTA5YzMyOS4uZDc2OWU1M2FlYjFlMThhN2Q5NzFhNjM2ZTE5ZDJiZTA1NjJmZTU3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC01ODgsNiAr
NTg4LDkgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50OjpleGl0VG9GdWxsc2NyZWVuTW9kZVdpdGhv
dXRBbmltYXRpb25JZlBvc3NpYmxlKEhUTUxNZWRpYUUKIAogdW5zaWduZWQgSFRNTFZpZGVvRWxl
bWVudDo6cmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhSZWY8VmlkZW9GcmFtZVJlcXVlc3RDYWxs
YmFjaz4mJiBjYWxsYmFjaykKIHsKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0
eSgpICYmIHBsYXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKTsKKwogICAgIGF1dG8gaWRlbnRpZmllciA9ICsrbV9uZXh0VmlkZW9GcmFt
ZVJlcXVlc3RJbmRleDsKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5hcHBlbmQobWFrZVVuaXF1
ZVJlZjxWaWRlb0ZyYW1lUmVxdWVzdD4oaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpKTsK
IApAQCAtNjA3LDYgKzYxMCw5IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y2FuY2VsVmlkZW9G
cmFtZUNhbGxiYWNrKHVuc2lnbmVkIGlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgbV92aWRlb0ZyYW1lUmVxdWVzdHMucmVtb3ZlKGluZGV4KTsKKworICAgIGlmIChtX3Zp
ZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigp
LT5zdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiB9CiAKIHZvaWQgSFRNTFZpZGVv
RWxlbWVudDo6c2VydmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNvbHV0
aW9uU2Vjb25kcyBub3cpCkBAIC02MjcsMTMgKzYzMywyMyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1l
bnQ6OnNlcnZpY2VSZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNl
Y29uZAogICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsYmFja0NvdW50OyAr
K2luZGV4KSB7CiAgICAgICAgIGF1dG8mIHJlcXVlc3QgPSBtX3ZpZGVvRnJhbWVSZXF1ZXN0c1tp
bmRleF07CiAgICAgICAgIGlmICghcmVxdWVzdC0+Y2FuY2VsbGVkKSB7Ci0gICAgICAgICAgICBy
ZXF1ZXN0LT5jYWxsYmFjay0+aGFuZGxlRXZlbnQobm93LnZhbHVlKCksICp2aWRlb0ZyYW1lTWV0
YWRhdGEpOworICAgICAgICAgICAgcmVxdWVzdC0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0ZDo6
cm91bmQobm93Lm1pbGxpc2Vjb25kcygpKSwgKnZpZGVvRnJhbWVNZXRhZGF0YSk7CiAgICAgICAg
ICAgICByZXF1ZXN0LT5jYW5jZWxsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQogICAgIG1f
aXNSdW5uaW5nVmlkZW9GcmFtZVJlcXVlc3RzID0gZmFsc2U7CiAKICAgICBtX3ZpZGVvRnJhbWVS
ZXF1ZXN0cy5yZW1vdmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2Fs
bGJhY2stPmNhbmNlbGxlZDsgfSk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNF
bXB0eSgpICYmIHBsYXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZygpOworfQorCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6Om1lZGlhUGxheWVy
RW5naW5lVXBkYXRlZCgpCit7CisgICAgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdp
bmVVcGRhdGVkKCk7CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYg
cGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhl
cmluZygpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRl
b0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4
IDllYjhmNmU1YjhjN2FlMDBjNGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLjg1NmFkZWE3OGZiNzM5
OGQ4ZmI0NWY0NDhhMzU5MWJkYTU1Zjk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFZpZGVvRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5oCkBAIC0xNDEsNiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpNZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lk
IG1lZGlhUGxheWVyRW5naW5lVXBkYXRlZCgpIGZpbmFsOworCiAgICAgc3RkOjp1bmlxdWVfcHRy
PEhUTUxJbWFnZUxvYWRlcj4gbV9pbWFnZUxvYWRlcjsKIAogICAgIEF0b21TdHJpbmcgbV9kZWZh
dWx0UG9zdGVyVVJMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9G
cmFtZU1ldGFkYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRh
dGEuaAppbmRleCA4ZmQ5YTQ3MDAyNDhkNGQyNzhkY2UyNzQ5NzgzNjBhNTdiYWY1OWVhLi45NGRk
ZjBlZjBmNjExMzViZDliNjg5MDhiODExNTZmYmJiZGYyM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaApAQCAtNDMsOCArNDMsNzMgQEAgc3RydWN0
IFZpZGVvRnJhbWVNZXRhZGF0YSB7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNhcHR1cmVU
aW1lOwogICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiByZWNlaXZlVGltZTsKICAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBydHBUaW1lc3RhbXA7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVj
b2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBkZWNvZGUoRGVj
b2RlciYpOwogfTsKIAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2b2lkIFZpZGVv
RnJhbWVNZXRhZGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5j
b2RlciA8PCBwcmVzZW50YXRpb25UaW1lIDw8IGV4cGVjdGVkRGlzcGxheVRpbWUgPDwgd2lkdGgg
PDwgaGVpZ2h0IDw8IG1lZGlhVGltZSA8PCBwcmVzZW50ZWRGcmFtZXMgPDwgcHJvY2Vzc2luZ0R1
cmF0aW9uIDw8IGNhcHR1cmVUaW1lIDw8IHJlY2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30K
KwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJh
bWVNZXRhZGF0YT4gVmlkZW9GcmFtZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikK
K3sKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBkZWNv
ZGVyID4+IHByZXNlbnRhdGlvblRpbWU7CisgICAgaWYgKCFwcmVzZW50YXRpb25UaW1lKQorICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGV4
cGVjdGVkRGlzcGxheVRpbWU7CisgICAgZGVjb2RlciA+PiBleHBlY3RlZERpc3BsYXlUaW1lOwor
ICAgIGlmICghZXhwZWN0ZWREaXNwbGF5VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKworICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoOworICAgIGRlY29kZXIgPj4g
d2lkdGg7CisgICAgaWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKwor
ICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdo
dDsKKyAgICBpZiAoIWhlaWdodCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAg
IHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBtZWRpYVRpbWU7CisgICAgZGVjb2RlciA+PiBtZWRpYVRp
bWU7CisgICAgaWYgKCFtZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisK
KyAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBwcmVzZW50ZWRGcmFtZXM7CisgICAgZGVjb2Rl
ciA+PiBwcmVzZW50ZWRGcmFtZXM7CisgICAgaWYgKCFwcmVzZW50ZWRGcmFtZXMpCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8
ZG91YmxlPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAgIGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1
cmF0aW9uOworICAgIGlmICghcHJvY2Vzc2luZ0R1cmF0aW9uKQorICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IGNh
cHR1cmVUaW1lOworICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAgaWYgKCFjYXB0dXJl
VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8
c3RkOjpvcHRpb25hbDxkb3VibGU+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2Vp
dmVUaW1lOworICAgIGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1l
c3RhbXA7CisgICAgZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3Rh
bXApCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9GcmFt
ZU1ldGFkYXRhIHsgKnByZXNlbnRhdGlvblRpbWUsICpleHBlY3RlZERpc3BsYXlUaW1lLCAqd2lk
dGgsICpoZWlnaHQsICptZWRpYVRpbWUsICpwcmVzZW50ZWRGcmFtZXMsICpwcm9jZXNzaW5nRHVy
YXRpb24sICpjYXB0dXJlVGltZSwgKnJlY2VpdmVUaW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisK
IH0KIAogI2VuZGlmIC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBhNDM2YTU1OGE3OTlhNjY2YTZlZjZh
NGY1ZjM4MDk1NGQxNzA2NTk2Li5mNTA1ZmY4MjRhNzNhZWRmMTFhOGM4ZDUwODMxZTEzYjJiMzE4
ZDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCkBAIC01OTAsNiArNTkwLDggQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0
TWVkaWFFbmdpbmUoY29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgICAgICAg
ICAgICAgIG1fcHJpdmF0ZS0+c2V0UGFnZUlzVmlzaWJsZShtX3BhZ2VJc1Zpc2libGUpOwogICAg
ICAgICAgICAgaWYgKG1fdmlzaWJsZUluVmlld3BvcnQpCiAgICAgICAgICAgICAgICAgbV9wcml2
YXRlLT5zZXRWaXNpYmxlSW5WaWV3cG9ydChtX3Zpc2libGVJblZpZXdwb3J0KTsKKyAgICAgICAg
ICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICAgICAgICAg
IG1fcHJpdmF0ZS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICAgICAg
ICAgIG1fcHJpdmF0ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1fcHJpdmF0ZUJyb3dzaW5nLCBtX3By
ZWxvYWQsIG1fcHJlc2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJlcGFyZVRvUmVuZGVyKTsKICAgICAg
ICAgfQogICAgIH0KQEAgLTE3MjEsNiArMTcyMywyMyBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJh
bWVNZXRhZGF0YT4gTWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCiAgICAgcmV0dXJu
IG1fcHJpdmF0ZS0+dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6
OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5n
VmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKyAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFt
ZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0b3BWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0
YWRhdGEgPSBmYWxzZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRo
ZXJpbmcoKTsKK30KKwordm9pZCBNZWRpYVBsYXllcjo6b25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEo
VmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVm
PiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllck9uTmV3VmlkZW9GcmFtZU1l
dGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1ZmZlcikpOworfQorCiBTdHJpbmcg
TWVkaWFQbGF5ZXI6OmVsZW1lbnRJZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNsaWVudCgpLm1l
ZGlhUGxheWVyRWxlbWVudElkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaAppbmRleCA1YjFlMTc0NTEzZTA2ZmEwMWQ1MTkwYjU1ZTUwNTM1NTVl
ZmQ3NjM3Li4wMDQ1YjU0ZjUwNDgyMDMzZDRmOGYzNGM2Y2Q2NWUzZDkwOWE3MzEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTI4Niw2
ICsyODYsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyUXVldWVU
YXNrT25FdmVudExvb3AoRnVuY3Rpb248dm9pZCgpPiYmIHRhc2spIHsgY2FsbE9uTWFpblRocmVh
ZChXVEZNb3ZlKHRhc2spKTsgfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdmlydHVhbCB2
b2lkIG1lZGlhUGxheWVyT25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRh
JiYsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmKSB7IH0KKyNlbmRpZgorCiAjaWYgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECiAgICAgdmlydHVhbCBjb25zdCB2b2lkKiBtZWRpYVBsYXllckxv
Z0lkZW50aWZpZXIoKSB7IHJldHVybiBudWxscHRyOyB9CiAgICAgdmlydHVhbCBjb25zdCBMb2dn
ZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkgPSAwOwpAQCAtNTg0LDYgKzU4OCwxMCBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZW1vdmVUZXh0VHJhY2soSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZSYpOwogICAg
IHZvaWQgcmVtb3ZlVmlkZW9UcmFjayhWaWRlb1RyYWNrUHJpdmF0ZSYpOwogCisjaWYgUExBVEZP
Uk0oQ09DT0EpCisgICAgdm9pZCBvbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShWaWRlb0ZyYW1lTWV0
YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpOworI2VuZGlmCisKICAgICBi
b29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24oKSBjb25zdDsKICAgICB2b2lkIHNl
dFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW9uKik7CiAgICAg
dm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CkBAIC02ODEsNiArNjg5LDggQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzTWVkaWFFbmdpbmUoKSBjb25zdDsKIAogICAgIHN0ZDo6b3B0aW9uYWw8Vmlk
ZW9GcmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKTsKKyAgICB2b2lkIHN0YXJ0Vmlk
ZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CisgICAgdm9pZCBzdG9wVmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCk7CiAKIHByaXZhdGU6CiAgICAgTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXJD
bGllbnQmKTsKQEAgLTcyNSw2ICs3MzUsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShMRUdBQ1lf
RU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIGJvb2wgbV9z
aG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVkIHsgZmFsc2UgfTsKICNlbmRpZgorICAgIGJvb2wg
bV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSB7IGZhbHNlIH07CiB9OwogCiBjbGFzcyBN
ZWRpYVBsYXllckZhY3RvcnkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBmNWE0MGFiYzhhNzlhNmNlMDY0Yjcw
MmNkZDBjOWE5YWE2NjNkZDM5Li5jZjQ2MzEyYzUyYTk4NzJiYzA0NWFkMWQ0MjJhZjQ4YjEwMDhj
YTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllclByaXZhdGUuaApAQCAtMzIzLDYgKzMyMyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmKSB7IHJldHVybiBmYWxz
ZTsgfQogCiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gdmlk
ZW9GcmFtZU1ldGFkYXRhKCkgeyByZXR1cm4geyB9OyB9CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0
VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHN0b3BW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akMuaAppbmRleCA1OWVjYTQ1MTM0ZmU2ZjQwNTk5MDJlMjFjZTdlN2U1YWRlODBiZmEyLi5jZDFi
YWY2ZTQ4Y2RkMGI1ZTZlYTliNGE2YjkyY2Q1ZjdmNjhlOTBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5oCkBAIC0zNDIsNiArMzQyLDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBwYXVzZUF0SG9zdFRp
bWUoY29uc3QgTW9ub3RvbmljVGltZSYpIGZpbmFsOwogICAgIGJvb2wgaGF2ZUJlZW5Bc2tlZFRv
UGFpbnQoKSBjb25zdCB7IHJldHVybiBtX2hhdmVCZWVuQXNrZWRUb1BhaW50OyB9CiAKKyAgICB2
b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgZmluYWw7CisgICAgdm9pZCBz
dG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgZmluYWw7CisgICAgc3RkOjpvcHRpb25h
bDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpIGZpbmFsIHsgcmV0dXJu
IHN0ZDo6ZXhjaGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEsIHsgfSk7IH0KKyAgICB2b2lkIGNo
ZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCk7CisKICAgICBSZXRhaW5QdHI8QVZVUkxBc3NldD4g
bV9hdkFzc2V0OwogICAgIFJldGFpblB0cjxBVlBsYXllcj4gbV9hdlBsYXllcjsKICAgICBSZXRh
aW5QdHI8QVZQbGF5ZXJJdGVtPiBtX2F2UGxheWVySXRlbTsKQEAgLTQ1MSw2ICs0NTYsMTAgQEAg
cHJpdmF0ZToKICAgICBib29sIG1faGF2ZVByb2Nlc3NlZENoYXB0ZXJUcmFja3MgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV93YWl0Rm9yVmlkZW9PdXRwdXRNZWRpYURhdGFXaWxsQ2hhbmdlVGltZWRP
dXQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXZlQmVlbkFza2VkVG9QYWludCB7IGZhbHNlIH07
CisgICAgdWludDY0X3QgbV9zYW1wbGVDb3VudCB7IDAgfTsKKyAgICBSZXRhaW5QdHI8aWQ+IG1f
dmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXI7CisgICAgYm9vbCBtX2lzR2F0aGVy
aW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2UgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPFZpZGVv
RnJhbWVNZXRhZGF0YT4gbV92aWRlb0ZyYW1lTWV0YWRhdGE7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5tbQppbmRleCA0ZDg2MTEzYmNiZTQ2OWVjNmUwMjU3OTEwMmQxMTBlYTkzMDEwMDk2
Li5kNGFkMThlMDMyYjgyMDYzYjlhYmM5NmRmNjc0MWE2MTI5MGJjMWJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMubW0KQEAgLTExMDgsNiArMTEwOCw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZQbGF5ZXIoKQogICAgICAgICB9KTsKICAgICB9XTsK
IAorICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICBzdGFy
dFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogICAgIHNldERlbGF5Q2FsbGJhY2tzKGZh
bHNlKTsKIH0KIApAQCAtMTQzMyw2ICsxNDM1LDQ2IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1QYXVzZWQoKSBjb25zdAogICAgIHJldHVybiBtX2Nh
Y2hlZFRpbWVDb250cm9sU3RhdHVzID09IEFWUGxheWVyVGltZUNvbnRyb2xTdGF0dXNQYXVzZWQ7
CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c3RhcnRWaWRl
b0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIEFTU0VSVCghbV92aWRlb0ZyYW1lTWV0
YWRhdGFHYXRoZXJpbmdPYnNlcnZlciB8fCBtX2F2UGxheWVyKTsKKyAgICBtX2lzR2F0aGVyaW5n
VmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNl
IGEgQ0FEaXNwbGF5TGluayB0byBnZXQgdXBkYXRlcyBvbiByZW5kZXJpbmcsIGZvciBub3cgd2Ug
ZW11bGF0ZSB3aXRoIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWwuCisgICAgbV92
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciA9IFttX2F2UGxheWVyIGFkZFBlcmlv
ZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6UEFMOjpDTVRpbWVNYWtlKDEsIDYwKSBxdWV1ZTpk
aXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6W3dlYWtUaGlzID0gV2Vha1B0ciB7
ICp0aGlzIH1dKENNVGltZSkgeworICAgICAgICBlbnN1cmVPbk1haW5UaHJlYWQoW3dlYWtUaGlz
XSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgd2Vha1RoaXMt
PmNoZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCk7CisgICAgICAgIH0pOworICAgIH1dOworfQor
Cit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNoZWNrTmV3VmlkZW9G
cmFtZU1ldGFkYXRhKCkKK3sKKyAgICBpZiAoIXVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBWaWRlb0ZyYW1lTWV0YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0
YWRhdGEud2lkdGggPSBtX2NhY2hlZFByZXNlbnRhdGlvblNpemUud2lkdGgoKTsKKyAgICBtZXRh
ZGF0YS5oZWlnaHQgPSBtX2NhY2hlZFByZXNlbnRhdGlvblNpemUuaGVpZ2h0KCk7CisgICAgbWV0
YWRhdGEucHJlc2VudGVkRnJhbWVzID0gKyttX3NhbXBsZUNvdW50OworICAgIG1ldGFkYXRhLnBy
ZXNlbnRhdGlvblRpbWUgPSBQQUw6OkNNVGltZUdldFNlY29uZHMoW21fYXZQbGF5ZXJJdGVtIGN1
cnJlbnRUaW1lXSkgKiAxMDAwOworCisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGEgPSBtZXRhZGF0
YTsKKyAgICBwbGF5ZXIoKS0+b25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEoV1RGTW92ZShtZXRhZGF0
YSksIG1fbGFzdFBpeGVsQnVmZmVyLmdldCgpKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDOjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sK
KyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gZmFsc2U7CisgICAgbV92aWRl
b0ZyYW1lTWV0YWRhdGEgPSB7IH07CisKKyAgICBBU1NFUlQobV92aWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmdPYnNlcnZlcik7CisgICAgaWYgKG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5n
T2JzZXJ2ZXIpCisgICAgICAgIFttX2F2UGxheWVyIHJlbW92ZVRpbWVPYnNlcnZlcjptX3ZpZGVv
RnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyLmdldCgpXTsKKyAgICBtX3ZpZGVvRnJhbWVN
ZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gbmlsOworfQorCiBNZWRpYVRpbWUgTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1EdXJhdGlvbigpIGNvbnN0CiB7CiAg
ICAgLy8gRG8gbm90IGFzayB0aGUgYXNzZXQgZm9yIGR1cmF0aW9uIGJlZm9yZSBpdCBoYXMgYmVl
biBsb2FkZWQgb3IgaXQgd2lsbCBmZXRjaCB0aGUKQEAgLTI1NDgsNyArMjU5MCw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6dXBkYXRlTGFzdEltYWdlKFVwZGF0
ZVR5cGUgdHlwZSkKICAgICAvLyBDYWxscyB0byBjb3B5UGl4ZWxCdWZmZXJGb3JJdGVtVGltZTpp
dGVtVGltZUZvckRpc3BsYXk6IG1heSByZXR1cm4gbmlsIGlmIHRoZSBwaXhlbCBidWZmZXIKICAg
ICAvLyBmb3IgdGhlIHJlcXVlc3RlZCB0aW1lIGhhcyBhbHJlYWR5IGJlZW4gcmV0cmlldmVkLiBJ
biB0aGlzIGNhc2UsIHRoZSBsYXN0IHZhbGlkIGltYWdlIChpZiBhbnkpCiAgICAgLy8gc2hvdWxk
IGJlIGRpc3BsYXllZC4KLSAgICBpZiAoIXVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpICYmIChtX2xh
c3RJbWFnZSB8fCAhbV9sYXN0UGl4ZWxCdWZmZXIpKQorICAgIGlmICgobV9pc0dhdGhlcmluZ1Zp
ZGVvRnJhbWVNZXRhZGF0YSB8fCAhdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCkpICYmIChtX2xhc3RJ
bWFnZSB8fCAhbV9sYXN0UGl4ZWxCdWZmZXIpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAo
IW1fcGl4ZWxCdWZmZXJDb25mb3JtZXIpIHsKQEAgLTI1ODMsOSArMjYyNSw4IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRXaXRoVmlkZW9PdXRwdXQoR3Jh
cGhpY3NDb250ZXh0JiBjCiAKIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwaXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lKCkKIHsK
LSAgICB1cGRhdGVMYXN0UGl4ZWxCdWZmZXIoKTsKLSAgICBpZiAoIW1fbGFzdFBpeGVsQnVmZmVy
KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoIW1faXNHYXRoZXJpbmdWaWRlb0Zy
YW1lTWV0YWRhdGEpCisgICAgICAgIHVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpOwogCiAgICAgcmV0
dXJuIG1fbGFzdFBpeGVsQnVmZmVyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCmluZGV4IGMz
YzUzN2NlMjdjMDQ4OGE1ODhjNGQwMWI4ZDU0MDg4OGRjN2Y0MDcuLmNjNTc4Yzc5YmIwN2Y0Mjk2
ZDU5NzI3ODBiNjAwOTI0NjIwM2I2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKQEAgLTM4
LDcgKzM4LDcgQEAgY2xhc3MgUGl4ZWxCdWZmZXJDb25mb3JtZXJDViB7CiBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgUGl4ZWxCdWZmZXJDb25mb3JtZXJDVihDRkRpY3Rpb25hcnlSZWYgYXR0
cmlidXRlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
IGNvbnZlcnQoQ1ZQaXhlbEJ1ZmZlclJlZik7Ci0gICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNy
ZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYpOworICAgIFdFQkNPUkVf
RVhQT1JUIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihD
VlBpeGVsQnVmZmVyUmVmKTsKIAogcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8VlRQaXhlbEJ1ZmZl
ckNvbmZvcm1lclJlZj4gbV9waXhlbENvbmZvcm1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCA1
NjViOGIyOTNhZWNkZjVlNTFmZTVlMTAxNmM1YjdhN2U3MzNkOGE5Li44ODEwOGNiYzUzM2MxMGM3
NWUzNzBiZmNjODk4MDBhNTNjNjcyOWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC0xMDk4LDYg
KzEwOTgsMTggQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpwYXVzZUF0SG9zdFRpbWUo
TW9ub3RvbmljVGltZSB0aW1lKQogICAgICAgICBtX3BsYXllci0+cGF1c2VBdEhvc3RUaW1lKHRp
bWUpOwogfQogCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN0YXJ0VmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxheWVy
LT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworfQorCit2b2lkIFJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAg
IGlmIChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRh
R2F0aGVyaW5nKCk7Cit9CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIFdURkxvZ0NoYW5u
ZWwmIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmxvZ0NoYW5uZWwoKSBjb25zdAogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5LmgKaW5kZXggMGU5ZjNkN2EyMTQ1ZDc1Yjk0M2UyYjU2YTJkODBiYjgwNzNkZjllMS4uMzJm
M2E0NmFhMGYwOWIxM2IwMjRlNDE2NDA3OGE1ZGFkZGVkYzU0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBA
IC0zMDcsNiArMzA3LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF5QXRIb3N0VGltZShNb25v
dG9uaWNUaW1lKTsKICAgICB2b2lkIHBhdXNlQXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKIAor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0
b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAg
ICB2b2lkIG1lZGlhUGxheWVyT25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9G
cmFtZU1ldGFkYXRhJiYsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmKTsKKyNlbmRpZgor
CiAgICAgYm9vbCBtZWRpYVBsYXllclBhdXNlZE9yU3RhbGxlZCgpIGNvbnN0OwogICAgIHZvaWQg
Y3VycmVudFRpbWVDaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IDhlYzYwM2ZlY2MxZjE4ZDg0YzE0ZDQ3M2VhNTFhODE1MTQw
N2QxMjMuLjM5Yzg3MjliMjczOWUxMzY0NGIzMWFhODBkYmE4MGQ0YTMzMGM4YWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMzIsNiArMTMyLDkgQEAgbWVzc2FnZXMg
LT4gUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKIAogICAgIFBsYXlBdEhv
c3RUaW1lKE1vbm90b25pY1RpbWUgdGltZSkKICAgICBQYXVzZUF0SG9zdFRpbWUoTW9ub3Rvbmlj
VGltZSB0aW1lKQorCisgICAgU3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorICAg
IFN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tCmluZGV4IDA4YjJmZGVmNWE0ZmNiMThhZGRiZDE2
YzFmZDYwODZjMWJlOWMyN2MuLmM2YmJhM2FhMmI0ZTU1ZmFlZmI5MzNiYmUyZTYzNTlkNzNmNjMx
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1v
dGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQpAQCAtMzAsNiArMzAs
NyBAQAogCiAjaW1wb3J0ICJMYXllckhvc3RpbmdDb250ZXh0LmgiCiAjaW1wb3J0ICJNZWRpYVBs
YXllclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRmxvYXRTaXplLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgpAQCAtODMsNiAr
ODQsMTEgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVG
ZW5jZWQoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJgogICAgIHNldFZpZGVvSW5saW5lU2l6ZUlm
UG9zc2libGUoKm1faW5saW5lTGF5ZXJIb3N0aW5nQ29udGV4dCwgc2l6ZSk7CiB9CiAKK3ZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0
YShWaWRlb0ZyYW1lTWV0YWRhdGEmJiBtZXRhZGF0YSwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJS
ZWY+JiYgYnVmZmVyKQoreworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6UHVzaFZpZGVvRnJhbWVNZXRhZGF0YShtZXRh
ZGF0YSwgYnVmZmVyKSwgbV9pZCk7Cit9CisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
bmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0
aW9uYWw8V1RGOjpNYWNoU2VuZFJpZ2h0PiYmLCBXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3Bh
Y2UpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICghbV9wbGF5ZXIpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDhiZDBkYjI5N2JmYjQwNzRm
Njg5MDA0MmZjZGE0Nzg0NTBkZjA1NjYuLjAxNTQ1ODM2MDAzN2UyOWU5MzQzMDQ0MGMxMjRkMjNh
ZjE4NmRmNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAt
Njc4LDYgKzY3OCw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgIGhlYWRlcl9p
bmZvc19hbmRfdHlwZXMgPSBjbGFzc190ZW1wbGF0ZV9oZWFkZXJzKHR5cGUpCiAKICAgICBzcGVj
aWFsX2Nhc2VzID0geworICAgICAgICAnQ1ZQaXhlbEJ1ZmZlclJlZic6IFsnPFdlYkNvcmUvQ1ZQ
aXhlbEJ1ZmZlclJlZi5oPiddLAogICAgICAgICAnTWFjaFNlbmRSaWdodCc6IFsnPHd0Zi9NYWNo
U2VuZFJpZ2h0Lmg+J10sCiAgICAgICAgICdKU0M6Ok1lc3NhZ2VMZXZlbCc6IFsnPEphdmFTY3Jp
cHRDb3JlL0NvbnNvbGVUeXBlcy5oPiddLAogICAgICAgICAnSlNDOjpNZXNzYWdlU291cmNlJzog
Wyc8SmF2YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+J10sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZS5jcHAKaW5kZXggNjJiMTFkZjVlYWZhNjM1ZGJkMzZjNzEwZDlkNmQ1ZjY1ZDhjMzdjNi4u
MGFmOGVlOTVjNzliZjU2M2E4MTJjZDc3OTg1NTYyYTM4YWY3NmRlNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlLmNwcApAQCAtODAsNiArODAsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9S
TShDT0NPQSkKKyNpbXBvcnQgPFdlYkNvcmUvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgogI2lt
cG9ydCA8V2ViQ29yZS9WaWRlb0xheWVyTWFuYWdlck9iakMuaD4KICNlbmRpZgogCkBAIC0xMzc3
LDYgKzEzNzgsMjUgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBhdXNlQXRIb3N0
VGltZShjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQogICAgIHJldHVybiB0cnVlOwogfQogCitz
dGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Ojp2aWRlb0ZyYW1lTWV0YWRhdGEoKQoreworICAgIGF1dG8gdmlkZW9GcmFtZU1ldGFkYXRhID0g
c3RkOjpleGNoYW5nZShtX3ZpZGVvRnJhbWVNZXRhZGF0YSwgeyB9KTsKKyAgICByZXR1cm4gdmlk
ZW9GcmFtZU1ldGFkYXRhOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3Rh
cnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRl
b0ZyYW1lTWV0YWRhdGEgPSB0cnVlOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjpTdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygp
LCBtX2lkKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN0b3BWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0
YWRhdGEgPSBmYWxzZTsKKyAgICBtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1l
dGFkYXRhID0gbnVsbHB0cjsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6U3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpLCBtX2lk
KTsKK30KKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlcXVlc3RSZXNvdXJjZShS
ZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciByZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmll
ciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVJlc291cmNlTG9hZGVyOjpMb2FkT3B0aW9ucyBvcHRpb25zLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKCFtX21lZGlhUmVz
b3VyY2VzLmNvbnRhaW5zKHJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuaAppbmRleCBiNWY1YjViYzFjNTJhMzk5YzkxYmM1MGNiYWRmNWZlYzlm
NTU1YzQwLi40M2VmZmYyYjQ4MjlkYjA2ZTNmZmQyNDRiNWUyZjFjOGI5MGIxMGQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJWaWRlb1Ry
YWNrUHJpdmF0ZVJlbW90ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQbGF5ZXJQcml2YXRl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1ZpZGVvRnJhbWVNZXRhZGF0YS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIu
aD4KICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4K
QEAgLTU2LDYgKzU3LDEwIEBAIHN0cnVjdCBHZW5lcmljQ3VlRGF0YTsKIGNsYXNzIElTT1dlYlZU
VEN1ZTsKIGNsYXNzIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFDdWVWYWx1ZTsKIGNsYXNzIFZpZGVv
TGF5ZXJNYW5hZ2VyOworCisjaWYgUExBVEZPUk0oQ09DT0EpCitjbGFzcyBQaXhlbEJ1ZmZlckNv
bmZvcm1lckNWOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDAwLDYgKzQw
NSwxNCBAQCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25p
Y1RpbWUmKSBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZUNvbmZpZ3VyYXRpb24oUmVtb3RlTWVkaWFQ
bGF5ZXJDb25maWd1cmF0aW9uJiYpOwogCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpWaWRl
b0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpIGZpbmFsOworICAgIHZvaWQgc3Rh
cnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIHN0b3BWaWRl
b0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKworI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIHZvaWQgcHVzaFZpZGVvRnJhbWVNZXRhZGF0YShXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRh
dGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpOworI2VuZGlmCisKICAgICBXZWFr
UHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyPiBtX3BsYXllcjsKICAgICBSZWY8V2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBtX21lZGlhUmVzb3VyY2VMb2FkZXI7CiAjaWYgUExB
VEZPUk0oQ09DT0EpCkBAIC00NTAsNiArNDYzLDEyIEBAIHByaXZhdGU6CiAjaWYgVVNFKEFWRk9V
TkRBVElPTikKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9waXhlbEJ1ZmZlckZv
ckN1cnJlbnRUaW1lOwogI2VuZGlmCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGE+IG1fdmlkZW9GcmFtZU1ldGFkYXRhOwor
ICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRo
VmlkZW9GcmFtZU1ldGFkYXRhOworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQaXhlbEJ1
ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyOworI2VuZGlmCisgICAgYm9v
bCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdl
cy5pbgppbmRleCAxMThlMDI1YTY5YjNmYTQxZjU1OWU1YWEwYmY5OGQzNzkxYmU1ZGU0Li5hNjA2
MDM5MGU5MDU5MDg2ZGY0NTNmNzU2MWQ5ZjUxN2U2YjRhZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtOTEsNiArOTEsMTAgQEAgbWVzc2FnZXMg
LT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgewogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiAgICAgR2V0UmF3Q29va2llcyhVUkwgdXJsKSAtPiAoVmVjdG9yPFdlYkNv
cmU6OkNvb2tpZT4gcmVzdWx0KSBBc3luYwogI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkK
KyAgICBQdXNoVmlkZW9GcmFtZU1ldGFkYXRhKHN0cnVjdCBXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0
YWRhdGEgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBidWZmZXIpOworI2Vu
ZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Q29jb2EubW0KaW5kZXggYTJmODM1MmZiMjBmYmIyYTBkNjJmYWVjNTliMmY0YTgyNjU0YmJmZi4u
MmQ0ZTE1NWNhOWJmYWM0NTMwYTkwYjdkNmJhMmIzMmI4NTkyZTc2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCkBAIC0zMyw2ICszMyw3IEBACiAj
aW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JT
cGFjZUNHLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0
ekNvcmVTUEkuaD4KICNpbXBvcnQgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAKQEAgLTQ2LDggKzQ3
LDI0IEBAIFBsYXRmb3JtTGF5ZXJDb250YWluZXIgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpj
cmVhdGVWaWRlb0Z1bGxzY3JlZW5MYXllcigpCiB9CiAjZW5kaWYKIAordm9pZCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OnB1c2hWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFt
ZU1ldGFkYXRhJiYgdmlkZW9GcmFtZU1ldGFkYXRhLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJl
Zj4mJiBidWZmZXIpCit7CisgICAgaWYgKCFtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRh
KQorICAgICAgICByZXR1cm47CisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGEgPSBXVEZNb3ZlKHZp
ZGVvRnJhbWVNZXRhZGF0YSk7CisgICAgbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJh
bWVNZXRhZGF0YSA9IFdURk1vdmUoYnVmZmVyKTsKK30KKwogUmVmUHRyPE5hdGl2ZUltYWdlPiBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKQogewor
ICAgIGlmIChtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhKSB7Cisg
ICAgICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgICAgIG1fcGl4ZWxC
dWZmZXJDb25mb3JtZXIgPSBtYWtlVW5pcXVlPFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y+KChfX2Jy
aWRnZSBDRkRpY3Rpb25hcnlSZWYpQHsgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NWUGl4ZWxCdWZm
ZXJQaXhlbEZvcm1hdFR5cGVLZXk6IEAoa0NWUGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSkgfSk7Cisg
ICAgICAgIEFTU0VSVChtX3BpeGVsQnVmZmVyQ29uZm9ybWVyKTsKKyAgICAgICAgaWYgKCFtX3Bp
eGVsQnVmZmVyQ29uZm9ybWVyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
IHJldHVybiBOYXRpdmVJbWFnZTo6Y3JlYXRlKG1fcGl4ZWxCdWZmZXJDb25mb3JtZXItPmNyZWF0
ZUltYWdlRnJvbVBpeGVsQnVmZmVyKG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1l
TWV0YWRhdGEuZ2V0KCkpKTsKKyAgICB9CiAgICAgc3RkOjpvcHRpb25hbDxNYWNoU2VuZFJpZ2h0
PiBzZW5kUmlnaHQ7CiAgICAgYXV0byBjb2xvclNwYWNlID0gRGVzdGluYXRpb25Db2xvclNwYWNl
OjpTUkdCKCk7CiAgICAgaWYgKCFjb25uZWN0aW9uKCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90
ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKSwgTWVzc2FnZXM6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWU6OlJlcGx5
KHNlbmRSaWdodCwgY29sb3JTcGFjZSksIG1faWQpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhkZTlhMjViNjBmYjQ1ZTJkZTBhMDIyZWVkNWJi
ZjI3NWE4Y2U3OTYuLmM2NjJjZWI5ZWFlYWE5N2M5ZGQwMGFjZTc2ZDA4OWU4NzdlODE3YzUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMS0xMS0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIHJ2ZmMg
YnkgZGVmYXVsdCBpbiB0ZXN0IHJ1bm5lci4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcDoKKwogMjAyMS0xMS0xNCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgR2V0IGRhZW1vbiBBUEkgcmVhZHkgdG8gd29yayBpbiB0aGUgaU9TIHNp
bXVsYXRvciAoc3RhcnRpbmcgd2l0aCBXZWJQdXNoRCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZDIwMTA1NDFlMWI0NGIxNzRjMmUxY2RlNTI0NDEy
NjkyNDU1YjBmLi5mMzM5YTQzMzNjMGE5MGY1YTRkZTNlZTZmN2M3MDg2ZTc2MDE4ZmM1IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC04NjMsMTEgKzg2
Myw4IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMoV2ViUHJl
ZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBXCiAgICAgICAgIFtwcmVmZXJlbmNlcyBfcmVz
ZXRGb3JUZXN0aW5nXTsKIAogICAgICAgICBpZiAoZW5hYmxlQWxsRXhwZXJpbWVudGFsRmVhdHVy
ZXMpIHsKLSAgICAgICAgICAgIGZvciAoV2ViRmVhdHVyZSAqZmVhdHVyZSBpbiBbV2ViUHJlZmVy
ZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkgewotICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4gRW5hYmxlIGl0IHdoZW4gdGhlIHZpZGVvIGJh
Y2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4KLSAgICAgICAgICAgICAgICBhdXRvIGVuYWJs
ZWQgPSBbZmVhdHVyZS5uYW1lIGlzRXF1YWw6QCJSZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrIl0g
PyBOTyA6IFlFUzsKLSAgICAgICAgICAgICAgICBbcHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6ZW5h
YmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9y
IChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJlbmNlcyBfZXhwZXJpbWVudGFsRmVh
dHVyZXNdKQorICAgICAgICAgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDpZRVMgZm9y
RmVhdHVyZTpmZWF0dXJlXTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChwZXJzaXN0ZW50VXNl
clN0eWxlU2hlZXRMb2NhdGlvbigpKSB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwCmluZGV4IGIwOTBiYmQzMWZmNDg2ZDE5ZDM3OWFjNDA4MjhkZjNlZGQwYjJkZjYu
LmVkMjgwMmZiMWU3NjZkYzVkZTY3YzQ0ZDE1NzY2MTYzMmMzOTMxYTMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC05MDUsOSArOTA1LDYgQEAgdm9pZCBU
ZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyhjb25zdCBU
ZXN0T3B0aW9ucyYgb3B0aW8KICAgICAgICAgaWYgKGVuYWJsZUFsbEV4cGVyaW1lbnRhbEZlYXR1
cmVzKQogICAgICAgICAgICAgV0tQcmVmZXJlbmNlc0VuYWJsZUFsbEV4cGVyaW1lbnRhbEZlYXR1
cmVzKHByZWZlcmVuY2VzKTsKIAotICAgICAgICAvLyBGSVhNRTogV2UgZGlzYWJsZSBydmZjIGJ5
IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2aWRlbyBiYWNrZW5kIHN1cHBvcnQgaXMgZ29v
ZCBlbm91Z2guCi0gICAgICAgIFdLUHJlZmVyZW5jZXNTZXRSZXF1ZXN0VmlkZW9GcmFtZUNhbGxi
YWNrRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwotCiAgICAgICAgIFdLUHJlZmVyZW5jZXNS
ZXNldEFsbEludGVybmFsRGVidWdGZWF0dXJlcyhwcmVmZXJlbmNlcyk7CiAKICAgICAgICAgV0tQ
cmVmZXJlbmNlc1NldFByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uRW5hYmxlZChwcmVmZXJlbmNlcywg
b3B0aW9ucy5zaG91bGRFbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbigpKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAx
NTRkMDBlMmFmNzE2ZWUyZDIyNTA4ZDY3NDBjODAzY2M3Y2NlOGU5Li45MjU3ZTY3ZGMyZjNjN2U0
OGUxZGRhMGE1OTFiZjEyMjM0MDNjMGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTEt
MTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUGxh
eWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMTEtMTQg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRmluZ2Vy
cyBkb3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBhbiBhbmltYXRlZCBzY3JvbGwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlmOGM5OTAzODZlMTI5MTcwYjhiMWE2YTlj
MGY2MTRhNDZiMWRiNjkuLjRhMDE3OGNjOWRhYTdiOTkwYTE3Nzg2MDc2M2UwNTE4MzI2MzZmMWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTEx
LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBs
YXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZy
YW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sOgor
CiAyMDIxLTExLTE0ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgTW9k
YWwgZGlhbG9ncyBzaG91bGQgbWFrZSB0aGUgcm9vdCBlbGVtZW50IHVuZm9jdXNhYmxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dAppbmRleCA2NjM5ZDRmMjg4
NWUxZjk3NjQ4ZDUwNTQ3NzBlYWZlYjQzMmRjNTBkLi43ZTVjNDg2MjA0NTM0Nzk0Mzk0MWJjY2M1
ZDRiZWU3NjYyMWE2MjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1k
b20tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1leHBl
Y3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNz
YWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgYSB2aWRlbyBvdXRzaWRlIG9mIHRoZSBET00gY2Fu
IHN0aWxsIHVzZSB2aWRlby5yVkZDLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHZpZGVv
LnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25lIi4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQg
VGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggInZpc2liaWxpdHk6aGlkZGVuIi4gVGVzdCB0aW1l
ZCBvdXQKK1BBU1MgVGVzdCBhIHZpZGVvIG91dHNpZGUgb2YgdGhlIERPTSBjYW4gc3RpbGwgdXNl
IHZpZGVvLnJWRkMuCitQQVNTIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJkaXNwbGF5Om5v
bmUiLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAidmlzaWJpbGl0eTpoaWRkZW4i
LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggY2E3Y2IzZTk0
Y2RmYjI1MjU4YjlkOTliNGY0ZDQ3ZWRhMGU3NzIxNi4uY2Q3OTYxMjA1NTE3MTY4YjU0M2JmNTli
YmUwZmFlMjY5ZmUwYmQxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dApAQCAtMSwxMCArMSw4IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2Ug
PSBudWxsCi0KLVRJTUVPVVQgVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRlby5yVkZDIGNhbGxi
YWNrLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMgY2FsbGJhY2tzIHJ1
biBiZWZvcmUgd2luZG93LnJBRiBjYWxsYmFja3MuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRl
c3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4gVGVzdCB0aW1lZCBvdXQKK1BB
U1MgVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRlby5yVkZDIGNhbGxiYWNrLgorUEFTUyBUZXN0
IHZpZGVvLnJWRkMgY2FsbGJhY2tzIHJ1biBiZWZvcmUgd2luZG93LnJBRiBjYWxsYmFja3MuCitQ
QVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4KIFBBU1MgVGVzdCBp
bnZhbGlkIGNhbGxzIHRvIHRoZSB2aWRlby5yVkZDIEFQSS4KLVRJTUVPVVQgVGVzdCB2aWRlby5y
VkZDIGRvZXMgbm90IHN0b3Agd2hlbiBzd2l0Y2hpbmcgc291cmNlcy4gVGVzdCB0aW1lZCBvdXQK
K1BBU1MgVGVzdCB2aWRlby5yVkZDIGRvZXMgbm90IHN0b3Agd2hlbiBzd2l0Y2hpbmcgc291cmNl
cy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92
aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQu
dHh0CmluZGV4IDZmZTY4NGFlOGU2NmRhYjhjY2U2OGQyMjc1MzU5NWE4NDQ4YzZiOTAuLjMyYjk5
YWVkNTQ1N2RmYTFiZjJhOTE2MzMxZDI2ZjFlZDlkOWI1ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAK
IAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVz
dCBjYWxsYmFja3MgZ2V0IHRoZSBzYW1lIGluZm9ybWF0aW9uLiBUZXN0IHRpbWVkIG91dAotVElN
RU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwgY2FsbGJhY2tzIGZyb20gY2FsbGJhY2tzLiBUZXN0IHRp
bWVkIG91dAorUEFTUyBUZXN0IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5mb3JtYXRpb24uCitQ
QVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBjYWxsYmFja3MgZnJvbSBjYWxsYmFja3MuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQudHh0CmluZGV4
IGI0YTViZTNkZDI1MTJiODVjMzg1NTViOGYzY2U3MDM2NzhlZDRkZmQuLmE2MzFhMTc2YmQ1OWI2
ZGYxYzQ1NTZkM2NkYjExNDVkM2M2OTU4NjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1l
LWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKIAogCi1IYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBUZXN0IG5ldyBj
YWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRoZSBuZXh0IGZyYW1lLiBUZXN0IHRpbWVkIG91
dAotVElNRU9VVCBUZXN0IGNoYWluaW5nIGNhbGxzIHRvIHZpZGVvLnJWRkMsIGFuZCB2ZXJpZnkg
dGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgbmV3IGNh
bGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24gdGhlIG5leHQgZnJhbWUuCitGQUlMIFRlc3QgY2hh
aW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5kIHZlcmlmeSB0aGUgcmVxdWlyZWQgcGFyYW1l
dGVycy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcHJlc2VudGF0aW9uVGltZSBzaG91bGQgYmUgbW9u
b3RvbmljYWxseSBpbmNyZWFzaW5nIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAidW5kZWZp
bmVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbAppbmRleCBhNDQwNDE0M2ZhNDA4ZWJiYjhmNDlj
YzMxODBlMDY1ZDIwMGZmYTRhLi40N2ExMDllODIyYWJkNGVlZWIzNWNiNDEyYjQ0MDllZGRhMGIz
MzQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwKQEAgLTEwNSw2ICsxMDUsNyBAQCB0ZXN0KGZ1
bmN0aW9uKHQpIHsKIAogcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKICAgICBsZXQg
dmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworICAgIHZpZGVvLmF1dG9w
bGF5ID0gdHJ1ZTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIAogICAg
IGxldCBmaXJzdF93aWR0aCA9IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggZjhhYWRiOTk2Zjc3OThiNjUwNTkyMTdlNjVmNDYxMjMzZjk2
M2MwZi4uMzY0ZGU3MDdmMWY1ZjVjOTdiYTAwMTAwNDRkNjQzYmI2YzI3OGUzZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQzLDEzICsx
NDMsOSBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY25hbWUtY2xvYWtpbmct
dG9wLW5vLWNuYW1lLXN1Yi1uby1jbmFtZS5odG1sCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlh
LXJ2ZmMuaHRtbCBbIFBhc3MgXQogd2VicnRjL3BlZXJDb25uZWN0aW9uLXJ2ZmMuaHRtbCBbIFBh
c3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVh
bWluZyBiYWNrZW5kIHN1cHBvcnQuCisjIFRpbWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIFhS
IHNlc3Npb24uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZvcmUteHItc2Vzc2lvbi5odHRwcy5odG1sIFsg
U2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVz
dC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
ZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFy
YWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0bWwgWyBTa2lw
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWRmOTVk
MDUzMzUzMDY1MzkyNzNlMjAxMzkxZjMwZjRjZWYyZGQ0OC4uMWNiYzRlYzQ1MjUzNTJiYzQ0OGE5
NmU2YWFhYmQ4MzJiZWExNjQzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMzMsNiArMzMsMTEgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtREVOSUVELXhzbC1leHRlcm5hbC1lbnRpdHktbm8tbG9nZ2luZy54bWwgWyBQYXNzIF0KICMg
cmRhcjovL3Byb2JsZW0vNjE3OTM4ODQgOiBFbmFibGluZyB0aGlzIHRlc3QgZm9yIFdLMSBvbmx5
LgogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFnZWRh
dGEtb3ZlcmZsb3cuaHRtbCBbIFBhc3MgXQogCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KKyMgVGltaW5nIG91dCB0ZXN0cyB1bnRpbCB3ZSBhZGQg
WFIgc2Vzc2lvbi4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14ci1zZXNzaW9uLmh0dHBzLmh0bWwg
WyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBT
a2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZv
cm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMzIyYTViZWQ5YTZlMzEyM2Y3YzRjNGFlMGE0OGQ4NWJhM2Y5YWRiZC4uMmZkMDc0YTFhY2Q4
M2E5YzA2NzdkYTBlZWI0MmUwN2NkNjRiNDZmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIyLDEzICsxMjIsOSBAQCBzdG9yYWdlL2lu
ZGV4ZWRkYi9kYXRhYmFzZS10cmFuc2FjdGlvbi1jeWNsZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KIGZhc3QvbWVkaWFz
dHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3MgXQogd2VicnRjL3BlZXJDb25uZWN0
aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCBy
ZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBvcnQuCisjIFRpbWluZyBvdXQgdGVz
dHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZvcmUteHItc2Vz
c2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVw
ZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlk
ZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KIAogIy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMg
ZGlyZWN0b3JpZXMuCg==
</data>
<flag name="commit-queue"
          id="469208"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444238</attachid>
            <date>2021-11-15 04:29:06 -0800</date>
            <delta_ts>2021-11-15 04:57:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211115132858.patch</filename>
            <type>text/plain</type>
            <size>49282</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMjdhNzIwZDEzN2YxMGU1YzczZGIwNDU0ZWY1Nzlj
NzNkOWFjMGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaDoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9w
IGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdm
MWFhMjRlYmRkYTNjZWRkLi43M2U0NTFlYzFlMjZkNmMzYjYyZWY1NDJjNjZhOTgwNWFiMWMzODIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3MzcyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHN0YXJ0L3N0b3AgbWV0YWRhdGEgZ2F0aGVyaW5nIGZyb20gV2ViUHJvY2VzcyB0byBH
UFVQcm9jZXNzLgorICAgICAgICBBZGQgSVBDIG1lc3NhZ2luZyB0byBwdXNoIG1ldGFkYXRhIHRv
IFdlYlByb2Nlc3MsIGluY2x1ZGluZyBzZW5kaW5nIHRoZSBjb3JyZXNwb25kaW5nIENWUGl4ZWxC
dWZmZXIgZm9yIHRoZSBjdXJyZW50IG1ldGFkYXRhLgorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUgd2lsbCB0aGVuIHNlcnZlIHRoYXQgYnVmZmVyIHdoZW4gYmVpbmcgcmVxdWVzdGVk
IHRoZSBjdXJyZW50IGltYWdlLgorICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCBwYWludGluZyBv
biBhIGNhbnZhcyBkb2VzIG5vdCBtYXJrIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyBhY3F1aXJlZCwg
d2hpY2ggd291bGQgdGhlbiBza2lwIHRoZSB2aWRlbyBmcmFtZSBtZXRhZGF0YSBnYXRoZXJpbmcu
CisgICAgICAgIFRoaXMgYWxzbyBlbnN1cmVzIHRoZSBzYW1lIGJ1ZmZlciBpcyB1c2VkIGlmIGEg
dmlkZW8gZWxlbWVudCBpcyBwYWludGVkIHNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBzYW1lIHJ2
ZmMgY2FsbGJhY2suCisgICAgICAgIFRoaXMgaGFzIHRoZSBzaWRlIGJlbmVmaXQgb2YgcmVtb3Zp
bmcgdGhlIHN5bmNocm9ub3VzIElQQyB0byBwYWludCB0aGUgdmlkZW8gZWxlbWVudCBpbiBhIGNh
bnZhcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIxLTExLTE0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSBy
ZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDk5ODEwZWI4MjAzY2NkYTZiNWM5ZTM4MTYxNGI2MmJlNmVmMmExY2MuLjc5MmY2OTk5
ZTYxMjQ5NzE2MDM3NTIzNGQwOTEwZTEyZmFjNjIxZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjIsNiArMTIyMiw3IEBA
CiAJCTQxRTZENzFCMjZFQTFBNDYwMEI3NjVENiAvKiBSVENFcnJvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCN0MwNEIyNkU2OTE3MTAwRDM2QzA3
IC8qIFJUQ0Vycm9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDFFOURDRTcyMzE5NzRCRjAwRjM1OTQ5IC8qIEJsb2JMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTlEQ0U0MjMxOTczRkUw
MEYzNTk0OSAvKiBCbG9iTG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDFFOURDRTkyMzE5Q0E3NjAwRjM1OTQ5IC8qIE5ldHdvcmtTZW5k
UXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
RTlEQ0U4MjMxOUNBNzUwMEYzNTk0OSAvKiBOZXR3b3JrU2VuZFF1ZXVlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFFRTJBQ0IyNzQyNjRDNzAw
OEFDMDU3IC8qIENWUGl4ZWxCdWZmZXJSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRUUyQUM5Mjc0MjY0QzQwMDhBQzA1NyAvKiBDVlBpeGVsQnVm
ZmVyUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDFGMDYyMTQwRjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MjEy
MEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmggKi87IH07CiAJ
CTQxRjFEMjFGMEVGMzVDMkEwMERBODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjFEMjFEMEVGMzVD
MkEwMERBODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUZBQkQyRDFGNERGRTRBMDA2QTZDOTcg
LyogRE9NQ2FjaGVFbmdpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxRkFCRDJCMUY0REZFNDIwMDZBNkM5NyAvKiBET01DYWNoZUVuZ2luZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NTk2LDYg
Kzg1OTcsNyBAQAogCQk0MUU5RENFNjIzMTk3NDIzMDBGMzU5NDkgLyogRW5kaW5nVHlwZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRW5kaW5nVHlwZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxRTlEQ0U4MjMxOUNBNzUwMEYzNTk0OSAvKiBOZXR3b3JrU2VuZFF1ZXVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtTZW5kUXVldWUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFOURDRUEyMzE5Q0FFODAwRjM1OTQ5IC8q
IE5ldHdvcmtTZW5kUXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTmV0d29ya1NlbmRRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
RUUyQUM5Mjc0MjY0QzQwMDhBQzA1NyAvKiBDVlBpeGVsQnVmZmVyUmVmLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENWUGl4ZWxCdWZmZXJSZWYuaDsgcGF0aCA9IHBsYXRmb3Jt
L2NvY29hL0NWUGl4ZWxCdWZmZXJSZWYuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9Owog
CQk0MUYwNjIxMjBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2MjEzMEY1RjE5MjYwMEEw
N0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MUYwOTYzNDI0RjkwREVBMDAwOUZCOTMgLyogVGV4dERl
Y29kZXJTdHJlYW1EZWNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUZXh0RGVjb2RlclN0cmVhbURlY29kZXIuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgxMzYsNiArMTgxMzgsNyBAQAogCQkJ
CTNGODAyMDM0MUU5RTM4MUQwMERFQzYxRCAvKiBDb3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdl
ci5oICovLAogCQkJCTNGM0JCNTgyMUU3MDlFRTQwMEM3MDFGMiAvKiBDb3JlQXVkaW9DYXB0dXJl
U291cmNlLmNwcCAqLywKIAkJCQkzRjNCQjU4MzFFNzA5RUU0MDBDNzAxRjIgLyogQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZS5oICovLAorCQkJCTQxRUUyQUM5Mjc0MjY0QzQwMDhBQzA1NyAvKiBDVlBp
eGVsQnVmZmVyUmVmLmggKi8sCiAJCQkJMDdBNkQ4NDgxRkVCNzAwQjAwNjQ0MURFIC8qIERpc3Bs
YXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcCAqLywKIAkJCQkwN0E2RDg0OTFGRUI3MDBDMDA2NDQx
REUgLyogRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuaCAqLywKIAkJCQk0MTc0RTkyMDI1MzVE
Q0REMDBGRTQyMDIgLyogTWVkaWFTdHJlYW1UcmFja0F1ZGlvU291cmNlUHJvdmlkZXJDb2NvYS5j
cHAgKi8sCkBAIC0zMzAzOCw2ICszMzA0MSw3IEBACiAJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNC
MEE3IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzVEMjM4NTIyN0EwNjUy
MDAwQjlCREEgLyogQ3VzdG9tSGVhZGVyRmllbGRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjFF
MTNFNzIxNzkwRDY2MDA0MkNGOTggLyogQ3VzdG9tUGFpbnRDYW52YXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQxRUUyQUNCMjc0MjY0QzcwMDhBQzA1NyAvKiBDVlBpeGVsQnVmZmVyUmVmLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QjhFRDVGMDI2RjBDMTNEMDA4QUMwMjMgLyogQ1ZVdGlsaXRpZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0I0MTNFMEU4NjMzRkQwMDMyQzRGMCAvKiBEYXNoQXJy
YXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM2QTIxMTUwNUYwODEwMDFCNzRBQyAvKiBEYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CmluZGV4IDJlY2JmNWRiYWFkZWQ0MmU3NzkwNDQwNWFjMDEzMWUzOGZjMjliZTcuLjY5NTY2OTQ5
NjMxMGVmOTEwOGI5NTZmZGE0ODIxNDMwMTQ5NzBlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCkBAIC02NDEsNiArNjQxLDkgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
c2V0Q2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlKGJvb2wgdmFsdWUpIHsgbV9jaGFuZ2luZ1Zp
ZGVvRnVsbHNjcmVlbk1vZGUgPSB2YWx1ZTsgfQogICAgIGJvb2wgaXNDaGFuZ2luZ1ZpZGVvRnVs
bHNjcmVlbk1vZGUoKSBjb25zdCB7IHJldHVybiBtX2NoYW5naW5nVmlkZW9GdWxsc2NyZWVuTW9k
ZTsgfQogCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBtZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQoKSBv
dmVycmlkZTsKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgSW50ZXJuYWxzOwogCkBAIC02
OTIsNyArNjk1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIG1lZGlhUGxheWVyU2l6ZUNoYW5nZWQo
KSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyUmVuZGVyaW5nTW9kZUNoYW5nZWQoKSBmaW5h
bDsKICAgICBib29sIG1lZGlhUGxheWVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSBm
aW5hbDsKLSAgICB2b2lkIG1lZGlhUGxheWVyRW5naW5lVXBkYXRlZCgpIGZpbmFsOwogICAgIHZv
aWQgbWVkaWFQbGF5ZXJXaWxsSW5pdGlhbGl6ZU1lZGlhRW5naW5lKCkgZmluYWw7CiAgICAgdm9p
ZCBtZWRpYVBsYXllckRpZEluaXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQg
bWVkaWFQbGF5ZXJSZWxvYWRBbmRSZXN1bWVQbGF5YmFja0lmTmVlZGVkKCkgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCBiYjA1ZTI3NjFmODJkYzlk
ZTMxMWQ0Y2JhMjM0Nzk1MTY5MDljMzI5Li5kNzY5ZTUzYWViMWUxOGE3ZDk3MWE2MzZlMTlkMmJl
MDU2MmZlNTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKQEAg
LTU4OCw2ICs1ODgsOSBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmV4aXRUb0Z1bGxzY3JlZW5N
b2RlV2l0aG91dEFuaW1hdGlvbklmUG9zc2libGUoSFRNTE1lZGlhRQogCiB1bnNpZ25lZCBIVE1M
VmlkZW9FbGVtZW50OjpyZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKFJlZjxWaWRlb0ZyYW1lUmVx
dWVzdENhbGxiYWNrPiYmIGNhbGxiYWNrKQogeworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1ZXN0
cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZygpOworCiAgICAgYXV0byBpZGVudGlmaWVyID0gKyttX25leHRW
aWRlb0ZyYW1lUmVxdWVzdEluZGV4OwogICAgIG1fdmlkZW9GcmFtZVJlcXVlc3RzLmFwcGVuZCht
YWtlVW5pcXVlUmVmPFZpZGVvRnJhbWVSZXF1ZXN0PihpZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxi
YWNrKSkpOwogCkBAIC02MDcsNiArNjEwLDkgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50OjpjYW5j
ZWxWaWRlb0ZyYW1lQ2FsbGJhY2sodW5zaWduZWQgaWRlbnRpZmllcikKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1vdmUoaW5kZXgpOworCisgICAg
aWYgKG1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1wdHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAg
cGxheWVyKCktPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIH0KIAogdm9pZCBI
VE1MVmlkZW9FbGVtZW50OjpzZXJ2aWNlUmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFja3MoUmVkdWNl
ZFJlc29sdXRpb25TZWNvbmRzIG5vdykKQEAgLTYyNywxMyArNjMzLDIzIEBAIHZvaWQgSFRNTFZp
ZGVvRWxlbWVudDo6c2VydmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNv
bHV0aW9uU2Vjb25kCiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNhbGxiYWNr
Q291bnQ7ICsraW5kZXgpIHsKICAgICAgICAgYXV0byYgcmVxdWVzdCA9IG1fdmlkZW9GcmFtZVJl
cXVlc3RzW2luZGV4XTsKICAgICAgICAgaWYgKCFyZXF1ZXN0LT5jYW5jZWxsZWQpIHsKLSAgICAg
ICAgICAgIHJlcXVlc3QtPmNhbGxiYWNrLT5oYW5kbGVFdmVudChub3cudmFsdWUoKSwgKnZpZGVv
RnJhbWVNZXRhZGF0YSk7CisgICAgICAgICAgICByZXF1ZXN0LT5jYWxsYmFjay0+aGFuZGxlRXZl
bnQoc3RkOjpyb3VuZChub3cubWlsbGlzZWNvbmRzKCkpLCAqdmlkZW9GcmFtZU1ldGFkYXRhKTsK
ICAgICAgICAgICAgIHJlcXVlc3QtPmNhbmNlbGxlZCA9IHRydWU7CiAgICAgICAgIH0KICAgICB9
CiAgICAgbV9pc1J1bm5pbmdWaWRlb0ZyYW1lUmVxdWVzdHMgPSBmYWxzZTsKIAogICAgIG1fdmlk
ZW9GcmFtZVJlcXVlc3RzLnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGNhbGxiYWNrKSB7IHJl
dHVybiBjYWxsYmFjay0+Y2FuY2VsbGVkOyB9KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1
ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgSFRNTFZpZGVvRWxlbWVudDo6bWVk
aWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkKK3sKKyAgICBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckVuZ2luZVVwZGF0ZWQoKTsKKyAgICBpZiAoIW1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1w
dHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAgcGxheWVyKCktPnN0YXJ0VmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFZpZGVvRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50
LmgKaW5kZXggOWViOGY2ZTViOGM3YWUwMGM0ZTc0MTQ4Yzc4ZDgzM2Q2NjcwMjg1OS4uODU2YWRl
YTc4ZmI3Mzk4ZDhmYjQ1ZjQ0OGEzNTkxYmRhNTVmOTcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmgKQEAgLTE0MSw2ICsxNDEsOCBAQCBwcml2YXRlOgogCiAgICAgUGxh
dGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBwcmVzZW50YXRpb25UeXBlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZTo6VmlkZW87IH0KIAor
ICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgZmluYWw7CisKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8SFRNTEltYWdlTG9hZGVyPiBtX2ltYWdlTG9hZGVyOwogCiAgICAgQXRvbVN0cmlu
ZyBtX2RlZmF1bHRQb3N0ZXJVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9WaWRlb0ZyYW1lTWV0YWRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJh
bWVNZXRhZGF0YS5oCmluZGV4IDhmZDlhNDcwMDI0OGQ0ZDI3OGRjZTI3NDk3ODM2MGE1N2JhZjU5
ZWEuLjk0ZGRmMGVmMGY2MTEzNWJkOWI2ODkwOGI4MTE1NmZiYmJkZjIzZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oCkBAIC00Myw4ICs0Myw3MyBA
QCBzdHJ1Y3QgVmlkZW9GcmFtZU1ldGFkYXRhIHsKICAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4g
Y2FwdHVyZVRpbWU7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHJlY2VpdmVUaW1lOwogICAg
IHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHJ0cFRpbWVzdGFtcDsKKworICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IGRl
Y29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgoraW5saW5lIHZv
aWQgVmlkZW9GcmFtZU1ldGFkYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sK
KyAgICBlbmNvZGVyIDw8IHByZXNlbnRhdGlvblRpbWUgPDwgZXhwZWN0ZWREaXNwbGF5VGltZSA8
PCB3aWR0aCA8PCBoZWlnaHQgPDwgbWVkaWFUaW1lIDw8IHByZXNlbnRlZEZyYW1lcyA8PCBwcm9j
ZXNzaW5nRHVyYXRpb24gPDwgY2FwdHVyZVRpbWUgPDwgcmVjZWl2ZVRpbWUgPDwgcnRwVGltZXN0
YW1wOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgoraW5saW5lIHN0ZDo6b3B0aW9uYWw8
VmlkZW9GcmFtZU1ldGFkYXRhPiBWaWRlb0ZyYW1lTWV0YWRhdGE6OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBwcmVzZW50YXRpb25UaW1lOwor
ICAgIGRlY29kZXIgPj4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBpZiAoIXByZXNlbnRhdGlvblRp
bWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gZXhwZWN0ZWREaXNwbGF5VGltZTsKKyAgICBkZWNvZGVyID4+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgaWYgKCFleHBlY3RlZERpc3BsYXlUaW1lKQorICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gd2lkdGg7CisgICAgZGVj
b2RlciA+PiB3aWR0aDsKKyAgICBpZiAoIXdpZHRoKQorICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OworCisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gaGVpZ2h0OworICAgIGRlY29kZXIg
Pj4gaGVpZ2h0OworICAgIGlmICghaGVpZ2h0KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IG1lZGlhVGltZTsKKyAgICBkZWNvZGVyID4+
IG1lZGlhVGltZTsKKyAgICBpZiAoIW1lZGlhVGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHByZXNlbnRlZEZyYW1lczsKKyAg
ICBkZWNvZGVyID4+IHByZXNlbnRlZEZyYW1lczsKKyAgICBpZiAoIXByZXNlbnRlZEZyYW1lcykK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpv
cHRpb25hbDxkb3VibGU+PiBwcm9jZXNzaW5nRHVyYXRpb247CisgICAgZGVjb2RlciA+PiBwcm9j
ZXNzaW5nRHVyYXRpb247CisgICAgaWYgKCFwcm9jZXNzaW5nRHVyYXRpb24pCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91
YmxlPj4gY2FwdHVyZVRpbWU7CisgICAgZGVjb2RlciA+PiBjYXB0dXJlVGltZTsKKyAgICBpZiAo
IWNhcHR1cmVUaW1lKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpv
cHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IHJlY2VpdmVUaW1lOworICAgIGRlY29kZXIg
Pj4gcmVjZWl2ZVRpbWU7CisgICAgaWYgKCFyZWNlaXZlVGltZSkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDx1bnNpZ25lZD4+
IHJ0cFRpbWVzdGFtcDsKKyAgICBkZWNvZGVyID4+IHJ0cFRpbWVzdGFtcDsKKyAgICBpZiAoIXJ0
cFRpbWVzdGFtcCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiBW
aWRlb0ZyYW1lTWV0YWRhdGEgeyAqcHJlc2VudGF0aW9uVGltZSwgKmV4cGVjdGVkRGlzcGxheVRp
bWUsICp3aWR0aCwgKmhlaWdodCwgKm1lZGlhVGltZSwgKnByZXNlbnRlZEZyYW1lcywgKnByb2Nl
c3NpbmdEdXJhdGlvbiwgKmNhcHR1cmVUaW1lLCAqcmVjZWl2ZVRpbWUsICpydHBUaW1lc3RhbXAg
fTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQ1ZQaXhlbEJ1ZmZlclJlZi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvQ1ZQaXhlbEJ1ZmZlclJlZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNDEzOGI3
NjU3ZTVlZjY1ZGY2NTVjNTE2ZDJjYzJhZjc0YjkyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmgKQEAgLTAsMCArMSwz
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgUExBVEZPUk0oQ09DT0EpCisKK3R5cGVkZWYgc3RydWN0IF9fQ1ZCdWZm
ZXIgKkNWUGl4ZWxCdWZmZXJSZWY7CisKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBh
NDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQxNzA2NTk2Li5mNTA1ZmY4MjRhNzNhZWRm
MTFhOGM4ZDUwODMxZTEzYjJiMzE4ZDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01OTAsNiArNTkwLDggQEAgdm9pZCBNZWRp
YVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUoY29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5
KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+c2V0UGFnZUlzVmlzaWJsZSht
X3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYgKG1fdmlzaWJsZUluVmlld3BvcnQpCiAg
ICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNpYmxlSW5WaWV3cG9ydChtX3Zpc2libGVJ
blZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFk
YXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1f
cHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJlc2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJl
cGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0KQEAgLTE3MjEsNiArMTcyMywyMyBAQCBz
dGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gTWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVN
ZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9
CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkK
K3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKyAgICBtX3By
aXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVk
aWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNH
YXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30KKwordm9pZCBNZWRpYVBsYXllcjo6b25O
ZXdWaWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFp
blB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBs
YXllck9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1
ZmZlcikpOworfQorCiBTdHJpbmcgTWVkaWFQbGF5ZXI6OmVsZW1lbnRJZCgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGNsaWVudCgpLm1lZGlhUGxheWVyRWxlbWVudElkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCA1YjFlMTc0NTEzZTA2
ZmEwMWQ1MTkwYjU1ZTUwNTM1NTVlZmQ3NjM3Li4wMDQ1YjU0ZjUwNDgyMDMzZDRmOGYzNGM2Y2Q2
NWUzZDkwOWE3MzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKQEAgLTI4Niw2ICsyODYsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIG1lZGlhUGxheWVyUXVldWVUYXNrT25FdmVudExvb3AoRnVuY3Rpb248dm9pZCgpPiYmIHRh
c2spIHsgY2FsbE9uTWFpblRocmVhZChXVEZNb3ZlKHRhc2spKTsgfQogCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyT25OZXdWaWRlb0ZyYW1lTWV0YWRh
dGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmKSB7
IH0KKyNlbmRpZgorCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgdmlydHVhbCBjb25z
dCB2b2lkKiBtZWRpYVBsYXllckxvZ0lkZW50aWZpZXIoKSB7IHJldHVybiBudWxscHRyOyB9CiAg
ICAgdmlydHVhbCBjb25zdCBMb2dnZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkgPSAwOwpAQCAtNTg0
LDYgKzU4OCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVUZXh0VHJhY2soSW5iYW5kVGV4
dFRyYWNrUHJpdmF0ZSYpOwogICAgIHZvaWQgcmVtb3ZlVmlkZW9UcmFjayhWaWRlb1RyYWNrUHJp
dmF0ZSYpOwogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBvbk5ld1ZpZGVvRnJhbWVN
ZXRhZGF0YShWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
JiYpOworI2VuZGlmCisKICAgICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24o
KSBjb25zdDsKICAgICB2b2lkIHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uKik7CiAgICAgdm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CkBAIC02ODEs
NiArNjg5LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzTWVkaWFFbmdpbmUoKSBjb25zdDsKIAog
ICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEo
KTsKKyAgICB2b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CisgICAgdm9p
ZCBzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiAKIHByaXZhdGU6CiAgICAgTWVk
aWFQbGF5ZXIoTWVkaWFQbGF5ZXJDbGllbnQmKTsKQEAgLTcyNSw2ICs3MzUsNyBAQCBwcml2YXRl
OgogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQogICAgIGJvb2wgbV9zaG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgorICAgIGJvb2wgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSB7IGZh
bHNlIH07CiB9OwogCiBjbGFzcyBNZWRpYVBsYXllckZhY3RvcnkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBm
NWE0MGFiYzhhNzlhNmNlMDY0YjcwMmNkZDBjOWE5YWE2NjNkZDM5Li5jZjQ2MzEyYzUyYTk4NzJi
YzA0NWFkMWQ0MjJhZjQ4YjEwMDhjYTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMzIzLDYgKzMyMyw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25p
Y1RpbWUmKSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPFZp
ZGVvRnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFkYXRhKCkgeyByZXR1cm4geyB9OyB9Cisg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAppbmRleCA1OWVjYTQ1MTM0ZmU2ZjQwNTk5MDJlMjFj
ZTdlN2U1YWRlODBiZmEyLi5jZDFiYWY2ZTQ4Y2RkMGI1ZTZlYTliNGE2YjkyY2Q1ZjdmNjhlOTBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCkBAIC0zNDIsNiArMzQyLDExIEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYpIGZpbmFsOwogICAg
IGJvb2wgaGF2ZUJlZW5Bc2tlZFRvUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX2hhdmVCZWVuQXNr
ZWRUb1BhaW50OyB9CiAKKyAgICB2b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5n
KCkgZmluYWw7CisgICAgdm9pZCBzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgZmlu
YWw7CisgICAgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRh
ZGF0YSgpIGZpbmFsIHsgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEs
IHsgfSk7IH0KKyAgICB2b2lkIGNoZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCk7CisKICAgICBS
ZXRhaW5QdHI8QVZVUkxBc3NldD4gbV9hdkFzc2V0OwogICAgIFJldGFpblB0cjxBVlBsYXllcj4g
bV9hdlBsYXllcjsKICAgICBSZXRhaW5QdHI8QVZQbGF5ZXJJdGVtPiBtX2F2UGxheWVySXRlbTsK
QEAgLTQ1MSw2ICs0NTYsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGF2ZVByb2Nlc3NlZENo
YXB0ZXJUcmFja3MgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93YWl0Rm9yVmlkZW9PdXRwdXRNZWRp
YURhdGFXaWxsQ2hhbmdlVGltZWRPdXQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXZlQmVlbkFz
a2VkVG9QYWludCB7IGZhbHNlIH07CisgICAgdWludDY0X3QgbV9zYW1wbGVDb3VudCB7IDAgfTsK
KyAgICBSZXRhaW5QdHI8aWQ+IG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXI7
CisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2UgfTsKKyAg
ICBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gbV92aWRlb0ZyYW1lTWV0YWRhdGE7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA0ZDg2MTEzYmNiZTQ2OWVjNmUw
MjU3OTEwMmQxMTBlYTkzMDEwMDk2Li5kNGFkMThlMDMyYjgyMDYzYjlhYmM5NmRmNjc0MWE2MTI5
MGJjMWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTExMDgsNiArMTEwOCw4IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZQbGF5ZXIoKQog
ICAgICAgICB9KTsKICAgICB9XTsKIAorICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhKQorICAgICAgICBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogICAg
IHNldERlbGF5Q2FsbGJhY2tzKGZhbHNlKTsKIH0KIApAQCAtMTQzMyw2ICsxNDM1LDQ2IEBAIGJv
b2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1QYXVzZWQoKSBj
b25zdAogICAgIHJldHVybiBtX2NhY2hlZFRpbWVDb250cm9sU3RhdHVzID09IEFWUGxheWVyVGlt
ZUNvbnRyb2xTdGF0dXNQYXVzZWQ7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQzo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIEFT
U0VSVCghbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciB8fCBtX2F2UGxheWVy
KTsKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKworICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgdXNlIGEgQ0FEaXNwbGF5TGluayB0byBnZXQgdXBkYXRlcyBvbiBy
ZW5kZXJpbmcsIGZvciBub3cgd2UgZW11bGF0ZSB3aXRoIGFkZFBlcmlvZGljVGltZU9ic2VydmVy
Rm9ySW50ZXJ2YWwuCisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciA9
IFttX2F2UGxheWVyIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6UEFMOjpDTVRp
bWVNYWtlKDEsIDYwKSBxdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6
W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dKENNVGltZSkgeworICAgICAgICBlbnN1cmVP
bk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAg
ICAgICAgICAgICAgd2Vha1RoaXMtPmNoZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCk7CisgICAg
ICAgIH0pOworICAgIH1dOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OmNoZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCkKK3sKKyAgICBpZiAoIXVwZGF0ZUxh
c3RQaXhlbEJ1ZmZlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBWaWRlb0ZyYW1lTWV0YWRh
dGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEud2lkdGggPSBtX2NhY2hlZFByZXNlbnRhdGlvblNp
emUud2lkdGgoKTsKKyAgICBtZXRhZGF0YS5oZWlnaHQgPSBtX2NhY2hlZFByZXNlbnRhdGlvblNp
emUuaGVpZ2h0KCk7CisgICAgbWV0YWRhdGEucHJlc2VudGVkRnJhbWVzID0gKyttX3NhbXBsZUNv
dW50OworICAgIG1ldGFkYXRhLnByZXNlbnRhdGlvblRpbWUgPSBQQUw6OkNNVGltZUdldFNlY29u
ZHMoW21fYXZQbGF5ZXJJdGVtIGN1cnJlbnRUaW1lXSkgKiAxMDAwOworCisgICAgbV92aWRlb0Zy
YW1lTWV0YWRhdGEgPSBtZXRhZGF0YTsKKyAgICBwbGF5ZXIoKS0+b25OZXdWaWRlb0ZyYW1lTWV0
YWRhdGEoV1RGTW92ZShtZXRhZGF0YSksIG1fbGFzdFBpeGVsQnVmZmVyLmdldCgpKTsKK30KKwor
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzdG9wVmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRh
ID0gZmFsc2U7CisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGEgPSB7IH07CisKKyAgICBBU1NFUlQo
bV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcik7CisgICAgaWYgKG1fdmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIpCisgICAgICAgIFttX2F2UGxheWVyIHJlbW92
ZVRpbWVPYnNlcnZlcjptX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyLmdldCgp
XTsKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gbmlsOworfQor
CiBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1E
dXJhdGlvbigpIGNvbnN0CiB7CiAgICAgLy8gRG8gbm90IGFzayB0aGUgYXNzZXQgZm9yIGR1cmF0
aW9uIGJlZm9yZSBpdCBoYXMgYmVlbiBsb2FkZWQgb3IgaXQgd2lsbCBmZXRjaCB0aGUKQEAgLTI1
NDgsNyArMjU5MCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
dXBkYXRlTGFzdEltYWdlKFVwZGF0ZVR5cGUgdHlwZSkKICAgICAvLyBDYWxscyB0byBjb3B5UGl4
ZWxCdWZmZXJGb3JJdGVtVGltZTppdGVtVGltZUZvckRpc3BsYXk6IG1heSByZXR1cm4gbmlsIGlm
IHRoZSBwaXhlbCBidWZmZXIKICAgICAvLyBmb3IgdGhlIHJlcXVlc3RlZCB0aW1lIGhhcyBhbHJl
YWR5IGJlZW4gcmV0cmlldmVkLiBJbiB0aGlzIGNhc2UsIHRoZSBsYXN0IHZhbGlkIGltYWdlIChp
ZiBhbnkpCiAgICAgLy8gc2hvdWxkIGJlIGRpc3BsYXllZC4KLSAgICBpZiAoIXVwZGF0ZUxhc3RQ
aXhlbEJ1ZmZlcigpICYmIChtX2xhc3RJbWFnZSB8fCAhbV9sYXN0UGl4ZWxCdWZmZXIpKQorICAg
IGlmICgobV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSB8fCAhdXBkYXRlTGFzdFBpeGVs
QnVmZmVyKCkpICYmIChtX2xhc3RJbWFnZSB8fCAhbV9sYXN0UGl4ZWxCdWZmZXIpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBpZiAoIW1fcGl4ZWxCdWZmZXJDb25mb3JtZXIpIHsKQEAgLTI1ODMs
OSArMjYyNSw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFp
bnRXaXRoVmlkZW9PdXRwdXQoR3JhcGhpY3NDb250ZXh0JiBjCiAKIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwaXhlbEJ1ZmZl
ckZvckN1cnJlbnRUaW1lKCkKIHsKLSAgICB1cGRhdGVMYXN0UGl4ZWxCdWZmZXIoKTsKLSAgICBp
ZiAoIW1fbGFzdFBpeGVsQnVmZmVyKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAo
IW1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEpCisgICAgICAgIHVwZGF0ZUxhc3RQaXhl
bEJ1ZmZlcigpOwogCiAgICAgcmV0dXJuIG1fbGFzdFBpeGVsQnVmZmVyOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3Jt
ZXJDVi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJD
b25mb3JtZXJDVi5oCmluZGV4IGMzYzUzN2NlMjdjMDQ4OGE1ODhjNGQwMWI4ZDU0MDg4OGRjN2Y0
MDcuLmNjNTc4Yzc5YmIwN2Y0Mjk2ZDU5NzI3ODBiNjAwOTI0NjIwM2I2YmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVy
Q1YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZl
ckNvbmZvcm1lckNWLmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgUGl4ZWxCdWZmZXJDb25mb3Jt
ZXJDViB7CiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgUGl4ZWxCdWZmZXJDb25mb3JtZXJD
VihDRkRpY3Rpb25hcnlSZWYgYXR0cmlidXRlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWlu
UHRyPENWUGl4ZWxCdWZmZXJSZWY+IGNvbnZlcnQoQ1ZQaXhlbEJ1ZmZlclJlZik7Ci0gICAgUmV0
YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZm
ZXJSZWYpOworICAgIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJ
bWFnZUZyb21QaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsKIAogcHJpdmF0ZToKICAgICBS
ZXRhaW5QdHI8VlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZj4gbV9waXhlbENvbmZvcm1lcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5LmNwcAppbmRleCA1NjViOGIyOTNhZWNkZjVlNTFmZTVlMTAxNmM1YjdhN2U3MzNk
OGE5Li44ODEwOGNiYzUzM2MxMGM3NWUzNzBiZmNjODk4MDBhNTNjNjcyOWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuY3BwCkBAIC0xMDk4LDYgKzEwOTgsMTggQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclBy
b3h5OjpwYXVzZUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQogICAgICAgICBtX3BsYXll
ci0+cGF1c2VBdEhvc3RUaW1lKHRpbWUpOwogfQogCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBpZiAobV9wbGF5
ZXIpCisgICAgICAgIG1fcGxheWVyLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygp
OworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN0b3BWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPnN0
YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKICNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKIFdURkxvZ0NoYW5uZWwmIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmxvZ0NoYW5u
ZWwoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggMGU5ZjNkN2EyMTQ1ZDc1Yjk0M2UyYjU2
YTJkODBiYjgwNzNkZjllMS4uMzJmM2E0NmFhMGYwOWIxM2IwMjRlNDE2NDA3OGE1ZGFkZGVkYzU0
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0zMDcsNiArMzA3LDEyIEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBwbGF5QXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKICAgICB2b2lkIHBhdXNlQXRIb3N0VGlt
ZShNb25vdG9uaWNUaW1lKTsKIAorICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRo
ZXJpbmcoKTsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyNp
ZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG1lZGlhUGxheWVyT25OZXdWaWRlb0ZyYW1lTWV0
YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYsIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiYmKTsKKyNlbmRpZgorCiAgICAgYm9vbCBtZWRpYVBsYXllclBhdXNlZE9yU3RhbGxl
ZCgpIGNvbnN0OwogICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDhlYzYwM2ZlY2MxZjE4
ZDg0YzE0ZDQ3M2VhNTFhODE1MTQwN2QxMjMuLjM5Yzg3MjliMjczOWUxMzY0NGIzMWFhODBkYmE4
MGQ0YTMzMGM4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMzIs
NiArMTMyLDkgQEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBOb3RSZWZDb3Vu
dGVkIHsKIAogICAgIFBsYXlBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUgdGltZSkKICAgICBQYXVz
ZUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQorCisgICAgU3RhcnRWaWRlb0ZyYW1lTWV0
YWRhdGFHYXRoZXJpbmcoKQorICAgIFN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQog
fQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9j
b2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tCmluZGV4IDA4
YjJmZGVmNWE0ZmNiMThhZGRiZDE2YzFmZDYwODZjMWJlOWMyN2MuLmM2YmJhM2FhMmI0ZTU1ZmFl
ZmI5MzNiYmUyZTYzNTlkNzNmNjMxOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0KKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlD
b2NvYS5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW1wb3J0ICJMYXllckhvc3RpbmdDb250ZXh0
LmgiCiAjaW1wb3J0ICJNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorI2ltcG9y
dCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNv
cmUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRTaXplLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lP
U3VyZmFjZS5oPgpAQCAtODMsNiArODQsMTEgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJgogICAg
IHNldFZpZGVvSW5saW5lU2l6ZUlmUG9zc2libGUoKm1faW5saW5lTGF5ZXJIb3N0aW5nQ29udGV4
dCwgc2l6ZSk7CiB9CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJP
bk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShWaWRlb0ZyYW1lTWV0YWRhdGEmJiBtZXRhZGF0YSwgUmV0
YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVyKQoreworICAgIG1fd2ViUHJvY2Vzc0Nv
bm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6UHVzaFZp
ZGVvRnJhbWVNZXRhZGF0YShtZXRhZGF0YSwgYnVmZmVyKSwgbV9pZCk7Cit9CisKIHZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZShDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V1RGOjpNYWNoU2VuZFJpZ2h0PiYmLCBXZWJDb3Jl
OjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlm
ICghbV9wbGF5ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
bWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Cmlu
ZGV4IDhiZDBkYjI5N2JmYjQwNzRmNjg5MDA0MmZjZGE0Nzg0NTBkZjA1NjYuLjAxNTQ1ODM2MDAz
N2UyOWU5MzQzMDQ0MGMxMjRkMjNhZjE4NmRmNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlcy5weQpAQCAtNjc4LDYgKzY3OCw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBl
KHR5cGUpOgogICAgIGhlYWRlcl9pbmZvc19hbmRfdHlwZXMgPSBjbGFzc190ZW1wbGF0ZV9oZWFk
ZXJzKHR5cGUpCiAKICAgICBzcGVjaWFsX2Nhc2VzID0geworICAgICAgICAnQ1ZQaXhlbEJ1ZmZl
clJlZic6IFsnPFdlYkNvcmUvQ1ZQaXhlbEJ1ZmZlclJlZi5oPiddLAogICAgICAgICAnTWFjaFNl
bmRSaWdodCc6IFsnPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+J10sCiAgICAgICAgICdKU0M6Ok1lc3Nh
Z2VMZXZlbCc6IFsnPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPiddLAogICAgICAgICAn
SlNDOjpNZXNzYWdlU291cmNlJzogWyc8SmF2YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+J10s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggNjJiMTFkZjVlYWZhNjM1ZGJkMzZj
NzEwZDlkNmQ1ZjY1ZDhjMzdjNi4uMGFmOGVlOTVjNzliZjU2M2E4MTJjZDc3OTg1NTYyYTM4YWY3
NmRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtODAsNiArODAsNyBAQAog
I2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKKyNpbXBvcnQgPFdlYkNvcmUvUGl4ZWxCdWZm
ZXJDb25mb3JtZXJDVi5oPgogI2ltcG9ydCA8V2ViQ29yZS9WaWRlb0xheWVyTWFuYWdlck9iakMu
aD4KICNlbmRpZgogCkBAIC0xMzc3LDYgKzEzNzgsMjUgQEAgYm9vbCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQogICAg
IHJldHVybiB0cnVlOwogfQogCitzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp2aWRlb0ZyYW1lTWV0YWRhdGEoKQoreworICAgIGF1dG8g
dmlkZW9GcmFtZU1ldGFkYXRhID0gc3RkOjpleGNoYW5nZShtX3ZpZGVvRnJhbWVNZXRhZGF0YSwg
eyB9KTsKKyAgICByZXR1cm4gdmlkZW9GcmFtZU1ldGFkYXRhOworfQorCit2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorewor
ICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSB0cnVlOworICAgIGNvbm5lY3Rp
b24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpTdGFydFZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNH
YXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3BpeGVsQnVmZmVyR2F0
aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhID0gbnVsbHB0cjsKKyAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RvcFZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30KKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OnJlcXVlc3RSZXNvdXJjZShSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciByZW1vdGVN
ZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyOjpMb2FkT3B0aW9ucyBvcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAg
ICAgQVNTRVJUKCFtX21lZGlhUmVzb3VyY2VzLmNvbnRhaW5zKHJlbW90ZU1lZGlhUmVzb3VyY2VJ
ZGVudGlmaWVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAppbmRleCBiNWY1YjViYzFjNTJh
Mzk5YzkxYmM1MGNiYWRmNWZlYzlmNTU1YzQwLi40M2VmZmYyYjQ4MjlkYjA2ZTNmZmQyNDRiNWUy
ZjFjOGI5MGIxMGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTM5LDYgKzM5LDcg
QEAKICNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZVJlbW90ZS5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFQbGF5ZXJQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdp
bkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVNZXRhZGF0YS5oPgogI2luY2x1
ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CiAjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTU2LDYgKzU3LDEwIEBAIHN0cnVjdCBHZW5lcmljQ3Vl
RGF0YTsKIGNsYXNzIElTT1dlYlZUVEN1ZTsKIGNsYXNzIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFD
dWVWYWx1ZTsKIGNsYXNzIFZpZGVvTGF5ZXJNYW5hZ2VyOworCisjaWYgUExBVEZPUk0oQ09DT0Ep
CitjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtNDAwLDYgKzQwNSwxNCBAQCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhv
c3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmKSBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZUNvbmZp
Z3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpOwogCisgICAgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgp
IGZpbmFsOworICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5h
bDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgcHVzaFZpZGVvRnJhbWVNZXRhZGF0YShXZWJD
b3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYp
OworI2VuZGlmCisKICAgICBXZWFrUHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyPiBtX3BsYXllcjsK
ICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBtX21lZGlhUmVz
b3VyY2VMb2FkZXI7CiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC00NTAsNiArNDYzLDEyIEBAIHBy
aXZhdGU6CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZl
clJlZj4gbV9waXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lOwogI2VuZGlmCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGE+IG1f
dmlkZW9GcmFtZU1ldGFkYXRhOworICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX3Bp
eGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJDb3JlOjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9y
bWVyOworI2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsg
ZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgppbmRleCAxMThlMDI1YTY5YjNmYTQxZjU1OWU1YWEw
YmY5OGQzNzkxYmU1ZGU0Li5hNjA2MDM5MGU5MDU5MDg2ZGY0NTNmNzU2MWQ5ZjUxN2U2YjRhZTBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtOTEs
NiArOTEsMTAgQEAgbWVzc2FnZXMgLT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNv
dW50ZWQgewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgR2V0UmF3Q29va2llcyhVUkwg
dXJsKSAtPiAoVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4gcmVzdWx0KSBBc3luYwogI2VuZGlmCisK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBQdXNoVmlkZW9GcmFtZU1ldGFkYXRhKHN0cnVjdCBX
ZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiBidWZmZXIpOworI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KaW5kZXggYTJmODM1MmZiMjBmYmIyYTBkNjJm
YWVjNTliMmY0YTgyNjU0YmJmZi4uMmQ0ZTE1NWNhOWJmYWM0NTMwYTkwYjdkNmJhMmIzMmI4NTky
ZTc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2Nv
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1t
CkBAIC0zMyw2ICszMyw3IEBACiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNp
bXBvcnQgPFdlYkNvcmUvQ29sb3JTcGFjZUNHLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFj
ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg+CiAjaW1wb3J0
IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHd0Zi9NYWNoU2VuZFJp
Z2h0Lmg+CiAKQEAgLTQ2LDggKzQ3LDI0IEBAIFBsYXRmb3JtTGF5ZXJDb250YWluZXIgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpjcmVhdGVWaWRlb0Z1bGxzY3JlZW5MYXllcigpCiB9CiAjZW5k
aWYKIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnB1c2hWaWRlb0ZyYW1lTWV0YWRh
dGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYgdmlkZW9GcmFtZU1ldGFkYXRhLCBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIpCit7CisgICAgaWYgKCFtX2lzR2F0aGVy
aW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICByZXR1cm47CisgICAgbV92aWRlb0ZyYW1l
TWV0YWRhdGEgPSBXVEZNb3ZlKHZpZGVvRnJhbWVNZXRhZGF0YSk7CisgICAgbV9waXhlbEJ1ZmZl
ckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YSA9IFdURk1vdmUoYnVmZmVyKTsKK30KKwog
UmVmUHRyPE5hdGl2ZUltYWdlPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om5hdGl2ZUltYWdl
Rm9yQ3VycmVudFRpbWUoKQogeworICAgIGlmIChtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlk
ZW9GcmFtZU1ldGFkYXRhKSB7CisgICAgICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikK
KyAgICAgICAgICAgIG1fcGl4ZWxCdWZmZXJDb25mb3JtZXIgPSBtYWtlVW5pcXVlPFBpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1Y+KChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpQHsgKF9fYnJpZGdlIE5T
U3RyaW5nICopa0NWUGl4ZWxCdWZmZXJQaXhlbEZvcm1hdFR5cGVLZXk6IEAoa0NWUGl4ZWxGb3Jt
YXRUeXBlXzMyQkdSQSkgfSk7CisgICAgICAgIEFTU0VSVChtX3BpeGVsQnVmZmVyQ29uZm9ybWVy
KTsKKyAgICAgICAgaWYgKCFtX3BpeGVsQnVmZmVyQ29uZm9ybWVyKQorICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBOYXRpdmVJbWFnZTo6Y3JlYXRlKG1fcGl4ZWxC
dWZmZXJDb25mb3JtZXItPmNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKG1fcGl4ZWxCdWZmZXJH
YXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGEuZ2V0KCkpKTsKKyAgICB9CiAgICAgc3RkOjpv
cHRpb25hbDxNYWNoU2VuZFJpZ2h0PiBzZW5kUmlnaHQ7CiAgICAgYXV0byBjb2xvclNwYWNlID0g
RGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCk7CiAgICAgaWYgKCFjb25uZWN0aW9uKCkuc2Vu
ZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdlRm9yQ3Vy
cmVudFRpbWUoKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdl
Rm9yQ3VycmVudFRpbWU6OlJlcGx5KHNlbmRSaWdodCwgY29sb3JTcGFjZSksIG1faWQpKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhkZTlhMjVi
NjBmYjQ1ZTJkZTBhMDIyZWVkNWJiZjI3NWE4Y2U3OTYuLmM2NjJjZWI5ZWFlYWE5N2M5ZGQwMGFj
ZTc2ZDA4OWU4NzdlODE3YzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0xNSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hv
dWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRW5hYmxlIHJ2ZmMgYnkgZGVmYXVsdCBpbiB0ZXN0IHJ1bm5lci4KKworICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKwogMjAyMS0xMS0xNCAgQnJhZHkgRWlk
c29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IGRhZW1vbiBBUEkgcmVhZHkg
dG8gd29yayBpbiB0aGUgaU9TIHNpbXVsYXRvciAoc3RhcnRpbmcgd2l0aCBXZWJQdXNoRCkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZDIwMTA1NDFl
MWI0NGIxNzRjMmUxY2RlNTI0NDEyNjkyNDU1YjBmLi5mMzM5YTQzMzNjMGE5MGY1YTRkZTNlZTZm
N2M3MDg2ZTc2MDE4ZmM1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCkBAIC04NjMsMTEgKzg2Myw4IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2Vz
Rm9yVGVzdE9wdGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBXCiAgICAg
ICAgIFtwcmVmZXJlbmNlcyBfcmVzZXRGb3JUZXN0aW5nXTsKIAogICAgICAgICBpZiAoZW5hYmxl
QWxsRXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKLSAgICAgICAgICAgIGZvciAoV2ViRmVhdHVyZSAq
ZmVhdHVyZSBpbiBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkgewotICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4gRW5hYmxl
IGl0IHdoZW4gdGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4KLSAgICAg
ICAgICAgICAgICBhdXRvIGVuYWJsZWQgPSBbZmVhdHVyZS5uYW1lIGlzRXF1YWw6QCJSZXF1ZXN0
VmlkZW9GcmFtZUNhbGxiYWNrIl0gPyBOTyA6IFlFUzsKLSAgICAgICAgICAgICAgICBbcHJlZmVy
ZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJl
bmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdKQorICAgICAgICAgICAgICAgIFtwcmVmZXJlbmNl
cyBfc2V0RW5hYmxlZDpZRVMgZm9yRmVhdHVyZTpmZWF0dXJlXTsKICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpKSB7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGIwOTBiYmQzMWZmNDg2ZDE5ZDM3
OWFjNDA4MjhkZjNlZGQwYjJkZjYuLmVkMjgwMmZiMWU3NjZkYzVkZTY3YzQ0ZDE1NzY2MTYzMmMz
OTMxYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC05
MDUsOSArOTA1LDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29u
c2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW8KICAgICAgICAgaWYgKGVuYWJs
ZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKQogICAgICAgICAgICAgV0tQcmVmZXJlbmNlc0VuYWJs
ZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAotICAgICAgICAvLyBGSVhN
RTogV2UgZGlzYWJsZSBydmZjIGJ5IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2aWRlbyBi
YWNrZW5kIHN1cHBvcnQgaXMgZ29vZCBlbm91Z2guCi0gICAgICAgIFdLUHJlZmVyZW5jZXNTZXRS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwotCiAg
ICAgICAgIFdLUHJlZmVyZW5jZXNSZXNldEFsbEludGVybmFsRGVidWdGZWF0dXJlcyhwcmVmZXJl
bmNlcyk7CiAKICAgICAgICAgV0tQcmVmZXJlbmNlc1NldFByb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
RW5hYmxlZChwcmVmZXJlbmNlcywgb3B0aW9ucy5zaG91bGRFbmFibGVQcm9jZXNzU3dhcE9uTmF2
aWdhdGlvbigpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAxNTRkMDBlMmFmNzE2ZWUyZDIyNTA4ZDY3NDBjODAzY2M3Y2Nl
OGU5Li45MjU3ZTY3ZGMyZjNjN2U0OGUxZGRhMGE1OTFiZjEyMjM0MDNjMGUyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMTEtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEv
VGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjEtMTEtMTQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKICAgICAgICAgRmluZ2VycyBkb3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBh
biBhbmltYXRlZCBzY3JvbGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlmOGM5
OTAzODZlMTI5MTcwYjhiMWE2YTljMGY2MTRhNDZiMWRiNjkuLjRhMDE3OGNjOWRhYTdiOTkwYTE3
Nzg2MDc2M2UwNTE4MzI2MzZmMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZj
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9t
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBh
cmFsbGVsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1m
cmFtZS1jYWxsYmFjay5odG1sOgorCiAyMDIxLTExLTE0ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBs
ZS5jb20+CiAKICAgICAgICAgTW9kYWwgZGlhbG9ncyBzaG91bGQgbWFrZSB0aGUgcm9vdCBlbGVt
ZW50IHVuZm9jdXNhYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1k
b20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVk
LnR4dAppbmRleCA2NjM5ZDRmMjg4NWUxZjk3NjQ4ZDUwNTQ3NzBlYWZlYjQzMmRjNTBkLi43ZTVj
NDg2MjA0NTM0Nzk0Mzk0MWJjY2M1ZDRiZWU3NjYyMWE2MjFkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12
aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZy
YW1lLWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAKLUhhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgYSB2aWRlbyBv
dXRzaWRlIG9mIHRoZSBET00gY2FuIHN0aWxsIHVzZSB2aWRlby5yVkZDLiBUZXN0IHRpbWVkIG91
dAotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25lIi4gVGVz
dCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggInZpc2liaWxp
dHk6aGlkZGVuIi4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBhIHZpZGVvIG91dHNpZGUgb2Yg
dGhlIERPTSBjYW4gc3RpbGwgdXNlIHZpZGVvLnJWRkMuCitQQVNTIFRlc3QgdmlkZW8uclZGQyB3
b3JrcyB3aXRoICJkaXNwbGF5Om5vbmUiLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0
aCAidmlzaWJpbGl0eTpoaWRkZW4iLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3Rl
ZC50eHQKaW5kZXggY2E3Y2IzZTk0Y2RmYjI1MjU4YjlkOTliNGY0ZDQ3ZWRhMGU3NzIxNi4uY2Q3
OTYxMjA1NTE3MTY4YjU0M2JmNTliYmUwZmFlMjY5ZmUwYmQxNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1l
LWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSw4IEBACiAKIAotSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCB3ZSBjYW4gcmVnaXN0
ZXIgYSB2aWRlby5yVkZDIGNhbGxiYWNrLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHZp
ZGVvLnJWRkMgY2FsbGJhY2tzIHJ1biBiZWZvcmUgd2luZG93LnJBRiBjYWxsYmFja3MuIFRlc3Qg
dGltZWQgb3V0Ci1USU1FT1VUIFRlc3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVvLnJWRkMgcmVxdWVz
dC4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRlby5yVkZD
IGNhbGxiYWNrLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgY2FsbGJhY2tzIHJ1biBiZWZvcmUgd2lu
ZG93LnJBRiBjYWxsYmFja3MuCitQQVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVvLnJWRkMg
cmVxdWVzdC4KIFBBU1MgVGVzdCBpbnZhbGlkIGNhbGxzIHRvIHRoZSB2aWRlby5yVkZDIEFQSS4K
LVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIGRvZXMgbm90IHN0b3Agd2hlbiBzd2l0Y2hpbmcgc291
cmNlcy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCB2aWRlby5yVkZDIGRvZXMgbm90IHN0b3Ag
d2hlbiBzd2l0Y2hpbmcgc291cmNlcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJh
Y2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0CmluZGV4IDZmZTY4NGFlOGU2NmRhYjhjY2U2OGQyMjc1
MzU5NWE4NDQ4YzZiOTAuLjMyYjk5YWVkNTQ1N2RmYTFiZjJhOTE2MzMxZDI2ZjFlZDlkOWI1ZDAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50
eHQKQEAgLTEsNyArMSw1IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2Ug
PSBudWxsCi0KLVRJTUVPVVQgVGVzdCBjYWxsYmFja3MgZ2V0IHRoZSBzYW1lIGluZm9ybWF0aW9u
LiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwgY2FsbGJhY2tzIGZy
b20gY2FsbGJhY2tzLiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IGNhbGxiYWNrcyBnZXQgdGhl
IHNhbWUgaW5mb3JtYXRpb24uCitQQVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBjYWxsYmFja3MgZnJv
bSBjYWxsYmFja3MuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJl
cGVhdGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRp
bmctZXhwZWN0ZWQudHh0CmluZGV4IGI0YTViZTNkZDI1MTJiODVjMzg1NTViOGYzY2U3MDM2Nzhl
ZDRkZmQuLmE2MzFhMTc2YmQ1OWI2ZGYxYzQ1NTZkM2NkYjExNDVkM2M2OTU4NjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZm
Yy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZj
L3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dApAQCAt
MSw3ICsxLDUgQEAKIAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
LQotVElNRU9VVCBUZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRoZSBuZXh0
IGZyYW1lLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IGNoYWluaW5nIGNhbGxzIHRvIHZp
ZGVvLnJWRkMsIGFuZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMuIFRlc3QgdGltZWQg
b3V0CitQQVNTIFRlc3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24gdGhlIG5leHQg
ZnJhbWUuCitGQUlMIFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5kIHZlcmlm
eSB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcHJlc2VudGF0
aW9uVGltZSBzaG91bGQgYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGV4cGVjdGVkIGEgbnVt
YmVyIGJ1dCBnb3QgYSAidW5kZWZpbmVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbAppbmRleCBh
NDQwNDE0M2ZhNDA4ZWJiYjhmNDljYzMxODBlMDY1ZDIwMGZmYTRhLi40N2ExMDllODIyYWJkNGVl
ZWIzNWNiNDEyYjQ0MDllZGRhMGIzMzQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwKQEAgLTEw
NSw2ICsxMDUsNyBAQCB0ZXN0KGZ1bmN0aW9uKHQpIHsKIAogcHJvbWlzZV90ZXN0KGFzeW5jIGZ1
bmN0aW9uKHQpIHsKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRl
bycpOworICAgIHZpZGVvLmF1dG9wbGF5ID0gdHJ1ZTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHZpZGVvKTsKIAogICAgIGxldCBmaXJzdF93aWR0aCA9IDA7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjhhYWRiOTk2Zjc3OThi
NjUwNTkyMTdlNjVmNDYxMjMzZjk2M2MwZi4uMzY0ZGU3MDdmMWY1ZjVjOTdiYTAwMTAwNDRkNjQz
YmI2YzI3OGUzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTQzLDEzICsxNDMsOSBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY25hbWUtY2xvYWtpbmctdG9wLW5vLWNuYW1lLXN1Yi1uby1jbmFtZS5odG1sCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KIGZhc3QvbWVk
aWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3MgXQogd2VicnRjL3BlZXJDb25u
ZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFk
ZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBvcnQuCisjIFRpbWluZyBvdXQg
dGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZvcmUteHIt
c2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbCBbIFNr
aXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
cmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KIAog
Iy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lm
aWMgZGlyZWN0b3JpZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMWRmOTVkMDUzMzUzMDY1MzkyNzNlMjAxMzkxZjMwZjRjZWYyZGQ0OC4u
MWNiYzRlYzQ1MjUzNTJiYzQ0OGE5NmU2YWFhYmQ4MzJiZWExNjQzOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzMsNiArMzMsMTEgQEAg
aHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1leHRlcm5hbC1lbnRpdHktbm8tbG9n
Z2luZy54bWwgWyBQYXNzIF0KICMgcmRhcjovL3Byb2JsZW0vNjE3OTM4ODQgOiBFbmFibGluZyB0
aGlzIHRlc3QgZm9yIFdLMSBvbmx5LgogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMv
c2hhcGUtb3V0c2lkZS1pbWFnZWRhdGEtb3ZlcmZsb3cuaHRtbCBbIFBhc3MgXQogCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KKyMgVGltaW5nIG91
dCB0ZXN0cyB1bnRpbCB3ZSBhZGQgWFIgc2Vzc2lvbi4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14
ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1z
ZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCiAjLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzIyYTViZWQ5YTZlMzEyM2Y3YzRjNGFlMGE0OGQ4NWJh
M2Y5YWRiZC4uMmZkMDc0YTFhY2Q4M2E5YzA2NzdkYTBlZWI0MmUwN2NkNjRiNDZmZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIyLDEz
ICsxMjIsOSBAQCBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS10cmFuc2FjdGlvbi1jeWNsZS5o
dG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMg
WyBQYXNzIF0KIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3Mg
XQogd2VicnRjL3BlZXJDb25uZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0
IHRlc3RzIHVudGlsIHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBv
cnQuCisjIFRpbWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1iZWZvcmUteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1kb20uaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92
aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24u
aHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
Lmh0bWwgWyBTa2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBF
bmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCg==
</data>
<flag name="commit-queue"
          id="469211"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444239</attachid>
            <date>2021-11-15 04:56:08 -0800</date>
            <delta_ts>2021-11-15 05:31:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211115135605.patch</filename>
            <type>text/plain</type>
            <size>49330</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMjdhNzIwZDEzN2YxMGU1YzczZGIwNDU0ZWY1Nzlj
NzNkOWFjMGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaDoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9w
IGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdm
MWFhMjRlYmRkYTNjZWRkLi43M2U0NTFlYzFlMjZkNmMzYjYyZWY1NDJjNjZhOTgwNWFiMWMzODIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3MzcyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHN0YXJ0L3N0b3AgbWV0YWRhdGEgZ2F0aGVyaW5nIGZyb20gV2ViUHJvY2VzcyB0byBH
UFVQcm9jZXNzLgorICAgICAgICBBZGQgSVBDIG1lc3NhZ2luZyB0byBwdXNoIG1ldGFkYXRhIHRv
IFdlYlByb2Nlc3MsIGluY2x1ZGluZyBzZW5kaW5nIHRoZSBjb3JyZXNwb25kaW5nIENWUGl4ZWxC
dWZmZXIgZm9yIHRoZSBjdXJyZW50IG1ldGFkYXRhLgorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUgd2lsbCB0aGVuIHNlcnZlIHRoYXQgYnVmZmVyIHdoZW4gYmVpbmcgcmVxdWVzdGVk
IHRoZSBjdXJyZW50IGltYWdlLgorICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCBwYWludGluZyBv
biBhIGNhbnZhcyBkb2VzIG5vdCBtYXJrIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyBhY3F1aXJlZCwg
d2hpY2ggd291bGQgdGhlbiBza2lwIHRoZSB2aWRlbyBmcmFtZSBtZXRhZGF0YSBnYXRoZXJpbmcu
CisgICAgICAgIFRoaXMgYWxzbyBlbnN1cmVzIHRoZSBzYW1lIGJ1ZmZlciBpcyB1c2VkIGlmIGEg
dmlkZW8gZWxlbWVudCBpcyBwYWludGVkIHNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBzYW1lIHJ2
ZmMgY2FsbGJhY2suCisgICAgICAgIFRoaXMgaGFzIHRoZSBzaWRlIGJlbmVmaXQgb2YgcmVtb3Zp
bmcgdGhlIHN5bmNocm9ub3VzIElQQyB0byBwYWludCB0aGUgdmlkZW8gZWxlbWVudCBpbiBhIGNh
bnZhcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIxLTExLTE0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSBy
ZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDk5ODEwZWI4MjAzY2NkYTZiNWM5ZTM4MTYxNGI2MmJlNmVmMmExY2MuLjc5MmY2OTk5
ZTYxMjQ5NzE2MDM3NTIzNGQwOTEwZTEyZmFjNjIxZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjIsNiArMTIyMiw3IEBA
CiAJCTQxRTZENzFCMjZFQTFBNDYwMEI3NjVENiAvKiBSVENFcnJvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCN0MwNEIyNkU2OTE3MTAwRDM2QzA3
IC8qIFJUQ0Vycm9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDFFOURDRTcyMzE5NzRCRjAwRjM1OTQ5IC8qIEJsb2JMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTlEQ0U0MjMxOTczRkUw
MEYzNTk0OSAvKiBCbG9iTG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDFFOURDRTkyMzE5Q0E3NjAwRjM1OTQ5IC8qIE5ldHdvcmtTZW5k
UXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
RTlEQ0U4MjMxOUNBNzUwMEYzNTk0OSAvKiBOZXR3b3JrU2VuZFF1ZXVlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFFRTJBQ0IyNzQyNjRDNzAw
OEFDMDU3IC8qIENWUGl4ZWxCdWZmZXJSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRUUyQUM5Mjc0MjY0QzQwMDhBQzA1NyAvKiBDVlBpeGVsQnVm
ZmVyUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDFGMDYyMTQwRjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MjEy
MEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmggKi87IH07CiAJ
CTQxRjFEMjFGMEVGMzVDMkEwMERBODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjFEMjFEMEVGMzVD
MkEwMERBODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUZBQkQyRDFGNERGRTRBMDA2QTZDOTcg
LyogRE9NQ2FjaGVFbmdpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxRkFCRDJCMUY0REZFNDIwMDZBNkM5NyAvKiBET01DYWNoZUVuZ2luZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NTk2LDYg
Kzg1OTcsNyBAQAogCQk0MUU5RENFNjIzMTk3NDIzMDBGMzU5NDkgLyogRW5kaW5nVHlwZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRW5kaW5nVHlwZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxRTlEQ0U4MjMxOUNBNzUwMEYzNTk0OSAvKiBOZXR3b3JrU2VuZFF1ZXVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtTZW5kUXVldWUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFOURDRUEyMzE5Q0FFODAwRjM1OTQ5IC8q
IE5ldHdvcmtTZW5kUXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTmV0d29ya1NlbmRRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
RUUyQUM5Mjc0MjY0QzQwMDhBQzA1NyAvKiBDVlBpeGVsQnVmZmVyUmVmLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENWUGl4ZWxCdWZmZXJSZWYuaDsgcGF0aCA9IHBsYXRmb3Jt
L2NvY29hL0NWUGl4ZWxCdWZmZXJSZWYuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9Owog
CQk0MUYwNjIxMjBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2MjEzMEY1RjE5MjYwMEEw
N0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MUYwOTYzNDI0RjkwREVBMDAwOUZCOTMgLyogVGV4dERl
Y29kZXJTdHJlYW1EZWNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUZXh0RGVjb2RlclN0cmVhbURlY29kZXIuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgxMzYsNiArMTgxMzgsNyBAQAogCQkJ
CTNGODAyMDM0MUU5RTM4MUQwMERFQzYxRCAvKiBDb3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdl
ci5oICovLAogCQkJCTNGM0JCNTgyMUU3MDlFRTQwMEM3MDFGMiAvKiBDb3JlQXVkaW9DYXB0dXJl
U291cmNlLmNwcCAqLywKIAkJCQkzRjNCQjU4MzFFNzA5RUU0MDBDNzAxRjIgLyogQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZS5oICovLAorCQkJCTQxRUUyQUM5Mjc0MjY0QzQwMDhBQzA1NyAvKiBDVlBp
eGVsQnVmZmVyUmVmLmggKi8sCiAJCQkJMDdBNkQ4NDgxRkVCNzAwQjAwNjQ0MURFIC8qIERpc3Bs
YXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcCAqLywKIAkJCQkwN0E2RDg0OTFGRUI3MDBDMDA2NDQx
REUgLyogRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuaCAqLywKIAkJCQk0MTc0RTkyMDI1MzVE
Q0REMDBGRTQyMDIgLyogTWVkaWFTdHJlYW1UcmFja0F1ZGlvU291cmNlUHJvdmlkZXJDb2NvYS5j
cHAgKi8sCkBAIC0zMzAzOCw2ICszMzA0MSw3IEBACiAJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNC
MEE3IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzVEMjM4NTIyN0EwNjUy
MDAwQjlCREEgLyogQ3VzdG9tSGVhZGVyRmllbGRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjFF
MTNFNzIxNzkwRDY2MDA0MkNGOTggLyogQ3VzdG9tUGFpbnRDYW52YXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQxRUUyQUNCMjc0MjY0QzcwMDhBQzA1NyAvKiBDVlBpeGVsQnVmZmVyUmVmLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QjhFRDVGMDI2RjBDMTNEMDA4QUMwMjMgLyogQ1ZVdGlsaXRpZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0I0MTNFMEU4NjMzRkQwMDMyQzRGMCAvKiBEYXNoQXJy
YXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM2QTIxMTUwNUYwODEwMDFCNzRBQyAvKiBEYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CmluZGV4IDJlY2JmNWRiYWFkZWQ0MmU3NzkwNDQwNWFjMDEzMWUzOGZjMjliZTcuLjY5NTY2OTQ5
NjMxMGVmOTEwOGI5NTZmZGE0ODIxNDMwMTQ5NzBlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCkBAIC02NDEsNiArNjQxLDkgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
c2V0Q2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlKGJvb2wgdmFsdWUpIHsgbV9jaGFuZ2luZ1Zp
ZGVvRnVsbHNjcmVlbk1vZGUgPSB2YWx1ZTsgfQogICAgIGJvb2wgaXNDaGFuZ2luZ1ZpZGVvRnVs
bHNjcmVlbk1vZGUoKSBjb25zdCB7IHJldHVybiBtX2NoYW5naW5nVmlkZW9GdWxsc2NyZWVuTW9k
ZTsgfQogCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBtZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQoKSBv
dmVycmlkZTsKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgSW50ZXJuYWxzOwogCkBAIC02
OTIsNyArNjk1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIG1lZGlhUGxheWVyU2l6ZUNoYW5nZWQo
KSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyUmVuZGVyaW5nTW9kZUNoYW5nZWQoKSBmaW5h
bDsKICAgICBib29sIG1lZGlhUGxheWVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSBm
aW5hbDsKLSAgICB2b2lkIG1lZGlhUGxheWVyRW5naW5lVXBkYXRlZCgpIGZpbmFsOwogICAgIHZv
aWQgbWVkaWFQbGF5ZXJXaWxsSW5pdGlhbGl6ZU1lZGlhRW5naW5lKCkgZmluYWw7CiAgICAgdm9p
ZCBtZWRpYVBsYXllckRpZEluaXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQg
bWVkaWFQbGF5ZXJSZWxvYWRBbmRSZXN1bWVQbGF5YmFja0lmTmVlZGVkKCkgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCBiYjA1ZTI3NjFmODJkYzlk
ZTMxMWQ0Y2JhMjM0Nzk1MTY5MDljMzI5Li5kNzY5ZTUzYWViMWUxOGE3ZDk3MWE2MzZlMTlkMmJl
MDU2MmZlNTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKQEAg
LTU4OCw2ICs1ODgsOSBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmV4aXRUb0Z1bGxzY3JlZW5N
b2RlV2l0aG91dEFuaW1hdGlvbklmUG9zc2libGUoSFRNTE1lZGlhRQogCiB1bnNpZ25lZCBIVE1M
VmlkZW9FbGVtZW50OjpyZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKFJlZjxWaWRlb0ZyYW1lUmVx
dWVzdENhbGxiYWNrPiYmIGNhbGxiYWNrKQogeworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1ZXN0
cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZygpOworCiAgICAgYXV0byBpZGVudGlmaWVyID0gKyttX25leHRW
aWRlb0ZyYW1lUmVxdWVzdEluZGV4OwogICAgIG1fdmlkZW9GcmFtZVJlcXVlc3RzLmFwcGVuZCht
YWtlVW5pcXVlUmVmPFZpZGVvRnJhbWVSZXF1ZXN0PihpZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxi
YWNrKSkpOwogCkBAIC02MDcsNiArNjEwLDkgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50OjpjYW5j
ZWxWaWRlb0ZyYW1lQ2FsbGJhY2sodW5zaWduZWQgaWRlbnRpZmllcikKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1vdmUoaW5kZXgpOworCisgICAg
aWYgKG1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1wdHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAg
cGxheWVyKCktPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIH0KIAogdm9pZCBI
VE1MVmlkZW9FbGVtZW50OjpzZXJ2aWNlUmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFja3MoUmVkdWNl
ZFJlc29sdXRpb25TZWNvbmRzIG5vdykKQEAgLTYyNywxMyArNjMzLDIzIEBAIHZvaWQgSFRNTFZp
ZGVvRWxlbWVudDo6c2VydmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNv
bHV0aW9uU2Vjb25kCiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNhbGxiYWNr
Q291bnQ7ICsraW5kZXgpIHsKICAgICAgICAgYXV0byYgcmVxdWVzdCA9IG1fdmlkZW9GcmFtZVJl
cXVlc3RzW2luZGV4XTsKICAgICAgICAgaWYgKCFyZXF1ZXN0LT5jYW5jZWxsZWQpIHsKLSAgICAg
ICAgICAgIHJlcXVlc3QtPmNhbGxiYWNrLT5oYW5kbGVFdmVudChub3cudmFsdWUoKSwgKnZpZGVv
RnJhbWVNZXRhZGF0YSk7CisgICAgICAgICAgICByZXF1ZXN0LT5jYWxsYmFjay0+aGFuZGxlRXZl
bnQoc3RkOjpyb3VuZChub3cubWlsbGlzZWNvbmRzKCkpLCAqdmlkZW9GcmFtZU1ldGFkYXRhKTsK
ICAgICAgICAgICAgIHJlcXVlc3QtPmNhbmNlbGxlZCA9IHRydWU7CiAgICAgICAgIH0KICAgICB9
CiAgICAgbV9pc1J1bm5pbmdWaWRlb0ZyYW1lUmVxdWVzdHMgPSBmYWxzZTsKIAogICAgIG1fdmlk
ZW9GcmFtZVJlcXVlc3RzLnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGNhbGxiYWNrKSB7IHJl
dHVybiBjYWxsYmFjay0+Y2FuY2VsbGVkOyB9KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1
ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgSFRNTFZpZGVvRWxlbWVudDo6bWVk
aWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkKK3sKKyAgICBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckVuZ2luZVVwZGF0ZWQoKTsKKyAgICBpZiAoIW1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1w
dHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAgcGxheWVyKCktPnN0YXJ0VmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFZpZGVvRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50
LmgKaW5kZXggOWViOGY2ZTViOGM3YWUwMGM0ZTc0MTQ4Yzc4ZDgzM2Q2NjcwMjg1OS4uODU2YWRl
YTc4ZmI3Mzk4ZDhmYjQ1ZjQ0OGEzNTkxYmRhNTVmOTcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmgKQEAgLTE0MSw2ICsxNDEsOCBAQCBwcml2YXRlOgogCiAgICAgUGxh
dGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBwcmVzZW50YXRpb25UeXBlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZTo6VmlkZW87IH0KIAor
ICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgZmluYWw7CisKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8SFRNTEltYWdlTG9hZGVyPiBtX2ltYWdlTG9hZGVyOwogCiAgICAgQXRvbVN0cmlu
ZyBtX2RlZmF1bHRQb3N0ZXJVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9WaWRlb0ZyYW1lTWV0YWRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJh
bWVNZXRhZGF0YS5oCmluZGV4IDhmZDlhNDcwMDI0OGQ0ZDI3OGRjZTI3NDk3ODM2MGE1N2JhZjU5
ZWEuLjk0ZGRmMGVmMGY2MTEzNWJkOWI2ODkwOGI4MTE1NmZiYmJkZjIzZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oCkBAIC00Myw4ICs0Myw3MyBA
QCBzdHJ1Y3QgVmlkZW9GcmFtZU1ldGFkYXRhIHsKICAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4g
Y2FwdHVyZVRpbWU7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHJlY2VpdmVUaW1lOwogICAg
IHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHJ0cFRpbWVzdGFtcDsKKworICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IGRl
Y29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgoraW5saW5lIHZv
aWQgVmlkZW9GcmFtZU1ldGFkYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sK
KyAgICBlbmNvZGVyIDw8IHByZXNlbnRhdGlvblRpbWUgPDwgZXhwZWN0ZWREaXNwbGF5VGltZSA8
PCB3aWR0aCA8PCBoZWlnaHQgPDwgbWVkaWFUaW1lIDw8IHByZXNlbnRlZEZyYW1lcyA8PCBwcm9j
ZXNzaW5nRHVyYXRpb24gPDwgY2FwdHVyZVRpbWUgPDwgcmVjZWl2ZVRpbWUgPDwgcnRwVGltZXN0
YW1wOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgoraW5saW5lIHN0ZDo6b3B0aW9uYWw8
VmlkZW9GcmFtZU1ldGFkYXRhPiBWaWRlb0ZyYW1lTWV0YWRhdGE6OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBwcmVzZW50YXRpb25UaW1lOwor
ICAgIGRlY29kZXIgPj4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBpZiAoIXByZXNlbnRhdGlvblRp
bWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gZXhwZWN0ZWREaXNwbGF5VGltZTsKKyAgICBkZWNvZGVyID4+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgaWYgKCFleHBlY3RlZERpc3BsYXlUaW1lKQorICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gd2lkdGg7CisgICAgZGVj
b2RlciA+PiB3aWR0aDsKKyAgICBpZiAoIXdpZHRoKQorICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OworCisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gaGVpZ2h0OworICAgIGRlY29kZXIg
Pj4gaGVpZ2h0OworICAgIGlmICghaGVpZ2h0KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IG1lZGlhVGltZTsKKyAgICBkZWNvZGVyID4+
IG1lZGlhVGltZTsKKyAgICBpZiAoIW1lZGlhVGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHByZXNlbnRlZEZyYW1lczsKKyAg
ICBkZWNvZGVyID4+IHByZXNlbnRlZEZyYW1lczsKKyAgICBpZiAoIXByZXNlbnRlZEZyYW1lcykK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpv
cHRpb25hbDxkb3VibGU+PiBwcm9jZXNzaW5nRHVyYXRpb247CisgICAgZGVjb2RlciA+PiBwcm9j
ZXNzaW5nRHVyYXRpb247CisgICAgaWYgKCFwcm9jZXNzaW5nRHVyYXRpb24pCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91
YmxlPj4gY2FwdHVyZVRpbWU7CisgICAgZGVjb2RlciA+PiBjYXB0dXJlVGltZTsKKyAgICBpZiAo
IWNhcHR1cmVUaW1lKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpv
cHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IHJlY2VpdmVUaW1lOworICAgIGRlY29kZXIg
Pj4gcmVjZWl2ZVRpbWU7CisgICAgaWYgKCFyZWNlaXZlVGltZSkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDx1bnNpZ25lZD4+
IHJ0cFRpbWVzdGFtcDsKKyAgICBkZWNvZGVyID4+IHJ0cFRpbWVzdGFtcDsKKyAgICBpZiAoIXJ0
cFRpbWVzdGFtcCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiBW
aWRlb0ZyYW1lTWV0YWRhdGEgeyAqcHJlc2VudGF0aW9uVGltZSwgKmV4cGVjdGVkRGlzcGxheVRp
bWUsICp3aWR0aCwgKmhlaWdodCwgKm1lZGlhVGltZSwgKnByZXNlbnRlZEZyYW1lcywgKnByb2Nl
c3NpbmdEdXJhdGlvbiwgKmNhcHR1cmVUaW1lLCAqcmVjZWl2ZVRpbWUsICpydHBUaW1lc3RhbXAg
fTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQ1ZQaXhlbEJ1ZmZlclJlZi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvQ1ZQaXhlbEJ1ZmZlclJlZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNDEzOGI3
NjU3ZTVlZjY1ZGY2NTVjNTE2ZDJjYzJhZjc0YjkyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmgKQEAgLTAsMCArMSwz
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgUExBVEZPUk0oQ09DT0EpCisKK3R5cGVkZWYgc3RydWN0IF9fQ1ZCdWZm
ZXIgKkNWUGl4ZWxCdWZmZXJSZWY7CisKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBh
NDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQxNzA2NTk2Li5mNTA1ZmY4MjRhNzNhZWRm
MTFhOGM4ZDUwODMxZTEzYjJiMzE4ZDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01OTAsNiArNTkwLDggQEAgdm9pZCBNZWRp
YVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUoY29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5
KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+c2V0UGFnZUlzVmlzaWJsZSht
X3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYgKG1fdmlzaWJsZUluVmlld3BvcnQpCiAg
ICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNpYmxlSW5WaWV3cG9ydChtX3Zpc2libGVJ
blZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFk
YXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1f
cHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJlc2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJl
cGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0KQEAgLTE3MjEsNiArMTcyMywyMyBAQCBz
dGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gTWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVN
ZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9
CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkK
K3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKyAgICBtX3By
aXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVk
aWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNH
YXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30KKwordm9pZCBNZWRpYVBsYXllcjo6b25O
ZXdWaWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFp
blB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBs
YXllck9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1
ZmZlcikpOworfQorCiBTdHJpbmcgTWVkaWFQbGF5ZXI6OmVsZW1lbnRJZCgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGNsaWVudCgpLm1lZGlhUGxheWVyRWxlbWVudElkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCA1YjFlMTc0NTEzZTA2
ZmEwMWQ1MTkwYjU1ZTUwNTM1NTVlZmQ3NjM3Li4wMDQ1YjU0ZjUwNDgyMDMzZDRmOGYzNGM2Y2Q2
NWUzZDkwOWE3MzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKQEAgLTI4Niw2ICsyODYsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIG1lZGlhUGxheWVyUXVldWVUYXNrT25FdmVudExvb3AoRnVuY3Rpb248dm9pZCgpPiYmIHRh
c2spIHsgY2FsbE9uTWFpblRocmVhZChXVEZNb3ZlKHRhc2spKTsgfQogCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyT25OZXdWaWRlb0ZyYW1lTWV0YWRh
dGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmKSB7
IH0KKyNlbmRpZgorCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgdmlydHVhbCBjb25z
dCB2b2lkKiBtZWRpYVBsYXllckxvZ0lkZW50aWZpZXIoKSB7IHJldHVybiBudWxscHRyOyB9CiAg
ICAgdmlydHVhbCBjb25zdCBMb2dnZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkgPSAwOwpAQCAtNTg0
LDYgKzU4OCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVUZXh0VHJhY2soSW5iYW5kVGV4
dFRyYWNrUHJpdmF0ZSYpOwogICAgIHZvaWQgcmVtb3ZlVmlkZW9UcmFjayhWaWRlb1RyYWNrUHJp
dmF0ZSYpOwogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBvbk5ld1ZpZGVvRnJhbWVN
ZXRhZGF0YShWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
JiYpOworI2VuZGlmCisKICAgICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24o
KSBjb25zdDsKICAgICB2b2lkIHNldFRleHRUcmFja1JlcHJlc2VudGF0aW9uKFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uKik7CiAgICAgdm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CkBAIC02ODEs
NiArNjg5LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzTWVkaWFFbmdpbmUoKSBjb25zdDsKIAog
ICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEo
KTsKKyAgICB2b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CisgICAgdm9p
ZCBzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiAKIHByaXZhdGU6CiAgICAgTWVk
aWFQbGF5ZXIoTWVkaWFQbGF5ZXJDbGllbnQmKTsKQEAgLTcyNSw2ICs3MzUsNyBAQCBwcml2YXRl
OgogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQogICAgIGJvb2wgbV9zaG91bGRDb250aW51ZUFmdGVyS2V5TmVlZGVkIHsgZmFsc2Ug
fTsKICNlbmRpZgorICAgIGJvb2wgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSB7IGZh
bHNlIH07CiB9OwogCiBjbGFzcyBNZWRpYVBsYXllckZhY3RvcnkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBm
NWE0MGFiYzhhNzlhNmNlMDY0YjcwMmNkZDBjOWE5YWE2NjNkZDM5Li5jZjQ2MzEyYzUyYTk4NzJi
YzA0NWFkMWQ0MjJhZjQ4YjEwMDhjYTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMzIzLDYgKzMyMyw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25p
Y1RpbWUmKSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPFZp
ZGVvRnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFkYXRhKCkgeyByZXR1cm4geyB9OyB9Cisg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAppbmRleCA1OWVjYTQ1MTM0ZmU2ZjQwNTk5MDJlMjFj
ZTdlN2U1YWRlODBiZmEyLi5jZDFiYWY2ZTQ4Y2RkMGI1ZTZlYTliNGE2YjkyY2Q1ZjdmNjhlOTBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCkBAIC0zNDIsNiArMzQyLDExIEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYpIGZpbmFsOwogICAg
IGJvb2wgaGF2ZUJlZW5Bc2tlZFRvUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX2hhdmVCZWVuQXNr
ZWRUb1BhaW50OyB9CiAKKyAgICB2b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5n
KCkgZmluYWw7CisgICAgdm9pZCBzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgZmlu
YWw7CisgICAgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRh
ZGF0YSgpIGZpbmFsIHsgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEs
IHsgfSk7IH0KKyAgICB2b2lkIGNoZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCk7CisKICAgICBS
ZXRhaW5QdHI8QVZVUkxBc3NldD4gbV9hdkFzc2V0OwogICAgIFJldGFpblB0cjxBVlBsYXllcj4g
bV9hdlBsYXllcjsKICAgICBSZXRhaW5QdHI8QVZQbGF5ZXJJdGVtPiBtX2F2UGxheWVySXRlbTsK
QEAgLTQ1MSw2ICs0NTYsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGF2ZVByb2Nlc3NlZENo
YXB0ZXJUcmFja3MgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93YWl0Rm9yVmlkZW9PdXRwdXRNZWRp
YURhdGFXaWxsQ2hhbmdlVGltZWRPdXQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXZlQmVlbkFz
a2VkVG9QYWludCB7IGZhbHNlIH07CisgICAgdWludDY0X3QgbV9zYW1wbGVDb3VudCB7IDAgfTsK
KyAgICBSZXRhaW5QdHI8aWQ+IG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXI7
CisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2UgfTsKKyAg
ICBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gbV92aWRlb0ZyYW1lTWV0YWRhdGE7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA0ZDg2MTEzYmNiZTQ2OWVjNmUw
MjU3OTEwMmQxMTBlYTkzMDEwMDk2Li5kNGFkMThlMDMyYjgyMDYzYjlhYmM5NmRmNjc0MWE2MTI5
MGJjMWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTExMDgsNiArMTEwOCw4IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZQbGF5ZXIoKQog
ICAgICAgICB9KTsKICAgICB9XTsKIAorICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhKQorICAgICAgICBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogICAg
IHNldERlbGF5Q2FsbGJhY2tzKGZhbHNlKTsKIH0KIApAQCAtMTQzMyw2ICsxNDM1LDQ2IEBAIGJv
b2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1QYXVzZWQoKSBj
b25zdAogICAgIHJldHVybiBtX2NhY2hlZFRpbWVDb250cm9sU3RhdHVzID09IEFWUGxheWVyVGlt
ZUNvbnRyb2xTdGF0dXNQYXVzZWQ7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQzo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIEFT
U0VSVCghbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciB8fCBtX2F2UGxheWVy
KTsKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKworICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgdXNlIGEgQ0FEaXNwbGF5TGluayB0byBnZXQgdXBkYXRlcyBvbiBy
ZW5kZXJpbmcsIGZvciBub3cgd2UgZW11bGF0ZSB3aXRoIGFkZFBlcmlvZGljVGltZU9ic2VydmVy
Rm9ySW50ZXJ2YWwuCisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciA9
IFttX2F2UGxheWVyIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6UEFMOjpDTVRp
bWVNYWtlKDEsIDYwKSBxdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5nQmxvY2s6
W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dKENNVGltZSkgeworICAgICAgICBlbnN1cmVP
bk1haW5UaHJlYWQoW3dlYWtUaGlzXSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAg
ICAgICAgICAgICAgd2Vha1RoaXMtPmNoZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCk7CisgICAg
ICAgIH0pOworICAgIH1dOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OmNoZWNrTmV3VmlkZW9GcmFtZU1ldGFkYXRhKCkKK3sKKyAgICBpZiAoIXVwZGF0ZUxh
c3RQaXhlbEJ1ZmZlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBWaWRlb0ZyYW1lTWV0YWRh
dGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEud2lkdGggPSBtX2NhY2hlZFByZXNlbnRhdGlvblNp
emUud2lkdGgoKTsKKyAgICBtZXRhZGF0YS5oZWlnaHQgPSBtX2NhY2hlZFByZXNlbnRhdGlvblNp
emUuaGVpZ2h0KCk7CisgICAgbWV0YWRhdGEucHJlc2VudGVkRnJhbWVzID0gKyttX3NhbXBsZUNv
dW50OworICAgIG1ldGFkYXRhLnByZXNlbnRhdGlvblRpbWUgPSBQQUw6OkNNVGltZUdldFNlY29u
ZHMoW21fYXZQbGF5ZXJJdGVtIGN1cnJlbnRUaW1lXSkgKiAxMDAwOworCisgICAgbV92aWRlb0Zy
YW1lTWV0YWRhdGEgPSBtZXRhZGF0YTsKKyAgICBwbGF5ZXIoKS0+b25OZXdWaWRlb0ZyYW1lTWV0
YWRhdGEoV1RGTW92ZShtZXRhZGF0YSksIG1fbGFzdFBpeGVsQnVmZmVyLmdldCgpKTsKK30KKwor
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzdG9wVmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRh
ID0gZmFsc2U7CisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGEgPSB7IH07CisKKyAgICBBU1NFUlQo
bV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcik7CisgICAgaWYgKG1fdmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIpCisgICAgICAgIFttX2F2UGxheWVyIHJlbW92
ZVRpbWVPYnNlcnZlcjptX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyLmdldCgp
XTsKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gbmlsOworfQor
CiBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1E
dXJhdGlvbigpIGNvbnN0CiB7CiAgICAgLy8gRG8gbm90IGFzayB0aGUgYXNzZXQgZm9yIGR1cmF0
aW9uIGJlZm9yZSBpdCBoYXMgYmVlbiBsb2FkZWQgb3IgaXQgd2lsbCBmZXRjaCB0aGUKQEAgLTI1
NDgsNyArMjU5MCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
dXBkYXRlTGFzdEltYWdlKFVwZGF0ZVR5cGUgdHlwZSkKICAgICAvLyBDYWxscyB0byBjb3B5UGl4
ZWxCdWZmZXJGb3JJdGVtVGltZTppdGVtVGltZUZvckRpc3BsYXk6IG1heSByZXR1cm4gbmlsIGlm
IHRoZSBwaXhlbCBidWZmZXIKICAgICAvLyBmb3IgdGhlIHJlcXVlc3RlZCB0aW1lIGhhcyBhbHJl
YWR5IGJlZW4gcmV0cmlldmVkLiBJbiB0aGlzIGNhc2UsIHRoZSBsYXN0IHZhbGlkIGltYWdlIChp
ZiBhbnkpCiAgICAgLy8gc2hvdWxkIGJlIGRpc3BsYXllZC4KLSAgICBpZiAoIXVwZGF0ZUxhc3RQ
aXhlbEJ1ZmZlcigpICYmIChtX2xhc3RJbWFnZSB8fCAhbV9sYXN0UGl4ZWxCdWZmZXIpKQorICAg
IGlmICgobV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSB8fCAhdXBkYXRlTGFzdFBpeGVs
QnVmZmVyKCkpICYmIChtX2xhc3RJbWFnZSB8fCAhbV9sYXN0UGl4ZWxCdWZmZXIpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBpZiAoIW1fcGl4ZWxCdWZmZXJDb25mb3JtZXIpIHsKQEAgLTI1ODMs
OSArMjYyNSw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFp
bnRXaXRoVmlkZW9PdXRwdXQoR3JhcGhpY3NDb250ZXh0JiBjCiAKIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwaXhlbEJ1ZmZl
ckZvckN1cnJlbnRUaW1lKCkKIHsKLSAgICB1cGRhdGVMYXN0UGl4ZWxCdWZmZXIoKTsKLSAgICBp
ZiAoIW1fbGFzdFBpeGVsQnVmZmVyKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAo
IW1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEpCisgICAgICAgIHVwZGF0ZUxhc3RQaXhl
bEJ1ZmZlcigpOwogCiAgICAgcmV0dXJuIG1fbGFzdFBpeGVsQnVmZmVyOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3Jt
ZXJDVi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJD
b25mb3JtZXJDVi5oCmluZGV4IGMzYzUzN2NlMjdjMDQ4OGE1ODhjNGQwMWI4ZDU0MDg4OGRjN2Y0
MDcuLmNjNTc4Yzc5YmIwN2Y0Mjk2ZDU5NzI3ODBiNjAwOTI0NjIwM2I2YmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVy
Q1YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZl
ckNvbmZvcm1lckNWLmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgUGl4ZWxCdWZmZXJDb25mb3Jt
ZXJDViB7CiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgUGl4ZWxCdWZmZXJDb25mb3JtZXJD
VihDRkRpY3Rpb25hcnlSZWYgYXR0cmlidXRlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWlu
UHRyPENWUGl4ZWxCdWZmZXJSZWY+IGNvbnZlcnQoQ1ZQaXhlbEJ1ZmZlclJlZik7Ci0gICAgUmV0
YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZm
ZXJSZWYpOworICAgIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJ
bWFnZUZyb21QaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsKIAogcHJpdmF0ZToKICAgICBS
ZXRhaW5QdHI8VlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJlZj4gbV9waXhlbENvbmZvcm1lcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5LmNwcAppbmRleCA1NjViOGIyOTNhZWNkZjVlNTFmZTVlMTAxNmM1YjdhN2U3MzNk
OGE5Li44ODEwOGNiYzUzM2MxMGM3NWUzNzBiZmNjODk4MDBhNTNjNjcyOWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuY3BwCkBAIC0xMDk4LDYgKzEwOTgsMTggQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclBy
b3h5OjpwYXVzZUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQogICAgICAgICBtX3BsYXll
ci0+cGF1c2VBdEhvc3RUaW1lKHRpbWUpOwogfQogCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBpZiAobV9wbGF5
ZXIpCisgICAgICAgIG1fcGxheWVyLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygp
OworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN0b3BWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPnN0
YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKICNpZiAhUkVMRUFTRV9MT0df
RElTQUJMRUQKIFdURkxvZ0NoYW5uZWwmIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmxvZ0NoYW5u
ZWwoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggMGU5ZjNkN2EyMTQ1ZDc1Yjk0M2UyYjU2
YTJkODBiYjgwNzNkZjllMS4uMzJmM2E0NmFhMGYwOWIxM2IwMjRlNDE2NDA3OGE1ZGFkZGVkYzU0
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0zMDcsNiArMzA3LDEyIEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBwbGF5QXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKICAgICB2b2lkIHBhdXNlQXRIb3N0VGlt
ZShNb25vdG9uaWNUaW1lKTsKIAorICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRo
ZXJpbmcoKTsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyNp
ZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG1lZGlhUGxheWVyT25OZXdWaWRlb0ZyYW1lTWV0
YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYsIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiYmKTsKKyNlbmRpZgorCiAgICAgYm9vbCBtZWRpYVBsYXllclBhdXNlZE9yU3RhbGxl
ZCgpIGNvbnN0OwogICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDhlYzYwM2ZlY2MxZjE4
ZDg0YzE0ZDQ3M2VhNTFhODE1MTQwN2QxMjMuLjM5Yzg3MjliMjczOWUxMzY0NGIzMWFhODBkYmE4
MGQ0YTMzMGM4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMzIs
NiArMTMyLDkgQEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVkaWFQbGF5ZXJQcm94eSBOb3RSZWZDb3Vu
dGVkIHsKIAogICAgIFBsYXlBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUgdGltZSkKICAgICBQYXVz
ZUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQorCisgICAgU3RhcnRWaWRlb0ZyYW1lTWV0
YWRhdGFHYXRoZXJpbmcoKQorICAgIFN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQog
fQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9j
b2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tCmluZGV4IDA4
YjJmZGVmNWE0ZmNiMThhZGRiZDE2YzFmZDYwODZjMWJlOWMyN2MuLmM2YmJhM2FhMmI0ZTU1ZmFl
ZmI5MzNiYmUyZTYzNTlkNzNmNjMxOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0KKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlD
b2NvYS5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW1wb3J0ICJMYXllckhvc3RpbmdDb250ZXh0
LmgiCiAjaW1wb3J0ICJNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNzYWdlcy5oIgorI2ltcG9y
dCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNv
cmUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRTaXplLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lP
U3VyZmFjZS5oPgpAQCAtODMsNiArODQsMTEgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJgogICAg
IHNldFZpZGVvSW5saW5lU2l6ZUlmUG9zc2libGUoKm1faW5saW5lTGF5ZXJIb3N0aW5nQ29udGV4
dCwgc2l6ZSk7CiB9CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJP
bk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShWaWRlb0ZyYW1lTWV0YWRhdGEmJiBtZXRhZGF0YSwgUmV0
YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVyKQoreworICAgIG1fd2ViUHJvY2Vzc0Nv
bm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6UHVzaFZp
ZGVvRnJhbWVNZXRhZGF0YShtZXRhZGF0YSwgYnVmZmVyKSwgbV9pZCk7Cit9CisKIHZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZShDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V1RGOjpNYWNoU2VuZFJpZ2h0PiYmLCBXZWJDb3Jl
OjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlm
ICghbV9wbGF5ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
bWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Cmlu
ZGV4IDhiZDBkYjI5N2JmYjQwNzRmNjg5MDA0MmZjZGE0Nzg0NTBkZjA1NjYuLjAxNTQ1ODM2MDAz
N2UyOWU5MzQzMDQ0MGMxMjRkMjNhZjE4NmRmNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlcy5weQpAQCAtNjc4LDYgKzY3OCw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBl
KHR5cGUpOgogICAgIGhlYWRlcl9pbmZvc19hbmRfdHlwZXMgPSBjbGFzc190ZW1wbGF0ZV9oZWFk
ZXJzKHR5cGUpCiAKICAgICBzcGVjaWFsX2Nhc2VzID0geworICAgICAgICAnQ1ZQaXhlbEJ1ZmZl
clJlZic6IFsnPFdlYkNvcmUvQ1ZQaXhlbEJ1ZmZlclJlZi5oPiddLAogICAgICAgICAnTWFjaFNl
bmRSaWdodCc6IFsnPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+J10sCiAgICAgICAgICdKU0M6Ok1lc3Nh
Z2VMZXZlbCc6IFsnPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPiddLAogICAgICAgICAn
SlNDOjpNZXNzYWdlU291cmNlJzogWyc8SmF2YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+J10s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggNjJiMTFkZjVlYWZhNjM1ZGJkMzZj
NzEwZDlkNmQ1ZjY1ZDhjMzdjNi4uMGFmOGVlOTVjNzliZjU2M2E4MTJjZDc3OTg1NTYyYTM4YWY3
NmRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtODAsNiArODAsNyBAQAog
I2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKKyNpbXBvcnQgPFdlYkNvcmUvUGl4ZWxCdWZm
ZXJDb25mb3JtZXJDVi5oPgogI2ltcG9ydCA8V2ViQ29yZS9WaWRlb0xheWVyTWFuYWdlck9iakMu
aD4KICNlbmRpZgogCkBAIC0xMzc3LDYgKzEzNzgsMjUgQEAgYm9vbCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQogICAg
IHJldHVybiB0cnVlOwogfQogCitzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp2aWRlb0ZyYW1lTWV0YWRhdGEoKQoreworICAgIGF1dG8g
dmlkZW9GcmFtZU1ldGFkYXRhID0gc3RkOjpleGNoYW5nZShtX3ZpZGVvRnJhbWVNZXRhZGF0YSwg
eyB9KTsKKyAgICByZXR1cm4gdmlkZW9GcmFtZU1ldGFkYXRhOworfQorCit2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorewor
ICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSB0cnVlOworICAgIGNvbm5lY3Rp
b24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpTdGFydFZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNH
YXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3BpeGVsQnVmZmVyR2F0
aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhID0gbnVsbHB0cjsKKyAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RvcFZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30KKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OnJlcXVlc3RSZXNvdXJjZShSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciByZW1vdGVN
ZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyOjpMb2FkT3B0aW9ucyBvcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAg
ICAgQVNTRVJUKCFtX21lZGlhUmVzb3VyY2VzLmNvbnRhaW5zKHJlbW90ZU1lZGlhUmVzb3VyY2VJ
ZGVudGlmaWVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAppbmRleCBiNWY1YjViYzFjNTJh
Mzk5YzkxYmM1MGNiYWRmNWZlYzlmNTU1YzQwLi40M2VmZmYyYjQ4MjlkYjA2ZTNmZmQyNDRiNWUy
ZjFjOGI5MGIxMGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTM5LDYgKzM5LDcg
QEAKICNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZVJlbW90ZS5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFQbGF5ZXJQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdp
bkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVNZXRhZGF0YS5oPgogI2luY2x1
ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CiAjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTU2LDYgKzU3LDEwIEBAIHN0cnVjdCBHZW5lcmljQ3Vl
RGF0YTsKIGNsYXNzIElTT1dlYlZUVEN1ZTsKIGNsYXNzIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFD
dWVWYWx1ZTsKIGNsYXNzIFZpZGVvTGF5ZXJNYW5hZ2VyOworCisjaWYgUExBVEZPUk0oQ09DT0Ep
CitjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtNDAwLDYgKzQwNSwxNCBAQCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhv
c3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmKSBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZUNvbmZp
Z3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpOwogCisgICAgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgp
IGZpbmFsOworICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5h
bDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgcHVzaFZpZGVvRnJhbWVNZXRhZGF0YShXZWJD
b3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYp
OworI2VuZGlmCisKICAgICBXZWFrUHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyPiBtX3BsYXllcjsK
ICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBtX21lZGlhUmVz
b3VyY2VMb2FkZXI7CiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC00NTAsNiArNDYzLDEyIEBAIHBy
aXZhdGU6CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZl
clJlZj4gbV9waXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lOwogI2VuZGlmCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGE+IG1f
dmlkZW9GcmFtZU1ldGFkYXRhOworICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX3Bp
eGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJDb3JlOjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9y
bWVyOworI2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsg
ZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgppbmRleCAxMThlMDI1YTY5YjNmYTQxZjU1OWU1YWEw
YmY5OGQzNzkxYmU1ZGU0Li5hNjA2MDM5MGU5MDU5MDg2ZGY0NTNmNzU2MWQ5ZjUxN2U2YjRhZTBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtOTEs
NiArOTEsMTAgQEAgbWVzc2FnZXMgLT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNv
dW50ZWQgewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgR2V0UmF3Q29va2llcyhVUkwg
dXJsKSAtPiAoVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4gcmVzdWx0KSBBc3luYwogI2VuZGlmCisK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBQdXNoVmlkZW9GcmFtZU1ldGFkYXRhKHN0cnVjdCBX
ZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiBidWZmZXIpOworI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KaW5kZXggYTJmODM1MmZiMjBmYmIyYTBkNjJm
YWVjNTliMmY0YTgyNjU0YmJmZi4uYmFkYjk5YTZjMTU1OTE2OWIzMDczNjUyMTNkNTcyNDA3NmFl
NmUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2Nv
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1t
CkBAIC0zMyw2ICszMyw3IEBACiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNp
bXBvcnQgPFdlYkNvcmUvQ29sb3JTcGFjZUNHLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFj
ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg+CiAjaW1wb3J0
IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHd0Zi9NYWNoU2VuZFJp
Z2h0Lmg+CiAKQEAgLTQ2LDggKzQ3LDI2IEBAIFBsYXRmb3JtTGF5ZXJDb250YWluZXIgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpjcmVhdGVWaWRlb0Z1bGxzY3JlZW5MYXllcigpCiB9CiAjZW5k
aWYKIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnB1c2hWaWRlb0ZyYW1lTWV0YWRh
dGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYgdmlkZW9GcmFtZU1ldGFkYXRhLCBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIpCit7CisgICAgaWYgKCFtX2lzR2F0aGVy
aW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICByZXR1cm47CisgICAgbV92aWRlb0ZyYW1l
TWV0YWRhdGEgPSBXVEZNb3ZlKHZpZGVvRnJhbWVNZXRhZGF0YSk7CisgICAgbV9waXhlbEJ1ZmZl
ckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YSA9IFdURk1vdmUoYnVmZmVyKTsKK30KKwog
UmVmUHRyPE5hdGl2ZUltYWdlPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om5hdGl2ZUltYWdl
Rm9yQ3VycmVudFRpbWUoKQogeworI2lmIEVOQUJMRShWSURFTykgJiYgVVNFKEFWRk9VTkRBVElP
TikKKyAgICBpZiAobV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YSkg
eworICAgICAgICBpZiAoIW1fcGl4ZWxCdWZmZXJDb25mb3JtZXIpCisgICAgICAgICAgICBtX3Bp
eGVsQnVmZmVyQ29uZm9ybWVyID0gbWFrZVVuaXF1ZTxQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPigo
X19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKUB7IChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVlBpeGVs
QnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5OiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpIH0p
OworICAgICAgICBBU1NFUlQobV9waXhlbEJ1ZmZlckNvbmZvcm1lcik7CisgICAgICAgIGlmICgh
bV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICByZXR1cm4gTmF0aXZlSW1hZ2U6OmNyZWF0ZShtX3BpeGVsQnVmZmVyQ29uZm9ybWVyLT5j
cmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9G
cmFtZU1ldGFkYXRhLmdldCgpKSk7CisgICAgfQorI2VuZGlmCiAgICAgc3RkOjpvcHRpb25hbDxN
YWNoU2VuZFJpZ2h0PiBzZW5kUmlnaHQ7CiAgICAgYXV0byBjb2xvclNwYWNlID0gRGVzdGluYXRp
b25Db2xvclNwYWNlOjpTUkdCKCk7CiAgICAgaWYgKCFjb25uZWN0aW9uKCkuc2VuZFN5bmMoTWVz
c2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUo
KSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdlRm9yQ3VycmVu
dFRpbWU6OlJlcGx5KHNlbmRSaWdodCwgY29sb3JTcGFjZSksIG1faWQpKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhkZTlhMjViNjBmYjQ1ZTJk
ZTBhMDIyZWVkNWJiZjI3NWE4Y2U3OTYuLmM2NjJjZWI5ZWFlYWE5N2M5ZGQwMGFjZTc2ZDA4OWU4
NzdlODE3YzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBv
cnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RW5hYmxlIHJ2ZmMgYnkgZGVmYXVsdCBpbiB0ZXN0IHJ1bm5lci4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKwogMjAyMS0xMS0xNCAgQnJhZHkgRWlkc29uICA8YmVp
ZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IGRhZW1vbiBBUEkgcmVhZHkgdG8gd29yayBp
biB0aGUgaU9TIHNpbXVsYXRvciAoc3RhcnRpbmcgd2l0aCBXZWJQdXNoRCkKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZDIwMTA1NDFlMWI0NGIxNzRj
MmUxY2RlNTI0NDEyNjkyNDU1YjBmLi5mMzM5YTQzMzNjMGE5MGY1YTRkZTNlZTZmN2M3MDg2ZTc2
MDE4ZmM1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBA
IC04NjMsMTEgKzg2Myw4IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9w
dGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBXCiAgICAgICAgIFtwcmVm
ZXJlbmNlcyBfcmVzZXRGb3JUZXN0aW5nXTsKIAogICAgICAgICBpZiAoZW5hYmxlQWxsRXhwZXJp
bWVudGFsRmVhdHVyZXMpIHsKLSAgICAgICAgICAgIGZvciAoV2ViRmVhdHVyZSAqZmVhdHVyZSBp
biBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkgewotICAgICAgICAgICAg
ICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4gRW5hYmxlIGl0IHdoZW4g
dGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4KLSAgICAgICAgICAgICAg
ICBhdXRvIGVuYWJsZWQgPSBbZmVhdHVyZS5uYW1lIGlzRXF1YWw6QCJSZXF1ZXN0VmlkZW9GcmFt
ZUNhbGxiYWNrIl0gPyBOTyA6IFlFUzsKLSAgICAgICAgICAgICAgICBbcHJlZmVyZW5jZXMgX3Nl
dEVuYWJsZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOwotICAgICAgICAgICAgfQorICAg
ICAgICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJlbmNlcyBfZXhw
ZXJpbWVudGFsRmVhdHVyZXNdKQorICAgICAgICAgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5h
YmxlZDpZRVMgZm9yRmVhdHVyZTpmZWF0dXJlXTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChw
ZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpKSB7CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGIwOTBiYmQzMWZmNDg2ZDE5ZDM3OWFjNDA4Mjhk
ZjNlZGQwYjJkZjYuLmVkMjgwMmZiMWU3NjZkYzVkZTY3YzQ0ZDE1NzY2MTYzMmMzOTMxYTMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC05MDUsOSArOTA1
LDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZh
bHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW8KICAgICAgICAgaWYgKGVuYWJsZUFsbEV4cGVy
aW1lbnRhbEZlYXR1cmVzKQogICAgICAgICAgICAgV0tQcmVmZXJlbmNlc0VuYWJsZUFsbEV4cGVy
aW1lbnRhbEZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAotICAgICAgICAvLyBGSVhNRTogV2UgZGlz
YWJsZSBydmZjIGJ5IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2aWRlbyBiYWNrZW5kIHN1
cHBvcnQgaXMgZ29vZCBlbm91Z2guCi0gICAgICAgIFdLUHJlZmVyZW5jZXNTZXRSZXF1ZXN0Vmlk
ZW9GcmFtZUNhbGxiYWNrRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwotCiAgICAgICAgIFdL
UHJlZmVyZW5jZXNSZXNldEFsbEludGVybmFsRGVidWdGZWF0dXJlcyhwcmVmZXJlbmNlcyk7CiAK
ICAgICAgICAgV0tQcmVmZXJlbmNlc1NldFByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uRW5hYmxlZChw
cmVmZXJlbmNlcywgb3B0aW9ucy5zaG91bGRFbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbigp
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAxNTRkMDBlMmFmNzE2ZWUyZDIyNTA4ZDY3NDBjODAzY2M3Y2NlOGU5Li45MjU3
ZTY3ZGMyZjNjN2U0OGUxZGRhMGE1OTFiZjEyMjM0MDNjMGUyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMjEtMTEtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAg
ICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdr
Mi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisK
IDIwMjEtMTEtMTQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgRmluZ2VycyBkb3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBhbiBhbmltYXRl
ZCBzY3JvbGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlmOGM5OTAzODZlMTI5
MTcwYjhiMWE2YTljMGY2MTRhNDZiMWRiNjkuLjRhMDE3OGNjOWRhYTdiOTkwYTE3Nzg2MDc2M2Uw
NTE4MzI2MzZmMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay5odG1sOgorCiAyMDIxLTExLTE0ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgTW9kYWwgZGlhbG9ncyBzaG91bGQgbWFrZSB0aGUgcm9vdCBlbGVtZW50IHVuZm9j
dXNhYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dAppbmRl
eCA2NjM5ZDRmMjg4NWUxZjk3NjQ4ZDUwNTQ3NzBlYWZlYjQzMmRjNTBkLi43ZTVjNDg2MjA0NTM0
Nzk0Mzk0MWJjY2M1ZDRiZWU3NjYyMWE2MjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLWRvbS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgYSB2aWRlbyBvdXRzaWRlIG9m
IHRoZSBET00gY2FuIHN0aWxsIHVzZSB2aWRlby5yVkZDLiBUZXN0IHRpbWVkIG91dAotVElNRU9V
VCBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25lIi4gVGVzdCB0aW1lZCBv
dXQKLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggInZpc2liaWxpdHk6aGlkZGVu
Ii4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBhIHZpZGVvIG91dHNpZGUgb2YgdGhlIERPTSBj
YW4gc3RpbGwgdXNlIHZpZGVvLnJWRkMuCitQQVNTIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRo
ICJkaXNwbGF5Om5vbmUiLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAidmlzaWJp
bGl0eTpoaWRkZW4iLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5k
ZXggY2E3Y2IzZTk0Y2RmYjI1MjU4YjlkOTliNGY0ZDQ3ZWRhMGU3NzIxNi4uY2Q3OTYxMjA1NTE3
MTY4YjU0M2JmNTliYmUwZmFlMjY5ZmUwYmQxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSw4IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9V
VCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRl
by5yVkZDIGNhbGxiYWNrLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMg
Y2FsbGJhY2tzIHJ1biBiZWZvcmUgd2luZG93LnJBRiBjYWxsYmFja3MuIFRlc3QgdGltZWQgb3V0
Ci1USU1FT1VUIFRlc3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4gVGVzdCB0
aW1lZCBvdXQKK1BBU1MgVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRlby5yVkZDIGNhbGxiYWNr
LgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgY2FsbGJhY2tzIHJ1biBiZWZvcmUgd2luZG93LnJBRiBj
YWxsYmFja3MuCitQQVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4K
IFBBU1MgVGVzdCBpbnZhbGlkIGNhbGxzIHRvIHRoZSB2aWRlby5yVkZDIEFQSS4KLVRJTUVPVVQg
VGVzdCB2aWRlby5yVkZDIGRvZXMgbm90IHN0b3Agd2hlbiBzd2l0Y2hpbmcgc291cmNlcy4gVGVz
dCB0aW1lZCBvdXQKK1BBU1MgVGVzdCB2aWRlby5yVkZDIGRvZXMgbm90IHN0b3Agd2hlbiBzd2l0
Y2hpbmcgc291cmNlcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
cGFyYWxsZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxs
ZWwtZXhwZWN0ZWQudHh0CmluZGV4IDZmZTY4NGFlOGU2NmRhYjhjY2U2OGQyMjc1MzU5NWE4NDQ4
YzZiOTAuLjMyYjk5YWVkNTQ1N2RmYTFiZjJhOTE2MzMxZDI2ZjFlZDlkOWI1ZDAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZm
Yy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQKQEAgLTEs
NyArMSw1IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0K
LVRJTUVPVVQgVGVzdCBjYWxsYmFja3MgZ2V0IHRoZSBzYW1lIGluZm9ybWF0aW9uLiBUZXN0IHRp
bWVkIG91dAotVElNRU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwgY2FsbGJhY2tzIGZyb20gY2FsbGJh
Y2tzLiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5m
b3JtYXRpb24uCitQQVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBjYWxsYmFja3MgZnJvbSBjYWxsYmFj
a3MuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0
ZWQudHh0CmluZGV4IGI0YTViZTNkZDI1MTJiODVjMzg1NTViOGYzY2U3MDM2NzhlZDRkZmQuLmE2
MzFhMTc2YmQ1OWI2ZGYxYzQ1NTZkM2NkYjExNDVkM2M2OTU4NjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0
LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUg
QEAKIAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9V
VCBUZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRoZSBuZXh0IGZyYW1lLiBU
ZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IGNoYWluaW5nIGNhbGxzIHRvIHZpZGVvLnJWRkMs
IGFuZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMuIFRlc3QgdGltZWQgb3V0CitQQVNT
IFRlc3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24gdGhlIG5leHQgZnJhbWUuCitG
QUlMIFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5kIHZlcmlmeSB0aGUgcmVx
dWlyZWQgcGFyYW1ldGVycy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcHJlc2VudGF0aW9uVGltZSBz
aG91bGQgYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBn
b3QgYSAidW5kZWZpbmVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbAppbmRleCBhNDQwNDE0M2Zh
NDA4ZWJiYjhmNDljYzMxODBlMDY1ZDIwMGZmYTRhLi40N2ExMDllODIyYWJkNGVlZWIzNWNiNDEy
YjQ0MDllZGRhMGIzMzQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlk
ZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwKQEAgLTEwNSw2ICsxMDUs
NyBAQCB0ZXN0KGZ1bmN0aW9uKHQpIHsKIAogcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQp
IHsKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworICAg
IHZpZGVvLmF1dG9wbGF5ID0gdHJ1ZTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZp
ZGVvKTsKIAogICAgIGxldCBmaXJzdF93aWR0aCA9IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjhhYWRiOTk2Zjc3OThiNjUwNTkyMTdl
NjVmNDYxMjMzZjk2M2MwZi4uMzY0ZGU3MDdmMWY1ZjVjOTdiYTAwMTAwNDRkNjQzYmI2YzI3OGUz
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTQzLDEzICsxNDMsOSBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY25h
bWUtY2xvYWtpbmctdG9wLW5vLWNuYW1lLXN1Yi1uby1jbmFtZS5odG1sCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KIGZhc3QvbWVkaWFzdHJlYW0v
Z2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3MgXQogd2VicnRjL3BlZXJDb25uZWN0aW9uLXJ2
ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCByZWd1bGFy
IHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBvcnQuCisjIFRpbWluZyBvdXQgdGVzdHMgdW50
aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZvcmUteHItc2Vzc2lvbi5o
dHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbCBbIFNraXAgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5n
Lmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZm
Yy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KIAogIy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0
b3JpZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggMWRmOTVkMDUzMzUzMDY1MzkyNzNlMjAxMzkxZjMwZjRjZWYyZGQ0OC4uMWNiYzRlYzQ1
MjUzNTJiYzQ0OGE5NmU2YWFhYmQ4MzJiZWExNjQzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzMsNiArMzMsMTEgQEAgaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1leHRlcm5hbC1lbnRpdHktbm8tbG9nZ2luZy54bWwg
WyBQYXNzIF0KICMgcmRhcjovL3Byb2JsZW0vNjE3OTM4ODQgOiBFbmFibGluZyB0aGlzIHRlc3Qg
Zm9yIFdLMSBvbmx5LgogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1pbWFnZWRhdGEtb3ZlcmZsb3cuaHRtbCBbIFBhc3MgXQogCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KKyMgVGltaW5nIG91dCB0ZXN0cyB1
bnRpbCB3ZSBhZGQgWFIgc2Vzc2lvbi4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14ci1zZXNzaW9u
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlk
ZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9uLmh0
dHBzLmh0bWwgWyBTa2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwog
IyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCiAjLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMzIyYTViZWQ5YTZlMzEyM2Y3YzRjNGFlMGE0OGQ4NWJhM2Y5YWRiZC4u
MmZkMDc0YTFhY2Q4M2E5YzA2NzdkYTBlZWI0MmUwN2NkNjRiNDZmZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIyLDEzICsxMjIsOSBA
QCBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS10cmFuc2FjdGlvbi1jeWNsZS5odG1sIFsgUGFz
cyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0K
IGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3MgXQogd2VicnRj
L3BlZXJDb25uZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVu
dGlsIHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBvcnQuCisjIFRp
bWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1i
ZWZvcmUteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20u
aHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZj
L3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRt
bCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBT
a2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZv
cm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCg==
</data>
<flag name="commit-queue"
          id="469214"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444240</attachid>
            <date>2021-11-15 05:29:37 -0800</date>
            <delta_ts>2021-11-15 06:37:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211115142933.patch</filename>
            <type>text/plain</type>
            <size>49403</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMjdhNzIwZDEzN2YxMGU1YzczZGIwNDU0ZWY1Nzlj
NzNkOWFjMGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaDoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9w
IGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdm
MWFhMjRlYmRkYTNjZWRkLi43M2U0NTFlYzFlMjZkNmMzYjYyZWY1NDJjNjZhOTgwNWFiMWMzODIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3MzcyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHN0YXJ0L3N0b3AgbWV0YWRhdGEgZ2F0aGVyaW5nIGZyb20gV2ViUHJvY2VzcyB0byBH
UFVQcm9jZXNzLgorICAgICAgICBBZGQgSVBDIG1lc3NhZ2luZyB0byBwdXNoIG1ldGFkYXRhIHRv
IFdlYlByb2Nlc3MsIGluY2x1ZGluZyBzZW5kaW5nIHRoZSBjb3JyZXNwb25kaW5nIENWUGl4ZWxC
dWZmZXIgZm9yIHRoZSBjdXJyZW50IG1ldGFkYXRhLgorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUgd2lsbCB0aGVuIHNlcnZlIHRoYXQgYnVmZmVyIHdoZW4gYmVpbmcgcmVxdWVzdGVk
IHRoZSBjdXJyZW50IGltYWdlLgorICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCBwYWludGluZyBv
biBhIGNhbnZhcyBkb2VzIG5vdCBtYXJrIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyBhY3F1aXJlZCwg
d2hpY2ggd291bGQgdGhlbiBza2lwIHRoZSB2aWRlbyBmcmFtZSBtZXRhZGF0YSBnYXRoZXJpbmcu
CisgICAgICAgIFRoaXMgYWxzbyBlbnN1cmVzIHRoZSBzYW1lIGJ1ZmZlciBpcyB1c2VkIGlmIGEg
dmlkZW8gZWxlbWVudCBpcyBwYWludGVkIHNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBzYW1lIHJ2
ZmMgY2FsbGJhY2suCisgICAgICAgIFRoaXMgaGFzIHRoZSBzaWRlIGJlbmVmaXQgb2YgcmVtb3Zp
bmcgdGhlIHN5bmNocm9ub3VzIElQQyB0byBwYWludCB0aGUgdmlkZW8gZWxlbWVudCBpbiBhIGNh
bnZhcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIxLTExLTE0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSBy
ZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDk5ODEwZWI4MjAzY2NkYTZiNWM5ZTM4MTYxNGI2MmJlNmVmMmExY2MuLjc5MmY2OTk5
ZTYxMjQ5NzE2MDM3NTIzNGQwOTEwZTEyZmFjNjIxZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjIsNiArMTIyMiw3IEBA
CiAJCTQxRTZENzFCMjZFQTFBNDYwMEI3NjVENiAvKiBSVENFcnJvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFCN0MwNEIyNkU2OTE3MTAwRDM2QzA3
IC8qIFJUQ0Vycm9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDFFOURDRTcyMzE5NzRCRjAwRjM1OTQ5IC8qIEJsb2JMb2FkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRTlEQ0U0MjMxOTczRkUw
MEYzNTk0OSAvKiBCbG9iTG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDFFOURDRTkyMzE5Q0E3NjAwRjM1OTQ5IC8qIE5ldHdvcmtTZW5k
UXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
RTlEQ0U4MjMxOUNBNzUwMEYzNTk0OSAvKiBOZXR3b3JrU2VuZFF1ZXVlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDFFRTJBQ0IyNzQyNjRDNzAw
OEFDMDU3IC8qIENWUGl4ZWxCdWZmZXJSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxRUUyQUM5Mjc0MjY0QzQwMDhBQzA1NyAvKiBDVlBpeGVsQnVm
ZmVyUmVmLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDFGMDYyMTQwRjVGMTkyNjAwQTA3RUFDIC8qIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjA2MjEy
MEY1RjE5MjYwMEEwN0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmggKi87IH07CiAJ
CTQxRjFEMjFGMEVGMzVDMkEwMERBODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRjFEMjFEMEVGMzVD
MkEwMERBODc1MyAvKiBTY3JpcHRDYWNoZWRGcmFtZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MUZBQkQyRDFGNERGRTRBMDA2QTZDOTcg
LyogRE9NQ2FjaGVFbmdpbmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxRkFCRDJCMUY0REZFNDIwMDZBNkM5NyAvKiBET01DYWNoZUVuZ2luZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NTk2LDYg
Kzg1OTcsNyBAQAogCQk0MUU5RENFNjIzMTk3NDIzMDBGMzU5NDkgLyogRW5kaW5nVHlwZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRW5kaW5nVHlwZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxRTlEQ0U4MjMxOUNBNzUwMEYzNTk0OSAvKiBOZXR3b3JrU2VuZFF1ZXVl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtTZW5kUXVldWUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFFOURDRUEyMzE5Q0FFODAwRjM1OTQ5IC8q
IE5ldHdvcmtTZW5kUXVldWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTmV0d29ya1NlbmRRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
RUUyQUM5Mjc0MjY0QzQwMDhBQzA1NyAvKiBDVlBpeGVsQnVmZmVyUmVmLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENWUGl4ZWxCdWZmZXJSZWYuaDsgcGF0aCA9IHBsYXRmb3Jt
L2NvY29hL0NWUGl4ZWxCdWZmZXJSZWYuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9Owog
CQk0MUYwNjIxMjBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRjA2MjEzMEY1RjE5MjYwMEEw
N0VBQyAvKiBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MUYwOTYzNDI0RjkwREVBMDAwOUZCOTMgLyogVGV4dERl
Y29kZXJTdHJlYW1EZWNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBUZXh0RGVjb2RlclN0cmVhbURlY29kZXIuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgxMzYsNiArMTgxMzgsNyBAQAogCQkJ
CTNGODAyMDM0MUU5RTM4MUQwMERFQzYxRCAvKiBDb3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdl
ci5oICovLAogCQkJCTNGM0JCNTgyMUU3MDlFRTQwMEM3MDFGMiAvKiBDb3JlQXVkaW9DYXB0dXJl
U291cmNlLmNwcCAqLywKIAkJCQkzRjNCQjU4MzFFNzA5RUU0MDBDNzAxRjIgLyogQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZS5oICovLAorCQkJCTQxRUUyQUM5Mjc0MjY0QzQwMDhBQzA1NyAvKiBDVlBp
eGVsQnVmZmVyUmVmLmggKi8sCiAJCQkJMDdBNkQ4NDgxRkVCNzAwQjAwNjQ0MURFIC8qIERpc3Bs
YXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcCAqLywKIAkJCQkwN0E2RDg0OTFGRUI3MDBDMDA2NDQx
REUgLyogRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuaCAqLywKIAkJCQk0MTc0RTkyMDI1MzVE
Q0REMDBGRTQyMDIgLyogTWVkaWFTdHJlYW1UcmFja0F1ZGlvU291cmNlUHJvdmlkZXJDb2NvYS5j
cHAgKi8sCkBAIC0zMzAzOCw2ICszMzA0MSw3IEBACiAJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNC
MEE3IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzVEMjM4NTIyN0EwNjUy
MDAwQjlCREEgLyogQ3VzdG9tSGVhZGVyRmllbGRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjFF
MTNFNzIxNzkwRDY2MDA0MkNGOTggLyogQ3VzdG9tUGFpbnRDYW52YXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQxRUUyQUNCMjc0MjY0QzcwMDhBQzA1NyAvKiBDVlBpeGVsQnVmZmVyUmVmLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QjhFRDVGMDI2RjBDMTNEMDA4QUMwMjMgLyogQ1ZVdGlsaXRpZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0I0MTNFMEU4NjMzRkQwMDMyQzRGMCAvKiBEYXNoQXJy
YXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM2QTIxMTUwNUYwODEwMDFCNzRBQyAvKiBEYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CmluZGV4IDJlY2JmNWRiYWFkZWQ0MmU3NzkwNDQwNWFjMDEzMWUzOGZjMjliZTcuLjY5NTY2OTQ5
NjMxMGVmOTEwOGI5NTZmZGE0ODIxNDMwMTQ5NzBlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCkBAIC02NDEsNiArNjQxLDkgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
c2V0Q2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlKGJvb2wgdmFsdWUpIHsgbV9jaGFuZ2luZ1Zp
ZGVvRnVsbHNjcmVlbk1vZGUgPSB2YWx1ZTsgfQogICAgIGJvb2wgaXNDaGFuZ2luZ1ZpZGVvRnVs
bHNjcmVlbk1vZGUoKSBjb25zdCB7IHJldHVybiBtX2NoYW5naW5nVmlkZW9GdWxsc2NyZWVuTW9k
ZTsgfQogCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBtZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQoKSBv
dmVycmlkZTsKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgSW50ZXJuYWxzOwogCkBAIC02
OTIsNyArNjk1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIG1lZGlhUGxheWVyU2l6ZUNoYW5nZWQo
KSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyUmVuZGVyaW5nTW9kZUNoYW5nZWQoKSBmaW5h
bDsKICAgICBib29sIG1lZGlhUGxheWVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSBm
aW5hbDsKLSAgICB2b2lkIG1lZGlhUGxheWVyRW5naW5lVXBkYXRlZCgpIGZpbmFsOwogICAgIHZv
aWQgbWVkaWFQbGF5ZXJXaWxsSW5pdGlhbGl6ZU1lZGlhRW5naW5lKCkgZmluYWw7CiAgICAgdm9p
ZCBtZWRpYVBsYXllckRpZEluaXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQg
bWVkaWFQbGF5ZXJSZWxvYWRBbmRSZXN1bWVQbGF5YmFja0lmTmVlZGVkKCkgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCBiYjA1ZTI3NjFmODJkYzlk
ZTMxMWQ0Y2JhMjM0Nzk1MTY5MDljMzI5Li5kNzY5ZTUzYWViMWUxOGE3ZDk3MWE2MzZlMTlkMmJl
MDU2MmZlNTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKQEAg
LTU4OCw2ICs1ODgsOSBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmV4aXRUb0Z1bGxzY3JlZW5N
b2RlV2l0aG91dEFuaW1hdGlvbklmUG9zc2libGUoSFRNTE1lZGlhRQogCiB1bnNpZ25lZCBIVE1M
VmlkZW9FbGVtZW50OjpyZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKFJlZjxWaWRlb0ZyYW1lUmVx
dWVzdENhbGxiYWNrPiYmIGNhbGxiYWNrKQogeworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1ZXN0
cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZygpOworCiAgICAgYXV0byBpZGVudGlmaWVyID0gKyttX25leHRW
aWRlb0ZyYW1lUmVxdWVzdEluZGV4OwogICAgIG1fdmlkZW9GcmFtZVJlcXVlc3RzLmFwcGVuZCht
YWtlVW5pcXVlUmVmPFZpZGVvRnJhbWVSZXF1ZXN0PihpZGVudGlmaWVyLCBXVEZNb3ZlKGNhbGxi
YWNrKSkpOwogCkBAIC02MDcsNiArNjEwLDkgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50OjpjYW5j
ZWxWaWRlb0ZyYW1lQ2FsbGJhY2sodW5zaWduZWQgaWRlbnRpZmllcikKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1vdmUoaW5kZXgpOworCisgICAg
aWYgKG1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1wdHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAg
cGxheWVyKCktPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIH0KIAogdm9pZCBI
VE1MVmlkZW9FbGVtZW50OjpzZXJ2aWNlUmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFja3MoUmVkdWNl
ZFJlc29sdXRpb25TZWNvbmRzIG5vdykKQEAgLTYyNywxMyArNjMzLDIzIEBAIHZvaWQgSFRNTFZp
ZGVvRWxlbWVudDo6c2VydmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNv
bHV0aW9uU2Vjb25kCiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNhbGxiYWNr
Q291bnQ7ICsraW5kZXgpIHsKICAgICAgICAgYXV0byYgcmVxdWVzdCA9IG1fdmlkZW9GcmFtZVJl
cXVlc3RzW2luZGV4XTsKICAgICAgICAgaWYgKCFyZXF1ZXN0LT5jYW5jZWxsZWQpIHsKLSAgICAg
ICAgICAgIHJlcXVlc3QtPmNhbGxiYWNrLT5oYW5kbGVFdmVudChub3cudmFsdWUoKSwgKnZpZGVv
RnJhbWVNZXRhZGF0YSk7CisgICAgICAgICAgICByZXF1ZXN0LT5jYWxsYmFjay0+aGFuZGxlRXZl
bnQoc3RkOjpyb3VuZChub3cubWlsbGlzZWNvbmRzKCkpLCAqdmlkZW9GcmFtZU1ldGFkYXRhKTsK
ICAgICAgICAgICAgIHJlcXVlc3QtPmNhbmNlbGxlZCA9IHRydWU7CiAgICAgICAgIH0KICAgICB9
CiAgICAgbV9pc1J1bm5pbmdWaWRlb0ZyYW1lUmVxdWVzdHMgPSBmYWxzZTsKIAogICAgIG1fdmlk
ZW9GcmFtZVJlcXVlc3RzLnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGNhbGxiYWNrKSB7IHJl
dHVybiBjYWxsYmFjay0+Y2FuY2VsbGVkOyB9KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1
ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgSFRNTFZpZGVvRWxlbWVudDo6bWVk
aWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkKK3sKKyAgICBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckVuZ2luZVVwZGF0ZWQoKTsKKyAgICBpZiAoIW1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1w
dHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAgcGxheWVyKCktPnN0YXJ0VmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFZpZGVvRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50
LmgKaW5kZXggOWViOGY2ZTViOGM3YWUwMGM0ZTc0MTQ4Yzc4ZDgzM2Q2NjcwMjg1OS4uODU2YWRl
YTc4ZmI3Mzk4ZDhmYjQ1ZjQ0OGEzNTkxYmRhNTVmOTcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmgKQEAgLTE0MSw2ICsxNDEsOCBAQCBwcml2YXRlOgogCiAgICAgUGxh
dGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZSBwcmVzZW50YXRpb25UeXBlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gUGxhdGZvcm1NZWRpYVNlc3Npb246Ok1lZGlhVHlwZTo6VmlkZW87IH0KIAor
ICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgZmluYWw7CisKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8SFRNTEltYWdlTG9hZGVyPiBtX2ltYWdlTG9hZGVyOwogCiAgICAgQXRvbVN0cmlu
ZyBtX2RlZmF1bHRQb3N0ZXJVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9WaWRlb0ZyYW1lTWV0YWRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJh
bWVNZXRhZGF0YS5oCmluZGV4IDhmZDlhNDcwMDI0OGQ0ZDI3OGRjZTI3NDk3ODM2MGE1N2JhZjU5
ZWEuLjk0ZGRmMGVmMGY2MTEzNWJkOWI2ODkwOGI4MTE1NmZiYmJkZjIzZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvRnJhbWVNZXRhZGF0YS5oCkBAIC00Myw4ICs0Myw3MyBA
QCBzdHJ1Y3QgVmlkZW9GcmFtZU1ldGFkYXRhIHsKICAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4g
Y2FwdHVyZVRpbWU7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHJlY2VpdmVUaW1lOwogICAg
IHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHJ0cFRpbWVzdGFtcDsKKworICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IGRl
Y29kZShEZWNvZGVyJik7CiB9OwogCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgoraW5saW5lIHZv
aWQgVmlkZW9GcmFtZU1ldGFkYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sK
KyAgICBlbmNvZGVyIDw8IHByZXNlbnRhdGlvblRpbWUgPDwgZXhwZWN0ZWREaXNwbGF5VGltZSA8
PCB3aWR0aCA8PCBoZWlnaHQgPDwgbWVkaWFUaW1lIDw8IHByZXNlbnRlZEZyYW1lcyA8PCBwcm9j
ZXNzaW5nRHVyYXRpb24gPDwgY2FwdHVyZVRpbWUgPDwgcmVjZWl2ZVRpbWUgPDwgcnRwVGltZXN0
YW1wOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgoraW5saW5lIHN0ZDo6b3B0aW9uYWw8
VmlkZW9GcmFtZU1ldGFkYXRhPiBWaWRlb0ZyYW1lTWV0YWRhdGE6OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBwcmVzZW50YXRpb25UaW1lOwor
ICAgIGRlY29kZXIgPj4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBpZiAoIXByZXNlbnRhdGlvblRp
bWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gZXhwZWN0ZWREaXNwbGF5VGltZTsKKyAgICBkZWNvZGVyID4+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgaWYgKCFleHBlY3RlZERpc3BsYXlUaW1lKQorICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gd2lkdGg7CisgICAgZGVj
b2RlciA+PiB3aWR0aDsKKyAgICBpZiAoIXdpZHRoKQorICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OworCisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gaGVpZ2h0OworICAgIGRlY29kZXIg
Pj4gaGVpZ2h0OworICAgIGlmICghaGVpZ2h0KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IG1lZGlhVGltZTsKKyAgICBkZWNvZGVyID4+
IG1lZGlhVGltZTsKKyAgICBpZiAoIW1lZGlhVGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHByZXNlbnRlZEZyYW1lczsKKyAg
ICBkZWNvZGVyID4+IHByZXNlbnRlZEZyYW1lczsKKyAgICBpZiAoIXByZXNlbnRlZEZyYW1lcykK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpv
cHRpb25hbDxkb3VibGU+PiBwcm9jZXNzaW5nRHVyYXRpb247CisgICAgZGVjb2RlciA+PiBwcm9j
ZXNzaW5nRHVyYXRpb247CisgICAgaWYgKCFwcm9jZXNzaW5nRHVyYXRpb24pCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91
YmxlPj4gY2FwdHVyZVRpbWU7CisgICAgZGVjb2RlciA+PiBjYXB0dXJlVGltZTsKKyAgICBpZiAo
IWNhcHR1cmVUaW1lKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpv
cHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IHJlY2VpdmVUaW1lOworICAgIGRlY29kZXIg
Pj4gcmVjZWl2ZVRpbWU7CisgICAgaWYgKCFyZWNlaXZlVGltZSkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDx1bnNpZ25lZD4+
IHJ0cFRpbWVzdGFtcDsKKyAgICBkZWNvZGVyID4+IHJ0cFRpbWVzdGFtcDsKKyAgICBpZiAoIXJ0
cFRpbWVzdGFtcCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiBW
aWRlb0ZyYW1lTWV0YWRhdGEgeyAqcHJlc2VudGF0aW9uVGltZSwgKmV4cGVjdGVkRGlzcGxheVRp
bWUsICp3aWR0aCwgKmhlaWdodCwgKm1lZGlhVGltZSwgKnByZXNlbnRlZEZyYW1lcywgKnByb2Nl
c3NpbmdEdXJhdGlvbiwgKmNhcHR1cmVUaW1lLCAqcmVjZWl2ZVRpbWUsICpydHBUaW1lc3RhbXAg
fTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQ1ZQaXhlbEJ1ZmZlclJlZi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvQ1ZQaXhlbEJ1ZmZlclJlZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNDEzOGI3
NjU3ZTVlZjY1ZGY2NTVjNTE2ZDJjYzJhZjc0YjkyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmgKQEAgLTAsMCArMSwz
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgUExBVEZPUk0oQ09DT0EpCisKK3R5cGVkZWYgc3RydWN0IF9fQ1ZCdWZm
ZXIgKkNWUGl4ZWxCdWZmZXJSZWY7CisKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBh
NDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQxNzA2NTk2Li43NWQ0OTUzNGY0ZDFiNzlk
YjZkZTcwZGJkODMwNmE3NDI3Y2Q0MjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01OTAsNiArNTkwLDggQEAgdm9pZCBNZWRp
YVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUoY29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5
KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+c2V0UGFnZUlzVmlzaWJsZSht
X3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYgKG1fdmlzaWJsZUluVmlld3BvcnQpCiAg
ICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNpYmxlSW5WaWV3cG9ydChtX3Zpc2libGVJ
blZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFk
YXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1f
cHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJlc2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJl
cGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0KQEAgLTE3MjEsNiArMTcyMywyNSBAQCBz
dGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gTWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVN
ZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9
CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkK
K3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKyAgICBtX3By
aXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVk
aWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNH
YXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30KKworI2lmIFBMQVRGT1JNKENPQ09BKQor
dm9pZCBNZWRpYVBsYXllcjo6b25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFk
YXRhJiYgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sK
KyAgICBjbGllbnQoKS5tZWRpYVBsYXllck9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUo
bWV0YWRhdGEpLCBXVEZNb3ZlKGJ1ZmZlcikpOworfQorI2VuZGlmCisKIFN0cmluZyBNZWRpYVBs
YXllcjo6ZWxlbWVudElkKCkgY29uc3QKIHsKICAgICByZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5
ZXJFbGVtZW50SWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5oCmluZGV4IDViMWUxNzQ1MTNlMDZmYTAxZDUxOTBiNTVlNTA1MzU1NWVmZDc2Mzcu
LjAwNDViNTRmNTA0ODIwMzNkNGY4ZjM0YzZjZDY1ZTNkOTA5YTczMTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjg2LDYgKzI4Niwx
MCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJRdWV1ZVRhc2tPbkV2
ZW50TG9vcChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykgeyBjYWxsT25NYWluVGhyZWFkKFdURk1v
dmUodGFzaykpOyB9CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2aXJ0dWFsIHZvaWQgbWVk
aWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0
YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpIHsgfQorI2VuZGlmCisKICNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKICAgICB2aXJ0dWFsIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRp
ZmllcigpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVk
aWFQbGF5ZXJMb2dnZXIoKSA9IDA7CkBAIC01ODQsNiArNTg4LDEwIEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlbW92ZVRleHRUcmFjayhJbmJhbmRUZXh0VHJhY2tQcml2YXRlJik7CiAgICAgdm9pZCBy
ZW1vdmVWaWRlb1RyYWNrKFZpZGVvVHJhY2tQcml2YXRlJik7CiAKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYm
LCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7CisjZW5kaWYKKwogICAgIGJvb2wgcmVx
dWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbigpIGNvbnN0OwogICAgIHZvaWQgc2V0VGV4dFRy
YWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRpb24qKTsKICAgICB2b2lkIHN5
bmNUZXh0VHJhY2tCb3VuZHMoKTsKQEAgLTY4MSw2ICs2ODksOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBoYXNNZWRpYUVuZ2luZSgpIGNvbnN0OwogCiAgICAgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1l
TWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpOworICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRo
ZXJpbmcoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYVBsYXllcihNZWRpYVBsYXllckNsaWVudCYp
OwpAQCAtNzI1LDYgKzczNSw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBU
RURfTUVESUEpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgYm9vbCBtX3Nob3VsZENv
bnRpbnVlQWZ0ZXJLZXlOZWVkZWQgeyBmYWxzZSB9OwogI2VuZGlmCisgICAgYm9vbCBtX2lzR2F0
aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2UgfTsKIH07CiAKIGNsYXNzIE1lZGlhUGxh
eWVyRmFjdG9yeSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY1YTQwYWJjOGE3OWE2Y2UwNjRiNzAyY2RkMGM5
YTlhYTY2M2RkMzkuLmNmNDYzMTJjNTJhOTg3MmJjMDQ1YWQxZDQyMmFmNDhiMTAwOGNhNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
UHJpdmF0ZS5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBw
YXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAK
ICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1l
TWV0YWRhdGEoKSB7IHJldHVybiB7IH07IH0KKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc3RvcFZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZygpIHsgfQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmlu
ZGV4IDU5ZWNhNDUxMzRmZTZmNDA1OTkwMmUyMWNlN2U3ZTVhZGU4MGJmYTIuLmNkMWJhZjZlNDhj
ZGQwYjVlNmVhOWI0YTZiOTJjZDVmN2Y2OGU5MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKQEAg
LTM0Miw2ICszNDIsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIHBhdXNlQXRIb3N0VGltZShjb25z
dCBNb25vdG9uaWNUaW1lJikgZmluYWw7CiAgICAgYm9vbCBoYXZlQmVlbkFza2VkVG9QYWludCgp
IGNvbnN0IHsgcmV0dXJuIG1faGF2ZUJlZW5Bc2tlZFRvUGFpbnQ7IH0KIAorICAgIHZvaWQgc3Rh
cnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIHN0b3BWaWRl
b0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICBzdGQ6Om9wdGlvbmFsPFZpZGVv
RnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFkYXRhKCkgZmluYWwgeyByZXR1cm4gc3RkOjpl
eGNoYW5nZShtX3ZpZGVvRnJhbWVNZXRhZGF0YSwgeyB9KTsgfQorICAgIHZvaWQgY2hlY2tOZXdW
aWRlb0ZyYW1lTWV0YWRhdGEoKTsKKwogICAgIFJldGFpblB0cjxBVlVSTEFzc2V0PiBtX2F2QXNz
ZXQ7CiAgICAgUmV0YWluUHRyPEFWUGxheWVyPiBtX2F2UGxheWVyOwogICAgIFJldGFpblB0cjxB
VlBsYXllckl0ZW0+IG1fYXZQbGF5ZXJJdGVtOwpAQCAtNDUxLDYgKzQ1NiwxMCBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9oYXZlUHJvY2Vzc2VkQ2hhcHRlclRyYWNrcyB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX3dhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0YVdpbGxDaGFuZ2VUaW1lZE91dCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2hhdmVCZWVuQXNrZWRUb1BhaW50IHsgZmFsc2UgfTsKKyAgICB1
aW50NjRfdCBtX3NhbXBsZUNvdW50IHsgMCB9OworICAgIFJldGFpblB0cjxpZD4gbV92aWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcjsKKyAgICBib29sIG1faXNHYXRoZXJpbmdWaWRl
b0ZyYW1lTWV0YWRhdGEgeyBmYWxzZSB9OworICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1l
dGFkYXRhPiBtX3ZpZGVvRnJhbWVNZXRhZGF0YTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
Lm1tCmluZGV4IDRkODYxMTNiY2JlNDY5ZWM2ZTAyNTc5MTAyZDExMGVhOTMwMTAwOTYuLmQ0YWQx
OGUwMzJiODIwNjNiOWFiYzk2ZGY2NzQxYTYxMjkwYmMxYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbQpAQCAtMTEwOCw2ICsxMTA4LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDOjpjcmVhdGVBVlBsYXllcigpCiAgICAgICAgIH0pOwogICAgIH1dOwogCisgICAg
aWYgKG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEpCisgICAgICAgIHN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiAgICAgc2V0RGVsYXlDYWxsYmFja3MoZmFsc2UpOwog
fQogCkBAIC0xNDMzLDYgKzE0MzUsNDYgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDOjpwbGF0Zm9ybVBhdXNlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVkVGlt
ZUNvbnRyb2xTdGF0dXMgPT0gQVZQbGF5ZXJUaW1lQ29udHJvbFN0YXR1c1BhdXNlZDsKIH0KIAor
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzdGFydFZpZGVvRnJhbWVN
ZXRhZGF0YUdhdGhlcmluZygpCit7CisgICAgQVNTRVJUKCFtX3ZpZGVvRnJhbWVNZXRhZGF0YUdh
dGhlcmluZ09ic2VydmVyIHx8IG1fYXZQbGF5ZXIpOworICAgIG1faXNHYXRoZXJpbmdWaWRlb0Zy
YW1lTWV0YWRhdGEgPSB0cnVlOworCisgICAgLy8gRklYTUU6IFdlIHNob3VsZCB1c2UgYSBDQURp
c3BsYXlMaW5rIHRvIGdldCB1cGRhdGVzIG9uIHJlbmRlcmluZywgZm9yIG5vdyB3ZSBlbXVsYXRl
IHdpdGggYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbC4KKyAgICBtX3ZpZGVvRnJh
bWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gW21fYXZQbGF5ZXIgYWRkUGVyaW9kaWNUaW1l
T2JzZXJ2ZXJGb3JJbnRlcnZhbDpQQUw6OkNNVGltZU1ha2UoMSwgNjApIHF1ZXVlOmRpc3BhdGNo
X2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMg
fV0oQ01UaW1lKSB7CisgICAgICAgIGVuc3VyZU9uTWFpblRocmVhZChbd2Vha1RoaXNdIHsKKyAg
ICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+Y2hlY2tO
ZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKTsKKyAgICAgICAgfSk7CisgICAgfV07Cit9CisKK3ZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y2hlY2tOZXdWaWRlb0ZyYW1lTWV0
YWRhdGEoKQoreworICAgIGlmICghdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIFZpZGVvRnJhbWVNZXRhZGF0YSBtZXRhZGF0YTsKKyAgICBtZXRhZGF0YS53
aWR0aCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS53aWR0aCgpOworICAgIG1ldGFkYXRhLmhl
aWdodCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS5oZWlnaHQoKTsKKyAgICBtZXRhZGF0YS5w
cmVzZW50ZWRGcmFtZXMgPSArK21fc2FtcGxlQ291bnQ7CisgICAgbWV0YWRhdGEucHJlc2VudGF0
aW9uVGltZSA9IFBBTDo6Q01UaW1lR2V0U2Vjb25kcyhbbV9hdlBsYXllckl0ZW0gY3VycmVudFRp
bWVdKSAqIDEwMDA7CisKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YSA9IG1ldGFkYXRhOworICAg
IHBsYXllcigpLT5vbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShXVEZNb3ZlKG1ldGFkYXRhKSwgbV9s
YXN0UGl4ZWxCdWZmZXIuZ2V0KCkpOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1f
aXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3ZpZGVvRnJhbWVN
ZXRhZGF0YSA9IHsgfTsKKworICAgIEFTU0VSVChtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
Z09ic2VydmVyKTsKKyAgICBpZiAobV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZl
cikKKyAgICAgICAgW21fYXZQbGF5ZXIgcmVtb3ZlVGltZU9ic2VydmVyOm1fdmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIuZ2V0KCldOworICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRh
R2F0aGVyaW5nT2JzZXJ2ZXIgPSBuaWw7Cit9CisKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0aW9uKCkgY29uc3QKIHsKICAgICAvLyBE
byBub3QgYXNrIHRoZSBhc3NldCBmb3IgZHVyYXRpb24gYmVmb3JlIGl0IGhhcyBiZWVuIGxvYWRl
ZCBvciBpdCB3aWxsIGZldGNoIHRoZQpAQCAtMjU0OCw3ICsyNTkwLDcgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp1cGRhdGVMYXN0SW1hZ2UoVXBkYXRlVHlwZSB0
eXBlKQogICAgIC8vIENhbGxzIHRvIGNvcHlQaXhlbEJ1ZmZlckZvckl0ZW1UaW1lOml0ZW1UaW1l
Rm9yRGlzcGxheTogbWF5IHJldHVybiBuaWwgaWYgdGhlIHBpeGVsIGJ1ZmZlcgogICAgIC8vIGZv
ciB0aGUgcmVxdWVzdGVkIHRpbWUgaGFzIGFscmVhZHkgYmVlbiByZXRyaWV2ZWQuIEluIHRoaXMg
Y2FzZSwgdGhlIGxhc3QgdmFsaWQgaW1hZ2UgKGlmIGFueSkKICAgICAvLyBzaG91bGQgYmUgZGlz
cGxheWVkLgotICAgIGlmICghdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCkgJiYgKG1fbGFzdEltYWdl
IHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCisgICAgaWYgKChtX2lzR2F0aGVyaW5nVmlkZW9GcmFt
ZU1ldGFkYXRhIHx8ICF1cGRhdGVMYXN0UGl4ZWxCdWZmZXIoKSkgJiYgKG1fbGFzdEltYWdlIHx8
ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9waXhl
bEJ1ZmZlckNvbmZvcm1lcikgewpAQCAtMjU4Myw5ICsyNjI1LDggQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludFdpdGhWaWRlb091dHB1dChHcmFwaGljc0Nv
bnRleHQmIGMKIAogUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OnBpeGVsQnVmZmVyRm9yQ3VycmVudFRpbWUoKQogewotICAgIHVw
ZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpOwotICAgIGlmICghbV9sYXN0UGl4ZWxCdWZmZXIpCi0gICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRh
ZGF0YSkKKyAgICAgICAgdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCk7CiAKICAgICByZXR1cm4gbV9s
YXN0UGl4ZWxCdWZmZXI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKaW5kZXggYzNjNTM3Y2Uy
N2MwNDg4YTU4OGM0ZDAxYjhkNTQwODg4ZGM3ZjQwNy4uY2M1NzhjNzliYjA3ZjQyOTZkNTk3Mjc4
MGI2MDA5MjQ2MjAzYjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaApAQCAtMzgsNyArMzgs
NyBAQCBjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWIHsKIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWKENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVz
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVy
dChDVlBpeGVsQnVmZmVyUmVmKTsKLSAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1h
Z2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CisgICAgV0VCQ09SRV9FWFBPUlQg
UmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKENWUGl4ZWxC
dWZmZXJSZWYpOwogCiBwcml2YXRlOgogICAgIFJldGFpblB0cjxWVFBpeGVsQnVmZmVyQ29uZm9y
bWVyUmVmPiBtX3BpeGVsQ29uZm9ybWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4IDU2NWI4YjI5
M2FlY2RmNWU1MWZlNWUxMDE2YzViN2E3ZTczM2Q4YTkuLjg4MTA4Y2JjNTMzYzEwYzc1ZTM3MGJm
Y2M4OTgwMGE1M2M2NzI5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTEwOTgsNiArMTA5OCwx
OCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBhdXNlQXRIb3N0VGltZShNb25vdG9u
aWNUaW1lIHRpbWUpCiAgICAgICAgIG1fcGxheWVyLT5wYXVzZUF0SG9zdFRpbWUodGltZSk7CiB9
CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgbV9wbGF5ZXItPnN0YXJ0
VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCit7CisgICAgaWYgKG1f
cGxheWVyKQorICAgICAgICBtX3BsYXllci0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJp
bmcoKTsKK30KKwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogV1RGTG9nQ2hhbm5lbCYgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9nQ2hhbm5lbCgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApp
bmRleCAwZTlmM2Q3YTIxNDVkNzViOTQzZTJiNTZhMmQ4MGJiODA3M2RmOWUxLi4zMmYzYTQ2YWEw
ZjA5YjEzYjAyNGU0MTY0MDc4YTVkYWRkZWRjNTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKQEAgLTMwNyw2
ICszMDcsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXlBdEhvc3RUaW1lKE1vbm90b25pY1Rp
bWUpOwogICAgIHZvaWQgcGF1c2VBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUpOwogCisgICAgdm9p
ZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworICAgIHZvaWQgc3RvcFZpZGVv
RnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQg
bWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0
YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpOworI2VuZGlmCisKICAgICBi
b29sIG1lZGlhUGxheWVyUGF1c2VkT3JTdGFsbGVkKCkgY29uc3Q7CiAgICAgdm9pZCBjdXJyZW50
VGltZUNoYW5nZWQoY29uc3QgTWVkaWFUaW1lJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggOGVjNjAzZmVjYzFmMThkODRjMTRkNDczZWE1MWE4MTUxNDA3ZDEyMy4u
MzljODcyOWIyNzM5ZTEzNjQ0YjMxYWE4MGRiYTgwZDRhMzMwYzhhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTEzMiw2ICsxMzIsOSBAQCBtZXNzYWdlcyAtPiBSZW1v
dGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQgewogCiAgICAgUGxheUF0SG9zdFRpbWUo
TW9ub3RvbmljVGltZSB0aW1lKQogICAgIFBhdXNlQXRIb3N0VGltZShNb25vdG9uaWNUaW1lIHRp
bWUpCisKKyAgICBTdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCisgICAgU3RvcFZp
ZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlD
b2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5Q29jb2EubW0KaW5kZXggMDhiMmZkZWY1YTRmY2IxOGFkZGJkMTZjMWZkNjA4
NmMxYmU5YzI3Yy4uYzZiYmEzYWEyYjRlNTVmYWVmYjkzM2JiZTJlNjM1OWQ3M2Y2MzE5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlh
UGxheWVyUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
Y29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tCkBAIC0zMCw2ICszMCw3IEBACiAK
ICNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKICNpbXBvcnQgIk1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
ICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9GbG9h
dFNpemUuaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNlLmg+CkBAIC04Myw2ICs4NCwxMSBA
QCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVvSW5saW5lU2l6ZUZlbmNlZChj
b25zdCBXZWJDb3JlOjpGbG9hdFNpemUmCiAgICAgc2V0VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJs
ZSgqbV9pbmxpbmVMYXllckhvc3RpbmdDb250ZXh0LCBzaXplKTsKIH0KIAordm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVv
RnJhbWVNZXRhZGF0YSYmIG1ldGFkYXRhLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBi
dWZmZXIpCit7CisgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpQdXNoVmlkZW9GcmFtZU1ldGFkYXRhKG1ldGFkYXRhLCBi
dWZmZXIpLCBtX2lkKTsKK30KKwogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpuYXRpdmVJ
bWFnZUZvckN1cnJlbnRUaW1lKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxX
VEY6Ok1hY2hTZW5kUmlnaHQ+JiYsIFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZSk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFtX3BsYXllcikgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggOGJkMGRiMjk3YmZiNDA3NGY2ODkwMDQy
ZmNkYTQ3ODQ1MGRmMDU2Ni4uMDE1NDU4MzYwMDM3ZTI5ZTkzNDMwNDQwYzEyNGQyM2FmMTg2ZGY2
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC02NzgsNiAr
Njc4LDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgaGVhZGVyX2luZm9zX2Fu
ZF90eXBlcyA9IGNsYXNzX3RlbXBsYXRlX2hlYWRlcnModHlwZSkKIAogICAgIHNwZWNpYWxfY2Fz
ZXMgPSB7CisgICAgICAgICdDVlBpeGVsQnVmZmVyUmVmJzogWyc8V2ViQ29yZS9DVlBpeGVsQnVm
ZmVyUmVmLmg+J10sCiAgICAgICAgICdNYWNoU2VuZFJpZ2h0JzogWyc8d3RmL01hY2hTZW5kUmln
aHQuaD4nXSwKICAgICAgICAgJ0pTQzo6TWVzc2FnZUxldmVsJzogWyc8SmF2YVNjcmlwdENvcmUv
Q29uc29sZVR5cGVzLmg+J10sCiAgICAgICAgICdKU0M6Ok1lc3NhZ2VTb3VyY2UnOiBbJzxKYXZh
U2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNw
cAppbmRleCA2MmIxMWRmNWVhZmE2MzVkYmQzNmM3MTBkOWQ2ZDVmNjVkOGMzN2M2Li4wYWY4ZWU5
NWM3OWJmNTYzYTgxMmNkNzc5ODU1NjJhMzhhZjc2ZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVS
ZW1vdGUuY3BwCkBAIC04MCw2ICs4MCw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09B
KQorI2ltcG9ydCA8V2ViQ29yZS9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5oPgogI2VuZGlmCiAKQEAgLTEzNzcsNiArMTM3
OCwyNSBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cGF1c2VBdEhvc3RUaW1lKGNv
bnN0IE1vbm90b25pY1RpbWUmIHRpbWUpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0ZDo6b3B0
aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnZpZGVv
RnJhbWVNZXRhZGF0YSgpCit7CisgICAgYXV0byB2aWRlb0ZyYW1lTWV0YWRhdGEgPSBzdGQ6OmV4
Y2hhbmdlKG1fdmlkZW9GcmFtZU1ldGFkYXRhLCB7IH0pOworICAgIHJldHVybiB2aWRlb0ZyYW1l
TWV0YWRhdGE7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzdGFydFZpZGVv
RnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCit7CisgICAgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVN
ZXRhZGF0YSA9IHRydWU7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6OlN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCksIG1faWQp
OworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3RvcFZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZygpCit7CisgICAgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSA9
IGZhbHNlOworICAgIG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGEg
PSBudWxscHRyOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpTdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCksIG1faWQpOworfQor
CiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmVxdWVzdFJlc291cmNlKFJlbW90ZU1l
ZGlhUmVzb3VyY2VJZGVudGlmaWVyIHJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVz
b3VyY2VMb2FkZXI6OkxvYWRPcHRpb25zIG9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoIW1fbWVkaWFSZXNvdXJjZXMu
Y29udGFpbnMocmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oCmluZGV4IGI1ZjViNWJjMWM1MmEzOTljOTFiYzUwY2JhZGY1ZmVjOWY1NTVjNDAu
LjQzZWZmZjJiNDgyOWRiMDZlM2ZmZDI0NGI1ZTJmMWM4YjkwYjEwZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUuaApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIlZpZGVvVHJhY2tQcml2
YXRlUmVtb3RlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllclByaXZhdGUuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luRGF0YS5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
VmlkZW9GcmFtZU1ldGFkYXRhLmg+CiAjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtNTYs
NiArNTcsMTAgQEAgc3RydWN0IEdlbmVyaWNDdWVEYXRhOwogY2xhc3MgSVNPV2ViVlRUQ3VlOwog
Y2xhc3MgU2VyaWFsaXplZFBsYXRmb3JtRGF0YUN1ZVZhbHVlOwogY2xhc3MgVmlkZW9MYXllck1h
bmFnZXI7CisKKyNpZiBQTEFURk9STShDT0NPQSkKK2NsYXNzIFBpeGVsQnVmZmVyQ29uZm9ybWVy
Q1Y7CisjZW5kaWYKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00MDAsNiArNDA1LDE0IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYp
IGZpbmFsOwogICAgIHZvaWQgdXBkYXRlQ29uZmlndXJhdGlvbihSZW1vdGVNZWRpYVBsYXllckNv
bmZpZ3VyYXRpb24mJik7CiAKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlZpZGVvRnJhbWVN
ZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFkYXRhKCkgZmluYWw7CisgICAgdm9pZCBzdGFydFZpZGVv
RnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIGZpbmFsOworICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVN
ZXRhZGF0YUdhdGhlcmluZygpIGZpbmFsOworCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9p
ZCBwdXNoVmlkZW9GcmFtZU1ldGFkYXRhKFdlYkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YSYmLCBS
ZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7CisjZW5kaWYKKwogICAgIFdlYWtQdHI8V2Vi
Q29yZTo6TWVkaWFQbGF5ZXI+IG1fcGxheWVyOwogICAgIFJlZjxXZWJDb3JlOjpQbGF0Zm9ybU1l
ZGlhUmVzb3VyY2VMb2FkZXI+IG1fbWVkaWFSZXNvdXJjZUxvYWRlcjsKICNpZiBQTEFURk9STShD
T0NPQSkKQEAgLTQ1MCw2ICs0NjMsMTIgQEAgcHJpdmF0ZToKICNpZiBVU0UoQVZGT1VOREFUSU9O
KQogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBtX3BpeGVsQnVmZmVyRm9yQ3VycmVu
dFRpbWU7CiAjZW5kaWYKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YT4gbV92aWRlb0ZyYW1lTWV0YWRhdGE7CisgICAgUmV0
YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhWaWRlb0Zy
YW1lTWV0YWRhdGE7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBpeGVsQnVmZmVyQ29u
Zm9ybWVyQ1Y+IG1fcGl4ZWxCdWZmZXJDb25mb3JtZXI7CisjZW5kaWYKKyAgICBib29sIG1faXNH
YXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCmlu
ZGV4IDExOGUwMjVhNjliM2ZhNDFmNTU5ZTVhYTBiZjk4ZDM3OTFiZTVkZTQuLmE2MDYwMzkwZTkw
NTkwODZkZjQ1M2Y3NTYxZDlmNTE3ZTZiNGFlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluCkBAIC05MSw2ICs5MSwxMCBAQCBtZXNzYWdlcyAtPiBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGUgTm90UmVmQ291bnRlZCB7CiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBHZXRSYXdDb29raWVzKFVSTCB1cmwpIC0+IChWZWN0b3I8V2ViQ29yZTo6Q29v
a2llPiByZXN1bHQpIEFzeW5jCiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFB1
c2hWaWRlb0ZyYW1lTWV0YWRhdGEoc3RydWN0IFdlYkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YSBt
ZXRhZGF0YSwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IGJ1ZmZlcik7CisjZW5kaWYKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5t
bQppbmRleCBhMmY4MzUyZmIyMGZiYjJhMGQ2MmZhZWM1OWIyZjRhODI2NTRiYmZmLi5jMGI3NzZk
Yzc3M2IxN2ZhNDMwY2Q1ODk2OGIwMDdiMzFiZDc2YThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KQEAgLTMzLDkgKzMzLDEyIEBACiAjaW1wb3J0
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JTcGFjZUNH
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9QaXhl
bEJ1ZmZlckNvbmZvcm1lckNWLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVT
UEkuaD4KICNpbXBvcnQgPHd0Zi9NYWNoU2VuZFJpZ2h0Lmg+CiAKKyNpbXBvcnQgPFdlYkNvcmUv
Q29yZVZpZGVvU29mdExpbmsuaD4KKwogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIApAQCAtNDYsOCArNDksMjUgQEAgUGxhdGZvcm1MYXllckNvbnRhaW5lciBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNyZWF0ZVZpZGVvRnVsbHNjcmVlbkxheWVyKCkKIH0K
ICNlbmRpZgogCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cHVzaFZpZGVvRnJhbWVN
ZXRhZGF0YShXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiB2aWRlb0ZyYW1lTWV0YWRhdGEs
IFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBpZiAoIW1faXNH
YXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEpCisgICAgICAgIHJldHVybjsKKyAgICBtX3ZpZGVv
RnJhbWVNZXRhZGF0YSA9IFdURk1vdmUodmlkZW9GcmFtZU1ldGFkYXRhKTsKKyAgICBtX3BpeGVs
QnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhID0gV1RGTW92ZShidWZmZXIpOwor
fQorCiBSZWZQdHI8TmF0aXZlSW1hZ2U+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bmF0aXZl
SW1hZ2VGb3JDdXJyZW50VGltZSgpCiB7CisgICAgaWYgKG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdp
dGhWaWRlb0ZyYW1lTWV0YWRhdGEpIHsKKyAgICAgICAgaWYgKCFtX3BpeGVsQnVmZmVyQ29uZm9y
bWVyKQorICAgICAgICAgICAgbV9waXhlbEJ1ZmZlckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8UGl4
ZWxCdWZmZXJDb25mb3JtZXJDVj4oKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlk
Z2UgTlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhl
bEZvcm1hdFR5cGVfMzJCR1JBKSB9KTsKKyAgICAgICAgQVNTRVJUKG1fcGl4ZWxCdWZmZXJDb25m
b3JtZXIpOworICAgICAgICBpZiAoIW1fcGl4ZWxCdWZmZXJDb25mb3JtZXIpCisgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIE5hdGl2ZUltYWdlOjpjcmVhdGUobV9w
aXhlbEJ1ZmZlckNvbmZvcm1lci0+Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIobV9waXhlbEJ1
ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YS5nZXQoKSkpOworICAgIH0KKwogICAg
IHN0ZDo6b3B0aW9uYWw8TWFjaFNlbmRSaWdodD4gc2VuZFJpZ2h0OwogICAgIGF1dG8gY29sb3JT
cGFjZSA9IERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpOwogICAgIGlmICghY29ubmVjdGlv
bigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpOYXRpdmVJbWFn
ZUZvckN1cnJlbnRUaW1lKCksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpOYXRp
dmVJbWFnZUZvckN1cnJlbnRUaW1lOjpSZXBseShzZW5kUmlnaHQsIGNvbG9yU3BhY2UpLCBtX2lk
KSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4
ZGU5YTI1YjYwZmI0NWUyZGUwYTAyMmVlZDViYmYyNzVhOGNlNzk2Li5jNjYyY2ViOWVhZWFhOTdj
OWRkMDBhY2U3NmQwODllODc3ZTgxN2M1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTUgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0
aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMTk0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEVuYWJsZSBydmZjIGJ5IGRlZmF1bHQgaW4gdGVzdCBydW5uZXIuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisKIDIwMjEtMTEtMTQgIEJy
YWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEdldCBkYWVtb24gQVBJ
IHJlYWR5IHRvIHdvcmsgaW4gdGhlIGlPUyBzaW11bGF0b3IgKHN0YXJ0aW5nIHdpdGggV2ViUHVz
aEQpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggNWQy
MDEwNTQxZTFiNDRiMTc0YzJlMWNkZTUyNDQxMjY5MjQ1NWIwZi4uZjMzOWE0MzMzYzBhOTBmNWE0
ZGUzZWU2ZjdjNzA4NmU3NjAxOGZjNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQpAQCAtODYzLDExICs4NjMsOCBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVm
ZXJlbmNlc0ZvclRlc3RPcHRpb25zKFdlYlByZWZlcmVuY2VzICpwcmVmZXJlbmNlcywgY29uc3Qg
VwogICAgICAgICBbcHJlZmVyZW5jZXMgX3Jlc2V0Rm9yVGVzdGluZ107CiAKICAgICAgICAgaWYg
KGVuYWJsZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKSB7Ci0gICAgICAgICAgICBmb3IgKFdlYkZl
YXR1cmUgKmZlYXR1cmUgaW4gW1dlYlByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJlc10p
IHsKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2UgZGlzYWJsZSBydmZjIGJ5IGRlZmF1bHQu
IEVuYWJsZSBpdCB3aGVuIHRoZSB2aWRlbyBiYWNrZW5kIHN1cHBvcnQgaXMgZ29vZCBlbm91Z2gu
Ci0gICAgICAgICAgICAgICAgYXV0byBlbmFibGVkID0gW2ZlYXR1cmUubmFtZSBpc0VxdWFsOkAi
UmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayJdID8gTk8gOiBZRVM7Ci0gICAgICAgICAgICAgICAg
W3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOmVuYWJsZWQgZm9yRmVhdHVyZTpmZWF0dXJlXTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoV2ViRmVhdHVyZSAqZmVhdHVyZSBpbiBbV2Vi
UHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkKKyAgICAgICAgICAgICAgICBbcHJl
ZmVyZW5jZXMgX3NldEVuYWJsZWQ6WUVTIGZvckZlYXR1cmU6ZmVhdHVyZV07CiAgICAgICAgIH0K
IAogICAgICAgICBpZiAocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oKSkgewpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBiMDkwYmJkMzFmZjQ4
NmQxOWQzNzlhYzQwODI4ZGYzZWRkMGIyZGY2Li5lZDI4MDJmYjFlNzY2ZGM1ZGU2N2M0NGQxNTc2
NjE2MzJjMzkzMWEzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cApAQCAtOTA1LDkgKzkwNSw2IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5j
ZXNUb0NvbnNpc3RlbnRWYWx1ZXMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvCiAgICAgICAgIGlm
IChlbmFibGVBbGxFeHBlcmltZW50YWxGZWF0dXJlcykKICAgICAgICAgICAgIFdLUHJlZmVyZW5j
ZXNFbmFibGVBbGxFeHBlcmltZW50YWxGZWF0dXJlcyhwcmVmZXJlbmNlcyk7CiAKLSAgICAgICAg
Ly8gRklYTUU6IFdlIGRpc2FibGUgcnZmYyBieSBkZWZhdWx0LiBFbmFibGUgaXQgd2hlbiB0aGUg
dmlkZW8gYmFja2VuZCBzdXBwb3J0IGlzIGdvb2QgZW5vdWdoLgotICAgICAgICBXS1ByZWZlcmVu
Y2VzU2V0UmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFja0VuYWJsZWQocHJlZmVyZW5jZXMsIGZhbHNl
KTsKLQogICAgICAgICBXS1ByZWZlcmVuY2VzUmVzZXRBbGxJbnRlcm5hbERlYnVnRmVhdHVyZXMo
cHJlZmVyZW5jZXMpOwogCiAgICAgICAgIFdLUHJlZmVyZW5jZXNTZXRQcm9jZXNzU3dhcE9uTmF2
aWdhdGlvbkVuYWJsZWQocHJlZmVyZW5jZXMsIG9wdGlvbnMuc2hvdWxkRW5hYmxlUHJvY2Vzc1N3
YXBPbk5hdmlnYXRpb24oKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTU0ZDAwZTJhZjcxNmVlMmQyMjUwOGQ2NzQwYzgw
M2NjN2NjZThlOS4uOTI1N2U2N2RjMmYzYzdlNDhlMWRkYTBhNTkxYmYxMjIzNDAzYzBlMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9y
dCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzE5NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIxLTExLTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIEZpbmdlcnMgZG93biBvbiB0aGUgdHJhY2twYWQgc2hvdWxk
IHN0b3AgYW4gYW5pbWF0ZWQgc2Nyb2xsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCA5ZjhjOTkwMzg2ZTEyOTE3MGI4YjFhNmE5YzBmNjE0YTQ2YjFkYjY5Li40YTAxNzhjYzlkYWE3
Yjk5MGExNzc4NjA3NjNlMDUxODMyNjM2ZjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMS0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBv
cnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLWRvbS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbDoKKwogMjAyMS0xMS0xNCAgVGltIE5ndXllbiAgPG50
aW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1vZGFsIGRpYWxvZ3Mgc2hvdWxkIG1ha2UgdGhlIHJv
b3QgZWxlbWVudCB1bmZvY3VzYWJsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stZG9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1l
eHBlY3RlZC50eHQKaW5kZXggNjYzOWQ0ZjI4ODVlMWY5NzY0OGQ1MDU0NzcwZWFmZWI0MzJkYzUw
ZC4uN2U1YzQ4NjIwNDUzNDc5NDM5NDFiY2NjNWQ0YmVlNzY2MjFhNjIxZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12
aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAogCi1I
YXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBUZXN0IGEg
dmlkZW8gb3V0c2lkZSBvZiB0aGUgRE9NIGNhbiBzdGlsbCB1c2UgdmlkZW8uclZGQy4gVGVzdCB0
aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggImRpc3BsYXk6bm9u
ZSIuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJ2
aXNpYmlsaXR5OmhpZGRlbiIuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgYSB2aWRlbyBvdXRz
aWRlIG9mIHRoZSBET00gY2FuIHN0aWxsIHVzZSB2aWRlby5yVkZDLgorUEFTUyBUZXN0IHZpZGVv
LnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25lIi4KK1BBU1MgVGVzdCB2aWRlby5yVkZDIHdv
cmtzIHdpdGggInZpc2liaWxpdHk6aGlkZGVuIi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
ZXhwZWN0ZWQudHh0CmluZGV4IGNhN2NiM2U5NGNkZmIyNTI1OGI5ZDk5YjRmNGQ0N2VkYTBlNzcy
MTYuLmNkNzk2MTIwNTUxNzE2OGI1NDNiZjU5YmJlMGZhZTI2OWZlMGJkMTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsOCBAQAogCiAKLUhhcm5l
c3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3Qgd2UgY2Fu
IHJlZ2lzdGVyIGEgdmlkZW8uclZGQyBjYWxsYmFjay4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQg
VGVzdCB2aWRlby5yVkZDIGNhbGxiYWNrcyBydW4gYmVmb3JlIHdpbmRvdy5yQUYgY2FsbGJhY2tz
LiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwgYSB2aWRlby5yVkZD
IHJlcXVlc3QuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3Qgd2UgY2FuIHJlZ2lzdGVyIGEgdmlk
ZW8uclZGQyBjYWxsYmFjay4KK1BBU1MgVGVzdCB2aWRlby5yVkZDIGNhbGxiYWNrcyBydW4gYmVm
b3JlIHdpbmRvdy5yQUYgY2FsbGJhY2tzLgorUEFTUyBUZXN0IHdlIGNhbiBjYW5jZWwgYSB2aWRl
by5yVkZDIHJlcXVlc3QuCiBQQVNTIFRlc3QgaW52YWxpZCBjYWxscyB0byB0aGUgdmlkZW8uclZG
QyBBUEkuCi1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyBkb2VzIG5vdCBzdG9wIHdoZW4gc3dpdGNo
aW5nIHNvdXJjZXMuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgdmlkZW8uclZGQyBkb2VzIG5v
dCBzdG9wIHdoZW4gc3dpdGNoaW5nIHNvdXJjZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1l
LWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dAppbmRleCA2ZmU2ODRhZThlNjZkYWI4Y2Nl
NjhkMjI3NTM1OTVhODQ0OGM2YjkwLi4zMmI5OWFlZDU0NTdkZmExYmYyYTkxNjMzMWQyNmYxZWQ5
ZDliNWQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgY2FsbGJhY2tzIGdldCB0aGUgc2FtZSBpbmZv
cm1hdGlvbi4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB3ZSBjYW4gY2FuY2VsIGNhbGxi
YWNrcyBmcm9tIGNhbGxiYWNrcy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBjYWxsYmFja3Mg
Z2V0IHRoZSBzYW1lIGluZm9ybWF0aW9uLgorUEFTUyBUZXN0IHdlIGNhbiBjYW5jZWwgY2FsbGJh
Y2tzIGZyb20gY2FsbGJhY2tzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1yZXBlYXRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
cmVwZWF0aW5nLWV4cGVjdGVkLnR4dAppbmRleCBiNGE1YmUzZGQyNTEyYjg1YzM4NTU1YjhmM2Nl
NzAzNjc4ZWQ0ZGZkLi5hNjMxYTE3NmJkNTliNmRmMWM0NTU2ZDNjZGIxMTQ1ZDNjNjk1ODYwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlk
ZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50
eHQKQEAgLTEsNyArMSw1IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2Ug
PSBudWxsCi0KLVRJTUVPVVQgVGVzdCBuZXcgY2FsbGJhY2tzIGFyZSBvbmx5IGNhbGxlZCBvbiB0
aGUgbmV4dCBmcmFtZS4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCBjaGFpbmluZyBjYWxs
cyB0byB2aWRlby5yVkZDLCBhbmQgdmVyaWZ5IHRoZSByZXF1aXJlZCBwYXJhbWV0ZXJzLiBUZXN0
IHRpbWVkIG91dAorUEFTUyBUZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRo
ZSBuZXh0IGZyYW1lLgorRkFJTCBUZXN0IGNoYWluaW5nIGNhbGxzIHRvIHZpZGVvLnJWRkMsIGFu
ZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMuIGFzc2VydF9ncmVhdGVyX3RoYW46IHBy
ZXNlbnRhdGlvblRpbWUgc2hvdWxkIGJlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyBleHBlY3Rl
ZCBhIG51bWJlciBidXQgZ290IGEgInVuZGVmaW5lZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwK
aW5kZXggYTQ0MDQxNDNmYTQwOGViYmI4ZjQ5Y2MzMTgwZTA2NWQyMDBmZmE0YS4uNDdhMTA5ZTgy
MmFiZDRlZWViMzVjYjQxMmI0NDA5ZWRkYTBiMzM0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1s
CkBAIC0xMDUsNiArMTA1LDcgQEAgdGVzdChmdW5jdGlvbih0KSB7CiAKIHByb21pc2VfdGVzdChh
c3luYyBmdW5jdGlvbih0KSB7CiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgndmlkZW8nKTsKKyAgICB2aWRlby5hdXRvcGxheSA9IHRydWU7CiAgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAKICAgICBsZXQgZmlyc3Rfd2lkdGggPSAwOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGY4YWFkYjk5
NmY3Nzk4YjY1MDU5MjE3ZTY1ZjQ2MTIzM2Y5NjNjMGYuLjM2NGRlNzA3ZjFmNWY1Yzk3YmEwMDEw
MDQ0ZDY0M2JiNmMyNzhlM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTE0MywxMyArMTQzLDkgQEAgaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NuYW1lLWNsb2FraW5nLXRvcC1uby1jbmFtZS1zdWItbm8tY25hbWUuaHRt
bAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsgUGFzcyBdCiBm
YXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1ydmZjLmh0bWwgWyBQYXNzIF0KIHdlYnJ0Yy9w
ZWVyQ29ubmVjdGlvbi1ydmZjLmh0bWwgWyBQYXNzIF0KLSMgVGltaW5nIG91dCB0ZXN0cyB1bnRp
bCB3ZSBhZGQgcmVndWxhciB2aWRlbyBzdHJlYW1pbmcgYmFja2VuZCBzdXBwb3J0LgorIyBUaW1p
bmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCBYUiBzZXNzaW9uLgogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stYmVm
b3JlLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0
bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9uLmh0dHBzLmh0bWwg
WyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNh
bGxiYWNrLXJlcGVhdGluZy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sIFsgU2tp
cCBdCiAKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIHBsYXRmb3Jt
LXNwZWNpZmljIGRpcmVjdG9yaWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDFkZjk1ZDA1MzM1MzA2NTM5MjczZTIwMTM5MWYzMGY0Y2Vm
MmRkNDguLjFjYmM0ZWM0NTI1MzUyYmM0NDhhOTZlNmFhYWJkODMyYmVhMTY0MzggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMzLDYgKzMz
LDExIEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZXh0ZXJuYWwtZW50aXR5
LW5vLWxvZ2dpbmcueG1sIFsgUGFzcyBdCiAjIHJkYXI6Ly9wcm9ibGVtLzYxNzkzODg0IDogRW5h
YmxpbmcgdGhpcyB0ZXN0IGZvciBXSzEgb25seS4KIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUt
ZmxvYXRzL3NoYXBlLW91dHNpZGUtaW1hZ2VkYXRhLW92ZXJmbG93Lmh0bWwgWyBQYXNzIF0KIAor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsgUGFzcyBdCisjIFRp
bWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1i
ZWZvcmUteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kdXJp
bmcteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8KICMgRW5kIHBsYXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLgogIy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDMyMmE1YmVkOWE2ZTMxMjNmN2M0YzRhZTBh
NDhkODViYTNmOWFkYmQuLjJmZDA3NGExYWNkODNhOWMwNjc3ZGEwZWViNDJlMDdjZDY0YjQ2ZmYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTEyMiwxMyArMTIyLDkgQEAgc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtdHJhbnNhY3Rpb24t
Y3ljbGUuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjIFsgUGFzcyBdCiBmYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1ydmZjLmh0bWwg
WyBQYXNzIF0KIHdlYnJ0Yy9wZWVyQ29ubmVjdGlvbi1ydmZjLmh0bWwgWyBQYXNzIF0KLSMgVGlt
aW5nIG91dCB0ZXN0cyB1bnRpbCB3ZSBhZGQgcmVndWxhciB2aWRlbyBzdHJlYW1pbmcgYmFja2Vu
ZCBzdXBwb3J0LgorIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCBYUiBzZXNzaW9uLgog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2stYmVmb3JlLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stZG9tLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1z
ZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwg
WyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1sIFsgU2tpcCBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay5odG1sIFsgU2tpcCBdCiAKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8KICMgRW5kIHBsYXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLgo=
</data>
<flag name="commit-queue"
          id="469222"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444243</attachid>
            <date>2021-11-15 06:10:51 -0800</date>
            <delta_ts>2021-11-15 06:39:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211115151049.patch</filename>
            <type>text/plain</type>
            <size>49954</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMjdhNzIwZDEzN2YxMGU1YzczZGIwNDU0ZWY1Nzlj
NzNkOWFjMGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaDoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9w
IGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdm
MWFhMjRlYmRkYTNjZWRkLi43M2U0NTFlYzFlMjZkNmMzYjYyZWY1NDJjNjZhOTgwNWFiMWMzODIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3MzcyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHN0YXJ0L3N0b3AgbWV0YWRhdGEgZ2F0aGVyaW5nIGZyb20gV2ViUHJvY2VzcyB0byBH
UFVQcm9jZXNzLgorICAgICAgICBBZGQgSVBDIG1lc3NhZ2luZyB0byBwdXNoIG1ldGFkYXRhIHRv
IFdlYlByb2Nlc3MsIGluY2x1ZGluZyBzZW5kaW5nIHRoZSBjb3JyZXNwb25kaW5nIENWUGl4ZWxC
dWZmZXIgZm9yIHRoZSBjdXJyZW50IG1ldGFkYXRhLgorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUgd2lsbCB0aGVuIHNlcnZlIHRoYXQgYnVmZmVyIHdoZW4gYmVpbmcgcmVxdWVzdGVk
IHRoZSBjdXJyZW50IGltYWdlLgorICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCBwYWludGluZyBv
biBhIGNhbnZhcyBkb2VzIG5vdCBtYXJrIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyBhY3F1aXJlZCwg
d2hpY2ggd291bGQgdGhlbiBza2lwIHRoZSB2aWRlbyBmcmFtZSBtZXRhZGF0YSBnYXRoZXJpbmcu
CisgICAgICAgIFRoaXMgYWxzbyBlbnN1cmVzIHRoZSBzYW1lIGJ1ZmZlciBpcyB1c2VkIGlmIGEg
dmlkZW8gZWxlbWVudCBpcyBwYWludGVkIHNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBzYW1lIHJ2
ZmMgY2FsbGJhY2suCisgICAgICAgIFRoaXMgaGFzIHRoZSBzaWRlIGJlbmVmaXQgb2YgcmVtb3Zp
bmcgdGhlIHN5bmNocm9ub3VzIElQQyB0byBwYWludCB0aGUgdmlkZW8gZWxlbWVudCBpbiBhIGNh
bnZhcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIxLTExLTE0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSBy
ZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAyZWNiZjVkYmFhZGVk
NDJlNzc5MDQ0MDVhYzAxMzFlMzhmYzI5YmU3Li42OTU2Njk0OTYzMTBlZjkxMDhiOTU2ZmRhNDgy
MTQzMDE0OTcwZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
NjQxLDYgKzY0MSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldENoYW5naW5nVmlkZW9GdWxs
c2NyZWVuTW9kZShib29sIHZhbHVlKSB7IG1fY2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlID0g
dmFsdWU7IH0KICAgICBib29sIGlzQ2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlKCkgY29uc3Qg
eyByZXR1cm4gbV9jaGFuZ2luZ1ZpZGVvRnVsbHNjcmVlbk1vZGU7IH0KIAorcHJvdGVjdGVkOgor
ICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgb3ZlcnJpZGU7CisKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIApAQCAtNjkyLDcgKzY5NSw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBtZWRpYVBsYXllclNpemVDaGFuZ2VkKCkgZmluYWw7CiAgICAgdm9pZCBt
ZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKCkgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBs
YXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkgZmluYWw7Ci0gICAgdm9pZCBtZWRp
YVBsYXllckVuZ2luZVVwZGF0ZWQoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyV2lsbElu
aXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQgbWVkaWFQbGF5ZXJEaWRJbml0
aWFsaXplTWVkaWFFbmdpbmUoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyUmVsb2FkQW5k
UmVzdW1lUGxheWJhY2tJZk5lZWRlZCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZp
ZGVvRWxlbWVudC5jcHAKaW5kZXggYmIwNWUyNzYxZjgyZGM5ZGUzMTFkNGNiYTIzNDc5NTE2OTA5
YzMyOS4uZDc2OWU1M2FlYjFlMThhN2Q5NzFhNjM2ZTE5ZDJiZTA1NjJmZTU3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC01ODgsNiArNTg4LDkgQEAgdm9p
ZCBIVE1MVmlkZW9FbGVtZW50OjpleGl0VG9GdWxsc2NyZWVuTW9kZVdpdGhvdXRBbmltYXRpb25J
ZlBvc3NpYmxlKEhUTUxNZWRpYUUKIAogdW5zaWduZWQgSFRNTFZpZGVvRWxlbWVudDo6cmVxdWVz
dFZpZGVvRnJhbWVDYWxsYmFjayhSZWY8VmlkZW9GcmFtZVJlcXVlc3RDYWxsYmFjaz4mJiBjYWxs
YmFjaykKIHsKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBsYXll
cigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmco
KTsKKwogICAgIGF1dG8gaWRlbnRpZmllciA9ICsrbV9uZXh0VmlkZW9GcmFtZVJlcXVlc3RJbmRl
eDsKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5hcHBlbmQobWFrZVVuaXF1ZVJlZjxWaWRlb0Zy
YW1lUmVxdWVzdD4oaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpKTsKIApAQCAtNjA3LDYg
KzYxMCw5IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNr
KHVuc2lnbmVkIGlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV92aWRl
b0ZyYW1lUmVxdWVzdHMucmVtb3ZlKGluZGV4KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1
ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiB9CiAKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6c2Vy
dmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNvbHV0aW9uU2Vjb25kcyBu
b3cpCkBAIC02MjcsMTMgKzYzMywyMyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZAogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsYmFja0NvdW50OyArK2luZGV4KSB7CiAg
ICAgICAgIGF1dG8mIHJlcXVlc3QgPSBtX3ZpZGVvRnJhbWVSZXF1ZXN0c1tpbmRleF07CiAgICAg
ICAgIGlmICghcmVxdWVzdC0+Y2FuY2VsbGVkKSB7Ci0gICAgICAgICAgICByZXF1ZXN0LT5jYWxs
YmFjay0+aGFuZGxlRXZlbnQobm93LnZhbHVlKCksICp2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAg
ICAgICAgICAgcmVxdWVzdC0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0ZDo6cm91bmQobm93Lm1p
bGxpc2Vjb25kcygpKSwgKnZpZGVvRnJhbWVNZXRhZGF0YSk7CiAgICAgICAgICAgICByZXF1ZXN0
LT5jYW5jZWxsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQogICAgIG1faXNSdW5uaW5nVmlk
ZW9GcmFtZVJlcXVlc3RzID0gZmFsc2U7CiAKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1v
dmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2FsbGJhY2stPmNhbmNl
bGxlZDsgfSk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBs
YXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworfQorCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZCgpCit7CisgICAgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7
CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisg
ICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1Yjhj
N2FlMDBjNGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLjg1NmFkZWE3OGZiNzM5OGQ4ZmI0NWY0NDhh
MzU5MWJkYTU1Zjk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBA
IC0xNDEsNiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpN
ZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIG1lZGlhUGxheWVy
RW5naW5lVXBkYXRlZCgpIGZpbmFsOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxJbWFnZUxv
YWRlcj4gbV9pbWFnZUxvYWRlcjsKIAogICAgIEF0b21TdHJpbmcgbV9kZWZhdWx0UG9zdGVyVVJM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAppbmRleCA4
ZmQ5YTQ3MDAyNDhkNGQyNzhkY2UyNzQ5NzgzNjBhNTdiYWY1OWVhLi45NGRkZjBlZjBmNjExMzVi
ZDliNjg5MDhiODExNTZmYmJiZGYyM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaApAQCAtNDMsOCArNDMsNzMgQEAgc3RydWN0IFZpZGVvRnJhbWVN
ZXRhZGF0YSB7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNhcHR1cmVUaW1lOwogICAgIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiByZWNlaXZlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPiBydHBUaW1lc3RhbXA7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
IAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2b2lkIFZpZGVvRnJhbWVNZXRhZGF0
YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBwcmVz
ZW50YXRpb25UaW1lIDw8IGV4cGVjdGVkRGlzcGxheVRpbWUgPDwgd2lkdGggPDwgaGVpZ2h0IDw8
IG1lZGlhVGltZSA8PCBwcmVzZW50ZWRGcmFtZXMgPDwgcHJvY2Vzc2luZ0R1cmF0aW9uIDw8IGNh
cHR1cmVUaW1lIDw8IHJlY2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
VmlkZW9GcmFtZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBkZWNvZGVyID4+IHByZXNl
bnRhdGlvblRpbWU7CisgICAgaWYgKCFwcmVzZW50YXRpb25UaW1lKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgZGVjb2RlciA+PiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGlmICghZXhw
ZWN0ZWREaXNwbGF5VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAg
aWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdodDsKKyAgICBpZiAo
IWhlaWdodCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBtZWRpYVRpbWU7CisgICAgZGVjb2RlciA+PiBtZWRpYVRpbWU7CisgICAgaWYg
KCFtZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBwcmVzZW50ZWRGcmFtZXM7CisgICAgZGVjb2RlciA+PiBwcmVzZW50
ZWRGcmFtZXM7CisgICAgaWYgKCFwcmVzZW50ZWRGcmFtZXMpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJv
Y2Vzc2luZ0R1cmF0aW9uOworICAgIGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGlmICghcHJvY2Vzc2luZ0R1cmF0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IGNhcHR1cmVUaW1lOwor
ICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAgaWYgKCFjYXB0dXJlVGltZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25h
bDxkb3VibGU+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2VpdmVUaW1lOworICAg
IGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1lc3RhbXA7CisgICAg
ZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3RhbXApCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9GcmFtZU1ldGFkYXRhIHsg
KnByZXNlbnRhdGlvblRpbWUsICpleHBlY3RlZERpc3BsYXlUaW1lLCAqd2lkdGgsICpoZWlnaHQs
ICptZWRpYVRpbWUsICpwcmVzZW50ZWRGcmFtZXMsICpwcm9jZXNzaW5nRHVyYXRpb24sICpjYXB0
dXJlVGltZSwgKnJlY2VpdmVUaW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL0NvcmVBdWRpb0NhcHR1cmVEZXZpY2VNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9Db3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJl
MTIwZTc0MjcwOGQ4NmUzMTA1YzMxMWU1NjRmYTllYjcyN2QwNDYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9Db3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFu
YWdlci5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkgJiYgUExBVEZPUk0oTUFDKQorCisjaW5jbHVkZSAiQ2FwdHVyZURldmljZS5oIgorI2luY2x1
ZGUgIkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgiCisjaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRp
by5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIENvcmVBdWRpb0NhcHR1cmVEZXZpY2U7CisKK2NsYXNzIENvcmVBdWRpb0Nh
cHR1cmVEZXZpY2VNYW5hZ2VyIGZpbmFsIDogcHVibGljIENhcHR1cmVEZXZpY2VNYW5hZ2VyIHsK
KyAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8Q29yZUF1ZGlvQ2FwdHVyZURldmljZU1h
bmFnZXI+OworcHVibGljOgorICAgIHN0YXRpYyBDb3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdl
ciYgc2luZ2xldG9uKCk7CisKKyAgICBjb25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIGNhcHR1
cmVEZXZpY2VzKCkgZmluYWw7CisgICAgc3RkOjpvcHRpb25hbDxDYXB0dXJlRGV2aWNlPiBjYXB0
dXJlRGV2aWNlV2l0aFBlcnNpc3RlbnRJRChDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlLCBjb25z
dCBTdHJpbmcmKTsKKworICAgIHN0ZDo6b3B0aW9uYWw8Q29yZUF1ZGlvQ2FwdHVyZURldmljZT4g
Y29yZUF1ZGlvRGV2aWNlV2l0aFVJRChjb25zdCBTdHJpbmcmKTsKKyAgICBjb25zdCBWZWN0b3I8
Q2FwdHVyZURldmljZT4mIHNwZWFrZXJEZXZpY2VzKCkgY29uc3QgeyByZXR1cm4gbV9zcGVha2Vy
RGV2aWNlczsgfQorCitwcml2YXRlOgorICAgIENvcmVBdWRpb0NhcHR1cmVEZXZpY2VNYW5hZ2Vy
KCkgPSBkZWZhdWx0OworICAgIH5Db3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpID0gZGVm
YXVsdDsKKyAgICAKKyAgICBWZWN0b3I8Q29yZUF1ZGlvQ2FwdHVyZURldmljZT4mIGNvcmVBdWRp
b0NhcHR1cmVEZXZpY2VzKCk7CisKKyAgICBlbnVtIGNsYXNzIE5vdGlmeUlmRGV2aWNlc0hhdmVD
aGFuZ2VkIHsgTm90aWZ5LCBEb05vdE5vdGlmeSB9OworICAgIHZvaWQgcmVmcmVzaEF1ZGlvQ2Fw
dHVyZURldmljZXMoTm90aWZ5SWZEZXZpY2VzSGF2ZUNoYW5nZWQpOworICAgIHZvaWQgc2NoZWR1
bGVVcGRhdGVDYXB0dXJlRGV2aWNlcygpOworCisgICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IG1f
Y2FwdHVyZURldmljZXM7CisgICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IG1fc3BlYWtlckRldmlj
ZXM7CisgICAgVmVjdG9yPENvcmVBdWRpb0NhcHR1cmVEZXZpY2U+IG1fY29yZUF1ZGlvQ2FwdHVy
ZURldmljZXM7CisgICAgYm9vbCBtX3dhc1JlZnJlc2hBdWRpb0NhcHR1cmVEZXZpY2VzU2NoZWR1
bGVkIHsgZmFsc2UgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBhNDM2YTU1OGE3OTlh
NjY2YTZlZjZhNGY1ZjM4MDk1NGQxNzA2NTk2Li43NWQ0OTUzNGY0ZDFiNzlkYjZkZTcwZGJkODMw
NmE3NDI3Y2Q0MjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuY3BwCkBAIC01OTAsNiArNTkwLDggQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9h
ZFdpdGhOZXh0TWVkaWFFbmdpbmUoY29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQog
ICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+c2V0UGFnZUlzVmlzaWJsZShtX3BhZ2VJc1Zpc2li
bGUpOwogICAgICAgICAgICAgaWYgKG1fdmlzaWJsZUluVmlld3BvcnQpCiAgICAgICAgICAgICAg
ICAgbV9wcml2YXRlLT5zZXRWaXNpYmxlSW5WaWV3cG9ydChtX3Zpc2libGVJblZpZXdwb3J0KTsK
KyAgICAgICAgICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAg
ICAgICAgICAgIG1fcHJpdmF0ZS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsK
ICAgICAgICAgICAgIG1fcHJpdmF0ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1fcHJpdmF0ZUJyb3dz
aW5nLCBtX3ByZWxvYWQsIG1fcHJlc2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJlcGFyZVRvUmVuZGVy
KTsKICAgICAgICAgfQogICAgIH0KQEAgLTE3MjEsNiArMTcyMywyNSBAQCBzdGQ6Om9wdGlvbmFs
PFZpZGVvRnJhbWVNZXRhZGF0YT4gTWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCiAg
ICAgcmV0dXJuIG1fcHJpdmF0ZS0+dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9CiAKK3ZvaWQgTWVk
aWFQbGF5ZXI6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKyAgICBtX3ByaXZhdGUtPnN0YXJ0
VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0
b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRl
b0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BWaWRlb0ZyYW1lTWV0
YWRhdGFHYXRoZXJpbmcoKTsKK30KKworI2lmIFBMQVRGT1JNKENPQ09BKQordm9pZCBNZWRpYVBs
YXllcjo6b25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRh
dGEsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQo
KS5tZWRpYVBsYXllck9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBX
VEZNb3ZlKGJ1ZmZlcikpOworfQorI2VuZGlmCisKIFN0cmluZyBNZWRpYVBsYXllcjo6ZWxlbWVu
dElkKCkgY29uc3QKIHsKICAgICByZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJFbGVtZW50SWQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmlu
ZGV4IDViMWUxNzQ1MTNlMDZmYTAxZDUxOTBiNTVlNTA1MzU1NWVmZDc2MzcuLjAwNDViNTRmNTA0
ODIwMzNkNGY4ZjM0YzZjZDY1ZTNkOTA5YTczMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjg2LDYgKzI4NiwxMCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJRdWV1ZVRhc2tPbkV2ZW50TG9vcChGdW5j
dGlvbjx2b2lkKCk+JiYgdGFzaykgeyBjYWxsT25NYWluVGhyZWFkKFdURk1vdmUodGFzaykpOyB9
CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJPbk5l
d1ZpZGVvRnJhbWVNZXRhZGF0YShWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+JiYpIHsgfQorI2VuZGlmCisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
ICAgICB2aXJ0dWFsIGNvbnN0IHZvaWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0
dXJuIG51bGxwdHI7IH0KICAgICB2aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dn
ZXIoKSA9IDA7CkBAIC01ODQsNiArNTg4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRl
eHRUcmFjayhJbmJhbmRUZXh0VHJhY2tQcml2YXRlJik7CiAgICAgdm9pZCByZW1vdmVWaWRlb1Ry
YWNrKFZpZGVvVHJhY2tQcml2YXRlJik7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lk
IG9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7CisjZW5kaWYKKwogICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbigpIGNvbnN0OwogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50
YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRpb24qKTsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tC
b3VuZHMoKTsKQEAgLTY4MSw2ICs2ODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNNZWRpYUVu
Z2luZSgpIGNvbnN0OwogCiAgICAgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZp
ZGVvRnJhbWVNZXRhZGF0YSgpOworICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRo
ZXJpbmcoKTsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIAog
cHJpdmF0ZToKICAgICBNZWRpYVBsYXllcihNZWRpYVBsYXllckNsaWVudCYpOwpAQCAtNzI1LDYg
KzczNSw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYm
IEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgYm9vbCBtX3Nob3VsZENvbnRpbnVlQWZ0ZXJL
ZXlOZWVkZWQgeyBmYWxzZSB9OwogI2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9G
cmFtZU1ldGFkYXRhIHsgZmFsc2UgfTsKIH07CiAKIGNsYXNzIE1lZGlhUGxheWVyRmFjdG9yeSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
clByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
UHJpdmF0ZS5oCmluZGV4IGY1YTQwYWJjOGE3OWE2Y2UwNjRiNzAyY2RkMGM5YTlhYTY2M2RkMzku
LmNmNDYzMTJjNTJhOTg3MmJjMDQ1YWQxZDQyMmFmNDhiMTAwOGNhNmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBA
IC0zMjMsNiArMzIzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXVzZUF0SG9zdFRp
bWUoY29uc3QgTW9ub3RvbmljVGltZSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFs
IHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSB7
IHJldHVybiB7IH07IH0KKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdh
dGhlcmluZygpIHsgfQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDU5ZWNhNDUx
MzRmZTZmNDA1OTkwMmUyMWNlN2U3ZTVhZGU4MGJmYTIuLmNkMWJhZjZlNDhjZGQwYjVlNmVhOWI0
YTZiOTJjZDVmN2Y2OGU5MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTM0Miw2ICszNDIs
MTEgQEAgcHJpdmF0ZToKICAgICBib29sIHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNU
aW1lJikgZmluYWw7CiAgICAgYm9vbCBoYXZlQmVlbkFza2VkVG9QYWludCgpIGNvbnN0IHsgcmV0
dXJuIG1faGF2ZUJlZW5Bc2tlZFRvUGFpbnQ7IH0KIAorICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0
YT4gdmlkZW9GcmFtZU1ldGFkYXRhKCkgZmluYWwgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX3Zp
ZGVvRnJhbWVNZXRhZGF0YSwgeyB9KTsgfQorICAgIHZvaWQgY2hlY2tOZXdWaWRlb0ZyYW1lTWV0
YWRhdGEoKTsKKwogICAgIFJldGFpblB0cjxBVlVSTEFzc2V0PiBtX2F2QXNzZXQ7CiAgICAgUmV0
YWluUHRyPEFWUGxheWVyPiBtX2F2UGxheWVyOwogICAgIFJldGFpblB0cjxBVlBsYXllckl0ZW0+
IG1fYXZQbGF5ZXJJdGVtOwpAQCAtNDUxLDYgKzQ1NiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wg
bV9oYXZlUHJvY2Vzc2VkQ2hhcHRlclRyYWNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3dhaXRG
b3JWaWRlb091dHB1dE1lZGlhRGF0YVdpbGxDaGFuZ2VUaW1lZE91dCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2hhdmVCZWVuQXNrZWRUb1BhaW50IHsgZmFsc2UgfTsKKyAgICB1aW50NjRfdCBtX3Nh
bXBsZUNvdW50IHsgMCB9OworICAgIFJldGFpblB0cjxpZD4gbV92aWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmdPYnNlcnZlcjsKKyAgICBib29sIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRh
dGEgeyBmYWxzZSB9OworICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBtX3Zp
ZGVvRnJhbWVNZXRhZGF0YTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDRk
ODYxMTNiY2JlNDY5ZWM2ZTAyNTc5MTAyZDExMGVhOTMwMTAwOTYuLmQ0YWQxOGUwMzJiODIwNjNi
OWFiYzk2ZGY2NzQxYTYxMjkwYmMxYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMTEw
OCw2ICsxMTA4LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpj
cmVhdGVBVlBsYXllcigpCiAgICAgICAgIH0pOwogICAgIH1dOwogCisgICAgaWYgKG1faXNHYXRo
ZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEpCisgICAgICAgIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRh
R2F0aGVyaW5nKCk7CiAgICAgc2V0RGVsYXlDYWxsYmFja3MoZmFsc2UpOwogfQogCkBAIC0xNDMz
LDYgKzE0MzUsNDYgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpw
bGF0Zm9ybVBhdXNlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fY2FjaGVkVGltZUNvbnRyb2xTdGF0
dXMgPT0gQVZQbGF5ZXJUaW1lQ29udHJvbFN0YXR1c1BhdXNlZDsKIH0KIAordm9pZCBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhl
cmluZygpCit7CisgICAgQVNTRVJUKCFtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2Vy
dmVyIHx8IG1fYXZQbGF5ZXIpOworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEg
PSB0cnVlOworCisgICAgLy8gRklYTUU6IFdlIHNob3VsZCB1c2UgYSBDQURpc3BsYXlMaW5rIHRv
IGdldCB1cGRhdGVzIG9uIHJlbmRlcmluZywgZm9yIG5vdyB3ZSBlbXVsYXRlIHdpdGggYWRkUGVy
aW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbC4KKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YUdh
dGhlcmluZ09ic2VydmVyID0gW21fYXZQbGF5ZXIgYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJ
bnRlcnZhbDpQQUw6OkNNVGltZU1ha2UoMSwgNjApIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1
ZXVlKCkgdXNpbmdCbG9jazpbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0oQ01UaW1lKSB7
CisgICAgICAgIGVuc3VyZU9uTWFpblRocmVhZChbd2Vha1RoaXNdIHsKKyAgICAgICAgICAgIGlm
ICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+Y2hlY2tOZXdWaWRlb0ZyYW1l
TWV0YWRhdGEoKTsKKyAgICAgICAgfSk7CisgICAgfV07Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKQorewor
ICAgIGlmICghdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCkpCisgICAgICAgIHJldHVybjsKKworICAg
IFZpZGVvRnJhbWVNZXRhZGF0YSBtZXRhZGF0YTsKKyAgICBtZXRhZGF0YS53aWR0aCA9IG1fY2Fj
aGVkUHJlc2VudGF0aW9uU2l6ZS53aWR0aCgpOworICAgIG1ldGFkYXRhLmhlaWdodCA9IG1fY2Fj
aGVkUHJlc2VudGF0aW9uU2l6ZS5oZWlnaHQoKTsKKyAgICBtZXRhZGF0YS5wcmVzZW50ZWRGcmFt
ZXMgPSArK21fc2FtcGxlQ291bnQ7CisgICAgbWV0YWRhdGEucHJlc2VudGF0aW9uVGltZSA9IFBB
TDo6Q01UaW1lR2V0U2Vjb25kcyhbbV9hdlBsYXllckl0ZW0gY3VycmVudFRpbWVdKSAqIDEwMDA7
CisKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YSA9IG1ldGFkYXRhOworICAgIHBsYXllcigpLT5v
bk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShXVEZNb3ZlKG1ldGFkYXRhKSwgbV9sYXN0UGl4ZWxCdWZm
ZXIuZ2V0KCkpOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdW
aWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YSA9IHsg
fTsKKworICAgIEFTU0VSVChtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyKTsK
KyAgICBpZiAobV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcikKKyAgICAgICAg
W21fYXZQbGF5ZXIgcmVtb3ZlVGltZU9ic2VydmVyOm1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVy
aW5nT2JzZXJ2ZXIuZ2V0KCldOworICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2Jz
ZXJ2ZXIgPSBuaWw7Cit9CisKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDOjpwbGF0Zm9ybUR1cmF0aW9uKCkgY29uc3QKIHsKICAgICAvLyBEbyBub3QgYXNrIHRo
ZSBhc3NldCBmb3IgZHVyYXRpb24gYmVmb3JlIGl0IGhhcyBiZWVuIGxvYWRlZCBvciBpdCB3aWxs
IGZldGNoIHRoZQpAQCAtMjU0OCw3ICsyNTkwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDOjp1cGRhdGVMYXN0SW1hZ2UoVXBkYXRlVHlwZSB0eXBlKQogICAgIC8v
IENhbGxzIHRvIGNvcHlQaXhlbEJ1ZmZlckZvckl0ZW1UaW1lOml0ZW1UaW1lRm9yRGlzcGxheTog
bWF5IHJldHVybiBuaWwgaWYgdGhlIHBpeGVsIGJ1ZmZlcgogICAgIC8vIGZvciB0aGUgcmVxdWVz
dGVkIHRpbWUgaGFzIGFscmVhZHkgYmVlbiByZXRyaWV2ZWQuIEluIHRoaXMgY2FzZSwgdGhlIGxh
c3QgdmFsaWQgaW1hZ2UgKGlmIGFueSkKICAgICAvLyBzaG91bGQgYmUgZGlzcGxheWVkLgotICAg
IGlmICghdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQ
aXhlbEJ1ZmZlcikpCisgICAgaWYgKChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHx8
ICF1cGRhdGVMYXN0UGl4ZWxCdWZmZXIoKSkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhl
bEJ1ZmZlcikpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZv
cm1lcikgewpAQCAtMjU4Myw5ICsyNjI1LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpwYWludFdpdGhWaWRlb091dHB1dChHcmFwaGljc0NvbnRleHQmIGMKIAog
UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnBpeGVsQnVmZmVyRm9yQ3VycmVudFRpbWUoKQogewotICAgIHVwZGF0ZUxhc3RQaXhl
bEJ1ZmZlcigpOwotICAgIGlmICghbV9sYXN0UGl4ZWxCdWZmZXIpCi0gICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIGlmICghbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAg
ICAgdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCk7CiAKICAgICByZXR1cm4gbV9sYXN0UGl4ZWxCdWZm
ZXI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9Q
aXhlbEJ1ZmZlckNvbmZvcm1lckNWLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKaW5kZXggYzNjNTM3Y2UyN2MwNDg4YTU4OGM0
ZDAxYjhkNTQwODg4ZGM3ZjQwNy4uY2M1NzhjNzliYjA3ZjQyOTZkNTk3Mjc4MGI2MDA5MjQ2MjAz
YjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4
ZWxCdWZmZXJDb25mb3JtZXJDVi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBQ
aXhlbEJ1ZmZlckNvbmZvcm1lckNWIHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhl
bEJ1ZmZlckNvbmZvcm1lckNWKENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJD
T1JFX0VYUE9SVCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVm
ZmVyUmVmKTsKLSAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxC
dWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CisgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENH
SW1hZ2VSZWY+IGNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYpOwog
CiBwcml2YXRlOgogICAgIFJldGFpblB0cjxWVFBpeGVsQnVmZmVyQ29uZm9ybWVyUmVmPiBtX3Bp
eGVsQ29uZm9ybWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVEZXZpY2VNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmUxMjBlNzQyNzA4ZDg2ZTMxMDVjMzEx
ZTU2NGZhOWViNzI3ZDA0Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlv
Q2FwdHVyZURldmljZU1hbmFnZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oTUFDKQotCi0jaW5j
bHVkZSAiQ2FwdHVyZURldmljZS5oIgotI2luY2x1ZGUgIkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgi
Ci0jaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRpby5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIENvcmVBdWRpb0NhcHR1
cmVEZXZpY2U7Ci0KLWNsYXNzIENvcmVBdWRpb0NhcHR1cmVEZXZpY2VNYW5hZ2VyIGZpbmFsIDog
cHVibGljIENhcHR1cmVEZXZpY2VNYW5hZ2VyIHsKLSAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0
cm95ZWQ8Q29yZUF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXI+OwotcHVibGljOgotICAgIHN0YXRp
YyBDb3JlQXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlciYgc2luZ2xldG9uKCk7Ci0KLSAgICBjb25z
dCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIGNhcHR1cmVEZXZpY2VzKCkgZmluYWw7Ci0gICAgc3Rk
OjpvcHRpb25hbDxDYXB0dXJlRGV2aWNlPiBjYXB0dXJlRGV2aWNlV2l0aFBlcnNpc3RlbnRJRChD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlLCBjb25zdCBTdHJpbmcmKTsKLQotICAgIHN0ZDo6b3B0
aW9uYWw8Q29yZUF1ZGlvQ2FwdHVyZURldmljZT4gY29yZUF1ZGlvRGV2aWNlV2l0aFVJRChjb25z
dCBTdHJpbmcmKTsKLSAgICBjb25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIHNwZWFrZXJEZXZp
Y2VzKCkgY29uc3QgeyByZXR1cm4gbV9zcGVha2VyRGV2aWNlczsgfQotCi1wcml2YXRlOgotICAg
IENvcmVBdWRpb0NhcHR1cmVEZXZpY2VNYW5hZ2VyKCkgPSBkZWZhdWx0OwotICAgIH5Db3JlQXVk
aW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpID0gZGVmYXVsdDsKLSAgICAKLSAgICBWZWN0b3I8Q29y
ZUF1ZGlvQ2FwdHVyZURldmljZT4mIGNvcmVBdWRpb0NhcHR1cmVEZXZpY2VzKCk7Ci0KLSAgICBl
bnVtIGNsYXNzIE5vdGlmeUlmRGV2aWNlc0hhdmVDaGFuZ2VkIHsgTm90aWZ5LCBEb05vdE5vdGlm
eSB9OwotICAgIHZvaWQgcmVmcmVzaEF1ZGlvQ2FwdHVyZURldmljZXMoTm90aWZ5SWZEZXZpY2Vz
SGF2ZUNoYW5nZWQpOwotICAgIHZvaWQgc2NoZWR1bGVVcGRhdGVDYXB0dXJlRGV2aWNlcygpOwot
Ci0gICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IG1fY2FwdHVyZURldmljZXM7Ci0gICAgVmVjdG9y
PENhcHR1cmVEZXZpY2U+IG1fc3BlYWtlckRldmljZXM7Ci0gICAgVmVjdG9yPENvcmVBdWRpb0Nh
cHR1cmVEZXZpY2U+IG1fY29yZUF1ZGlvQ2FwdHVyZURldmljZXM7Ci0gICAgYm9vbCBtX3dhc1Jl
ZnJlc2hBdWRpb0NhcHR1cmVEZXZpY2VzU2NoZWR1bGVkIHsgZmFsc2UgfTsKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBM
QVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCA1NjViOGIyOTNhZWNkZjVlNTFmZTVl
MTAxNmM1YjdhN2U3MzNkOGE5Li44ODEwOGNiYzUzM2MxMGM3NWUzNzBiZmNjODk4MDBhNTNjNjcy
OWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC0xMDk4LDYgKzEwOTgsMTggQEAgdm9pZCBSZW1v
dGVNZWRpYVBsYXllclByb3h5OjpwYXVzZUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQog
ICAgICAgICBtX3BsYXllci0+cGF1c2VBdEhvc3RUaW1lKHRpbWUpOwogfQogCit2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sK
KyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxheWVyLT5zdGFydFZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZygpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN0b3BW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXllcikKKyAgICAg
ICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKICNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIFdURkxvZ0NoYW5uZWwmIFJlbW90ZU1lZGlhUGxheWVy
UHJveHk6OmxvZ0NoYW5uZWwoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXggMGU5ZjNkN2Ey
MTQ1ZDc1Yjk0M2UyYjU2YTJkODBiYjgwNzNkZjllMS4uMzJmM2E0NmFhMGYwOWIxM2IwMjRlNDE2
NDA3OGE1ZGFkZGVkYzU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0zMDcsNiArMzA3LDEyIEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBwbGF5QXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKICAgICB2b2lk
IHBhdXNlQXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKIAorICAgIHZvaWQgc3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG1lZGlhUGxheWVyT25O
ZXdWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYsIFJldGFp
blB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmKTsKKyNlbmRpZgorCiAgICAgYm9vbCBtZWRpYVBsYXll
clBhdXNlZE9yU3RhbGxlZCgpIGNvbnN0OwogICAgIHZvaWQgY3VycmVudFRpbWVDaGFuZ2VkKGNv
bnN0IE1lZGlhVGltZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4
IDhlYzYwM2ZlY2MxZjE4ZDg0YzE0ZDQ3M2VhNTFhODE1MTQwN2QxMjMuLjM5Yzg3MjliMjczOWUx
MzY0NGIzMWFhODBkYmE4MGQ0YTMzMGM4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3Nh
Z2VzLmluCkBAIC0xMzIsNiArMTMyLDkgQEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eSBOb3RSZWZDb3VudGVkIHsKIAogICAgIFBsYXlBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUg
dGltZSkKICAgICBQYXVzZUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQorCisgICAgU3Rh
cnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorICAgIFN0b3BWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNv
Y29hLm1tCmluZGV4IDA4YjJmZGVmNWE0ZmNiMThhZGRiZDE2YzFmZDYwODZjMWJlOWMyN2MuLmM2
YmJhM2FhMmI0ZTU1ZmFlZmI5MzNiYmUyZTYzNTlkNzNmNjMxOTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHlDb2NvYS5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW1wb3J0ICJMYXll
ckhvc3RpbmdDb250ZXh0LmgiCiAjaW1wb3J0ICJNZWRpYVBsYXllclByaXZhdGVSZW1vdGVNZXNz
YWdlcy5oIgorI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW1wb3J0IDxRdWFy
dHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRTaXplLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgpAQCAtODMsNiArODQsMTEgQEAgdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3QgV2ViQ29yZTo6
RmxvYXRTaXplJgogICAgIHNldFZpZGVvSW5saW5lU2l6ZUlmUG9zc2libGUoKm1faW5saW5lTGF5
ZXJIb3N0aW5nQ29udGV4dCwgc2l6ZSk7CiB9CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShWaWRlb0ZyYW1lTWV0YWRhdGEm
JiBtZXRhZGF0YSwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVyKQoreworICAg
IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6UHVzaFZpZGVvRnJhbWVNZXRhZGF0YShtZXRhZGF0YSwgYnVmZmVyKSwgbV9pZCk7
Cit9CisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bmF0aXZlSW1hZ2VGb3JDdXJyZW50
VGltZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V1RGOjpNYWNoU2VuZFJp
Z2h0PiYmLCBXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIGlmICghbV9wbGF5ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0
L21lc3NhZ2VzLnB5CmluZGV4IDhiZDBkYjI5N2JmYjQwNzRmNjg5MDA0MmZjZGE0Nzg0NTBkZjA1
NjYuLjk0MDk0YjI4YmNjYzc5MzA3MTYwOTU4MjdlZTgzYTQ4MzVhYzRmZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dl
YktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtNjc4LDYgKzY3OCw3IEBAIGRlZiBo
ZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgIGhlYWRlcl9pbmZvc19hbmRfdHlwZXMgPSBjbGFz
c190ZW1wbGF0ZV9oZWFkZXJzKHR5cGUpCiAKICAgICBzcGVjaWFsX2Nhc2VzID0geworICAgICAg
ICAnQ1ZQaXhlbEJ1ZmZlclJlZic6IFsnPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4nXSwKICAgICAg
ICAgJ01hY2hTZW5kUmlnaHQnOiBbJzx3dGYvTWFjaFNlbmRSaWdodC5oPiddLAogICAgICAgICAn
SlNDOjpNZXNzYWdlTGV2ZWwnOiBbJzxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4nXSwK
ICAgICAgICAgJ0pTQzo6TWVzc2FnZVNvdXJjZSc6IFsnPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVU
eXBlcy5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDYyYjExZGY1ZWFm
YTYzNWRiZDM2YzcxMGQ5ZDZkNWY2NWQ4YzM3YzYuLjBhZjhlZTk1Yzc5YmY1NjNhODEyY2Q3Nzk4
NTU2MmEzOGFmNzZkZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTgwLDYg
KzgwLDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW1wb3J0IDxXZWJDb3Jl
L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmlkZW9MYXllck1h
bmFnZXJPYmpDLmg+CiAjZW5kaWYKIApAQCAtMTM3Nyw2ICsxMzc4LDI1IEBAIGJvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYg
dGltZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0
YWRhdGE+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9GcmFtZU1ldGFkYXRhKCkKK3sK
KyAgICBhdXRvIHZpZGVvRnJhbWVNZXRhZGF0YSA9IHN0ZDo6ZXhjaGFuZ2UobV92aWRlb0ZyYW1l
TWV0YWRhdGEsIHsgfSk7CisgICAgcmV0dXJuIHZpZGVvRnJhbWVNZXRhZGF0YTsKK30KKwordm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVy
aW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKyAg
ICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3Rh
cnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSwgbV9pZCk7Cit9CisKK3ZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sK
KyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gZmFsc2U7CisgICAgbV9waXhl
bEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YSA9IG51bGxwdHI7CisgICAgY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlN0b3BWaWRl
b0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSwgbV9pZCk7Cit9CisKIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpyZXF1ZXN0UmVzb3VyY2UoUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZp
ZXIgcmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYmIHJlcXVlc3QsIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcjo6TG9hZE9w
dGlvbnMgb3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIEFTU0VSVCghbV9tZWRpYVJlc291cmNlcy5jb250YWlucyhyZW1vdGVNZWRp
YVJlc291cmNlSWRlbnRpZmllcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXggYjVm
NWI1YmMxYzUyYTM5OWM5MWJjNTBjYmFkZjVmZWM5ZjU1NWM0MC4uNDNlZmZmMmI0ODI5ZGIwNmUz
ZmZkMjQ0YjVlMmYxYzhiOTBiMTBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBAIC0z
OSw2ICszOSw3IEBACiAjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZhdGVSZW1vdGUuaCIKICNpbmNs
dWRlIDxXZWJDb3JlL01lZGlhUGxheWVyUHJpdmF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Vj
dXJpdHlPcmlnaW5EYXRhLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9WaWRlb0ZyYW1lTWV0YWRhdGEu
aD4KICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL01lZGlhVGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC01Niw2ICs1NywxMCBAQCBzdHJ1Y3Qg
R2VuZXJpY0N1ZURhdGE7CiBjbGFzcyBJU09XZWJWVFRDdWU7CiBjbGFzcyBTZXJpYWxpemVkUGxh
dGZvcm1EYXRhQ3VlVmFsdWU7CiBjbGFzcyBWaWRlb0xheWVyTWFuYWdlcjsKKworI2lmIFBMQVRG
T1JNKENPQ09BKQorY2xhc3MgUGl4ZWxCdWZmZXJDb25mb3JtZXJDVjsKKyNlbmRpZgogfQogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQwMCw2ICs0MDUsMTQgQEAgcHJpdmF0ZToKICAgICBib29s
IHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJikgZmluYWw7CiAgICAgdm9pZCB1
cGRhdGVDb25maWd1cmF0aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYmKTsKIAor
ICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1l
TWV0YWRhdGEoKSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVy
aW5nKCkgZmluYWw7CisgICAgdm9pZCBzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkg
ZmluYWw7CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIHB1c2hWaWRlb0ZyYW1lTWV0
YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYsIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiYmKTsKKyNlbmRpZgorCiAgICAgV2Vha1B0cjxXZWJDb3JlOjpNZWRpYVBsYXllcj4g
bV9wbGF5ZXI7CiAgICAgUmVmPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcj4g
bV9tZWRpYVJlc291cmNlTG9hZGVyOwogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtNDUwLDYgKzQ2
MywxMiBAQCBwcml2YXRlOgogI2lmIFVTRShBVkZPVU5EQVRJT04pCiAgICAgUmV0YWluUHRyPENW
UGl4ZWxCdWZmZXJSZWY+IG1fcGl4ZWxCdWZmZXJGb3JDdXJyZW50VGltZTsKICNlbmRpZgorI2lm
IFBMQVRGT1JNKENPQ09BKQorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6VmlkZW9GcmFtZU1l
dGFkYXRhPiBtX3ZpZGVvRnJhbWVNZXRhZGF0YTsKKyAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZl
clJlZj4gbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4gbV9waXhlbEJ1
ZmZlckNvbmZvcm1lcjsKKyNlbmRpZgorICAgIGJvb2wgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVN
ZXRhZGF0YSB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KaW5kZXggMTE4ZTAyNWE2OWIzZmE0
MWY1NTllNWFhMGJmOThkMzc5MWJlNWRlNC4uYTYwNjAzOTBlOTA1OTA4NmRmNDUzZjc1NjFkOWY1
MTdlNmI0YWUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMu
aW4KQEAgLTkxLDYgKzkxLDEwIEBAIG1lc3NhZ2VzIC0+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZSBOb3RSZWZDb3VudGVkIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEdldFJhd0Nv
b2tpZXMoVVJMIHVybCkgLT4gKFZlY3RvcjxXZWJDb3JlOjpDb29raWU+IHJlc3VsdCkgQXN5bmMK
ICNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUHVzaFZpZGVvRnJhbWVNZXRhZGF0
YShzdHJ1Y3QgV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhIG1ldGFkYXRhLCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4gYnVmZmVyKTsKKyNlbmRpZgogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCmluZGV4IGEyZjgzNTJmYjIw
ZmJiMmEwZDYyZmFlYzU5YjJmNGE4MjY1NGJiZmYuLmMwYjc3NmRjNzczYjE3ZmE0MzBjZDU4OTY4
YjAwN2IzMWJkNzZhOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGVDb2NvYS5tbQpAQCAtMzMsOSArMzMsMTIgQEAKICNpbXBvcnQgIldlYkNvcmVBcmd1bWVudENv
ZGVycy5oIgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvclNwYWNlQ0cuaD4KICNpbXBvcnQgPFdlYkNv
cmUvSU9TdXJmYWNlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1Yu
aD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oPgogI2ltcG9ydCA8d3Rm
L01hY2hTZW5kUmlnaHQuaD4KIAorI2ltcG9ydCA8V2ViQ29yZS9Db3JlVmlkZW9Tb2Z0TGluay5o
PgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC00
Niw4ICs0OSwyNSBAQCBQbGF0Zm9ybUxheWVyQ29udGFpbmVyIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6Y3JlYXRlVmlkZW9GdWxsc2NyZWVuTGF5ZXIoKQogfQogI2VuZGlmCiAKK3ZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwdXNoVmlkZW9GcmFtZU1ldGFkYXRhKFdlYkNvcmU6OlZp
ZGVvRnJhbWVNZXRhZGF0YSYmIHZpZGVvRnJhbWVNZXRhZGF0YSwgUmV0YWluUHRyPENWUGl4ZWxC
dWZmZXJSZWY+JiYgYnVmZmVyKQoreworICAgIGlmICghbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVN
ZXRhZGF0YSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhID0gV1RG
TW92ZSh2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAgIG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhW
aWRlb0ZyYW1lTWV0YWRhdGEgPSBXVEZNb3ZlKGJ1ZmZlcik7Cit9CisKIFJlZlB0cjxOYXRpdmVJ
bWFnZT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1l
KCkKIHsKKyAgICBpZiAobV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0
YSkgeworICAgICAgICBpZiAoIW1fcGl4ZWxCdWZmZXJDb25mb3JtZXIpCisgICAgICAgICAgICBt
X3BpeGVsQnVmZmVyQ29uZm9ybWVyID0gbWFrZVVuaXF1ZTxQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
PigoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKUB7IChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVlBp
eGVsQnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5OiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEp
IH0pOworICAgICAgICBBU1NFUlQobV9waXhlbEJ1ZmZlckNvbmZvcm1lcik7CisgICAgICAgIGlm
ICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgICAgICByZXR1cm4gTmF0aXZlSW1hZ2U6OmNyZWF0ZShtX3BpeGVsQnVmZmVyQ29uZm9ybWVy
LT5jcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlk
ZW9GcmFtZU1ldGFkYXRhLmdldCgpKSk7CisgICAgfQorCiAgICAgc3RkOjpvcHRpb25hbDxNYWNo
U2VuZFJpZ2h0PiBzZW5kUmlnaHQ7CiAgICAgYXV0byBjb2xvclNwYWNlID0gRGVzdGluYXRpb25D
b2xvclNwYWNlOjpTUkdCKCk7CiAgICAgaWYgKCFjb25uZWN0aW9uKCkuc2VuZFN5bmMoTWVzc2Fn
ZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKSwg
TWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdlRm9yQ3VycmVudFRp
bWU6OlJlcGx5KHNlbmRSaWdodCwgY29sb3JTcGFjZSksIG1faWQpKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhkZTlhMjViNjBmYjQ1ZTJkZTBh
MDIyZWVkNWJiZjI3NWE4Y2U3OTYuLmM2NjJjZWI5ZWFlYWE5N2M5ZGQwMGFjZTc2ZDA4OWU4Nzdl
ODE3YzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBvcnQg
cnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMx
OTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5h
YmxlIHJ2ZmMgYnkgZGVmYXVsdCBpbiB0ZXN0IHJ1bm5lci4KKworICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcDoKKwogMjAyMS0xMS0xNCAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IGRhZW1vbiBBUEkgcmVhZHkgdG8gd29yayBpbiB0
aGUgaU9TIHNpbXVsYXRvciAoc3RhcnRpbmcgd2l0aCBXZWJQdXNoRCkKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZDIwMTA1NDFlMWI0NGIxNzRjMmUx
Y2RlNTI0NDEyNjkyNDU1YjBmLi5mMzM5YTQzMzNjMGE5MGY1YTRkZTNlZTZmN2M3MDg2ZTc2MDE4
ZmM1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC04
NjMsMTEgKzg2Myw4IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlv
bnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBXCiAgICAgICAgIFtwcmVmZXJl
bmNlcyBfcmVzZXRGb3JUZXN0aW5nXTsKIAogICAgICAgICBpZiAoZW5hYmxlQWxsRXhwZXJpbWVu
dGFsRmVhdHVyZXMpIHsKLSAgICAgICAgICAgIGZvciAoV2ViRmVhdHVyZSAqZmVhdHVyZSBpbiBb
V2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkgewotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4gRW5hYmxlIGl0IHdoZW4gdGhl
IHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4KLSAgICAgICAgICAgICAgICBh
dXRvIGVuYWJsZWQgPSBbZmVhdHVyZS5uYW1lIGlzRXF1YWw6QCJSZXF1ZXN0VmlkZW9GcmFtZUNh
bGxiYWNrIl0gPyBOTyA6IFlFUzsKLSAgICAgICAgICAgICAgICBbcHJlZmVyZW5jZXMgX3NldEVu
YWJsZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJlbmNlcyBfZXhwZXJp
bWVudGFsRmVhdHVyZXNdKQorICAgICAgICAgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5hYmxl
ZDpZRVMgZm9yRmVhdHVyZTpmZWF0dXJlXTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChwZXJz
aXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpKSB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGIwOTBiYmQzMWZmNDg2ZDE5ZDM3OWFjNDA4MjhkZjNl
ZGQwYjJkZjYuLmVkMjgwMmZiMWU3NjZkYzVkZTY3YzQ0ZDE1NzY2MTYzMmMzOTMxYTMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC05MDUsOSArOTA1LDYg
QEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVl
cyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW8KICAgICAgICAgaWYgKGVuYWJsZUFsbEV4cGVyaW1l
bnRhbEZlYXR1cmVzKQogICAgICAgICAgICAgV0tQcmVmZXJlbmNlc0VuYWJsZUFsbEV4cGVyaW1l
bnRhbEZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAotICAgICAgICAvLyBGSVhNRTogV2UgZGlzYWJs
ZSBydmZjIGJ5IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2aWRlbyBiYWNrZW5kIHN1cHBv
cnQgaXMgZ29vZCBlbm91Z2guCi0gICAgICAgIFdLUHJlZmVyZW5jZXNTZXRSZXF1ZXN0VmlkZW9G
cmFtZUNhbGxiYWNrRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwotCiAgICAgICAgIFdLUHJl
ZmVyZW5jZXNSZXNldEFsbEludGVybmFsRGVidWdGZWF0dXJlcyhwcmVmZXJlbmNlcyk7CiAKICAg
ICAgICAgV0tQcmVmZXJlbmNlc1NldFByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uRW5hYmxlZChwcmVm
ZXJlbmNlcywgb3B0aW9ucy5zaG91bGRFbmFibGVQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbigpKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxNTRkMDBlMmFmNzE2ZWUyZDIyNTA4ZDY3NDBjODAzY2M3Y2NlOGU5Li45MjU3ZTY3
ZGMyZjNjN2U0OGUxZGRhMGE1OTFiZjEyMjM0MDNjMGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjEtMTEtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAg
IE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9U
ZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjEtMTEtMTQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgRmluZ2VycyBkb3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBhbiBhbmltYXRlZCBz
Y3JvbGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlmOGM5OTAzODZlMTI5MTcw
YjhiMWE2YTljMGY2MTRhNDZiMWRiNjkuLjRhMDE3OGNjOWRhYTdiOTkwYTE3Nzg2MDc2M2UwNTE4
MzI2MzZmMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0
LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay5odG1sOgorCiAyMDIxLTExLTE0ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW9kYWwgZGlhbG9ncyBzaG91bGQgbWFrZSB0aGUgcm9vdCBlbGVtZW50IHVuZm9jdXNh
YmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dAppbmRleCA2
NjM5ZDRmMjg4NWUxZjk3NjQ4ZDUwNTQ3NzBlYWZlYjQzMmRjNTBkLi43ZTVjNDg2MjA0NTM0Nzk0
Mzk0MWJjY2M1ZDRiZWU3NjYyMWE2MjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1kb20tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LWRvbS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgYSB2aWRlbyBvdXRzaWRlIG9mIHRo
ZSBET00gY2FuIHN0aWxsIHVzZSB2aWRlby5yVkZDLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBU
ZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25lIi4gVGVzdCB0aW1lZCBvdXQK
LVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggInZpc2liaWxpdHk6aGlkZGVuIi4g
VGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBhIHZpZGVvIG91dHNpZGUgb2YgdGhlIERPTSBjYW4g
c3RpbGwgdXNlIHZpZGVvLnJWRkMuCitQQVNTIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJk
aXNwbGF5Om5vbmUiLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAidmlzaWJpbGl0
eTpoaWRkZW4iLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXgg
Y2E3Y2IzZTk0Y2RmYjI1MjU4YjlkOTliNGY0ZDQ3ZWRhMGU3NzIxNi4uY2Q3OTYxMjA1NTE3MTY4
YjU0M2JmNTliYmUwZmFlMjY5ZmUwYmQxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dApAQCAtMSwxMCArMSw4IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCks
IG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRlby5y
VkZDIGNhbGxiYWNrLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMgY2Fs
bGJhY2tzIHJ1biBiZWZvcmUgd2luZG93LnJBRiBjYWxsYmFja3MuIFRlc3QgdGltZWQgb3V0Ci1U
SU1FT1VUIFRlc3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4gVGVzdCB0aW1l
ZCBvdXQKK1BBU1MgVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRlby5yVkZDIGNhbGxiYWNrLgor
UEFTUyBUZXN0IHZpZGVvLnJWRkMgY2FsbGJhY2tzIHJ1biBiZWZvcmUgd2luZG93LnJBRiBjYWxs
YmFja3MuCitQQVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4KIFBB
U1MgVGVzdCBpbnZhbGlkIGNhbGxzIHRvIHRoZSB2aWRlby5yVkZDIEFQSS4KLVRJTUVPVVQgVGVz
dCB2aWRlby5yVkZDIGRvZXMgbm90IHN0b3Agd2hlbiBzd2l0Y2hpbmcgc291cmNlcy4gVGVzdCB0
aW1lZCBvdXQKK1BBU1MgVGVzdCB2aWRlby5yVkZDIGRvZXMgbm90IHN0b3Agd2hlbiBzd2l0Y2hp
bmcgc291cmNlcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFy
YWxsZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwt
ZXhwZWN0ZWQudHh0CmluZGV4IDZmZTY4NGFlOGU2NmRhYjhjY2U2OGQyMjc1MzU5NWE4NDQ4YzZi
OTAuLjMyYjk5YWVkNTQ1N2RmYTFiZjJhOTE2MzMxZDI2ZjFlZDlkOWI1ZDAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQKQEAgLTEsNyAr
MSw1IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJ
TUVPVVQgVGVzdCBjYWxsYmFja3MgZ2V0IHRoZSBzYW1lIGluZm9ybWF0aW9uLiBUZXN0IHRpbWVk
IG91dAotVElNRU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwgY2FsbGJhY2tzIGZyb20gY2FsbGJhY2tz
LiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5mb3Jt
YXRpb24uCitQQVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBjYWxsYmFja3MgZnJvbSBjYWxsYmFja3Mu
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQu
dHh0CmluZGV4IGI0YTViZTNkZDI1MTJiODVjMzg1NTViOGYzY2U3MDM2NzhlZDRkZmQuLmE2MzFh
MTc2YmQ1OWI2ZGYxYzQ1NTZkM2NkYjExNDVkM2M2OTU4NjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAK
IAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBU
ZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRoZSBuZXh0IGZyYW1lLiBUZXN0
IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IGNoYWluaW5nIGNhbGxzIHRvIHZpZGVvLnJWRkMsIGFu
ZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRl
c3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24gdGhlIG5leHQgZnJhbWUuCitGQUlM
IFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5kIHZlcmlmeSB0aGUgcmVxdWly
ZWQgcGFyYW1ldGVycy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcHJlc2VudGF0aW9uVGltZSBzaG91
bGQgYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3Qg
YSAidW5kZWZpbmVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbAppbmRleCBhNDQwNDE0M2ZhNDA4
ZWJiYjhmNDljYzMxODBlMDY1ZDIwMGZmYTRhLi40N2ExMDllODIyYWJkNGVlZWIzNWNiNDEyYjQ0
MDllZGRhMGIzMzQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwKQEAgLTEwNSw2ICsxMDUsNyBA
QCB0ZXN0KGZ1bmN0aW9uKHQpIHsKIAogcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsK
ICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworICAgIHZp
ZGVvLmF1dG9wbGF5ID0gdHJ1ZTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVv
KTsKIAogICAgIGxldCBmaXJzdF93aWR0aCA9IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjhhYWRiOTk2Zjc3OThiNjUwNTkyMTdlNjVm
NDYxMjMzZjk2M2MwZi4uMzY0ZGU3MDdmMWY1ZjVjOTdiYTAwMTAwNDRkNjQzYmI2YzI3OGUzZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTQzLDEzICsxNDMsOSBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY25hbWUt
Y2xvYWtpbmctdG9wLW5vLWNuYW1lLXN1Yi1uby1jbmFtZS5odG1sCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KIGZhc3QvbWVkaWFzdHJlYW0vZ2V0
VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3MgXQogd2VicnRjL3BlZXJDb25uZWN0aW9uLXJ2ZmMu
aHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCByZWd1bGFyIHZp
ZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBvcnQuCisjIFRpbWluZyBvdXQgdGVzdHMgdW50aWwg
d2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZvcmUteHItc2Vzc2lvbi5odHRw
cy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2
ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbCBbIFNraXAgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0
bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KIAogIy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3Jp
ZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMWRmOTVkMDUzMzUzMDY1MzkyNzNlMjAxMzkxZjMwZjRjZWYyZGQ0OC4uMWNiYzRlYzQ1MjUz
NTJiYzQ0OGE5NmU2YWFhYmQ4MzJiZWExNjQzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzMsNiArMzMsMTEgQEAgaHR0cC90ZXN0cy9z
ZWN1cml0eS94c3MtREVOSUVELXhzbC1leHRlcm5hbC1lbnRpdHktbm8tbG9nZ2luZy54bWwgWyBQ
YXNzIF0KICMgcmRhcjovL3Byb2JsZW0vNjE3OTM4ODQgOiBFbmFibGluZyB0aGlzIHRlc3QgZm9y
IFdLMSBvbmx5LgogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lk
ZS1pbWFnZWRhdGEtb3ZlcmZsb3cuaHRtbCBbIFBhc3MgXQogCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KKyMgVGltaW5nIG91dCB0ZXN0cyB1bnRp
bCB3ZSBhZGQgWFIgc2Vzc2lvbi4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlk
ZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14ci1zZXNzaW9uLmh0
dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9uLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBF
bmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggMzIyYTViZWQ5YTZlMzEyM2Y3YzRjNGFlMGE0OGQ4NWJhM2Y5YWRiZC4uMmZk
MDc0YTFhY2Q4M2E5YzA2NzdkYTBlZWI0MmUwN2NkNjRiNDZmZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIyLDEzICsxMjIsOSBAQCBz
dG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS10cmFuc2FjdGlvbi1jeWNsZS5odG1sIFsgUGFzcyBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KIGZh
c3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3MgXQogd2VicnRjL3Bl
ZXJDb25uZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGls
IHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBvcnQuCisjIFRpbWlu
ZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZv
cmUteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRt
bCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBTa2lw
IF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0t
c3BlY2lmaWMgZGlyZWN0b3JpZXMuCg==
</data>
<flag name="commit-queue"
          id="469224"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444251</attachid>
            <date>2021-11-15 06:38:36 -0800</date>
            <delta_ts>2021-11-15 08:36:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211115153834.patch</filename>
            <type>text/plain</type>
            <size>44215</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMjdhNzIwZDEzN2YxMGU1YzczZGIwNDU0ZWY1Nzlj
NzNkOWFjMGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaDoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9w
IGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdm
MWFhMjRlYmRkYTNjZWRkLi43M2U0NTFlYzFlMjZkNmMzYjYyZWY1NDJjNjZhOTgwNWFiMWMzODIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3MzcyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHN0YXJ0L3N0b3AgbWV0YWRhdGEgZ2F0aGVyaW5nIGZyb20gV2ViUHJvY2VzcyB0byBH
UFVQcm9jZXNzLgorICAgICAgICBBZGQgSVBDIG1lc3NhZ2luZyB0byBwdXNoIG1ldGFkYXRhIHRv
IFdlYlByb2Nlc3MsIGluY2x1ZGluZyBzZW5kaW5nIHRoZSBjb3JyZXNwb25kaW5nIENWUGl4ZWxC
dWZmZXIgZm9yIHRoZSBjdXJyZW50IG1ldGFkYXRhLgorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUgd2lsbCB0aGVuIHNlcnZlIHRoYXQgYnVmZmVyIHdoZW4gYmVpbmcgcmVxdWVzdGVk
IHRoZSBjdXJyZW50IGltYWdlLgorICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCBwYWludGluZyBv
biBhIGNhbnZhcyBkb2VzIG5vdCBtYXJrIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyBhY3F1aXJlZCwg
d2hpY2ggd291bGQgdGhlbiBza2lwIHRoZSB2aWRlbyBmcmFtZSBtZXRhZGF0YSBnYXRoZXJpbmcu
CisgICAgICAgIFRoaXMgYWxzbyBlbnN1cmVzIHRoZSBzYW1lIGJ1ZmZlciBpcyB1c2VkIGlmIGEg
dmlkZW8gZWxlbWVudCBpcyBwYWludGVkIHNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBzYW1lIHJ2
ZmMgY2FsbGJhY2suCisgICAgICAgIFRoaXMgaGFzIHRoZSBzaWRlIGJlbmVmaXQgb2YgcmVtb3Zp
bmcgdGhlIHN5bmNocm9ub3VzIElQQyB0byBwYWludCB0aGUgdmlkZW8gZWxlbWVudCBpbiBhIGNh
bnZhcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIxLTExLTE0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSBy
ZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAyZWNiZjVkYmFhZGVk
NDJlNzc5MDQ0MDVhYzAxMzFlMzhmYzI5YmU3Li42OTU2Njk0OTYzMTBlZjkxMDhiOTU2ZmRhNDgy
MTQzMDE0OTcwZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
NjQxLDYgKzY0MSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldENoYW5naW5nVmlkZW9GdWxs
c2NyZWVuTW9kZShib29sIHZhbHVlKSB7IG1fY2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlID0g
dmFsdWU7IH0KICAgICBib29sIGlzQ2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlKCkgY29uc3Qg
eyByZXR1cm4gbV9jaGFuZ2luZ1ZpZGVvRnVsbHNjcmVlbk1vZGU7IH0KIAorcHJvdGVjdGVkOgor
ICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgb3ZlcnJpZGU7CisKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIApAQCAtNjkyLDcgKzY5NSw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBtZWRpYVBsYXllclNpemVDaGFuZ2VkKCkgZmluYWw7CiAgICAgdm9pZCBt
ZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKCkgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBs
YXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkgZmluYWw7Ci0gICAgdm9pZCBtZWRp
YVBsYXllckVuZ2luZVVwZGF0ZWQoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyV2lsbElu
aXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQgbWVkaWFQbGF5ZXJEaWRJbml0
aWFsaXplTWVkaWFFbmdpbmUoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyUmVsb2FkQW5k
UmVzdW1lUGxheWJhY2tJZk5lZWRlZCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZp
ZGVvRWxlbWVudC5jcHAKaW5kZXggYmIwNWUyNzYxZjgyZGM5ZGUzMTFkNGNiYTIzNDc5NTE2OTA5
YzMyOS4uZDc2OWU1M2FlYjFlMThhN2Q5NzFhNjM2ZTE5ZDJiZTA1NjJmZTU3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC01ODgsNiArNTg4LDkgQEAgdm9p
ZCBIVE1MVmlkZW9FbGVtZW50OjpleGl0VG9GdWxsc2NyZWVuTW9kZVdpdGhvdXRBbmltYXRpb25J
ZlBvc3NpYmxlKEhUTUxNZWRpYUUKIAogdW5zaWduZWQgSFRNTFZpZGVvRWxlbWVudDo6cmVxdWVz
dFZpZGVvRnJhbWVDYWxsYmFjayhSZWY8VmlkZW9GcmFtZVJlcXVlc3RDYWxsYmFjaz4mJiBjYWxs
YmFjaykKIHsKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBsYXll
cigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmco
KTsKKwogICAgIGF1dG8gaWRlbnRpZmllciA9ICsrbV9uZXh0VmlkZW9GcmFtZVJlcXVlc3RJbmRl
eDsKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5hcHBlbmQobWFrZVVuaXF1ZVJlZjxWaWRlb0Zy
YW1lUmVxdWVzdD4oaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpKTsKIApAQCAtNjA3LDYg
KzYxMCw5IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNr
KHVuc2lnbmVkIGlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV92aWRl
b0ZyYW1lUmVxdWVzdHMucmVtb3ZlKGluZGV4KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1
ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiB9CiAKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6c2Vy
dmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNvbHV0aW9uU2Vjb25kcyBu
b3cpCkBAIC02MjcsMTMgKzYzMywyMyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZAogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsYmFja0NvdW50OyArK2luZGV4KSB7CiAg
ICAgICAgIGF1dG8mIHJlcXVlc3QgPSBtX3ZpZGVvRnJhbWVSZXF1ZXN0c1tpbmRleF07CiAgICAg
ICAgIGlmICghcmVxdWVzdC0+Y2FuY2VsbGVkKSB7Ci0gICAgICAgICAgICByZXF1ZXN0LT5jYWxs
YmFjay0+aGFuZGxlRXZlbnQobm93LnZhbHVlKCksICp2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAg
ICAgICAgICAgcmVxdWVzdC0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0ZDo6cm91bmQobm93Lm1p
bGxpc2Vjb25kcygpKSwgKnZpZGVvRnJhbWVNZXRhZGF0YSk7CiAgICAgICAgICAgICByZXF1ZXN0
LT5jYW5jZWxsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQogICAgIG1faXNSdW5uaW5nVmlk
ZW9GcmFtZVJlcXVlc3RzID0gZmFsc2U7CiAKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1v
dmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2FsbGJhY2stPmNhbmNl
bGxlZDsgfSk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBs
YXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworfQorCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZCgpCit7CisgICAgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7
CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisg
ICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1Yjhj
N2FlMDBjNGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLjg1NmFkZWE3OGZiNzM5OGQ4ZmI0NWY0NDhh
MzU5MWJkYTU1Zjk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBA
IC0xNDEsNiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpN
ZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIG1lZGlhUGxheWVy
RW5naW5lVXBkYXRlZCgpIGZpbmFsOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxJbWFnZUxv
YWRlcj4gbV9pbWFnZUxvYWRlcjsKIAogICAgIEF0b21TdHJpbmcgbV9kZWZhdWx0UG9zdGVyVVJM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAppbmRleCA4
ZmQ5YTQ3MDAyNDhkNGQyNzhkY2UyNzQ5NzgzNjBhNTdiYWY1OWVhLi45NGRkZjBlZjBmNjExMzVi
ZDliNjg5MDhiODExNTZmYmJiZGYyM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaApAQCAtNDMsOCArNDMsNzMgQEAgc3RydWN0IFZpZGVvRnJhbWVN
ZXRhZGF0YSB7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNhcHR1cmVUaW1lOwogICAgIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiByZWNlaXZlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPiBydHBUaW1lc3RhbXA7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
IAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2b2lkIFZpZGVvRnJhbWVNZXRhZGF0
YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBwcmVz
ZW50YXRpb25UaW1lIDw8IGV4cGVjdGVkRGlzcGxheVRpbWUgPDwgd2lkdGggPDwgaGVpZ2h0IDw8
IG1lZGlhVGltZSA8PCBwcmVzZW50ZWRGcmFtZXMgPDwgcHJvY2Vzc2luZ0R1cmF0aW9uIDw8IGNh
cHR1cmVUaW1lIDw8IHJlY2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
VmlkZW9GcmFtZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBkZWNvZGVyID4+IHByZXNl
bnRhdGlvblRpbWU7CisgICAgaWYgKCFwcmVzZW50YXRpb25UaW1lKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgZGVjb2RlciA+PiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGlmICghZXhw
ZWN0ZWREaXNwbGF5VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAg
aWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdodDsKKyAgICBpZiAo
IWhlaWdodCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBtZWRpYVRpbWU7CisgICAgZGVjb2RlciA+PiBtZWRpYVRpbWU7CisgICAgaWYg
KCFtZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBwcmVzZW50ZWRGcmFtZXM7CisgICAgZGVjb2RlciA+PiBwcmVzZW50
ZWRGcmFtZXM7CisgICAgaWYgKCFwcmVzZW50ZWRGcmFtZXMpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJv
Y2Vzc2luZ0R1cmF0aW9uOworICAgIGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGlmICghcHJvY2Vzc2luZ0R1cmF0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IGNhcHR1cmVUaW1lOwor
ICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAgaWYgKCFjYXB0dXJlVGltZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25h
bDxkb3VibGU+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2VpdmVUaW1lOworICAg
IGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1lc3RhbXA7CisgICAg
ZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3RhbXApCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9GcmFtZU1ldGFkYXRhIHsg
KnByZXNlbnRhdGlvblRpbWUsICpleHBlY3RlZERpc3BsYXlUaW1lLCAqd2lkdGgsICpoZWlnaHQs
ICptZWRpYVRpbWUsICpwcmVzZW50ZWRGcmFtZXMsICpwcm9jZXNzaW5nRHVyYXRpb24sICpjYXB0
dXJlVGltZSwgKnJlY2VpdmVUaW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCBhNDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQx
NzA2NTk2Li43NWQ0OTUzNGY0ZDFiNzlkYjZkZTcwZGJkODMwNmE3NDI3Y2Q0MjBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01
OTAsNiArNTkwLDggQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUo
Y29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJp
dmF0ZS0+c2V0UGFnZUlzVmlzaWJsZShtX3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYg
KG1fdmlzaWJsZUluVmlld3BvcnQpCiAgICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNp
YmxlSW5WaWV3cG9ydChtX3Zpc2libGVJblZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0
ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1fcHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJl
c2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJlcGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTE3MjEsNiArMTcyMywyNSBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
TWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxz
ZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30K
KworI2lmIFBMQVRGT1JNKENPQ09BKQordm9pZCBNZWRpYVBsYXllcjo6b25OZXdWaWRlb0ZyYW1l
TWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllck9uTmV3Vmlk
ZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1ZmZlcikpOworfQor
I2VuZGlmCisKIFN0cmluZyBNZWRpYVBsYXllcjo6ZWxlbWVudElkKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJFbGVtZW50SWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDViMWUxNzQ1MTNlMDZmYTAx
ZDUxOTBiNTVlNTA1MzU1NWVmZDc2MzcuLjAwNDViNTRmNTA0ODIwMzNkNGY4ZjM0YzZjZDY1ZTNk
OTA5YTczMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMjg2LDYgKzI4NiwxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFQbGF5ZXJRdWV1ZVRhc2tPbkV2ZW50TG9vcChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykg
eyBjYWxsT25NYWluVGhyZWFkKFdURk1vdmUodGFzaykpOyB9CiAKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShW
aWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpIHsgfQor
I2VuZGlmCisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB2aXJ0dWFsIGNvbnN0IHZv
aWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSA9IDA7CkBAIC01ODQsNiAr
NTg4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRleHRUcmFjayhJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlJik7CiAgICAgdm9pZCByZW1vdmVWaWRlb1RyYWNrKFZpZGVvVHJhY2tQcml2YXRl
Jik7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFk
YXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7
CisjZW5kaWYKKwogICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbigpIGNv
bnN0OwogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24qKTsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKQEAgLTY4MSw2ICs2
ODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNNZWRpYUVuZ2luZSgpIGNvbnN0OwogCiAgICAg
c3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpOwor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0
b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYVBs
YXllcihNZWRpYVBsYXllckNsaWVudCYpOwpAQCAtNzI1LDYgKzczNSw3IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiAgICAgYm9vbCBtX3Nob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQgeyBmYWxzZSB9Owog
I2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2Ug
fTsKIH07CiAKIGNsYXNzIE1lZGlhUGxheWVyRmFjdG9yeSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY1YTQw
YWJjOGE3OWE2Y2UwNjRiNzAyY2RkMGM5YTlhYTY2M2RkMzkuLmNmNDYzMTJjNTJhOTg3MmJjMDQ1
YWQxZDQyMmFmNDhiMTAwOGNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGlt
ZSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8VmlkZW9G
cmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSB7IHJldHVybiB7IH07IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIHsgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDU5ZWNhNDUxMzRmZTZmNDA1OTkwMmUyMWNlN2U3
ZTVhZGU4MGJmYTIuLmNkMWJhZjZlNDhjZGQwYjVlNmVhOWI0YTZiOTJjZDVmN2Y2OGU5MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTM0Miw2ICszNDIsMTEgQEAgcHJpdmF0ZToKICAgICBi
b29sIHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJikgZmluYWw7CiAgICAgYm9v
bCBoYXZlQmVlbkFza2VkVG9QYWludCgpIGNvbnN0IHsgcmV0dXJuIG1faGF2ZUJlZW5Bc2tlZFRv
UGFpbnQ7IH0KIAorICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBm
aW5hbDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsK
KyAgICBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFkYXRh
KCkgZmluYWwgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX3ZpZGVvRnJhbWVNZXRhZGF0YSwgeyB9
KTsgfQorICAgIHZvaWQgY2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKTsKKwogICAgIFJldGFp
blB0cjxBVlVSTEFzc2V0PiBtX2F2QXNzZXQ7CiAgICAgUmV0YWluUHRyPEFWUGxheWVyPiBtX2F2
UGxheWVyOwogICAgIFJldGFpblB0cjxBVlBsYXllckl0ZW0+IG1fYXZQbGF5ZXJJdGVtOwpAQCAt
NDUxLDYgKzQ1NiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXZlUHJvY2Vzc2VkQ2hhcHRl
clRyYWNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3dhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0
YVdpbGxDaGFuZ2VUaW1lZE91dCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhdmVCZWVuQXNrZWRU
b1BhaW50IHsgZmFsc2UgfTsKKyAgICB1aW50NjRfdCBtX3NhbXBsZUNvdW50IHsgMCB9OworICAg
IFJldGFpblB0cjxpZD4gbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcjsKKyAg
ICBib29sIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgeyBmYWxzZSB9OworICAgIHN0
ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBtX3ZpZGVvRnJhbWVNZXRhZGF0YTsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDRkODYxMTNiY2JlNDY5ZWM2ZTAyNTc5
MTAyZDExMGVhOTMwMTAwOTYuLmQ0YWQxOGUwMzJiODIwNjNiOWFiYzk2ZGY2NzQxYTYxMjkwYmMx
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMTEwOCw2ICsxMTA4LDggQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVlBsYXllcigpCiAgICAg
ICAgIH0pOwogICAgIH1dOwogCisgICAgaWYgKG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRh
dGEpCisgICAgICAgIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiAgICAgc2V0
RGVsYXlDYWxsYmFja3MoZmFsc2UpOwogfQogCkBAIC0xNDMzLDYgKzE0MzUsNDYgQEAgYm9vbCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybVBhdXNlZCgpIGNvbnN0
CiAgICAgcmV0dXJuIG1fY2FjaGVkVGltZUNvbnRyb2xTdGF0dXMgPT0gQVZQbGF5ZXJUaW1lQ29u
dHJvbFN0YXR1c1BhdXNlZDsKIH0KIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDOjpzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCit7CisgICAgQVNTRVJU
KCFtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyIHx8IG1fYXZQbGF5ZXIpOwor
ICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSB0cnVlOworCisgICAgLy8gRklY
TUU6IFdlIHNob3VsZCB1c2UgYSBDQURpc3BsYXlMaW5rIHRvIGdldCB1cGRhdGVzIG9uIHJlbmRl
cmluZywgZm9yIG5vdyB3ZSBlbXVsYXRlIHdpdGggYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJ
bnRlcnZhbC4KKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gW21f
YXZQbGF5ZXIgYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDpQQUw6OkNNVGltZU1h
a2UoMSwgNjApIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpbd2Vh
a1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0oQ01UaW1lKSB7CisgICAgICAgIGVuc3VyZU9uTWFp
blRocmVhZChbd2Vha1RoaXNdIHsKKyAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAg
ICAgICAgICB3ZWFrVGhpcy0+Y2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKTsKKyAgICAgICAg
fSk7CisgICAgfV07Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKQoreworICAgIGlmICghdXBkYXRlTGFzdFBp
eGVsQnVmZmVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFZpZGVvRnJhbWVNZXRhZGF0YSBt
ZXRhZGF0YTsKKyAgICBtZXRhZGF0YS53aWR0aCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS53
aWR0aCgpOworICAgIG1ldGFkYXRhLmhlaWdodCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS5o
ZWlnaHQoKTsKKyAgICBtZXRhZGF0YS5wcmVzZW50ZWRGcmFtZXMgPSArK21fc2FtcGxlQ291bnQ7
CisgICAgbWV0YWRhdGEucHJlc2VudGF0aW9uVGltZSA9IFBBTDo6Q01UaW1lR2V0U2Vjb25kcyhb
bV9hdlBsYXllckl0ZW0gY3VycmVudFRpbWVdKSAqIDEwMDA7CisKKyAgICBtX3ZpZGVvRnJhbWVN
ZXRhZGF0YSA9IG1ldGFkYXRhOworICAgIHBsYXllcigpLT5vbk5ld1ZpZGVvRnJhbWVNZXRhZGF0
YShXVEZNb3ZlKG1ldGFkYXRhKSwgbV9sYXN0UGl4ZWxCdWZmZXIuZ2V0KCkpOworfQorCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnN0b3BWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBm
YWxzZTsKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YSA9IHsgfTsKKworICAgIEFTU0VSVChtX3Zp
ZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyKTsKKyAgICBpZiAobV92aWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcikKKyAgICAgICAgW21fYXZQbGF5ZXIgcmVtb3ZlVGlt
ZU9ic2VydmVyOm1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIuZ2V0KCldOwor
ICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIgPSBuaWw7Cit9CisKIE1l
ZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0
aW9uKCkgY29uc3QKIHsKICAgICAvLyBEbyBub3QgYXNrIHRoZSBhc3NldCBmb3IgZHVyYXRpb24g
YmVmb3JlIGl0IGhhcyBiZWVuIGxvYWRlZCBvciBpdCB3aWxsIGZldGNoIHRoZQpAQCAtMjU0OCw3
ICsyNTkwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp1cGRh
dGVMYXN0SW1hZ2UoVXBkYXRlVHlwZSB0eXBlKQogICAgIC8vIENhbGxzIHRvIGNvcHlQaXhlbEJ1
ZmZlckZvckl0ZW1UaW1lOml0ZW1UaW1lRm9yRGlzcGxheTogbWF5IHJldHVybiBuaWwgaWYgdGhl
IHBpeGVsIGJ1ZmZlcgogICAgIC8vIGZvciB0aGUgcmVxdWVzdGVkIHRpbWUgaGFzIGFscmVhZHkg
YmVlbiByZXRyaWV2ZWQuIEluIHRoaXMgY2FzZSwgdGhlIGxhc3QgdmFsaWQgaW1hZ2UgKGlmIGFu
eSkKICAgICAvLyBzaG91bGQgYmUgZGlzcGxheWVkLgotICAgIGlmICghdXBkYXRlTGFzdFBpeGVs
QnVmZmVyKCkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCisgICAgaWYg
KChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHx8ICF1cGRhdGVMYXN0UGl4ZWxCdWZm
ZXIoKSkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikgewpAQCAtMjU4Myw5ICsy
NjI1LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludFdp
dGhWaWRlb091dHB1dChHcmFwaGljc0NvbnRleHQmIGMKIAogUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBpeGVsQnVmZmVyRm9y
Q3VycmVudFRpbWUoKQogewotICAgIHVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpOwotICAgIGlmICgh
bV9sYXN0UGl4ZWxCdWZmZXIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV9p
c0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgdXBkYXRlTGFzdFBpeGVsQnVm
ZmVyKCk7CiAKICAgICByZXR1cm4gbV9sYXN0UGl4ZWxCdWZmZXI7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNW
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZv
cm1lckNWLmgKaW5kZXggYzNjNTM3Y2UyN2MwNDg4YTU4OGM0ZDAxYjhkNTQwODg4ZGM3ZjQwNy4u
Y2M1NzhjNzliYjA3ZjQyOTZkNTk3Mjc4MGI2MDA5MjQ2MjAzYjZiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29u
Zm9ybWVyQ1YuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
IHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWKENG
RGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKLSAgICBSZXRhaW5Q
dHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJl
Zik7CisgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdl
RnJvbVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYpOwogCiBwcml2YXRlOgogICAgIFJldGFp
blB0cjxWVFBpeGVsQnVmZmVyQ29uZm9ybWVyUmVmPiBtX3BpeGVsQ29uZm9ybWVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuY3BwCmluZGV4IDU2NWI4YjI5M2FlY2RmNWU1MWZlNWUxMDE2YzViN2E3ZTczM2Q4YTku
Ljg4MTA4Y2JjNTMzYzEwYzc1ZTM3MGJmY2M4OTgwMGE1M2M2NzI5YWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHAKQEAgLTEwOTgsNiArMTA5OCwxOCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OnBhdXNlQXRIb3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgICAgIG1fcGxheWVyLT5w
YXVzZUF0SG9zdFRpbWUodGltZSk7CiB9CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXllcikK
KyAgICAgICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9
CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdh
dGhlcmluZygpCit7CisgICAgaWYgKG1fcGxheWVyKQorICAgICAgICBtX3BsYXllci0+c3RhcnRW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30KKwogI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAogV1RGTG9nQ2hhbm5lbCYgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9nQ2hhbm5lbCgp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuaAppbmRleCAwZTlmM2Q3YTIxNDVkNzViOTQzZTJiNTZhMmQ4
MGJiODA3M2RmOWUxLi4zMmYzYTQ2YWEwZjA5YjEzYjAyNGU0MTY0MDc4YTVkYWRkZWRjNTRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5LmgKQEAgLTMwNyw2ICszMDcsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBs
YXlBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUpOwogICAgIHZvaWQgcGF1c2VBdEhvc3RUaW1lKE1v
bm90b25pY1RpbWUpOwogCisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworI2lmIFBM
QVRGT1JNKENPQ09BKQorICAgIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0
YShXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJS
ZWY+JiYpOworI2VuZGlmCisKICAgICBib29sIG1lZGlhUGxheWVyUGF1c2VkT3JTdGFsbGVkKCkg
Y29uc3Q7CiAgICAgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQoY29uc3QgTWVkaWFUaW1lJik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOGVjNjAzZmVjYzFmMThkODRj
MTRkNDczZWE1MWE4MTUxNDA3ZDEyMy4uMzljODcyOWIyNzM5ZTEzNjQ0YjMxYWE4MGRiYTgwZDRh
MzMwYzhhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTEzMiw2ICsx
MzIsOSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQg
ewogCiAgICAgUGxheUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQogICAgIFBhdXNlQXRI
b3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCisKKyAgICBTdGFydFZpZGVvRnJhbWVNZXRhZGF0
YUdhdGhlcmluZygpCisgICAgU3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCiB9CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29h
L1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0KaW5kZXggMDhiMmZk
ZWY1YTRmY2IxOGFkZGJkMTZjMWZkNjA4NmMxYmU5YzI3Yy4uYzZiYmEzYWEyYjRlNTVmYWVmYjkz
M2JiZTJlNjM1OWQ3M2Y2MzE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29h
Lm1tCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIK
ICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisjaW1wb3J0ICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFNpemUuaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJm
YWNlLmg+CkBAIC04Myw2ICs4NCwxMSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNl
dFZpZGVvSW5saW5lU2l6ZUZlbmNlZChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmCiAgICAgc2V0
VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZSgqbV9pbmxpbmVMYXllckhvc3RpbmdDb250ZXh0LCBz
aXplKTsKIH0KIAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck9uTmV3
VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmIG1ldGFkYXRhLCBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIpCit7CisgICAgbV93ZWJQcm9jZXNzQ29ubmVj
dGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpQdXNoVmlkZW9G
cmFtZU1ldGFkYXRhKG1ldGFkYXRhLCBidWZmZXIpLCBtX2lkKTsKK30KKwogdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXVEY6Ok1hY2hTZW5kUmlnaHQ+JiYsIFdlYkNvcmU6OkRl
c3RpbmF0aW9uQ29sb3JTcGFjZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFt
X3BsYXllcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNz
YWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXgg
OGJkMGRiMjk3YmZiNDA3NGY2ODkwMDQyZmNkYTQ3ODQ1MGRmMDU2Ni4uZDFkODZjY2Q1ZTA1NzUz
ODk1NDM0MWJiNWY4ZjA5NmE5YmVkMzA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0
L21lc3NhZ2VzLnB5CkBAIC0zNzAsOCArMzcwLDkgQEAgZGVmIGNvbmRpdGlvbnNfZm9yX2hlYWRl
cihoZWFkZXIpOgogICAgICAgICAnIkxheWVySG9zdGluZ0NvbnRleHQuaCInOiBbIlBMQVRGT1JN
KENPQ09BKSIsIF0sCiAgICAgICAgICciR2VzdHVyZVR5cGVzLmgiJzogWyJQTEFURk9STShJT1Nf
RkFNSUxZKSJdLAogICAgICAgICAnIldDTGF5ZXJUcmVlSG9zdElkZW50aWZpZXIuaCInOiBbIlVT
RShHUkFQSElDU19MQVlFUl9XQykiXSwKLSAgICAgICAgJzxXZWJDb3JlL01lZGlhUGxheWJhY2tU
YXJnZXRDb250ZXh0Lmg+JzogWyJFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSJdLAor
ICAgICAgICAnPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4nOiBbIlBMQVRGT1JNKENPQ09BKSIsIF0s
CiAgICAgICAgICc8V2ViQ29yZS9EYXRhRGV0ZWN0b3JUeXBlLmg+JzogWyJFTkFCTEUoREFUQV9E
RVRFQ1RJT04pIl0sCisgICAgICAgICc8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4
dC5oPic6IFsiRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkiXSwKICAgICB9CiAgICAg
aWYgbm90IGhlYWRlciBpbiBjb25kaXRpb25zOgogICAgICAgICByZXR1cm4gTm9uZQpAQCAtNjc4
LDYgKzY3OSw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgIGhlYWRlcl9pbmZv
c19hbmRfdHlwZXMgPSBjbGFzc190ZW1wbGF0ZV9oZWFkZXJzKHR5cGUpCiAKICAgICBzcGVjaWFs
X2Nhc2VzID0geworICAgICAgICAnQ1ZQaXhlbEJ1ZmZlclJlZic6IFsnPFdlYkNvcmUvQ1ZVdGls
aXRpZXMuaD4nXSwKICAgICAgICAgJ01hY2hTZW5kUmlnaHQnOiBbJzx3dGYvTWFjaFNlbmRSaWdo
dC5oPiddLAogICAgICAgICAnSlNDOjpNZXNzYWdlTGV2ZWwnOiBbJzxKYXZhU2NyaXB0Q29yZS9D
b25zb2xlVHlwZXMuaD4nXSwKICAgICAgICAgJ0pTQzo6TWVzc2FnZVNvdXJjZSc6IFsnPEphdmFT
Y3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CmluZGV4IDYyYjExZGY1ZWFmYTYzNWRiZDM2YzcxMGQ5ZDZkNWY2NWQ4YzM3YzYuLjBhZjhlZTk1
Yzc5YmY1NjNhODEyY2Q3Nzk4NTU2MmEzOGFmNzZkZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZS5jcHAKQEAgLTgwLDYgKzgwLDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CisjaW1wb3J0IDxXZWJDb3JlL1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KICNpbXBvcnQgPFdl
YkNvcmUvVmlkZW9MYXllck1hbmFnZXJPYmpDLmg+CiAjZW5kaWYKIApAQCAtMTM3Nyw2ICsxMzc4
LDI1IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwYXVzZUF0SG9zdFRpbWUoY29u
c3QgTW9ub3RvbmljVGltZSYgdGltZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RkOjpvcHRp
b25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9G
cmFtZU1ldGFkYXRhKCkKK3sKKyAgICBhdXRvIHZpZGVvRnJhbWVNZXRhZGF0YSA9IHN0ZDo6ZXhj
aGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEsIHsgfSk7CisgICAgcmV0dXJuIHZpZGVvRnJhbWVN
ZXRhZGF0YTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6U3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSwgbV9pZCk7
Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzdG9wVmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0g
ZmFsc2U7CisgICAgbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YSA9
IG51bGxwdHI7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSwgbV9pZCk7Cit9CisK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1ZXN0UmVzb3VyY2UoUmVtb3RlTWVk
aWFSZXNvdXJjZUlkZW50aWZpZXIgcmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNv
dXJjZUxvYWRlcjo6TG9hZE9wdGlvbnMgb3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVCghbV9tZWRpYVJlc291cmNlcy5j
b250YWlucyhyZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcikpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmgKaW5kZXggYjVmNWI1YmMxYzUyYTM5OWM5MWJjNTBjYmFkZjVmZWM5ZjU1NWM0MC4u
NDNlZmZmMmI0ODI5ZGIwNmUzZmZkMjQ0YjVlMmYxYzhiOTBiMTBkNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5oCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZh
dGVSZW1vdGUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUGxheWVyUHJpdmF0ZS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW5EYXRhLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5j
bHVkZSA8d3RmL01lZGlhVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC01Niw2
ICs1NywxMCBAQCBzdHJ1Y3QgR2VuZXJpY0N1ZURhdGE7CiBjbGFzcyBJU09XZWJWVFRDdWU7CiBj
bGFzcyBTZXJpYWxpemVkUGxhdGZvcm1EYXRhQ3VlVmFsdWU7CiBjbGFzcyBWaWRlb0xheWVyTWFu
YWdlcjsKKworI2lmIFBMQVRGT1JNKENPQ09BKQorY2xhc3MgUGl4ZWxCdWZmZXJDb25mb3JtZXJD
VjsKKyNlbmRpZgogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQwMCw2ICs0MDUsMTQgQEAg
cHJpdmF0ZToKICAgICBib29sIHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJikg
ZmluYWw7CiAgICAgdm9pZCB1cGRhdGVDb25maWd1cmF0aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29u
ZmlndXJhdGlvbiYmKTsKIAorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6VmlkZW9GcmFtZU1l
dGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgZmluYWw7CisgICAgdm9pZCBzdG9wVmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCkgZmluYWw7CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lk
IHB1c2hWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYsIFJl
dGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmKTsKKyNlbmRpZgorCiAgICAgV2Vha1B0cjxXZWJD
b3JlOjpNZWRpYVBsYXllcj4gbV9wbGF5ZXI7CiAgICAgUmVmPFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFSZXNvdXJjZUxvYWRlcj4gbV9tZWRpYVJlc291cmNlTG9hZGVyOwogI2lmIFBMQVRGT1JNKENP
Q09BKQpAQCAtNDUwLDYgKzQ2MywxMiBAQCBwcml2YXRlOgogI2lmIFVTRShBVkZPVU5EQVRJT04p
CiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IG1fcGl4ZWxCdWZmZXJGb3JDdXJyZW50
VGltZTsKICNlbmRpZgorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhPiBtX3ZpZGVvRnJhbWVNZXRhZGF0YTsKKyAgICBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJh
bWVNZXRhZGF0YTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UGl4ZWxCdWZmZXJDb25m
b3JtZXJDVj4gbV9waXhlbEJ1ZmZlckNvbmZvcm1lcjsKKyNlbmRpZgorICAgIGJvb2wgbV9pc0dh
dGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KaW5k
ZXggMTE4ZTAyNWE2OWIzZmE0MWY1NTllNWFhMGJmOThkMzc5MWJlNWRlNC4uYTYwNjAzOTBlOTA1
OTA4NmRmNDUzZjc1NjFkOWY1MTdlNmI0YWUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTkxLDYgKzkxLDEwIEBAIG1lc3NhZ2VzIC0+IE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIEdldFJhd0Nvb2tpZXMoVVJMIHVybCkgLT4gKFZlY3RvcjxXZWJDb3JlOjpDb29r
aWU+IHJlc3VsdCkgQXN5bmMKICNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUHVz
aFZpZGVvRnJhbWVNZXRhZGF0YShzdHJ1Y3QgV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhIG1l
dGFkYXRhLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gYnVmZmVyKTsKKyNlbmRpZgogfQog
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
Y29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1t
CmluZGV4IGEyZjgzNTJmYjIwZmJiMmEwZDYyZmFlYzU5YjJmNGE4MjY1NGJiZmYuLmMwYjc3NmRj
NzczYjE3ZmE0MzBjZDU4OTY4YjAwN2IzMWJkNzZhOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQpAQCAtMzMsOSArMzMsMTIgQEAKICNpbXBvcnQg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvclNwYWNlQ0cu
aD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1BpeGVs
QnVmZmVyQ29uZm9ybWVyQ1YuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQ
SS5oPgogI2ltcG9ydCA8d3RmL01hY2hTZW5kUmlnaHQuaD4KIAorI2ltcG9ydCA8V2ViQ29yZS9D
b3JlVmlkZW9Tb2Z0TGluay5oPgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCkBAIC00Niw4ICs0OSwyNSBAQCBQbGF0Zm9ybUxheWVyQ29udGFpbmVyIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Y3JlYXRlVmlkZW9GdWxsc2NyZWVuTGF5ZXIoKQogfQog
I2VuZGlmCiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwdXNoVmlkZW9GcmFtZU1l
dGFkYXRhKFdlYkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YSYmIHZpZGVvRnJhbWVNZXRhZGF0YSwg
UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVyKQoreworICAgIGlmICghbV9pc0dh
dGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fdmlkZW9G
cmFtZU1ldGFkYXRhID0gV1RGTW92ZSh2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAgIG1fcGl4ZWxC
dWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGEgPSBXVEZNb3ZlKGJ1ZmZlcik7Cit9
CisKIFJlZlB0cjxOYXRpdmVJbWFnZT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpuYXRpdmVJ
bWFnZUZvckN1cnJlbnRUaW1lKCkKIHsKKyAgICBpZiAobV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0
aFZpZGVvRnJhbWVNZXRhZGF0YSkgeworICAgICAgICBpZiAoIW1fcGl4ZWxCdWZmZXJDb25mb3Jt
ZXIpCisgICAgICAgICAgICBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyID0gbWFrZVVuaXF1ZTxQaXhl
bEJ1ZmZlckNvbmZvcm1lckNWPigoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKUB7IChfX2JyaWRn
ZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5OiBAKGtDVlBpeGVs
Rm9ybWF0VHlwZV8zMkJHUkEpIH0pOworICAgICAgICBBU1NFUlQobV9waXhlbEJ1ZmZlckNvbmZv
cm1lcik7CisgICAgICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gTmF0aXZlSW1hZ2U6OmNyZWF0ZShtX3Bp
eGVsQnVmZmVyQ29uZm9ybWVyLT5jcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihtX3BpeGVsQnVm
ZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhLmdldCgpKSk7CisgICAgfQorCiAgICAg
c3RkOjpvcHRpb25hbDxNYWNoU2VuZFJpZ2h0PiBzZW5kUmlnaHQ7CiAgICAgYXV0byBjb2xvclNw
YWNlID0gRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCk7CiAgICAgaWYgKCFjb25uZWN0aW9u
KCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdl
Rm9yQ3VycmVudFRpbWUoKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2
ZUltYWdlRm9yQ3VycmVudFRpbWU6OlJlcGx5KHNlbmRSaWdodCwgY29sb3JTcGFjZSksIG1faWQp
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhk
ZTlhMjViNjBmYjQ1ZTJkZTBhMDIyZWVkNWJiZjI3NWE4Y2U3OTYuLmM2NjJjZWI5ZWFlYWE5N2M5
ZGQwMGFjZTc2ZDA4OWU4NzdlODE3YzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0xNSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRp
b24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRW5hYmxlIHJ2ZmMgYnkgZGVmYXVsdCBpbiB0ZXN0IHJ1bm5lci4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKwogMjAyMS0xMS0xNCAgQnJh
ZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IGRhZW1vbiBBUEkg
cmVhZHkgdG8gd29yayBpbiB0aGUgaU9TIHNpbXVsYXRvciAoc3RhcnRpbmcgd2l0aCBXZWJQdXNo
RCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZDIw
MTA1NDFlMWI0NGIxNzRjMmUxY2RlNTI0NDEyNjkyNDU1YjBmLi5mMzM5YTQzMzNjMGE5MGY1YTRk
ZTNlZTZmN2M3MDg2ZTc2MDE4ZmM1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCkBAIC04NjMsMTEgKzg2Myw4IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZl
cmVuY2VzRm9yVGVzdE9wdGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBX
CiAgICAgICAgIFtwcmVmZXJlbmNlcyBfcmVzZXRGb3JUZXN0aW5nXTsKIAogICAgICAgICBpZiAo
ZW5hYmxlQWxsRXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKLSAgICAgICAgICAgIGZvciAoV2ViRmVh
dHVyZSAqZmVhdHVyZSBpbiBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkg
ewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4g
RW5hYmxlIGl0IHdoZW4gdGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4K
LSAgICAgICAgICAgICAgICBhdXRvIGVuYWJsZWQgPSBbZmVhdHVyZS5uYW1lIGlzRXF1YWw6QCJS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrIl0gPyBOTyA6IFlFUzsKLSAgICAgICAgICAgICAgICBb
cHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOwotICAg
ICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQ
cmVmZXJlbmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdKQorICAgICAgICAgICAgICAgIFtwcmVm
ZXJlbmNlcyBfc2V0RW5hYmxlZDpZRVMgZm9yRmVhdHVyZTpmZWF0dXJlXTsKICAgICAgICAgfQog
CiAgICAgICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpKSB7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGIwOTBiYmQzMWZmNDg2
ZDE5ZDM3OWFjNDA4MjhkZjNlZGQwYjJkZjYuLmVkMjgwMmZiMWU3NjZkYzVkZTY3YzQ0ZDE1NzY2
MTYzMmMzOTMxYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
CkBAIC05MDUsOSArOTA1LDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNl
c1RvQ29uc2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW8KICAgICAgICAgaWYg
KGVuYWJsZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKQogICAgICAgICAgICAgV0tQcmVmZXJlbmNl
c0VuYWJsZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAotICAgICAgICAv
LyBGSVhNRTogV2UgZGlzYWJsZSBydmZjIGJ5IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2
aWRlbyBiYWNrZW5kIHN1cHBvcnQgaXMgZ29vZCBlbm91Z2guCi0gICAgICAgIFdLUHJlZmVyZW5j
ZXNTZXRSZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2Up
OwotCiAgICAgICAgIFdLUHJlZmVyZW5jZXNSZXNldEFsbEludGVybmFsRGVidWdGZWF0dXJlcyhw
cmVmZXJlbmNlcyk7CiAKICAgICAgICAgV0tQcmVmZXJlbmNlc1NldFByb2Nlc3NTd2FwT25OYXZp
Z2F0aW9uRW5hYmxlZChwcmVmZXJlbmNlcywgb3B0aW9ucy5zaG91bGRFbmFibGVQcm9jZXNzU3dh
cE9uTmF2aWdhdGlvbigpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNTRkMDBlMmFmNzE2ZWUyZDIyNTA4ZDY3NDBjODAz
Y2M3Y2NlOGU5Li45MjU3ZTY3ZGMyZjNjN2U0OGUxZGRhMGE1OTFiZjEyMjM0MDNjMGUyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTEtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0
IHJ2ZmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MTk0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnM6CisKIDIwMjEtMTEtMTQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgRmluZ2VycyBkb3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQg
c3RvcCBhbiBhbmltYXRlZCBzY3JvbGwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDlmOGM5OTAzODZlMTI5MTcwYjhiMWE2YTljMGY2MTRhNDZiMWRiNjkuLjRhMDE3OGNjOWRhYTdi
OTkwYTE3Nzg2MDc2M2UwNTE4MzI2MzZmMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9y
dCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzE5NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJh
Y2stZG9tLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12
aWRlby1mcmFtZS1jYWxsYmFjay5odG1sOgorCiAyMDIxLTExLTE0ICBUaW0gTmd1eWVuICA8bnRp
bUBhcHBsZS5jb20+CiAKICAgICAgICAgTW9kYWwgZGlhbG9ncyBzaG91bGQgbWFrZSB0aGUgcm9v
dCBlbGVtZW50IHVuZm9jdXNhYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1kb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4
cGVjdGVkLnR4dAppbmRleCA2NjM5ZDRmMjg4NWUxZjk3NjQ4ZDUwNTQ3NzBlYWZlYjQzMmRjNTBk
Li43ZTVjNDg2MjA0NTM0Nzk0Mzk0MWJjY2M1ZDRiZWU3NjYyMWE2MjFkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAKLUhh
cm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgYSB2
aWRlbyBvdXRzaWRlIG9mIHRoZSBET00gY2FuIHN0aWxsIHVzZSB2aWRlby5yVkZDLiBUZXN0IHRp
bWVkIG91dAotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25l
Ii4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggInZp
c2liaWxpdHk6aGlkZGVuIi4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBhIHZpZGVvIG91dHNp
ZGUgb2YgdGhlIERPTSBjYW4gc3RpbGwgdXNlIHZpZGVvLnJWRkMuCitQQVNTIFRlc3QgdmlkZW8u
clZGQyB3b3JrcyB3aXRoICJkaXNwbGF5Om5vbmUiLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgd29y
a3Mgd2l0aCAidmlzaWJpbGl0eTpoaWRkZW4iLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1m
cmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1l
eHBlY3RlZC50eHQKaW5kZXggY2E3Y2IzZTk0Y2RmYjI1MjU4YjlkOTliNGY0ZDQ3ZWRhMGU3NzIx
Ni4uY2Q3OTYxMjA1NTE3MTY4YjU0M2JmNTliYmUwZmFlMjY5ZmUwYmQxNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSw4IEBACiAKIAotSGFybmVz
cyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCB3ZSBjYW4g
cmVnaXN0ZXIgYSB2aWRlby5yVkZDIGNhbGxiYWNrLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBU
ZXN0IHZpZGVvLnJWRkMgY2FsbGJhY2tzIHJ1biBiZWZvcmUgd2luZG93LnJBRiBjYWxsYmFja3Mu
IFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVvLnJWRkMg
cmVxdWVzdC4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRl
by5yVkZDIGNhbGxiYWNrLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgY2FsbGJhY2tzIHJ1biBiZWZv
cmUgd2luZG93LnJBRiBjYWxsYmFja3MuCitQQVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBhIHZpZGVv
LnJWRkMgcmVxdWVzdC4KIFBBU1MgVGVzdCBpbnZhbGlkIGNhbGxzIHRvIHRoZSB2aWRlby5yVkZD
IEFQSS4KLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIGRvZXMgbm90IHN0b3Agd2hlbiBzd2l0Y2hp
bmcgc291cmNlcy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCB2aWRlby5yVkZDIGRvZXMgbm90
IHN0b3Agd2hlbiBzd2l0Y2hpbmcgc291cmNlcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0CmluZGV4IDZmZTY4NGFlOGU2NmRhYjhjY2U2
OGQyMjc1MzU5NWE4NDQ4YzZiOTAuLjMyYjk5YWVkNTQ1N2RmYTFiZjJhOTE2MzMxZDI2ZjFlZDlk
OWI1ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBl
Y3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCBjYWxsYmFja3MgZ2V0IHRoZSBzYW1lIGluZm9y
bWF0aW9uLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwgY2FsbGJh
Y2tzIGZyb20gY2FsbGJhY2tzLiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IGNhbGxiYWNrcyBn
ZXQgdGhlIHNhbWUgaW5mb3JtYXRpb24uCitQQVNTIFRlc3Qgd2UgY2FuIGNhbmNlbCBjYWxsYmFj
a3MgZnJvbSBjYWxsYmFja3MuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1y
ZXBlYXRpbmctZXhwZWN0ZWQudHh0CmluZGV4IGI0YTViZTNkZDI1MTJiODVjMzg1NTViOGYzY2U3
MDM2NzhlZDRkZmQuLmE2MzFhMTc2YmQ1OWI2ZGYxYzQ1NTZkM2NkYjExNDVkM2M2OTU4NjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlk
ZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4
dApAQCAtMSw3ICsxLDUgQEAKIAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKLQotVElNRU9VVCBUZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRo
ZSBuZXh0IGZyYW1lLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IGNoYWluaW5nIGNhbGxz
IHRvIHZpZGVvLnJWRkMsIGFuZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMuIFRlc3Qg
dGltZWQgb3V0CitQQVNTIFRlc3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24gdGhl
IG5leHQgZnJhbWUuCitGQUlMIFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5k
IHZlcmlmeSB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcHJl
c2VudGF0aW9uVGltZSBzaG91bGQgYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGV4cGVjdGVk
IGEgbnVtYmVyIGJ1dCBnb3QgYSAidW5kZWZpbmVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbApp
bmRleCBhNDQwNDE0M2ZhNDA4ZWJiYjhmNDljYzMxODBlMDY1ZDIwMGZmYTRhLi40N2ExMDllODIy
YWJkNGVlZWIzNWNiNDEyYjQ0MDllZGRhMGIzMzQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1m
cmFtZS1jYWxsYmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwK
QEAgLTEwNSw2ICsxMDUsNyBAQCB0ZXN0KGZ1bmN0aW9uKHQpIHsKIAogcHJvbWlzZV90ZXN0KGFz
eW5jIGZ1bmN0aW9uKHQpIHsKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCd2aWRlbycpOworICAgIHZpZGVvLmF1dG9wbGF5ID0gdHJ1ZTsKICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHZpZGVvKTsKIAogICAgIGxldCBmaXJzdF93aWR0aCA9IDA7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjhhYWRiOTk2
Zjc3OThiNjUwNTkyMTdlNjVmNDYxMjMzZjk2M2MwZi4uMzY0ZGU3MDdmMWY1ZjVjOTdiYTAwMTAw
NDRkNjQzYmI2YzI3OGUzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTQzLDEzICsxNDMsOSBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY25hbWUtY2xvYWtpbmctdG9wLW5vLWNuYW1lLXN1Yi1uby1jbmFtZS5odG1s
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KIGZh
c3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3MgXQogd2VicnRjL3Bl
ZXJDb25uZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGls
IHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBvcnQuCisjIFRpbWlu
ZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZv
cmUteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRt
bCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBTa2lw
IF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0t
c3BlY2lmaWMgZGlyZWN0b3JpZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggMWRmOTVkMDUzMzUzMDY1MzkyNzNlMjAxMzkxZjMwZjRjZWYy
ZGQ0OC4uMWNiYzRlYzQ1MjUzNTJiYzQ0OGE5NmU2YWFhYmQ4MzJiZWExNjQzOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzMsNiArMzMs
MTEgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1leHRlcm5hbC1lbnRpdHkt
bm8tbG9nZ2luZy54bWwgWyBQYXNzIF0KICMgcmRhcjovL3Byb2JsZW0vNjE3OTM4ODQgOiBFbmFi
bGluZyB0aGlzIHRlc3QgZm9yIFdLMSBvbmx5LgogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1m
bG9hdHMvc2hhcGUtb3V0c2lkZS1pbWFnZWRhdGEtb3ZlcmZsb3cuaHRtbCBbIFBhc3MgXQogCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KKyMgVGlt
aW5nIG91dCB0ZXN0cyB1bnRpbCB3ZSBhZGQgWFIgc2Vzc2lvbi4KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJl
Zm9yZS14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmlu
Zy14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCiAjLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzIyYTViZWQ5YTZlMzEyM2Y3YzRjNGFlMGE0
OGQ4NWJhM2Y5YWRiZC4uMmZkMDc0YTFhY2Q4M2E5YzA2NzdkYTBlZWI0MmUwN2NkNjRiNDZmZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTIyLDEzICsxMjIsOSBAQCBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS10cmFuc2FjdGlvbi1j
eWNsZS5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMgWyBQYXNzIF0KIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBb
IFBhc3MgXQogd2VicnRjL3BlZXJDb25uZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1p
bmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5k
IHN1cHBvcnQuCisjIFRpbWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1m
cmFtZS1jYWxsYmFjay1iZWZvcmUteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay1kb20uaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNl
c3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBb
IFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNh
bGxiYWNrLmh0bWwgWyBTa2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCg==
</data>
<flag name="commit-queue"
          id="469234"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444258</attachid>
            <date>2021-11-15 08:27:49 -0800</date>
            <delta_ts>2021-11-16 00:16:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211115172746.patch</filename>
            <type>text/plain</type>
            <size>44244</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMjdhNzIwZDEzN2YxMGU1YzczZGIwNDU0ZWY1Nzlj
NzNkOWFjMGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaDoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9w
IGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdm
MWFhMjRlYmRkYTNjZWRkLi43M2U0NTFlYzFlMjZkNmMzYjYyZWY1NDJjNjZhOTgwNWFiMWMzODIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3MzcyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHN0YXJ0L3N0b3AgbWV0YWRhdGEgZ2F0aGVyaW5nIGZyb20gV2ViUHJvY2VzcyB0byBH
UFVQcm9jZXNzLgorICAgICAgICBBZGQgSVBDIG1lc3NhZ2luZyB0byBwdXNoIG1ldGFkYXRhIHRv
IFdlYlByb2Nlc3MsIGluY2x1ZGluZyBzZW5kaW5nIHRoZSBjb3JyZXNwb25kaW5nIENWUGl4ZWxC
dWZmZXIgZm9yIHRoZSBjdXJyZW50IG1ldGFkYXRhLgorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUgd2lsbCB0aGVuIHNlcnZlIHRoYXQgYnVmZmVyIHdoZW4gYmVpbmcgcmVxdWVzdGVk
IHRoZSBjdXJyZW50IGltYWdlLgorICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCBwYWludGluZyBv
biBhIGNhbnZhcyBkb2VzIG5vdCBtYXJrIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyBhY3F1aXJlZCwg
d2hpY2ggd291bGQgdGhlbiBza2lwIHRoZSB2aWRlbyBmcmFtZSBtZXRhZGF0YSBnYXRoZXJpbmcu
CisgICAgICAgIFRoaXMgYWxzbyBlbnN1cmVzIHRoZSBzYW1lIGJ1ZmZlciBpcyB1c2VkIGlmIGEg
dmlkZW8gZWxlbWVudCBpcyBwYWludGVkIHNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBzYW1lIHJ2
ZmMgY2FsbGJhY2suCisgICAgICAgIFRoaXMgaGFzIHRoZSBzaWRlIGJlbmVmaXQgb2YgcmVtb3Zp
bmcgdGhlIHN5bmNocm9ub3VzIElQQyB0byBwYWludCB0aGUgdmlkZW8gZWxlbWVudCBpbiBhIGNh
bnZhcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIxLTExLTE0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSBy
ZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAyZWNiZjVkYmFhZGVk
NDJlNzc5MDQ0MDVhYzAxMzFlMzhmYzI5YmU3Li42OTU2Njk0OTYzMTBlZjkxMDhiOTU2ZmRhNDgy
MTQzMDE0OTcwZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
NjQxLDYgKzY0MSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldENoYW5naW5nVmlkZW9GdWxs
c2NyZWVuTW9kZShib29sIHZhbHVlKSB7IG1fY2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlID0g
dmFsdWU7IH0KICAgICBib29sIGlzQ2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlKCkgY29uc3Qg
eyByZXR1cm4gbV9jaGFuZ2luZ1ZpZGVvRnVsbHNjcmVlbk1vZGU7IH0KIAorcHJvdGVjdGVkOgor
ICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgb3ZlcnJpZGU7CisKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIApAQCAtNjkyLDcgKzY5NSw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBtZWRpYVBsYXllclNpemVDaGFuZ2VkKCkgZmluYWw7CiAgICAgdm9pZCBt
ZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKCkgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBs
YXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkgZmluYWw7Ci0gICAgdm9pZCBtZWRp
YVBsYXllckVuZ2luZVVwZGF0ZWQoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyV2lsbElu
aXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQgbWVkaWFQbGF5ZXJEaWRJbml0
aWFsaXplTWVkaWFFbmdpbmUoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyUmVsb2FkQW5k
UmVzdW1lUGxheWJhY2tJZk5lZWRlZCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZp
ZGVvRWxlbWVudC5jcHAKaW5kZXggYmIwNWUyNzYxZjgyZGM5ZGUzMTFkNGNiYTIzNDc5NTE2OTA5
YzMyOS4uZDc2OWU1M2FlYjFlMThhN2Q5NzFhNjM2ZTE5ZDJiZTA1NjJmZTU3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC01ODgsNiArNTg4LDkgQEAgdm9p
ZCBIVE1MVmlkZW9FbGVtZW50OjpleGl0VG9GdWxsc2NyZWVuTW9kZVdpdGhvdXRBbmltYXRpb25J
ZlBvc3NpYmxlKEhUTUxNZWRpYUUKIAogdW5zaWduZWQgSFRNTFZpZGVvRWxlbWVudDo6cmVxdWVz
dFZpZGVvRnJhbWVDYWxsYmFjayhSZWY8VmlkZW9GcmFtZVJlcXVlc3RDYWxsYmFjaz4mJiBjYWxs
YmFjaykKIHsKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBsYXll
cigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmco
KTsKKwogICAgIGF1dG8gaWRlbnRpZmllciA9ICsrbV9uZXh0VmlkZW9GcmFtZVJlcXVlc3RJbmRl
eDsKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5hcHBlbmQobWFrZVVuaXF1ZVJlZjxWaWRlb0Zy
YW1lUmVxdWVzdD4oaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpKTsKIApAQCAtNjA3LDYg
KzYxMCw5IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNr
KHVuc2lnbmVkIGlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV92aWRl
b0ZyYW1lUmVxdWVzdHMucmVtb3ZlKGluZGV4KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1
ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiB9CiAKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6c2Vy
dmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNvbHV0aW9uU2Vjb25kcyBu
b3cpCkBAIC02MjcsMTMgKzYzMywyMyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZAogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsYmFja0NvdW50OyArK2luZGV4KSB7CiAg
ICAgICAgIGF1dG8mIHJlcXVlc3QgPSBtX3ZpZGVvRnJhbWVSZXF1ZXN0c1tpbmRleF07CiAgICAg
ICAgIGlmICghcmVxdWVzdC0+Y2FuY2VsbGVkKSB7Ci0gICAgICAgICAgICByZXF1ZXN0LT5jYWxs
YmFjay0+aGFuZGxlRXZlbnQobm93LnZhbHVlKCksICp2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAg
ICAgICAgICAgcmVxdWVzdC0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0ZDo6cm91bmQobm93Lm1p
bGxpc2Vjb25kcygpKSwgKnZpZGVvRnJhbWVNZXRhZGF0YSk7CiAgICAgICAgICAgICByZXF1ZXN0
LT5jYW5jZWxsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQogICAgIG1faXNSdW5uaW5nVmlk
ZW9GcmFtZVJlcXVlc3RzID0gZmFsc2U7CiAKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1v
dmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2FsbGJhY2stPmNhbmNl
bGxlZDsgfSk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBs
YXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworfQorCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZCgpCit7CisgICAgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7
CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisg
ICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1Yjhj
N2FlMDBjNGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLjg1NmFkZWE3OGZiNzM5OGQ4ZmI0NWY0NDhh
MzU5MWJkYTU1Zjk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBA
IC0xNDEsNiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpN
ZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIG1lZGlhUGxheWVy
RW5naW5lVXBkYXRlZCgpIGZpbmFsOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxJbWFnZUxv
YWRlcj4gbV9pbWFnZUxvYWRlcjsKIAogICAgIEF0b21TdHJpbmcgbV9kZWZhdWx0UG9zdGVyVVJM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAppbmRleCA4
ZmQ5YTQ3MDAyNDhkNGQyNzhkY2UyNzQ5NzgzNjBhNTdiYWY1OWVhLi45NGRkZjBlZjBmNjExMzVi
ZDliNjg5MDhiODExNTZmYmJiZGYyM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaApAQCAtNDMsOCArNDMsNzMgQEAgc3RydWN0IFZpZGVvRnJhbWVN
ZXRhZGF0YSB7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNhcHR1cmVUaW1lOwogICAgIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiByZWNlaXZlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPiBydHBUaW1lc3RhbXA7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
IAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2b2lkIFZpZGVvRnJhbWVNZXRhZGF0
YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBwcmVz
ZW50YXRpb25UaW1lIDw8IGV4cGVjdGVkRGlzcGxheVRpbWUgPDwgd2lkdGggPDwgaGVpZ2h0IDw8
IG1lZGlhVGltZSA8PCBwcmVzZW50ZWRGcmFtZXMgPDwgcHJvY2Vzc2luZ0R1cmF0aW9uIDw8IGNh
cHR1cmVUaW1lIDw8IHJlY2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
VmlkZW9GcmFtZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBkZWNvZGVyID4+IHByZXNl
bnRhdGlvblRpbWU7CisgICAgaWYgKCFwcmVzZW50YXRpb25UaW1lKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgZGVjb2RlciA+PiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGlmICghZXhw
ZWN0ZWREaXNwbGF5VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAg
aWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdodDsKKyAgICBpZiAo
IWhlaWdodCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBtZWRpYVRpbWU7CisgICAgZGVjb2RlciA+PiBtZWRpYVRpbWU7CisgICAgaWYg
KCFtZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBwcmVzZW50ZWRGcmFtZXM7CisgICAgZGVjb2RlciA+PiBwcmVzZW50
ZWRGcmFtZXM7CisgICAgaWYgKCFwcmVzZW50ZWRGcmFtZXMpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJv
Y2Vzc2luZ0R1cmF0aW9uOworICAgIGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGlmICghcHJvY2Vzc2luZ0R1cmF0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IGNhcHR1cmVUaW1lOwor
ICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAgaWYgKCFjYXB0dXJlVGltZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25h
bDxkb3VibGU+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2VpdmVUaW1lOworICAg
IGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1lc3RhbXA7CisgICAg
ZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3RhbXApCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9GcmFtZU1ldGFkYXRhIHsg
KnByZXNlbnRhdGlvblRpbWUsICpleHBlY3RlZERpc3BsYXlUaW1lLCAqd2lkdGgsICpoZWlnaHQs
ICptZWRpYVRpbWUsICpwcmVzZW50ZWRGcmFtZXMsICpwcm9jZXNzaW5nRHVyYXRpb24sICpjYXB0
dXJlVGltZSwgKnJlY2VpdmVUaW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCBhNDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQx
NzA2NTk2Li43NWQ0OTUzNGY0ZDFiNzlkYjZkZTcwZGJkODMwNmE3NDI3Y2Q0MjBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01
OTAsNiArNTkwLDggQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUo
Y29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJp
dmF0ZS0+c2V0UGFnZUlzVmlzaWJsZShtX3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYg
KG1fdmlzaWJsZUluVmlld3BvcnQpCiAgICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNp
YmxlSW5WaWV3cG9ydChtX3Zpc2libGVJblZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0
ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1fcHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJl
c2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJlcGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTE3MjEsNiArMTcyMywyNSBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
TWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxz
ZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30K
KworI2lmIFBMQVRGT1JNKENPQ09BKQordm9pZCBNZWRpYVBsYXllcjo6b25OZXdWaWRlb0ZyYW1l
TWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllck9uTmV3Vmlk
ZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1ZmZlcikpOworfQor
I2VuZGlmCisKIFN0cmluZyBNZWRpYVBsYXllcjo6ZWxlbWVudElkKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJFbGVtZW50SWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDViMWUxNzQ1MTNlMDZmYTAx
ZDUxOTBiNTVlNTA1MzU1NWVmZDc2MzcuLjAwNDViNTRmNTA0ODIwMzNkNGY4ZjM0YzZjZDY1ZTNk
OTA5YTczMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMjg2LDYgKzI4NiwxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFQbGF5ZXJRdWV1ZVRhc2tPbkV2ZW50TG9vcChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykg
eyBjYWxsT25NYWluVGhyZWFkKFdURk1vdmUodGFzaykpOyB9CiAKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShW
aWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpIHsgfQor
I2VuZGlmCisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB2aXJ0dWFsIGNvbnN0IHZv
aWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSA9IDA7CkBAIC01ODQsNiAr
NTg4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRleHRUcmFjayhJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlJik7CiAgICAgdm9pZCByZW1vdmVWaWRlb1RyYWNrKFZpZGVvVHJhY2tQcml2YXRl
Jik7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFk
YXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7
CisjZW5kaWYKKwogICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbigpIGNv
bnN0OwogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24qKTsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKQEAgLTY4MSw2ICs2
ODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNNZWRpYUVuZ2luZSgpIGNvbnN0OwogCiAgICAg
c3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpOwor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0
b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYVBs
YXllcihNZWRpYVBsYXllckNsaWVudCYpOwpAQCAtNzI1LDYgKzczNSw3IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiAgICAgYm9vbCBtX3Nob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQgeyBmYWxzZSB9Owog
I2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2Ug
fTsKIH07CiAKIGNsYXNzIE1lZGlhUGxheWVyRmFjdG9yeSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY1YTQw
YWJjOGE3OWE2Y2UwNjRiNzAyY2RkMGM5YTlhYTY2M2RkMzkuLmNmNDYzMTJjNTJhOTg3MmJjMDQ1
YWQxZDQyMmFmNDhiMTAwOGNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGlt
ZSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8VmlkZW9G
cmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSB7IHJldHVybiB7IH07IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIHsgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDU5ZWNhNDUxMzRmZTZmNDA1OTkwMmUyMWNlN2U3
ZTVhZGU4MGJmYTIuLmNkMWJhZjZlNDhjZGQwYjVlNmVhOWI0YTZiOTJjZDVmN2Y2OGU5MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTM0Miw2ICszNDIsMTEgQEAgcHJpdmF0ZToKICAgICBi
b29sIHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJikgZmluYWw7CiAgICAgYm9v
bCBoYXZlQmVlbkFza2VkVG9QYWludCgpIGNvbnN0IHsgcmV0dXJuIG1faGF2ZUJlZW5Bc2tlZFRv
UGFpbnQ7IH0KIAorICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBm
aW5hbDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsK
KyAgICBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFkYXRh
KCkgZmluYWwgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX3ZpZGVvRnJhbWVNZXRhZGF0YSwgeyB9
KTsgfQorICAgIHZvaWQgY2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKTsKKwogICAgIFJldGFp
blB0cjxBVlVSTEFzc2V0PiBtX2F2QXNzZXQ7CiAgICAgUmV0YWluUHRyPEFWUGxheWVyPiBtX2F2
UGxheWVyOwogICAgIFJldGFpblB0cjxBVlBsYXllckl0ZW0+IG1fYXZQbGF5ZXJJdGVtOwpAQCAt
NDUxLDYgKzQ1NiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXZlUHJvY2Vzc2VkQ2hhcHRl
clRyYWNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3dhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0
YVdpbGxDaGFuZ2VUaW1lZE91dCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhdmVCZWVuQXNrZWRU
b1BhaW50IHsgZmFsc2UgfTsKKyAgICB1aW50NjRfdCBtX3NhbXBsZUNvdW50IHsgMCB9OworICAg
IFJldGFpblB0cjxpZD4gbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcjsKKyAg
ICBib29sIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgeyBmYWxzZSB9OworICAgIHN0
ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBtX3ZpZGVvRnJhbWVNZXRhZGF0YTsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDRkODYxMTNiY2JlNDY5ZWM2ZTAyNTc5
MTAyZDExMGVhOTMwMTAwOTYuLmQ0YWQxOGUwMzJiODIwNjNiOWFiYzk2ZGY2NzQxYTYxMjkwYmMx
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMTEwOCw2ICsxMTA4LDggQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVlBsYXllcigpCiAgICAg
ICAgIH0pOwogICAgIH1dOwogCisgICAgaWYgKG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRh
dGEpCisgICAgICAgIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiAgICAgc2V0
RGVsYXlDYWxsYmFja3MoZmFsc2UpOwogfQogCkBAIC0xNDMzLDYgKzE0MzUsNDYgQEAgYm9vbCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybVBhdXNlZCgpIGNvbnN0
CiAgICAgcmV0dXJuIG1fY2FjaGVkVGltZUNvbnRyb2xTdGF0dXMgPT0gQVZQbGF5ZXJUaW1lQ29u
dHJvbFN0YXR1c1BhdXNlZDsKIH0KIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDOjpzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCit7CisgICAgQVNTRVJU
KCFtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyIHx8IG1fYXZQbGF5ZXIpOwor
ICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSB0cnVlOworCisgICAgLy8gRklY
TUU6IFdlIHNob3VsZCB1c2UgYSBDQURpc3BsYXlMaW5rIHRvIGdldCB1cGRhdGVzIG9uIHJlbmRl
cmluZywgZm9yIG5vdyB3ZSBlbXVsYXRlIHdpdGggYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJ
bnRlcnZhbC4KKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gW21f
YXZQbGF5ZXIgYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDpQQUw6OkNNVGltZU1h
a2UoMSwgNjApIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpbd2Vh
a1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0oQ01UaW1lKSB7CisgICAgICAgIGVuc3VyZU9uTWFp
blRocmVhZChbd2Vha1RoaXNdIHsKKyAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAg
ICAgICAgICB3ZWFrVGhpcy0+Y2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKTsKKyAgICAgICAg
fSk7CisgICAgfV07Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKQoreworICAgIGlmICghdXBkYXRlTGFzdFBp
eGVsQnVmZmVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFZpZGVvRnJhbWVNZXRhZGF0YSBt
ZXRhZGF0YTsKKyAgICBtZXRhZGF0YS53aWR0aCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS53
aWR0aCgpOworICAgIG1ldGFkYXRhLmhlaWdodCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS5o
ZWlnaHQoKTsKKyAgICBtZXRhZGF0YS5wcmVzZW50ZWRGcmFtZXMgPSArK21fc2FtcGxlQ291bnQ7
CisgICAgbWV0YWRhdGEucHJlc2VudGF0aW9uVGltZSA9IFBBTDo6Q01UaW1lR2V0U2Vjb25kcyhb
bV9hdlBsYXllckl0ZW0gY3VycmVudFRpbWVdKSAqIDEwMDA7CisKKyAgICBtX3ZpZGVvRnJhbWVN
ZXRhZGF0YSA9IG1ldGFkYXRhOworICAgIHBsYXllcigpLT5vbk5ld1ZpZGVvRnJhbWVNZXRhZGF0
YShXVEZNb3ZlKG1ldGFkYXRhKSwgbV9sYXN0UGl4ZWxCdWZmZXIuZ2V0KCkpOworfQorCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnN0b3BWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBm
YWxzZTsKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YSA9IHsgfTsKKworICAgIEFTU0VSVChtX3Zp
ZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyKTsKKyAgICBpZiAobV92aWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcikKKyAgICAgICAgW21fYXZQbGF5ZXIgcmVtb3ZlVGlt
ZU9ic2VydmVyOm1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIuZ2V0KCldOwor
ICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIgPSBuaWw7Cit9CisKIE1l
ZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0
aW9uKCkgY29uc3QKIHsKICAgICAvLyBEbyBub3QgYXNrIHRoZSBhc3NldCBmb3IgZHVyYXRpb24g
YmVmb3JlIGl0IGhhcyBiZWVuIGxvYWRlZCBvciBpdCB3aWxsIGZldGNoIHRoZQpAQCAtMjU0OCw3
ICsyNTkwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp1cGRh
dGVMYXN0SW1hZ2UoVXBkYXRlVHlwZSB0eXBlKQogICAgIC8vIENhbGxzIHRvIGNvcHlQaXhlbEJ1
ZmZlckZvckl0ZW1UaW1lOml0ZW1UaW1lRm9yRGlzcGxheTogbWF5IHJldHVybiBuaWwgaWYgdGhl
IHBpeGVsIGJ1ZmZlcgogICAgIC8vIGZvciB0aGUgcmVxdWVzdGVkIHRpbWUgaGFzIGFscmVhZHkg
YmVlbiByZXRyaWV2ZWQuIEluIHRoaXMgY2FzZSwgdGhlIGxhc3QgdmFsaWQgaW1hZ2UgKGlmIGFu
eSkKICAgICAvLyBzaG91bGQgYmUgZGlzcGxheWVkLgotICAgIGlmICghdXBkYXRlTGFzdFBpeGVs
QnVmZmVyKCkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCisgICAgaWYg
KChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHx8ICF1cGRhdGVMYXN0UGl4ZWxCdWZm
ZXIoKSkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikgewpAQCAtMjU4Myw5ICsy
NjI1LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludFdp
dGhWaWRlb091dHB1dChHcmFwaGljc0NvbnRleHQmIGMKIAogUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBpeGVsQnVmZmVyRm9y
Q3VycmVudFRpbWUoKQogewotICAgIHVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpOwotICAgIGlmICgh
bV9sYXN0UGl4ZWxCdWZmZXIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV9p
c0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgdXBkYXRlTGFzdFBpeGVsQnVm
ZmVyKCk7CiAKICAgICByZXR1cm4gbV9sYXN0UGl4ZWxCdWZmZXI7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNW
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZv
cm1lckNWLmgKaW5kZXggYzNjNTM3Y2UyN2MwNDg4YTU4OGM0ZDAxYjhkNTQwODg4ZGM3ZjQwNy4u
Y2M1NzhjNzliYjA3ZjQyOTZkNTk3Mjc4MGI2MDA5MjQ2MjAzYjZiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29u
Zm9ybWVyQ1YuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
IHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWKENG
RGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKLSAgICBSZXRhaW5Q
dHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJl
Zik7CisgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdl
RnJvbVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYpOwogCiBwcml2YXRlOgogICAgIFJldGFp
blB0cjxWVFBpeGVsQnVmZmVyQ29uZm9ybWVyUmVmPiBtX3BpeGVsQ29uZm9ybWVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuY3BwCmluZGV4IDU2NWI4YjI5M2FlY2RmNWU1MWZlNWUxMDE2YzViN2E3ZTczM2Q4YTku
Ljg4MTA4Y2JjNTMzYzEwYzc1ZTM3MGJmY2M4OTgwMGE1M2M2NzI5YWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHAKQEAgLTEwOTgsNiArMTA5OCwxOCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OnBhdXNlQXRIb3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgICAgIG1fcGxheWVyLT5w
YXVzZUF0SG9zdFRpbWUodGltZSk7CiB9CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXllcikK
KyAgICAgICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9
CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdh
dGhlcmluZygpCit7CisgICAgaWYgKG1fcGxheWVyKQorICAgICAgICBtX3BsYXllci0+c3RhcnRW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30KKwogI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAogV1RGTG9nQ2hhbm5lbCYgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9nQ2hhbm5lbCgp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuaAppbmRleCAwZTlmM2Q3YTIxNDVkNzViOTQzZTJiNTZhMmQ4
MGJiODA3M2RmOWUxLi4zMmYzYTQ2YWEwZjA5YjEzYjAyNGU0MTY0MDc4YTVkYWRkZWRjNTRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5LmgKQEAgLTMwNyw2ICszMDcsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBs
YXlBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUpOwogICAgIHZvaWQgcGF1c2VBdEhvc3RUaW1lKE1v
bm90b25pY1RpbWUpOwogCisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworI2lmIFBM
QVRGT1JNKENPQ09BKQorICAgIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0
YShXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJS
ZWY+JiYpOworI2VuZGlmCisKICAgICBib29sIG1lZGlhUGxheWVyUGF1c2VkT3JTdGFsbGVkKCkg
Y29uc3Q7CiAgICAgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQoY29uc3QgTWVkaWFUaW1lJik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOGVjNjAzZmVjYzFmMThkODRj
MTRkNDczZWE1MWE4MTUxNDA3ZDEyMy4uMzljODcyOWIyNzM5ZTEzNjQ0YjMxYWE4MGRiYTgwZDRh
MzMwYzhhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTEzMiw2ICsx
MzIsOSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQg
ewogCiAgICAgUGxheUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQogICAgIFBhdXNlQXRI
b3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCisKKyAgICBTdGFydFZpZGVvRnJhbWVNZXRhZGF0
YUdhdGhlcmluZygpCisgICAgU3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCiB9CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29h
L1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0KaW5kZXggMDhiMmZk
ZWY1YTRmY2IxOGFkZGJkMTZjMWZkNjA4NmMxYmU5YzI3Yy4uYzZiYmEzYWEyYjRlNTVmYWVmYjkz
M2JiZTJlNjM1OWQ3M2Y2MzE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29h
Lm1tCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIK
ICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisjaW1wb3J0ICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFNpemUuaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJm
YWNlLmg+CkBAIC04Myw2ICs4NCwxMSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNl
dFZpZGVvSW5saW5lU2l6ZUZlbmNlZChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmCiAgICAgc2V0
VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZSgqbV9pbmxpbmVMYXllckhvc3RpbmdDb250ZXh0LCBz
aXplKTsKIH0KIAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck9uTmV3
VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmIG1ldGFkYXRhLCBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIpCit7CisgICAgbV93ZWJQcm9jZXNzQ29ubmVj
dGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpQdXNoVmlkZW9G
cmFtZU1ldGFkYXRhKG1ldGFkYXRhLCBidWZmZXIpLCBtX2lkKTsKK30KKwogdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXVEY6Ok1hY2hTZW5kUmlnaHQ+JiYsIFdlYkNvcmU6OkRl
c3RpbmF0aW9uQ29sb3JTcGFjZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFt
X3BsYXllcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNz
YWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXgg
OGJkMGRiMjk3YmZiNDA3NGY2ODkwMDQyZmNkYTQ3ODQ1MGRmMDU2Ni4uZDFkODZjY2Q1ZTA1NzUz
ODk1NDM0MWJiNWY4ZjA5NmE5YmVkMzA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0
L21lc3NhZ2VzLnB5CkBAIC0zNzAsOCArMzcwLDkgQEAgZGVmIGNvbmRpdGlvbnNfZm9yX2hlYWRl
cihoZWFkZXIpOgogICAgICAgICAnIkxheWVySG9zdGluZ0NvbnRleHQuaCInOiBbIlBMQVRGT1JN
KENPQ09BKSIsIF0sCiAgICAgICAgICciR2VzdHVyZVR5cGVzLmgiJzogWyJQTEFURk9STShJT1Nf
RkFNSUxZKSJdLAogICAgICAgICAnIldDTGF5ZXJUcmVlSG9zdElkZW50aWZpZXIuaCInOiBbIlVT
RShHUkFQSElDU19MQVlFUl9XQykiXSwKLSAgICAgICAgJzxXZWJDb3JlL01lZGlhUGxheWJhY2tU
YXJnZXRDb250ZXh0Lmg+JzogWyJFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSJdLAor
ICAgICAgICAnPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4nOiBbIlBMQVRGT1JNKENPQ09BKSIsIF0s
CiAgICAgICAgICc8V2ViQ29yZS9EYXRhRGV0ZWN0b3JUeXBlLmg+JzogWyJFTkFCTEUoREFUQV9E
RVRFQ1RJT04pIl0sCisgICAgICAgICc8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4
dC5oPic6IFsiRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkiXSwKICAgICB9CiAgICAg
aWYgbm90IGhlYWRlciBpbiBjb25kaXRpb25zOgogICAgICAgICByZXR1cm4gTm9uZQpAQCAtNjc4
LDYgKzY3OSw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgIGhlYWRlcl9pbmZv
c19hbmRfdHlwZXMgPSBjbGFzc190ZW1wbGF0ZV9oZWFkZXJzKHR5cGUpCiAKICAgICBzcGVjaWFs
X2Nhc2VzID0geworICAgICAgICAnQ1ZQaXhlbEJ1ZmZlclJlZic6IFsnPFdlYkNvcmUvQ1ZVdGls
aXRpZXMuaD4nXSwKICAgICAgICAgJ01hY2hTZW5kUmlnaHQnOiBbJzx3dGYvTWFjaFNlbmRSaWdo
dC5oPiddLAogICAgICAgICAnSlNDOjpNZXNzYWdlTGV2ZWwnOiBbJzxKYXZhU2NyaXB0Q29yZS9D
b25zb2xlVHlwZXMuaD4nXSwKICAgICAgICAgJ0pTQzo6TWVzc2FnZVNvdXJjZSc6IFsnPEphdmFT
Y3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CmluZGV4IDYyYjExZGY1ZWFmYTYzNWRiZDM2YzcxMGQ5ZDZkNWY2NWQ4YzM3YzYuLmNiOWFkNjFm
MDFiOTg1ZjJkNmMwYzJlYTg1NWJlM2FiYzkxZmZkMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZS5jcHAKQEAgLTgwLDYgKzgwLDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CisjaW1wb3J0IDxXZWJDb3JlL1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KICNpbXBvcnQgPFdl
YkNvcmUvVmlkZW9MYXllck1hbmFnZXJPYmpDLmg+CiAjZW5kaWYKIApAQCAtMTM3Nyw2ICsxMzc4
LDI3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwYXVzZUF0SG9zdFRpbWUoY29u
c3QgTW9ub3RvbmljVGltZSYgdGltZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RkOjpvcHRp
b25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9G
cmFtZU1ldGFkYXRhKCkKK3sKKyAgICBhdXRvIHZpZGVvRnJhbWVNZXRhZGF0YSA9IHN0ZDo6ZXhj
aGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEsIHsgfSk7CisgICAgcmV0dXJuIHZpZGVvRnJhbWVN
ZXRhZGF0YTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6U3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSwgbV9pZCk7
Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzdG9wVmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0g
ZmFsc2U7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0
aFZpZGVvRnJhbWVNZXRhZGF0YSA9IG51bGxwdHI7CisjZW5kaWYKKyAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RvcFZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30KKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OnJlcXVlc3RSZXNvdXJjZShSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciByZW1vdGVN
ZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyOjpMb2FkT3B0aW9ucyBvcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAg
ICAgQVNTRVJUKCFtX21lZGlhUmVzb3VyY2VzLmNvbnRhaW5zKHJlbW90ZU1lZGlhUmVzb3VyY2VJ
ZGVudGlmaWVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAppbmRleCBiNWY1YjViYzFjNTJh
Mzk5YzkxYmM1MGNiYWRmNWZlYzlmNTU1YzQwLi5hNTU5OWQ2MjUyMGRiMmM4N2QwMTFlYTJkMmFk
NDgxNjNlNjkwMDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTM5LDYgKzM5LDcg
QEAKICNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZVJlbW90ZS5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFQbGF5ZXJQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdp
bkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVNZXRhZGF0YS5oPgogI2luY2x1
ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CiAjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTU2LDYgKzU3LDEwIEBAIHN0cnVjdCBHZW5lcmljQ3Vl
RGF0YTsKIGNsYXNzIElTT1dlYlZUVEN1ZTsKIGNsYXNzIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFD
dWVWYWx1ZTsKIGNsYXNzIFZpZGVvTGF5ZXJNYW5hZ2VyOworCisjaWYgUExBVEZPUk0oQ09DT0Ep
CitjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtNDAwLDYgKzQwNSwxNCBAQCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhv
c3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmKSBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZUNvbmZp
Z3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpOwogCisgICAgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgp
IGZpbmFsOworICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5h
bDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgcHVzaFZpZGVvRnJhbWVNZXRhZGF0YShXZWJD
b3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYp
OworI2VuZGlmCisKICAgICBXZWFrUHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyPiBtX3BsYXllcjsK
ICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBtX21lZGlhUmVz
b3VyY2VMb2FkZXI7CiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC00NTAsNiArNDYzLDEyIEBAIHBy
aXZhdGU6CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZl
clJlZj4gbV9waXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lOwogI2VuZGlmCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IG1fcGl4ZWxCdWZmZXJHYXRo
ZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGE7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OlBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y+IG1fcGl4ZWxCdWZmZXJDb25mb3JtZXI7CisjZW5kaWYK
KyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YT4gbV92aWRlb0Zy
YW1lTWV0YWRhdGE7CisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsg
ZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgppbmRleCAxMThlMDI1YTY5YjNmYTQxZjU1OWU1YWEw
YmY5OGQzNzkxYmU1ZGU0Li5hNjA2MDM5MGU5MDU5MDg2ZGY0NTNmNzU2MWQ5ZjUxN2U2YjRhZTBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtOTEs
NiArOTEsMTAgQEAgbWVzc2FnZXMgLT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNv
dW50ZWQgewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgR2V0UmF3Q29va2llcyhVUkwg
dXJsKSAtPiAoVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4gcmVzdWx0KSBBc3luYwogI2VuZGlmCisK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBQdXNoVmlkZW9GcmFtZU1ldGFkYXRhKHN0cnVjdCBX
ZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiBidWZmZXIpOworI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KaW5kZXggYTJmODM1MmZiMjBmYmIyYTBkNjJm
YWVjNTliMmY0YTgyNjU0YmJmZi4uYzBiNzc2ZGM3NzNiMTdmYTQzMGNkNTg5NjhiMDA3YjMxYmQ3
NmE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2Nv
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1t
CkBAIC0zMyw5ICszMywxMiBAQAogI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAj
aW1wb3J0IDxXZWJDb3JlL0NvbG9yU3BhY2VDRy5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZh
Y2UuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgogI2ltcG9y
dCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CiAjaW1wb3J0IDx3dGYvTWFjaFNlbmRS
aWdodC5oPgogCisjaW1wb3J0IDxXZWJDb3JlL0NvcmVWaWRlb1NvZnRMaW5rLmg+CisKIG5hbWVz
cGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTQ2LDggKzQ5LDI1
IEBAIFBsYXRmb3JtTGF5ZXJDb250YWluZXIgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjcmVh
dGVWaWRlb0Z1bGxzY3JlZW5MYXllcigpCiB9CiAjZW5kaWYKIAordm9pZCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OnB1c2hWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1l
dGFkYXRhJiYgdmlkZW9GcmFtZU1ldGFkYXRhLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4m
JiBidWZmZXIpCit7CisgICAgaWYgKCFtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQor
ICAgICAgICByZXR1cm47CisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGEgPSBXVEZNb3ZlKHZpZGVv
RnJhbWVNZXRhZGF0YSk7CisgICAgbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVN
ZXRhZGF0YSA9IFdURk1vdmUoYnVmZmVyKTsKK30KKwogUmVmUHRyPE5hdGl2ZUltYWdlPiBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6Om5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKQogeworICAg
IGlmIChtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhKSB7CisgICAg
ICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgICAgIG1fcGl4ZWxCdWZm
ZXJDb25mb3JtZXIgPSBtYWtlVW5pcXVlPFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y+KChfX2JyaWRn
ZSBDRkRpY3Rpb25hcnlSZWYpQHsgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NWUGl4ZWxCdWZmZXJQ
aXhlbEZvcm1hdFR5cGVLZXk6IEAoa0NWUGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSkgfSk7CisgICAg
ICAgIEFTU0VSVChtX3BpeGVsQnVmZmVyQ29uZm9ybWVyKTsKKyAgICAgICAgaWYgKCFtX3BpeGVs
QnVmZmVyQ29uZm9ybWVyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJl
dHVybiBOYXRpdmVJbWFnZTo6Y3JlYXRlKG1fcGl4ZWxCdWZmZXJDb25mb3JtZXItPmNyZWF0ZUlt
YWdlRnJvbVBpeGVsQnVmZmVyKG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0
YWRhdGEuZ2V0KCkpKTsKKyAgICB9CisKICAgICBzdGQ6Om9wdGlvbmFsPE1hY2hTZW5kUmlnaHQ+
IHNlbmRSaWdodDsKICAgICBhdXRvIGNvbG9yU3BhY2UgPSBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6
OlNSR0IoKTsKICAgICBpZiAoIWNvbm5lY3Rpb24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6TmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpLCBNZXNzYWdlczo6
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6TmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZTo6UmVwbHko
c2VuZFJpZ2h0LCBjb2xvclNwYWNlKSwgbV9pZCkpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGRlOWEyNWI2MGZiNDVlMmRlMGEwMjJlZWQ1YmJm
Mjc1YThjZTc5Ni4uYzY2MmNlYjllYWVhYTk3YzlkZDAwYWNlNzZkMDg5ZTg3N2U4MTdjNSAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgcnZmYyBi
eSBkZWZhdWx0IGluIHRlc3QgcnVubmVyLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwOgorCiAyMDIxLTExLTE0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSByZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2lt
dWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hEKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDVkMjAxMDU0MWUxYjQ0YjE3NGMyZTFjZGU1MjQ0MTI2
OTI0NTViMGYuLmYzMzlhNDMzM2MwYTkwZjVhNGRlM2VlNmY3YzcwODZlNzYwMThmYzUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTg2MywxMSArODYz
LDggQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyhXZWJQcmVm
ZXJlbmNlcyAqcHJlZmVyZW5jZXMsIGNvbnN0IFcKICAgICAgICAgW3ByZWZlcmVuY2VzIF9yZXNl
dEZvclRlc3RpbmddOwogCiAgICAgICAgIGlmIChlbmFibGVBbGxFeHBlcmltZW50YWxGZWF0dXJl
cykgewotICAgICAgICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJl
bmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6
IFdlIGRpc2FibGUgcnZmYyBieSBkZWZhdWx0LiBFbmFibGUgaXQgd2hlbiB0aGUgdmlkZW8gYmFj
a2VuZCBzdXBwb3J0IGlzIGdvb2QgZW5vdWdoLgotICAgICAgICAgICAgICAgIGF1dG8gZW5hYmxl
ZCA9IFtmZWF0dXJlLm5hbWUgaXNFcXVhbDpAIlJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2siXSA/
IE5PIDogWUVTOwotICAgICAgICAgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDplbmFi
bGVkIGZvckZlYXR1cmU6ZmVhdHVyZV07Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBmb3Ig
KFdlYkZlYXR1cmUgKmZlYXR1cmUgaW4gW1dlYlByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0
dXJlc10pCisgICAgICAgICAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOllFUyBmb3JG
ZWF0dXJlOmZlYXR1cmVdOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHBlcnNpc3RlbnRVc2Vy
U3R5bGVTaGVldExvY2F0aW9uKCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKaW5kZXggYjA5MGJiZDMxZmY0ODZkMTlkMzc5YWM0MDgyOGRmM2VkZDBiMmRmNi4u
ZWQyODAyZmIxZTc2NmRjNWRlNjdjNDRkMTU3NjYxNjMyYzM5MzFhMyAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTkwNSw5ICs5MDUsNiBAQCB2b2lkIFRl
c3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRl
c3RPcHRpb25zJiBvcHRpbwogICAgICAgICBpZiAoZW5hYmxlQWxsRXhwZXJpbWVudGFsRmVhdHVy
ZXMpCiAgICAgICAgICAgICBXS1ByZWZlcmVuY2VzRW5hYmxlQWxsRXhwZXJpbWVudGFsRmVhdHVy
ZXMocHJlZmVyZW5jZXMpOwogCi0gICAgICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkg
ZGVmYXVsdC4gRW5hYmxlIGl0IHdoZW4gdGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29k
IGVub3VnaC4KLSAgICAgICAgV0tQcmVmZXJlbmNlc1NldFJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJh
Y2tFbmFibGVkKHByZWZlcmVuY2VzLCBmYWxzZSk7Ci0KICAgICAgICAgV0tQcmVmZXJlbmNlc1Jl
c2V0QWxsSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAogICAgICAgICBXS1By
ZWZlcmVuY2VzU2V0UHJvY2Vzc1N3YXBPbk5hdmlnYXRpb25FbmFibGVkKHByZWZlcmVuY2VzLCBv
cHRpb25zLnNob3VsZEVuYWJsZVByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uKCkpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE1
NGQwMGUyYWY3MTZlZTJkMjI1MDhkNjc0MGM4MDNjYzdjY2U4ZTkuLjkyNTdlNjdkYzJmM2M3ZTQ4
ZTFkZGEwYTU5MWJmMTIyMzQwM2MwZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0xMS0x
NSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5
ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0xMS0xNCAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaW5nZXJz
IGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9wIGFuIGFuaW1hdGVkIHNjcm9sbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWY4Yzk5MDM4NmUxMjkxNzBiOGIxYTZhOWMw
ZjYxNGE0NmIxZGI2OS4uNGEwMTc4Y2M5ZGFhN2I5OTBhMTc3ODYwNzYzZTA1MTgzMjYzNmYxZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEt
MTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUGxh
eWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2
ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWw6CisK
IDIwMjEtMTEtMTQgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBNb2Rh
bCBkaWFsb2dzIHNob3VsZCBtYWtlIHRoZSByb290IGVsZW1lbnQgdW5mb2N1c2FibGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVz
dC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0CmluZGV4IDY2MzlkNGYyODg1
ZTFmOTc2NDhkNTA1NDc3MGVhZmViNDMyZGM1MGQuLjdlNWM0ODYyMDQ1MzQ3OTQzOTQxYmNjYzVk
NGJlZTc2NjIxYTYyMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRv
bS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVj
dGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3Nh
Z2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCBhIHZpZGVvIG91dHNpZGUgb2YgdGhlIERPTSBjYW4g
c3RpbGwgdXNlIHZpZGVvLnJWRkMuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8u
clZGQyB3b3JrcyB3aXRoICJkaXNwbGF5Om5vbmUiLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBU
ZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAidmlzaWJpbGl0eTpoaWRkZW4iLiBUZXN0IHRpbWVk
IG91dAorUEFTUyBUZXN0IGEgdmlkZW8gb3V0c2lkZSBvZiB0aGUgRE9NIGNhbiBzdGlsbCB1c2Ug
dmlkZW8uclZGQy4KK1BBU1MgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggImRpc3BsYXk6bm9u
ZSIuCitQQVNTIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJ2aXNpYmlsaXR5OmhpZGRlbiIu
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCBjYTdjYjNlOTRj
ZGZiMjUyNThiOWQ5OWI0ZjRkNDdlZGEwZTc3MjE2Li5jZDc5NjEyMDU1MTcxNjhiNTQzYmY1OWJi
ZTBmYWUyNjlmZTBiZDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0
CkBAIC0xLDEwICsxLDggQEAKIAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKLQotVElNRU9VVCBUZXN0IHdlIGNhbiByZWdpc3RlciBhIHZpZGVvLnJWRkMgY2FsbGJh
Y2suIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyBjYWxsYmFja3MgcnVu
IGJlZm9yZSB3aW5kb3cuckFGIGNhbGxiYWNrcy4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVz
dCB3ZSBjYW4gY2FuY2VsIGEgdmlkZW8uclZGQyByZXF1ZXN0LiBUZXN0IHRpbWVkIG91dAorUEFT
UyBUZXN0IHdlIGNhbiByZWdpc3RlciBhIHZpZGVvLnJWRkMgY2FsbGJhY2suCitQQVNTIFRlc3Qg
dmlkZW8uclZGQyBjYWxsYmFja3MgcnVuIGJlZm9yZSB3aW5kb3cuckFGIGNhbGxiYWNrcy4KK1BB
U1MgVGVzdCB3ZSBjYW4gY2FuY2VsIGEgdmlkZW8uclZGQyByZXF1ZXN0LgogUEFTUyBUZXN0IGlu
dmFsaWQgY2FsbHMgdG8gdGhlIHZpZGVvLnJWRkMgQVBJLgotVElNRU9VVCBUZXN0IHZpZGVvLnJW
RkMgZG9lcyBub3Qgc3RvcCB3aGVuIHN3aXRjaGluZyBzb3VyY2VzLiBUZXN0IHRpbWVkIG91dAor
UEFTUyBUZXN0IHZpZGVvLnJWRkMgZG9lcyBub3Qgc3RvcCB3aGVuIHN3aXRjaGluZyBzb3VyY2Vz
LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50
eHQKaW5kZXggNmZlNjg0YWU4ZTY2ZGFiOGNjZTY4ZDIyNzUzNTk1YTg0NDhjNmI5MC4uMzJiOTlh
ZWQ1NDU3ZGZhMWJmMmE5MTYzMzFkMjZmMWVkOWQ5YjVkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKIAog
Ci1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBUZXN0
IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5mb3JtYXRpb24uIFRlc3QgdGltZWQgb3V0Ci1USU1F
T1VUIFRlc3Qgd2UgY2FuIGNhbmNlbCBjYWxsYmFja3MgZnJvbSBjYWxsYmFja3MuIFRlc3QgdGlt
ZWQgb3V0CitQQVNTIFRlc3QgY2FsbGJhY2tzIGdldCB0aGUgc2FtZSBpbmZvcm1hdGlvbi4KK1BB
U1MgVGVzdCB3ZSBjYW4gY2FuY2VsIGNhbGxiYWNrcyBmcm9tIGNhbGxiYWNrcy4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQKaW5kZXgg
YjRhNWJlM2RkMjUxMmI4NWMzODU1NWI4ZjNjZTcwMzY3OGVkNGRmZC4uYTYzMWExNzZiZDU5YjZk
ZjFjNDU1NmQzY2RiMTE0NWQzYzY5NTg2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAogCiAKLUhhcm5l
c3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgbmV3IGNh
bGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24gdGhlIG5leHQgZnJhbWUuIFRlc3QgdGltZWQgb3V0
Ci1USU1FT1VUIFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5kIHZlcmlmeSB0
aGUgcmVxdWlyZWQgcGFyYW1ldGVycy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBuZXcgY2Fs
bGJhY2tzIGFyZSBvbmx5IGNhbGxlZCBvbiB0aGUgbmV4dCBmcmFtZS4KK0ZBSUwgVGVzdCBjaGFp
bmluZyBjYWxscyB0byB2aWRlby5yVkZDLCBhbmQgdmVyaWZ5IHRoZSByZXF1aXJlZCBwYXJhbWV0
ZXJzLiBhc3NlcnRfZ3JlYXRlcl90aGFuOiBwcmVzZW50YXRpb25UaW1lIHNob3VsZCBiZSBtb25v
dG9uaWNhbGx5IGluY3JlYXNpbmcgZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJ1bmRlZmlu
ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVz
dC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sCmluZGV4IGE0NDA0MTQzZmE0MDhlYmJiOGY0OWNj
MzE4MGUwNjVkMjAwZmZhNGEuLjQ3YTEwOWU4MjJhYmQ0ZWVlYjM1Y2I0MTJiNDQwOWVkZGEwYjMz
NDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbApAQCAtMTA1LDYgKzEwNSw3IEBAIHRlc3QoZnVu
Y3Rpb24odCkgewogCiBwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgewogICAgIGxldCB2
aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAgdmlkZW8uYXV0b3Bs
YXkgPSB0cnVlOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCiAgICAg
bGV0IGZpcnN0X3dpZHRoID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBmOGFhZGI5OTZmNzc5OGI2NTA1OTIxN2U2NWY0NjEyMzNmOTYz
YzBmLi4zNjRkZTcwN2YxZjVmNWM5N2JhMDAxMDA0NGQ2NDNiYjZjMjc4ZTNkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDMsMTMgKzE0
Myw5IEBAIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jbmFtZS1jbG9ha2luZy10
b3Atbm8tY25hbWUtc3ViLW5vLWNuYW1lLmh0bWwKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYyBbIFBhc3MgXQogZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEt
cnZmYy5odG1sIFsgUGFzcyBdCiB3ZWJydGMvcGVlckNvbm5lY3Rpb24tcnZmYy5odG1sIFsgUGFz
cyBdCi0jIFRpbWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIHJlZ3VsYXIgdmlkZW8gc3RyZWFt
aW5nIGJhY2tlbmQgc3VwcG9ydC4KKyMgVGltaW5nIG91dCB0ZXN0cyB1bnRpbCB3ZSBhZGQgWFIg
c2Vzc2lvbi4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBT
a2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0
LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1k
dXJpbmcteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJh
bGxlbC5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRtbCBbIFNraXAg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBbIFNraXAgXQogCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCiAjIEVuZCBwbGF0Zm9ybS1zcGVjaWZpYyBkaXJlY3Rvcmllcy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxZGY5NWQw
NTMzNTMwNjUzOTI3M2UyMDEzOTFmMzBmNGNlZjJkZDQ4Li4xY2JjNGVjNDUyNTM1MmJjNDQ4YTk2
ZTZhYWFiZDgzMmJlYTE2NDM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0zMyw2ICszMywxMSBAQCBodHRwL3Rlc3RzL3NlY3VyaXR5L3hz
cy1ERU5JRUQteHNsLWV4dGVybmFsLWVudGl0eS1uby1sb2dnaW5nLnhtbCBbIFBhc3MgXQogIyBy
ZGFyOi8vcHJvYmxlbS82MTc5Mzg4NCA6IEVuYWJsaW5nIHRoaXMgdGVzdCBmb3IgV0sxIG9ubHku
CiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWltYWdlZGF0
YS1vdmVyZmxvdy5odG1sIFsgUGFzcyBdCiAKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYyBbIFBhc3MgXQorIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCBY
UiBzZXNzaW9uLgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stYmVmb3JlLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBb
IFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNr
aXAgXQorCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBwbGF0Zm9y
bS1zcGVjaWZpYyBkaXJlY3Rvcmllcy4KICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCAzMjJhNWJlZDlhNmUzMTIzZjdjNGM0YWUwYTQ4ZDg1YmEzZjlhZGJkLi4yZmQwNzRhMWFjZDgz
YTljMDY3N2RhMGVlYjQyZTA3Y2Q2NGI0NmZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjIsMTMgKzEyMiw5IEBAIHN0b3JhZ2UvaW5k
ZXhlZGRiL2RhdGFiYXNlLXRyYW5zYWN0aW9uLWN5Y2xlLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYyBbIFBhc3MgXQogZmFzdC9tZWRpYXN0
cmVhbS9nZXRVc2VyTWVkaWEtcnZmYy5odG1sIFsgUGFzcyBdCiB3ZWJydGMvcGVlckNvbm5lY3Rp
b24tcnZmYy5odG1sIFsgUGFzcyBdCi0jIFRpbWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIHJl
Z3VsYXIgdmlkZW8gc3RyZWFtaW5nIGJhY2tlbmQgc3VwcG9ydC4KKyMgVGltaW5nIG91dCB0ZXN0
cyB1bnRpbCB3ZSBhZGQgWFIgc2Vzc2lvbi4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14ci1zZXNz
aW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS5odG1sIFsgU2tpcCBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay1kdXJpbmcteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1m
cmFtZS1jYWxsYmFjay1wYXJhbGxlbC5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBl
YXRpbmcuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBbIFNraXAgXQogCiAjLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBwbGF0Zm9ybS1zcGVjaWZpYyBk
aXJlY3Rvcmllcy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444350</attachid>
            <date>2021-11-16 00:16:53 -0800</date>
            <delta_ts>2021-11-17 00:09:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211116091648.patch</filename>
            <type>text/plain</type>
            <size>53598</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMjdhNzIwZDEzN2YxMGU1YzczZGIwNDU0ZWY1Nzlj
NzNkOWFjMGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaDoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9w
IGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdm
MWFhMjRlYmRkYTNjZWRkLi43M2U0NTFlYzFlMjZkNmMzYjYyZWY1NDJjNjZhOTgwNWFiMWMzODIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3MzcyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHN0YXJ0L3N0b3AgbWV0YWRhdGEgZ2F0aGVyaW5nIGZyb20gV2ViUHJvY2VzcyB0byBH
UFVQcm9jZXNzLgorICAgICAgICBBZGQgSVBDIG1lc3NhZ2luZyB0byBwdXNoIG1ldGFkYXRhIHRv
IFdlYlByb2Nlc3MsIGluY2x1ZGluZyBzZW5kaW5nIHRoZSBjb3JyZXNwb25kaW5nIENWUGl4ZWxC
dWZmZXIgZm9yIHRoZSBjdXJyZW50IG1ldGFkYXRhLgorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUgd2lsbCB0aGVuIHNlcnZlIHRoYXQgYnVmZmVyIHdoZW4gYmVpbmcgcmVxdWVzdGVk
IHRoZSBjdXJyZW50IGltYWdlLgorICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCBwYWludGluZyBv
biBhIGNhbnZhcyBkb2VzIG5vdCBtYXJrIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyBhY3F1aXJlZCwg
d2hpY2ggd291bGQgdGhlbiBza2lwIHRoZSB2aWRlbyBmcmFtZSBtZXRhZGF0YSBnYXRoZXJpbmcu
CisgICAgICAgIFRoaXMgYWxzbyBlbnN1cmVzIHRoZSBzYW1lIGJ1ZmZlciBpcyB1c2VkIGlmIGEg
dmlkZW8gZWxlbWVudCBpcyBwYWludGVkIHNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBzYW1lIHJ2
ZmMgY2FsbGJhY2suCisgICAgICAgIFRoaXMgaGFzIHRoZSBzaWRlIGJlbmVmaXQgb2YgcmVtb3Zp
bmcgdGhlIHN5bmNocm9ub3VzIElQQyB0byBwYWludCB0aGUgdmlkZW8gZWxlbWVudCBpbiBhIGNh
bnZhcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIxLTExLTE0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSBy
ZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAyZWNiZjVkYmFhZGVk
NDJlNzc5MDQ0MDVhYzAxMzFlMzhmYzI5YmU3Li42OTU2Njk0OTYzMTBlZjkxMDhiOTU2ZmRhNDgy
MTQzMDE0OTcwZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
NjQxLDYgKzY0MSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldENoYW5naW5nVmlkZW9GdWxs
c2NyZWVuTW9kZShib29sIHZhbHVlKSB7IG1fY2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlID0g
dmFsdWU7IH0KICAgICBib29sIGlzQ2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlKCkgY29uc3Qg
eyByZXR1cm4gbV9jaGFuZ2luZ1ZpZGVvRnVsbHNjcmVlbk1vZGU7IH0KIAorcHJvdGVjdGVkOgor
ICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgb3ZlcnJpZGU7CisKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIApAQCAtNjkyLDcgKzY5NSw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBtZWRpYVBsYXllclNpemVDaGFuZ2VkKCkgZmluYWw7CiAgICAgdm9pZCBt
ZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKCkgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBs
YXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkgZmluYWw7Ci0gICAgdm9pZCBtZWRp
YVBsYXllckVuZ2luZVVwZGF0ZWQoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyV2lsbElu
aXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQgbWVkaWFQbGF5ZXJEaWRJbml0
aWFsaXplTWVkaWFFbmdpbmUoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyUmVsb2FkQW5k
UmVzdW1lUGxheWJhY2tJZk5lZWRlZCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZp
ZGVvRWxlbWVudC5jcHAKaW5kZXggYmIwNWUyNzYxZjgyZGM5ZGUzMTFkNGNiYTIzNDc5NTE2OTA5
YzMyOS4uZDc2OWU1M2FlYjFlMThhN2Q5NzFhNjM2ZTE5ZDJiZTA1NjJmZTU3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC01ODgsNiArNTg4LDkgQEAgdm9p
ZCBIVE1MVmlkZW9FbGVtZW50OjpleGl0VG9GdWxsc2NyZWVuTW9kZVdpdGhvdXRBbmltYXRpb25J
ZlBvc3NpYmxlKEhUTUxNZWRpYUUKIAogdW5zaWduZWQgSFRNTFZpZGVvRWxlbWVudDo6cmVxdWVz
dFZpZGVvRnJhbWVDYWxsYmFjayhSZWY8VmlkZW9GcmFtZVJlcXVlc3RDYWxsYmFjaz4mJiBjYWxs
YmFjaykKIHsKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBsYXll
cigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmco
KTsKKwogICAgIGF1dG8gaWRlbnRpZmllciA9ICsrbV9uZXh0VmlkZW9GcmFtZVJlcXVlc3RJbmRl
eDsKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5hcHBlbmQobWFrZVVuaXF1ZVJlZjxWaWRlb0Zy
YW1lUmVxdWVzdD4oaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpKTsKIApAQCAtNjA3LDYg
KzYxMCw5IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNr
KHVuc2lnbmVkIGlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV92aWRl
b0ZyYW1lUmVxdWVzdHMucmVtb3ZlKGluZGV4KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1
ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiB9CiAKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6c2Vy
dmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNvbHV0aW9uU2Vjb25kcyBu
b3cpCkBAIC02MjcsMTMgKzYzMywyMyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZAogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsYmFja0NvdW50OyArK2luZGV4KSB7CiAg
ICAgICAgIGF1dG8mIHJlcXVlc3QgPSBtX3ZpZGVvRnJhbWVSZXF1ZXN0c1tpbmRleF07CiAgICAg
ICAgIGlmICghcmVxdWVzdC0+Y2FuY2VsbGVkKSB7Ci0gICAgICAgICAgICByZXF1ZXN0LT5jYWxs
YmFjay0+aGFuZGxlRXZlbnQobm93LnZhbHVlKCksICp2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAg
ICAgICAgICAgcmVxdWVzdC0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0ZDo6cm91bmQobm93Lm1p
bGxpc2Vjb25kcygpKSwgKnZpZGVvRnJhbWVNZXRhZGF0YSk7CiAgICAgICAgICAgICByZXF1ZXN0
LT5jYW5jZWxsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQogICAgIG1faXNSdW5uaW5nVmlk
ZW9GcmFtZVJlcXVlc3RzID0gZmFsc2U7CiAKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1v
dmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2FsbGJhY2stPmNhbmNl
bGxlZDsgfSk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBs
YXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworfQorCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZCgpCit7CisgICAgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7
CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisg
ICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1Yjhj
N2FlMDBjNGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLjg1NmFkZWE3OGZiNzM5OGQ4ZmI0NWY0NDhh
MzU5MWJkYTU1Zjk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBA
IC0xNDEsNiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpN
ZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIG1lZGlhUGxheWVy
RW5naW5lVXBkYXRlZCgpIGZpbmFsOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxJbWFnZUxv
YWRlcj4gbV9pbWFnZUxvYWRlcjsKIAogICAgIEF0b21TdHJpbmcgbV9kZWZhdWx0UG9zdGVyVVJM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAppbmRleCA4
ZmQ5YTQ3MDAyNDhkNGQyNzhkY2UyNzQ5NzgzNjBhNTdiYWY1OWVhLi45NGRkZjBlZjBmNjExMzVi
ZDliNjg5MDhiODExNTZmYmJiZGYyM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaApAQCAtNDMsOCArNDMsNzMgQEAgc3RydWN0IFZpZGVvRnJhbWVN
ZXRhZGF0YSB7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNhcHR1cmVUaW1lOwogICAgIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiByZWNlaXZlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPiBydHBUaW1lc3RhbXA7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
IAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2b2lkIFZpZGVvRnJhbWVNZXRhZGF0
YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBwcmVz
ZW50YXRpb25UaW1lIDw8IGV4cGVjdGVkRGlzcGxheVRpbWUgPDwgd2lkdGggPDwgaGVpZ2h0IDw8
IG1lZGlhVGltZSA8PCBwcmVzZW50ZWRGcmFtZXMgPDwgcHJvY2Vzc2luZ0R1cmF0aW9uIDw8IGNh
cHR1cmVUaW1lIDw8IHJlY2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
VmlkZW9GcmFtZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBkZWNvZGVyID4+IHByZXNl
bnRhdGlvblRpbWU7CisgICAgaWYgKCFwcmVzZW50YXRpb25UaW1lKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgZGVjb2RlciA+PiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGlmICghZXhw
ZWN0ZWREaXNwbGF5VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAg
aWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdodDsKKyAgICBpZiAo
IWhlaWdodCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBtZWRpYVRpbWU7CisgICAgZGVjb2RlciA+PiBtZWRpYVRpbWU7CisgICAgaWYg
KCFtZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBwcmVzZW50ZWRGcmFtZXM7CisgICAgZGVjb2RlciA+PiBwcmVzZW50
ZWRGcmFtZXM7CisgICAgaWYgKCFwcmVzZW50ZWRGcmFtZXMpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJv
Y2Vzc2luZ0R1cmF0aW9uOworICAgIGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGlmICghcHJvY2Vzc2luZ0R1cmF0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IGNhcHR1cmVUaW1lOwor
ICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAgaWYgKCFjYXB0dXJlVGltZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25h
bDxkb3VibGU+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2VpdmVUaW1lOworICAg
IGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1lc3RhbXA7CisgICAg
ZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3RhbXApCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9GcmFtZU1ldGFkYXRhIHsg
KnByZXNlbnRhdGlvblRpbWUsICpleHBlY3RlZERpc3BsYXlUaW1lLCAqd2lkdGgsICpoZWlnaHQs
ICptZWRpYVRpbWUsICpwcmVzZW50ZWRGcmFtZXMsICpwcm9jZXNzaW5nRHVyYXRpb24sICpjYXB0
dXJlVGltZSwgKnJlY2VpdmVUaW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCBhNDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQx
NzA2NTk2Li43NWQ0OTUzNGY0ZDFiNzlkYjZkZTcwZGJkODMwNmE3NDI3Y2Q0MjBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01
OTAsNiArNTkwLDggQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUo
Y29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJp
dmF0ZS0+c2V0UGFnZUlzVmlzaWJsZShtX3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYg
KG1fdmlzaWJsZUluVmlld3BvcnQpCiAgICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNp
YmxlSW5WaWV3cG9ydChtX3Zpc2libGVJblZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0
ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1fcHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJl
c2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJlcGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTE3MjEsNiArMTcyMywyNSBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
TWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxz
ZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30K
KworI2lmIFBMQVRGT1JNKENPQ09BKQordm9pZCBNZWRpYVBsYXllcjo6b25OZXdWaWRlb0ZyYW1l
TWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllck9uTmV3Vmlk
ZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1ZmZlcikpOworfQor
I2VuZGlmCisKIFN0cmluZyBNZWRpYVBsYXllcjo6ZWxlbWVudElkKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJFbGVtZW50SWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDViMWUxNzQ1MTNlMDZmYTAx
ZDUxOTBiNTVlNTA1MzU1NWVmZDc2MzcuLjAwNDViNTRmNTA0ODIwMzNkNGY4ZjM0YzZjZDY1ZTNk
OTA5YTczMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMjg2LDYgKzI4NiwxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFQbGF5ZXJRdWV1ZVRhc2tPbkV2ZW50TG9vcChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykg
eyBjYWxsT25NYWluVGhyZWFkKFdURk1vdmUodGFzaykpOyB9CiAKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShW
aWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpIHsgfQor
I2VuZGlmCisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB2aXJ0dWFsIGNvbnN0IHZv
aWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSA9IDA7CkBAIC01ODQsNiAr
NTg4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRleHRUcmFjayhJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlJik7CiAgICAgdm9pZCByZW1vdmVWaWRlb1RyYWNrKFZpZGVvVHJhY2tQcml2YXRl
Jik7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFk
YXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7
CisjZW5kaWYKKwogICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbigpIGNv
bnN0OwogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24qKTsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKQEAgLTY4MSw2ICs2
ODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNNZWRpYUVuZ2luZSgpIGNvbnN0OwogCiAgICAg
c3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpOwor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0
b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYVBs
YXllcihNZWRpYVBsYXllckNsaWVudCYpOwpAQCAtNzI1LDYgKzczNSw3IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiAgICAgYm9vbCBtX3Nob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQgeyBmYWxzZSB9Owog
I2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2Ug
fTsKIH07CiAKIGNsYXNzIE1lZGlhUGxheWVyRmFjdG9yeSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY1YTQw
YWJjOGE3OWE2Y2UwNjRiNzAyY2RkMGM5YTlhYTY2M2RkMzkuLmNmNDYzMTJjNTJhOTg3MmJjMDQ1
YWQxZDQyMmFmNDhiMTAwOGNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGlt
ZSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8VmlkZW9G
cmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSB7IHJldHVybiB7IH07IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIHsgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDU5ZWNhNDUxMzRmZTZmNDA1OTkwMmUyMWNlN2U3
ZTVhZGU4MGJmYTIuLmNkMWJhZjZlNDhjZGQwYjVlNmVhOWI0YTZiOTJjZDVmN2Y2OGU5MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTM0Miw2ICszNDIsMTEgQEAgcHJpdmF0ZToKICAgICBi
b29sIHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJikgZmluYWw7CiAgICAgYm9v
bCBoYXZlQmVlbkFza2VkVG9QYWludCgpIGNvbnN0IHsgcmV0dXJuIG1faGF2ZUJlZW5Bc2tlZFRv
UGFpbnQ7IH0KIAorICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBm
aW5hbDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsK
KyAgICBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFkYXRh
KCkgZmluYWwgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX3ZpZGVvRnJhbWVNZXRhZGF0YSwgeyB9
KTsgfQorICAgIHZvaWQgY2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKTsKKwogICAgIFJldGFp
blB0cjxBVlVSTEFzc2V0PiBtX2F2QXNzZXQ7CiAgICAgUmV0YWluUHRyPEFWUGxheWVyPiBtX2F2
UGxheWVyOwogICAgIFJldGFpblB0cjxBVlBsYXllckl0ZW0+IG1fYXZQbGF5ZXJJdGVtOwpAQCAt
NDUxLDYgKzQ1NiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXZlUHJvY2Vzc2VkQ2hhcHRl
clRyYWNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3dhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0
YVdpbGxDaGFuZ2VUaW1lZE91dCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhdmVCZWVuQXNrZWRU
b1BhaW50IHsgZmFsc2UgfTsKKyAgICB1aW50NjRfdCBtX3NhbXBsZUNvdW50IHsgMCB9OworICAg
IFJldGFpblB0cjxpZD4gbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcjsKKyAg
ICBib29sIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgeyBmYWxzZSB9OworICAgIHN0
ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBtX3ZpZGVvRnJhbWVNZXRhZGF0YTsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDRkODYxMTNiY2JlNDY5ZWM2ZTAyNTc5
MTAyZDExMGVhOTMwMTAwOTYuLmQ0YWQxOGUwMzJiODIwNjNiOWFiYzk2ZGY2NzQxYTYxMjkwYmMx
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMTEwOCw2ICsxMTA4LDggQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVlBsYXllcigpCiAgICAg
ICAgIH0pOwogICAgIH1dOwogCisgICAgaWYgKG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRh
dGEpCisgICAgICAgIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiAgICAgc2V0
RGVsYXlDYWxsYmFja3MoZmFsc2UpOwogfQogCkBAIC0xNDMzLDYgKzE0MzUsNDYgQEAgYm9vbCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybVBhdXNlZCgpIGNvbnN0
CiAgICAgcmV0dXJuIG1fY2FjaGVkVGltZUNvbnRyb2xTdGF0dXMgPT0gQVZQbGF5ZXJUaW1lQ29u
dHJvbFN0YXR1c1BhdXNlZDsKIH0KIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDOjpzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCit7CisgICAgQVNTRVJU
KCFtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyIHx8IG1fYXZQbGF5ZXIpOwor
ICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSB0cnVlOworCisgICAgLy8gRklY
TUU6IFdlIHNob3VsZCB1c2UgYSBDQURpc3BsYXlMaW5rIHRvIGdldCB1cGRhdGVzIG9uIHJlbmRl
cmluZywgZm9yIG5vdyB3ZSBlbXVsYXRlIHdpdGggYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJ
bnRlcnZhbC4KKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gW21f
YXZQbGF5ZXIgYWRkUGVyaW9kaWNUaW1lT2JzZXJ2ZXJGb3JJbnRlcnZhbDpQQUw6OkNNVGltZU1h
a2UoMSwgNjApIHF1ZXVlOmRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpbd2Vh
a1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0oQ01UaW1lKSB7CisgICAgICAgIGVuc3VyZU9uTWFp
blRocmVhZChbd2Vha1RoaXNdIHsKKyAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAg
ICAgICAgICB3ZWFrVGhpcy0+Y2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKTsKKyAgICAgICAg
fSk7CisgICAgfV07Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKQoreworICAgIGlmICghdXBkYXRlTGFzdFBp
eGVsQnVmZmVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFZpZGVvRnJhbWVNZXRhZGF0YSBt
ZXRhZGF0YTsKKyAgICBtZXRhZGF0YS53aWR0aCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS53
aWR0aCgpOworICAgIG1ldGFkYXRhLmhlaWdodCA9IG1fY2FjaGVkUHJlc2VudGF0aW9uU2l6ZS5o
ZWlnaHQoKTsKKyAgICBtZXRhZGF0YS5wcmVzZW50ZWRGcmFtZXMgPSArK21fc2FtcGxlQ291bnQ7
CisgICAgbWV0YWRhdGEucHJlc2VudGF0aW9uVGltZSA9IFBBTDo6Q01UaW1lR2V0U2Vjb25kcyhb
bV9hdlBsYXllckl0ZW0gY3VycmVudFRpbWVdKSAqIDEwMDA7CisKKyAgICBtX3ZpZGVvRnJhbWVN
ZXRhZGF0YSA9IG1ldGFkYXRhOworICAgIHBsYXllcigpLT5vbk5ld1ZpZGVvRnJhbWVNZXRhZGF0
YShXVEZNb3ZlKG1ldGFkYXRhKSwgbV9sYXN0UGl4ZWxCdWZmZXIuZ2V0KCkpOworfQorCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnN0b3BWaWRlb0ZyYW1lTWV0YWRh
dGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBm
YWxzZTsKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YSA9IHsgfTsKKworICAgIEFTU0VSVChtX3Zp
ZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyKTsKKyAgICBpZiAobV92aWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcikKKyAgICAgICAgW21fYXZQbGF5ZXIgcmVtb3ZlVGlt
ZU9ic2VydmVyOm1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIuZ2V0KCldOwor
ICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIgPSBuaWw7Cit9CisKIE1l
ZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0
aW9uKCkgY29uc3QKIHsKICAgICAvLyBEbyBub3QgYXNrIHRoZSBhc3NldCBmb3IgZHVyYXRpb24g
YmVmb3JlIGl0IGhhcyBiZWVuIGxvYWRlZCBvciBpdCB3aWxsIGZldGNoIHRoZQpAQCAtMjU0OCw3
ICsyNTkwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp1cGRh
dGVMYXN0SW1hZ2UoVXBkYXRlVHlwZSB0eXBlKQogICAgIC8vIENhbGxzIHRvIGNvcHlQaXhlbEJ1
ZmZlckZvckl0ZW1UaW1lOml0ZW1UaW1lRm9yRGlzcGxheTogbWF5IHJldHVybiBuaWwgaWYgdGhl
IHBpeGVsIGJ1ZmZlcgogICAgIC8vIGZvciB0aGUgcmVxdWVzdGVkIHRpbWUgaGFzIGFscmVhZHkg
YmVlbiByZXRyaWV2ZWQuIEluIHRoaXMgY2FzZSwgdGhlIGxhc3QgdmFsaWQgaW1hZ2UgKGlmIGFu
eSkKICAgICAvLyBzaG91bGQgYmUgZGlzcGxheWVkLgotICAgIGlmICghdXBkYXRlTGFzdFBpeGVs
QnVmZmVyKCkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCisgICAgaWYg
KChtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHx8ICF1cGRhdGVMYXN0UGl4ZWxCdWZm
ZXIoKSkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikgewpAQCAtMjU4Myw5ICsy
NjI1LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludFdp
dGhWaWRlb091dHB1dChHcmFwaGljc0NvbnRleHQmIGMKIAogUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBpeGVsQnVmZmVyRm9y
Q3VycmVudFRpbWUoKQogewotICAgIHVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpOwotICAgIGlmICgh
bV9sYXN0UGl4ZWxCdWZmZXIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV9p
c0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgdXBkYXRlTGFzdFBpeGVsQnVm
ZmVyKCk7CiAKICAgICByZXR1cm4gbV9sYXN0UGl4ZWxCdWZmZXI7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNW
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZv
cm1lckNWLmgKaW5kZXggYzNjNTM3Y2UyN2MwNDg4YTU4OGM0ZDAxYjhkNTQwODg4ZGM3ZjQwNy4u
Y2M1NzhjNzliYjA3ZjQyOTZkNTk3Mjc4MGI2MDA5MjQ2MjAzYjZiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29u
Zm9ybWVyQ1YuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNW
IHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWKENG
RGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKLSAgICBSZXRhaW5Q
dHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJl
Zik7CisgICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdl
RnJvbVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYpOwogCiBwcml2YXRlOgogICAgIFJldGFp
blB0cjxWVFBpeGVsQnVmZmVyQ29uZm9ybWVyUmVmPiBtX3BpeGVsQ29uZm9ybWVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
UHJveHkuY3BwCmluZGV4IDU2NWI4YjI5M2FlY2RmNWU1MWZlNWUxMDE2YzViN2E3ZTczM2Q4YTku
Ljg4MTA4Y2JjNTMzYzEwYzc1ZTM3MGJmY2M4OTgwMGE1M2M2NzI5YWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHAKQEAgLTEwOTgsNiArMTA5OCwxOCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OnBhdXNlQXRIb3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgICAgIG1fcGxheWVyLT5w
YXVzZUF0SG9zdFRpbWUodGltZSk7CiB9CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXllcikK
KyAgICAgICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9
CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdh
dGhlcmluZygpCit7CisgICAgaWYgKG1fcGxheWVyKQorICAgICAgICBtX3BsYXllci0+c3RhcnRW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30KKwogI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAogV1RGTG9nQ2hhbm5lbCYgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9nQ2hhbm5lbCgp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkuaAppbmRleCAwZTlmM2Q3YTIxNDVkNzViOTQzZTJiNTZhMmQ4
MGJiODA3M2RmOWUxLi4zMmYzYTQ2YWEwZjA5YjEzYjAyNGU0MTY0MDc4YTVkYWRkZWRjNTRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclByb3h5LmgKQEAgLTMwNyw2ICszMDcsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBs
YXlBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUpOwogICAgIHZvaWQgcGF1c2VBdEhvc3RUaW1lKE1v
bm90b25pY1RpbWUpOwogCisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworI2lmIFBM
QVRGT1JNKENPQ09BKQorICAgIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0
YShXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJS
ZWY+JiYpOworI2VuZGlmCisKICAgICBib29sIG1lZGlhUGxheWVyUGF1c2VkT3JTdGFsbGVkKCkg
Y29uc3Q7CiAgICAgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQoY29uc3QgTWVkaWFUaW1lJik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOGVjNjAzZmVjYzFmMThkODRj
MTRkNDczZWE1MWE4MTUxNDA3ZDEyMy4uMzljODcyOWIyNzM5ZTEzNjQ0YjMxYWE4MGRiYTgwZDRh
MzMwYzhhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTEzMiw2ICsx
MzIsOSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQg
ewogCiAgICAgUGxheUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQogICAgIFBhdXNlQXRI
b3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCisKKyAgICBTdGFydFZpZGVvRnJhbWVNZXRhZGF0
YUdhdGhlcmluZygpCisgICAgU3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCiB9CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29h
L1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0KaW5kZXggMDhiMmZk
ZWY1YTRmY2IxOGFkZGJkMTZjMWZkNjA4NmMxYmU5YzI3Yy4uYzZiYmEzYWEyYjRlNTVmYWVmYjkz
M2JiZTJlNjM1OWQ3M2Y2MzE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29h
Lm1tCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIK
ICNpbXBvcnQgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisjaW1wb3J0ICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFNpemUuaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJm
YWNlLmg+CkBAIC04Myw2ICs4NCwxMSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNl
dFZpZGVvSW5saW5lU2l6ZUZlbmNlZChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmCiAgICAgc2V0
VmlkZW9JbmxpbmVTaXplSWZQb3NzaWJsZSgqbV9pbmxpbmVMYXllckhvc3RpbmdDb250ZXh0LCBz
aXplKTsKIH0KIAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck9uTmV3
VmlkZW9GcmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmIG1ldGFkYXRhLCBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIpCit7CisgICAgbV93ZWJQcm9jZXNzQ29ubmVj
dGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpQdXNoVmlkZW9G
cmFtZU1ldGFkYXRhKG1ldGFkYXRhLCBidWZmZXIpLCBtX2lkKTsKK30KKwogdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXVEY6Ok1hY2hTZW5kUmlnaHQ+JiYsIFdlYkNvcmU6OkRl
c3RpbmF0aW9uQ29sb3JTcGFjZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFt
X3BsYXllcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNz
YWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXgg
OGJkMGRiMjk3YmZiNDA3NGY2ODkwMDQyZmNkYTQ3ODQ1MGRmMDU2Ni4uZDFkODZjY2Q1ZTA1NzUz
ODk1NDM0MWJiNWY4ZjA5NmE5YmVkMzA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0
L21lc3NhZ2VzLnB5CkBAIC0zNzAsOCArMzcwLDkgQEAgZGVmIGNvbmRpdGlvbnNfZm9yX2hlYWRl
cihoZWFkZXIpOgogICAgICAgICAnIkxheWVySG9zdGluZ0NvbnRleHQuaCInOiBbIlBMQVRGT1JN
KENPQ09BKSIsIF0sCiAgICAgICAgICciR2VzdHVyZVR5cGVzLmgiJzogWyJQTEFURk9STShJT1Nf
RkFNSUxZKSJdLAogICAgICAgICAnIldDTGF5ZXJUcmVlSG9zdElkZW50aWZpZXIuaCInOiBbIlVT
RShHUkFQSElDU19MQVlFUl9XQykiXSwKLSAgICAgICAgJzxXZWJDb3JlL01lZGlhUGxheWJhY2tU
YXJnZXRDb250ZXh0Lmg+JzogWyJFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSJdLAor
ICAgICAgICAnPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4nOiBbIlBMQVRGT1JNKENPQ09BKSIsIF0s
CiAgICAgICAgICc8V2ViQ29yZS9EYXRhRGV0ZWN0b3JUeXBlLmg+JzogWyJFTkFCTEUoREFUQV9E
RVRFQ1RJT04pIl0sCisgICAgICAgICc8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4
dC5oPic6IFsiRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkiXSwKICAgICB9CiAgICAg
aWYgbm90IGhlYWRlciBpbiBjb25kaXRpb25zOgogICAgICAgICByZXR1cm4gTm9uZQpAQCAtNjc4
LDYgKzY3OSw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgIGhlYWRlcl9pbmZv
c19hbmRfdHlwZXMgPSBjbGFzc190ZW1wbGF0ZV9oZWFkZXJzKHR5cGUpCiAKICAgICBzcGVjaWFs
X2Nhc2VzID0geworICAgICAgICAnQ1ZQaXhlbEJ1ZmZlclJlZic6IFsnPFdlYkNvcmUvQ1ZVdGls
aXRpZXMuaD4nXSwKICAgICAgICAgJ01hY2hTZW5kUmlnaHQnOiBbJzx3dGYvTWFjaFNlbmRSaWdo
dC5oPiddLAogICAgICAgICAnSlNDOjpNZXNzYWdlTGV2ZWwnOiBbJzxKYXZhU2NyaXB0Q29yZS9D
b25zb2xlVHlwZXMuaD4nXSwKICAgICAgICAgJ0pTQzo6TWVzc2FnZVNvdXJjZSc6IFsnPEphdmFT
Y3JpcHRDb3JlL0NvbnNvbGVUeXBlcy5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CmluZGV4IDYyYjExZGY1ZWFmYTYzNWRiZDM2YzcxMGQ5ZDZkNWY2NWQ4YzM3YzYuLmNiOWFkNjFm
MDFiOTg1ZjJkNmMwYzJlYTg1NWJlM2FiYzkxZmZkMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZS5jcHAKQEAgLTgwLDYgKzgwLDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CisjaW1wb3J0IDxXZWJDb3JlL1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaD4KICNpbXBvcnQgPFdl
YkNvcmUvVmlkZW9MYXllck1hbmFnZXJPYmpDLmg+CiAjZW5kaWYKIApAQCAtMTM3Nyw2ICsxMzc4
LDI3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwYXVzZUF0SG9zdFRpbWUoY29u
c3QgTW9ub3RvbmljVGltZSYgdGltZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RkOjpvcHRp
b25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9G
cmFtZU1ldGFkYXRhKCkKK3sKKyAgICBhdXRvIHZpZGVvRnJhbWVNZXRhZGF0YSA9IHN0ZDo6ZXhj
aGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEsIHsgfSk7CisgICAgcmV0dXJuIHZpZGVvRnJhbWVN
ZXRhZGF0YTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6U3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSwgbV9pZCk7
Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzdG9wVmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0g
ZmFsc2U7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0
aFZpZGVvRnJhbWVNZXRhZGF0YSA9IG51bGxwdHI7CisjZW5kaWYKKyAgICBjb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RvcFZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30KKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OnJlcXVlc3RSZXNvdXJjZShSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciByZW1vdGVN
ZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyOjpMb2FkT3B0aW9ucyBvcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAg
ICAgQVNTRVJUKCFtX21lZGlhUmVzb3VyY2VzLmNvbnRhaW5zKHJlbW90ZU1lZGlhUmVzb3VyY2VJ
ZGVudGlmaWVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAppbmRleCBiNWY1YjViYzFjNTJh
Mzk5YzkxYmM1MGNiYWRmNWZlYzlmNTU1YzQwLi5hNTU5OWQ2MjUyMGRiMmM4N2QwMTFlYTJkMmFk
NDgxNjNlNjkwMDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTM5LDYgKzM5LDcg
QEAKICNpbmNsdWRlICJWaWRlb1RyYWNrUHJpdmF0ZVJlbW90ZS5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvTWVkaWFQbGF5ZXJQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdp
bkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1ZpZGVvRnJhbWVNZXRhZGF0YS5oPgogI2luY2x1
ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CiAjaW5j
bHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTU2LDYgKzU3LDEwIEBAIHN0cnVjdCBHZW5lcmljQ3Vl
RGF0YTsKIGNsYXNzIElTT1dlYlZUVEN1ZTsKIGNsYXNzIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFD
dWVWYWx1ZTsKIGNsYXNzIFZpZGVvTGF5ZXJNYW5hZ2VyOworCisjaWYgUExBVEZPUk0oQ09DT0Ep
CitjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtNDAwLDYgKzQwNSwxNCBAQCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhv
c3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmKSBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZUNvbmZp
Z3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJiYpOwogCisgICAgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgp
IGZpbmFsOworICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5h
bDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKwor
I2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgcHVzaFZpZGVvRnJhbWVNZXRhZGF0YShXZWJD
b3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYp
OworI2VuZGlmCisKICAgICBXZWFrUHRyPFdlYkNvcmU6Ok1lZGlhUGxheWVyPiBtX3BsYXllcjsK
ICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBtX21lZGlhUmVz
b3VyY2VMb2FkZXI7CiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC00NTAsNiArNDYzLDEyIEBAIHBy
aXZhdGU6CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZl
clJlZj4gbV9waXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lOwogI2VuZGlmCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IG1fcGl4ZWxCdWZmZXJHYXRo
ZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGE7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OlBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y+IG1fcGl4ZWxCdWZmZXJDb25mb3JtZXI7CisjZW5kaWYK
KyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YT4gbV92aWRlb0Zy
YW1lTWV0YWRhdGE7CisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsg
ZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgppbmRleCAxMThlMDI1YTY5YjNmYTQxZjU1OWU1YWEw
YmY5OGQzNzkxYmU1ZGU0Li5hNjA2MDM5MGU5MDU5MDg2ZGY0NTNmNzU2MWQ5ZjUxN2U2YjRhZTBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtOTEs
NiArOTEsMTAgQEAgbWVzc2FnZXMgLT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNv
dW50ZWQgewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgR2V0UmF3Q29va2llcyhVUkwg
dXJsKSAtPiAoVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4gcmVzdWx0KSBBc3luYwogI2VuZGlmCisK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBQdXNoVmlkZW9GcmFtZU1ldGFkYXRhKHN0cnVjdCBX
ZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiBidWZmZXIpOworI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1v
dGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0KaW5kZXggYTJmODM1MmZiMjBmYmIyYTBkNjJm
YWVjNTliMmY0YTgyNjU0YmJmZi4uYzBiNzc2ZGM3NzNiMTdmYTQzMGNkNTg5NjhiMDA3YjMxYmQ3
NmE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2Nv
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1t
CkBAIC0zMyw5ICszMywxMiBAQAogI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAj
aW1wb3J0IDxXZWJDb3JlL0NvbG9yU3BhY2VDRy5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZh
Y2UuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgogI2ltcG9y
dCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CiAjaW1wb3J0IDx3dGYvTWFjaFNlbmRS
aWdodC5oPgogCisjaW1wb3J0IDxXZWJDb3JlL0NvcmVWaWRlb1NvZnRMaW5rLmg+CisKIG5hbWVz
cGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTQ2LDggKzQ5LDI1
IEBAIFBsYXRmb3JtTGF5ZXJDb250YWluZXIgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjcmVh
dGVWaWRlb0Z1bGxzY3JlZW5MYXllcigpCiB9CiAjZW5kaWYKIAordm9pZCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OnB1c2hWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1l
dGFkYXRhJiYgdmlkZW9GcmFtZU1ldGFkYXRhLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4m
JiBidWZmZXIpCit7CisgICAgaWYgKCFtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQor
ICAgICAgICByZXR1cm47CisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGEgPSBXVEZNb3ZlKHZpZGVv
RnJhbWVNZXRhZGF0YSk7CisgICAgbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVN
ZXRhZGF0YSA9IFdURk1vdmUoYnVmZmVyKTsKK30KKwogUmVmUHRyPE5hdGl2ZUltYWdlPiBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6Om5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKQogeworICAg
IGlmIChtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhKSB7CisgICAg
ICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgICAgIG1fcGl4ZWxCdWZm
ZXJDb25mb3JtZXIgPSBtYWtlVW5pcXVlPFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y+KChfX2JyaWRn
ZSBDRkRpY3Rpb25hcnlSZWYpQHsgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NWUGl4ZWxCdWZmZXJQ
aXhlbEZvcm1hdFR5cGVLZXk6IEAoa0NWUGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSkgfSk7CisgICAg
ICAgIEFTU0VSVChtX3BpeGVsQnVmZmVyQ29uZm9ybWVyKTsKKyAgICAgICAgaWYgKCFtX3BpeGVs
QnVmZmVyQ29uZm9ybWVyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJl
dHVybiBOYXRpdmVJbWFnZTo6Y3JlYXRlKG1fcGl4ZWxCdWZmZXJDb25mb3JtZXItPmNyZWF0ZUlt
YWdlRnJvbVBpeGVsQnVmZmVyKG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0
YWRhdGEuZ2V0KCkpKTsKKyAgICB9CisKICAgICBzdGQ6Om9wdGlvbmFsPE1hY2hTZW5kUmlnaHQ+
IHNlbmRSaWdodDsKICAgICBhdXRvIGNvbG9yU3BhY2UgPSBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6
OlNSR0IoKTsKICAgICBpZiAoIWNvbm5lY3Rpb24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6TmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpLCBNZXNzYWdlczo6
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6TmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZTo6UmVwbHko
c2VuZFJpZ2h0LCBjb2xvclNwYWNlKSwgbV9pZCkpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGRlOWEyNWI2MGZiNDVlMmRlMGEwMjJlZWQ1YmJm
Mjc1YThjZTc5Ni4uYzY2MmNlYjllYWVhYTk3YzlkZDAwYWNlNzZkMDg5ZTg3N2U4MTdjNSAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgcnZmYyBi
eSBkZWZhdWx0IGluIHRlc3QgcnVubmVyLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwOgorCiAyMDIxLTExLTE0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSByZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2lt
dWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hEKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDVkMjAxMDU0MWUxYjQ0YjE3NGMyZTFjZGU1MjQ0MTI2
OTI0NTViMGYuLmYzMzlhNDMzM2MwYTkwZjVhNGRlM2VlNmY3YzcwODZlNzYwMThmYzUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTg2MywxMSArODYz
LDggQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyhXZWJQcmVm
ZXJlbmNlcyAqcHJlZmVyZW5jZXMsIGNvbnN0IFcKICAgICAgICAgW3ByZWZlcmVuY2VzIF9yZXNl
dEZvclRlc3RpbmddOwogCiAgICAgICAgIGlmIChlbmFibGVBbGxFeHBlcmltZW50YWxGZWF0dXJl
cykgewotICAgICAgICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJl
bmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6
IFdlIGRpc2FibGUgcnZmYyBieSBkZWZhdWx0LiBFbmFibGUgaXQgd2hlbiB0aGUgdmlkZW8gYmFj
a2VuZCBzdXBwb3J0IGlzIGdvb2QgZW5vdWdoLgotICAgICAgICAgICAgICAgIGF1dG8gZW5hYmxl
ZCA9IFtmZWF0dXJlLm5hbWUgaXNFcXVhbDpAIlJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2siXSA/
IE5PIDogWUVTOwotICAgICAgICAgICAgICAgIFtwcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDplbmFi
bGVkIGZvckZlYXR1cmU6ZmVhdHVyZV07Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBmb3Ig
KFdlYkZlYXR1cmUgKmZlYXR1cmUgaW4gW1dlYlByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0
dXJlc10pCisgICAgICAgICAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOllFUyBmb3JG
ZWF0dXJlOmZlYXR1cmVdOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHBlcnNpc3RlbnRVc2Vy
U3R5bGVTaGVldExvY2F0aW9uKCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKaW5kZXggYjA5MGJiZDMxZmY0ODZkMTlkMzc5YWM0MDgyOGRmM2VkZDBiMmRmNi4u
ZWQyODAyZmIxZTc2NmRjNWRlNjdjNDRkMTU3NjYxNjMyYzM5MzFhMyAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTkwNSw5ICs5MDUsNiBAQCB2b2lkIFRl
c3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRl
c3RPcHRpb25zJiBvcHRpbwogICAgICAgICBpZiAoZW5hYmxlQWxsRXhwZXJpbWVudGFsRmVhdHVy
ZXMpCiAgICAgICAgICAgICBXS1ByZWZlcmVuY2VzRW5hYmxlQWxsRXhwZXJpbWVudGFsRmVhdHVy
ZXMocHJlZmVyZW5jZXMpOwogCi0gICAgICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkg
ZGVmYXVsdC4gRW5hYmxlIGl0IHdoZW4gdGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29k
IGVub3VnaC4KLSAgICAgICAgV0tQcmVmZXJlbmNlc1NldFJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJh
Y2tFbmFibGVkKHByZWZlcmVuY2VzLCBmYWxzZSk7Ci0KICAgICAgICAgV0tQcmVmZXJlbmNlc1Jl
c2V0QWxsSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAogICAgICAgICBXS1By
ZWZlcmVuY2VzU2V0UHJvY2Vzc1N3YXBPbk5hdmlnYXRpb25FbmFibGVkKHByZWZlcmVuY2VzLCBv
cHRpb25zLnNob3VsZEVuYWJsZVByb2Nlc3NTd2FwT25OYXZpZ2F0aW9uKCkpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE1
NGQwMGUyYWY3MTZlZTJkMjI1MDhkNjc0MGM4MDNjYzdjY2U4ZTkuLjA0ZmJhNmRhZTdhMTIzZmM5
NWMzNDliMDIyMzU5OWYyNGQyYzdkYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0xMS0x
NSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5
ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwcGVkIHNvbWUgdGVzdHMuCisgICAgICAg
IFNraXAgdGhlIFdQVCB3ZWJydGMgdGVzdCBzaW5jZSBpdCBpcyBub3cgcHJvZ3Jlc3NpbmcgdXAg
dG8gYSBwb2ludCB3aGVyZSBpdAorICAgICAgICByZXF1aXJlcyBzb21lIHNwZWNpZmljIG1ldGFk
YXRhIHRoYXQgd2UgYXJlIG5vdCBleHBvc2luZyB5ZXQgdG8gY29tcGxldGUuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9uczoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3Vs
ZCBzdG9wIGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggOWY4Yzk5MDM4NmUxMjkxNzBiOGIxYTZhOWMwZjYxNGE0NmIxZGI2OS4uYWRhM2MyNjRkYWIy
N2MxMWUzMGZkMDIzZDgzYTk5ZTI5MjAwOTQwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTEtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBw
b3J0IHJ2ZmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMTk0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQ2NTczNzI+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVHJhbnNmb3JtaW5nIHRlc3RzIGZy
b20gYXN5bmMgdG8gcHJvbWlzZSBiYXNlZCBzbyB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIHZpZGVv
IHBsYXlpbmcgYXQgYSB0aW1lLCB0byBtYWtlIGl0IHdvcmsgc21vb3RobHkgaW4gaU9TLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC5odG1s
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVh
dGluZy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbDoK
KwogMjAyMS0xMS0xNCAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1v
ZGFsIGRpYWxvZ3Mgc2hvdWxkIG1ha2UgdGhlIHJvb3QgZWxlbWVudCB1bmZvY3VzYWJsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQKaW5kZXggNjYzOWQ0ZjI4
ODVlMWY5NzY0OGQ1MDU0NzcwZWFmZWI0MzJkYzUwZC4uN2U1YzQ4NjIwNDUzNDc5NDM5NDFiY2Nj
NWQ0YmVlNzY2MjFhNjIxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
ZG9tLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKLQotVElNRU9VVCBUZXN0IGEgdmlkZW8gb3V0c2lkZSBvZiB0aGUgRE9NIGNh
biBzdGlsbCB1c2UgdmlkZW8uclZGQy4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB2aWRl
by5yVkZDIHdvcmtzIHdpdGggImRpc3BsYXk6bm9uZSIuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VU
IFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJ2aXNpYmlsaXR5OmhpZGRlbiIuIFRlc3QgdGlt
ZWQgb3V0CitQQVNTIFRlc3QgYSB2aWRlbyBvdXRzaWRlIG9mIHRoZSBET00gY2FuIHN0aWxsIHVz
ZSB2aWRlby5yVkZDLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpu
b25lIi4KK1BBU1MgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggInZpc2liaWxpdHk6aGlkZGVu
Ii4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbAppbmRleCAwMjc3ZDcyOTc4ODNjNGNk
NGY0NzJiMDhjNDM5OTgwNjI4MGZlOGViLi5jMTgwNGI0ZWRkMGM5ODZhYTE2MWRmYzEzMTc5OTgz
YzA0YWNlNDA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbApAQCAtMTMsMTcgKzEz
LDI0IEBAIHZhciB0ZXN0VmlkZW8gPSB7CiAgIHdpZHRoOiAzMjAsCiB9CiAKLWFzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQg
ZG9uZTsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0g
cmVzb2x2ZSk7CisKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRl
bycpOwogCi0gICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuY19k
b25lKCkpOworICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soZG9uZSk7CiAgICAg
dmlkZW8uc3JjID0gdGVzdFZpZGVvLnVybDsKLSAgICB2aWRlby5wbGF5KCk7CisgICAgYXdhaXQg
dmlkZW8ucGxheSgpOwogCisgICAgcmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCBhIHZpZGVvIG91
dHNpZGUgb2YgdGhlIERPTSBjYW4gc3RpbGwgdXNlIHZpZGVvLnJWRkMuJyk7CiAKIGZ1bmN0aW9u
IHJ2ZmNTdHlsZVRlc3QoYXBwbHlTdHlsZSwgZGVzY3JpcHRpb24pIHsKLSAgICBhc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAg
ICAgbGV0IGRvbmU7CisgICAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiBkb25lID0gcmVzb2x2ZSk7CisKICAgICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3ZpZGVvJyk7CiAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsK
ICAgICAgIGFwcGx5U3R5bGUodmlkZW8pOwpAQCAtMzEsMTIgKzM4LDE0IEBAIGZ1bmN0aW9uIHJ2
ZmNTdHlsZVRlc3QoYXBwbHlTdHlsZSwgZGVzY3JpcHRpb24pIHsKICAgICAgIHZpZGVvLnJlcXVl
c3RWaWRlb0ZyYW1lQ2FsbGJhY2soCiAgICAgICAgIHQuc3RlcF9mdW5jKCBfID0+IHsKICAgICAg
ICAgICAvLyBNYWtlIHN1cmUgd2UgY2FuIHJlY2VpdmUgbW9yZSB0aGFuIG9uZSBjYWxsYmFjay4K
LSAgICAgICAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jX2Rv
bmUoKSk7CisgICAgICAgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhkb25lKTsK
ICAgICAgICAgfSkKICAgICAgICk7CiAKICAgICAgIHZpZGVvLnNyYyA9IHRlc3RWaWRlby51cmw7
Ci0gICAgICB2aWRlby5wbGF5KCk7CisgICAgICBhd2FpdCB2aWRlby5wbGF5KCk7CisKKyAgICAg
IHJldHVybiBwcm9taXNlOwogICAgIH0sIGRlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0CmluZGV4IGNhN2NiM2U5NGNkZmIyNTI1OGI5ZDk5YjRm
NGQ0N2VkYTBlNzcyMTYuLmNkNzk2MTIwNTUxNzE2OGI1NDNiZjU5YmJlMGZhZTI2OWZlMGJkMTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsOCBA
QAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VU
IFRlc3Qgd2UgY2FuIHJlZ2lzdGVyIGEgdmlkZW8uclZGQyBjYWxsYmFjay4gVGVzdCB0aW1lZCBv
dXQKLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIGNhbGxiYWNrcyBydW4gYmVmb3JlIHdpbmRvdy5y
QUYgY2FsbGJhY2tzLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwg
YSB2aWRlby5yVkZDIHJlcXVlc3QuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3Qgd2UgY2FuIHJl
Z2lzdGVyIGEgdmlkZW8uclZGQyBjYWxsYmFjay4KK1BBU1MgVGVzdCB2aWRlby5yVkZDIGNhbGxi
YWNrcyBydW4gYmVmb3JlIHdpbmRvdy5yQUYgY2FsbGJhY2tzLgorUEFTUyBUZXN0IHdlIGNhbiBj
YW5jZWwgYSB2aWRlby5yVkZDIHJlcXVlc3QuCiBQQVNTIFRlc3QgaW52YWxpZCBjYWxscyB0byB0
aGUgdmlkZW8uclZGQyBBUEkuCi1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyBkb2VzIG5vdCBzdG9w
IHdoZW4gc3dpdGNoaW5nIHNvdXJjZXMuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgdmlkZW8u
clZGQyBkb2VzIG5vdCBzdG9wIHdoZW4gc3dpdGNoaW5nIHNvdXJjZXMuCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0
LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dAppbmRleCA2ZmU2ODRh
ZThlNjZkYWI4Y2NlNjhkMjI3NTM1OTVhODQ0OGM2YjkwLi4zMmI5OWFlZDU0NTdkZmExYmYyYTkx
NjMzMWQyNmYxZWQ5ZDliNWQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1wYXJhbGxlbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
cGFyYWxsZWwtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAogCiAKLUhhcm5lc3MgRXJyb3Ig
KFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgY2FsbGJhY2tzIGdldCB0
aGUgc2FtZSBpbmZvcm1hdGlvbi4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB3ZSBjYW4g
Y2FuY2VsIGNhbGxiYWNrcyBmcm9tIGNhbGxiYWNrcy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVz
dCBjYWxsYmFja3MgZ2V0IHRoZSBzYW1lIGluZm9ybWF0aW9uLgorUEFTUyBUZXN0IHdlIGNhbiBj
YW5jZWwgY2FsbGJhY2tzIGZyb20gY2FsbGJhY2tzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJh
Y2stcGFyYWxsZWwuaHRtbAppbmRleCAxNGM1ZGUxYWRmNTViYTAwMTZhYjk5ODU3NzZjNTY4ZTQ5
ZjU5NTZkLi42ODJmZDBhYzhmNmEyMjAwNmUwMTVjMmY5YjYyMWRhODRmZTUzZTA0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2
ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0
LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwKQEAgLTcsNyArNywxMCBAQAogPHNj
cmlwdCBzcmM9Ii9jb21tb24vbWVkaWEuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAotYXN5bmNf
dGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAg
IGxldCBkb25lOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGRv
bmUgPSByZXNvbHZlKTsKKwogICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3ZpZGVvJyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAKQEAgLTE5
LDE3ICsyMiwyMiBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgIGZpcnN0TWV0YWRh
dGEgPSBtZXRhZGF0YTsKICAgICB9KSk7CiAKLSAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNh
bGxiYWNrKHQuc3RlcF9mdW5jX2RvbmUoKHRpbWUsIG1ldGFkYXRhKSA9PiB7CisgICAgdmlkZW8u
cmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuYygodGltZSwgbWV0YWRhdGEpID0+
IHsKICAgICAgIGFzc2VydF9lcXVhbHMoZmlyc3RUaW1lLCB0aW1lKTsKICAgICAgIGFzc2VydF9v
YmplY3RfZXF1YWxzKGZpcnN0TWV0YWRhdGEsIG1ldGFkYXRhKTsKKyAgICAgIGRvbmUoKTsKICAg
ICB9KSk7CiAKICAgICB2aWRlby5zcmMgPSBnZXRWaWRlb1VSSSgnL21lZGlhL21vdmllXzUnKTsK
ICAgICB2aWRlby5wbGF5KCk7CiAKKyAgICByZXR1cm4gcHJvbWlzZTsKIH0sICdUZXN0IGNhbGxi
YWNrcyBnZXQgdGhlIHNhbWUgaW5mb3JtYXRpb24uJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAg
ICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7
CisKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCkBAIC00NiwxMiArNTQsMTIgQEAg
YXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgKTsKIAogICAgIC8vIE5PVEU6IFRoaXMgY2Fs
bGJhY2sgc2hvdWxkIGJlIGV4ZWN1dGVkIGxhc3QuCi0gICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJh
bWVDYWxsYmFjaygKLSAgICAgIHQuc3RlcF9mdW5jX2RvbmUoKQotICAgICk7CisgICAgdmlkZW8u
cmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhkb25lKTsKIAogICAgIHZpZGVvLnNyYyA9IGdldFZp
ZGVvVVJJKCcvbWVkaWEvbW92aWVfNScpOwogICAgIHZpZGVvLnBsYXkoKTsKKworICAgIHJldHVy
biBwcm9taXNlOwogfSwgJ1Rlc3Qgd2UgY2FuIGNhbmNlbCBjYWxsYmFja3MgZnJvbSBjYWxsYmFj
a3MuJyk7CiA8L3NjcmlwdD4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1l
LWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1yZXBlYXRpbmctZXhwZWN0ZWQudHh0CmluZGV4IGI0YTViZTNkZDI1MTJiODVjMzg1NTVi
OGYzY2U3MDM2NzhlZDRkZmQuLmE2MzFhMTc2YmQ1OWI2ZGYxYzQ1NTZkM2NkYjExNDVkM2M2OTU4
NjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVj
dGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKIAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKLQotVElNRU9VVCBUZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVk
IG9uIHRoZSBuZXh0IGZyYW1lLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IGNoYWluaW5n
IGNhbGxzIHRvIHZpZGVvLnJWRkMsIGFuZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMu
IFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxsZWQg
b24gdGhlIG5leHQgZnJhbWUuCitGQUlMIFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZG
QywgYW5kIHZlcmlmeSB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy4gYXNzZXJ0X2dyZWF0ZXJfdGhh
bjogcHJlc2VudGF0aW9uVGltZSBzaG91bGQgYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGV4
cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3QgYSAidW5kZWZpbmVkIgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVz
dC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1l
LWNhbGxiYWNrLXJlcGVhdGluZy5odG1sCmluZGV4IGU2MzdhMDg3MmNiMGQwYzE1MWUwYTgwYTZh
NTY5NDQ5ZmQyMjJhMWIuLjM4ZTRhYmFmZDRhZmU5NjMyMzJlYzc0MjdhZmE1Y2JkNTdiYzczNGQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZm
Yy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1sCkBAIC03LDcgKzcs
MTAgQEAKIDxzY3JpcHQgc3JjPSIvY29tbW9uL21lZGlhLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+
CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9u
KHQpIHsKKyAgICBsZXQgZG9uZTsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCd2aWRlbycpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8p
OwogCkBAIC0yNCwxOCArMjcsMjMgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAKICAgICAg
IC8vIFF1ZXVlIHVwIGEgc2Vjb25kIGNhbGxiYWNrLCBhbmQgbWFrZSBzdXJlIGl0J3MgY2FsbGVk
IGF0IHRoZSBzYW1lIHRpbWUKICAgICAgIC8vIGFzIHRoZSBvbmUgd2UganVzdCBxdWV1ZWQgdXAu
Ci0gICAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jX2RvbmUo
KHRpbWUpID0+IHsKKyAgICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2sodC5zdGVw
X2Z1bmMoKHRpbWUpID0+IHsKICAgICAgICAgYXNzZXJ0X2VxdWFscyh0aW1lLCBzZWNvbmRUaW1l
LCAiQ2FsbGJhY2tzIHF1ZXVlZCB0b2dldGhlciBzaG91bGQgYmUgY2FsbGVkIGF0IHRoZSBzYW1l
IHRpbWUiKTsKKyAgICAgICAgZG9uZSgpOwogICAgICAgfSkpCiAKICAgICB9KSk7CiAKICAgICB2
aWRlby5zcmMgPSBnZXRWaWRlb1VSSSgnL21lZGlhL21vdmllXzUnKTsKLSAgICB2aWRlby5wbGF5
KCk7CisgICAgYXdhaXQgdmlkZW8ucGxheSgpOwogCisgICAgcmV0dXJuIHByb21pc2U7CiB9LCAn
VGVzdCBuZXcgY2FsbGJhY2tzIGFyZSBvbmx5IGNhbGxlZCBvbiB0aGUgbmV4dCBmcmFtZS4nKTsK
IAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24o
dCkgeworICAgIGxldCBkb25lOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7
CiAKQEAgLTY0LDcgKzcyLDcgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICBsYXN0
TWV0YWRhdGEgPSBtZXRhZGF0YTsKIAogICAgICAgaWYgKCsrY3VycmVudENhbGxOdW1iZXIgPiBt
YXhOdW1iZXJPZkNhbGxzKSB7Ci0gICAgICAgIHQuZG9uZSgpCisgICAgICAgIGRvbmUoKQogICAg
ICAgfSBlbHNlIHsKICAgICAgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0
ZXBfZnVuYyhyZXBlYXRpbmdDYWxsYmFjaykpOwogICAgICAgfQpAQCAtNzMsOCArODEsOSBAQCBh
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxi
YWNrKHQuc3RlcF9mdW5jKHJlcGVhdGluZ0NhbGxiYWNrKSk7CiAKICAgICB2aWRlby5zcmMgPSBn
ZXRWaWRlb1VSSSgnL21lZGlhL21vdmllXzUnKTsKLSAgICB2aWRlby5wbGF5KCk7CisgICAgYXdh
aXQgdmlkZW8ucGxheSgpOwogCisgICAgcmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCBjaGFpbmlu
ZyBjYWxscyB0byB2aWRlby5yVkZDLCBhbmQgdmVyaWZ5IHRoZSByZXF1aXJlZCBwYXJhbWV0ZXJz
LicpOwogPC9zY3JpcHQ+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbAppbmRleCBhNDQw
NDE0M2ZhNDA4ZWJiYjhmNDljYzMxODBlMDY1ZDIwMGZmYTRhLi4yNTYyMTZlOGZjMDk4NDgyYmFm
MjY3ZDk1ZmM1ZjJjZWNhNDMwYzUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwKQEAgLTE4LDI2
ICsxOCwzNCBAQCB2YXIgYWx0VGVzdFZpZGVvID0gewogICB3aWR0aDogMzIwLAogfQogCi1hc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7Cisg
ICAgbGV0IGRvbmU7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
ZG9uZSA9IHJlc29sdmUpOworCiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgndmlkZW8nKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIAogICAg
IGxldCBpZCA9IHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soCi0gICAgICB0LnN0ZXBf
ZnVuY19kb25lKCh0aW1lLCBtZXRhZGF0YSkgPT4geworICAgICAgdC5zdGVwX2Z1bmMoKHRpbWUs
IG1ldGFkYXRhKSA9PiB7CiAgICAgICAgIGFzc2VydF90cnVlKHRpbWUgPiAwKTsKICAgICAgICAg
YXNzZXJ0X2VxdWFscyhtZXRhZGF0YS5oZWlnaHQsIHRlc3RWaWRlby5oZWlnaHQpOwogICAgICAg
ICBhc3NlcnRfZXF1YWxzKG1ldGFkYXRhLndpZHRoLCB0ZXN0VmlkZW8ud2lkdGgpOworICAgICAg
ICBkb25lKCk7CiAgICAgICB9KQogICAgICk7CiAKICAgICBhc3NlcnRfdHJ1ZShpZCA+IDApOwog
CiAgICAgdmlkZW8uc3JjID0gdGVzdFZpZGVvLnVybDsKLSAgICB2aWRlby5wbGF5KCk7CisgICAg
YXdhaXQgdmlkZW8ucGxheSgpOwogCisgICAgcmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCB3ZSBj
YW4gcmVnaXN0ZXIgYSB2aWRlby5yVkZDIGNhbGxiYWNrLicpOwogCi1hc3luY190ZXN0KGZ1bmN0
aW9uKHQpIHsKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7CisgICAgbGV0IGRvbmU7
CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29s
dmUpOworCiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsK
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIApAQCAtNDUsMTkgKzUzLDI0
IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgdC5zdGVwX2Z1bmModmlkZW9fbm93
ID0+IHsKICAgICAgICAgLy8gUXVldWUgYSBjYWxsIHRvIHdpbmRvdy5yQUYsIGFuZCBtYWtlIHN1
cmUgaXQgaXMgZXhlY3V0ZWQgd2l0aGluIHRoZQogICAgICAgICAvLyBzYW1lIHR1cm4gb2YgdGhl
IGV2ZW50IGxvb3AgKHdpdGggdGhlIHNhbWUgJ3RpbWUnIHBhcmFtZXRlcikuCi0gICAgICAgIHdp
bmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoIHQuc3RlcF9mdW5jX2RvbmUoIHdpbmRvd19ub3cg
PT4geworICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCB0LnN0ZXBfZnVuYygg
d2luZG93X25vdyA9PiB7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscyh2aWRlb19ub3csIHdpbmRv
d19ub3cpOworICAgICAgICAgIGRvbmUoKTsKICAgICAgICAgfSkpOwogICAgICAgfSkKICAgICAp
OwogCiAgICAgdmlkZW8uc3JjID0gdGVzdFZpZGVvLnVybDsKLSAgICB2aWRlby5wbGF5KCk7Cisg
ICAgYXdhaXQgdmlkZW8ucGxheSgpOwogCisgICAgcmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCB2
aWRlby5yVkZDIGNhbGxiYWNrcyBydW4gYmVmb3JlIHdpbmRvdy5yQUYgY2FsbGJhY2tzLicpOwog
CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9u
KHQpIHsKKyAgICBsZXQgZG9uZTsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCd2aWRlbycpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8p
OwogCkBAIC03NCwxMiArODcsMTQgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAg
IC8vIEF0IHRoaXMgcG9pbnQsIHRoZSBvdGhlciBjYWxsYmFjayBzaG91bGRuJ3QgaGF2ZSBmaXJl
ZCwgYnV0CiAgICAgICAgIC8vIGdpdmUgaXQgc29tZSBtb3JlIHRpbWUgYW5kIHJlYWxseSBtYWtl
IHN1cmUgaXQgZG9lc24ndCwgYnkgZ29pbmcKICAgICAgICAgLy8gdGhyb3VnaHQgdGhlIGV2ZW50
IGxvb3Agb25jZSBtb3JlLgotICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7IHQuZG9uZSgp
OyB9LCAwKTsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geyBkb25lKCk7IH0sIDApOwog
ICAgICAgfSkKICAgICApOwogCiAgICAgdmlkZW8uc3JjID0gdGVzdFZpZGVvLnVybDsKLSAgICB2
aWRlby5wbGF5KCk7CisgICAgYXdhaXQgdmlkZW8ucGxheSgpOworCisgICAgcmV0dXJuIHByb21p
c2U7CiB9LCAnVGVzdCB3ZSBjYW4gY2FuY2VsIGEgdmlkZW8uclZGQyByZXF1ZXN0LicpOwogCiB0
ZXN0KGZ1bmN0aW9uKHQpIHsKQEAgLTEwNSw2ICsxMjAsNyBAQCB0ZXN0KGZ1bmN0aW9uKHQpIHsK
IAogcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKICAgICBsZXQgdmlkZW8gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOworICAgIHZpZGVvLmF1dG9wbGF5ID0gdHJ1ZTsK
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIAogICAgIGxldCBmaXJzdF93
aWR0aCA9IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggZjhhYWRiOTk2Zjc3OThiNjUwNTkyMTdlNjVmNDYxMjMzZjk2M2MwZi4uZmVkMmE4
MzAwMGZiZTNkZTk2NzUzYzc2MjI0OGMxYjRmMmI4NGYxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQzLDEzICsxNDMsMTAgQEAgaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NuYW1lLWNsb2FraW5nLXRvcC1uby1jbmFt
ZS1zdWItbm8tY25hbWUuaHRtbAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjIFsgUGFzcyBdCiBmYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1ydmZjLmh0bWwg
WyBQYXNzIF0KIHdlYnJ0Yy9wZWVyQ29ubmVjdGlvbi1ydmZjLmh0bWwgWyBQYXNzIF0KLSMgVGlt
aW5nIG91dCB0ZXN0cyB1bnRpbCB3ZSBhZGQgcmVndWxhciB2aWRlbyBzdHJlYW1pbmcgYmFja2Vu
ZCBzdXBwb3J0LgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2std2VicnRjLmh0dHBzLmh0bWwgWyBTa2lwIF0KKyMg
VGltaW5nIG91dCB0ZXN0cyB1bnRpbCB3ZSBhZGQgWFIgc2Vzc2lvbi4KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LWJlZm9yZS14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRv
bS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2
ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kdXJpbmcteHItc2Vzc2lvbi5odHRwcy5o
dG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC5odG1sIFsgU2tpcCBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBb
IFNraXAgXQogCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBwbGF0
Zm9ybS1zcGVjaWZpYyBkaXJlY3Rvcmllcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxZGY5NWQwNTMzNTMwNjUzOTI3M2UyMDEzOTFmMzBm
NGNlZjJkZDQ4Li4zZDM0OGEwNmUxZGY5NDVmMGYxY2ZhZjI0M2RkNzM1YjE5YTEyMDQzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMyw2
ICszMywxMiBAQCBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWV4dGVybmFsLWVu
dGl0eS1uby1sb2dnaW5nLnhtbCBbIFBhc3MgXQogIyByZGFyOi8vcHJvYmxlbS82MTc5Mzg4NCA6
IEVuYWJsaW5nIHRoaXMgdGVzdCBmb3IgV0sxIG9ubHkuCiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRz
aWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWltYWdlZGF0YS1vdmVyZmxvdy5odG1sIFsgUGFzcyBd
CiAKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYyBbIFBhc3MgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2std2VicnRjLmh0dHBzLmh0bWwgWyBTa2lwIF0KKyMgVGltaW5nIG91dCB0
ZXN0cyB1bnRpbCB3ZSBhZGQgWFIgc2Vzc2lvbi4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14ci1z
ZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNz
aW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCiAjLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggMzIyYTViZWQ5YTZlMzEyM2Y3YzRjNGFlMGE0OGQ4NWJhM2Y5
YWRiZC4uNDkyYTBhNDFkM2YyMjY4YWYyYjBjYzlkYjFjNGQ1YTllNjFlZmM4NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIyLDEzICsx
MjIsMTAgQEAgc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtdHJhbnNhY3Rpb24tY3ljbGUuaHRt
bCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsg
UGFzcyBdCiBmYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1ydmZjLmh0bWwgWyBQYXNzIF0K
IHdlYnJ0Yy9wZWVyQ29ubmVjdGlvbi1ydmZjLmh0bWwgWyBQYXNzIF0KLSMgVGltaW5nIG91dCB0
ZXN0cyB1bnRpbCB3ZSBhZGQgcmVndWxhciB2aWRlbyBzdHJlYW1pbmcgYmFja2VuZCBzdXBwb3J0
LgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2std2VicnRjLmh0dHBzLmh0bWwgWyBTa2lwIF0KKyMgVGltaW5nIG91
dCB0ZXN0cyB1bnRpbCB3ZSBhZGQgWFIgc2Vzc2lvbi4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14
ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS5odG1sIFsg
U2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVz
dC12aWRlby1mcmFtZS1jYWxsYmFjay1kdXJpbmcteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tp
cCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12
aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1yZXBlYXRpbmcuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBbIFNraXAgXQog
CiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBwbGF0Zm9ybS1zcGVj
aWZpYyBkaXJlY3Rvcmllcy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444489</attachid>
            <date>2021-11-17 00:09:23 -0800</date>
            <delta_ts>2021-11-17 00:56:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211117090919.patch</filename>
            <type>text/plain</type>
            <size>53999</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMjdhNzIwZDEzN2YxMGU1YzczZGIwNDU0ZWY1Nzlj
NzNkOWFjMGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaDoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9w
IGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdm
MWFhMjRlYmRkYTNjZWRkLi43M2U0NTFlYzFlMjZkNmMzYjYyZWY1NDJjNjZhOTgwNWFiMWMzODIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3MzcyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHN0YXJ0L3N0b3AgbWV0YWRhdGEgZ2F0aGVyaW5nIGZyb20gV2ViUHJvY2VzcyB0byBH
UFVQcm9jZXNzLgorICAgICAgICBBZGQgSVBDIG1lc3NhZ2luZyB0byBwdXNoIG1ldGFkYXRhIHRv
IFdlYlByb2Nlc3MsIGluY2x1ZGluZyBzZW5kaW5nIHRoZSBjb3JyZXNwb25kaW5nIENWUGl4ZWxC
dWZmZXIgZm9yIHRoZSBjdXJyZW50IG1ldGFkYXRhLgorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUgd2lsbCB0aGVuIHNlcnZlIHRoYXQgYnVmZmVyIHdoZW4gYmVpbmcgcmVxdWVzdGVk
IHRoZSBjdXJyZW50IGltYWdlLgorICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCBwYWludGluZyBv
biBhIGNhbnZhcyBkb2VzIG5vdCBtYXJrIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyBhY3F1aXJlZCwg
d2hpY2ggd291bGQgdGhlbiBza2lwIHRoZSB2aWRlbyBmcmFtZSBtZXRhZGF0YSBnYXRoZXJpbmcu
CisgICAgICAgIFRoaXMgYWxzbyBlbnN1cmVzIHRoZSBzYW1lIGJ1ZmZlciBpcyB1c2VkIGlmIGEg
dmlkZW8gZWxlbWVudCBpcyBwYWludGVkIHNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBzYW1lIHJ2
ZmMgY2FsbGJhY2suCisgICAgICAgIFRoaXMgaGFzIHRoZSBzaWRlIGJlbmVmaXQgb2YgcmVtb3Zp
bmcgdGhlIHN5bmNocm9ub3VzIElQQyB0byBwYWludCB0aGUgdmlkZW8gZWxlbWVudCBpbiBhIGNh
bnZhcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIxLTExLTE0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSBy
ZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAyZWNiZjVkYmFhZGVk
NDJlNzc5MDQ0MDVhYzAxMzFlMzhmYzI5YmU3Li42OTU2Njk0OTYzMTBlZjkxMDhiOTU2ZmRhNDgy
MTQzMDE0OTcwZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
NjQxLDYgKzY0MSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldENoYW5naW5nVmlkZW9GdWxs
c2NyZWVuTW9kZShib29sIHZhbHVlKSB7IG1fY2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlID0g
dmFsdWU7IH0KICAgICBib29sIGlzQ2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlKCkgY29uc3Qg
eyByZXR1cm4gbV9jaGFuZ2luZ1ZpZGVvRnVsbHNjcmVlbk1vZGU7IH0KIAorcHJvdGVjdGVkOgor
ICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgb3ZlcnJpZGU7CisKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIApAQCAtNjkyLDcgKzY5NSw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBtZWRpYVBsYXllclNpemVDaGFuZ2VkKCkgZmluYWw7CiAgICAgdm9pZCBt
ZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKCkgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBs
YXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkgZmluYWw7Ci0gICAgdm9pZCBtZWRp
YVBsYXllckVuZ2luZVVwZGF0ZWQoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyV2lsbElu
aXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQgbWVkaWFQbGF5ZXJEaWRJbml0
aWFsaXplTWVkaWFFbmdpbmUoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyUmVsb2FkQW5k
UmVzdW1lUGxheWJhY2tJZk5lZWRlZCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZp
ZGVvRWxlbWVudC5jcHAKaW5kZXggYmIwNWUyNzYxZjgyZGM5ZGUzMTFkNGNiYTIzNDc5NTE2OTA5
YzMyOS4uZDc2OWU1M2FlYjFlMThhN2Q5NzFhNjM2ZTE5ZDJiZTA1NjJmZTU3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC01ODgsNiArNTg4LDkgQEAgdm9p
ZCBIVE1MVmlkZW9FbGVtZW50OjpleGl0VG9GdWxsc2NyZWVuTW9kZVdpdGhvdXRBbmltYXRpb25J
ZlBvc3NpYmxlKEhUTUxNZWRpYUUKIAogdW5zaWduZWQgSFRNTFZpZGVvRWxlbWVudDo6cmVxdWVz
dFZpZGVvRnJhbWVDYWxsYmFjayhSZWY8VmlkZW9GcmFtZVJlcXVlc3RDYWxsYmFjaz4mJiBjYWxs
YmFjaykKIHsKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBsYXll
cigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmco
KTsKKwogICAgIGF1dG8gaWRlbnRpZmllciA9ICsrbV9uZXh0VmlkZW9GcmFtZVJlcXVlc3RJbmRl
eDsKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5hcHBlbmQobWFrZVVuaXF1ZVJlZjxWaWRlb0Zy
YW1lUmVxdWVzdD4oaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpKTsKIApAQCAtNjA3LDYg
KzYxMCw5IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNr
KHVuc2lnbmVkIGlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV92aWRl
b0ZyYW1lUmVxdWVzdHMucmVtb3ZlKGluZGV4KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1
ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiB9CiAKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6c2Vy
dmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNvbHV0aW9uU2Vjb25kcyBu
b3cpCkBAIC02MjcsMTMgKzYzMywyMyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZAogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsYmFja0NvdW50OyArK2luZGV4KSB7CiAg
ICAgICAgIGF1dG8mIHJlcXVlc3QgPSBtX3ZpZGVvRnJhbWVSZXF1ZXN0c1tpbmRleF07CiAgICAg
ICAgIGlmICghcmVxdWVzdC0+Y2FuY2VsbGVkKSB7Ci0gICAgICAgICAgICByZXF1ZXN0LT5jYWxs
YmFjay0+aGFuZGxlRXZlbnQobm93LnZhbHVlKCksICp2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAg
ICAgICAgICAgcmVxdWVzdC0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0ZDo6cm91bmQobm93Lm1p
bGxpc2Vjb25kcygpKSwgKnZpZGVvRnJhbWVNZXRhZGF0YSk7CiAgICAgICAgICAgICByZXF1ZXN0
LT5jYW5jZWxsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQogICAgIG1faXNSdW5uaW5nVmlk
ZW9GcmFtZVJlcXVlc3RzID0gZmFsc2U7CiAKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1v
dmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2FsbGJhY2stPmNhbmNl
bGxlZDsgfSk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBs
YXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworfQorCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZCgpCit7CisgICAgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7
CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisg
ICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1Yjhj
N2FlMDBjNGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLjg1NmFkZWE3OGZiNzM5OGQ4ZmI0NWY0NDhh
MzU5MWJkYTU1Zjk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBA
IC0xNDEsNiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpN
ZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIG1lZGlhUGxheWVy
RW5naW5lVXBkYXRlZCgpIGZpbmFsOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxJbWFnZUxv
YWRlcj4gbV9pbWFnZUxvYWRlcjsKIAogICAgIEF0b21TdHJpbmcgbV9kZWZhdWx0UG9zdGVyVVJM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAppbmRleCA4
ZmQ5YTQ3MDAyNDhkNGQyNzhkY2UyNzQ5NzgzNjBhNTdiYWY1OWVhLi45NGRkZjBlZjBmNjExMzVi
ZDliNjg5MDhiODExNTZmYmJiZGYyM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaApAQCAtNDMsOCArNDMsNzMgQEAgc3RydWN0IFZpZGVvRnJhbWVN
ZXRhZGF0YSB7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNhcHR1cmVUaW1lOwogICAgIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiByZWNlaXZlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPiBydHBUaW1lc3RhbXA7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
IAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2b2lkIFZpZGVvRnJhbWVNZXRhZGF0
YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBwcmVz
ZW50YXRpb25UaW1lIDw8IGV4cGVjdGVkRGlzcGxheVRpbWUgPDwgd2lkdGggPDwgaGVpZ2h0IDw8
IG1lZGlhVGltZSA8PCBwcmVzZW50ZWRGcmFtZXMgPDwgcHJvY2Vzc2luZ0R1cmF0aW9uIDw8IGNh
cHR1cmVUaW1lIDw8IHJlY2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
VmlkZW9GcmFtZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBkZWNvZGVyID4+IHByZXNl
bnRhdGlvblRpbWU7CisgICAgaWYgKCFwcmVzZW50YXRpb25UaW1lKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgZGVjb2RlciA+PiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGlmICghZXhw
ZWN0ZWREaXNwbGF5VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAg
aWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdodDsKKyAgICBpZiAo
IWhlaWdodCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBtZWRpYVRpbWU7CisgICAgZGVjb2RlciA+PiBtZWRpYVRpbWU7CisgICAgaWYg
KCFtZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBwcmVzZW50ZWRGcmFtZXM7CisgICAgZGVjb2RlciA+PiBwcmVzZW50
ZWRGcmFtZXM7CisgICAgaWYgKCFwcmVzZW50ZWRGcmFtZXMpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJv
Y2Vzc2luZ0R1cmF0aW9uOworICAgIGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGlmICghcHJvY2Vzc2luZ0R1cmF0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IGNhcHR1cmVUaW1lOwor
ICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAgaWYgKCFjYXB0dXJlVGltZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25h
bDxkb3VibGU+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2VpdmVUaW1lOworICAg
IGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1lc3RhbXA7CisgICAg
ZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3RhbXApCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9GcmFtZU1ldGFkYXRhIHsg
KnByZXNlbnRhdGlvblRpbWUsICpleHBlY3RlZERpc3BsYXlUaW1lLCAqd2lkdGgsICpoZWlnaHQs
ICptZWRpYVRpbWUsICpwcmVzZW50ZWRGcmFtZXMsICpwcm9jZXNzaW5nRHVyYXRpb24sICpjYXB0
dXJlVGltZSwgKnJlY2VpdmVUaW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCBhNDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQx
NzA2NTk2Li43NWQ0OTUzNGY0ZDFiNzlkYjZkZTcwZGJkODMwNmE3NDI3Y2Q0MjBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01
OTAsNiArNTkwLDggQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUo
Y29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJp
dmF0ZS0+c2V0UGFnZUlzVmlzaWJsZShtX3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYg
KG1fdmlzaWJsZUluVmlld3BvcnQpCiAgICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNp
YmxlSW5WaWV3cG9ydChtX3Zpc2libGVJblZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0
ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1fcHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJl
c2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJlcGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTE3MjEsNiArMTcyMywyNSBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
TWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxz
ZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30K
KworI2lmIFBMQVRGT1JNKENPQ09BKQordm9pZCBNZWRpYVBsYXllcjo6b25OZXdWaWRlb0ZyYW1l
TWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllck9uTmV3Vmlk
ZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1ZmZlcikpOworfQor
I2VuZGlmCisKIFN0cmluZyBNZWRpYVBsYXllcjo6ZWxlbWVudElkKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJFbGVtZW50SWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDViMWUxNzQ1MTNlMDZmYTAx
ZDUxOTBiNTVlNTA1MzU1NWVmZDc2MzcuLjAwNDViNTRmNTA0ODIwMzNkNGY4ZjM0YzZjZDY1ZTNk
OTA5YTczMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMjg2LDYgKzI4NiwxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFQbGF5ZXJRdWV1ZVRhc2tPbkV2ZW50TG9vcChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykg
eyBjYWxsT25NYWluVGhyZWFkKFdURk1vdmUodGFzaykpOyB9CiAKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShW
aWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpIHsgfQor
I2VuZGlmCisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB2aXJ0dWFsIGNvbnN0IHZv
aWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSA9IDA7CkBAIC01ODQsNiAr
NTg4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRleHRUcmFjayhJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlJik7CiAgICAgdm9pZCByZW1vdmVWaWRlb1RyYWNrKFZpZGVvVHJhY2tQcml2YXRl
Jik7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFk
YXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7
CisjZW5kaWYKKwogICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbigpIGNv
bnN0OwogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24qKTsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKQEAgLTY4MSw2ICs2
ODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNNZWRpYUVuZ2luZSgpIGNvbnN0OwogCiAgICAg
c3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpOwor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0
b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYVBs
YXllcihNZWRpYVBsYXllckNsaWVudCYpOwpAQCAtNzI1LDYgKzczNSw3IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiAgICAgYm9vbCBtX3Nob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQgeyBmYWxzZSB9Owog
I2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2Ug
fTsKIH07CiAKIGNsYXNzIE1lZGlhUGxheWVyRmFjdG9yeSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY1YTQw
YWJjOGE3OWE2Y2UwNjRiNzAyY2RkMGM5YTlhYTY2M2RkMzkuLmNmNDYzMTJjNTJhOTg3MmJjMDQ1
YWQxZDQyMmFmNDhiMTAwOGNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGlt
ZSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8VmlkZW9G
cmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSB7IHJldHVybiB7IH07IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIHsgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDU5ZWNhNDUxMzRmZTZmNDA1OTkwMmUyMWNlN2U3
ZTVhZGU4MGJmYTIuLmNkMWJhZjZlNDhjZGQwYjVlNmVhOWI0YTZiOTJjZDVmN2Y2OGU5MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTM0Miw2ICszNDIsMTEgQEAgcHJpdmF0ZToKICAgICBi
b29sIHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJikgZmluYWw7CiAgICAgYm9v
bCBoYXZlQmVlbkFza2VkVG9QYWludCgpIGNvbnN0IHsgcmV0dXJuIG1faGF2ZUJlZW5Bc2tlZFRv
UGFpbnQ7IH0KIAorICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBm
aW5hbDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsK
KyAgICBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFkYXRh
KCkgZmluYWwgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX3ZpZGVvRnJhbWVNZXRhZGF0YSwgeyB9
KTsgfQorICAgIHZvaWQgY2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEoKTsKKwogICAgIFJldGFp
blB0cjxBVlVSTEFzc2V0PiBtX2F2QXNzZXQ7CiAgICAgUmV0YWluUHRyPEFWUGxheWVyPiBtX2F2
UGxheWVyOwogICAgIFJldGFpblB0cjxBVlBsYXllckl0ZW0+IG1fYXZQbGF5ZXJJdGVtOwpAQCAt
NDUxLDYgKzQ1NiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXZlUHJvY2Vzc2VkQ2hhcHRl
clRyYWNrcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3dhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0
YVdpbGxDaGFuZ2VUaW1lZE91dCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhdmVCZWVuQXNrZWRU
b1BhaW50IHsgZmFsc2UgfTsKKyAgICB1aW50NjRfdCBtX3NhbXBsZUNvdW50IHsgMCB9OworICAg
IFJldGFpblB0cjxpZD4gbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcjsKKyAg
ICBib29sIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgeyBmYWxzZSB9OworICAgIHN0
ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBtX3ZpZGVvRnJhbWVNZXRhZGF0YTsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDRkODYxMTNiY2JlNDY5ZWM2ZTAyNTc5
MTAyZDExMGVhOTMwMTAwOTYuLjVjYTg2MzNhZmZiODliZjJlYTdmMzVkOGVlZGU5ZDhlNGU0MzNm
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtNTM2LDYgKzUzNiwxMSBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNhbmNlbExvYWQoKQogICAgICAgICAg
ICAgW21fYXZQbGF5ZXIgcmVtb3ZlVGltZU9ic2VydmVyOm1fY3VycmVudFRpbWVPYnNlcnZlci5n
ZXQoKV07CiAgICAgICAgIG1fY3VycmVudFRpbWVPYnNlcnZlciA9IG5pbDsKIAorICAgICAgICBp
ZiAobV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcikgeworICAgICAgICAgICAg
W21fYXZQbGF5ZXIgcmVtb3ZlVGltZU9ic2VydmVyOm1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVy
aW5nT2JzZXJ2ZXIuZ2V0KCldOworICAgICAgICAgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRo
ZXJpbmdPYnNlcnZlciA9IG5pbDsKKyAgICAgICAgfQorCiAgICAgICAgIG1fYXZQbGF5ZXIgPSBu
aWw7CiAgICAgfQogCkBAIC0xMTA4LDYgKzExMTMsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxheWVyKCkKICAgICAgICAgfSk7CiAgICAgfV07
CiAKKyAgICBpZiAobV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgc3Rh
cnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICBzZXREZWxheUNhbGxiYWNrcyhm
YWxzZSk7CiB9CiAKQEAgLTE0MzMsNiArMTQ0MCw0NiBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OnBsYXRmb3JtUGF1c2VkKCkgY29uc3QKICAgICByZXR1cm4gbV9j
YWNoZWRUaW1lQ29udHJvbFN0YXR1cyA9PSBBVlBsYXllclRpbWVDb250cm9sU3RhdHVzUGF1c2Vk
OwogfQogCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnN0YXJ0Vmlk
ZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBBU1NFUlQoIW1fdmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIgfHwgbV9hdlBsYXllcik7CisgICAgbV9pc0dhdGhlcmlu
Z1ZpZGVvRnJhbWVNZXRhZGF0YSA9IHRydWU7CisKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVz
ZSBhIENBRGlzcGxheUxpbmsgdG8gZ2V0IHVwZGF0ZXMgb24gcmVuZGVyaW5nLCBmb3Igbm93IHdl
IGVtdWxhdGUgd2l0aCBhZGRQZXJpb2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsLgorICAgIG1f
dmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIgPSBbbV9hdlBsYXllciBhZGRQZXJp
b2RpY1RpbWVPYnNlcnZlckZvckludGVydmFsOlBBTDo6Q01UaW1lTWFrZSgxLCA2MCkgcXVldWU6
ZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOlt3ZWFrVGhpcyA9IFdlYWtQdHIg
eyAqdGhpcyB9XShDTVRpbWUpIHsKKyAgICAgICAgZW5zdXJlT25NYWluVGhyZWFkKFt3ZWFrVGhp
c10geworICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHdlYWtUaGlz
LT5jaGVja05ld1ZpZGVvRnJhbWVNZXRhZGF0YSgpOworICAgICAgICB9KTsKKyAgICB9XTsKK30K
Kwordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjaGVja05ld1ZpZGVv
RnJhbWVNZXRhZGF0YSgpCit7CisgICAgaWYgKCF1cGRhdGVMYXN0UGl4ZWxCdWZmZXIoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgVmlkZW9GcmFtZU1ldGFkYXRhIG1ldGFkYXRhOworICAgIG1l
dGFkYXRhLndpZHRoID0gbV9jYWNoZWRQcmVzZW50YXRpb25TaXplLndpZHRoKCk7CisgICAgbWV0
YWRhdGEuaGVpZ2h0ID0gbV9jYWNoZWRQcmVzZW50YXRpb25TaXplLmhlaWdodCgpOworICAgIG1l
dGFkYXRhLnByZXNlbnRlZEZyYW1lcyA9ICsrbV9zYW1wbGVDb3VudDsKKyAgICBtZXRhZGF0YS5w
cmVzZW50YXRpb25UaW1lID0gUEFMOjpDTVRpbWVHZXRTZWNvbmRzKFttX2F2UGxheWVySXRlbSBj
dXJyZW50VGltZV0pICogMTAwMDsKKworICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhID0gbWV0YWRh
dGE7CisgICAgcGxheWVyKCktPm9uTmV3VmlkZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRh
dGEpLCBtX2xhc3RQaXhlbEJ1ZmZlci5nZXQoKSk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCit7
CisgICAgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSA9IGZhbHNlOworICAgIG1fdmlk
ZW9GcmFtZU1ldGFkYXRhID0geyB9OworCisgICAgaWYgKG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nT2JzZXJ2ZXIpIHsKKyAgICAgICAgW21fYXZQbGF5ZXIgcmVtb3ZlVGltZU9ic2VydmVy
Om1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2JzZXJ2ZXIuZ2V0KCldOworICAgICAgICBt
X3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gbmlsOworICAgIH0KK30KKwog
TWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBsYXRmb3JtRHVy
YXRpb24oKSBjb25zdAogewogICAgIC8vIERvIG5vdCBhc2sgdGhlIGFzc2V0IGZvciBkdXJhdGlv
biBiZWZvcmUgaXQgaGFzIGJlZW4gbG9hZGVkIG9yIGl0IHdpbGwgZmV0Y2ggdGhlCkBAIC0yNTQ4
LDcgKzI1OTUsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnVw
ZGF0ZUxhc3RJbWFnZShVcGRhdGVUeXBlIHR5cGUpCiAgICAgLy8gQ2FsbHMgdG8gY29weVBpeGVs
QnVmZmVyRm9ySXRlbVRpbWU6aXRlbVRpbWVGb3JEaXNwbGF5OiBtYXkgcmV0dXJuIG5pbCBpZiB0
aGUgcGl4ZWwgYnVmZmVyCiAgICAgLy8gZm9yIHRoZSByZXF1ZXN0ZWQgdGltZSBoYXMgYWxyZWFk
eSBiZWVuIHJldHJpZXZlZC4gSW4gdGhpcyBjYXNlLCB0aGUgbGFzdCB2YWxpZCBpbWFnZSAoaWYg
YW55KQogICAgIC8vIHNob3VsZCBiZSBkaXNwbGF5ZWQuCi0gICAgaWYgKCF1cGRhdGVMYXN0UGl4
ZWxCdWZmZXIoKSAmJiAobV9sYXN0SW1hZ2UgfHwgIW1fbGFzdFBpeGVsQnVmZmVyKSkKKyAgICBp
ZiAoKG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgfHwgIXVwZGF0ZUxhc3RQaXhlbEJ1
ZmZlcigpKSAmJiAobV9sYXN0SW1hZ2UgfHwgIW1fbGFzdFBpeGVsQnVmZmVyKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKCFtX3BpeGVsQnVmZmVyQ29uZm9ybWVyKSB7CkBAIC0yNTgzLDkg
KzI2MzAsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50
V2l0aFZpZGVvT3V0cHV0KEdyYXBoaWNzQ29udGV4dCYgYwogCiBSZXRhaW5QdHI8Q1ZQaXhlbEJ1
ZmZlclJlZj4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGl4ZWxCdWZmZXJG
b3JDdXJyZW50VGltZSgpCiB7Ci0gICAgdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCk7Ci0gICAgaWYg
KCFtX2xhc3RQaXhlbEJ1ZmZlcikKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKCFt
X2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICB1cGRhdGVMYXN0UGl4ZWxC
dWZmZXIoKTsKIAogICAgIHJldHVybiBtX2xhc3RQaXhlbEJ1ZmZlcjsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVy
Q1YuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29u
Zm9ybWVyQ1YuaAppbmRleCBjM2M1MzdjZTI3YzA0ODhhNTg4YzRkMDFiOGQ1NDA4ODhkYzdmNDA3
Li5jYzU3OGM3OWJiMDdmNDI5NmQ1OTcyNzgwYjYwMDkyNDYyMDNiNmJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNW
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJD
b25mb3JtZXJDVi5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIFBpeGVsQnVmZmVyQ29uZm9ybWVy
Q1YgewogcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Yo
Q0ZEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIFJldGFpblB0
cjxDVlBpeGVsQnVmZmVyUmVmPiBjb252ZXJ0KENWUGl4ZWxCdWZmZXJSZWYpOwotICAgIFJldGFp
blB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVy
UmVmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1h
Z2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7CiAKIHByaXZhdGU6CiAgICAgUmV0
YWluUHRyPFZUUGl4ZWxCdWZmZXJDb25mb3JtZXJSZWY+IG1fcGl4ZWxDb25mb3JtZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5jcHAKaW5kZXggNTY1YjhiMjkzYWVjZGY1ZTUxZmU1ZTEwMTZjNWI3YTdlNzMzZDhh
OS4uODgxMDhjYmM1MzNjMTBjNzVlMzcwYmZjYzg5ODAwYTUzYzY3MjlhZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5LmNwcApAQCAtMTA5OCw2ICsxMDk4LDE4IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6cGF1c2VBdEhvc3RUaW1lKE1vbm90b25pY1RpbWUgdGltZSkKICAgICAgICAgbV9wbGF5ZXIt
PnBhdXNlQXRIb3N0VGltZSh0aW1lKTsKIH0KIAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCit7CisgICAgaWYgKG1fcGxheWVy
KQorICAgICAgICBtX3BsYXllci0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsK
K30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRh
R2F0aGVyaW5nKCkKK3sKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxheWVyLT5zdGFy
dFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworfQorCiAjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECiBXVEZMb2dDaGFubmVsJiBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2dDaGFubmVs
KCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCmluZGV4IDBlOWYzZDdhMjE0NWQ3NWI5NDNlMmI1NmEy
ZDgwYmI4MDczZGY5ZTEuLjMyZjNhNDZhYTBmMDliMTNiMDI0ZTQxNjQwNzhhNWRhZGRlZGM1NGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuaApAQCAtMzA3LDYgKzMwNywxMiBAQCBwcml2YXRlOgogICAgIHZvaWQg
cGxheUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSk7CiAgICAgdm9pZCBwYXVzZUF0SG9zdFRpbWUo
TW9ub3RvbmljVGltZSk7CiAKKyAgICB2b2lkIHN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVy
aW5nKCk7CisgICAgdm9pZCBzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CisjaWYg
UExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBtZWRpYVBsYXllck9uTmV3VmlkZW9GcmFtZU1ldGFk
YXRhKFdlYkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZl
clJlZj4mJik7CisjZW5kaWYKKwogICAgIGJvb2wgbWVkaWFQbGF5ZXJQYXVzZWRPclN0YWxsZWQo
KSBjb25zdDsKICAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChjb25zdCBNZWRpYVRpbWUmKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4ZWM2MDNmZWNjMWYxOGQ4
NGMxNGQ0NzNlYTUxYTgxNTE0MDdkMTIzLi4zOWM4NzI5YjI3MzllMTM2NDRiMzFhYTgwZGJhODBk
NGEzMzBjOGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMTMyLDYg
KzEzMiw5IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyUHJveHkgTm90UmVmQ291bnRl
ZCB7CiAKICAgICBQbGF5QXRIb3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgUGF1c2VB
dEhvc3RUaW1lKE1vbm90b25pY1RpbWUgdGltZSkKKworICAgIFN0YXJ0VmlkZW9GcmFtZU1ldGFk
YXRhR2F0aGVyaW5nKCkKKyAgICBTdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29j
b2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQppbmRleCAwOGIy
ZmRlZjVhNGZjYjE4YWRkYmQxNmMxZmQ2MDg2YzFiZTljMjdjLi5jNmJiYTNhYTJiNGU1NWZhZWZi
OTMzYmJlMmU2MzU5ZDczZjYzMTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29j
b2EubW0KQEAgLTMwLDYgKzMwLDcgQEAKIAogI2ltcG9ydCAiTGF5ZXJIb3N0aW5nQ29udGV4dC5o
IgogI2ltcG9ydCAiTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlTWVzc2FnZXMuaCIKKyNpbXBvcnQg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3Jl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0U2l6ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1
cmZhY2UuaD4KQEAgLTgzLDYgKzg0LDExIEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6
c2V0VmlkZW9JbmxpbmVTaXplRmVuY2VkKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYKICAgICBz
ZXRWaWRlb0lubGluZVNpemVJZlBvc3NpYmxlKCptX2lubGluZUxheWVySG9zdGluZ0NvbnRleHQs
IHNpemUpOwogfQogCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyT25O
ZXdWaWRlb0ZyYW1lTWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFp
blB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBtX3dlYlByb2Nlc3NDb25u
ZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OlB1c2hWaWRl
b0ZyYW1lTWV0YWRhdGEobWV0YWRhdGEsIGJ1ZmZlciksIG1faWQpOworfQorCiB2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6Om5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdURjo6TWFjaFNlbmRSaWdodD4mJiwgV2ViQ29yZTo6
RGVzdGluYXRpb25Db2xvclNwYWNlKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAo
IW1fcGxheWVyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21l
c3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRl
eCA4YmQwZGIyOTdiZmI0MDc0ZjY4OTAwNDJmY2RhNDc4NDUwZGYwNTY2Li5kMWQ4NmNjZDVlMDU3
NTM4OTU0MzQxYmI1ZjhmMDk2YTliZWQzMDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvbWVzc2FnZXMucHkKQEAgLTM3MCw4ICszNzAsOSBAQCBkZWYgY29uZGl0aW9uc19mb3JfaGVh
ZGVyKGhlYWRlcik6CiAgICAgICAgICciTGF5ZXJIb3N0aW5nQ29udGV4dC5oIic6IFsiUExBVEZP
Uk0oQ09DT0EpIiwgXSwKICAgICAgICAgJyJHZXN0dXJlVHlwZXMuaCInOiBbIlBMQVRGT1JNKElP
U19GQU1JTFkpIl0sCiAgICAgICAgICciV0NMYXllclRyZWVIb3N0SWRlbnRpZmllci5oIic6IFsi
VVNFKEdSQVBISUNTX0xBWUVSX1dDKSJdLAotICAgICAgICAnPFdlYkNvcmUvTWVkaWFQbGF5YmFj
a1RhcmdldENvbnRleHQuaD4nOiBbIkVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpIl0s
CisgICAgICAgICc8V2ViQ29yZS9DVlV0aWxpdGllcy5oPic6IFsiUExBVEZPUk0oQ09DT0EpIiwg
XSwKICAgICAgICAgJzxXZWJDb3JlL0RhdGFEZXRlY3RvclR5cGUuaD4nOiBbIkVOQUJMRShEQVRB
X0RFVEVDVElPTikiXSwKKyAgICAgICAgJzxXZWJDb3JlL01lZGlhUGxheWJhY2tUYXJnZXRDb250
ZXh0Lmg+JzogWyJFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSJdLAogICAgIH0KICAg
ICBpZiBub3QgaGVhZGVyIGluIGNvbmRpdGlvbnM6CiAgICAgICAgIHJldHVybiBOb25lCkBAIC02
NzgsNiArNjc5LDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgaGVhZGVyX2lu
Zm9zX2FuZF90eXBlcyA9IGNsYXNzX3RlbXBsYXRlX2hlYWRlcnModHlwZSkKIAogICAgIHNwZWNp
YWxfY2FzZXMgPSB7CisgICAgICAgICdDVlBpeGVsQnVmZmVyUmVmJzogWyc8V2ViQ29yZS9DVlV0
aWxpdGllcy5oPiddLAogICAgICAgICAnTWFjaFNlbmRSaWdodCc6IFsnPHd0Zi9NYWNoU2VuZFJp
Z2h0Lmg+J10sCiAgICAgICAgICdKU0M6Ok1lc3NhZ2VMZXZlbCc6IFsnPEphdmFTY3JpcHRDb3Jl
L0NvbnNvbGVUeXBlcy5oPiddLAogICAgICAgICAnSlNDOjpNZXNzYWdlU291cmNlJzogWyc8SmF2
YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+J10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5j
cHAKaW5kZXggNjJiMTFkZjVlYWZhNjM1ZGJkMzZjNzEwZDlkNmQ1ZjY1ZDhjMzdjNi4uY2I5YWQ2
MWYwMWI5ODVmMmQ2YzBjMmVhODU1YmUzYWJjOTFmZmQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmNwcApAQCAtODAsNiArODAsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NP
QSkKKyNpbXBvcnQgPFdlYkNvcmUvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgogI2ltcG9ydCA8
V2ViQ29yZS9WaWRlb0xheWVyTWFuYWdlck9iakMuaD4KICNlbmRpZgogCkBAIC0xMzc3LDYgKzEz
NzgsMjcgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnBhdXNlQXRIb3N0VGltZShj
b25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQogICAgIHJldHVybiB0cnVlOwogfQogCitzdGQ6Om9w
dGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp2aWRl
b0ZyYW1lTWV0YWRhdGEoKQoreworICAgIGF1dG8gdmlkZW9GcmFtZU1ldGFkYXRhID0gc3RkOjpl
eGNoYW5nZShtX3ZpZGVvRnJhbWVNZXRhZGF0YSwgeyB9KTsKKyAgICByZXR1cm4gdmlkZW9GcmFt
ZU1ldGFkYXRhOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3RhcnRWaWRl
b0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1l
TWV0YWRhdGEgPSB0cnVlOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpTdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpLCBtX2lk
KTsKK30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN0b3BWaWRlb0ZyYW1lTWV0
YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEg
PSBmYWxzZTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBtX3BpeGVsQnVmZmVyR2F0aGVyZWRX
aXRoVmlkZW9GcmFtZU1ldGFkYXRhID0gbnVsbHB0cjsKKyNlbmRpZgorICAgIGNvbm5lY3Rpb24o
KS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpTdG9wVmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCksIG1faWQpOworfQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6cmVxdWVzdFJlc291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyIHJlbW90
ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1
ZXN0LCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI6OkxvYWRPcHRpb25zIG9w
dGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
ICAgICBBU1NFUlQoIW1fbWVkaWFSZXNvdXJjZXMuY29udGFpbnMocmVtb3RlTWVkaWFSZXNvdXJj
ZUlkZW50aWZpZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IGI1ZjViNWJjMWM1
MmEzOTljOTFiYzUwY2JhZGY1ZmVjOWY1NTVjNDAuLmE1NTk5ZDYyNTIwZGIyYzg3ZDAxMWVhMmQy
YWQ0ODE2M2U2OTAwMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApAQCAtMzksNiArMzks
NyBAQAogI2luY2x1ZGUgIlZpZGVvVHJhY2tQcml2YXRlUmVtb3RlLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9NZWRpYVBsYXllclByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3Jp
Z2luRGF0YS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVmlkZW9GcmFtZU1ldGFkYXRhLmg+CiAjaW5j
bHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KICNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgpAQCAtNTYsNiArNTcsMTAgQEAgc3RydWN0IEdlbmVyaWND
dWVEYXRhOwogY2xhc3MgSVNPV2ViVlRUQ3VlOwogY2xhc3MgU2VyaWFsaXplZFBsYXRmb3JtRGF0
YUN1ZVZhbHVlOwogY2xhc3MgVmlkZW9MYXllck1hbmFnZXI7CisKKyNpZiBQTEFURk9STShDT0NP
QSkKK2NsYXNzIFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y7CisjZW5kaWYKIH0KIAogbmFtZXNwYWNl
IFdlYktpdCB7CkBAIC00MDAsNiArNDA1LDE0IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwYXVzZUF0
SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlQ29u
ZmlndXJhdGlvbihSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24mJik7CiAKKyAgICBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YT4gdmlkZW9GcmFtZU1ldGFkYXRh
KCkgZmluYWw7CisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIGZp
bmFsOworICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIGZpbmFsOwor
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBwdXNoVmlkZW9GcmFtZU1ldGFkYXRhKFdl
YkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4m
Jik7CisjZW5kaWYKKwogICAgIFdlYWtQdHI8V2ViQ29yZTo6TWVkaWFQbGF5ZXI+IG1fcGxheWVy
OwogICAgIFJlZjxXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI+IG1fbWVkaWFS
ZXNvdXJjZUxvYWRlcjsKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTQ1MCw2ICs0NjMsMTIgQEAg
cHJpdmF0ZToKICNpZiBVU0UoQVZGT1VOREFUSU9OKQogICAgIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUmVmPiBtX3BpeGVsQnVmZmVyRm9yQ3VycmVudFRpbWU7CiAjZW5kaWYKKyNpZiBQTEFURk9S
TShDT0NPQSkKKyAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9waXhlbEJ1ZmZlckdh
dGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29y
ZTo6UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4gbV9waXhlbEJ1ZmZlckNvbmZvcm1lcjsKKyNlbmRp
ZgorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhPiBtX3ZpZGVv
RnJhbWVNZXRhZGF0YTsKKyAgICBib29sIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEg
eyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCmluZGV4IDExOGUwMjVhNjliM2ZhNDFmNTU5ZTVh
YTBiZjk4ZDM3OTFiZTVkZTQuLmE2MDYwMzkwZTkwNTkwODZkZjQ1M2Y3NTYxZDlmNTE3ZTZiNGFl
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCkBAIC05
MSw2ICs5MSwxMCBAQCBtZXNzYWdlcyAtPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUgTm90UmVm
Q291bnRlZCB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBHZXRSYXdDb29raWVzKFVS
TCB1cmwpIC0+IChWZWN0b3I8V2ViQ29yZTo6Q29va2llPiByZXN1bHQpIEFzeW5jCiAjZW5kaWYK
KworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFB1c2hWaWRlb0ZyYW1lTWV0YWRhdGEoc3RydWN0
IFdlYkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YSBtZXRhZGF0YSwgUmV0YWluUHRyPENWUGl4ZWxC
dWZmZXJSZWY+IGJ1ZmZlcik7CisjZW5kaWYKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQppbmRleCBhMmY4MzUyZmIyMGZiYjJhMGQ2
MmZhZWM1OWIyZjRhODI2NTRiYmZmLi5jMGI3NzZkYzc3M2IxN2ZhNDMwY2Q1ODk2OGIwMDdiMzFi
ZDc2YThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2Eu
bW0KQEAgLTMzLDkgKzMzLDEyIEBACiAjaW1wb3J0ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
ICNpbXBvcnQgPFdlYkNvcmUvQ29sb3JTcGFjZUNHLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3Vy
ZmFjZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmg+CiAjaW1w
b3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHd0Zi9NYWNoU2Vu
ZFJpZ2h0Lmg+CiAKKyNpbXBvcnQgPFdlYkNvcmUvQ29yZVZpZGVvU29mdExpbmsuaD4KKwogbmFt
ZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNDYsOCArNDks
MjUgQEAgUGxhdGZvcm1MYXllckNvbnRhaW5lciBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNy
ZWF0ZVZpZGVvRnVsbHNjcmVlbkxheWVyKCkKIH0KICNlbmRpZgogCit2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6cHVzaFZpZGVvRnJhbWVNZXRhZGF0YShXZWJDb3JlOjpWaWRlb0ZyYW1l
TWV0YWRhdGEmJiB2aWRlb0ZyYW1lTWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVm
PiYmIGJ1ZmZlcikKK3sKKyAgICBpZiAoIW1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEp
CisgICAgICAgIHJldHVybjsKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YSA9IFdURk1vdmUodmlk
ZW9GcmFtZU1ldGFkYXRhKTsKKyAgICBtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFt
ZU1ldGFkYXRhID0gV1RGTW92ZShidWZmZXIpOworfQorCiBSZWZQdHI8TmF0aXZlSW1hZ2U+IE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpCiB7Cisg
ICAgaWYgKG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGEpIHsKKyAg
ICAgICAgaWYgKCFtX3BpeGVsQnVmZmVyQ29uZm9ybWVyKQorICAgICAgICAgICAgbV9waXhlbEJ1
ZmZlckNvbmZvcm1lciA9IG1ha2VVbmlxdWU8UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4oKF9fYnJp
ZGdlIENGRGljdGlvbmFyeVJlZilAeyAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZl
clBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBKSB9KTsKKyAg
ICAgICAgQVNTRVJUKG1fcGl4ZWxCdWZmZXJDb25mb3JtZXIpOworICAgICAgICBpZiAoIW1fcGl4
ZWxCdWZmZXJDb25mb3JtZXIpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
cmV0dXJuIE5hdGl2ZUltYWdlOjpjcmVhdGUobV9waXhlbEJ1ZmZlckNvbmZvcm1lci0+Y3JlYXRl
SW1hZ2VGcm9tUGl4ZWxCdWZmZXIobV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVN
ZXRhZGF0YS5nZXQoKSkpOworICAgIH0KKwogICAgIHN0ZDo6b3B0aW9uYWw8TWFjaFNlbmRSaWdo
dD4gc2VuZFJpZ2h0OwogICAgIGF1dG8gY29sb3JTcGFjZSA9IERlc3RpbmF0aW9uQ29sb3JTcGFj
ZTo6U1JHQigpOwogICAgIGlmICghY29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1v
dGVNZWRpYVBsYXllclByb3h5OjpOYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKCksIE1lc3NhZ2Vz
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpOYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lOjpSZXBs
eShzZW5kUmlnaHQsIGNvbG9yU3BhY2UpLCBtX2lkKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4ZGU5YTI1YjYwZmI0NWUyZGUwYTAyMmVlZDVi
YmYyNzVhOGNlNzk2Li5jNjYyY2ViOWVhZWFhOTdjOWRkMDBhY2U3NmQwODllODc3ZTgxN2M1IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjEtMTEtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBydmZj
IGJ5IGRlZmF1bHQgaW4gdGVzdCBydW5uZXIuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHA6CisKIDIwMjEtMTEtMTQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIEdldCBkYWVtb24gQVBJIHJlYWR5IHRvIHdvcmsgaW4gdGhlIGlPUyBz
aW11bGF0b3IgKHN0YXJ0aW5nIHdpdGggV2ViUHVzaEQpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggNWQyMDEwNTQxZTFiNDRiMTc0YzJlMWNkZTUyNDQx
MjY5MjQ1NWIwZi4uZjMzOWE0MzMzYzBhOTBmNWE0ZGUzZWU2ZjdjNzA4NmU3NjAxOGZjNSAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtODYzLDExICs4
NjMsOCBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKFdlYlBy
ZWZlcmVuY2VzICpwcmVmZXJlbmNlcywgY29uc3QgVwogICAgICAgICBbcHJlZmVyZW5jZXMgX3Jl
c2V0Rm9yVGVzdGluZ107CiAKICAgICAgICAgaWYgKGVuYWJsZUFsbEV4cGVyaW1lbnRhbEZlYXR1
cmVzKSB7Ci0gICAgICAgICAgICBmb3IgKFdlYkZlYXR1cmUgKmZlYXR1cmUgaW4gW1dlYlByZWZl
cmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJlc10pIHsKLSAgICAgICAgICAgICAgICAvLyBGSVhN
RTogV2UgZGlzYWJsZSBydmZjIGJ5IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2aWRlbyBi
YWNrZW5kIHN1cHBvcnQgaXMgZ29vZCBlbm91Z2guCi0gICAgICAgICAgICAgICAgYXV0byBlbmFi
bGVkID0gW2ZlYXR1cmUubmFtZSBpc0VxdWFsOkAiUmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayJd
ID8gTk8gOiBZRVM7Ci0gICAgICAgICAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRFbmFibGVkOmVu
YWJsZWQgZm9yRmVhdHVyZTpmZWF0dXJlXTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZv
ciAoV2ViRmVhdHVyZSAqZmVhdHVyZSBpbiBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZl
YXR1cmVzXSkKKyAgICAgICAgICAgICAgICBbcHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6WUVTIGZv
ckZlYXR1cmU6ZmVhdHVyZV07CiAgICAgICAgIH0KIAogICAgICAgICBpZiAocGVyc2lzdGVudFVz
ZXJTdHlsZVNoZWV0TG9jYXRpb24oKSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAppbmRleCBiMDkwYmJkMzFmZjQ4NmQxOWQzNzlhYzQwODI4ZGYzZWRkMGIyZGY2
Li5lZDI4MDJmYjFlNzY2ZGM1ZGU2N2M0NGQxNTc2NjE2MzJjMzkzMWEzIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtOTA1LDkgKzkwNSw2IEBAIHZvaWQg
VGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoY29uc3Qg
VGVzdE9wdGlvbnMmIG9wdGlvCiAgICAgICAgIGlmIChlbmFibGVBbGxFeHBlcmltZW50YWxGZWF0
dXJlcykKICAgICAgICAgICAgIFdLUHJlZmVyZW5jZXNFbmFibGVBbGxFeHBlcmltZW50YWxGZWF0
dXJlcyhwcmVmZXJlbmNlcyk7CiAKLSAgICAgICAgLy8gRklYTUU6IFdlIGRpc2FibGUgcnZmYyBi
eSBkZWZhdWx0LiBFbmFibGUgaXQgd2hlbiB0aGUgdmlkZW8gYmFja2VuZCBzdXBwb3J0IGlzIGdv
b2QgZW5vdWdoLgotICAgICAgICBXS1ByZWZlcmVuY2VzU2V0UmVxdWVzdFZpZGVvRnJhbWVDYWxs
YmFja0VuYWJsZWQocHJlZmVyZW5jZXMsIGZhbHNlKTsKLQogICAgICAgICBXS1ByZWZlcmVuY2Vz
UmVzZXRBbGxJbnRlcm5hbERlYnVnRmVhdHVyZXMocHJlZmVyZW5jZXMpOwogCiAgICAgICAgIFdL
UHJlZmVyZW5jZXNTZXRQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbkVuYWJsZWQocHJlZmVyZW5jZXMs
IG9wdGlvbnMuc2hvdWxkRW5hYmxlUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24oKSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MTU0ZDAwZTJhZjcxNmVlMmQyMjUwOGQ2NzQwYzgwM2NjN2NjZThlOS4uMDRmYmE2ZGFlN2ExMjNm
Yzk1YzM0OWIwMjIzNTk5ZjI0ZDJjN2RiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTEx
LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBs
YXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXBwZWQgc29tZSB0ZXN0cy4KKyAgICAg
ICAgU2tpcCB0aGUgV1BUIHdlYnJ0YyB0ZXN0IHNpbmNlIGl0IGlzIG5vdyBwcm9ncmVzc2luZyB1
cCB0byBhIHBvaW50IHdoZXJlIGl0CisgICAgICAgIHJlcXVpcmVzIHNvbWUgc3BlY2lmaWMgbWV0
YWRhdGEgdGhhdCB3ZSBhcmUgbm90IGV4cG9zaW5nIHlldCB0byBjb21wbGV0ZS4KKworICAgICAg
ICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9U
ZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTExLTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpbmdlcnMgZG93biBvbiB0aGUgdHJhY2twYWQgc2hv
dWxkIHN0b3AgYW4gYW5pbWF0ZWQgc2Nyb2xsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA5ZjhjOTkwMzg2ZTEyOTE3MGI4YjFhNmE5YzBmNjE0YTQ2YjFkYjY5Li5hZGEzYzI2NGRh
YjI3YzExZTMwZmQwMjNkODNhOTllMjkyMDA5NDBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0xMS0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1
cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMxOTQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NDY1NzM3Mj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUcmFuc2Zvcm1pbmcgdGVzdHMg
ZnJvbSBhc3luYyB0byBwcm9taXNlIGJhc2VkIHNvIHRoYXQgdGhlcmUgaXMgb25seSBvbmUgdmlk
ZW8gcGxheWluZyBhdCBhIHRpbWUsIHRvIG1ha2UgaXQgd29yayBzbW9vdGhseSBpbiBpT1MuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZy
YW1lLWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1l
LWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0
bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVw
ZWF0aW5nLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1s
OgorCiAyMDIxLTExLTE0ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAg
TW9kYWwgZGlhbG9ncyBzaG91bGQgbWFrZSB0aGUgcm9vdCBlbGVtZW50IHVuZm9jdXNhYmxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dAppbmRleCA2NjM5ZDRm
Mjg4NWUxZjk3NjQ4ZDUwNTQ3NzBlYWZlYjQzMmRjNTBkLi43ZTVjNDg2MjA0NTM0Nzk0Mzk0MWJj
Y2M1ZDRiZWU3NjYyMWE2MjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1kb20tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1l
eHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgYSB2aWRlbyBvdXRzaWRlIG9mIHRoZSBET00g
Y2FuIHN0aWxsIHVzZSB2aWRlby5yVkZDLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHZp
ZGVvLnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25lIi4gVGVzdCB0aW1lZCBvdXQKLVRJTUVP
VVQgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggInZpc2liaWxpdHk6aGlkZGVuIi4gVGVzdCB0
aW1lZCBvdXQKK1BBU1MgVGVzdCBhIHZpZGVvIG91dHNpZGUgb2YgdGhlIERPTSBjYW4gc3RpbGwg
dXNlIHZpZGVvLnJWRkMuCitQQVNTIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJkaXNwbGF5
Om5vbmUiLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAidmlzaWJpbGl0eTpoaWRk
ZW4iLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9y
ZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS5odG1sCmluZGV4IDAyNzdkNzI5Nzg4M2M0
Y2Q0ZjQ3MmIwOGM0Mzk5ODA2MjgwZmU4ZWIuLmMxODA0YjRlZGQwYzk4NmFhMTYxZGZjMTMxNzk5
ODNjMDRhY2U0MDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlk
ZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS5odG1sCkBAIC0xMywxNyAr
MTMsMjQgQEAgdmFyIHRlc3RWaWRlbyA9IHsKICAgd2lkdGg6IDMyMCwKIH0KIAotYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAgIGxl
dCBkb25lOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUg
PSByZXNvbHZlKTsKKwogICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Zp
ZGVvJyk7CiAKLSAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5j
X2RvbmUoKSk7CisgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhkb25lKTsKICAg
ICB2aWRlby5zcmMgPSB0ZXN0VmlkZW8udXJsOwotICAgIHZpZGVvLnBsYXkoKTsKKyAgICBhd2Fp
dCB2aWRlby5wbGF5KCk7CiAKKyAgICByZXR1cm4gcHJvbWlzZTsKIH0sICdUZXN0IGEgdmlkZW8g
b3V0c2lkZSBvZiB0aGUgRE9NIGNhbiBzdGlsbCB1c2UgdmlkZW8uclZGQy4nKTsKIAogZnVuY3Rp
b24gcnZmY1N0eWxlVGVzdChhcHBseVN0eWxlLCBkZXNjcmlwdGlvbikgewotICAgIGFzeW5jX3Rl
c3QoZnVuY3Rpb24odCkgeworICAgIHByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7Cisg
ICAgICBsZXQgZG9uZTsKKyAgICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgndmlkZW8nKTsKICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8p
OwogICAgICAgYXBwbHlTdHlsZSh2aWRlbyk7CkBAIC0zMSwxMiArMzgsMTQgQEAgZnVuY3Rpb24g
cnZmY1N0eWxlVGVzdChhcHBseVN0eWxlLCBkZXNjcmlwdGlvbikgewogICAgICAgdmlkZW8ucmVx
dWVzdFZpZGVvRnJhbWVDYWxsYmFjaygKICAgICAgICAgdC5zdGVwX2Z1bmMoIF8gPT4gewogICAg
ICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBjYW4gcmVjZWl2ZSBtb3JlIHRoYW4gb25lIGNhbGxiYWNr
LgotICAgICAgICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2sodC5zdGVwX2Z1bmNf
ZG9uZSgpKTsKKyAgICAgICAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKGRvbmUp
OwogICAgICAgICB9KQogICAgICAgKTsKIAogICAgICAgdmlkZW8uc3JjID0gdGVzdFZpZGVvLnVy
bDsKLSAgICAgIHZpZGVvLnBsYXkoKTsKKyAgICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsKKworICAg
ICAgcmV0dXJuIHByb21pc2U7CiAgICAgfSwgZGVzY3JpcHRpb24pOwogfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1m
cmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggY2E3Y2IzZTk0Y2RmYjI1MjU4YjlkOTli
NGY0ZDQ3ZWRhMGU3NzIxNi4uY2Q3OTYxMjA1NTE3MTY4YjU0M2JmNTliYmUwZmFlMjY5ZmUwYmQx
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZm
Yy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwxMCArMSw4
IEBACiAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVP
VVQgVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRlby5yVkZDIGNhbGxiYWNrLiBUZXN0IHRpbWVk
IG91dAotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMgY2FsbGJhY2tzIHJ1biBiZWZvcmUgd2luZG93
LnJBRiBjYWxsYmFja3MuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3Qgd2UgY2FuIGNhbmNl
bCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCB3ZSBjYW4g
cmVnaXN0ZXIgYSB2aWRlby5yVkZDIGNhbGxiYWNrLgorUEFTUyBUZXN0IHZpZGVvLnJWRkMgY2Fs
bGJhY2tzIHJ1biBiZWZvcmUgd2luZG93LnJBRiBjYWxsYmFja3MuCitQQVNTIFRlc3Qgd2UgY2Fu
IGNhbmNlbCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4KIFBBU1MgVGVzdCBpbnZhbGlkIGNhbGxzIHRv
IHRoZSB2aWRlby5yVkZDIEFQSS4KLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIGRvZXMgbm90IHN0
b3Agd2hlbiBzd2l0Y2hpbmcgc291cmNlcy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCB2aWRl
by5yVkZDIGRvZXMgbm90IHN0b3Agd2hlbiBzd2l0Y2hpbmcgc291cmNlcy4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZj
L3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0CmluZGV4IDZmZTY4
NGFlOGU2NmRhYjhjY2U2OGQyMjc1MzU5NWE4NDQ4YzZiOTAuLjMyYjk5YWVkNTQ1N2RmYTFiZjJh
OTE2MzMxZDI2ZjFlZDlkOWI1ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1wYXJhbGxlbC1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAKIAotSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVzdCBjYWxsYmFja3MgZ2V0
IHRoZSBzYW1lIGluZm9ybWF0aW9uLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHdlIGNh
biBjYW5jZWwgY2FsbGJhY2tzIGZyb20gY2FsbGJhY2tzLiBUZXN0IHRpbWVkIG91dAorUEFTUyBU
ZXN0IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5mb3JtYXRpb24uCitQQVNTIFRlc3Qgd2UgY2Fu
IGNhbmNlbCBjYWxsYmFja3MgZnJvbSBjYWxsYmFja3MuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1wYXJhbGxlbC5odG1sCmluZGV4IDE0YzVkZTFhZGY1NWJhMDAxNmFiOTk4NTc3NmM1Njhl
NDlmNTk1NmQuLjY4MmZkMGFjOGY2YTIyMDA2ZTAxNWMyZjliNjIxZGE4NGZlNTNlMDQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbApAQCAtNyw3ICs3LDEwIEBACiA8
c2NyaXB0IHNyYz0iL2NvbW1vbi9tZWRpYS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi1hc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7Cisg
ICAgbGV0IGRvbmU7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
ZG9uZSA9IHJlc29sdmUpOworCiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgndmlkZW8nKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIApAQCAt
MTksMTcgKzIyLDIyIEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgZmlyc3RNZXRh
ZGF0YSA9IG1ldGFkYXRhOwogICAgIH0pKTsKIAotICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1l
Q2FsbGJhY2sodC5zdGVwX2Z1bmNfZG9uZSgodGltZSwgbWV0YWRhdGEpID0+IHsKKyAgICB2aWRl
by5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jKCh0aW1lLCBtZXRhZGF0YSkg
PT4gewogICAgICAgYXNzZXJ0X2VxdWFscyhmaXJzdFRpbWUsIHRpbWUpOwogICAgICAgYXNzZXJ0
X29iamVjdF9lcXVhbHMoZmlyc3RNZXRhZGF0YSwgbWV0YWRhdGEpOworICAgICAgZG9uZSgpOwog
ICAgIH0pKTsKIAogICAgIHZpZGVvLnNyYyA9IGdldFZpZGVvVVJJKCcvbWVkaWEvbW92aWVfNScp
OwogICAgIHZpZGVvLnBsYXkoKTsKIAorICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3QgY2Fs
bGJhY2tzIGdldCB0aGUgc2FtZSBpbmZvcm1hdGlvbi4nKTsKIAotYXN5bmNfdGVzdChmdW5jdGlv
bih0KSB7Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAgIGxldCBkb25lOwor
ICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZl
KTsKKwogICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAKQEAgLTQ2LDEyICs1NCwxMiBA
QCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICApOwogCiAgICAgLy8gTk9URTogVGhpcyBj
YWxsYmFjayBzaG91bGQgYmUgZXhlY3V0ZWQgbGFzdC4KLSAgICB2aWRlby5yZXF1ZXN0VmlkZW9G
cmFtZUNhbGxiYWNrKAotICAgICAgdC5zdGVwX2Z1bmNfZG9uZSgpCi0gICAgKTsKKyAgICB2aWRl
by5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKGRvbmUpOwogCiAgICAgdmlkZW8uc3JjID0gZ2V0
VmlkZW9VUkkoJy9tZWRpYS9tb3ZpZV81Jyk7CiAgICAgdmlkZW8ucGxheSgpOworCisgICAgcmV0
dXJuIHByb21pc2U7CiB9LCAnVGVzdCB3ZSBjYW4gY2FuY2VsIGNhbGxiYWNrcyBmcm9tIGNhbGxi
YWNrcy4nKTsKIDwvc2NyaXB0PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNh
bGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQKaW5kZXggYjRhNWJlM2RkMjUxMmI4NWMzODU1
NWI4ZjNjZTcwMzY3OGVkNGRmZC4uYTYzMWExNzZiZDU5YjZkZjFjNDU1NmQzY2RiMTE0NWQzYzY5
NTg2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxs
ZWQgb24gdGhlIG5leHQgZnJhbWUuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgY2hhaW5p
bmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5kIHZlcmlmeSB0aGUgcmVxdWlyZWQgcGFyYW1ldGVy
cy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBuZXcgY2FsbGJhY2tzIGFyZSBvbmx5IGNhbGxl
ZCBvbiB0aGUgbmV4dCBmcmFtZS4KK0ZBSUwgVGVzdCBjaGFpbmluZyBjYWxscyB0byB2aWRlby5y
VkZDLCBhbmQgdmVyaWZ5IHRoZSByZXF1aXJlZCBwYXJhbWV0ZXJzLiBhc3NlcnRfZ3JlYXRlcl90
aGFuOiBwcmVzZW50YXRpb25UaW1lIHNob3VsZCBiZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcg
ZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdvdCBhICJ1bmRlZmluZWQiCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0bWwKaW5kZXggZTYzN2EwODcyY2IwZDBjMTUxZTBhODBh
NmE1Njk0NDlmZDIyMmExYi4uMzhlNGFiYWZkNGFmZTk2MzIzMmVjNzQyN2FmYTVjYmQ1N2JjNzM0
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0bWwKQEAgLTcsNyAr
NywxMCBAQAogPHNjcmlwdCBzcmM9Ii9jb21tb24vbWVkaWEuanMiPjwvc2NyaXB0PgogPHNjcmlw
dD4KIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rp
b24odCkgeworICAgIGxldCBkb25lOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRl
byk7CiAKQEAgLTI0LDE4ICsyNywyMyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKIAogICAg
ICAgLy8gUXVldWUgdXAgYSBzZWNvbmQgY2FsbGJhY2ssIGFuZCBtYWtlIHN1cmUgaXQncyBjYWxs
ZWQgYXQgdGhlIHNhbWUgdGltZQogICAgICAgLy8gYXMgdGhlIG9uZSB3ZSBqdXN0IHF1ZXVlZCB1
cC4KLSAgICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2sodC5zdGVwX2Z1bmNfZG9u
ZSgodGltZSkgPT4geworICAgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0
ZXBfZnVuYygodGltZSkgPT4gewogICAgICAgICBhc3NlcnRfZXF1YWxzKHRpbWUsIHNlY29uZFRp
bWUsICJDYWxsYmFja3MgcXVldWVkIHRvZ2V0aGVyIHNob3VsZCBiZSBjYWxsZWQgYXQgdGhlIHNh
bWUgdGltZSIpOworICAgICAgICBkb25lKCk7CiAgICAgICB9KSkKIAogICAgIH0pKTsKIAogICAg
IHZpZGVvLnNyYyA9IGdldFZpZGVvVVJJKCcvbWVkaWEvbW92aWVfNScpOwotICAgIHZpZGVvLnBs
YXkoKTsKKyAgICBhd2FpdCB2aWRlby5wbGF5KCk7CiAKKyAgICByZXR1cm4gcHJvbWlzZTsKIH0s
ICdUZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRoZSBuZXh0IGZyYW1lLicp
OwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlv
bih0KSB7CisgICAgbGV0IGRvbmU7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gZG9uZSA9IHJlc29sdmUpOworCiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgndmlkZW8nKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVv
KTsKIApAQCAtNjQsNyArNzIsNyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgIGxh
c3RNZXRhZGF0YSA9IG1ldGFkYXRhOwogCiAgICAgICBpZiAoKytjdXJyZW50Q2FsbE51bWJlciA+
IG1heE51bWJlck9mQ2FsbHMpIHsKLSAgICAgICAgdC5kb25lKCkKKyAgICAgICAgZG9uZSgpCiAg
ICAgICB9IGVsc2UgewogICAgICAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQu
c3RlcF9mdW5jKHJlcGVhdGluZ0NhbGxiYWNrKSk7CiAgICAgICB9CkBAIC03Myw4ICs4MSw5IEBA
IGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2Fs
bGJhY2sodC5zdGVwX2Z1bmMocmVwZWF0aW5nQ2FsbGJhY2spKTsKIAogICAgIHZpZGVvLnNyYyA9
IGdldFZpZGVvVVJJKCcvbWVkaWEvbW92aWVfNScpOwotICAgIHZpZGVvLnBsYXkoKTsKKyAgICBh
d2FpdCB2aWRlby5wbGF5KCk7CiAKKyAgICByZXR1cm4gcHJvbWlzZTsKIH0sICdUZXN0IGNoYWlu
aW5nIGNhbGxzIHRvIHZpZGVvLnJWRkMsIGFuZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRl
cnMuJyk7CiA8L3NjcmlwdD4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1l
LWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sCmluZGV4IGE0
NDA0MTQzZmE0MDhlYmJiOGY0OWNjMzE4MGUwNjVkMjAwZmZhNGEuLjI1NjIxNmU4ZmMwOTg0ODJi
YWYyNjdkOTVmYzVmMmNlY2E0MzBjNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNh
bGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbApAQCAtMTgs
MjYgKzE4LDM0IEBAIHZhciBhbHRUZXN0VmlkZW8gPSB7CiAgIHdpZHRoOiAzMjAsCiB9CiAKLWFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsK
KyAgICBsZXQgZG9uZTsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiBkb25lID0gcmVzb2x2ZSk7CisKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCd2aWRlbycpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCiAg
ICAgbGV0IGlkID0gdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjaygKLSAgICAgIHQuc3Rl
cF9mdW5jX2RvbmUoKHRpbWUsIG1ldGFkYXRhKSA9PiB7CisgICAgICB0LnN0ZXBfZnVuYygodGlt
ZSwgbWV0YWRhdGEpID0+IHsKICAgICAgICAgYXNzZXJ0X3RydWUodGltZSA+IDApOwogICAgICAg
ICBhc3NlcnRfZXF1YWxzKG1ldGFkYXRhLmhlaWdodCwgdGVzdFZpZGVvLmhlaWdodCk7CiAgICAg
ICAgIGFzc2VydF9lcXVhbHMobWV0YWRhdGEud2lkdGgsIHRlc3RWaWRlby53aWR0aCk7CisgICAg
ICAgIGRvbmUoKTsKICAgICAgIH0pCiAgICAgKTsKIAogICAgIGFzc2VydF90cnVlKGlkID4gMCk7
CiAKICAgICB2aWRlby5zcmMgPSB0ZXN0VmlkZW8udXJsOwotICAgIHZpZGVvLnBsYXkoKTsKKyAg
ICBhd2FpdCB2aWRlby5wbGF5KCk7CiAKKyAgICByZXR1cm4gcHJvbWlzZTsKIH0sICdUZXN0IHdl
IGNhbiByZWdpc3RlciBhIHZpZGVvLnJWRkMgY2FsbGJhY2suJyk7CiAKLWFzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9u
ZTsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVz
b2x2ZSk7CisKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycp
OwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCkBAIC00NSwxOSArNTMs
MjQgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICB0LnN0ZXBfZnVuYyh2aWRlb19u
b3cgPT4gewogICAgICAgICAvLyBRdWV1ZSBhIGNhbGwgdG8gd2luZG93LnJBRiwgYW5kIG1ha2Ug
c3VyZSBpdCBpcyBleGVjdXRlZCB3aXRoaW4gdGhlCiAgICAgICAgIC8vIHNhbWUgdHVybiBvZiB0
aGUgZXZlbnQgbG9vcCAod2l0aCB0aGUgc2FtZSAndGltZScgcGFyYW1ldGVyKS4KLSAgICAgICAg
d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSggdC5zdGVwX2Z1bmNfZG9uZSggd2luZG93X25v
dyA9PiB7CisgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoIHQuc3RlcF9mdW5j
KCB3aW5kb3dfbm93ID0+IHsKICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHZpZGVvX25vdywgd2lu
ZG93X25vdyk7CisgICAgICAgICAgZG9uZSgpOwogICAgICAgICB9KSk7CiAgICAgICB9KQogICAg
ICk7CiAKICAgICB2aWRlby5zcmMgPSB0ZXN0VmlkZW8udXJsOwotICAgIHZpZGVvLnBsYXkoKTsK
KyAgICBhd2FpdCB2aWRlby5wbGF5KCk7CiAKKyAgICByZXR1cm4gcHJvbWlzZTsKIH0sICdUZXN0
IHZpZGVvLnJWRkMgY2FsbGJhY2tzIHJ1biBiZWZvcmUgd2luZG93LnJBRiBjYWxsYmFja3MuJyk7
CiAKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rp
b24odCkgeworICAgIGxldCBkb25lOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRl
byk7CiAKQEAgLTc0LDEyICs4NywxNCBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAg
ICAgLy8gQXQgdGhpcyBwb2ludCwgdGhlIG90aGVyIGNhbGxiYWNrIHNob3VsZG4ndCBoYXZlIGZp
cmVkLCBidXQKICAgICAgICAgLy8gZ2l2ZSBpdCBzb21lIG1vcmUgdGltZSBhbmQgcmVhbGx5IG1h
a2Ugc3VyZSBpdCBkb2Vzbid0LCBieSBnb2luZwogICAgICAgICAvLyB0aHJvdWdodCB0aGUgZXZl
bnQgbG9vcCBvbmNlIG1vcmUuCi0gICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsgdC5kb25l
KCk7IH0sIDApOworICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7IGRvbmUoKTsgfSwgMCk7
CiAgICAgICB9KQogICAgICk7CiAKICAgICB2aWRlby5zcmMgPSB0ZXN0VmlkZW8udXJsOwotICAg
IHZpZGVvLnBsYXkoKTsKKyAgICBhd2FpdCB2aWRlby5wbGF5KCk7CisKKyAgICByZXR1cm4gcHJv
bWlzZTsKIH0sICdUZXN0IHdlIGNhbiBjYW5jZWwgYSB2aWRlby5yVkZDIHJlcXVlc3QuJyk7CiAK
IHRlc3QoZnVuY3Rpb24odCkgewpAQCAtMTA1LDYgKzEyMCw3IEBAIHRlc3QoZnVuY3Rpb24odCkg
ewogCiBwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgewogICAgIGxldCB2aWRlbyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAgdmlkZW8uYXV0b3BsYXkgPSB0cnVl
OwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCiAgICAgbGV0IGZpcnN0
X3dpZHRoID0gMDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBmOGFhZGI5OTZmNzc5OGI2NTA1OTIxN2U2NWY0NjEyMzNmOTYzYzBmLi5mZWQy
YTgzMDAwZmJlM2RlOTY3NTNjNzYyMjQ4YzFiNGYyYjg0ZjFjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDMsMTMgKzE0MywxMCBAQCBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY25hbWUtY2xvYWtpbmctdG9wLW5vLWNu
YW1lLXN1Yi1uby1jbmFtZS5odG1sCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMgWyBQYXNzIF0KIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRt
bCBbIFBhc3MgXQogd2VicnRjL3BlZXJDb25uZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBU
aW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNr
ZW5kIHN1cHBvcnQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMv
cmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay13ZWJydGMuaHR0cHMuaHRtbCBbIFNraXAgXQor
IyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCBYUiBzZXNzaW9uLgogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJh
Y2stYmVmb3JlLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
ZG9tLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9uLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZm
Yy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwgWyBTa2lwIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZy
YW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1s
IFsgU2tpcCBdCiAKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIHBs
YXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDFkZjk1ZDA1MzM1MzA2NTM5MjczZTIwMTM5MWYz
MGY0Y2VmMmRkNDguLjNkMzQ4YTA2ZTFkZjk0NWYwZjFjZmFmMjQzZGQ3MzViMTlhMTIwNDMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMz
LDYgKzMzLDEyIEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZXh0ZXJuYWwt
ZW50aXR5LW5vLWxvZ2dpbmcueG1sIFsgUGFzcyBdCiAjIHJkYXI6Ly9wcm9ibGVtLzYxNzkzODg0
IDogRW5hYmxpbmcgdGhpcyB0ZXN0IGZvciBXSzEgb25seS4KIGZhc3Qvc2hhcGVzL3NoYXBlLW91
dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtaW1hZ2VkYXRhLW92ZXJmbG93Lmh0bWwgWyBQYXNz
IF0KIAoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsgUGFzcyBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay13ZWJydGMuaHR0cHMuaHRtbCBbIFNraXAgXQorIyBUaW1pbmcgb3V0
IHRlc3RzIHVudGlsIHdlIGFkZCBYUiBzZXNzaW9uLgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stYmVmb3JlLXhy
LXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNl
c3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQorCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vCiAjIEVuZCBwbGF0Zm9ybS1zcGVjaWZpYyBkaXJlY3Rvcmllcy4KICMvLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCAzMjJhNWJlZDlhNmUzMTIzZjdjNGM0YWUwYTQ4ZDg1YmEz
ZjlhZGJkLi40OTJhMGE0MWQzZjIyNjhhZjJiMGNjOWRiMWM0ZDVhOWU2MWVmYzg1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjIsMTMg
KzEyMiwxMCBAQCBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS10cmFuc2FjdGlvbi1jeWNsZS5o
dG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMg
WyBQYXNzIF0KIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3Mg
XQogd2VicnRjL3BlZXJDb25uZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0
IHRlc3RzIHVudGlsIHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBv
cnQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12
aWRlby1mcmFtZS1jYWxsYmFjay13ZWJydGMuaHR0cHMuaHRtbCBbIFNraXAgXQorIyBUaW1pbmcg
b3V0IHRlc3RzIHVudGlsIHdlIGFkZCBYUiBzZXNzaW9uLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stYmVmb3Jl
LXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWwg
WyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBT
a2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0
LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLXJlcGVhdGluZy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sIFsgU2tpcCBd
CiAKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIHBsYXRmb3JtLXNw
ZWNpZmljIGRpcmVjdG9yaWVzLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444492</attachid>
            <date>2021-11-17 00:56:21 -0800</date>
            <delta_ts>2021-11-17 23:36:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231945-20211117095618.patch</filename>
            <type>text/plain</type>
            <size>53897</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMjdhNzIwZDEzN2YxMGU1YzczZGIwNDU0ZWY1Nzlj
NzNkOWFjMGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBBUEkgdG8gc3RhcnQvc3RvcCBnYXRoZXJpbmcgbWV0YWRhdGEuCisgICAgICAgIFRoaXMgZ29l
cyBmcm9tIHZpZGVvIGVsZW1lbnQgZG93biB0byBtZWRpYSBwbGF5ZXIgcHJpdmF0ZS4KKyAgICAg
ICAgQ29udmVyc2VseSwgYWRkIGEgY2FsbGJhY2sgdG8gZ2V0IHRoZSBtZXRhZGF0YSwgaW5jbHVk
aW5nIHRoZSBwaXhlbCBidWZmZXIuCisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgaW4gTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQyBieSBhZGRpbmcgYSBzcGVjaWZpYyB0aW1l
bGluZSBvYnNlcnZlci4KKyAgICAgICAgV2UgcmV1c2UgdGhlIHNhbWUgdmlkZW8gb3V0cHV0IGFu
ZCB0aGUgc2FtZSBwaXhlbCBidWZmZXIgYXMgd2hlbiBwYWludGluZyB0aGUgdmlkZW8gZWxlbWVu
dCBpbiB0aGUgY2FudmFzLgorICAgICAgICBUbyBtYWtlIHN1cmUgcGFpbnRpbmcgaW4gYSBjYW52
YXMgZG9lcyBub3QgaGF2ZSBzaWRlIGVmZmVjdHMgd2l0aCBnYXRoZXJpbmcgdmlkZW8gbWV0YWRh
dGEsIHdlIGRvIG5vdCB1cGRhdGUgdGhlIHBpeGVsIGJ1ZmZlcgorICAgICAgICB3aGVuIHBhaW50
aW5nIG9uIGEgY2FudmFzIGluIGNhc2UgdmlkZW8gbWV0YWRhdGEgaXMgZ2F0aGVyZWQuCisgICAg
ICAgIEluc3RlYWQsIHdlIGNvbnNpZGVyIHRoYXQgcGl4ZWwgYnVmZmVyIGlzIGFzIHVwIHRvIGRh
dGUgYXMgcG9zc2libGUgaW4gdGhhdCBjYXNlLgorICAgICAgICBUbyBtYWtlIGl0IHdvcmsgaW4g
V0sxLCB3ZSBpbXBsZW1lbnQgdGhlIHN5bmNocm9ub3VzIHZpZGVvIGZyYW1lIGNhbGxiYWNrIGdl
dHRlci4KKworICAgICAgICBSb3VuZCB0aGUgbWlsbGlzZWNvbmQgbm93IHRpbWUgZ2l2ZW4gdG8g
dGhlIGNhbGxiYWNrLCBsaWtlIGRvbmUgZm9yIFJBRi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGVu
YWJsZWQgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9DVlBpeGVsQnVmZmVyUmVmLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJp
dmF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaDoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9w
IGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdm
MWFhMjRlYmRkYTNjZWRkLi43M2U0NTFlYzFlMjZkNmMzYjYyZWY1NDJjNjZhOTgwNWFiMWMzODIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRhdGlvbiBzaG91
bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3MzcyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHN0YXJ0L3N0b3AgbWV0YWRhdGEgZ2F0aGVyaW5nIGZyb20gV2ViUHJvY2VzcyB0byBH
UFVQcm9jZXNzLgorICAgICAgICBBZGQgSVBDIG1lc3NhZ2luZyB0byBwdXNoIG1ldGFkYXRhIHRv
IFdlYlByb2Nlc3MsIGluY2x1ZGluZyBzZW5kaW5nIHRoZSBjb3JyZXNwb25kaW5nIENWUGl4ZWxC
dWZmZXIgZm9yIHRoZSBjdXJyZW50IG1ldGFkYXRhLgorICAgICAgICBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGUgd2lsbCB0aGVuIHNlcnZlIHRoYXQgYnVmZmVyIHdoZW4gYmVpbmcgcmVxdWVzdGVk
IHRoZSBjdXJyZW50IGltYWdlLgorICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCBwYWludGluZyBv
biBhIGNhbnZhcyBkb2VzIG5vdCBtYXJrIHRoZSBjdXJyZW50IGJ1ZmZlciBhcyBhY3F1aXJlZCwg
d2hpY2ggd291bGQgdGhlbiBza2lwIHRoZSB2aWRlbyBmcmFtZSBtZXRhZGF0YSBnYXRoZXJpbmcu
CisgICAgICAgIFRoaXMgYWxzbyBlbnN1cmVzIHRoZSBzYW1lIGJ1ZmZlciBpcyB1c2VkIGlmIGEg
dmlkZW8gZWxlbWVudCBpcyBwYWludGVkIHNldmVyYWwgdGltZXMgZHVyaW5nIHRoZSBzYW1lIHJ2
ZmMgY2FsbGJhY2suCisgICAgICAgIFRoaXMgaGFzIHRoZSBzaWRlIGJlbmVmaXQgb2YgcmVtb3Zp
bmcgdGhlIHN5bmNocm9ub3VzIElQQyB0byBwYWludCB0aGUgdmlkZW8gZWxlbWVudCBpbiBhIGNh
bnZhcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5jcHA6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eUNvY29hLm1tOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL2Nv
Y29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tOgorCiAyMDIxLTExLTE0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgZGFlbW9uIEFQSSBy
ZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGluZyB3aXRoIFdlYlB1c2hE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAyZWNiZjVkYmFhZGVk
NDJlNzc5MDQ0MDVhYzAxMzFlMzhmYzI5YmU3Li42OTU2Njk0OTYzMTBlZjkxMDhiOTU2ZmRhNDgy
MTQzMDE0OTcwZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAt
NjQxLDYgKzY0MSw5IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldENoYW5naW5nVmlkZW9GdWxs
c2NyZWVuTW9kZShib29sIHZhbHVlKSB7IG1fY2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlID0g
dmFsdWU7IH0KICAgICBib29sIGlzQ2hhbmdpbmdWaWRlb0Z1bGxzY3JlZW5Nb2RlKCkgY29uc3Qg
eyByZXR1cm4gbV9jaGFuZ2luZ1ZpZGVvRnVsbHNjcmVlbk1vZGU7IH0KIAorcHJvdGVjdGVkOgor
ICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCkgb3ZlcnJpZGU7CisKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIApAQCAtNjkyLDcgKzY5NSw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBtZWRpYVBsYXllclNpemVDaGFuZ2VkKCkgZmluYWw7CiAgICAgdm9pZCBt
ZWRpYVBsYXllclJlbmRlcmluZ01vZGVDaGFuZ2VkKCkgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBs
YXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkgZmluYWw7Ci0gICAgdm9pZCBtZWRp
YVBsYXllckVuZ2luZVVwZGF0ZWQoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyV2lsbElu
aXRpYWxpemVNZWRpYUVuZ2luZSgpIGZpbmFsOwogICAgIHZvaWQgbWVkaWFQbGF5ZXJEaWRJbml0
aWFsaXplTWVkaWFFbmdpbmUoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyUmVsb2FkQW5k
UmVzdW1lUGxheWJhY2tJZk5lZWRlZCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZp
ZGVvRWxlbWVudC5jcHAKaW5kZXggYmIwNWUyNzYxZjgyZGM5ZGUzMTFkNGNiYTIzNDc5NTE2OTA5
YzMyOS4uZDc2OWU1M2FlYjFlMThhN2Q5NzFhNjM2ZTE5ZDJiZTA1NjJmZTU3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC01ODgsNiArNTg4LDkgQEAgdm9p
ZCBIVE1MVmlkZW9FbGVtZW50OjpleGl0VG9GdWxsc2NyZWVuTW9kZVdpdGhvdXRBbmltYXRpb25J
ZlBvc3NpYmxlKEhUTUxNZWRpYUUKIAogdW5zaWduZWQgSFRNTFZpZGVvRWxlbWVudDo6cmVxdWVz
dFZpZGVvRnJhbWVDYWxsYmFjayhSZWY8VmlkZW9GcmFtZVJlcXVlc3RDYWxsYmFjaz4mJiBjYWxs
YmFjaykKIHsKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBsYXll
cigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmco
KTsKKwogICAgIGF1dG8gaWRlbnRpZmllciA9ICsrbV9uZXh0VmlkZW9GcmFtZVJlcXVlc3RJbmRl
eDsKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5hcHBlbmQobWFrZVVuaXF1ZVJlZjxWaWRlb0Zy
YW1lUmVxdWVzdD4oaWRlbnRpZmllciwgV1RGTW92ZShjYWxsYmFjaykpKTsKIApAQCAtNjA3LDYg
KzYxMCw5IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNr
KHVuc2lnbmVkIGlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV92aWRl
b0ZyYW1lUmVxdWVzdHMucmVtb3ZlKGluZGV4KTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVSZXF1
ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisgICAgICAgIHBsYXllcigpLT5zdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CiB9CiAKIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6c2Vy
dmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNvbHV0aW9uU2Vjb25kcyBu
b3cpCkBAIC02MjcsMTMgKzYzMywyMyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZAogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsYmFja0NvdW50OyArK2luZGV4KSB7CiAg
ICAgICAgIGF1dG8mIHJlcXVlc3QgPSBtX3ZpZGVvRnJhbWVSZXF1ZXN0c1tpbmRleF07CiAgICAg
ICAgIGlmICghcmVxdWVzdC0+Y2FuY2VsbGVkKSB7Ci0gICAgICAgICAgICByZXF1ZXN0LT5jYWxs
YmFjay0+aGFuZGxlRXZlbnQobm93LnZhbHVlKCksICp2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAg
ICAgICAgICAgcmVxdWVzdC0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0ZDo6cm91bmQobm93Lm1p
bGxpc2Vjb25kcygpKSwgKnZpZGVvRnJhbWVNZXRhZGF0YSk7CiAgICAgICAgICAgICByZXF1ZXN0
LT5jYW5jZWxsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQogICAgIG1faXNSdW5uaW5nVmlk
ZW9GcmFtZVJlcXVlc3RzID0gZmFsc2U7CiAKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1v
dmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2FsbGJhY2stPmNhbmNl
bGxlZDsgfSk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBs
YXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworfQorCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZCgpCit7CisgICAgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7
CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisg
ICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1Yjhj
N2FlMDBjNGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLjg1NmFkZWE3OGZiNzM5OGQ4ZmI0NWY0NDhh
MzU5MWJkYTU1Zjk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBA
IC0xNDEsNiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpN
ZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIG1lZGlhUGxheWVy
RW5naW5lVXBkYXRlZCgpIGZpbmFsOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxJbWFnZUxv
YWRlcj4gbV9pbWFnZUxvYWRlcjsKIAogICAgIEF0b21TdHJpbmcgbV9kZWZhdWx0UG9zdGVyVVJM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAppbmRleCA4
ZmQ5YTQ3MDAyNDhkNGQyNzhkY2UyNzQ5NzgzNjBhNTdiYWY1OWVhLi45NGRkZjBlZjBmNjExMzVi
ZDliNjg5MDhiODExNTZmYmJiZGYyM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaApAQCAtNDMsOCArNDMsNzMgQEAgc3RydWN0IFZpZGVvRnJhbWVN
ZXRhZGF0YSB7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNhcHR1cmVUaW1lOwogICAgIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiByZWNlaXZlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPiBydHBUaW1lc3RhbXA7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
IAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2b2lkIFZpZGVvRnJhbWVNZXRhZGF0
YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBwcmVz
ZW50YXRpb25UaW1lIDw8IGV4cGVjdGVkRGlzcGxheVRpbWUgPDwgd2lkdGggPDwgaGVpZ2h0IDw8
IG1lZGlhVGltZSA8PCBwcmVzZW50ZWRGcmFtZXMgPDwgcHJvY2Vzc2luZ0R1cmF0aW9uIDw8IGNh
cHR1cmVUaW1lIDw8IHJlY2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
VmlkZW9GcmFtZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBkZWNvZGVyID4+IHByZXNl
bnRhdGlvblRpbWU7CisgICAgaWYgKCFwcmVzZW50YXRpb25UaW1lKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgZGVjb2RlciA+PiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGlmICghZXhw
ZWN0ZWREaXNwbGF5VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAg
aWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdodDsKKyAgICBpZiAo
IWhlaWdodCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBtZWRpYVRpbWU7CisgICAgZGVjb2RlciA+PiBtZWRpYVRpbWU7CisgICAgaWYg
KCFtZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBwcmVzZW50ZWRGcmFtZXM7CisgICAgZGVjb2RlciA+PiBwcmVzZW50
ZWRGcmFtZXM7CisgICAgaWYgKCFwcmVzZW50ZWRGcmFtZXMpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJv
Y2Vzc2luZ0R1cmF0aW9uOworICAgIGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGlmICghcHJvY2Vzc2luZ0R1cmF0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IGNhcHR1cmVUaW1lOwor
ICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAgaWYgKCFjYXB0dXJlVGltZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25h
bDxkb3VibGU+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2VpdmVUaW1lOworICAg
IGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1lc3RhbXA7CisgICAg
ZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3RhbXApCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9GcmFtZU1ldGFkYXRhIHsg
KnByZXNlbnRhdGlvblRpbWUsICpleHBlY3RlZERpc3BsYXlUaW1lLCAqd2lkdGgsICpoZWlnaHQs
ICptZWRpYVRpbWUsICpwcmVzZW50ZWRGcmFtZXMsICpwcm9jZXNzaW5nRHVyYXRpb24sICpjYXB0
dXJlVGltZSwgKnJlY2VpdmVUaW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCBhNDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQx
NzA2NTk2Li43NWQ0OTUzNGY0ZDFiNzlkYjZkZTcwZGJkODMwNmE3NDI3Y2Q0MjBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01
OTAsNiArNTkwLDggQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUo
Y29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJp
dmF0ZS0+c2V0UGFnZUlzVmlzaWJsZShtX3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYg
KG1fdmlzaWJsZUluVmlld3BvcnQpCiAgICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNp
YmxlSW5WaWV3cG9ydChtX3Zpc2libGVJblZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0
ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1fcHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJl
c2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJlcGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTE3MjEsNiArMTcyMywyNSBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
TWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxz
ZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30K
KworI2lmIFBMQVRGT1JNKENPQ09BKQordm9pZCBNZWRpYVBsYXllcjo6b25OZXdWaWRlb0ZyYW1l
TWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllck9uTmV3Vmlk
ZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1ZmZlcikpOworfQor
I2VuZGlmCisKIFN0cmluZyBNZWRpYVBsYXllcjo6ZWxlbWVudElkKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJFbGVtZW50SWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDViMWUxNzQ1MTNlMDZmYTAx
ZDUxOTBiNTVlNTA1MzU1NWVmZDc2MzcuLjAwNDViNTRmNTA0ODIwMzNkNGY4ZjM0YzZjZDY1ZTNk
OTA5YTczMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMjg2LDYgKzI4NiwxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFQbGF5ZXJRdWV1ZVRhc2tPbkV2ZW50TG9vcChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykg
eyBjYWxsT25NYWluVGhyZWFkKFdURk1vdmUodGFzaykpOyB9CiAKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShW
aWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpIHsgfQor
I2VuZGlmCisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB2aXJ0dWFsIGNvbnN0IHZv
aWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSA9IDA7CkBAIC01ODQsNiAr
NTg4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRleHRUcmFjayhJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlJik7CiAgICAgdm9pZCByZW1vdmVWaWRlb1RyYWNrKFZpZGVvVHJhY2tQcml2YXRl
Jik7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFk
YXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7
CisjZW5kaWYKKwogICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbigpIGNv
bnN0OwogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24qKTsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKQEAgLTY4MSw2ICs2
ODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNNZWRpYUVuZ2luZSgpIGNvbnN0OwogCiAgICAg
c3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpOwor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0
b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYVBs
YXllcihNZWRpYVBsYXllckNsaWVudCYpOwpAQCAtNzI1LDYgKzczNSw3IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiAgICAgYm9vbCBtX3Nob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQgeyBmYWxzZSB9Owog
I2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2Ug
fTsKIH07CiAKIGNsYXNzIE1lZGlhUGxheWVyRmFjdG9yeSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY1YTQw
YWJjOGE3OWE2Y2UwNjRiNzAyY2RkMGM5YTlhYTY2M2RkMzkuLmNmNDYzMTJjNTJhOTg3MmJjMDQ1
YWQxZDQyMmFmNDhiMTAwOGNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGlt
ZSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8VmlkZW9G
cmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSB7IHJldHVybiB7IH07IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIHsgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDU5ZWNhNDUxMzRmZTZmNDA1OTkwMmUyMWNlN2U3
ZTVhZGU4MGJmYTIuLjIwMGUxYThmOWFmYmEwZmNiYmE1YjBhM2VkNzA0Y2QzNDFiNDUwZDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoVklERU8p
ICYmIFVTRShBVkZPVU5EQVRJT04pCiAKICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uaCIKKyNpbmNsdWRlIDxDb3JlTWVkaWEvQ01UaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIApAQCAtMzQyLDYgKzM0Mywx
MSBAQCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1Rp
bWUmKSBmaW5hbDsKICAgICBib29sIGhhdmVCZWVuQXNrZWRUb1BhaW50KCkgY29uc3QgeyByZXR1
cm4gbV9oYXZlQmVlbkFza2VkVG9QYWludDsgfQogCisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVN
ZXRhZGF0YUdhdGhlcmluZygpIGZpbmFsOworICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0
YUdhdGhlcmluZygpIGZpbmFsOworICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRh
PiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSBmaW5hbCB7IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fdmlk
ZW9GcmFtZU1ldGFkYXRhLCB7IH0pOyB9CisgICAgdm9pZCBjaGVja05ld1ZpZGVvRnJhbWVNZXRh
ZGF0YShDTVRpbWUpOworCiAgICAgUmV0YWluUHRyPEFWVVJMQXNzZXQ+IG1fYXZBc3NldDsKICAg
ICBSZXRhaW5QdHI8QVZQbGF5ZXI+IG1fYXZQbGF5ZXI7CiAgICAgUmV0YWluUHRyPEFWUGxheWVy
SXRlbT4gbV9hdlBsYXllckl0ZW07CkBAIC00NTEsNiArNDU3LDEwIEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2hhdmVQcm9jZXNzZWRDaGFwdGVyVHJhY2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1f
d2FpdEZvclZpZGVvT3V0cHV0TWVkaWFEYXRhV2lsbENoYW5nZVRpbWVkT3V0IHsgZmFsc2UgfTsK
ICAgICBib29sIG1faGF2ZUJlZW5Bc2tlZFRvUGFpbnQgeyBmYWxzZSB9OworICAgIHVpbnQ2NF90
IG1fc2FtcGxlQ291bnQgeyAwIH07CisgICAgUmV0YWluUHRyPGlkPiBtX3ZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZ09ic2VydmVyOworICAgIGJvb2wgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVN
ZXRhZGF0YSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+
IG1fdmlkZW9GcmFtZU1ldGFkYXRhOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5k
ZXggNGQ4NjExM2JjYmU0NjllYzZlMDI1NzkxMDJkMTEwZWE5MzAxMDA5Ni4uMDVhNGE0NzhlNjc3
ODM1Mjg5MTUzNzBmMmNjYzkwOGU4MTRjNDg2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBA
IC01MzYsNiArNTM2LDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y2FuY2VsTG9hZCgpCiAgICAgICAgICAgICBbbV9hdlBsYXllciByZW1vdmVUaW1lT2JzZXJ2
ZXI6bV9jdXJyZW50VGltZU9ic2VydmVyLmdldCgpXTsKICAgICAgICAgbV9jdXJyZW50VGltZU9i
c2VydmVyID0gbmlsOwogCisgICAgICAgIGlmIChtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
Z09ic2VydmVyKSB7CisgICAgICAgICAgICBbbV9hdlBsYXllciByZW1vdmVUaW1lT2JzZXJ2ZXI6
bV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlci5nZXQoKV07CisgICAgICAgICAg
ICBtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gbmlsOworICAgICAgICB9
CisKICAgICAgICAgbV9hdlBsYXllciA9IG5pbDsKICAgICB9CiAKQEAgLTExMDgsNiArMTExMyw4
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZQbGF5
ZXIoKQogICAgICAgICB9KTsKICAgICB9XTsKIAorICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9G
cmFtZU1ldGFkYXRhKQorICAgICAgICBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygp
OwogICAgIHNldERlbGF5Q2FsbGJhY2tzKGZhbHNlKTsKIH0KIApAQCAtMTQzMyw2ICsxNDQwLDQ4
IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1QYXVz
ZWQoKSBjb25zdAogICAgIHJldHVybiBtX2NhY2hlZFRpbWVDb250cm9sU3RhdHVzID09IEFWUGxh
eWVyVGltZUNvbnRyb2xTdGF0dXNQYXVzZWQ7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQzo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorewor
ICAgIEFTU0VSVCghbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciB8fCBtX2F2
UGxheWVyKTsKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKwor
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIGEgQ0FEaXNwbGF5TGluayB0byBnZXQgdXBkYXRl
cyBvbiByZW5kZXJpbmcsIGZvciBub3cgd2UgZW11bGF0ZSB3aXRoIGFkZFBlcmlvZGljVGltZU9i
c2VydmVyRm9ySW50ZXJ2YWwuCisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNl
cnZlciA9IFttX2F2UGxheWVyIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6UEFM
OjpDTVRpbWVNYWtlKDEsIDYwKSBxdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5n
QmxvY2s6W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dKENNVGltZSBjdXJyZW50VGltZSkg
eworICAgICAgICBlbnN1cmVPbk1haW5UaHJlYWQoW3dlYWtUaGlzLCBjdXJyZW50VGltZV0gewor
ICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5jaGVj
a05ld1ZpZGVvRnJhbWVNZXRhZGF0YShjdXJyZW50VGltZSk7CisgICAgICAgIH0pOworICAgIH1d
OworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNoZWNrTmV3
VmlkZW9GcmFtZU1ldGFkYXRhKENNVGltZSBjdXJyZW50VGltZSkKK3sKKyAgICBpZiAoIXVwZGF0
ZUxhc3RQaXhlbEJ1ZmZlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBWaWRlb0ZyYW1lTWV0
YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEud2lkdGggPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUud2lkdGgoKTsKKyAgICBtZXRhZGF0YS5oZWlnaHQgPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUuaGVpZ2h0KCk7CisgICAgbWV0YWRhdGEucHJlc2VudGVkRnJhbWVzID0gKyttX3NhbXBs
ZUNvdW50OworICAgIG1ldGFkYXRhLm1lZGlhVGltZSA9IFBBTDo6Q01UaW1lR2V0U2Vjb25kcyhj
dXJyZW50VGltZSk7CisgICAgbWV0YWRhdGEucHJlc2VudGF0aW9uVGltZSA9IE1vbm90b25pY1Rp
bWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2NoKCkuc2Vjb25kcygpOworICAgIG1ldGFkYXRhLmV4
cGVjdGVkRGlzcGxheVRpbWUgPSBtZXRhZGF0YS5wcmVzZW50YXRpb25UaW1lOworCisgICAgbV92
aWRlb0ZyYW1lTWV0YWRhdGEgPSBtZXRhZGF0YTsKKyAgICBwbGF5ZXIoKS0+b25OZXdWaWRlb0Zy
YW1lTWV0YWRhdGEoV1RGTW92ZShtZXRhZGF0YSksIG1fbGFzdFBpeGVsQnVmZmVyLmdldCgpKTsK
K30KKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzdG9wVmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gZmFsc2U7CisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGEgPSB7IH07CisKKyAgICBp
ZiAobV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlcikgeworICAgICAgICBbbV9h
dlBsYXllciByZW1vdmVUaW1lT2JzZXJ2ZXI6bV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdP
YnNlcnZlci5nZXQoKV07CisgICAgICAgIG1fdmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nT2Jz
ZXJ2ZXIgPSBuaWw7CisgICAgfQorfQorCiBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1EdXJhdGlvbigpIGNvbnN0CiB7CiAgICAgLy8gRG8gbm90
IGFzayB0aGUgYXNzZXQgZm9yIGR1cmF0aW9uIGJlZm9yZSBpdCBoYXMgYmVlbiBsb2FkZWQgb3Ig
aXQgd2lsbCBmZXRjaCB0aGUKQEAgLTI1NDgsNyArMjU5Nyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6dXBkYXRlTGFzdEltYWdlKFVwZGF0ZVR5cGUgdHlwZSkK
ICAgICAvLyBDYWxscyB0byBjb3B5UGl4ZWxCdWZmZXJGb3JJdGVtVGltZTppdGVtVGltZUZvckRp
c3BsYXk6IG1heSByZXR1cm4gbmlsIGlmIHRoZSBwaXhlbCBidWZmZXIKICAgICAvLyBmb3IgdGhl
IHJlcXVlc3RlZCB0aW1lIGhhcyBhbHJlYWR5IGJlZW4gcmV0cmlldmVkLiBJbiB0aGlzIGNhc2Us
IHRoZSBsYXN0IHZhbGlkIGltYWdlIChpZiBhbnkpCiAgICAgLy8gc2hvdWxkIGJlIGRpc3BsYXll
ZC4KLSAgICBpZiAoIXVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpICYmIChtX2xhc3RJbWFnZSB8fCAh
bV9sYXN0UGl4ZWxCdWZmZXIpKQorICAgIGlmICgobV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRh
ZGF0YSB8fCAhdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCkpICYmIChtX2xhc3RJbWFnZSB8fCAhbV9s
YXN0UGl4ZWxCdWZmZXIpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fcGl4ZWxCdWZm
ZXJDb25mb3JtZXIpIHsKQEAgLTI1ODMsOSArMjYzMiw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRXaXRoVmlkZW9PdXRwdXQoR3JhcGhpY3NDb250ZXh0
JiBjCiAKIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpwaXhlbEJ1ZmZlckZvckN1cnJlbnRUaW1lKCkKIHsKLSAgICB1cGRhdGVM
YXN0UGl4ZWxCdWZmZXIoKTsKLSAgICBpZiAoIW1fbGFzdFBpeGVsQnVmZmVyKQotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoIW1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEp
CisgICAgICAgIHVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpOwogCiAgICAgcmV0dXJuIG1fbGFzdFBp
eGVsQnVmZmVyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCmluZGV4IGMzYzUzN2NlMjdjMDQ4
OGE1ODhjNGQwMWI4ZDU0MDg4OGRjN2Y0MDcuLmNjNTc4Yzc5YmIwN2Y0Mjk2ZDU5NzI3ODBiNjAw
OTI0NjIwM2I2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVyQ1YuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmgKQEAgLTM4LDcgKzM4LDcgQEAg
Y2xhc3MgUGl4ZWxCdWZmZXJDb25mb3JtZXJDViB7CiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBP
UlQgUGl4ZWxCdWZmZXJDb25mb3JtZXJDVihDRkRpY3Rpb25hcnlSZWYgYXR0cmlidXRlcyk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IGNvbnZlcnQoQ1ZQ
aXhlbEJ1ZmZlclJlZik7Ci0gICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlRnJv
bVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYpOworICAgIFdFQkNPUkVfRVhQT1JUIFJldGFp
blB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVy
UmVmKTsKIAogcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8VlRQaXhlbEJ1ZmZlckNvbmZvcm1lclJl
Zj4gbV9waXhlbENvbmZvcm1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCA1NjViOGIyOTNhZWNk
ZjVlNTFmZTVlMTAxNmM1YjdhN2U3MzNkOGE5Li44ODEwOGNiYzUzM2MxMGM3NWUzNzBiZmNjODk4
MDBhNTNjNjcyOWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC0xMDk4LDYgKzEwOTgsMTggQEAg
dm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpwYXVzZUF0SG9zdFRpbWUoTW9ub3RvbmljVGlt
ZSB0aW1lKQogICAgICAgICBtX3BsYXllci0+cGF1c2VBdEhvc3RUaW1lKHRpbWUpOwogfQogCit2
b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVy
aW5nKCkKK3sKKyAgICBpZiAobV9wbGF5ZXIpCisgICAgICAgIG1fcGxheWVyLT5zdGFydFZpZGVv
RnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXll
cikKKyAgICAgICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7
Cit9CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKIFdURkxvZ0NoYW5uZWwmIFJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6OmxvZ0NoYW5uZWwoKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKaW5kZXgg
MGU5ZjNkN2EyMTQ1ZDc1Yjk0M2UyYjU2YTJkODBiYjgwNzNkZjllMS4uMzJmM2E0NmFhMGYwOWIx
M2IwMjRlNDE2NDA3OGE1ZGFkZGVkYzU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCkBAIC0zMDcsNiArMzA3
LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF5QXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsK
ICAgICB2b2lkIHBhdXNlQXRIb3N0VGltZShNb25vdG9uaWNUaW1lKTsKIAorICAgIHZvaWQgc3Rh
cnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmcoKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG1lZGlh
UGxheWVyT25OZXdWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRh
JiYsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmKTsKKyNlbmRpZgorCiAgICAgYm9vbCBt
ZWRpYVBsYXllclBhdXNlZE9yU3RhbGxlZCgpIGNvbnN0OwogICAgIHZvaWQgY3VycmVudFRpbWVD
aGFuZ2VkKGNvbnN0IE1lZGlhVGltZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2Vz
LmluCmluZGV4IDhlYzYwM2ZlY2MxZjE4ZDg0YzE0ZDQ3M2VhNTFhODE1MTQwN2QxMjMuLjM5Yzg3
MjliMjczOWUxMzY0NGIzMWFhODBkYmE4MGQ0YTMzMGM4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC0xMzIsNiArMTMyLDkgQEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eSBOb3RSZWZDb3VudGVkIHsKIAogICAgIFBsYXlBdEhvc3RUaW1lKE1vbm90
b25pY1RpbWUgdGltZSkKICAgICBQYXVzZUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQor
CisgICAgU3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorICAgIFN0b3BWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eUNvY29hLm1tCmluZGV4IDA4YjJmZGVmNWE0ZmNiMThhZGRiZDE2YzFmZDYwODZjMWJl
OWMyN2MuLmM2YmJhM2FhMmI0ZTU1ZmFlZmI5MzNiYmUyZTYzNTlkNzNmNjMxOTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29h
L1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW1w
b3J0ICJMYXllckhvc3RpbmdDb250ZXh0LmgiCiAjaW1wb3J0ICJNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVNZXNzYWdlcy5oIgorI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW1w
b3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRTaXpl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgpAQCAtODMsNiArODQsMTEgQEAgdm9p
ZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRWaWRlb0lubGluZVNpemVGZW5jZWQoY29uc3Qg
V2ViQ29yZTo6RmxvYXRTaXplJgogICAgIHNldFZpZGVvSW5saW5lU2l6ZUlmUG9zc2libGUoKm1f
aW5saW5lTGF5ZXJIb3N0aW5nQ29udGV4dCwgc2l6ZSk7CiB9CiAKK3ZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShWaWRlb0ZyYW1l
TWV0YWRhdGEmJiBtZXRhZGF0YSwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVy
KQoreworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6UHVzaFZpZGVvRnJhbWVNZXRhZGF0YShtZXRhZGF0YSwgYnVmZmVy
KSwgbV9pZCk7Cit9CisKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bmF0aXZlSW1hZ2VG
b3JDdXJyZW50VGltZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V1RGOjpN
YWNoU2VuZFJpZ2h0PiYmLCBXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewogICAgIGlmICghbV9wbGF5ZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDhiZDBkYjI5N2JmYjQwNzRmNjg5MDA0MmZjZGE0
Nzg0NTBkZjA1NjYuLmQxZDg2Y2NkNWUwNTc1Mzg5NTQzNDFiYjVmOGYwOTZhOWJlZDMwNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIv
U291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMzcwLDggKzM3MCw5
IEBAIGRlZiBjb25kaXRpb25zX2Zvcl9oZWFkZXIoaGVhZGVyKToKICAgICAgICAgJyJMYXllckhv
c3RpbmdDb250ZXh0LmgiJzogWyJQTEFURk9STShDT0NPQSkiLCBdLAogICAgICAgICAnIkdlc3R1
cmVUeXBlcy5oIic6IFsiUExBVEZPUk0oSU9TX0ZBTUlMWSkiXSwKICAgICAgICAgJyJXQ0xheWVy
VHJlZUhvc3RJZGVudGlmaWVyLmgiJzogWyJVU0UoR1JBUEhJQ1NfTEFZRVJfV0MpIl0sCi0gICAg
ICAgICc8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oPic6IFsiRU5BQkxFKFdJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkiXSwKKyAgICAgICAgJzxXZWJDb3JlL0NWVXRpbGl0aWVz
Lmg+JzogWyJQTEFURk9STShDT0NPQSkiLCBdLAogICAgICAgICAnPFdlYkNvcmUvRGF0YURldGVj
dG9yVHlwZS5oPic6IFsiRU5BQkxFKERBVEFfREVURUNUSU9OKSJdLAorICAgICAgICAnPFdlYkNv
cmUvTWVkaWFQbGF5YmFja1RhcmdldENvbnRleHQuaD4nOiBbIkVOQUJMRShXSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpIl0sCiAgICAgfQogICAgIGlmIG5vdCBoZWFkZXIgaW4gY29uZGl0aW9uczoK
ICAgICAgICAgcmV0dXJuIE5vbmUKQEAgLTY3OCw2ICs2NzksNyBAQCBkZWYgaGVhZGVyc19mb3Jf
dHlwZSh0eXBlKToKICAgICBoZWFkZXJfaW5mb3NfYW5kX3R5cGVzID0gY2xhc3NfdGVtcGxhdGVf
aGVhZGVycyh0eXBlKQogCiAgICAgc3BlY2lhbF9jYXNlcyA9IHsKKyAgICAgICAgJ0NWUGl4ZWxC
dWZmZXJSZWYnOiBbJzxXZWJDb3JlL0NWVXRpbGl0aWVzLmg+J10sCiAgICAgICAgICdNYWNoU2Vu
ZFJpZ2h0JzogWyc8d3RmL01hY2hTZW5kUmlnaHQuaD4nXSwKICAgICAgICAgJ0pTQzo6TWVzc2Fn
ZUxldmVsJzogWyc8SmF2YVNjcmlwdENvcmUvQ29uc29sZVR5cGVzLmg+J10sCiAgICAgICAgICdK
U0M6Ok1lc3NhZ2VTb3VyY2UnOiBbJzxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4nXSwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCA2MmIxMWRmNWVhZmE2MzVkYmQzNmM3
MTBkOWQ2ZDVmNjVkOGMzN2M2Li5jYjlhZDYxZjAxYjk4NWYyZDZjMGMyZWE4NTViZTNhYmM5MWZm
ZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCkBAIC04MCw2ICs4MCw3IEBACiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQorI2ltcG9ydCA8V2ViQ29yZS9QaXhlbEJ1ZmZl
ckNvbmZvcm1lckNWLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1ZpZGVvTGF5ZXJNYW5hZ2VyT2JqQy5o
PgogI2VuZGlmCiAKQEAgLTEzNzcsNiArMTM3OCwyNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6cGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUmIHRpbWUpCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCit7CisgICAgYXV0byB2
aWRlb0ZyYW1lTWV0YWRhdGEgPSBzdGQ6OmV4Y2hhbmdlKG1fdmlkZW9GcmFtZU1ldGFkYXRhLCB7
IH0pOworICAgIHJldHVybiB2aWRlb0ZyYW1lTWV0YWRhdGE7Cit9CisKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCit7Cisg
ICAgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSA9IHRydWU7CisgICAgY29ubmVjdGlv
bigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlN0YXJ0VmlkZW9GcmFt
ZU1ldGFkYXRhR2F0aGVyaW5nKCksIG1faWQpOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCit7CisgICAgbV9pc0dh
dGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSA9IGZhbHNlOworI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGEgPSBudWxscHRy
OworI2VuZGlmCisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSwgbV9pZCk7Cit9CisK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpyZXF1ZXN0UmVzb3VyY2UoUmVtb3RlTWVk
aWFSZXNvdXJjZUlkZW50aWZpZXIgcmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZpZXIsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNv
dXJjZUxvYWRlcjo6TG9hZE9wdGlvbnMgb3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVCghbV9tZWRpYVJlc291cmNlcy5j
b250YWlucyhyZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcikpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmgKaW5kZXggYjVmNWI1YmMxYzUyYTM5OWM5MWJjNTBjYmFkZjVmZWM5ZjU1NWM0MC4u
YTU1OTlkNjI1MjBkYjJjODdkMDExZWEyZDJhZDQ4MTYzZTY5MDAxMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5oCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiVmlkZW9UcmFja1ByaXZh
dGVSZW1vdGUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUGxheWVyUHJpdmF0ZS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW5EYXRhLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5j
bHVkZSA8d3RmL01lZGlhVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC01Niw2
ICs1NywxMCBAQCBzdHJ1Y3QgR2VuZXJpY0N1ZURhdGE7CiBjbGFzcyBJU09XZWJWVFRDdWU7CiBj
bGFzcyBTZXJpYWxpemVkUGxhdGZvcm1EYXRhQ3VlVmFsdWU7CiBjbGFzcyBWaWRlb0xheWVyTWFu
YWdlcjsKKworI2lmIFBMQVRGT1JNKENPQ09BKQorY2xhc3MgUGl4ZWxCdWZmZXJDb25mb3JtZXJD
VjsKKyNlbmRpZgogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQwMCw2ICs0MDUsMTQgQEAg
cHJpdmF0ZToKICAgICBib29sIHBhdXNlQXRIb3N0VGltZShjb25zdCBNb25vdG9uaWNUaW1lJikg
ZmluYWw7CiAgICAgdm9pZCB1cGRhdGVDb25maWd1cmF0aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29u
ZmlndXJhdGlvbiYmKTsKIAorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6VmlkZW9GcmFtZU1l
dGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkgZmluYWw7CisgICAgdm9pZCBzdG9wVmlkZW9GcmFtZU1l
dGFkYXRhR2F0aGVyaW5nKCkgZmluYWw7CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lk
IHB1c2hWaWRlb0ZyYW1lTWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYsIFJl
dGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiYmKTsKKyNlbmRpZgorCiAgICAgV2Vha1B0cjxXZWJD
b3JlOjpNZWRpYVBsYXllcj4gbV9wbGF5ZXI7CiAgICAgUmVmPFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFSZXNvdXJjZUxvYWRlcj4gbV9tZWRpYVJlc291cmNlTG9hZGVyOwogI2lmIFBMQVRGT1JNKENP
Q09BKQpAQCAtNDUwLDYgKzQ2MywxMiBAQCBwcml2YXRlOgogI2lmIFVTRShBVkZPVU5EQVRJT04p
CiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IG1fcGl4ZWxCdWZmZXJGb3JDdXJyZW50
VGltZTsKICNlbmRpZgorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiBtX3BpeGVsQnVmZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhOwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3Bp
eGVsQnVmZmVyQ29uZm9ybWVyOworI2VuZGlmCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpW
aWRlb0ZyYW1lTWV0YWRhdGE+IG1fdmlkZW9GcmFtZU1ldGFkYXRhOworICAgIGJvb2wgbV9pc0dh
dGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KaW5k
ZXggMTE4ZTAyNWE2OWIzZmE0MWY1NTllNWFhMGJmOThkMzc5MWJlNWRlNC4uYTYwNjAzOTBlOTA1
OTA4NmRmNDUzZjc1NjFkOWY1MTdlNmI0YWUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTkxLDYgKzkxLDEwIEBAIG1lc3NhZ2VzIC0+IE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIEdldFJhd0Nvb2tpZXMoVVJMIHVybCkgLT4gKFZlY3RvcjxXZWJDb3JlOjpDb29r
aWU+IHJlc3VsdCkgQXN5bmMKICNlbmRpZgorCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUHVz
aFZpZGVvRnJhbWVNZXRhZGF0YShzdHJ1Y3QgV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhIG1l
dGFkYXRhLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gYnVmZmVyKTsKKyNlbmRpZgogfQog
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
Y29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1t
CmluZGV4IGEyZjgzNTJmYjIwZmJiMmEwZDYyZmFlYzU5YjJmNGE4MjY1NGJiZmYuLmMwYjc3NmRj
NzczYjE3ZmE0MzBjZDU4OTY4YjAwN2IzMWJkNzZhOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbQpAQCAtMzMsOSArMzMsMTIgQEAKICNpbXBvcnQg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvclNwYWNlQ0cu
aD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1BpeGVs
QnVmZmVyQ29uZm9ybWVyQ1YuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQ
SS5oPgogI2ltcG9ydCA8d3RmL01hY2hTZW5kUmlnaHQuaD4KIAorI2ltcG9ydCA8V2ViQ29yZS9D
b3JlVmlkZW9Tb2Z0TGluay5oPgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCkBAIC00Niw4ICs0OSwyNSBAQCBQbGF0Zm9ybUxheWVyQ29udGFpbmVyIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Y3JlYXRlVmlkZW9GdWxsc2NyZWVuTGF5ZXIoKQogfQog
I2VuZGlmCiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwdXNoVmlkZW9GcmFtZU1l
dGFkYXRhKFdlYkNvcmU6OlZpZGVvRnJhbWVNZXRhZGF0YSYmIHZpZGVvRnJhbWVNZXRhZGF0YSwg
UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYgYnVmZmVyKQoreworICAgIGlmICghbV9pc0dh
dGhlcmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgcmV0dXJuOworICAgIG1fdmlkZW9G
cmFtZU1ldGFkYXRhID0gV1RGTW92ZSh2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAgIG1fcGl4ZWxC
dWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGEgPSBXVEZNb3ZlKGJ1ZmZlcik7Cit9
CisKIFJlZlB0cjxOYXRpdmVJbWFnZT4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpuYXRpdmVJ
bWFnZUZvckN1cnJlbnRUaW1lKCkKIHsKKyAgICBpZiAobV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0
aFZpZGVvRnJhbWVNZXRhZGF0YSkgeworICAgICAgICBpZiAoIW1fcGl4ZWxCdWZmZXJDb25mb3Jt
ZXIpCisgICAgICAgICAgICBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyID0gbWFrZVVuaXF1ZTxQaXhl
bEJ1ZmZlckNvbmZvcm1lckNWPigoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKUB7IChfX2JyaWRn
ZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5OiBAKGtDVlBpeGVs
Rm9ybWF0VHlwZV8zMkJHUkEpIH0pOworICAgICAgICBBU1NFUlQobV9waXhlbEJ1ZmZlckNvbmZv
cm1lcik7CisgICAgICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikKKyAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm4gTmF0aXZlSW1hZ2U6OmNyZWF0ZShtX3Bp
eGVsQnVmZmVyQ29uZm9ybWVyLT5jcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihtX3BpeGVsQnVm
ZmVyR2F0aGVyZWRXaXRoVmlkZW9GcmFtZU1ldGFkYXRhLmdldCgpKSk7CisgICAgfQorCiAgICAg
c3RkOjpvcHRpb25hbDxNYWNoU2VuZFJpZ2h0PiBzZW5kUmlnaHQ7CiAgICAgYXV0byBjb2xvclNw
YWNlID0gRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCk7CiAgICAgaWYgKCFjb25uZWN0aW9u
KCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2ZUltYWdl
Rm9yQ3VycmVudFRpbWUoKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Ok5hdGl2
ZUltYWdlRm9yQ3VycmVudFRpbWU6OlJlcGx5KHNlbmRSaWdodCwgY29sb3JTcGFjZSksIG1faWQp
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhk
ZTlhMjViNjBmYjQ1ZTJkZTBhMDIyZWVkNWJiZjI3NWE4Y2U3OTYuLmM2NjJjZWI5ZWFlYWE5N2M5
ZGQwMGFjZTc2ZDA4OWU4NzdlODE3YzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0xNSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRp
b24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRW5hYmxlIHJ2ZmMgYnkgZGVmYXVsdCBpbiB0ZXN0IHJ1bm5lci4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKwogMjAyMS0xMS0xNCAgQnJh
ZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IGRhZW1vbiBBUEkg
cmVhZHkgdG8gd29yayBpbiB0aGUgaU9TIHNpbXVsYXRvciAoc3RhcnRpbmcgd2l0aCBXZWJQdXNo
RCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZDIw
MTA1NDFlMWI0NGIxNzRjMmUxY2RlNTI0NDEyNjkyNDU1YjBmLi5mMzM5YTQzMzNjMGE5MGY1YTRk
ZTNlZTZmN2M3MDg2ZTc2MDE4ZmM1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCkBAIC04NjMsMTEgKzg2Myw4IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZl
cmVuY2VzRm9yVGVzdE9wdGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBX
CiAgICAgICAgIFtwcmVmZXJlbmNlcyBfcmVzZXRGb3JUZXN0aW5nXTsKIAogICAgICAgICBpZiAo
ZW5hYmxlQWxsRXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKLSAgICAgICAgICAgIGZvciAoV2ViRmVh
dHVyZSAqZmVhdHVyZSBpbiBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkg
ewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4g
RW5hYmxlIGl0IHdoZW4gdGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4K
LSAgICAgICAgICAgICAgICBhdXRvIGVuYWJsZWQgPSBbZmVhdHVyZS5uYW1lIGlzRXF1YWw6QCJS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrIl0gPyBOTyA6IFlFUzsKLSAgICAgICAgICAgICAgICBb
cHJlZmVyZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOwotICAg
ICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQ
cmVmZXJlbmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdKQorICAgICAgICAgICAgICAgIFtwcmVm
ZXJlbmNlcyBfc2V0RW5hYmxlZDpZRVMgZm9yRmVhdHVyZTpmZWF0dXJlXTsKICAgICAgICAgfQog
CiAgICAgICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpKSB7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGIwOTBiYmQzMWZmNDg2
ZDE5ZDM3OWFjNDA4MjhkZjNlZGQwYjJkZjYuLmVkMjgwMmZiMWU3NjZkYzVkZTY3YzQ0ZDE1NzY2
MTYzMmMzOTMxYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
CkBAIC05MDUsOSArOTA1LDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNl
c1RvQ29uc2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW8KICAgICAgICAgaWYg
KGVuYWJsZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKQogICAgICAgICAgICAgV0tQcmVmZXJlbmNl
c0VuYWJsZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAotICAgICAgICAv
LyBGSVhNRTogV2UgZGlzYWJsZSBydmZjIGJ5IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2
aWRlbyBiYWNrZW5kIHN1cHBvcnQgaXMgZ29vZCBlbm91Z2guCi0gICAgICAgIFdLUHJlZmVyZW5j
ZXNTZXRSZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2Up
OwotCiAgICAgICAgIFdLUHJlZmVyZW5jZXNSZXNldEFsbEludGVybmFsRGVidWdGZWF0dXJlcyhw
cmVmZXJlbmNlcyk7CiAKICAgICAgICAgV0tQcmVmZXJlbmNlc1NldFByb2Nlc3NTd2FwT25OYXZp
Z2F0aW9uRW5hYmxlZChwcmVmZXJlbmNlcywgb3B0aW9ucy5zaG91bGRFbmFibGVQcm9jZXNzU3dh
cE9uTmF2aWdhdGlvbigpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNTRkMDBlMmFmNzE2ZWUyZDIyNTA4ZDY3NDBjODAz
Y2M3Y2NlOGU5Li44ODg2OGI0ZGQwNjIzODg2NTFkNmY2ODJmNDgzYmJmZjEyY2ZiNzk4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0
IHJ2ZmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MTk0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVu
c2tpcHBlZCBzb21lIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMTEt
MTQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRmlu
Z2VycyBkb3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBhbiBhbmltYXRlZCBzY3JvbGwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlmOGM5OTAzODZlMTI5MTcwYjhiMWE2
YTljMGY2MTRhNDZiMWRiNjkuLmFkYTNjMjY0ZGFiMjdjMTFlMzBmZDAyM2Q4M2E5OWUyOTIwMDk0
MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIx
LTExLTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRp
YVBsYXllckFWRm91bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzg0NjU3MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRyYW5zZm9ybWluZyB0ZXN0cyBmcm9tIGFzeW5jIHRvIHByb21pc2UgYmFzZWQg
c28gdGhhdCB0aGVyZSBpcyBvbmx5IG9uZSB2aWRlbyBwbGF5aW5nIGF0IGEgdGltZSwgdG8gbWFr
ZSBpdCB3b3JrIHNtb290aGx5IGluIGlPUy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLWRvbS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92
aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWw6CisKIDIwMjEtMTEtMTQgIFRpbSBOZ3V5ZW4g
IDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBNb2RhbCBkaWFsb2dzIHNob3VsZCBtYWtlIHRo
ZSByb290IGVsZW1lbnQgdW5mb2N1c2FibGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1l
LWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1k
b20tZXhwZWN0ZWQudHh0CmluZGV4IDY2MzlkNGYyODg1ZTFmOTc2NDhkNTA1NDc3MGVhZmViNDMy
ZGM1MGQuLjdlNWM0ODYyMDQ1MzQ3OTQzOTQxYmNjYzVkNGJlZTc2NjIxYTYyMWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZm
Yy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAK
IAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVz
dCBhIHZpZGVvIG91dHNpZGUgb2YgdGhlIERPTSBjYW4gc3RpbGwgdXNlIHZpZGVvLnJWRkMuIFRl
c3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3aXRoICJkaXNwbGF5
Om5vbmUiLiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IHZpZGVvLnJWRkMgd29ya3Mgd2l0
aCAidmlzaWJpbGl0eTpoaWRkZW4iLiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IGEgdmlkZW8g
b3V0c2lkZSBvZiB0aGUgRE9NIGNhbiBzdGlsbCB1c2UgdmlkZW8uclZGQy4KK1BBU1MgVGVzdCB2
aWRlby5yVkZDIHdvcmtzIHdpdGggImRpc3BsYXk6bm9uZSIuCitQQVNTIFRlc3QgdmlkZW8uclZG
QyB3b3JrcyB3aXRoICJ2aXNpYmlsaXR5OmhpZGRlbiIuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLWRvbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
ZG9tLmh0bWwKaW5kZXggMDI3N2Q3Mjk3ODgzYzRjZDRmNDcyYjA4YzQzOTk4MDYyODBmZThlYi4u
YzE4MDRiNGVkZDBjOTg2YWExNjFkZmMxMzE3OTk4M2MwNGFjZTQwNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVl
c3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stZG9tLmh0bWwKQEAgLTEzLDE3ICsxMywyNCBAQCB2YXIgdGVzdFZpZGVvID0gewog
ICB3aWR0aDogMzIwLAogfQogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVz
dChhc3luYyBmdW5jdGlvbih0KSB7CisgICAgbGV0IGRvbmU7CisgICAgY29uc3QgcHJvbWlzZSA9
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29sdmUpOworCiAgICAgbGV0IHZpZGVv
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKIAotICAgIHZpZGVvLnJlcXVlc3RW
aWRlb0ZyYW1lQ2FsbGJhY2sodC5zdGVwX2Z1bmNfZG9uZSgpKTsKKyAgICB2aWRlby5yZXF1ZXN0
VmlkZW9GcmFtZUNhbGxiYWNrKGRvbmUpOwogICAgIHZpZGVvLnNyYyA9IHRlc3RWaWRlby51cmw7
Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsKIAorICAgIHJldHVy
biBwcm9taXNlOwogfSwgJ1Rlc3QgYSB2aWRlbyBvdXRzaWRlIG9mIHRoZSBET00gY2FuIHN0aWxs
IHVzZSB2aWRlby5yVkZDLicpOwogCiBmdW5jdGlvbiBydmZjU3R5bGVUZXN0KGFwcGx5U3R5bGUs
IGRlc2NyaXB0aW9uKSB7Ci0gICAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgICAgcHJvbWlz
ZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICAgIGxldCBkb25lOworICAgICAgY29uc3Qg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29sdmUpOworCiAgICAg
ICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAgICAgICBhcHBseVN0eWxlKHZpZGVvKTsK
QEAgLTMxLDEyICszOCwxNCBAQCBmdW5jdGlvbiBydmZjU3R5bGVUZXN0KGFwcGx5U3R5bGUsIGRl
c2NyaXB0aW9uKSB7CiAgICAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKAogICAg
ICAgICB0LnN0ZXBfZnVuYyggXyA9PiB7CiAgICAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGNhbiBy
ZWNlaXZlIG1vcmUgdGhhbiBvbmUgY2FsbGJhY2suCi0gICAgICAgICAgdmlkZW8ucmVxdWVzdFZp
ZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKCkpOworICAgICAgICAgIHZpZGVvLnJl
cXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soZG9uZSk7CiAgICAgICAgIH0pCiAgICAgICApOwogCiAg
ICAgICB2aWRlby5zcmMgPSB0ZXN0VmlkZW8udXJsOwotICAgICAgdmlkZW8ucGxheSgpOworICAg
ICAgYXdhaXQgdmlkZW8ucGxheSgpOworCisgICAgICByZXR1cm4gcHJvbWlzZTsKICAgICB9LCBk
ZXNjcmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApp
bmRleCBjYTdjYjNlOTRjZGZiMjUyNThiOWQ5OWI0ZjRkNDdlZGEwZTc3MjE2Li5jZDc5NjEyMDU1
MTcxNjhiNTQzYmY1OWJiZTBmYWUyNjlmZTBiZDE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1m
cmFtZS1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDggQEAKIAogCi1IYXJuZXNzIEVycm9yIChUSU1F
T1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBUZXN0IHdlIGNhbiByZWdpc3RlciBhIHZp
ZGVvLnJWRkMgY2FsbGJhY2suIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8uclZG
QyBjYWxsYmFja3MgcnVuIGJlZm9yZSB3aW5kb3cuckFGIGNhbGxiYWNrcy4gVGVzdCB0aW1lZCBv
dXQKLVRJTUVPVVQgVGVzdCB3ZSBjYW4gY2FuY2VsIGEgdmlkZW8uclZGQyByZXF1ZXN0LiBUZXN0
IHRpbWVkIG91dAorUEFTUyBUZXN0IHdlIGNhbiByZWdpc3RlciBhIHZpZGVvLnJWRkMgY2FsbGJh
Y2suCitQQVNTIFRlc3QgdmlkZW8uclZGQyBjYWxsYmFja3MgcnVuIGJlZm9yZSB3aW5kb3cuckFG
IGNhbGxiYWNrcy4KK1BBU1MgVGVzdCB3ZSBjYW4gY2FuY2VsIGEgdmlkZW8uclZGQyByZXF1ZXN0
LgogUEFTUyBUZXN0IGludmFsaWQgY2FsbHMgdG8gdGhlIHZpZGVvLnJWRkMgQVBJLgotVElNRU9V
VCBUZXN0IHZpZGVvLnJWRkMgZG9lcyBub3Qgc3RvcCB3aGVuIHN3aXRjaGluZyBzb3VyY2VzLiBU
ZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0IHZpZGVvLnJWRkMgZG9lcyBub3Qgc3RvcCB3aGVuIHN3
aXRjaGluZyBzb3VyY2VzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1wYXJhbGxlbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJh
bGxlbC1leHBlY3RlZC50eHQKaW5kZXggNmZlNjg0YWU4ZTY2ZGFiOGNjZTY4ZDIyNzUzNTk1YTg0
NDhjNmI5MC4uMzJiOTlhZWQ1NDU3ZGZhMWJmMmE5MTYzMzFkMjZmMWVkOWQ5YjVkMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZm
Yy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dApAQCAt
MSw3ICsxLDUgQEAKIAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
LQotVElNRU9VVCBUZXN0IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5mb3JtYXRpb24uIFRlc3Qg
dGltZWQgb3V0Ci1USU1FT1VUIFRlc3Qgd2UgY2FuIGNhbmNlbCBjYWxsYmFja3MgZnJvbSBjYWxs
YmFja3MuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgY2FsbGJhY2tzIGdldCB0aGUgc2FtZSBp
bmZvcm1hdGlvbi4KK1BBU1MgVGVzdCB3ZSBjYW4gY2FuY2VsIGNhbGxiYWNrcyBmcm9tIGNhbGxi
YWNrcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwKaW5kZXggMTRj
NWRlMWFkZjU1YmEwMDE2YWI5OTg1Nzc2YzU2OGU0OWY1OTU2ZC4uNjgyZmQwYWM4ZjZhMjIwMDZl
MDE1YzJmOWI2MjFkYTg0ZmU1M2UwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stcGFyYWxsZWwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJh
bGxlbC5odG1sCkBAIC03LDcgKzcsMTAgQEAKIDxzY3JpcHQgc3JjPSIvY29tbW9uL21lZGlhLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlz
ZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAgICBjb25zdCBwcm9t
aXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisKICAgICBsZXQg
dmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCkBAIC0xOSwxNyArMjIsMjIgQEAgYXN5bmNfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgICBmaXJzdE1ldGFkYXRhID0gbWV0YWRhdGE7CiAgICAgfSkpOwog
Ci0gICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKCh0
aW1lLCBtZXRhZGF0YSkgPT4geworICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2so
dC5zdGVwX2Z1bmMoKHRpbWUsIG1ldGFkYXRhKSA9PiB7CiAgICAgICBhc3NlcnRfZXF1YWxzKGZp
cnN0VGltZSwgdGltZSk7CiAgICAgICBhc3NlcnRfb2JqZWN0X2VxdWFscyhmaXJzdE1ldGFkYXRh
LCBtZXRhZGF0YSk7CisgICAgICBkb25lKCk7CiAgICAgfSkpOwogCiAgICAgdmlkZW8uc3JjID0g
Z2V0VmlkZW9VUkkoJy9tZWRpYS9tb3ZpZV81Jyk7CiAgICAgdmlkZW8ucGxheSgpOwogCisgICAg
cmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCBjYWxsYmFja3MgZ2V0IHRoZSBzYW1lIGluZm9ybWF0
aW9uLicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChhc3luYyBm
dW5jdGlvbih0KSB7CisgICAgbGV0IGRvbmU7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29sdmUpOworCiAgICAgbGV0IHZpZGVvID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHZpZGVvKTsKIApAQCAtNDYsMTIgKzU0LDEyIEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewog
ICAgICk7CiAKICAgICAvLyBOT1RFOiBUaGlzIGNhbGxiYWNrIHNob3VsZCBiZSBleGVjdXRlZCBs
YXN0LgotICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soCi0gICAgICB0LnN0ZXBf
ZnVuY19kb25lKCkKLSAgICApOworICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2so
ZG9uZSk7CiAKICAgICB2aWRlby5zcmMgPSBnZXRWaWRlb1VSSSgnL21lZGlhL21vdmllXzUnKTsK
ICAgICB2aWRlby5wbGF5KCk7CisKKyAgICByZXR1cm4gcHJvbWlzZTsKIH0sICdUZXN0IHdlIGNh
biBjYW5jZWwgY2FsbGJhY2tzIGZyb20gY2FsbGJhY2tzLicpOwogPC9zY3JpcHQ+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4
dAppbmRleCBiNGE1YmUzZGQyNTEyYjg1YzM4NTU1YjhmM2NlNzAzNjc4ZWQ0ZGZkLi5hNjMxYTE3
NmJkNTliNmRmMWM0NTU2ZDNjZGIxMTQ1ZDNjNjk1ODYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACiAK
IAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgVGVz
dCBuZXcgY2FsbGJhY2tzIGFyZSBvbmx5IGNhbGxlZCBvbiB0aGUgbmV4dCBmcmFtZS4gVGVzdCB0
aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCBjaGFpbmluZyBjYWxscyB0byB2aWRlby5yVkZDLCBhbmQg
dmVyaWZ5IHRoZSByZXF1aXJlZCBwYXJhbWV0ZXJzLiBUZXN0IHRpbWVkIG91dAorUEFTUyBUZXN0
IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRoZSBuZXh0IGZyYW1lLgorRkFJTCBU
ZXN0IGNoYWluaW5nIGNhbGxzIHRvIHZpZGVvLnJWRkMsIGFuZCB2ZXJpZnkgdGhlIHJlcXVpcmVk
IHBhcmFtZXRlcnMuIGFzc2VydF9ncmVhdGVyX3RoYW46IHByZXNlbnRhdGlvblRpbWUgc2hvdWxk
IGJlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEg
InVuZGVmaW5lZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcmVw
ZWF0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRtbApp
bmRleCBlNjM3YTA4NzJjYjBkMGMxNTFlMGE4MGE2YTU2OTQ0OWZkMjIyYTFiLi4zOGU0YWJhZmQ0
YWZlOTYzMjMyZWM3NDI3YWZhNWNiZDU3YmM3MzRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1m
cmFtZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1yZXBlYXRpbmcuaHRtbApAQCAtNyw3ICs3LDEwIEBACiA8c2NyaXB0IHNyYz0iL2NvbW1v
bi9tZWRpYS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7CisgICAgbGV0IGRvbmU7CisgICAg
Y29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29sdmUpOwor
CiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIApAQCAtMjQsMTggKzI3LDIzIEBAIGFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgewogCiAgICAgICAvLyBRdWV1ZSB1cCBhIHNlY29uZCBjYWxs
YmFjaywgYW5kIG1ha2Ugc3VyZSBpdCdzIGNhbGxlZCBhdCB0aGUgc2FtZSB0aW1lCiAgICAgICAv
LyBhcyB0aGUgb25lIHdlIGp1c3QgcXVldWVkIHVwLgotICAgICAgdmlkZW8ucmVxdWVzdFZpZGVv
RnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKCh0aW1lKSA9PiB7CisgICAgICB2aWRlby5y
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jKCh0aW1lKSA9PiB7CiAgICAgICAg
IGFzc2VydF9lcXVhbHModGltZSwgc2Vjb25kVGltZSwgIkNhbGxiYWNrcyBxdWV1ZWQgdG9nZXRo
ZXIgc2hvdWxkIGJlIGNhbGxlZCBhdCB0aGUgc2FtZSB0aW1lIik7CisgICAgICAgIGRvbmUoKTsK
ICAgICAgIH0pKQogCiAgICAgfSkpOwogCiAgICAgdmlkZW8uc3JjID0gZ2V0VmlkZW9VUkkoJy9t
ZWRpYS9tb3ZpZV81Jyk7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZpZGVvLnBsYXko
KTsKIAorICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3QgbmV3IGNhbGxiYWNrcyBhcmUgb25s
eSBjYWxsZWQgb24gdGhlIG5leHQgZnJhbWUuJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkg
eworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAgICBj
b25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisK
ICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCkBAIC02NCw3ICs3Miw3IEBAIGFzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgbGFzdE1ldGFkYXRhID0gbWV0YWRhdGE7CiAKICAg
ICAgIGlmICgrK2N1cnJlbnRDYWxsTnVtYmVyID4gbWF4TnVtYmVyT2ZDYWxscykgewotICAgICAg
ICB0LmRvbmUoKQorICAgICAgICBkb25lKCkKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIHZpZGVv
LnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2sodC5zdGVwX2Z1bmMocmVwZWF0aW5nQ2FsbGJhY2sp
KTsKICAgICAgIH0KQEAgLTczLDggKzgxLDkgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAg
ICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuYyhyZXBlYXRpbmdD
YWxsYmFjaykpOwogCiAgICAgdmlkZW8uc3JjID0gZ2V0VmlkZW9VUkkoJy9tZWRpYS9tb3ZpZV81
Jyk7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsKIAorICAgIHJl
dHVybiBwcm9taXNlOwogfSwgJ1Rlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5k
IHZlcmlmeSB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy4nKTsKIDwvc2NyaXB0PgogPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92
aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLmh0bWwKaW5kZXggYTQ0MDQxNDNmYTQwOGViYmI4ZjQ5Y2MzMTgwZTA2
NWQyMDBmZmE0YS4uMjU2MjE2ZThmYzA5ODQ4MmJhZjI2N2Q5NWZjNWYyY2VjYTQzMGM1MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay5odG1sCkBAIC0xOCwyNiArMTgsMzQgQEAgdmFyIGFsdFRlc3RWaWRl
byA9IHsKICAgd2lkdGg6IDMyMCwKIH0KIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9t
aXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAgIGxldCBkb25lOworICAgIGNvbnN0IHBy
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAgIGxl
dCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAKICAgICBsZXQgaWQgPSB2aWRlby5yZXF1ZXN0Vmlk
ZW9GcmFtZUNhbGxiYWNrKAotICAgICAgdC5zdGVwX2Z1bmNfZG9uZSgodGltZSwgbWV0YWRhdGEp
ID0+IHsKKyAgICAgIHQuc3RlcF9mdW5jKCh0aW1lLCBtZXRhZGF0YSkgPT4gewogICAgICAgICBh
c3NlcnRfdHJ1ZSh0aW1lID4gMCk7CiAgICAgICAgIGFzc2VydF9lcXVhbHMobWV0YWRhdGEuaGVp
Z2h0LCB0ZXN0VmlkZW8uaGVpZ2h0KTsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXRhZGF0YS53
aWR0aCwgdGVzdFZpZGVvLndpZHRoKTsKKyAgICAgICAgZG9uZSgpOwogICAgICAgfSkKICAgICAp
OwogCiAgICAgYXNzZXJ0X3RydWUoaWQgPiAwKTsKIAogICAgIHZpZGVvLnNyYyA9IHRlc3RWaWRl
by51cmw7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsKIAorICAg
IHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3Qgd2UgY2FuIHJlZ2lzdGVyIGEgdmlkZW8uclZGQyBj
YWxsYmFjay4nKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoYXN5
bmMgZnVuY3Rpb24odCkgeworICAgIGxldCBkb25lOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAgIGxldCB2aWRlbyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZCh2aWRlbyk7CiAKQEAgLTQ1LDE5ICs1MywyNCBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKICAgICAgIHQuc3RlcF9mdW5jKHZpZGVvX25vdyA9PiB7CiAgICAgICAgIC8vIFF1ZXVlIGEg
Y2FsbCB0byB3aW5kb3cuckFGLCBhbmQgbWFrZSBzdXJlIGl0IGlzIGV4ZWN1dGVkIHdpdGhpbiB0
aGUKICAgICAgICAgLy8gc2FtZSB0dXJuIG9mIHRoZSBldmVudCBsb29wICh3aXRoIHRoZSBzYW1l
ICd0aW1lJyBwYXJhbWV0ZXIpLgotICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCB0LnN0ZXBfZnVuY19kb25lKCB3aW5kb3dfbm93ID0+IHsKKyAgICAgICAgd2luZG93LnJlcXVl
c3RBbmltYXRpb25GcmFtZSggdC5zdGVwX2Z1bmMoIHdpbmRvd19ub3cgPT4gewogICAgICAgICAg
IGFzc2VydF9lcXVhbHModmlkZW9fbm93LCB3aW5kb3dfbm93KTsKKyAgICAgICAgICBkb25lKCk7
CiAgICAgICAgIH0pKTsKICAgICAgIH0pCiAgICAgKTsKIAogICAgIHZpZGVvLnNyYyA9IHRlc3RW
aWRlby51cmw7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsKIAor
ICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3QgdmlkZW8uclZGQyBjYWxsYmFja3MgcnVuIGJl
Zm9yZSB3aW5kb3cuckFGIGNhbGxiYWNrcy4nKTsKIAogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7CisgICAgbGV0IGRvbmU7CisgICAg
Y29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29sdmUpOwor
CiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIApAQCAtNzQsMTIgKzg3LDE0IEBAIGFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICAvLyBBdCB0aGlzIHBvaW50LCB0aGUgb3Ro
ZXIgY2FsbGJhY2sgc2hvdWxkbid0IGhhdmUgZmlyZWQsIGJ1dAogICAgICAgICAvLyBnaXZlIGl0
IHNvbWUgbW9yZSB0aW1lIGFuZCByZWFsbHkgbWFrZSBzdXJlIGl0IGRvZXNuJ3QsIGJ5IGdvaW5n
CiAgICAgICAgIC8vIHRocm91Z2h0IHRoZSBldmVudCBsb29wIG9uY2UgbW9yZS4KLSAgICAgICAg
dC5zdGVwX3RpbWVvdXQoKCkgPT4geyB0LmRvbmUoKTsgfSwgMCk7CisgICAgICAgIHQuc3RlcF90
aW1lb3V0KCgpID0+IHsgZG9uZSgpOyB9LCAwKTsKICAgICAgIH0pCiAgICAgKTsKIAogICAgIHZp
ZGVvLnNyYyA9IHRlc3RWaWRlby51cmw7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZp
ZGVvLnBsYXkoKTsKKworICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3Qgd2UgY2FuIGNhbmNl
bCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4nKTsKIAogdGVzdChmdW5jdGlvbih0KSB7CkBAIC0xMDUs
NiArMTIwLDcgQEAgdGVzdChmdW5jdGlvbih0KSB7CiAKIHByb21pc2VfdGVzdChhc3luYyBmdW5j
dGlvbih0KSB7CiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8n
KTsKKyAgICB2aWRlby5hdXRvcGxheSA9IHRydWU7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZCh2aWRlbyk7CiAKICAgICBsZXQgZmlyc3Rfd2lkdGggPSAwOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGY4YWFkYjk5NmY3Nzk4YjY1
MDU5MjE3ZTY1ZjQ2MTIzM2Y5NjNjMGYuLjM2NGRlNzA3ZjFmNWY1Yzk3YmEwMDEwMDQ0ZDY0M2Ji
NmMyNzhlM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE0MywxMyArMTQzLDkgQEAgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NuYW1lLWNsb2FraW5nLXRvcC1uby1jbmFtZS1zdWItbm8tY25hbWUuaHRtbAogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsgUGFzcyBdCiBmYXN0L21lZGlh
c3RyZWFtL2dldFVzZXJNZWRpYS1ydmZjLmh0bWwgWyBQYXNzIF0KIHdlYnJ0Yy9wZWVyQ29ubmVj
dGlvbi1ydmZjLmh0bWwgWyBQYXNzIF0KLSMgVGltaW5nIG91dCB0ZXN0cyB1bnRpbCB3ZSBhZGQg
cmVndWxhciB2aWRlbyBzdHJlYW1pbmcgYmFja2VuZCBzdXBwb3J0LgorIyBUaW1pbmcgb3V0IHRl
c3RzIHVudGlsIHdlIGFkZCBYUiBzZXNzaW9uLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stYmVmb3JlLXhyLXNl
c3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWwgWyBTa2lw
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJl
cGVhdGluZy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sIFsgU2tpcCBdCiAKICMv
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIHBsYXRmb3JtLXNwZWNpZmlj
IGRpcmVjdG9yaWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDFkZjk1ZDA1MzM1MzA2NTM5MjczZTIwMTM5MWYzMGY0Y2VmMmRkNDguLjFj
YmM0ZWM0NTI1MzUyYmM0NDhhOTZlNmFhYWJkODMyYmVhMTY0MzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMzLDYgKzMzLDExIEBAIGh0
dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZXh0ZXJuYWwtZW50aXR5LW5vLWxvZ2dp
bmcueG1sIFsgUGFzcyBdCiAjIHJkYXI6Ly9wcm9ibGVtLzYxNzkzODg0IDogRW5hYmxpbmcgdGhp
cyB0ZXN0IGZvciBXSzEgb25seS4KIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3No
YXBlLW91dHNpZGUtaW1hZ2VkYXRhLW92ZXJmbG93Lmh0bWwgWyBQYXNzIF0KIAoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsgUGFzcyBdCisjIFRpbWluZyBvdXQg
dGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZvcmUteHIt
c2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kdXJpbmcteHItc2Vz
c2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KICMgRW5kIHBsYXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLgogIy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDMyMmE1YmVkOWE2ZTMxMjNmN2M0YzRhZTBhNDhkODViYTNm
OWFkYmQuLjJmZDA3NGExYWNkODNhOWMwNjc3ZGEwZWViNDJlMDdjZDY0YjQ2ZmYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMiwxMyAr
MTIyLDkgQEAgc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtdHJhbnNhY3Rpb24tY3ljbGUuaHRt
bCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsg
UGFzcyBdCiBmYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1ydmZjLmh0bWwgWyBQYXNzIF0K
IHdlYnJ0Yy9wZWVyQ29ubmVjdGlvbi1ydmZjLmh0bWwgWyBQYXNzIF0KLSMgVGltaW5nIG91dCB0
ZXN0cyB1bnRpbCB3ZSBhZGQgcmVndWxhciB2aWRlbyBzdHJlYW1pbmcgYmFja2VuZCBzdXBwb3J0
LgorIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCBYUiBzZXNzaW9uLgogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stYmVmb3JlLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJh
Y2stZG9tLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlk
ZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9uLmh0
dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8t
cnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwgWyBTa2lwIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5o
dG1sIFsgU2tpcCBdCiAKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5k
IHBsYXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444642</attachid>
            <date>2021-11-17 23:36:27 -0800</date>
            <delta_ts>2021-11-18 02:06:10 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-231945-20211118083622.patch</filename>
            <type>text/plain</type>
            <size>53956</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU4MTM5OGRiYmExZGY5
MzhlMDJmMGQ1OWFmMTZlMDRjNjIzODk0ZS4uZTgxYWE3ZTE4MjAxZjk1ZjM5MmE3ZWJhNDk2ODY3
NDEzMGJjMWVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQg
QVBJIHRvIHN0YXJ0L3N0b3AgZ2F0aGVyaW5nIG1ldGFkYXRhLgorICAgICAgICBUaGlzIGdvZXMg
ZnJvbSB2aWRlbyBlbGVtZW50IGRvd24gdG8gbWVkaWEgcGxheWVyIHByaXZhdGUuCisgICAgICAg
IENvbnZlcnNlbHksIGFkZCBhIGNhbGxiYWNrIHRvIGdldCB0aGUgbWV0YWRhdGEsIGluY2x1ZGlu
ZyB0aGUgcGl4ZWwgYnVmZmVyLgorCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGluIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMgYnkgYWRkaW5nIGEgc3BlY2lmaWMgdGltZWxp
bmUgb2JzZXJ2ZXIuCisgICAgICAgIFdlIHJldXNlIHRoZSBzYW1lIHZpZGVvIG91dHB1dCBhbmQg
dGhlIHNhbWUgcGl4ZWwgYnVmZmVyIGFzIHdoZW4gcGFpbnRpbmcgdGhlIHZpZGVvIGVsZW1lbnQg
aW4gdGhlIGNhbnZhcy4KKyAgICAgICAgVG8gbWFrZSBzdXJlIHBhaW50aW5nIGluIGEgY2FudmFz
IGRvZXMgbm90IGhhdmUgc2lkZSBlZmZlY3RzIHdpdGggZ2F0aGVyaW5nIHZpZGVvIG1ldGFkYXRh
LCB3ZSBkbyBub3QgdXBkYXRlIHRoZSBwaXhlbCBidWZmZXIKKyAgICAgICAgd2hlbiBwYWludGlu
ZyBvbiBhIGNhbnZhcyBpbiBjYXNlIHZpZGVvIG1ldGFkYXRhIGlzIGdhdGhlcmVkLgorICAgICAg
ICBJbnN0ZWFkLCB3ZSBjb25zaWRlciB0aGF0IHBpeGVsIGJ1ZmZlciBpcyBhcyB1cCB0byBkYXRl
IGFzIHBvc3NpYmxlIGluIHRoYXQgY2FzZS4KKyAgICAgICAgVG8gbWFrZSBpdCB3b3JrIGluIFdL
MSwgd2UgaW1wbGVtZW50IHRoZSBzeW5jaHJvbm91cyB2aWRlbyBmcmFtZSBjYWxsYmFjayBnZXR0
ZXIuCisKKyAgICAgICAgUm91bmQgdGhlIG1pbGxpc2Vjb25kIG5vdyB0aW1lIGdpdmVuIHRvIHRo
ZSBjYWxsYmFjaywgbGlrZSBkb25lIGZvciBSQUYuCisKKyAgICAgICAgQ292ZXJlZCBieSBlbmFi
bGVkIHRlc3RzLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRN
TFZpZGVvRWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9IVE1MVmlkZW9FbGVtZW50Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRhLmg6CisgICAgICAgICogcGxhdGZv
cm0vY29jb2EvQ1ZQaXhlbEJ1ZmZlclJlZi5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1l
ckNWLmg6CisKIDIwMjEtMTEtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHJ2ZmMgbWV0YWRhdGEKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
Mzc0NThjNDQ0MGYwNjViYzA0ZTZlNGJiOGE0ZjM5M2FkMjFlMzRlYy4uZGYxNDNlZTUwOGRiNWZl
NDgxNmY4NzcxYzExY2QyNzQ4OTA2YjQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAy
MS0xMS0xNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVk
aWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84NDY1NzM3Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisK
KyAgICAgICAgQWRkIElQQyBtZXNzYWdpbmcgdG8gc3RhcnQvc3RvcCBtZXRhZGF0YSBnYXRoZXJp
bmcgZnJvbSBXZWJQcm9jZXNzIHRvIEdQVVByb2Nlc3MuCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHB1c2ggbWV0YWRhdGEgdG8gV2ViUHJvY2VzcywgaW5jbHVkaW5nIHNlbmRpbmcgdGhl
IGNvcnJlc3BvbmRpbmcgQ1ZQaXhlbEJ1ZmZlciBmb3IgdGhlIGN1cnJlbnQgbWV0YWRhdGEuCisg
ICAgICAgIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSB3aWxsIHRoZW4gc2VydmUgdGhhdCBidWZm
ZXIgd2hlbiBiZWluZyByZXF1ZXN0ZWQgdGhlIGN1cnJlbnQgaW1hZ2UuCisgICAgICAgIFRoaXMg
ZW5zdXJlcyB0aGF0IHBhaW50aW5nIG9uIGEgY2FudmFzIGRvZXMgbm90IG1hcmsgdGhlIGN1cnJl
bnQgYnVmZmVyIGFzIGFjcXVpcmVkLCB3aGljaCB3b3VsZCB0aGVuIHNraXAgdGhlIHZpZGVvIGZy
YW1lIG1ldGFkYXRhIGdhdGhlcmluZy4KKyAgICAgICAgVGhpcyBhbHNvIGVuc3VyZXMgdGhlIHNh
bWUgYnVmZmVyIGlzIHVzZWQgaWYgYSB2aWRlbyBlbGVtZW50IGlzIHBhaW50ZWQgc2V2ZXJhbCB0
aW1lcyBkdXJpbmcgdGhlIHNhbWUgcnZmYyBjYWxsYmFjay4KKyAgICAgICAgVGhpcyBoYXMgdGhl
IHNpZGUgYmVuZWZpdCBvZiByZW1vdmluZyB0aGUgc3luY2hyb25vdXMgSVBDIHRvIHBhaW50IHRo
ZSB2aWRlbyBlbGVtZW50IGluIGEgY2FudmFzLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9t
ZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW06CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2Eu
bW06CisKIDIwMjEtMTEtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHJ2ZmMgbWV0YWRhdGEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMmVjYmY1ZGJhYWRlZDQyZTc3OTA0NDA1YWMwMTMx
ZTM4ZmMyOWJlNy4uNjk1NjY5NDk2MzEwZWY5MTA4Yjk1NmZkYTQ4MjE0MzAxNDk3MGVjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTY0MSw2ICs2NDEsOSBAQCBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRDaGFuZ2luZ1ZpZGVvRnVsbHNjcmVlbk1vZGUoYm9vbCB2
YWx1ZSkgeyBtX2NoYW5naW5nVmlkZW9GdWxsc2NyZWVuTW9kZSA9IHZhbHVlOyB9CiAgICAgYm9v
bCBpc0NoYW5naW5nVmlkZW9GdWxsc2NyZWVuTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2hhbmdp
bmdWaWRlb0Z1bGxzY3JlZW5Nb2RlOyB9CiAKK3Byb3RlY3RlZDoKKyAgICB2b2lkIG1lZGlhUGxh
eWVyRW5naW5lVXBkYXRlZCgpIG92ZXJyaWRlOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBJbnRlcm5hbHM7CiAKQEAgLTY5Miw3ICs2OTUsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgbWVk
aWFQbGF5ZXJTaXplQ2hhbmdlZCgpIGZpbmFsOwogICAgIHZvaWQgbWVkaWFQbGF5ZXJSZW5kZXJp
bmdNb2RlQ2hhbmdlZCgpIGZpbmFsOwogICAgIGJvb2wgbWVkaWFQbGF5ZXJBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRW5hYmxlZCgpIGZpbmFsOwotICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRh
dGVkKCkgZmluYWw7CiAgICAgdm9pZCBtZWRpYVBsYXllcldpbGxJbml0aWFsaXplTWVkaWFFbmdp
bmUoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyRGlkSW5pdGlhbGl6ZU1lZGlhRW5naW5l
KCkgZmluYWw7CiAgICAgdm9pZCBtZWRpYVBsYXllclJlbG9hZEFuZFJlc3VtZVBsYXliYWNrSWZO
ZWVkZWQoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCmlu
ZGV4IGIwZDE0ODNiYmVjODZhNzgyN2FmNjkxZDg0ZmY2YWQ3MjkyMGNhOTkuLjk0OGQxZDQxNzQ4
ZTlmYWQyOTIyY2FmNzBjZWI2NjhiNDg4ZTk5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VmlkZW9FbGVtZW50LmNwcApAQCAtNTg5LDYgKzU4OSw5IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVu
dDo6ZXhpdFRvRnVsbHNjcmVlbk1vZGVXaXRob3V0QW5pbWF0aW9uSWZQb3NzaWJsZShIVE1MTWVk
aWFFCiAKIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6OnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJh
Y2soUmVmPFZpZGVvRnJhbWVSZXF1ZXN0Q2FsbGJhY2s+JiYgY2FsbGJhY2spCiB7CisgICAgaWYg
KG1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1wdHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAgcGxh
eWVyKCktPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CisKICAgICBhdXRvIGlk
ZW50aWZpZXIgPSArK21fbmV4dFZpZGVvRnJhbWVSZXF1ZXN0SW5kZXg7CiAgICAgbV92aWRlb0Zy
YW1lUmVxdWVzdHMuYXBwZW5kKG1ha2VVbmlxdWVSZWY8VmlkZW9GcmFtZVJlcXVlc3Q+KGlkZW50
aWZpZXIsIFdURk1vdmUoY2FsbGJhY2spKSk7CiAKQEAgLTYwOCw2ICs2MTEsOSBAQCB2b2lkIEhU
TUxWaWRlb0VsZW1lbnQ6OmNhbmNlbFZpZGVvRnJhbWVDYWxsYmFjayh1bnNpZ25lZCBpZGVudGlm
aWVyKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fdmlkZW9GcmFtZVJlcXVlc3RzLnJl
bW92ZShpbmRleCk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYm
IHBsYXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhl
cmluZygpOwogfQogCiBzdGF0aWMgdm9pZCBwcm9jZXNzVmlkZW9GcmFtZU1ldGFkYXRhVGltZXN0
YW1wcyhWaWRlb0ZyYW1lTWV0YWRhdGEmIG1ldGFkYXRhLCBQZXJmb3JtYW5jZSYgcGVyZm9ybWFu
Y2UpCkBAIC02NDAsMTMgKzY0NiwyMyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZAogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsYmFja0NvdW50OyArK2luZGV4KSB7CiAg
ICAgICAgIGF1dG8mIHJlcXVlc3QgPSBtX3ZpZGVvRnJhbWVSZXF1ZXN0c1tpbmRleF07CiAgICAg
ICAgIGlmICghcmVxdWVzdC0+Y2FuY2VsbGVkKSB7Ci0gICAgICAgICAgICByZXF1ZXN0LT5jYWxs
YmFjay0+aGFuZGxlRXZlbnQobm93LnZhbHVlKCksICp2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAg
ICAgICAgICAgcmVxdWVzdC0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0ZDo6cm91bmQobm93Lm1p
bGxpc2Vjb25kcygpKSwgKnZpZGVvRnJhbWVNZXRhZGF0YSk7CiAgICAgICAgICAgICByZXF1ZXN0
LT5jYW5jZWxsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQogICAgIG1faXNSdW5uaW5nVmlk
ZW9GcmFtZVJlcXVlc3RzID0gZmFsc2U7CiAKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1v
dmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2FsbGJhY2stPmNhbmNl
bGxlZDsgfSk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBs
YXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworfQorCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZCgpCit7CisgICAgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7
CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisg
ICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1Yjhj
N2FlMDBjNGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLjg1NmFkZWE3OGZiNzM5OGQ4ZmI0NWY0NDhh
MzU5MWJkYTU1Zjk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBA
IC0xNDEsNiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpN
ZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIG1lZGlhUGxheWVy
RW5naW5lVXBkYXRlZCgpIGZpbmFsOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxJbWFnZUxv
YWRlcj4gbV9pbWFnZUxvYWRlcjsKIAogICAgIEF0b21TdHJpbmcgbV9kZWZhdWx0UG9zdGVyVVJM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAppbmRleCA4
ZmQ5YTQ3MDAyNDhkNGQyNzhkY2UyNzQ5NzgzNjBhNTdiYWY1OWVhLi45NGRkZjBlZjBmNjExMzVi
ZDliNjg5MDhiODExNTZmYmJiZGYyM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaApAQCAtNDMsOCArNDMsNzMgQEAgc3RydWN0IFZpZGVvRnJhbWVN
ZXRhZGF0YSB7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNhcHR1cmVUaW1lOwogICAgIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiByZWNlaXZlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPiBydHBUaW1lc3RhbXA7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
IAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2b2lkIFZpZGVvRnJhbWVNZXRhZGF0
YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBwcmVz
ZW50YXRpb25UaW1lIDw8IGV4cGVjdGVkRGlzcGxheVRpbWUgPDwgd2lkdGggPDwgaGVpZ2h0IDw8
IG1lZGlhVGltZSA8PCBwcmVzZW50ZWRGcmFtZXMgPDwgcHJvY2Vzc2luZ0R1cmF0aW9uIDw8IGNh
cHR1cmVUaW1lIDw8IHJlY2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
VmlkZW9GcmFtZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBkZWNvZGVyID4+IHByZXNl
bnRhdGlvblRpbWU7CisgICAgaWYgKCFwcmVzZW50YXRpb25UaW1lKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgZGVjb2RlciA+PiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGlmICghZXhw
ZWN0ZWREaXNwbGF5VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAg
aWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdodDsKKyAgICBpZiAo
IWhlaWdodCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBtZWRpYVRpbWU7CisgICAgZGVjb2RlciA+PiBtZWRpYVRpbWU7CisgICAgaWYg
KCFtZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBwcmVzZW50ZWRGcmFtZXM7CisgICAgZGVjb2RlciA+PiBwcmVzZW50
ZWRGcmFtZXM7CisgICAgaWYgKCFwcmVzZW50ZWRGcmFtZXMpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJv
Y2Vzc2luZ0R1cmF0aW9uOworICAgIGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGlmICghcHJvY2Vzc2luZ0R1cmF0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IGNhcHR1cmVUaW1lOwor
ICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAgaWYgKCFjYXB0dXJlVGltZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25h
bDxkb3VibGU+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2VpdmVUaW1lOworICAg
IGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1lc3RhbXA7CisgICAg
ZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3RhbXApCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9GcmFtZU1ldGFkYXRhIHsg
KnByZXNlbnRhdGlvblRpbWUsICpleHBlY3RlZERpc3BsYXlUaW1lLCAqd2lkdGgsICpoZWlnaHQs
ICptZWRpYVRpbWUsICpwcmVzZW50ZWRGcmFtZXMsICpwcm9jZXNzaW5nRHVyYXRpb24sICpjYXB0
dXJlVGltZSwgKnJlY2VpdmVUaW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCBhNDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQx
NzA2NTk2Li43NWQ0OTUzNGY0ZDFiNzlkYjZkZTcwZGJkODMwNmE3NDI3Y2Q0MjBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01
OTAsNiArNTkwLDggQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUo
Y29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJp
dmF0ZS0+c2V0UGFnZUlzVmlzaWJsZShtX3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYg
KG1fdmlzaWJsZUluVmlld3BvcnQpCiAgICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNp
YmxlSW5WaWV3cG9ydChtX3Zpc2libGVJblZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0
ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1fcHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJl
c2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJlcGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTE3MjEsNiArMTcyMywyNSBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
TWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxz
ZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30K
KworI2lmIFBMQVRGT1JNKENPQ09BKQordm9pZCBNZWRpYVBsYXllcjo6b25OZXdWaWRlb0ZyYW1l
TWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllck9uTmV3Vmlk
ZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1ZmZlcikpOworfQor
I2VuZGlmCisKIFN0cmluZyBNZWRpYVBsYXllcjo6ZWxlbWVudElkKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJFbGVtZW50SWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDViMWUxNzQ1MTNlMDZmYTAx
ZDUxOTBiNTVlNTA1MzU1NWVmZDc2MzcuLjAwNDViNTRmNTA0ODIwMzNkNGY4ZjM0YzZjZDY1ZTNk
OTA5YTczMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMjg2LDYgKzI4NiwxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFQbGF5ZXJRdWV1ZVRhc2tPbkV2ZW50TG9vcChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykg
eyBjYWxsT25NYWluVGhyZWFkKFdURk1vdmUodGFzaykpOyB9CiAKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShW
aWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpIHsgfQor
I2VuZGlmCisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB2aXJ0dWFsIGNvbnN0IHZv
aWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSA9IDA7CkBAIC01ODQsNiAr
NTg4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRleHRUcmFjayhJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlJik7CiAgICAgdm9pZCByZW1vdmVWaWRlb1RyYWNrKFZpZGVvVHJhY2tQcml2YXRl
Jik7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFk
YXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7
CisjZW5kaWYKKwogICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbigpIGNv
bnN0OwogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24qKTsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKQEAgLTY4MSw2ICs2
ODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNNZWRpYUVuZ2luZSgpIGNvbnN0OwogCiAgICAg
c3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpOwor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0
b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYVBs
YXllcihNZWRpYVBsYXllckNsaWVudCYpOwpAQCAtNzI1LDYgKzczNSw3IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiAgICAgYm9vbCBtX3Nob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQgeyBmYWxzZSB9Owog
I2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2Ug
fTsKIH07CiAKIGNsYXNzIE1lZGlhUGxheWVyRmFjdG9yeSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY1YTQw
YWJjOGE3OWE2Y2UwNjRiNzAyY2RkMGM5YTlhYTY2M2RkMzkuLmNmNDYzMTJjNTJhOTg3MmJjMDQ1
YWQxZDQyMmFmNDhiMTAwOGNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGlt
ZSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8VmlkZW9G
cmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSB7IHJldHVybiB7IH07IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIHsgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDU5ZWNhNDUxMzRmZTZmNDA1OTkwMmUyMWNlN2U3
ZTVhZGU4MGJmYTIuLjIwMGUxYThmOWFmYmEwZmNiYmE1YjBhM2VkNzA0Y2QzNDFiNDUwZDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoVklERU8p
ICYmIFVTRShBVkZPVU5EQVRJT04pCiAKICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uaCIKKyNpbmNsdWRlIDxDb3JlTWVkaWEvQ01UaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIApAQCAtMzQyLDYgKzM0Mywx
MSBAQCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1Rp
bWUmKSBmaW5hbDsKICAgICBib29sIGhhdmVCZWVuQXNrZWRUb1BhaW50KCkgY29uc3QgeyByZXR1
cm4gbV9oYXZlQmVlbkFza2VkVG9QYWludDsgfQogCisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVN
ZXRhZGF0YUdhdGhlcmluZygpIGZpbmFsOworICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0
YUdhdGhlcmluZygpIGZpbmFsOworICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRh
PiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSBmaW5hbCB7IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fdmlk
ZW9GcmFtZU1ldGFkYXRhLCB7IH0pOyB9CisgICAgdm9pZCBjaGVja05ld1ZpZGVvRnJhbWVNZXRh
ZGF0YShDTVRpbWUpOworCiAgICAgUmV0YWluUHRyPEFWVVJMQXNzZXQ+IG1fYXZBc3NldDsKICAg
ICBSZXRhaW5QdHI8QVZQbGF5ZXI+IG1fYXZQbGF5ZXI7CiAgICAgUmV0YWluUHRyPEFWUGxheWVy
SXRlbT4gbV9hdlBsYXllckl0ZW07CkBAIC00NTEsNiArNDU3LDEwIEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2hhdmVQcm9jZXNzZWRDaGFwdGVyVHJhY2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1f
d2FpdEZvclZpZGVvT3V0cHV0TWVkaWFEYXRhV2lsbENoYW5nZVRpbWVkT3V0IHsgZmFsc2UgfTsK
ICAgICBib29sIG1faGF2ZUJlZW5Bc2tlZFRvUGFpbnQgeyBmYWxzZSB9OworICAgIHVpbnQ2NF90
IG1fc2FtcGxlQ291bnQgeyAwIH07CisgICAgUmV0YWluUHRyPGlkPiBtX3ZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZ09ic2VydmVyOworICAgIGJvb2wgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVN
ZXRhZGF0YSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+
IG1fdmlkZW9GcmFtZU1ldGFkYXRhOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5k
ZXggNGQ4NjExM2JjYmU0NjllYzZlMDI1NzkxMDJkMTEwZWE5MzAxMDA5Ni4uZDE4YTg1YTc5NGY1
MjNmOTQ5MTJlMjdmMDhiN2NjYmU4OTNjOGVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBA
IC01MzYsNiArNTM2LDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y2FuY2VsTG9hZCgpCiAgICAgICAgICAgICBbbV9hdlBsYXllciByZW1vdmVUaW1lT2JzZXJ2
ZXI6bV9jdXJyZW50VGltZU9ic2VydmVyLmdldCgpXTsKICAgICAgICAgbV9jdXJyZW50VGltZU9i
c2VydmVyID0gbmlsOwogCisgICAgICAgIGlmIChtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
Z09ic2VydmVyKSB7CisgICAgICAgICAgICBbbV9hdlBsYXllciByZW1vdmVUaW1lT2JzZXJ2ZXI6
bV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlci5nZXQoKV07CisgICAgICAgICAg
ICBtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gbmlsOworICAgICAgICB9
CisKICAgICAgICAgbV9hdlBsYXllciA9IG5pbDsKICAgICB9CiAKQEAgLTExMDgsNiArMTExMyw4
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZQbGF5
ZXIoKQogICAgICAgICB9KTsKICAgICB9XTsKIAorICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9G
cmFtZU1ldGFkYXRhKQorICAgICAgICBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygp
OwogICAgIHNldERlbGF5Q2FsbGJhY2tzKGZhbHNlKTsKIH0KIApAQCAtMTQzMyw2ICsxNDQwLDQ5
IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1QYXVz
ZWQoKSBjb25zdAogICAgIHJldHVybiBtX2NhY2hlZFRpbWVDb250cm9sU3RhdHVzID09IEFWUGxh
eWVyVGltZUNvbnRyb2xTdGF0dXNQYXVzZWQ7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQzo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorewor
ICAgIEFTU0VSVCghbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciB8fCBtX2F2
UGxheWVyKTsKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKwor
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIGEgQ0FEaXNwbGF5TGluayB0byBnZXQgdXBkYXRl
cyBvbiByZW5kZXJpbmcsIGZvciBub3cgd2UgZW11bGF0ZSB3aXRoIGFkZFBlcmlvZGljVGltZU9i
c2VydmVyRm9ySW50ZXJ2YWwuCisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNl
cnZlciA9IFttX2F2UGxheWVyIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6UEFM
OjpDTVRpbWVNYWtlKDEsIDYwKSBxdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5n
QmxvY2s6W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dKENNVGltZSBjdXJyZW50VGltZSkg
eworICAgICAgICBlbnN1cmVPbk1haW5UaHJlYWQoW3dlYWtUaGlzLCBjdXJyZW50VGltZV0gewor
ICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5jaGVj
a05ld1ZpZGVvRnJhbWVNZXRhZGF0YShjdXJyZW50VGltZSk7CisgICAgICAgIH0pOworICAgIH1d
OworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNoZWNrTmV3
VmlkZW9GcmFtZU1ldGFkYXRhKENNVGltZSBjdXJyZW50VGltZSkKK3sKKyAgICBpZiAoIXVwZGF0
ZUxhc3RQaXhlbEJ1ZmZlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBWaWRlb0ZyYW1lTWV0
YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEud2lkdGggPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUud2lkdGgoKTsKKyAgICBtZXRhZGF0YS5oZWlnaHQgPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUuaGVpZ2h0KCk7CisgICAgbWV0YWRhdGEucHJlc2VudGVkRnJhbWVzID0gKyttX3NhbXBs
ZUNvdW50OworICAgIG1ldGFkYXRhLm1lZGlhVGltZSA9IFBBTDo6Q01UaW1lR2V0U2Vjb25kcyhj
dXJyZW50VGltZSk7CisgICAgLy8gRklYTUU6IHByZXNlbnRhdGlvblRpbWUgYW5kIGV4cGVjdGVk
RGlzcGxheVRpbWUgbWlnaHQgbm90IGFsd2F5cyBoYXZlIHRoZSBzYW1lIHZhbHVlLCB3ZSBzaG91
bGQgdHJ5IGdldHRpbmcgbW9yZSBwcmVjaXNlIHZhbHVlcy4KKyAgICBtZXRhZGF0YS5wcmVzZW50
YXRpb25UaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKS5zZWNv
bmRzKCk7CisgICAgbWV0YWRhdGEuZXhwZWN0ZWREaXNwbGF5VGltZSA9IG1ldGFkYXRhLnByZXNl
bnRhdGlvblRpbWU7CisKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YSA9IG1ldGFkYXRhOworICAg
IHBsYXllcigpLT5vbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShXVEZNb3ZlKG1ldGFkYXRhKSwgbV9s
YXN0UGl4ZWxCdWZmZXIuZ2V0KCkpOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1f
aXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3ZpZGVvRnJhbWVN
ZXRhZGF0YSA9IHsgfTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09i
c2VydmVyKSB7CisgICAgICAgIFttX2F2UGxheWVyIHJlbW92ZVRpbWVPYnNlcnZlcjptX3ZpZGVv
RnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyLmdldCgpXTsKKyAgICAgICAgbV92aWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciA9IG5pbDsKKyAgICB9Cit9CisKIE1lZGlhVGlt
ZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0aW9uKCkg
Y29uc3QKIHsKICAgICAvLyBEbyBub3QgYXNrIHRoZSBhc3NldCBmb3IgZHVyYXRpb24gYmVmb3Jl
IGl0IGhhcyBiZWVuIGxvYWRlZCBvciBpdCB3aWxsIGZldGNoIHRoZQpAQCAtMjU0OCw3ICsyNTk4
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp1cGRhdGVMYXN0
SW1hZ2UoVXBkYXRlVHlwZSB0eXBlKQogICAgIC8vIENhbGxzIHRvIGNvcHlQaXhlbEJ1ZmZlckZv
ckl0ZW1UaW1lOml0ZW1UaW1lRm9yRGlzcGxheTogbWF5IHJldHVybiBuaWwgaWYgdGhlIHBpeGVs
IGJ1ZmZlcgogICAgIC8vIGZvciB0aGUgcmVxdWVzdGVkIHRpbWUgaGFzIGFscmVhZHkgYmVlbiBy
ZXRyaWV2ZWQuIEluIHRoaXMgY2FzZSwgdGhlIGxhc3QgdmFsaWQgaW1hZ2UgKGlmIGFueSkKICAg
ICAvLyBzaG91bGQgYmUgZGlzcGxheWVkLgotICAgIGlmICghdXBkYXRlTGFzdFBpeGVsQnVmZmVy
KCkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCisgICAgaWYgKChtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHx8ICF1cGRhdGVMYXN0UGl4ZWxCdWZmZXIoKSkg
JiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCiAgICAgICAgIHJldHVybjsK
IAogICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikgewpAQCAtMjU4Myw5ICsyNjMzLDgg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludFdpdGhWaWRl
b091dHB1dChHcmFwaGljc0NvbnRleHQmIGMKIAogUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBpeGVsQnVmZmVyRm9yQ3VycmVu
dFRpbWUoKQogewotICAgIHVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpOwotICAgIGlmICghbV9sYXN0
UGl4ZWxCdWZmZXIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV9pc0dhdGhl
cmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCk7
CiAKICAgICByZXR1cm4gbV9sYXN0UGl4ZWxCdWZmZXI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNW
LmgKaW5kZXggYzNjNTM3Y2UyN2MwNDg4YTU4OGM0ZDAxYjhkNTQwODg4ZGM3ZjQwNy4uY2M1Nzhj
NzliYjA3ZjQyOTZkNTk3Mjc4MGI2MDA5MjQ2MjAzYjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVy
Q1YuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWIHsKIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWKENGRGljdGlv
bmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKLSAgICBSZXRhaW5QdHI8Q0dJ
bWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlRnJvbVBp
eGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYpOwogCiBwcml2YXRlOgogICAgIFJldGFpblB0cjxW
VFBpeGVsQnVmZmVyQ29uZm9ybWVyUmVmPiBtX3BpeGVsQ29uZm9ybWVyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
Y3BwCmluZGV4IDU2NWI4YjI5M2FlY2RmNWU1MWZlNWUxMDE2YzViN2E3ZTczM2Q4YTkuLjg4MTA4
Y2JjNTMzYzEwYzc1ZTM3MGJmY2M4OTgwMGE1M2M2NzI5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAK
QEAgLTEwOTgsNiArMTA5OCwxOCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBhdXNl
QXRIb3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgICAgIG1fcGxheWVyLT5wYXVzZUF0
SG9zdFRpbWUodGltZSk7CiB9CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RhcnRW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXllcikKKyAgICAg
ICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3Zv
aWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpCit7CisgICAgaWYgKG1fcGxheWVyKQorICAgICAgICBtX3BsYXllci0+c3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30KKwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAog
V1RGTG9nQ2hhbm5lbCYgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9nQ2hhbm5lbCgpIGNvbnN0
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuaAppbmRleCAwZTlmM2Q3YTIxNDVkNzViOTQzZTJiNTZhMmQ4MGJiODA3
M2RmOWUxLi4zMmYzYTQ2YWEwZjA5YjEzYjAyNGU0MTY0MDc4YTVkYWRkZWRjNTRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmgKQEAgLTMwNyw2ICszMDcsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXlBdEhv
c3RUaW1lKE1vbm90b25pY1RpbWUpOwogICAgIHZvaWQgcGF1c2VBdEhvc3RUaW1lKE1vbm90b25p
Y1RpbWUpOwogCisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwor
ICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworI2lmIFBMQVRGT1JN
KENPQ09BKQorICAgIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShXZWJD
b3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYp
OworI2VuZGlmCisKICAgICBib29sIG1lZGlhUGxheWVyUGF1c2VkT3JTdGFsbGVkKCkgY29uc3Q7
CiAgICAgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQoY29uc3QgTWVkaWFUaW1lJik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOGVjNjAzZmVjYzFmMThkODRjMTRkNDcz
ZWE1MWE4MTUxNDA3ZDEyMy4uMzljODcyOWIyNzM5ZTEzNjQ0YjMxYWE4MGRiYTgwZDRhMzMwYzhh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTEzMiw2ICsxMzIsOSBA
QCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQgewogCiAg
ICAgUGxheUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQogICAgIFBhdXNlQXRIb3N0VGlt
ZShNb25vdG9uaWNUaW1lIHRpbWUpCisKKyAgICBTdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhl
cmluZygpCisgICAgU3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCiB9CiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90
ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0KaW5kZXggMDhiMmZkZWY1YTRm
Y2IxOGFkZGJkMTZjMWZkNjA4NmMxYmU5YzI3Yy4uYzZiYmEzYWEyYjRlNTVmYWVmYjkzM2JiZTJl
NjM1OWQ3M2Y2MzE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKICNpbXBv
cnQgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisjaW1wb3J0ICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9GbG9hdFNpemUuaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNlLmg+
CkBAIC04Myw2ICs4NCwxMSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVv
SW5saW5lU2l6ZUZlbmNlZChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmCiAgICAgc2V0VmlkZW9J
bmxpbmVTaXplSWZQb3NzaWJsZSgqbV9pbmxpbmVMYXllckhvc3RpbmdDb250ZXh0LCBzaXplKTsK
IH0KIAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck9uTmV3VmlkZW9G
cmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmIG1ldGFkYXRhLCBSZXRhaW5QdHI8Q1ZQ
aXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIpCit7CisgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpQdXNoVmlkZW9GcmFtZU1l
dGFkYXRhKG1ldGFkYXRhLCBidWZmZXIpLCBtX2lkKTsKK30KKwogdm9pZCBSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoc3RkOjpvcHRpb25hbDxXVEY6Ok1hY2hTZW5kUmlnaHQ+JiYsIFdlYkNvcmU6OkRlc3RpbmF0
aW9uQ29sb3JTcGFjZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFtX3BsYXll
cikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5w
eSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggMzE5NmM1
Y2Y1ODZkMjRlMTA2YWYyYmFiMDFlY2I5NDJkZTFiNGYyZS4uZTliMmI0MjY0NjQwM2FlZWNkMjI4
Yjk3YTJmZmZmYzUwNTk5YTc3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5CkBAIC0zNzEsOCArMzcxLDkgQEAgZGVmIGNvbmRpdGlvbnNfZm9yX2hlYWRlcihoZWFk
ZXIpOgogICAgICAgICAnIkxheWVySG9zdGluZ0NvbnRleHQuaCInOiBbIlBMQVRGT1JNKENPQ09B
KSIsIF0sCiAgICAgICAgICciR2VzdHVyZVR5cGVzLmgiJzogWyJQTEFURk9STShJT1NfRkFNSUxZ
KSJdLAogICAgICAgICAnIldDTGF5ZXJUcmVlSG9zdElkZW50aWZpZXIuaCInOiBbIlVTRShHUkFQ
SElDU19MQVlFUl9XQykiXSwKLSAgICAgICAgJzxXZWJDb3JlL01lZGlhUGxheWJhY2tUYXJnZXRD
b250ZXh0Lmg+JzogWyJFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSJdLAorICAgICAg
ICAnPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4nOiBbIlBMQVRGT1JNKENPQ09BKSIsIF0sCiAgICAg
ICAgICc8V2ViQ29yZS9EYXRhRGV0ZWN0b3JUeXBlLmg+JzogWyJFTkFCTEUoREFUQV9ERVRFQ1RJ
T04pIl0sCisgICAgICAgICc8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oPic6
IFsiRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkiXSwKICAgICB9CiAgICAgaWYgbm90
IGhlYWRlciBpbiBjb25kaXRpb25zOgogICAgICAgICByZXR1cm4gTm9uZQpAQCAtNjc5LDYgKzY4
MCw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgIGhlYWRlcl9pbmZvc19hbmRf
dHlwZXMgPSBjbGFzc190ZW1wbGF0ZV9oZWFkZXJzKHR5cGUpCiAKICAgICBzcGVjaWFsX2Nhc2Vz
ID0geworICAgICAgICAnQ1ZQaXhlbEJ1ZmZlclJlZic6IFsnPFdlYkNvcmUvQ1ZVdGlsaXRpZXMu
aD4nXSwKICAgICAgICAgJ0lQQzo6U2VtYXBob3JlJzogWyciSVBDU2VtYXBob3JlLmgiJ10sCiAg
ICAgICAgICdJbnNwZWN0b3I6OkV4dGVuc2lvbkVycm9yJzogWyciSW5zcGVjdG9yRXh0ZW5zaW9u
VHlwZXMuaCInXSwKICAgICAgICAgJ0luc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsOjpDb25uZWN0
aW9uVHlwZSc6IFsnPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPidd
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDYyYjExZGY1ZWFmYTYzNWRiZDM2
YzcxMGQ5ZDZkNWY2NWQ4YzM3YzYuLmNiOWFkNjFmMDFiOTg1ZjJkNmMwYzJlYTg1NWJlM2FiYzkx
ZmZkMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTgwLDYgKzgwLDcgQEAK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW1wb3J0IDxXZWJDb3JlL1BpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1YuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmlkZW9MYXllck1hbmFnZXJPYmpD
Lmg+CiAjZW5kaWYKIApAQCAtMTM3Nyw2ICsxMzc4LDI3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9GcmFtZU1ldGFkYXRhKCkKK3sKKyAgICBhdXRv
IHZpZGVvRnJhbWVNZXRhZGF0YSA9IHN0ZDo6ZXhjaGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEs
IHsgfSk7CisgICAgcmV0dXJuIHZpZGVvRnJhbWVNZXRhZGF0YTsKK30KKwordm9pZCBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sK
KyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKyAgICBjb25uZWN0
aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKSwgbV9pZCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gZmFsc2U7CisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YSA9IG51bGxw
dHI7CisjZW5kaWYKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6U3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30K
Kwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlcXVlc3RSZXNvdXJjZShSZW1vdGVN
ZWRpYVJlc291cmNlSWRlbnRpZmllciByZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJl
c291cmNlTG9hZGVyOjpMb2FkT3B0aW9ucyBvcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKCFtX21lZGlhUmVzb3VyY2Vz
LmNvbnRhaW5zKHJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUuaAppbmRleCBiNWY1YjViYzFjNTJhMzk5YzkxYmM1MGNiYWRmNWZlYzlmNTU1YzQw
Li5hNTU5OWQ2MjUyMGRiMmM4N2QwMTFlYTJkMmFkNDgxNjNlNjkwMDEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlLmgKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJWaWRlb1RyYWNrUHJp
dmF0ZVJlbW90ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQbGF5ZXJQcml2YXRlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1ZpZGVvRnJhbWVNZXRhZGF0YS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNp
bmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTU2
LDYgKzU3LDEwIEBAIHN0cnVjdCBHZW5lcmljQ3VlRGF0YTsKIGNsYXNzIElTT1dlYlZUVEN1ZTsK
IGNsYXNzIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFDdWVWYWx1ZTsKIGNsYXNzIFZpZGVvTGF5ZXJN
YW5hZ2VyOworCisjaWYgUExBVEZPUk0oQ09DT0EpCitjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1l
ckNWOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDAwLDYgKzQwNSwxNCBA
QCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUm
KSBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZUNvbmZpZ3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJD
b25maWd1cmF0aW9uJiYpOwogCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1l
TWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpIGZpbmFsOworICAgIHZvaWQgc3RhcnRWaWRl
b0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZv
aWQgcHVzaFZpZGVvRnJhbWVNZXRhZGF0YShXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwg
UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpOworI2VuZGlmCisKICAgICBXZWFrUHRyPFdl
YkNvcmU6Ok1lZGlhUGxheWVyPiBtX3BsYXllcjsKICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVJlc291cmNlTG9hZGVyPiBtX21lZGlhUmVzb3VyY2VMb2FkZXI7CiAjaWYgUExBVEZPUk0o
Q09DT0EpCkBAIC00NTAsNiArNDYzLDEyIEBAIHByaXZhdGU6CiAjaWYgVVNFKEFWRk9VTkRBVElP
TikKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9waXhlbEJ1ZmZlckZvckN1cnJl
bnRUaW1lOwogI2VuZGlmCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+IG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGE7
CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y+IG1f
cGl4ZWxCdWZmZXJDb25mb3JtZXI7CisjZW5kaWYKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlZpZGVvRnJhbWVNZXRhZGF0YT4gbV92aWRlb0ZyYW1lTWV0YWRhdGE7CisgICAgYm9vbCBtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpp
bmRleCAxMThlMDI1YTY5YjNmYTQxZjU1OWU1YWEwYmY5OGQzNzkxYmU1ZGU0Li5hNjA2MDM5MGU5
MDU5MDg2ZGY0NTNmNzU2MWQ5ZjUxN2U2YjRhZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtOTEsNiArOTEsMTAgQEAgbWVzc2FnZXMgLT4gTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgewogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgR2V0UmF3Q29va2llcyhVUkwgdXJsKSAtPiAoVmVjdG9yPFdlYkNvcmU6OkNv
b2tpZT4gcmVzdWx0KSBBc3luYwogI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBQ
dXNoVmlkZW9GcmFtZU1ldGFkYXRhKHN0cnVjdCBXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEg
bWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBidWZmZXIpOworI2VuZGlmCiB9
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2Eu
bW0KaW5kZXggYTJmODM1MmZiMjBmYmIyYTBkNjJmYWVjNTliMmY0YTgyNjU0YmJmZi4uYzBiNzc2
ZGM3NzNiMTdmYTQzMGNkNTg5NjhiMDA3YjMxYmQ3NmE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCkBAIC0zMyw5ICszMywxMiBAQAogI2ltcG9y
dCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yU3BhY2VD
Ry5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGl4
ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3Jl
U1BJLmg+CiAjaW1wb3J0IDx3dGYvTWFjaFNlbmRSaWdodC5oPgogCisjaW1wb3J0IDxXZWJDb3Jl
L0NvcmVWaWRlb1NvZnRMaW5rLmg+CisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKQEAgLTQ2LDggKzQ5LDI1IEBAIFBsYXRmb3JtTGF5ZXJDb250YWluZXIg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjcmVhdGVWaWRlb0Z1bGxzY3JlZW5MYXllcigpCiB9
CiAjZW5kaWYKIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnB1c2hWaWRlb0ZyYW1l
TWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYgdmlkZW9GcmFtZU1ldGFkYXRh
LCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIpCit7CisgICAgaWYgKCFtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICByZXR1cm47CisgICAgbV92aWRl
b0ZyYW1lTWV0YWRhdGEgPSBXVEZNb3ZlKHZpZGVvRnJhbWVNZXRhZGF0YSk7CisgICAgbV9waXhl
bEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YSA9IFdURk1vdmUoYnVmZmVyKTsK
K30KKwogUmVmUHRyPE5hdGl2ZUltYWdlPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om5hdGl2
ZUltYWdlRm9yQ3VycmVudFRpbWUoKQogeworICAgIGlmIChtX3BpeGVsQnVmZmVyR2F0aGVyZWRX
aXRoVmlkZW9GcmFtZU1ldGFkYXRhKSB7CisgICAgICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZv
cm1lcikKKyAgICAgICAgICAgIG1fcGl4ZWxCdWZmZXJDb25mb3JtZXIgPSBtYWtlVW5pcXVlPFBp
eGVsQnVmZmVyQ29uZm9ybWVyQ1Y+KChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpQHsgKF9fYnJp
ZGdlIE5TU3RyaW5nICopa0NWUGl4ZWxCdWZmZXJQaXhlbEZvcm1hdFR5cGVLZXk6IEAoa0NWUGl4
ZWxGb3JtYXRUeXBlXzMyQkdSQSkgfSk7CisgICAgICAgIEFTU0VSVChtX3BpeGVsQnVmZmVyQ29u
Zm9ybWVyKTsKKyAgICAgICAgaWYgKCFtX3BpeGVsQnVmZmVyQ29uZm9ybWVyKQorICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBOYXRpdmVJbWFnZTo6Y3JlYXRlKG1f
cGl4ZWxCdWZmZXJDb25mb3JtZXItPmNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKG1fcGl4ZWxC
dWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGEuZ2V0KCkpKTsKKyAgICB9CisKICAg
ICBzdGQ6Om9wdGlvbmFsPE1hY2hTZW5kUmlnaHQ+IHNlbmRSaWdodDsKICAgICBhdXRvIGNvbG9y
U3BhY2UgPSBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKTsKICAgICBpZiAoIWNvbm5lY3Rp
b24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6TmF0aXZlSW1h
Z2VGb3JDdXJyZW50VGltZSgpLCBNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6TmF0
aXZlSW1hZ2VGb3JDdXJyZW50VGltZTo6UmVwbHkoc2VuZFJpZ2h0LCBjb2xvclNwYWNlKSwgbV9p
ZCkpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
MmNmYjliYTAwYTA3Y2EyZTdlYjUyYjU4NWRmYTcyMWYwYTRjZGUzZC4uYzA5YzJkYjI1NmRjNzZl
MmNhMzZiNDdmMjk3MTM1MTI0NzdiNDdiZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTE3ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRh
dGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxz
b24uCisKKyAgICAgICAgRW5hYmxlIHJ2ZmMgYnkgZGVmYXVsdCBpbiB0ZXN0IHJ1bm5lci4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKwogMjAyMS0xMS0xNyAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxl
bWVudCBtb3N0IG9mIHJlZGlyZWN0IGFuZCBtb2RpZnktaGVhZGVycyBhY3Rpb24gdHlwZXMKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZDIwMTA1NDFl
MWI0NGIxNzRjMmUxY2RlNTI0NDEyNjkyNDU1YjBmLi5mMzM5YTQzMzNjMGE5MGY1YTRkZTNlZTZm
N2M3MDg2ZTc2MDE4ZmM1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCkBAIC04NjMsMTEgKzg2Myw4IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2Vz
Rm9yVGVzdE9wdGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBXCiAgICAg
ICAgIFtwcmVmZXJlbmNlcyBfcmVzZXRGb3JUZXN0aW5nXTsKIAogICAgICAgICBpZiAoZW5hYmxl
QWxsRXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKLSAgICAgICAgICAgIGZvciAoV2ViRmVhdHVyZSAq
ZmVhdHVyZSBpbiBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkgewotICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4gRW5hYmxl
IGl0IHdoZW4gdGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4KLSAgICAg
ICAgICAgICAgICBhdXRvIGVuYWJsZWQgPSBbZmVhdHVyZS5uYW1lIGlzRXF1YWw6QCJSZXF1ZXN0
VmlkZW9GcmFtZUNhbGxiYWNrIl0gPyBOTyA6IFlFUzsKLSAgICAgICAgICAgICAgICBbcHJlZmVy
ZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJl
bmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdKQorICAgICAgICAgICAgICAgIFtwcmVmZXJlbmNl
cyBfc2V0RW5hYmxlZDpZRVMgZm9yRmVhdHVyZTpmZWF0dXJlXTsKICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpKSB7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGIwOTBiYmQzMWZmNDg2ZDE5ZDM3
OWFjNDA4MjhkZjNlZGQwYjJkZjYuLmVkMjgwMmZiMWU3NjZkYzVkZTY3YzQ0ZDE1NzY2MTYzMmMz
OTMxYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC05
MDUsOSArOTA1LDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29u
c2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW8KICAgICAgICAgaWYgKGVuYWJs
ZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKQogICAgICAgICAgICAgV0tQcmVmZXJlbmNlc0VuYWJs
ZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAotICAgICAgICAvLyBGSVhN
RTogV2UgZGlzYWJsZSBydmZjIGJ5IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2aWRlbyBi
YWNrZW5kIHN1cHBvcnQgaXMgZ29vZCBlbm91Z2guCi0gICAgICAgIFdLUHJlZmVyZW5jZXNTZXRS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwotCiAg
ICAgICAgIFdLUHJlZmVyZW5jZXNSZXNldEFsbEludGVybmFsRGVidWdGZWF0dXJlcyhwcmVmZXJl
bmNlcyk7CiAKICAgICAgICAgV0tQcmVmZXJlbmNlc1NldFByb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
RW5hYmxlZChwcmVmZXJlbmNlcywgb3B0aW9ucy5zaG91bGRFbmFibGVQcm9jZXNzU3dhcE9uTmF2
aWdhdGlvbigpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA3ZTVmODVmZTUxYTJmNWFiNjM1NjI1ZmUyNzgyYmEwYWM1YjE3
YWJhLi40ZGU2YmVjZjI5MWNmNGRjYjAwNGYyNWE0NjM2NzY4ZjA1MGEzMDdhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQor
CisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBVbnNraXBwZWQg
c29tZSB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTExLTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
bW9yZSBydmZjIG1ldGFkYXRhCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBkNWQ0
YmU5ZDc5NGFkMDRmOTQxNzM4MGRjZDVjODg1NTNjOTU3MWNjLi5jNWZjYTNiYzBhMGE0NGFhNjUx
NmM2MDQ4OGVmZDNhZmFmMDBkZTg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMiBAQAorMjAyMS0xMS0xNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBvcnQgcnZm
YworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NDY1NzM3Mj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIENhcmxzb24uCisKKyAgICAgICAgVHJhbnNmb3JtaW5nIHRlc3RzIGZyb20gYXN5bmMg
dG8gcHJvbWlzZSBiYXNlZCBzbyB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIHZpZGVvIHBsYXlpbmcg
YXQgYSB0aW1lLCB0byBtYWtlIGl0IHdvcmsgc21vb3RobHkgaW4gaU9TLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1kb20tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1w
YXJhbGxlbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1s
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbDoKKwogMjAyMS0x
MS0xNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIG1vcmUgcnZmYyBtZXRhZGF0YQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LWRvbS1leHBlY3RlZC50eHQKaW5kZXggNjYzOWQ0ZjI4ODVlMWY5NzY0OGQ1MDU0NzcwZWFmZWI0
MzJkYzUwZC4uN2U1YzQ4NjIwNDUzNDc5NDM5NDFiY2NjNWQ0YmVlNzY2MjFhNjIxZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBA
QAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBU
ZXN0IGEgdmlkZW8gb3V0c2lkZSBvZiB0aGUgRE9NIGNhbiBzdGlsbCB1c2UgdmlkZW8uclZGQy4g
VGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggImRpc3Bs
YXk6bm9uZSIuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3
aXRoICJ2aXNpYmlsaXR5OmhpZGRlbiIuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgYSB2aWRl
byBvdXRzaWRlIG9mIHRoZSBET00gY2FuIHN0aWxsIHVzZSB2aWRlby5yVkZDLgorUEFTUyBUZXN0
IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25lIi4KK1BBU1MgVGVzdCB2aWRlby5y
VkZDIHdvcmtzIHdpdGggInZpc2liaWxpdHk6aGlkZGVuIi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1kb20uaHRtbAppbmRleCAwMjc3ZDcyOTc4ODNjNGNkNGY0NzJiMDhjNDM5OTgwNjI4MGZlOGVi
Li5jMTgwNGI0ZWRkMGM5ODZhYTE2MWRmYzEzMTc5OTgzYzA0YWNlNDA0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay1kb20uaHRtbApAQCAtMTMsMTcgKzEzLDI0IEBAIHZhciB0ZXN0VmlkZW8gPSB7
CiAgIHdpZHRoOiAzMjAsCiB9CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90
ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAgICBjb25zdCBwcm9taXNl
ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisKICAgICBsZXQgdmlk
ZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogCi0gICAgdmlkZW8ucmVxdWVz
dFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKCkpOworICAgIHZpZGVvLnJlcXVl
c3RWaWRlb0ZyYW1lQ2FsbGJhY2soZG9uZSk7CiAgICAgdmlkZW8uc3JjID0gdGVzdFZpZGVvLnVy
bDsKLSAgICB2aWRlby5wbGF5KCk7CisgICAgYXdhaXQgdmlkZW8ucGxheSgpOwogCisgICAgcmV0
dXJuIHByb21pc2U7CiB9LCAnVGVzdCBhIHZpZGVvIG91dHNpZGUgb2YgdGhlIERPTSBjYW4gc3Rp
bGwgdXNlIHZpZGVvLnJWRkMuJyk7CiAKIGZ1bmN0aW9uIHJ2ZmNTdHlsZVRlc3QoYXBwbHlTdHls
ZSwgZGVzY3JpcHRpb24pIHsKLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBwcm9t
aXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAgICAgbGV0IGRvbmU7CisgICAgICBjb25z
dCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisKICAg
ICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKICAgICAgIGFwcGx5U3R5bGUodmlkZW8p
OwpAQCAtMzEsMTIgKzM4LDE0IEBAIGZ1bmN0aW9uIHJ2ZmNTdHlsZVRlc3QoYXBwbHlTdHlsZSwg
ZGVzY3JpcHRpb24pIHsKICAgICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soCiAg
ICAgICAgIHQuc3RlcF9mdW5jKCBfID0+IHsKICAgICAgICAgICAvLyBNYWtlIHN1cmUgd2UgY2Fu
IHJlY2VpdmUgbW9yZSB0aGFuIG9uZSBjYWxsYmFjay4KLSAgICAgICAgICB2aWRlby5yZXF1ZXN0
VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jX2RvbmUoKSk7CisgICAgICAgICAgdmlkZW8u
cmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhkb25lKTsKICAgICAgICAgfSkKICAgICAgICk7CiAK
ICAgICAgIHZpZGVvLnNyYyA9IHRlc3RWaWRlby51cmw7Ci0gICAgICB2aWRlby5wbGF5KCk7Cisg
ICAgICBhd2FpdCB2aWRlby5wbGF5KCk7CisKKyAgICAgIHJldHVybiBwcm9taXNlOwogICAgIH0s
IGRlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJh
Y2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0
CmluZGV4IGNhN2NiM2U5NGNkZmIyNTI1OGI5ZDk5YjRmNGQ0N2VkYTBlNzcyMTYuLmNkNzk2MTIw
NTUxNzE2OGI1NDNiZjU5YmJlMGZhZTI2OWZlMGJkMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsOCBAQAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3Qgd2UgY2FuIHJlZ2lzdGVyIGEg
dmlkZW8uclZGQyBjYWxsYmFjay4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB2aWRlby5y
VkZDIGNhbGxiYWNrcyBydW4gYmVmb3JlIHdpbmRvdy5yQUYgY2FsbGJhY2tzLiBUZXN0IHRpbWVk
IG91dAotVElNRU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwgYSB2aWRlby5yVkZDIHJlcXVlc3QuIFRl
c3QgdGltZWQgb3V0CitQQVNTIFRlc3Qgd2UgY2FuIHJlZ2lzdGVyIGEgdmlkZW8uclZGQyBjYWxs
YmFjay4KK1BBU1MgVGVzdCB2aWRlby5yVkZDIGNhbGxiYWNrcyBydW4gYmVmb3JlIHdpbmRvdy5y
QUYgY2FsbGJhY2tzLgorUEFTUyBUZXN0IHdlIGNhbiBjYW5jZWwgYSB2aWRlby5yVkZDIHJlcXVl
c3QuCiBQQVNTIFRlc3QgaW52YWxpZCBjYWxscyB0byB0aGUgdmlkZW8uclZGQyBBUEkuCi1USU1F
T1VUIFRlc3QgdmlkZW8uclZGQyBkb2VzIG5vdCBzdG9wIHdoZW4gc3dpdGNoaW5nIHNvdXJjZXMu
IFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgdmlkZW8uclZGQyBkb2VzIG5vdCBzdG9wIHdoZW4g
c3dpdGNoaW5nIHNvdXJjZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBh
cmFsbGVsLWV4cGVjdGVkLnR4dAppbmRleCA2ZmU2ODRhZThlNjZkYWI4Y2NlNjhkMjI3NTM1OTVh
ODQ0OGM2YjkwLi4zMmI5OWFlZDU0NTdkZmExYmYyYTkxNjMzMWQyNmYxZWQ5ZDliNWQwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0CkBA
IC0xLDcgKzEsNSBAQAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVs
bAotCi1USU1FT1VUIFRlc3QgY2FsbGJhY2tzIGdldCB0aGUgc2FtZSBpbmZvcm1hdGlvbi4gVGVz
dCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB3ZSBjYW4gY2FuY2VsIGNhbGxiYWNrcyBmcm9tIGNh
bGxiYWNrcy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBjYWxsYmFja3MgZ2V0IHRoZSBzYW1l
IGluZm9ybWF0aW9uLgorUEFTUyBUZXN0IHdlIGNhbiBjYW5jZWwgY2FsbGJhY2tzIGZyb20gY2Fs
bGJhY2tzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxl
bC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbAppbmRleCAx
NGM1ZGUxYWRmNTViYTAwMTZhYjk5ODU3NzZjNTY4ZTQ5ZjU5NTZkLi42ODJmZDBhYzhmNmEyMjAw
NmUwMTVjMmY5YjYyMWRhODRmZTUzZTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1wYXJhbGxlbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBh
cmFsbGVsLmh0bWwKQEAgLTcsNyArNywxMCBAQAogPHNjcmlwdCBzcmM9Ii9jb21tb24vbWVkaWEu
anMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9t
aXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAgIGxldCBkb25lOworICAgIGNvbnN0IHBy
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAgIGxl
dCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAKQEAgLTE5LDE3ICsyMiwyMiBAQCBhc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKICAgICAgIGZpcnN0TWV0YWRhdGEgPSBtZXRhZGF0YTsKICAgICB9KSk7
CiAKLSAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jX2RvbmUo
KHRpbWUsIG1ldGFkYXRhKSA9PiB7CisgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFj
ayh0LnN0ZXBfZnVuYygodGltZSwgbWV0YWRhdGEpID0+IHsKICAgICAgIGFzc2VydF9lcXVhbHMo
Zmlyc3RUaW1lLCB0aW1lKTsKICAgICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKGZpcnN0TWV0YWRh
dGEsIG1ldGFkYXRhKTsKKyAgICAgIGRvbmUoKTsKICAgICB9KSk7CiAKICAgICB2aWRlby5zcmMg
PSBnZXRWaWRlb1VSSSgnL21lZGlhL21vdmllXzUnKTsKICAgICB2aWRlby5wbGF5KCk7CiAKKyAg
ICByZXR1cm4gcHJvbWlzZTsKIH0sICdUZXN0IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5mb3Jt
YXRpb24uJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGFzeW5j
IGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisKICAgICBsZXQgdmlkZW8gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQodmlkZW8pOwogCkBAIC00NiwxMiArNTQsMTIgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7
CiAgICAgKTsKIAogICAgIC8vIE5PVEU6IFRoaXMgY2FsbGJhY2sgc2hvdWxkIGJlIGV4ZWN1dGVk
IGxhc3QuCi0gICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjaygKLSAgICAgIHQuc3Rl
cF9mdW5jX2RvbmUoKQotICAgICk7CisgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFj
ayhkb25lKTsKIAogICAgIHZpZGVvLnNyYyA9IGdldFZpZGVvVVJJKCcvbWVkaWEvbW92aWVfNScp
OwogICAgIHZpZGVvLnBsYXkoKTsKKworICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3Qgd2Ug
Y2FuIGNhbmNlbCBjYWxsYmFja3MgZnJvbSBjYWxsYmFja3MuJyk7CiA8L3NjcmlwdD4KIDwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQu
dHh0CmluZGV4IGI0YTViZTNkZDI1MTJiODVjMzg1NTViOGYzY2U3MDM2NzhlZDRkZmQuLmE2MzFh
MTc2YmQ1OWI2ZGYxYzQ1NTZkM2NkYjExNDVkM2M2OTU4NjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAK
IAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBU
ZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRoZSBuZXh0IGZyYW1lLiBUZXN0
IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IGNoYWluaW5nIGNhbGxzIHRvIHZpZGVvLnJWRkMsIGFu
ZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRl
c3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24gdGhlIG5leHQgZnJhbWUuCitGQUlM
IFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5kIHZlcmlmeSB0aGUgcmVxdWly
ZWQgcGFyYW1ldGVycy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcHJlc2VudGF0aW9uVGltZSBzaG91
bGQgYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGV4cGVjdGVkIGEgbnVtYmVyIGJ1dCBnb3Qg
YSAidW5kZWZpbmVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1y
ZXBlYXRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1s
CmluZGV4IGU2MzdhMDg3MmNiMGQwYzE1MWUwYTgwYTZhNTY5NDQ5ZmQyMjJhMWIuLjM4ZTRhYmFm
ZDRhZmU5NjMyMzJlYzc0MjdhZmE1Y2JkNTdiYzczNGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNh
bGxiYWNrLXJlcGVhdGluZy5odG1sCkBAIC03LDcgKzcsMTAgQEAKIDxzY3JpcHQgc3JjPSIvY29t
bW9uL21lZGlhLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAg
ICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7
CisKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCkBAIC0yNCwxOCArMjcsMjMgQEAg
YXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAKICAgICAgIC8vIFF1ZXVlIHVwIGEgc2Vjb25kIGNh
bGxiYWNrLCBhbmQgbWFrZSBzdXJlIGl0J3MgY2FsbGVkIGF0IHRoZSBzYW1lIHRpbWUKICAgICAg
IC8vIGFzIHRoZSBvbmUgd2UganVzdCBxdWV1ZWQgdXAuCi0gICAgICB2aWRlby5yZXF1ZXN0Vmlk
ZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jX2RvbmUoKHRpbWUpID0+IHsKKyAgICAgIHZpZGVv
LnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2sodC5zdGVwX2Z1bmMoKHRpbWUpID0+IHsKICAgICAg
ICAgYXNzZXJ0X2VxdWFscyh0aW1lLCBzZWNvbmRUaW1lLCAiQ2FsbGJhY2tzIHF1ZXVlZCB0b2dl
dGhlciBzaG91bGQgYmUgY2FsbGVkIGF0IHRoZSBzYW1lIHRpbWUiKTsKKyAgICAgICAgZG9uZSgp
OwogICAgICAgfSkpCiAKICAgICB9KSk7CiAKICAgICB2aWRlby5zcmMgPSBnZXRWaWRlb1VSSSgn
L21lZGlhL21vdmllXzUnKTsKLSAgICB2aWRlby5wbGF5KCk7CisgICAgYXdhaXQgdmlkZW8ucGxh
eSgpOwogCisgICAgcmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCBuZXcgY2FsbGJhY2tzIGFyZSBv
bmx5IGNhbGxlZCBvbiB0aGUgbmV4dCBmcmFtZS4nKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0
KSB7Citwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAgIGxldCBkb25lOworICAg
IGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsK
KwogICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAKQEAgLTY0LDcgKzcyLDcgQEAgYXN5
bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICBsYXN0TWV0YWRhdGEgPSBtZXRhZGF0YTsKIAog
ICAgICAgaWYgKCsrY3VycmVudENhbGxOdW1iZXIgPiBtYXhOdW1iZXJPZkNhbGxzKSB7Ci0gICAg
ICAgIHQuZG9uZSgpCisgICAgICAgIGRvbmUoKQogICAgICAgfSBlbHNlIHsKICAgICAgICAgdmlk
ZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuYyhyZXBlYXRpbmdDYWxsYmFj
aykpOwogICAgICAgfQpAQCAtNzMsOCArODEsOSBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsK
ICAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jKHJlcGVhdGlu
Z0NhbGxiYWNrKSk7CiAKICAgICB2aWRlby5zcmMgPSBnZXRWaWRlb1VSSSgnL21lZGlhL21vdmll
XzUnKTsKLSAgICB2aWRlby5wbGF5KCk7CisgICAgYXdhaXQgdmlkZW8ucGxheSgpOwogCisgICAg
cmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCBjaGFpbmluZyBjYWxscyB0byB2aWRlby5yVkZDLCBh
bmQgdmVyaWZ5IHRoZSByZXF1aXJlZCBwYXJhbWV0ZXJzLicpOwogPC9zY3JpcHQ+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2suaHRtbAppbmRleCBhNDQwNDE0M2ZhNDA4ZWJiYjhmNDljYzMxODBl
MDY1ZDIwMGZmYTRhLi4yNTYyMTZlOGZjMDk4NDgyYmFmMjY3ZDk1ZmM1ZjJjZWNhNDMwYzUzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwKQEAgLTE4LDI2ICsxOCwzNCBAQCB2YXIgYWx0VGVzdFZp
ZGVvID0gewogICB3aWR0aDogMzIwLAogfQogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3By
b21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7CisgICAgbGV0IGRvbmU7CisgICAgY29uc3Qg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29sdmUpOworCiAgICAg
bGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIAogICAgIGxldCBpZCA9IHZpZGVvLnJlcXVlc3RW
aWRlb0ZyYW1lQ2FsbGJhY2soCi0gICAgICB0LnN0ZXBfZnVuY19kb25lKCh0aW1lLCBtZXRhZGF0
YSkgPT4geworICAgICAgdC5zdGVwX2Z1bmMoKHRpbWUsIG1ldGFkYXRhKSA9PiB7CiAgICAgICAg
IGFzc2VydF90cnVlKHRpbWUgPiAwKTsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXRhZGF0YS5o
ZWlnaHQsIHRlc3RWaWRlby5oZWlnaHQpOwogICAgICAgICBhc3NlcnRfZXF1YWxzKG1ldGFkYXRh
LndpZHRoLCB0ZXN0VmlkZW8ud2lkdGgpOworICAgICAgICBkb25lKCk7CiAgICAgICB9KQogICAg
ICk7CiAKICAgICBhc3NlcnRfdHJ1ZShpZCA+IDApOwogCiAgICAgdmlkZW8uc3JjID0gdGVzdFZp
ZGVvLnVybDsKLSAgICB2aWRlby5wbGF5KCk7CisgICAgYXdhaXQgdmlkZW8ucGxheSgpOwogCisg
ICAgcmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCB3ZSBjYW4gcmVnaXN0ZXIgYSB2aWRlby5yVkZD
IGNhbGxiYWNrLicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChh
c3luYyBmdW5jdGlvbih0KSB7CisgICAgbGV0IGRvbmU7CisgICAgY29uc3QgcHJvbWlzZSA9IG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29sdmUpOworCiAgICAgbGV0IHZpZGVvID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHZpZGVvKTsKIApAQCAtNDUsMTkgKzUzLDI0IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgewogICAgICAgdC5zdGVwX2Z1bmModmlkZW9fbm93ID0+IHsKICAgICAgICAgLy8gUXVldWUg
YSBjYWxsIHRvIHdpbmRvdy5yQUYsIGFuZCBtYWtlIHN1cmUgaXQgaXMgZXhlY3V0ZWQgd2l0aGlu
IHRoZQogICAgICAgICAvLyBzYW1lIHR1cm4gb2YgdGhlIGV2ZW50IGxvb3AgKHdpdGggdGhlIHNh
bWUgJ3RpbWUnIHBhcmFtZXRlcikuCi0gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoIHQuc3RlcF9mdW5jX2RvbmUoIHdpbmRvd19ub3cgPT4geworICAgICAgICB3aW5kb3cucmVx
dWVzdEFuaW1hdGlvbkZyYW1lKCB0LnN0ZXBfZnVuYyggd2luZG93X25vdyA9PiB7CiAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyh2aWRlb19ub3csIHdpbmRvd19ub3cpOworICAgICAgICAgIGRvbmUo
KTsKICAgICAgICAgfSkpOwogICAgICAgfSkKICAgICApOwogCiAgICAgdmlkZW8uc3JjID0gdGVz
dFZpZGVvLnVybDsKLSAgICB2aWRlby5wbGF5KCk7CisgICAgYXdhaXQgdmlkZW8ucGxheSgpOwog
CisgICAgcmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCB2aWRlby5yVkZDIGNhbGxiYWNrcyBydW4g
YmVmb3JlIHdpbmRvdy5yQUYgY2FsbGJhY2tzLicpOwogCiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAg
ICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7
CisKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCkBAIC03NCwxMiArODcsMTQgQEAg
YXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQsIHRoZSBv
dGhlciBjYWxsYmFjayBzaG91bGRuJ3QgaGF2ZSBmaXJlZCwgYnV0CiAgICAgICAgIC8vIGdpdmUg
aXQgc29tZSBtb3JlIHRpbWUgYW5kIHJlYWxseSBtYWtlIHN1cmUgaXQgZG9lc24ndCwgYnkgZ29p
bmcKICAgICAgICAgLy8gdGhyb3VnaHQgdGhlIGV2ZW50IGxvb3Agb25jZSBtb3JlLgotICAgICAg
ICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7IHQuZG9uZSgpOyB9LCAwKTsKKyAgICAgICAgdC5zdGVw
X3RpbWVvdXQoKCkgPT4geyBkb25lKCk7IH0sIDApOwogICAgICAgfSkKICAgICApOwogCiAgICAg
dmlkZW8uc3JjID0gdGVzdFZpZGVvLnVybDsKLSAgICB2aWRlby5wbGF5KCk7CisgICAgYXdhaXQg
dmlkZW8ucGxheSgpOworCisgICAgcmV0dXJuIHByb21pc2U7CiB9LCAnVGVzdCB3ZSBjYW4gY2Fu
Y2VsIGEgdmlkZW8uclZGQyByZXF1ZXN0LicpOwogCiB0ZXN0KGZ1bmN0aW9uKHQpIHsKQEAgLTEw
NSw2ICsxMjAsNyBAQCB0ZXN0KGZ1bmN0aW9uKHQpIHsKIAogcHJvbWlzZV90ZXN0KGFzeW5jIGZ1
bmN0aW9uKHQpIHsKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRl
bycpOworICAgIHZpZGVvLmF1dG9wbGF5ID0gdHJ1ZTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHZpZGVvKTsKIAogICAgIGxldCBmaXJzdF93aWR0aCA9IDA7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjhhYWRiOTk2Zjc3OThi
NjUwNTkyMTdlNjVmNDYxMjMzZjk2M2MwZi4uMzY0ZGU3MDdmMWY1ZjVjOTdiYTAwMTAwNDRkNjQz
YmI2YzI3OGUzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTQzLDEzICsxNDMsOSBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY25hbWUtY2xvYWtpbmctdG9wLW5vLWNuYW1lLXN1Yi1uby1jbmFtZS5odG1sCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KIGZhc3QvbWVk
aWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3MgXQogd2VicnRjL3BlZXJDb25u
ZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFk
ZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBvcnQuCisjIFRpbWluZyBvdXQg
dGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZvcmUteHIt
c2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbCBbIFNr
aXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
cmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KIAog
Iy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lm
aWMgZGlyZWN0b3JpZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNmRkMWEyZWE3NTlhNzA2ODgxM2VkMjM1YTQ2MGY5NTQyMmQyNGJkYi4u
OWEwNzQ1ODc5MzU0Yzg5NGE0YzcxZTBkNDBkMzEzNDJjMWM2YzY2YyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzMsNiArMzMsMTEgQEAg
aHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1leHRlcm5hbC1lbnRpdHktbm8tbG9n
Z2luZy54bWwgWyBQYXNzIF0KICMgcmRhcjovL3Byb2JsZW0vNjE3OTM4ODQgOiBFbmFibGluZyB0
aGlzIHRlc3QgZm9yIFdLMSBvbmx5LgogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMv
c2hhcGUtb3V0c2lkZS1pbWFnZWRhdGEtb3ZlcmZsb3cuaHRtbCBbIFBhc3MgXQogCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMgWyBQYXNzIF0KKyMgVGltaW5nIG91
dCB0ZXN0cyB1bnRpbCB3ZSBhZGQgWFIgc2Vzc2lvbi4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWJlZm9yZS14
ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1z
ZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCiAjLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjQ3YjBjZTYzMDg0MDUzN2E0MDk4NjIzMzJlOTMzZGUy
M2I4MDg1MS4uZDZjZWQ4NjBkZjFhZTE0YzY3MjA5YWMxMTQxOTA0ZmNhMzkwZTQ1YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIyLDEz
ICsxMjIsOSBAQCBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS10cmFuc2FjdGlvbi1jeWNsZS5o
dG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMg
WyBQYXNzIF0KIGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXJ2ZmMuaHRtbCBbIFBhc3Mg
XQogd2VicnRjL3BlZXJDb25uZWN0aW9uLXJ2ZmMuaHRtbCBbIFBhc3MgXQotIyBUaW1pbmcgb3V0
IHRlc3RzIHVudGlsIHdlIGFkZCByZWd1bGFyIHZpZGVvIHN0cmVhbWluZyBiYWNrZW5kIHN1cHBv
cnQuCisjIFRpbWluZyBvdXQgdGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1iZWZvcmUteHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1kb20uaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92
aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZHVyaW5nLXhyLXNlc3Npb24u
aHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbCBbIFNraXAg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
Lmh0bWwgWyBTa2lwIF0KIAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBF
bmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCg==
</data>
<flag name="commit-queue"
          id="469736"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444649</attachid>
            <date>2021-11-18 01:47:38 -0800</date>
            <delta_ts>2021-11-18 08:50:54 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-231945-20211118104736.patch</filename>
            <type>text/plain</type>
            <size>53843</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU4MTM5OGRiYmExZGY5
MzhlMDJmMGQ1OWFmMTZlMDRjNjIzODk0ZS4uZTgxYWE3ZTE4MjAxZjk1ZjM5MmE3ZWJhNDk2ODY3
NDEzMGJjMWVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91
bmRhdGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjU3
MzcyPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQg
QVBJIHRvIHN0YXJ0L3N0b3AgZ2F0aGVyaW5nIG1ldGFkYXRhLgorICAgICAgICBUaGlzIGdvZXMg
ZnJvbSB2aWRlbyBlbGVtZW50IGRvd24gdG8gbWVkaWEgcGxheWVyIHByaXZhdGUuCisgICAgICAg
IENvbnZlcnNlbHksIGFkZCBhIGNhbGxiYWNrIHRvIGdldCB0aGUgbWV0YWRhdGEsIGluY2x1ZGlu
ZyB0aGUgcGl4ZWwgYnVmZmVyLgorCisgICAgICAgIEltcGxlbWVudCBzdXBwb3J0IGluIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMgYnkgYWRkaW5nIGEgc3BlY2lmaWMgdGltZWxp
bmUgb2JzZXJ2ZXIuCisgICAgICAgIFdlIHJldXNlIHRoZSBzYW1lIHZpZGVvIG91dHB1dCBhbmQg
dGhlIHNhbWUgcGl4ZWwgYnVmZmVyIGFzIHdoZW4gcGFpbnRpbmcgdGhlIHZpZGVvIGVsZW1lbnQg
aW4gdGhlIGNhbnZhcy4KKyAgICAgICAgVG8gbWFrZSBzdXJlIHBhaW50aW5nIGluIGEgY2FudmFz
IGRvZXMgbm90IGhhdmUgc2lkZSBlZmZlY3RzIHdpdGggZ2F0aGVyaW5nIHZpZGVvIG1ldGFkYXRh
LCB3ZSBkbyBub3QgdXBkYXRlIHRoZSBwaXhlbCBidWZmZXIKKyAgICAgICAgd2hlbiBwYWludGlu
ZyBvbiBhIGNhbnZhcyBpbiBjYXNlIHZpZGVvIG1ldGFkYXRhIGlzIGdhdGhlcmVkLgorICAgICAg
ICBJbnN0ZWFkLCB3ZSBjb25zaWRlciB0aGF0IHBpeGVsIGJ1ZmZlciBpcyBhcyB1cCB0byBkYXRl
IGFzIHBvc3NpYmxlIGluIHRoYXQgY2FzZS4KKyAgICAgICAgVG8gbWFrZSBpdCB3b3JrIGluIFdL
MSwgd2UgaW1wbGVtZW50IHRoZSBzeW5jaHJvbm91cyB2aWRlbyBmcmFtZSBjYWxsYmFjayBnZXR0
ZXIuCisKKyAgICAgICAgUm91bmQgdGhlIG1pbGxpc2Vjb25kIG5vdyB0aW1lIGdpdmVuIHRvIHRo
ZSBjYWxsYmFjaywgbGlrZSBkb25lIGZvciBSQUYuCisKKyAgICAgICAgQ292ZXJlZCBieSBlbmFi
bGVkIHRlc3RzLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRN
TFZpZGVvRWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9IVE1MVmlkZW9FbGVtZW50Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRhLmg6CisgICAgICAgICogcGxhdGZv
cm0vY29jb2EvQ1ZQaXhlbEJ1ZmZlclJlZi5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1l
ckNWLmg6CisKIDIwMjEtMTEtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHJ2ZmMgbWV0YWRhdGEKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
Mzc0NThjNDQ0MGYwNjViYzA0ZTZlNGJiOGE0ZjM5M2FkMjFlMzRlYy4uZGYxNDNlZTUwOGRiNWZl
NDgxNmY4NzcxYzExY2QyNzQ4OTA2YjQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAy
MS0xMS0xNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWVk
aWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBvcnQgcnZmYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84NDY1NzM3Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisK
KyAgICAgICAgQWRkIElQQyBtZXNzYWdpbmcgdG8gc3RhcnQvc3RvcCBtZXRhZGF0YSBnYXRoZXJp
bmcgZnJvbSBXZWJQcm9jZXNzIHRvIEdQVVByb2Nlc3MuCisgICAgICAgIEFkZCBJUEMgbWVzc2Fn
aW5nIHRvIHB1c2ggbWV0YWRhdGEgdG8gV2ViUHJvY2VzcywgaW5jbHVkaW5nIHNlbmRpbmcgdGhl
IGNvcnJlc3BvbmRpbmcgQ1ZQaXhlbEJ1ZmZlciBmb3IgdGhlIGN1cnJlbnQgbWV0YWRhdGEuCisg
ICAgICAgIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSB3aWxsIHRoZW4gc2VydmUgdGhhdCBidWZm
ZXIgd2hlbiBiZWluZyByZXF1ZXN0ZWQgdGhlIGN1cnJlbnQgaW1hZ2UuCisgICAgICAgIFRoaXMg
ZW5zdXJlcyB0aGF0IHBhaW50aW5nIG9uIGEgY2FudmFzIGRvZXMgbm90IG1hcmsgdGhlIGN1cnJl
bnQgYnVmZmVyIGFzIGFjcXVpcmVkLCB3aGljaCB3b3VsZCB0aGVuIHNraXAgdGhlIHZpZGVvIGZy
YW1lIG1ldGFkYXRhIGdhdGhlcmluZy4KKyAgICAgICAgVGhpcyBhbHNvIGVuc3VyZXMgdGhlIHNh
bWUgYnVmZmVyIGlzIHVzZWQgaWYgYSB2aWRlbyBlbGVtZW50IGlzIHBhaW50ZWQgc2V2ZXJhbCB0
aW1lcyBkdXJpbmcgdGhlIHNhbWUgcnZmYyBjYWxsYmFjay4KKyAgICAgICAgVGhpcyBoYXMgdGhl
IHNpZGUgYmVuZWZpdCBvZiByZW1vdmluZyB0aGUgc3luY2hyb25vdXMgSVBDIHRvIHBhaW50IHRo
ZSB2aWRlbyBlbGVtZW50IGluIGEgY2FudmFzLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9t
ZWRpYS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW06CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2Eu
bW06CisKIDIwMjEtMTEtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHJ2ZmMgbWV0YWRhdGEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMmVjYmY1ZGJhYWRlZDQyZTc3OTA0NDA1YWMwMTMx
ZTM4ZmMyOWJlNy4uNjk1NjY5NDk2MzEwZWY5MTA4Yjk1NmZkYTQ4MjE0MzAxNDk3MGVjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTY0MSw2ICs2NDEsOSBAQCBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRDaGFuZ2luZ1ZpZGVvRnVsbHNjcmVlbk1vZGUoYm9vbCB2
YWx1ZSkgeyBtX2NoYW5naW5nVmlkZW9GdWxsc2NyZWVuTW9kZSA9IHZhbHVlOyB9CiAgICAgYm9v
bCBpc0NoYW5naW5nVmlkZW9GdWxsc2NyZWVuTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2hhbmdp
bmdWaWRlb0Z1bGxzY3JlZW5Nb2RlOyB9CiAKK3Byb3RlY3RlZDoKKyAgICB2b2lkIG1lZGlhUGxh
eWVyRW5naW5lVXBkYXRlZCgpIG92ZXJyaWRlOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBJbnRlcm5hbHM7CiAKQEAgLTY5Miw3ICs2OTUsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgbWVk
aWFQbGF5ZXJTaXplQ2hhbmdlZCgpIGZpbmFsOwogICAgIHZvaWQgbWVkaWFQbGF5ZXJSZW5kZXJp
bmdNb2RlQ2hhbmdlZCgpIGZpbmFsOwogICAgIGJvb2wgbWVkaWFQbGF5ZXJBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRW5hYmxlZCgpIGZpbmFsOwotICAgIHZvaWQgbWVkaWFQbGF5ZXJFbmdpbmVVcGRh
dGVkKCkgZmluYWw7CiAgICAgdm9pZCBtZWRpYVBsYXllcldpbGxJbml0aWFsaXplTWVkaWFFbmdp
bmUoKSBmaW5hbDsKICAgICB2b2lkIG1lZGlhUGxheWVyRGlkSW5pdGlhbGl6ZU1lZGlhRW5naW5l
KCkgZmluYWw7CiAgICAgdm9pZCBtZWRpYVBsYXllclJlbG9hZEFuZFJlc3VtZVBsYXliYWNrSWZO
ZWVkZWQoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCmlu
ZGV4IGIwZDE0ODNiYmVjODZhNzgyN2FmNjkxZDg0ZmY2YWQ3MjkyMGNhOTkuLjk0OGQxZDQxNzQ4
ZTlmYWQyOTIyY2FmNzBjZWI2NjhiNDg4ZTk5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VmlkZW9FbGVtZW50LmNwcApAQCAtNTg5LDYgKzU4OSw5IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVu
dDo6ZXhpdFRvRnVsbHNjcmVlbk1vZGVXaXRob3V0QW5pbWF0aW9uSWZQb3NzaWJsZShIVE1MTWVk
aWFFCiAKIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6OnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJh
Y2soUmVmPFZpZGVvRnJhbWVSZXF1ZXN0Q2FsbGJhY2s+JiYgY2FsbGJhY2spCiB7CisgICAgaWYg
KG1fdmlkZW9GcmFtZVJlcXVlc3RzLmlzRW1wdHkoKSAmJiBwbGF5ZXIoKSkKKyAgICAgICAgcGxh
eWVyKCktPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7CisKICAgICBhdXRvIGlk
ZW50aWZpZXIgPSArK21fbmV4dFZpZGVvRnJhbWVSZXF1ZXN0SW5kZXg7CiAgICAgbV92aWRlb0Zy
YW1lUmVxdWVzdHMuYXBwZW5kKG1ha2VVbmlxdWVSZWY8VmlkZW9GcmFtZVJlcXVlc3Q+KGlkZW50
aWZpZXIsIFdURk1vdmUoY2FsbGJhY2spKSk7CiAKQEAgLTYwOCw2ICs2MTEsOSBAQCB2b2lkIEhU
TUxWaWRlb0VsZW1lbnQ6OmNhbmNlbFZpZGVvRnJhbWVDYWxsYmFjayh1bnNpZ25lZCBpZGVudGlm
aWVyKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fdmlkZW9GcmFtZVJlcXVlc3RzLnJl
bW92ZShpbmRleCk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYm
IHBsYXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhl
cmluZygpOwogfQogCiBzdGF0aWMgdm9pZCBwcm9jZXNzVmlkZW9GcmFtZU1ldGFkYXRhVGltZXN0
YW1wcyhWaWRlb0ZyYW1lTWV0YWRhdGEmIG1ldGFkYXRhLCBQZXJmb3JtYW5jZSYgcGVyZm9ybWFu
Y2UpCkBAIC02NDAsMTMgKzY0NiwyMyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZpY2VS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZAogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjYWxsYmFja0NvdW50OyArK2luZGV4KSB7CiAg
ICAgICAgIGF1dG8mIHJlcXVlc3QgPSBtX3ZpZGVvRnJhbWVSZXF1ZXN0c1tpbmRleF07CiAgICAg
ICAgIGlmICghcmVxdWVzdC0+Y2FuY2VsbGVkKSB7Ci0gICAgICAgICAgICByZXF1ZXN0LT5jYWxs
YmFjay0+aGFuZGxlRXZlbnQobm93LnZhbHVlKCksICp2aWRlb0ZyYW1lTWV0YWRhdGEpOworICAg
ICAgICAgICAgcmVxdWVzdC0+Y2FsbGJhY2stPmhhbmRsZUV2ZW50KHN0ZDo6cm91bmQobm93Lm1p
bGxpc2Vjb25kcygpKSwgKnZpZGVvRnJhbWVNZXRhZGF0YSk7CiAgICAgICAgICAgICByZXF1ZXN0
LT5jYW5jZWxsZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQogICAgIG1faXNSdW5uaW5nVmlk
ZW9GcmFtZVJlcXVlc3RzID0gZmFsc2U7CiAKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1v
dmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgeyByZXR1cm4gY2FsbGJhY2stPmNhbmNl
bGxlZDsgfSk7CisKKyAgICBpZiAobV92aWRlb0ZyYW1lUmVxdWVzdHMuaXNFbXB0eSgpICYmIHBs
YXllcigpKQorICAgICAgICBwbGF5ZXIoKS0+c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpOworfQorCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZCgpCit7CisgICAgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVkKCk7
CisgICAgaWYgKCFtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcGxheWVyKCkpCisg
ICAgICAgIHBsYXllcigpLT5zdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCmluZGV4IDllYjhmNmU1Yjhj
N2FlMDBjNGU3NDE0OGM3OGQ4MzNkNjY3MDI4NTkuLjg1NmFkZWE3OGZiNzM5OGQ4ZmI0NWY0NDhh
MzU5MWJkYTU1Zjk3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBA
IC0xNDEsNiArMTQxLDggQEAgcHJpdmF0ZToKIAogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpN
ZWRpYVR5cGUgcHJlc2VudGF0aW9uVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpNZWRpYVR5cGU6OlZpZGVvOyB9CiAKKyAgICB2b2lkIG1lZGlhUGxheWVy
RW5naW5lVXBkYXRlZCgpIGZpbmFsOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEhUTUxJbWFnZUxv
YWRlcj4gbV9pbWFnZUxvYWRlcjsKIAogICAgIEF0b21TdHJpbmcgbV9kZWZhdWx0UG9zdGVyVVJM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9GcmFtZU1ldGFkYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAppbmRleCA4
ZmQ5YTQ3MDAyNDhkNGQyNzhkY2UyNzQ5NzgzNjBhNTdiYWY1OWVhLi45NGRkZjBlZjBmNjExMzVi
ZDliNjg5MDhiODExNTZmYmJiZGYyM2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
aWRlb0ZyYW1lTWV0YWRhdGEuaApAQCAtNDMsOCArNDMsNzMgQEAgc3RydWN0IFZpZGVvRnJhbWVN
ZXRhZGF0YSB7CiAgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGNhcHR1cmVUaW1lOwogICAgIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiByZWNlaXZlVGltZTsKICAgICBzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPiBydHBUaW1lc3RhbXA7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRhPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
IAordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2b2lkIFZpZGVvRnJhbWVNZXRhZGF0
YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBwcmVz
ZW50YXRpb25UaW1lIDw8IGV4cGVjdGVkRGlzcGxheVRpbWUgPDwgd2lkdGggPDwgaGVpZ2h0IDw8
IG1lZGlhVGltZSA8PCBwcmVzZW50ZWRGcmFtZXMgPDwgcHJvY2Vzc2luZ0R1cmF0aW9uIDw8IGNh
cHR1cmVUaW1lIDw8IHJlY2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
VmlkZW9GcmFtZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPGRvdWJsZT4gcHJlc2VudGF0aW9uVGltZTsKKyAgICBkZWNvZGVyID4+IHByZXNl
bnRhdGlvblRpbWU7CisgICAgaWYgKCFwcmVzZW50YXRpb25UaW1lKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisgICAgZGVjb2RlciA+PiBleHBlY3RlZERpc3BsYXlUaW1lOworICAgIGlmICghZXhw
ZWN0ZWREaXNwbGF5VGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoOworICAgIGRlY29kZXIgPj4gd2lkdGg7CisgICAg
aWYgKCF3aWR0aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IGhlaWdodDsKKyAgICBkZWNvZGVyID4+IGhlaWdodDsKKyAgICBpZiAo
IWhlaWdodCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9u
YWw8ZG91YmxlPiBtZWRpYVRpbWU7CisgICAgZGVjb2RlciA+PiBtZWRpYVRpbWU7CisgICAgaWYg
KCFtZWRpYVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBwcmVzZW50ZWRGcmFtZXM7CisgICAgZGVjb2RlciA+PiBwcmVzZW50
ZWRGcmFtZXM7CisgICAgaWYgKCFwcmVzZW50ZWRGcmFtZXMpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJv
Y2Vzc2luZ0R1cmF0aW9uOworICAgIGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGlmICghcHJvY2Vzc2luZ0R1cmF0aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRvdWJsZT4+IGNhcHR1cmVUaW1lOwor
ICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAgaWYgKCFjYXB0dXJlVGltZSkKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25h
bDxkb3VibGU+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2VpdmVUaW1lOworICAg
IGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1lc3RhbXA7CisgICAg
ZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3RhbXApCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9GcmFtZU1ldGFkYXRhIHsg
KnByZXNlbnRhdGlvblRpbWUsICpleHBlY3RlZERpc3BsYXlUaW1lLCAqd2lkdGgsICpoZWlnaHQs
ICptZWRpYVRpbWUsICpwcmVzZW50ZWRGcmFtZXMsICpwcm9jZXNzaW5nRHVyYXRpb24sICpjYXB0
dXJlVGltZSwgKnJlY2VpdmVUaW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCBhNDM2YTU1OGE3OTlhNjY2YTZlZjZhNGY1ZjM4MDk1NGQx
NzA2NTk2Li43NWQ0OTUzNGY0ZDFiNzlkYjZkZTcwZGJkODMwNmE3NDI3Y2Q0MjBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC01
OTAsNiArNTkwLDggQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdpbmUo
Y29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgICAgICAgICAgICAgIG1fcHJp
dmF0ZS0+c2V0UGFnZUlzVmlzaWJsZShtX3BhZ2VJc1Zpc2libGUpOwogICAgICAgICAgICAgaWYg
KG1fdmlzaWJsZUluVmlld3BvcnQpCiAgICAgICAgICAgICAgICAgbV9wcml2YXRlLT5zZXRWaXNp
YmxlSW5WaWV3cG9ydChtX3Zpc2libGVJblZpZXdwb3J0KTsKKyAgICAgICAgICAgIGlmIChtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICAgICAgICAgIG1fcHJpdmF0ZS0+
c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKICAgICAgICAgICAgIG1fcHJpdmF0
ZS0+cHJlcGFyZUZvclBsYXliYWNrKG1fcHJpdmF0ZUJyb3dzaW5nLCBtX3ByZWxvYWQsIG1fcHJl
c2VydmVzUGl0Y2gsIG1fc2hvdWxkUHJlcGFyZVRvUmVuZGVyKTsKICAgICAgICAgfQogICAgIH0K
QEAgLTE3MjEsNiArMTcyMywyNSBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVvRnJhbWVNZXRhZGF0YT4g
TWVkaWFQbGF5ZXI6OnZpZGVvRnJhbWVNZXRhZGF0YSgpCiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
dmlkZW9GcmFtZU1ldGFkYXRhKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0YXJ0VmlkZW9G
cmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1l
dGFkYXRhID0gdHJ1ZTsKKyAgICBtX3ByaXZhdGUtPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0
aGVyaW5nKCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXI6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFH
YXRoZXJpbmcoKQoreworICAgIG1faXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxz
ZTsKKyAgICBtX3ByaXZhdGUtPnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30K
KworI2lmIFBMQVRGT1JNKENPQ09BKQordm9pZCBNZWRpYVBsYXllcjo6b25OZXdWaWRlb0ZyYW1l
TWV0YWRhdGEoVmlkZW9GcmFtZU1ldGFkYXRhJiYgbWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVs
QnVmZmVyUmVmPiYmIGJ1ZmZlcikKK3sKKyAgICBjbGllbnQoKS5tZWRpYVBsYXllck9uTmV3Vmlk
ZW9GcmFtZU1ldGFkYXRhKFdURk1vdmUobWV0YWRhdGEpLCBXVEZNb3ZlKGJ1ZmZlcikpOworfQor
I2VuZGlmCisKIFN0cmluZyBNZWRpYVBsYXllcjo6ZWxlbWVudElkKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gY2xpZW50KCkubWVkaWFQbGF5ZXJFbGVtZW50SWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IDViMWUxNzQ1MTNlMDZmYTAx
ZDUxOTBiNTVlNTA1MzU1NWVmZDc2MzcuLjAwNDViNTRmNTA0ODIwMzNkNGY4ZjM0YzZjZDY1ZTNk
OTA5YTczMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMjg2LDYgKzI4NiwxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
bWVkaWFQbGF5ZXJRdWV1ZVRhc2tPbkV2ZW50TG9vcChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykg
eyBjYWxsT25NYWluVGhyZWFkKFdURk1vdmUodGFzaykpOyB9CiAKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShW
aWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpIHsgfQor
I2VuZGlmCisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICB2aXJ0dWFsIGNvbnN0IHZv
aWQqIG1lZGlhUGxheWVyTG9nSWRlbnRpZmllcigpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2
aXJ0dWFsIGNvbnN0IExvZ2dlciYgbWVkaWFQbGF5ZXJMb2dnZXIoKSA9IDA7CkBAIC01ODQsNiAr
NTg4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVRleHRUcmFjayhJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlJik7CiAgICAgdm9pZCByZW1vdmVWaWRlb1RyYWNrKFZpZGVvVHJhY2tQcml2YXRl
Jik7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIG9uTmV3VmlkZW9GcmFtZU1ldGFk
YXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmLCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJik7
CisjZW5kaWYKKwogICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbigpIGNv
bnN0OwogICAgIHZvaWQgc2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb24qKTsKICAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKQEAgLTY4MSw2ICs2
ODksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNNZWRpYUVuZ2luZSgpIGNvbnN0OwogCiAgICAg
c3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpOwor
ICAgIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKKyAgICB2b2lkIHN0
b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKIAogcHJpdmF0ZToKICAgICBNZWRpYVBs
YXllcihNZWRpYVBsYXllckNsaWVudCYpOwpAQCAtNzI1LDYgKzczNSw3IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpICYmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiAgICAgYm9vbCBtX3Nob3VsZENvbnRpbnVlQWZ0ZXJLZXlOZWVkZWQgeyBmYWxzZSB9Owog
I2VuZGlmCisgICAgYm9vbCBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2Ug
fTsKIH07CiAKIGNsYXNzIE1lZGlhUGxheWVyRmFjdG9yeSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGY1YTQw
YWJjOGE3OWE2Y2UwNjRiNzAyY2RkMGM5YTlhYTY2M2RkMzkuLmNmNDYzMTJjNTJhOTg3MmJjMDQ1
YWQxZDQyMmFmNDhiMTAwOGNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zMjMsNiArMzIzLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCBwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGlt
ZSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8VmlkZW9G
cmFtZU1ldGFkYXRhPiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSB7IHJldHVybiB7IH07IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpIHsgfQogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDU5ZWNhNDUxMzRmZTZmNDA1OTkwMmUyMWNlN2U3
ZTVhZGU4MGJmYTIuLjIwMGUxYThmOWFmYmEwZmNiYmE1YjBhM2VkNzA0Y2QzNDFiNDUwZDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoVklERU8p
ICYmIFVTRShBVkZPVU5EQVRJT04pCiAKICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uaCIKKyNpbmNsdWRlIDxDb3JlTWVkaWEvQ01UaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIApAQCAtMzQyLDYgKzM0Mywx
MSBAQCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1Rp
bWUmKSBmaW5hbDsKICAgICBib29sIGhhdmVCZWVuQXNrZWRUb1BhaW50KCkgY29uc3QgeyByZXR1
cm4gbV9oYXZlQmVlbkFza2VkVG9QYWludDsgfQogCisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVN
ZXRhZGF0YUdhdGhlcmluZygpIGZpbmFsOworICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0
YUdhdGhlcmluZygpIGZpbmFsOworICAgIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRh
PiB2aWRlb0ZyYW1lTWV0YWRhdGEoKSBmaW5hbCB7IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fdmlk
ZW9GcmFtZU1ldGFkYXRhLCB7IH0pOyB9CisgICAgdm9pZCBjaGVja05ld1ZpZGVvRnJhbWVNZXRh
ZGF0YShDTVRpbWUpOworCiAgICAgUmV0YWluUHRyPEFWVVJMQXNzZXQ+IG1fYXZBc3NldDsKICAg
ICBSZXRhaW5QdHI8QVZQbGF5ZXI+IG1fYXZQbGF5ZXI7CiAgICAgUmV0YWluUHRyPEFWUGxheWVy
SXRlbT4gbV9hdlBsYXllckl0ZW07CkBAIC00NTEsNiArNDU3LDEwIEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2hhdmVQcm9jZXNzZWRDaGFwdGVyVHJhY2tzIHsgZmFsc2UgfTsKICAgICBib29sIG1f
d2FpdEZvclZpZGVvT3V0cHV0TWVkaWFEYXRhV2lsbENoYW5nZVRpbWVkT3V0IHsgZmFsc2UgfTsK
ICAgICBib29sIG1faGF2ZUJlZW5Bc2tlZFRvUGFpbnQgeyBmYWxzZSB9OworICAgIHVpbnQ2NF90
IG1fc2FtcGxlQ291bnQgeyAwIH07CisgICAgUmV0YWluUHRyPGlkPiBtX3ZpZGVvRnJhbWVNZXRh
ZGF0YUdhdGhlcmluZ09ic2VydmVyOworICAgIGJvb2wgbV9pc0dhdGhlcmluZ1ZpZGVvRnJhbWVN
ZXRhZGF0YSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+
IG1fdmlkZW9GcmFtZU1ldGFkYXRhOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5k
ZXggNGQ4NjExM2JjYmU0NjllYzZlMDI1NzkxMDJkMTEwZWE5MzAxMDA5Ni4uZDE4YTg1YTc5NGY1
MjNmOTQ5MTJlMjdmMDhiN2NjYmU4OTNjOGVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBA
IC01MzYsNiArNTM2LDExIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y2FuY2VsTG9hZCgpCiAgICAgICAgICAgICBbbV9hdlBsYXllciByZW1vdmVUaW1lT2JzZXJ2
ZXI6bV9jdXJyZW50VGltZU9ic2VydmVyLmdldCgpXTsKICAgICAgICAgbV9jdXJyZW50VGltZU9i
c2VydmVyID0gbmlsOwogCisgICAgICAgIGlmIChtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
Z09ic2VydmVyKSB7CisgICAgICAgICAgICBbbV9hdlBsYXllciByZW1vdmVUaW1lT2JzZXJ2ZXI6
bV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlci5nZXQoKV07CisgICAgICAgICAg
ICBtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyID0gbmlsOworICAgICAgICB9
CisKICAgICAgICAgbV9hdlBsYXllciA9IG5pbDsKICAgICB9CiAKQEAgLTExMDgsNiArMTExMyw4
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZQbGF5
ZXIoKQogICAgICAgICB9KTsKICAgICB9XTsKIAorICAgIGlmIChtX2lzR2F0aGVyaW5nVmlkZW9G
cmFtZU1ldGFkYXRhKQorICAgICAgICBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygp
OwogICAgIHNldERlbGF5Q2FsbGJhY2tzKGZhbHNlKTsKIH0KIApAQCAtMTQzMyw2ICsxNDQwLDQ5
IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGxhdGZvcm1QYXVz
ZWQoKSBjb25zdAogICAgIHJldHVybiBtX2NhY2hlZFRpbWVDb250cm9sU3RhdHVzID09IEFWUGxh
eWVyVGltZUNvbnRyb2xTdGF0dXNQYXVzZWQ7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQzo6c3RhcnRWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQorewor
ICAgIEFTU0VSVCghbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciB8fCBtX2F2
UGxheWVyKTsKKyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKwor
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIGEgQ0FEaXNwbGF5TGluayB0byBnZXQgdXBkYXRl
cyBvbiByZW5kZXJpbmcsIGZvciBub3cgd2UgZW11bGF0ZSB3aXRoIGFkZFBlcmlvZGljVGltZU9i
c2VydmVyRm9ySW50ZXJ2YWwuCisgICAgbV92aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNl
cnZlciA9IFttX2F2UGxheWVyIGFkZFBlcmlvZGljVGltZU9ic2VydmVyRm9ySW50ZXJ2YWw6UEFM
OjpDTVRpbWVNYWtlKDEsIDYwKSBxdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpIHVzaW5n
QmxvY2s6W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH1dKENNVGltZSBjdXJyZW50VGltZSkg
eworICAgICAgICBlbnN1cmVPbk1haW5UaHJlYWQoW3dlYWtUaGlzLCBjdXJyZW50VGltZV0gewor
ICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5jaGVj
a05ld1ZpZGVvRnJhbWVNZXRhZGF0YShjdXJyZW50VGltZSk7CisgICAgICAgIH0pOworICAgIH1d
OworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNoZWNrTmV3
VmlkZW9GcmFtZU1ldGFkYXRhKENNVGltZSBjdXJyZW50VGltZSkKK3sKKyAgICBpZiAoIXVwZGF0
ZUxhc3RQaXhlbEJ1ZmZlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBWaWRlb0ZyYW1lTWV0
YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEud2lkdGggPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUud2lkdGgoKTsKKyAgICBtZXRhZGF0YS5oZWlnaHQgPSBtX2NhY2hlZFByZXNlbnRhdGlv
blNpemUuaGVpZ2h0KCk7CisgICAgbWV0YWRhdGEucHJlc2VudGVkRnJhbWVzID0gKyttX3NhbXBs
ZUNvdW50OworICAgIG1ldGFkYXRhLm1lZGlhVGltZSA9IFBBTDo6Q01UaW1lR2V0U2Vjb25kcyhj
dXJyZW50VGltZSk7CisgICAgLy8gRklYTUU6IHByZXNlbnRhdGlvblRpbWUgYW5kIGV4cGVjdGVk
RGlzcGxheVRpbWUgbWlnaHQgbm90IGFsd2F5cyBoYXZlIHRoZSBzYW1lIHZhbHVlLCB3ZSBzaG91
bGQgdHJ5IGdldHRpbmcgbW9yZSBwcmVjaXNlIHZhbHVlcy4KKyAgICBtZXRhZGF0YS5wcmVzZW50
YXRpb25UaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKS5zZWNv
bmRzKCk7CisgICAgbWV0YWRhdGEuZXhwZWN0ZWREaXNwbGF5VGltZSA9IG1ldGFkYXRhLnByZXNl
bnRhdGlvblRpbWU7CisKKyAgICBtX3ZpZGVvRnJhbWVNZXRhZGF0YSA9IG1ldGFkYXRhOworICAg
IHBsYXllcigpLT5vbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShXVEZNb3ZlKG1ldGFkYXRhKSwgbV9s
YXN0UGl4ZWxCdWZmZXIuZ2V0KCkpOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OnN0b3BWaWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIG1f
aXNHYXRoZXJpbmdWaWRlb0ZyYW1lTWV0YWRhdGEgPSBmYWxzZTsKKyAgICBtX3ZpZGVvRnJhbWVN
ZXRhZGF0YSA9IHsgfTsKKworICAgIGlmIChtX3ZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZ09i
c2VydmVyKSB7CisgICAgICAgIFttX2F2UGxheWVyIHJlbW92ZVRpbWVPYnNlcnZlcjptX3ZpZGVv
RnJhbWVNZXRhZGF0YUdhdGhlcmluZ09ic2VydmVyLmdldCgpXTsKKyAgICAgICAgbV92aWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmdPYnNlcnZlciA9IG5pbDsKKyAgICB9Cit9CisKIE1lZGlhVGlt
ZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUR1cmF0aW9uKCkg
Y29uc3QKIHsKICAgICAvLyBEbyBub3QgYXNrIHRoZSBhc3NldCBmb3IgZHVyYXRpb24gYmVmb3Jl
IGl0IGhhcyBiZWVuIGxvYWRlZCBvciBpdCB3aWxsIGZldGNoIHRoZQpAQCAtMjU0OCw3ICsyNTk4
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp1cGRhdGVMYXN0
SW1hZ2UoVXBkYXRlVHlwZSB0eXBlKQogICAgIC8vIENhbGxzIHRvIGNvcHlQaXhlbEJ1ZmZlckZv
ckl0ZW1UaW1lOml0ZW1UaW1lRm9yRGlzcGxheTogbWF5IHJldHVybiBuaWwgaWYgdGhlIHBpeGVs
IGJ1ZmZlcgogICAgIC8vIGZvciB0aGUgcmVxdWVzdGVkIHRpbWUgaGFzIGFscmVhZHkgYmVlbiBy
ZXRyaWV2ZWQuIEluIHRoaXMgY2FzZSwgdGhlIGxhc3QgdmFsaWQgaW1hZ2UgKGlmIGFueSkKICAg
ICAvLyBzaG91bGQgYmUgZGlzcGxheWVkLgotICAgIGlmICghdXBkYXRlTGFzdFBpeGVsQnVmZmVy
KCkgJiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCisgICAgaWYgKChtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHx8ICF1cGRhdGVMYXN0UGl4ZWxCdWZmZXIoKSkg
JiYgKG1fbGFzdEltYWdlIHx8ICFtX2xhc3RQaXhlbEJ1ZmZlcikpCiAgICAgICAgIHJldHVybjsK
IAogICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikgewpAQCAtMjU4Myw5ICsyNjMzLDgg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludFdpdGhWaWRl
b091dHB1dChHcmFwaGljc0NvbnRleHQmIGMKIAogUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBpeGVsQnVmZmVyRm9yQ3VycmVu
dFRpbWUoKQogewotICAgIHVwZGF0ZUxhc3RQaXhlbEJ1ZmZlcigpOwotICAgIGlmICghbV9sYXN0
UGl4ZWxCdWZmZXIpCi0gICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghbV9pc0dhdGhl
cmluZ1ZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICAgICAgdXBkYXRlTGFzdFBpeGVsQnVmZmVyKCk7
CiAKICAgICByZXR1cm4gbV9sYXN0UGl4ZWxCdWZmZXI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNWLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9QaXhlbEJ1ZmZlckNvbmZvcm1lckNW
LmgKaW5kZXggYzNjNTM3Y2UyN2MwNDg4YTU4OGM0ZDAxYjhkNTQwODg4ZGM3ZjQwNy4uY2M1Nzhj
NzliYjA3ZjQyOTZkNTk3Mjc4MGI2MDA5MjQ2MjAzYjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29uZm9ybWVy
Q1YuaApAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWIHsKIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWKENGRGljdGlv
bmFyeVJlZiBhdHRyaWJ1dGVzKTsKICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4gY29udmVydChDVlBpeGVsQnVmZmVyUmVmKTsKLSAgICBSZXRhaW5QdHI8Q0dJ
bWFnZVJlZj4gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZik7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlRnJvbVBp
eGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYpOwogCiBwcml2YXRlOgogICAgIFJldGFpblB0cjxW
VFBpeGVsQnVmZmVyQ29uZm9ybWVyUmVmPiBtX3BpeGVsQ29uZm9ybWVyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
Y3BwCmluZGV4IDU2NWI4YjI5M2FlY2RmNWU1MWZlNWUxMDE2YzViN2E3ZTczM2Q4YTkuLjg4MTA4
Y2JjNTMzYzEwYzc1ZTM3MGJmY2M4OTgwMGE1M2M2NzI5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAK
QEAgLTEwOTgsNiArMTA5OCwxOCBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBhdXNl
QXRIb3N0VGltZShNb25vdG9uaWNUaW1lIHRpbWUpCiAgICAgICAgIG1fcGxheWVyLT5wYXVzZUF0
SG9zdFRpbWUodGltZSk7CiB9CiAKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RhcnRW
aWRlb0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKQoreworICAgIGlmIChtX3BsYXllcikKKyAgICAg
ICAgbV9wbGF5ZXItPnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCk7Cit9CisKK3Zv
aWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmlu
ZygpCit7CisgICAgaWYgKG1fcGxheWVyKQorICAgICAgICBtX3BsYXllci0+c3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKTsKK30KKwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAog
V1RGTG9nQ2hhbm5lbCYgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bG9nQ2hhbm5lbCgpIGNvbnN0
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuaAppbmRleCAwZTlmM2Q3YTIxNDVkNzViOTQzZTJiNTZhMmQ4MGJiODA3
M2RmOWUxLi4zMmYzYTQ2YWEwZjA5YjEzYjAyNGU0MTY0MDc4YTVkYWRkZWRjNTRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmgKQEAgLTMwNyw2ICszMDcsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXlBdEhv
c3RUaW1lKE1vbm90b25pY1RpbWUpOwogICAgIHZvaWQgcGF1c2VBdEhvc3RUaW1lKE1vbm90b25p
Y1RpbWUpOwogCisgICAgdm9pZCBzdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOwor
ICAgIHZvaWQgc3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpOworI2lmIFBMQVRGT1JN
KENPQ09BKQorICAgIHZvaWQgbWVkaWFQbGF5ZXJPbk5ld1ZpZGVvRnJhbWVNZXRhZGF0YShXZWJD
b3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYp
OworI2VuZGlmCisKICAgICBib29sIG1lZGlhUGxheWVyUGF1c2VkT3JTdGFsbGVkKCkgY29uc3Q7
CiAgICAgdm9pZCBjdXJyZW50VGltZUNoYW5nZWQoY29uc3QgTWVkaWFUaW1lJik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclBy
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOGVjNjAzZmVjYzFmMThkODRjMTRkNDcz
ZWE1MWE4MTUxNDA3ZDEyMy4uMzljODcyOWIyNzM5ZTEzNjQ0YjMxYWE4MGRiYTgwZDRhMzMwYzhh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTEzMiw2ICsxMzIsOSBA
QCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5IE5vdFJlZkNvdW50ZWQgewogCiAg
ICAgUGxheUF0SG9zdFRpbWUoTW9ub3RvbmljVGltZSB0aW1lKQogICAgIFBhdXNlQXRIb3N0VGlt
ZShNb25vdG9uaWNUaW1lIHRpbWUpCisKKyAgICBTdGFydFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhl
cmluZygpCisgICAgU3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpCiB9CiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL2NvY29hL1JlbW90
ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9jb2NvYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Q29jb2EubW0KaW5kZXggMDhiMmZkZWY1YTRm
Y2IxOGFkZGJkMTZjMWZkNjA4NmMxYmU5YzI3Yy4uYzZiYmEzYWEyYjRlNTVmYWVmYjkzM2JiZTJl
NjM1OWQ3M2Y2MzE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L2NvY29hL1JlbW90ZU1lZGlhUGxheWVyUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvY29jb2EvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvY29hLm1tCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKICNpbXBv
cnQgIk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZU1lc3NhZ2VzLmgiCisjaW1wb3J0ICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9GbG9hdFNpemUuaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNlLmg+
CkBAIC04Myw2ICs4NCwxMSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFZpZGVv
SW5saW5lU2l6ZUZlbmNlZChjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmCiAgICAgc2V0VmlkZW9J
bmxpbmVTaXplSWZQb3NzaWJsZSgqbV9pbmxpbmVMYXllckhvc3RpbmdDb250ZXh0LCBzaXplKTsK
IH0KIAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck9uTmV3VmlkZW9G
cmFtZU1ldGFkYXRhKFZpZGVvRnJhbWVNZXRhZGF0YSYmIG1ldGFkYXRhLCBSZXRhaW5QdHI8Q1ZQ
aXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIpCit7CisgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpQdXNoVmlkZW9GcmFtZU1l
dGFkYXRhKG1ldGFkYXRhLCBidWZmZXIpLCBtX2lkKTsKK30KKwogdm9pZCBSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoc3RkOjpvcHRpb25hbDxXVEY6Ok1hY2hTZW5kUmlnaHQ+JiYsIFdlYkNvcmU6OkRlc3RpbmF0
aW9uQ29sb3JTcGFjZSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKCFtX3BsYXll
cikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5w
eSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggMzE5NmM1
Y2Y1ODZkMjRlMTA2YWYyYmFiMDFlY2I5NDJkZTFiNGYyZS4uZTliMmI0MjY0NjQwM2FlZWNkMjI4
Yjk3YTJmZmZmYzUwNTk5YTc3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5CkBAIC0zNzEsOCArMzcxLDkgQEAgZGVmIGNvbmRpdGlvbnNfZm9yX2hlYWRlcihoZWFk
ZXIpOgogICAgICAgICAnIkxheWVySG9zdGluZ0NvbnRleHQuaCInOiBbIlBMQVRGT1JNKENPQ09B
KSIsIF0sCiAgICAgICAgICciR2VzdHVyZVR5cGVzLmgiJzogWyJQTEFURk9STShJT1NfRkFNSUxZ
KSJdLAogICAgICAgICAnIldDTGF5ZXJUcmVlSG9zdElkZW50aWZpZXIuaCInOiBbIlVTRShHUkFQ
SElDU19MQVlFUl9XQykiXSwKLSAgICAgICAgJzxXZWJDb3JlL01lZGlhUGxheWJhY2tUYXJnZXRD
b250ZXh0Lmg+JzogWyJFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSJdLAorICAgICAg
ICAnPFdlYkNvcmUvQ1ZVdGlsaXRpZXMuaD4nOiBbIlBMQVRGT1JNKENPQ09BKSIsIF0sCiAgICAg
ICAgICc8V2ViQ29yZS9EYXRhRGV0ZWN0b3JUeXBlLmg+JzogWyJFTkFCTEUoREFUQV9ERVRFQ1RJ
T04pIl0sCisgICAgICAgICc8V2ViQ29yZS9NZWRpYVBsYXliYWNrVGFyZ2V0Q29udGV4dC5oPic6
IFsiRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkiXSwKICAgICB9CiAgICAgaWYgbm90
IGhlYWRlciBpbiBjb25kaXRpb25zOgogICAgICAgICByZXR1cm4gTm9uZQpAQCAtNjc5LDYgKzY4
MCw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgIGhlYWRlcl9pbmZvc19hbmRf
dHlwZXMgPSBjbGFzc190ZW1wbGF0ZV9oZWFkZXJzKHR5cGUpCiAKICAgICBzcGVjaWFsX2Nhc2Vz
ID0geworICAgICAgICAnQ1ZQaXhlbEJ1ZmZlclJlZic6IFsnPFdlYkNvcmUvQ1ZVdGlsaXRpZXMu
aD4nXSwKICAgICAgICAgJ0lQQzo6U2VtYXBob3JlJzogWyciSVBDU2VtYXBob3JlLmgiJ10sCiAg
ICAgICAgICdJbnNwZWN0b3I6OkV4dGVuc2lvbkVycm9yJzogWyciSW5zcGVjdG9yRXh0ZW5zaW9u
VHlwZXMuaCInXSwKICAgICAgICAgJ0luc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsOjpDb25uZWN0
aW9uVHlwZSc6IFsnPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPidd
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDYyYjExZGY1ZWFmYTYzNWRiZDM2
YzcxMGQ5ZDZkNWY2NWQ4YzM3YzYuLmNiOWFkNjFmMDFiOTg1ZjJkNmMwYzJlYTg1NWJlM2FiYzkx
ZmZkMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTgwLDYgKzgwLDcgQEAK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCisjaW1wb3J0IDxXZWJDb3JlL1BpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1YuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmlkZW9MYXllck1hbmFnZXJPYmpD
Lmg+CiAjZW5kaWYKIApAQCAtMTM3Nyw2ICsxMzc4LDI3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpwYXVzZUF0SG9zdFRpbWUoY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RkOjpvcHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9GcmFtZU1ldGFkYXRhKCkKK3sKKyAgICBhdXRv
IHZpZGVvRnJhbWVNZXRhZGF0YSA9IHN0ZDo6ZXhjaGFuZ2UobV92aWRlb0ZyYW1lTWV0YWRhdGEs
IHsgfSk7CisgICAgcmV0dXJuIHZpZGVvRnJhbWVNZXRhZGF0YTsKK30KKwordm9pZCBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OnN0YXJ0VmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sK
KyAgICBtX2lzR2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gdHJ1ZTsKKyAgICBjb25uZWN0
aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3RhcnRWaWRlb0Zy
YW1lTWV0YWRhdGFHYXRoZXJpbmcoKSwgbV9pZCk7Cit9CisKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpzdG9wVmlkZW9GcmFtZU1ldGFkYXRhR2F0aGVyaW5nKCkKK3sKKyAgICBtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhID0gZmFsc2U7CisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgbV9waXhlbEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YSA9IG51bGxw
dHI7CisjZW5kaWYKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6U3RvcFZpZGVvRnJhbWVNZXRhZGF0YUdhdGhlcmluZygpLCBtX2lkKTsKK30K
Kwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlcXVlc3RSZXNvdXJjZShSZW1vdGVN
ZWRpYVJlc291cmNlSWRlbnRpZmllciByZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllciwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJl
c291cmNlTG9hZGVyOjpMb2FkT3B0aW9ucyBvcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKCFtX21lZGlhUmVzb3VyY2Vz
LmNvbnRhaW5zKHJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZh
dGVSZW1vdGUuaAppbmRleCBiNWY1YjViYzFjNTJhMzk5YzkxYmM1MGNiYWRmNWZlYzlmNTU1YzQw
Li5hNTU5OWQ2MjUyMGRiMmM4N2QwMTFlYTJkMmFkNDgxNjNlNjkwMDEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlLmgKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJWaWRlb1RyYWNrUHJp
dmF0ZVJlbW90ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQbGF5ZXJQcml2YXRlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1ZpZGVvRnJhbWVNZXRhZGF0YS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNp
bmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAgLTU2
LDYgKzU3LDEwIEBAIHN0cnVjdCBHZW5lcmljQ3VlRGF0YTsKIGNsYXNzIElTT1dlYlZUVEN1ZTsK
IGNsYXNzIFNlcmlhbGl6ZWRQbGF0Zm9ybURhdGFDdWVWYWx1ZTsKIGNsYXNzIFZpZGVvTGF5ZXJN
YW5hZ2VyOworCisjaWYgUExBVEZPUk0oQ09DT0EpCitjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1l
ckNWOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDAwLDYgKzQwNSwxNCBA
QCBwcml2YXRlOgogICAgIGJvb2wgcGF1c2VBdEhvc3RUaW1lKGNvbnN0IE1vbm90b25pY1RpbWUm
KSBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZUNvbmZpZ3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJD
b25maWd1cmF0aW9uJiYpOwogCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpWaWRlb0ZyYW1l
TWV0YWRhdGE+IHZpZGVvRnJhbWVNZXRhZGF0YSgpIGZpbmFsOworICAgIHZvaWQgc3RhcnRWaWRl
b0ZyYW1lTWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKyAgICB2b2lkIHN0b3BWaWRlb0ZyYW1l
TWV0YWRhdGFHYXRoZXJpbmcoKSBmaW5hbDsKKworI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZv
aWQgcHVzaFZpZGVvRnJhbWVNZXRhZGF0YShXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEmJiwg
UmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+JiYpOworI2VuZGlmCisKICAgICBXZWFrUHRyPFdl
YkNvcmU6Ok1lZGlhUGxheWVyPiBtX3BsYXllcjsKICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVJlc291cmNlTG9hZGVyPiBtX21lZGlhUmVzb3VyY2VMb2FkZXI7CiAjaWYgUExBVEZPUk0o
Q09DT0EpCkBAIC00NTAsNiArNDYzLDEyIEBAIHByaXZhdGU6CiAjaWYgVVNFKEFWRk9VTkRBVElP
TikKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gbV9waXhlbEJ1ZmZlckZvckN1cnJl
bnRUaW1lOwogI2VuZGlmCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+IG1fcGl4ZWxCdWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGE7
CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y+IG1f
cGl4ZWxCdWZmZXJDb25mb3JtZXI7CisjZW5kaWYKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlZpZGVvRnJhbWVNZXRhZGF0YT4gbV92aWRlb0ZyYW1lTWV0YWRhdGE7CisgICAgYm9vbCBtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpp
bmRleCAxMThlMDI1YTY5YjNmYTQxZjU1OWU1YWEwYmY5OGQzNzkxYmU1ZGU0Li5hNjA2MDM5MGU5
MDU5MDg2ZGY0NTNmNzU2MWQ5ZjUxN2U2YjRhZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtOTEsNiArOTEsMTAgQEAgbWVzc2FnZXMgLT4gTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgewogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgR2V0UmF3Q29va2llcyhVUkwgdXJsKSAtPiAoVmVjdG9yPFdlYkNvcmU6OkNv
b2tpZT4gcmVzdWx0KSBBc3luYwogI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBQ
dXNoVmlkZW9GcmFtZU1ldGFkYXRhKHN0cnVjdCBXZWJDb3JlOjpWaWRlb0ZyYW1lTWV0YWRhdGEg
bWV0YWRhdGEsIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBidWZmZXIpOworI2VuZGlmCiB9
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvY29jb2EvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlQ29jb2Eu
bW0KaW5kZXggYTJmODM1MmZiMjBmYmIyYTBkNjJmYWVjNTliMmY0YTgyNjU0YmJmZi4uYzBiNzc2
ZGM3NzNiMTdmYTQzMGNkNTg5NjhiMDA3YjMxYmQ3NmE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9jb2NvYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGVD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2NvY29hL01l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUNvY29hLm1tCkBAIC0zMyw5ICszMywxMiBAQAogI2ltcG9y
dCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yU3BhY2VD
Ry5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGl4
ZWxCdWZmZXJDb25mb3JtZXJDVi5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3Jl
U1BJLmg+CiAjaW1wb3J0IDx3dGYvTWFjaFNlbmRSaWdodC5oPgogCisjaW1wb3J0IDxXZWJDb3Jl
L0NvcmVWaWRlb1NvZnRMaW5rLmg+CisKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKQEAgLTQ2LDggKzQ5LDI1IEBAIFBsYXRmb3JtTGF5ZXJDb250YWluZXIg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjcmVhdGVWaWRlb0Z1bGxzY3JlZW5MYXllcigpCiB9
CiAjZW5kaWYKIAordm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnB1c2hWaWRlb0ZyYW1l
TWV0YWRhdGEoV2ViQ29yZTo6VmlkZW9GcmFtZU1ldGFkYXRhJiYgdmlkZW9GcmFtZU1ldGFkYXRh
LCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4mJiBidWZmZXIpCit7CisgICAgaWYgKCFtX2lz
R2F0aGVyaW5nVmlkZW9GcmFtZU1ldGFkYXRhKQorICAgICAgICByZXR1cm47CisgICAgbV92aWRl
b0ZyYW1lTWV0YWRhdGEgPSBXVEZNb3ZlKHZpZGVvRnJhbWVNZXRhZGF0YSk7CisgICAgbV9waXhl
bEJ1ZmZlckdhdGhlcmVkV2l0aFZpZGVvRnJhbWVNZXRhZGF0YSA9IFdURk1vdmUoYnVmZmVyKTsK
K30KKwogUmVmUHRyPE5hdGl2ZUltYWdlPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om5hdGl2
ZUltYWdlRm9yQ3VycmVudFRpbWUoKQogeworICAgIGlmIChtX3BpeGVsQnVmZmVyR2F0aGVyZWRX
aXRoVmlkZW9GcmFtZU1ldGFkYXRhKSB7CisgICAgICAgIGlmICghbV9waXhlbEJ1ZmZlckNvbmZv
cm1lcikKKyAgICAgICAgICAgIG1fcGl4ZWxCdWZmZXJDb25mb3JtZXIgPSBtYWtlVW5pcXVlPFBp
eGVsQnVmZmVyQ29uZm9ybWVyQ1Y+KChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpQHsgKF9fYnJp
ZGdlIE5TU3RyaW5nICopa0NWUGl4ZWxCdWZmZXJQaXhlbEZvcm1hdFR5cGVLZXk6IEAoa0NWUGl4
ZWxGb3JtYXRUeXBlXzMyQkdSQSkgfSk7CisgICAgICAgIEFTU0VSVChtX3BpeGVsQnVmZmVyQ29u
Zm9ybWVyKTsKKyAgICAgICAgaWYgKCFtX3BpeGVsQnVmZmVyQ29uZm9ybWVyKQorICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBOYXRpdmVJbWFnZTo6Y3JlYXRlKG1f
cGl4ZWxCdWZmZXJDb25mb3JtZXItPmNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKG1fcGl4ZWxC
dWZmZXJHYXRoZXJlZFdpdGhWaWRlb0ZyYW1lTWV0YWRhdGEuZ2V0KCkpKTsKKyAgICB9CisKICAg
ICBzdGQ6Om9wdGlvbmFsPE1hY2hTZW5kUmlnaHQ+IHNlbmRSaWdodDsKICAgICBhdXRvIGNvbG9y
U3BhY2UgPSBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKTsKICAgICBpZiAoIWNvbm5lY3Rp
b24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6TmF0aXZlSW1h
Z2VGb3JDdXJyZW50VGltZSgpLCBNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6TmF0
aXZlSW1hZ2VGb3JDdXJyZW50VGltZTo6UmVwbHkoc2VuZFJpZ2h0LCBjb2xvclNwYWNlKSwgbV9p
ZCkpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
MmNmYjliYTAwYTA3Y2EyZTdlYjUyYjU4NWRmYTcyMWYwYTRjZGUzZC4uYzA5YzJkYjI1NmRjNzZl
MmNhMzZiNDdmMjk3MTM1MTI0NzdiNDdiZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTE3ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVBsYXllckFWRm91bmRh
dGlvbiBzaG91bGQgc3VwcG9ydCBydmZjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzE5NDUKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxz
b24uCisKKyAgICAgICAgRW5hYmxlIHJ2ZmMgYnkgZGVmYXVsdCBpbiB0ZXN0IHJ1bm5lci4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKwogMjAyMS0xMS0xNyAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxl
bWVudCBtb3N0IG9mIHJlZGlyZWN0IGFuZCBtb2RpZnktaGVhZGVycyBhY3Rpb24gdHlwZXMKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA1ZDIwMTA1NDFl
MWI0NGIxNzRjMmUxY2RlNTI0NDEyNjkyNDU1YjBmLi5mMzM5YTQzMzNjMGE5MGY1YTRkZTNlZTZm
N2M3MDg2ZTc2MDE4ZmM1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCkBAIC04NjMsMTEgKzg2Myw4IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVuY2Vz
Rm9yVGVzdE9wdGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2VzLCBjb25zdCBXCiAgICAg
ICAgIFtwcmVmZXJlbmNlcyBfcmVzZXRGb3JUZXN0aW5nXTsKIAogICAgICAgICBpZiAoZW5hYmxl
QWxsRXhwZXJpbWVudGFsRmVhdHVyZXMpIHsKLSAgICAgICAgICAgIGZvciAoV2ViRmVhdHVyZSAq
ZmVhdHVyZSBpbiBbV2ViUHJlZmVyZW5jZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVzXSkgewotICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBkaXNhYmxlIHJ2ZmMgYnkgZGVmYXVsdC4gRW5hYmxl
IGl0IHdoZW4gdGhlIHZpZGVvIGJhY2tlbmQgc3VwcG9ydCBpcyBnb29kIGVub3VnaC4KLSAgICAg
ICAgICAgICAgICBhdXRvIGVuYWJsZWQgPSBbZmVhdHVyZS5uYW1lIGlzRXF1YWw6QCJSZXF1ZXN0
VmlkZW9GcmFtZUNhbGxiYWNrIl0gPyBOTyA6IFlFUzsKLSAgICAgICAgICAgICAgICBbcHJlZmVy
ZW5jZXMgX3NldEVuYWJsZWQ6ZW5hYmxlZCBmb3JGZWF0dXJlOmZlYXR1cmVdOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZm9yIChXZWJGZWF0dXJlICpmZWF0dXJlIGluIFtXZWJQcmVmZXJl
bmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZXNdKQorICAgICAgICAgICAgICAgIFtwcmVmZXJlbmNl
cyBfc2V0RW5hYmxlZDpZRVMgZm9yRmVhdHVyZTpmZWF0dXJlXTsKICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpKSB7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGIwOTBiYmQzMWZmNDg2ZDE5ZDM3
OWFjNDA4MjhkZjNlZGQwYjJkZjYuLmVkMjgwMmZiMWU3NjZkYzVkZTY3YzQ0ZDE1NzY2MTYzMmMz
OTMxYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC05
MDUsOSArOTA1LDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29u
c2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW8KICAgICAgICAgaWYgKGVuYWJs
ZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKQogICAgICAgICAgICAgV0tQcmVmZXJlbmNlc0VuYWJs
ZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzKHByZWZlcmVuY2VzKTsKIAotICAgICAgICAvLyBGSVhN
RTogV2UgZGlzYWJsZSBydmZjIGJ5IGRlZmF1bHQuIEVuYWJsZSBpdCB3aGVuIHRoZSB2aWRlbyBi
YWNrZW5kIHN1cHBvcnQgaXMgZ29vZCBlbm91Z2guCi0gICAgICAgIFdLUHJlZmVyZW5jZXNTZXRS
ZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwotCiAg
ICAgICAgIFdLUHJlZmVyZW5jZXNSZXNldEFsbEludGVybmFsRGVidWdGZWF0dXJlcyhwcmVmZXJl
bmNlcyk7CiAKICAgICAgICAgV0tQcmVmZXJlbmNlc1NldFByb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
RW5hYmxlZChwcmVmZXJlbmNlcywgb3B0aW9ucy5zaG91bGRFbmFibGVQcm9jZXNzU3dhcE9uTmF2
aWdhdGlvbigpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA3ZTVmODVmZTUxYTJmNWFiNjM1NjI1ZmUyNzgyYmEwYWM1YjE3
YWJhLi40ZGU2YmVjZjI5MWNmNGRjYjAwNGYyNWE0NjM2NzY4ZjA1MGEzMDdhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMTcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk0NQor
CisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBVbnNraXBwZWQg
c29tZSB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTExLTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
bW9yZSBydmZjIG1ldGFkYXRhCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBkNWQ0
YmU5ZDc5NGFkMDRmOTQxNzM4MGRjZDVjODg1NTNjOTU3MWNjLi5jNWZjYTNiYzBhMGE0NGFhNjUx
NmM2MDQ4OGVmZDNhZmFmMDBkZTg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMiBAQAorMjAyMS0xMS0xNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgTWVkaWFQbGF5ZXJBVkZvdW5kYXRpb24gc2hvdWxkIHN1cHBvcnQgcnZm
YworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTQ1
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NDY1NzM3Mj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIENhcmxzb24uCisKKyAgICAgICAgVHJhbnNmb3JtaW5nIHRlc3RzIGZyb20gYXN5bmMg
dG8gcHJvbWlzZSBiYXNlZCBzbyB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIHZpZGVvIHBsYXlpbmcg
YXQgYSB0aW1lLCB0byBtYWtlIGl0IHdvcmsgc21vb3RobHkgaW4gaU9TLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1kb20tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1w
YXJhbGxlbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1s
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbDoKKwogMjAyMS0x
MS0xNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIG1vcmUgcnZmYyBtZXRhZGF0YQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJh
bWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LWRvbS1leHBlY3RlZC50eHQKaW5kZXggNjYzOWQ0ZjI4ODVlMWY5NzY0OGQ1MDU0NzcwZWFmZWI0
MzJkYzUwZC4uN2U1YzQ4NjIwNDUzNDc5NDM5NDFiY2NjNWQ0YmVlNzY2MjFhNjIxZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20tZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBA
QAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBU
ZXN0IGEgdmlkZW8gb3V0c2lkZSBvZiB0aGUgRE9NIGNhbiBzdGlsbCB1c2UgdmlkZW8uclZGQy4g
VGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB2aWRlby5yVkZDIHdvcmtzIHdpdGggImRpc3Bs
YXk6bm9uZSIuIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIFRlc3QgdmlkZW8uclZGQyB3b3JrcyB3
aXRoICJ2aXNpYmlsaXR5OmhpZGRlbiIuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgYSB2aWRl
byBvdXRzaWRlIG9mIHRoZSBET00gY2FuIHN0aWxsIHVzZSB2aWRlby5yVkZDLgorUEFTUyBUZXN0
IHZpZGVvLnJWRkMgd29ya3Mgd2l0aCAiZGlzcGxheTpub25lIi4KK1BBU1MgVGVzdCB2aWRlby5y
VkZDIHdvcmtzIHdpdGggInZpc2liaWxpdHk6aGlkZGVuIi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay1kb20uaHRtbAppbmRleCAwMjc3ZDcyOTc4ODNjNGNkNGY0NzJiMDhjNDM5OTgwNjI4MGZlOGVi
Li5jMTgwNGI0ZWRkMGM5ODZhYTE2MWRmYzEzMTc5OTgzYzA0YWNlNDA0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVx
dWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kb20uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay1kb20uaHRtbApAQCAtMTMsMTcgKzEzLDI0IEBAIHZhciB0ZXN0VmlkZW8gPSB7
CiAgIHdpZHRoOiAzMjAsCiB9CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90
ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAgICBjb25zdCBwcm9taXNl
ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisKICAgICBsZXQgdmlk
ZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogCi0gICAgdmlkZW8ucmVxdWVz
dFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKCkpOworICAgIHZpZGVvLnJlcXVl
c3RWaWRlb0ZyYW1lQ2FsbGJhY2soZG9uZSk7CiAgICAgdmlkZW8uc3JjID0gdGVzdFZpZGVvLnVy
bDsKLSAgICB2aWRlby5wbGF5KCk7CisgICAgYXdhaXQgdmlkZW8ucGxheSgpOwogCisgICAgcmV0
dXJuIHByb21pc2U7CiB9LCAnVGVzdCBhIHZpZGVvIG91dHNpZGUgb2YgdGhlIERPTSBjYW4gc3Rp
bGwgdXNlIHZpZGVvLnJWRkMuJyk7CiAKIGZ1bmN0aW9uIHJ2ZmNTdHlsZVRlc3QoYXBwbHlTdHls
ZSwgZGVzY3JpcHRpb24pIHsKLSAgICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBwcm9t
aXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAgICAgbGV0IGRvbmU7CisgICAgICBjb25z
dCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisKICAg
ICAgIGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKICAgICAgIGFwcGx5U3R5bGUodmlkZW8p
OwpAQCAtMzEsMTIgKzM4LDE0IEBAIGZ1bmN0aW9uIHJ2ZmNTdHlsZVRlc3QoYXBwbHlTdHlsZSwg
ZGVzY3JpcHRpb24pIHsKICAgICAgIHZpZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soCiAg
ICAgICAgIHQuc3RlcF9mdW5jKCBfID0+IHsKICAgICAgICAgICAvLyBNYWtlIHN1cmUgd2UgY2Fu
IHJlY2VpdmUgbW9yZSB0aGFuIG9uZSBjYWxsYmFjay4KLSAgICAgICAgICB2aWRlby5yZXF1ZXN0
VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jX2RvbmUoKSk7CisgICAgICAgICAgdmlkZW8u
cmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhkb25lKTsKICAgICAgICAgfSkKICAgICAgICk7CiAK
ICAgICAgIHZpZGVvLnNyYyA9IHRlc3RWaWRlby51cmw7Ci0gICAgICB2aWRlby5wbGF5KCk7Cisg
ICAgICBhd2FpdCB2aWRlby5wbGF5KCk7CisKKyAgICAgIHJldHVybiBwcm9taXNlOwogICAgIH0s
IGRlc2NyaXB0aW9uKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJh
Y2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZXhwZWN0ZWQudHh0
CmluZGV4IGNhN2NiM2U5NGNkZmIyNTI1OGI5ZDk5YjRmNGQ0N2VkYTBlNzcyMTYuLmNkNzk2MTIw
NTUxNzE2OGI1NDNiZjU5YmJlMGZhZTI2OWZlMGJkMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVv
LWZyYW1lLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxs
YmFjay1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsOCBAQAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIFRlc3Qgd2UgY2FuIHJlZ2lzdGVyIGEg
dmlkZW8uclZGQyBjYWxsYmFjay4gVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB2aWRlby5y
VkZDIGNhbGxiYWNrcyBydW4gYmVmb3JlIHdpbmRvdy5yQUYgY2FsbGJhY2tzLiBUZXN0IHRpbWVk
IG91dAotVElNRU9VVCBUZXN0IHdlIGNhbiBjYW5jZWwgYSB2aWRlby5yVkZDIHJlcXVlc3QuIFRl
c3QgdGltZWQgb3V0CitQQVNTIFRlc3Qgd2UgY2FuIHJlZ2lzdGVyIGEgdmlkZW8uclZGQyBjYWxs
YmFjay4KK1BBU1MgVGVzdCB2aWRlby5yVkZDIGNhbGxiYWNrcyBydW4gYmVmb3JlIHdpbmRvdy5y
QUYgY2FsbGJhY2tzLgorUEFTUyBUZXN0IHdlIGNhbiBjYW5jZWwgYSB2aWRlby5yVkZDIHJlcXVl
c3QuCiBQQVNTIFRlc3QgaW52YWxpZCBjYWxscyB0byB0aGUgdmlkZW8uclZGQyBBUEkuCi1USU1F
T1VUIFRlc3QgdmlkZW8uclZGQyBkb2VzIG5vdCBzdG9wIHdoZW4gc3dpdGNoaW5nIHNvdXJjZXMu
IFRlc3QgdGltZWQgb3V0CitQQVNTIFRlc3QgdmlkZW8uclZGQyBkb2VzIG5vdCBzdG9wIHdoZW4g
c3dpdGNoaW5nIHNvdXJjZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxi
YWNrLXBhcmFsbGVsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBh
cmFsbGVsLWV4cGVjdGVkLnR4dAppbmRleCA2ZmU2ODRhZThlNjZkYWI4Y2NlNjhkMjI3NTM1OTVh
ODQ0OGM2YjkwLi4zMmI5OWFlZDU0NTdkZmExYmYyYTkxNjMzMWQyNmYxZWQ5ZDliNWQwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVv
LXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxlbC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1y
dmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwtZXhwZWN0ZWQudHh0CkBA
IC0xLDcgKzEsNSBAQAogCiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVs
bAotCi1USU1FT1VUIFRlc3QgY2FsbGJhY2tzIGdldCB0aGUgc2FtZSBpbmZvcm1hdGlvbi4gVGVz
dCB0aW1lZCBvdXQKLVRJTUVPVVQgVGVzdCB3ZSBjYW4gY2FuY2VsIGNhbGxiYWNrcyBmcm9tIGNh
bGxiYWNrcy4gVGVzdCB0aW1lZCBvdXQKK1BBU1MgVGVzdCBjYWxsYmFja3MgZ2V0IHRoZSBzYW1l
IGluZm9ybWF0aW9uLgorUEFTUyBUZXN0IHdlIGNhbiBjYW5jZWwgY2FsbGJhY2tzIGZyb20gY2Fs
bGJhY2tzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1wYXJhbGxl
bC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRl
by1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stcGFyYWxsZWwuaHRtbAppbmRleCAx
NGM1ZGUxYWRmNTViYTAwMTZhYjk5ODU3NzZjNTY4ZTQ5ZjU5NTZkLi42ODJmZDBhYzhmNmEyMjAw
NmUwMTVjMmY5YjYyMWRhODRmZTUzZTA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1wYXJhbGxlbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBh
cmFsbGVsLmh0bWwKQEAgLTcsNyArNywxMCBAQAogPHNjcmlwdCBzcmM9Ii9jb21tb24vbWVkaWEu
anMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9t
aXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAgIGxldCBkb25lOworICAgIGNvbnN0IHBy
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAgIGxl
dCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAKQEAgLTE5LDE3ICsyMiwyMiBAQCBhc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKICAgICAgIGZpcnN0TWV0YWRhdGEgPSBtZXRhZGF0YTsKICAgICB9KSk7
CiAKLSAgICB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jX2RvbmUo
KHRpbWUsIG1ldGFkYXRhKSA9PiB7CisgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFj
ayh0LnN0ZXBfZnVuYygodGltZSwgbWV0YWRhdGEpID0+IHsKICAgICAgIGFzc2VydF9lcXVhbHMo
Zmlyc3RUaW1lLCB0aW1lKTsKICAgICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKGZpcnN0TWV0YWRh
dGEsIG1ldGFkYXRhKTsKKyAgICAgIGRvbmUoKTsKICAgICB9KSk7CiAKICAgICB2aWRlby5zcmMg
PSBnZXRWaWRlb1VSSSgnL21lZGlhL21vdmllXzUnKTsKICAgICB2aWRlby5wbGF5KCk7CiAKKyAg
ICByZXR1cm4gcHJvbWlzZTsKIH0sICdUZXN0IGNhbGxiYWNrcyBnZXQgdGhlIHNhbWUgaW5mb3Jt
YXRpb24uJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGFzeW5j
IGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7CisKICAgICBsZXQgdmlkZW8gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQodmlkZW8pOwogCkBAIC00NiwxMiArNTQsMTIgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7
CiAgICAgKTsKIAogICAgIC8vIE5PVEU6IFRoaXMgY2FsbGJhY2sgc2hvdWxkIGJlIGV4ZWN1dGVk
IGxhc3QuCi0gICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjaygKLSAgICAgIHQuc3Rl
cF9mdW5jX2RvbmUoKQotICAgICk7CisgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFj
ayhkb25lKTsKIAogICAgIHZpZGVvLnNyYyA9IGdldFZpZGVvVVJJKCcvbWVkaWEvbW92aWVfNScp
OwogICAgIHZpZGVvLnBsYXkoKTsKKworICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3Qgd2Ug
Y2FuIGNhbmNlbCBjYWxsYmFja3MgZnJvbSBjYWxsYmFja3MuJyk7CiA8L3NjcmlwdD4KIDwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Zp
ZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmctZXhwZWN0ZWQu
dHh0CmluZGV4IGI0YTViZTNkZDI1MTJiODVjMzg1NTViOGYzY2U3MDM2NzhlZDRkZmQuLjJjMWI1
NGZjMGE2NDNlNmNiZTE4YjA1MGIzNjg5MjQxY2Q3MjRhMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qtdmlk
ZW8tZnJhbWUtY2FsbGJhY2stcmVwZWF0aW5nLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAK
IAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBU
ZXN0IG5ldyBjYWxsYmFja3MgYXJlIG9ubHkgY2FsbGVkIG9uIHRoZSBuZXh0IGZyYW1lLiBUZXN0
IHRpbWVkIG91dAotVElNRU9VVCBUZXN0IGNoYWluaW5nIGNhbGxzIHRvIHZpZGVvLnJWRkMsIGFu
ZCB2ZXJpZnkgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMuIFRlc3QgdGltZWQgb3V0CitQQVNTIFRl
c3QgbmV3IGNhbGxiYWNrcyBhcmUgb25seSBjYWxsZWQgb24gdGhlIG5leHQgZnJhbWUuCitQQVNT
IFRlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywgYW5kIHZlcmlmeSB0aGUgcmVxdWly
ZWQgcGFyYW1ldGVycy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2st
cmVwZWF0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRt
bAppbmRleCBlNjM3YTA4NzJjYjBkMGMxNTFlMGE4MGE2YTU2OTQ0OWZkMjIyYTFiLi4zOGU0YWJh
ZmQ0YWZlOTYzMjMyZWM3NDI3YWZhNWNiZDU3YmM3MzRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay1yZXBlYXRpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1j
YWxsYmFjay1yZXBlYXRpbmcuaHRtbApAQCAtNyw3ICs3LDEwIEBACiA8c2NyaXB0IHNyYz0iL2Nv
bW1vbi9tZWRpYS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi1hc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7CisgICAgbGV0IGRvbmU7Cisg
ICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29sdmUp
OworCiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIApAQCAtMjQsMTggKzI3LDIzIEBA
IGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogCiAgICAgICAvLyBRdWV1ZSB1cCBhIHNlY29uZCBj
YWxsYmFjaywgYW5kIG1ha2Ugc3VyZSBpdCdzIGNhbGxlZCBhdCB0aGUgc2FtZSB0aW1lCiAgICAg
ICAvLyBhcyB0aGUgb25lIHdlIGp1c3QgcXVldWVkIHVwLgotICAgICAgdmlkZW8ucmVxdWVzdFZp
ZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuY19kb25lKCh0aW1lKSA9PiB7CisgICAgICB2aWRl
by5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKHQuc3RlcF9mdW5jKCh0aW1lKSA9PiB7CiAgICAg
ICAgIGFzc2VydF9lcXVhbHModGltZSwgc2Vjb25kVGltZSwgIkNhbGxiYWNrcyBxdWV1ZWQgdG9n
ZXRoZXIgc2hvdWxkIGJlIGNhbGxlZCBhdCB0aGUgc2FtZSB0aW1lIik7CisgICAgICAgIGRvbmUo
KTsKICAgICAgIH0pKQogCiAgICAgfSkpOwogCiAgICAgdmlkZW8uc3JjID0gZ2V0VmlkZW9VUkko
Jy9tZWRpYS9tb3ZpZV81Jyk7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZpZGVvLnBs
YXkoKTsKIAorICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3QgbmV3IGNhbGxiYWNrcyBhcmUg
b25seSBjYWxsZWQgb24gdGhlIG5leHQgZnJhbWUuJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBsZXQgZG9uZTsKKyAg
ICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBkb25lID0gcmVzb2x2ZSk7
CisKICAgICBsZXQgdmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpOwogICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlkZW8pOwogCkBAIC02NCw3ICs3Miw3IEBAIGFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgbGFzdE1ldGFkYXRhID0gbWV0YWRhdGE7CiAK
ICAgICAgIGlmICgrK2N1cnJlbnRDYWxsTnVtYmVyID4gbWF4TnVtYmVyT2ZDYWxscykgewotICAg
ICAgICB0LmRvbmUoKQorICAgICAgICBkb25lKCkKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIHZp
ZGVvLnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2sodC5zdGVwX2Z1bmMocmVwZWF0aW5nQ2FsbGJh
Y2spKTsKICAgICAgIH0KQEAgLTczLDggKzgxLDkgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7
CiAgICAgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayh0LnN0ZXBfZnVuYyhyZXBlYXRp
bmdDYWxsYmFjaykpOwogCiAgICAgdmlkZW8uc3JjID0gZ2V0VmlkZW9VUkkoJy9tZWRpYS9tb3Zp
ZV81Jyk7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsKIAorICAg
IHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3QgY2hhaW5pbmcgY2FsbHMgdG8gdmlkZW8uclZGQywg
YW5kIHZlcmlmeSB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy4nKTsKIDwvc2NyaXB0PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLmh0bWwKaW5kZXggYTQ0MDQxNDNmYTQwOGViYmI4ZjQ5Y2MzMTgw
ZTA2NWQyMDBmZmE0YS4uMjU2MjE2ZThmYzA5ODQ4MmJhZjI2N2Q5NWZjNWYyY2VjYTQzMGM1MyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92
aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12
aWRlby1mcmFtZS1jYWxsYmFjay5odG1sCkBAIC0xOCwyNiArMTgsMzQgQEAgdmFyIGFsdFRlc3RW
aWRlbyA9IHsKICAgd2lkdGg6IDMyMCwKIH0KIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citw
cm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgeworICAgIGxldCBkb25lOworICAgIGNvbnN0
IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAg
IGxldCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZCh2aWRlbyk7CiAKICAgICBsZXQgaWQgPSB2aWRlby5yZXF1ZXN0
VmlkZW9GcmFtZUNhbGxiYWNrKAotICAgICAgdC5zdGVwX2Z1bmNfZG9uZSgodGltZSwgbWV0YWRh
dGEpID0+IHsKKyAgICAgIHQuc3RlcF9mdW5jKCh0aW1lLCBtZXRhZGF0YSkgPT4gewogICAgICAg
ICBhc3NlcnRfdHJ1ZSh0aW1lID4gMCk7CiAgICAgICAgIGFzc2VydF9lcXVhbHMobWV0YWRhdGEu
aGVpZ2h0LCB0ZXN0VmlkZW8uaGVpZ2h0KTsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXRhZGF0
YS53aWR0aCwgdGVzdFZpZGVvLndpZHRoKTsKKyAgICAgICAgZG9uZSgpOwogICAgICAgfSkKICAg
ICApOwogCiAgICAgYXNzZXJ0X3RydWUoaWQgPiAwKTsKIAogICAgIHZpZGVvLnNyYyA9IHRlc3RW
aWRlby51cmw7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsKIAor
ICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3Qgd2UgY2FuIHJlZ2lzdGVyIGEgdmlkZW8uclZG
QyBjYWxsYmFjay4nKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3Qo
YXN5bmMgZnVuY3Rpb24odCkgeworICAgIGxldCBkb25lOworICAgIGNvbnN0IHByb21pc2UgPSBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKKwogICAgIGxldCB2aWRlbyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZCh2aWRlbyk7CiAKQEAgLTQ1LDE5ICs1MywyNCBAQCBhc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKICAgICAgIHQuc3RlcF9mdW5jKHZpZGVvX25vdyA9PiB7CiAgICAgICAgIC8vIFF1ZXVl
IGEgY2FsbCB0byB3aW5kb3cuckFGLCBhbmQgbWFrZSBzdXJlIGl0IGlzIGV4ZWN1dGVkIHdpdGhp
biB0aGUKICAgICAgICAgLy8gc2FtZSB0dXJuIG9mIHRoZSBldmVudCBsb29wICh3aXRoIHRoZSBz
YW1lICd0aW1lJyBwYXJhbWV0ZXIpLgotICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCB0LnN0ZXBfZnVuY19kb25lKCB3aW5kb3dfbm93ID0+IHsKKyAgICAgICAgd2luZG93LnJl
cXVlc3RBbmltYXRpb25GcmFtZSggdC5zdGVwX2Z1bmMoIHdpbmRvd19ub3cgPT4gewogICAgICAg
ICAgIGFzc2VydF9lcXVhbHModmlkZW9fbm93LCB3aW5kb3dfbm93KTsKKyAgICAgICAgICBkb25l
KCk7CiAgICAgICAgIH0pKTsKICAgICAgIH0pCiAgICAgKTsKIAogICAgIHZpZGVvLnNyYyA9IHRl
c3RWaWRlby51cmw7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0IHZpZGVvLnBsYXkoKTsK
IAorICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3QgdmlkZW8uclZGQyBjYWxsYmFja3MgcnVu
IGJlZm9yZSB3aW5kb3cuckFGIGNhbGxiYWNrcy4nKTsKIAogCi1hc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7CisgICAgbGV0IGRvbmU7Cisg
ICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gZG9uZSA9IHJlc29sdmUp
OworCiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTsKICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZpZGVvKTsKIApAQCAtNzQsMTIgKzg3LDE0IEBA
IGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICAvLyBBdCB0aGlzIHBvaW50LCB0aGUg
b3RoZXIgY2FsbGJhY2sgc2hvdWxkbid0IGhhdmUgZmlyZWQsIGJ1dAogICAgICAgICAvLyBnaXZl
IGl0IHNvbWUgbW9yZSB0aW1lIGFuZCByZWFsbHkgbWFrZSBzdXJlIGl0IGRvZXNuJ3QsIGJ5IGdv
aW5nCiAgICAgICAgIC8vIHRocm91Z2h0IHRoZSBldmVudCBsb29wIG9uY2UgbW9yZS4KLSAgICAg
ICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geyB0LmRvbmUoKTsgfSwgMCk7CisgICAgICAgIHQuc3Rl
cF90aW1lb3V0KCgpID0+IHsgZG9uZSgpOyB9LCAwKTsKICAgICAgIH0pCiAgICAgKTsKIAogICAg
IHZpZGVvLnNyYyA9IHRlc3RWaWRlby51cmw7Ci0gICAgdmlkZW8ucGxheSgpOworICAgIGF3YWl0
IHZpZGVvLnBsYXkoKTsKKworICAgIHJldHVybiBwcm9taXNlOwogfSwgJ1Rlc3Qgd2UgY2FuIGNh
bmNlbCBhIHZpZGVvLnJWRkMgcmVxdWVzdC4nKTsKIAogdGVzdChmdW5jdGlvbih0KSB7CkBAIC0x
MDUsNiArMTIwLDcgQEAgdGVzdChmdW5jdGlvbih0KSB7CiAKIHByb21pc2VfdGVzdChhc3luYyBm
dW5jdGlvbih0KSB7CiAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlk
ZW8nKTsKKyAgICB2aWRlby5hdXRvcGxheSA9IHRydWU7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZCh2aWRlbyk7CiAKICAgICBsZXQgZmlyc3Rfd2lkdGggPSAwOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGY4YWFkYjk5NmY3Nzk4
YjY1MDU5MjE3ZTY1ZjQ2MTIzM2Y5NjNjMGYuLjM2NGRlNzA3ZjFmNWY1Yzk3YmEwMDEwMDQ0ZDY0
M2JiNmMyNzhlM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTE0MywxMyArMTQzLDkgQEAgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NuYW1lLWNsb2FraW5nLXRvcC1uby1jbmFtZS1zdWItbm8tY25hbWUuaHRtbAogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsgUGFzcyBdCiBmYXN0L21l
ZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1ydmZjLmh0bWwgWyBQYXNzIF0KIHdlYnJ0Yy9wZWVyQ29u
bmVjdGlvbi1ydmZjLmh0bWwgWyBQYXNzIF0KLSMgVGltaW5nIG91dCB0ZXN0cyB1bnRpbCB3ZSBh
ZGQgcmVndWxhciB2aWRlbyBzdHJlYW1pbmcgYmFja2VuZCBzdXBwb3J0LgorIyBUaW1pbmcgb3V0
IHRlc3RzIHVudGlsIHdlIGFkZCBYUiBzZXNzaW9uLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stYmVmb3JlLXhy
LXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2stZG9tLmh0bWwgWyBT
a2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0
LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9uLmh0dHBzLmh0bWwgWyBTa2lw
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LXJlcGVhdGluZy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay5odG1sIFsgU2tpcCBdCiAK
ICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIHBsYXRmb3JtLXNwZWNp
ZmljIGRpcmVjdG9yaWVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDZkZDFhMmVhNzU5YTcwNjg4MTNlZDIzNWE0NjBmOTU0MjJkMjRiZGIu
LjlhMDc0NTg3OTM1NGM4OTRhNGM3MWUwZDQwZDMxMzQyYzFjNmM2NmMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMzLDYgKzMzLDExIEBA
IGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZXh0ZXJuYWwtZW50aXR5LW5vLWxv
Z2dpbmcueG1sIFsgUGFzcyBdCiAjIHJkYXI6Ly9wcm9ibGVtLzYxNzkzODg0IDogRW5hYmxpbmcg
dGhpcyB0ZXN0IGZvciBXSzEgb25seS4KIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRz
L3NoYXBlLW91dHNpZGUtaW1hZ2VkYXRhLW92ZXJmbG93Lmh0bWwgWyBQYXNzIF0KIAoraW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjIFsgUGFzcyBdCisjIFRpbWluZyBv
dXQgdGVzdHMgdW50aWwgd2UgYWRkIFhSIHNlc3Npb24uCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1iZWZvcmUt
eHItc2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay1kdXJpbmcteHIt
c2Vzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8KICMgRW5kIHBsYXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLgogIy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDI0N2IwY2U2MzA4NDA1MzdhNDA5ODYyMzMyZTkzM2Rl
MjNiODA4NTEuLmQ2Y2VkODYwZGYxYWUxNGM2NzIwOWFjMTE0MTkwNGZjYTM5MGU0NWEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMiwx
MyArMTIyLDkgQEAgc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtdHJhbnNhY3Rpb24tY3ljbGUu
aHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZj
IFsgUGFzcyBdCiBmYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS1ydmZjLmh0bWwgWyBQYXNz
IF0KIHdlYnJ0Yy9wZWVyQ29ubmVjdGlvbi1ydmZjLmh0bWwgWyBQYXNzIF0KLSMgVGltaW5nIG91
dCB0ZXN0cyB1bnRpbCB3ZSBhZGQgcmVndWxhciB2aWRlbyBzdHJlYW1pbmcgYmFja2VuZCBzdXBw
b3J0LgorIyBUaW1pbmcgb3V0IHRlc3RzIHVudGlsIHdlIGFkZCBYUiBzZXNzaW9uLgogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2stYmVmb3JlLXhyLXNlc3Npb24uaHR0cHMuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2Fs
bGJhY2stZG9tLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLWR1cmluZy14ci1zZXNzaW9u
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlk
ZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXBhcmFsbGVsLmh0bWwgWyBTa2lw
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZp
ZGVvLWZyYW1lLWNhbGxiYWNrLXJlcGVhdGluZy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFj
ay5odG1sIFsgU2tpcCBdCiAKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMg
RW5kIHBsYXRmb3JtLXNwZWNpZmljIGRpcmVjdG9yaWVzLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444684</attachid>
            <date>2021-11-18 08:51:07 -0800</date>
            <delta_ts>2021-11-18 09:21:33 -0800</delta_ts>
            <desc>Fixing generator tests</desc>
            <filename>bug-231945-20211118175105.patch</filename>
            <type>text/plain</type>
            <size>2815</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVlZDQ5MTQxNjVmZGFjMjdi
YjY2ZWQ5MjQ3ZDBhYmUzNWU3ZDI4NmYuLmJmZGFiYTA3ZDEzZjBkMjA3YmRlZDQyMjI1N2MwZGM3
MjZkMWUxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTEtMTggIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhUGxheWVyQVZGb3VuZGF0
aW9uIHNob3VsZCBzdXBwb3J0IHJ2ZmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMTk0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQ2NTczNzI+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcmViYXNpbmcgZ2VuZXJhdG9yIHRlc3RzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXQvdGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25zLmNwcDoKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aENWUGl4ZWxCdWZmZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoQ1ZQaXhlbEJ1ZmZlck1l
c3NhZ2VzLmg6CisKIDIwMjEtMTEtMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIExldCBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckludGVy
bmFsVW5pdE1hbmFnZXI6OlVuaXQgc3dpdGNoIHRvIFZQSU8gdW5pdCBpZiBWUElPIGlzIHJ1bm5p
bmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvTWVzc2Fn
ZUFyZ3VtZW50RGVzY3JpcHRpb25zLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
dGVzdHMvTWVzc2FnZUFyZ3VtZW50RGVzY3JpcHRpb25zLmNwcAppbmRleCA2MzBhODY1YjEzYTY5
OGFhZWY5MjJlMjU2YTFlNmNjMTBmYWYwYWI2Li41MmUzYzc2MzgzOTBhM2NlZjNkYzY3MjMxOGMy
MGM5NjRlOGVjMDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rl
c3RzL01lc3NhZ2VBcmd1bWVudERlc2NyaXB0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
Y3JpcHRzL3dlYmtpdC90ZXN0cy9NZXNzYWdlQXJndW1lbnREZXNjcmlwdGlvbnMuY3BwCkBAIC0x
MjcsNiArMTI3LDkgQEAKICNlbmRpZgogI2luY2x1ZGUgIlRlc3RXaXRoQ1ZQaXhlbEJ1ZmZlck1l
c3NhZ2VzLmgiCiAjaWYgVVNFKEFWRk9VTkRBVElPTikKKyNpbmNsdWRlIDxXZWJDb3JlL0NWVXRp
bGl0aWVzLmg+CisjZW5kaWYKKyNpZiBVU0UoQVZGT1VOREFUSU9OKQogI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L3Rlc3RzL1Rlc3RXaXRoQ1ZQaXhlbEJ1ZmZlck1lc3NhZ2VSZWNlaXZlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rlc3RXaXRoQ1ZQaXhlbEJ1ZmZlck1l
c3NhZ2VSZWNlaXZlci5jcHAKaW5kZXggZWU3ZGVmYjgxMjk3ZjFlZjljYmYxYWUyMzJlMWEwZTY3
N2Y3YmEwYy4uNTY0OTZkZGJhNWVhNDQyNGQ0MmUxZmNmNWMyNTYzMzhlZDI4NGUyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aENWUGl4ZWxC
dWZmZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvdGVzdHMvVGVzdFdpdGhDVlBpeGVsQnVmZmVyTWVzc2FnZVJlY2VpdmVyLmNwcApAQCAtMzIs
NiArMzIsOSBAQAogI2luY2x1ZGUgIkhhbmRsZU1lc3NhZ2UuaCIKICNpbmNsdWRlICJUZXN0V2l0
aENWUGl4ZWxCdWZmZXJNZXNzYWdlcy5oIgogI2lmIFVTRShBVkZPVU5EQVRJT04pCisjaW5jbHVk
ZSA8V2ViQ29yZS9DVlV0aWxpdGllcy5oPgorI2VuZGlmCisjaWYgVVNFKEFWRk9VTkRBVElPTikK
ICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aENWUGl4ZWxCdWZmZXJNZXNzYWdl
cy5oIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC90ZXN0cy9UZXN0V2l0aENWUGl4ZWxC
dWZmZXJNZXNzYWdlcy5oCmluZGV4IDE2NzViZWE1OTQzOTAxNWM3Mjk0ZGFlODBjOGM0MjkyNGI1
MzY2NzguLjMyNjUwMGViMGEwZWE0ZGY5MzU3NDM4MzQ1ODI0OGU1MTkxYTBjZDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvdGVzdHMvVGVzdFdpdGhDVlBpeGVsQnVm
ZmVyTWVzc2FnZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L3Rlc3RzL1Rl
c3RXaXRoQ1ZQaXhlbEJ1ZmZlck1lc3NhZ2VzLmgKQEAgLTI4LDYgKzI4LDkgQEAKICNpbmNsdWRl
ICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTWVzc2FnZU5hbWVzLmgiCiAjaW5jbHVkZSAiVGVz
dFdpdGhDVlBpeGVsQnVmZmVyTWVzc2FnZXNSZXBsaWVzLmgiCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisjaW5jbHVkZSA8V2ViQ29yZS9DVlV0aWxpdGllcy5oPgorI2VuZGlmCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZFNhZmVSZWZDb3VudGVkLmg+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>